Javascript must be activated for this page!
基本 XML 语法规则
krpano 使用简单的 xml 文本文件来存储 krpano 播放器的设置。 这些文件可以用任何通常的 texteditor 编写或编辑, 但在编写 xml 代码时, 必须尊重 xml 语法规则。 这些基本规则对于所有 xml 文件都是相同的,
而不是特定于 krpano 的。
xml 文件的语法规则简单、逻辑、易于学习和易于使用。
所以现在这里的规则:
xml 文件由多个 xml 元素组成, 也称为 xml 节点或 xml 标记。
xml 元素的名称由 < > 括号括起来:
<element>
每个 xml 元素都需要关闭。
这可以用两种形式编写-无论是起始元素还是最终要素:
<element> ... </element> 或简单的情况下, 只是这样:
<element />
xml 元素可以在其中包含其他子 xml 元素。
在这种情况下, 需要用该表单编写 xml 元素:
<parentelement>
<childrenelement />
</parentelement>
xml 元素可以具有一个或多个属性。 每个属性都是从属性名和 attribue 值生成的。 属性值必须写在单引号或双引号内。
<element attribute="value">
<childrenelement test1="value1" test2="value2" />
</element>
注意-不允许在一个元素上重复属性, 并会导致语法错误!
xml 中必须始终有一个, 所谓的 "根元素"。 这是层次结构最上层的 xml 元素。 所有其他 xml 元素都需要在其中。
对于 krpano 播放器, 此元素始终是
< krpano > 元素-例如:
<krpano onstart="...">
...
<preview url="..." />
<image>
<cube url="..." />
</image>
...
</krpano>
注释是 xml 的一部分, 在读取/分析 xml 时将被忽略。 xml 注释以下列开头:
<!-- 结束于:
--> 在注释中不允许使用字符串 "-" (双连字符), 这意味着不能嵌套注释。
例如:
<krpano ...>
<!-- this is a krpano example -->
...
</krpano>
xml 元素和 xml 属性的名称区分大小写。 这意味着需要在同一个案例中编写起始元素和最终要素的名称。
注意-对于 xml 语法规则, 此情况非常重要, 但对于 krpano 播放器本身, krpano xml 元素的大小写无关紧要-krpano 播放器将自动将所有元素和属性名称转换为小写以使其 krpano 使用
不区分大小写。
为避免字符编码问题, 所有 xml 文件都应保存为 Unicode UTF-8 或 UTF-16 文件。 在这种情况下, 文本编辑器将在 xml 文件的开头添加一个小的隐藏头 (称为
UTF BOM )。
空白字符 (如空格、制表符和 xml 元素之间以及 xml 属性之间的换行符) 将被忽略。 但在属性值内, 他们将受到尊重。
这样就可以在许多方面自由地编写和 structurate xml。 但是为了更好的可读性, 将元素缩进以使其层次结构更清晰的方式通常是有意义的。
某些字符由 xml 语法本身保留, 因此不能直接使用它们。
无论如何, 还是可以使用一些替换实体:
不允许字符
可替换为
字符描述
<
<
少于
>
>
大于
&
&
符号
'
'
单引号
"
"
引号
要检查 xml 文件的语法, 请直接在浏览器中打开它。 最现代的浏览器是直接显示的位置和错误的类型时, 有一个。
以下是 xml 错误的快速检查表:
是否存在根 xml 元素?
<krpano>
...
</krpano>
所有 xml 元素是否都已正确关闭?
错
正确
<element> ... <element>
<element> ... </element>
<element ... >
<element ... />
所有的 xml 注释都正确吗? (从 <!--开始, 结束-> 和不-之间)
<!-- <!-- nested comment --> -->
<!-------- -->
有保留字符吗? (例如 &、< 或 >)
错
正确
text="krpano & xml"
text="krpano & xml"
text="<xml> "
text="<xml> "
if(x < 10, ...)
if(x LT 10, ...)
所有的属性值都在引号内吗?
错
正确
<element x=123 ... />
<element x="123" ... />
<element x=123 ... />
<element x='123' ... />
一个元素上有重复的属性吗?
<element x= "123" x= "456" ... />
两个属性之间是否缺少空格?
错
正确
<element x="123"y ="456"
<element x="123" y ="456"
有时, xml 文件在 Flashplayer 中工作正常, 但在 HTML5 版本中显示错误信息。
这种行为的原因是, Flashplayer 的 xml 分析器比 HTML5-browsers 的 xml 分析器更能容忍 xml 语法错误。
使其工作的解决方案很简单-只需确保没有 xml 语法错误, 它将自动在 Flash 和 HTML5 中工作。