krpano官网文档翻译-------krpano XML参考【krpano XML Reference】

📢 鸿蒙专栏:想学鸿蒙的,冲

📢 C语言专栏:想学C语言的,冲

📢 VUE专栏:想学VUE的,冲这里

📢 CSS专栏:想学CSS的,冲这里

📢 Krpano专栏:想学VUE的,冲这里

🔔 上述专栏,都在不定期持续更新中!!!!!!!!!!!!!

目录

✨ 前言

一、xml语法

基本的XML结构

关于本文档

krpano XML结构

特殊的krpano XML元素和属性

✨ 结语


 

✨ 前言

        Krpano使用简单的XML文本文件来存储Krpano查看器的设置。这些文件可以用任何常用的文本编辑器编写或编辑,但是在编写xml代码时,重要的是要遵守xml语法规则!这些基本规则对所有xml文件都是一样的,并不特定于krpano。

有关基本xml语法的更多信息,请参阅此处:

一、xml语法

Krpano使用简单的XML文本文件来存储Krpano查看器的设置。这些文件可以用任何常用的文本编辑器编写或编辑,但是在编写xml代码时,重要的是要遵守xml语法规则!这些基本规则对所有xml文件都是一样的,并不特定于krpano。
xml文件的语法规则简单、合乎逻辑、易学易用。
规则是这样的:

基本的XML结构

  • xml文件由几个xml元素(也称为xml节点或xml标记)构成。
  • xml元素的名称用< >括号括起来:
<element>
  • 每个xml元素都需要关闭。

这可以用两种形式写——要么用开始元素,要么用结束元素: 

<element> ... </element>

对于简单的例子是这样的:

<element />
  •  一个xml元素可以包含额外的子xml元素。

在这种情况下,xml-元素需要写成这种形式:

<parentelement>
   <childrenelement />
</parentelement>
  • 一个xml元素可以有一个或多个属性。每个属性都由一个属性名和一个属性值构建而成。属性值必须写在单引号或双引号内。 
<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注释的开头是:
    <!-- 注释 -->
     

大小写/字符编码/空白/不允许的字符

  • xml元素和xml属性的名称是区分大小写的。这意味着开始元素和结束元素的名称需要以相同的大小写书写。

注意—对于xml语法规则,大小写非常重要,但是对于krpano查看器本身,krpano xml元素的大小写无关紧要—krpano查看器将自动将所有元素和属性名称转换为小写,以使它们的krpano-usage不区分大小写。

  • 为了避免字符编码问题,所有xml文件都应该保存为Unicode UTF-8或UTF-16文件。在本例中,文本编辑器将在xml文件的开头添加一个小的隐藏头(称为UTF-BOM)。 
  • xml元素之间和xml属性之间的空白字符(如空格、制表符和换行符)将被忽略。但在属性值内部,它们将得到尊重。
    这允许以多种方式自由地编写和组织xml。但是为了更好的可读性,通常可以对元素进行缩进,使它们的层次结构更加清晰。
  • 有些字符是由xml语法本身保留的,因此不能直接使用。
    无论如何,要使用它们,可以使用一些替代实体:
不允许字符替代实体特征描述
<&lt;小于
>&gt;大于
&&amp;&
'&apos;撇号
"&quot;引号

关于本文档


本文档是关于krpano xml结构,关于所有krpano xml元素、属性和值以及它们到动态krpano变量名的映射。

文档的主题:

关于krpano变量和动作的动态使用,请查看:
 krpano动作/脚本参考 

krpano XML结构

下面是所有krpano xml元素的结构化列表:(单击某个元素以获取更多信息)

<krpano>
    <include>
    <image>
      <preview>
      <cube>
      <cubestrip>
      <sphere>
      <cylinder>
      <flat>
      <fisheye>
      <depthmap>
    </image>
    <view>
    <area>
    <display>
    <control>
    <cursors>
    <autorotate>
    <plugin>
    <layer>
      <layer>
      ...
    </layer>
    <hotspot>
    <style>
    <events>
    <action>
    <contextmenu>
    <network>
    <memory>
    <security>
    <data>
    <cssstyles>
    <scene>
    <set>
    <if>
    <debug>
</krpano>
  •  xml文件的根元素需要是<krpano>元素。所有其他元素都必须放在这个元素中。
  • krpano xml中的所有xml元素和属性都是可选的,可以按任意顺序多次定义。当同一个元素被定义两次或两次以上时,后面的声明将覆盖前面的声明。
  • 还可以在根<krpano>元素本身中定义附加的<krpano>元素,以声明krpano作用域的附加设置。
  • xml本身只是一种传输格式——这意味着它将仅用于为krpano查看器传输数据。当xml被解析时,xml元素将被转换/映射到krpano内部数据结构。这意味着在解析之后,内部不再有xml。

特殊的krpano XML元素和属性


        一些xml元素和属性在krpano中以一种特殊的方式处理。这种特殊的处理已经在xml加载和解析期间发生了。

<xmlelement name="..." ... />

name属性⇒定义数组元素:

当xml元素具有name属性时,该元素将被解释为Array的元素/项。Array的名称就是xml元素本身的名称。当不存在该名称的Array时,它将被自动创建。
当元素/项已经存在时,在xml元素中定义的属性仍然会被设置并覆盖已经存在的值。

这意味着一个xml元素可以有多个声明,但是每个元素都需要有自己唯一的名称来标识。

当使用 auto 值时,将自动生成一个唯一的名称。 

关于name属性的重要注意事项:

  • 每个名字都需要以字母字符开头!
  • 这意味着使用数字作为名称是不允许的!
  • 如果名称仍然以数字字符开头,则该名称将被解释为数组索引。这对于动作内部基于索引的动态访问是可以的,但对于定义元素就不行了!
  • 所有名称将自动转换为小写,以允许直接不区分大小写的访问!
<xmlelement url="..." ... />

url属性:

当一个xml属性被命名为'url'或以'url'开头或结尾(例如'videourl')时,该属性的值将被解释为资源的url /路径。

当使用相对路径作为url值时,该路径将自动调整为相对于定义了url属性的xml文件。这意味着xml中的相对路径将始终相对于xml本身。
但请注意-当动态设置/更改url属性时,就不再有与xml的自动关系了!

为了使路径相对于一些特殊的预定义路径,可以在url路径中使用这些占位符:

  • %VIEWER% or %ROOT% or %SWFPATH%
  1. 主krpano查看器Javascript文件文件夹的路径。
  2. 注意-自定义查看器路径可以通过基路径嵌入设置来设置
  • %HTMLPATH%
  1. html文件所在文件夹的路径。
  • %FIRSTXML%
  1. “第一个”加载xml文件的文件夹路径。
  • %CURRENTXML%
  1. “当前”加载xml文件文件夹的路径。
  • %$VARIABLE%
  1. 使用给定的'VARIABLE'的值。
  2. 这可以是任何krpano变量,但它需要在xml或场景加载之前定义,例如,在嵌入期间(通过initvars)已经在html文件中,或者在loadpano(), loadscene()调用之前。

除了使用文件路径,还可以使用Data-URLs作为url值。支持Base64和plain编码。可用于将文件直接内联/嵌入到xml中。

持续更新中...

✨ 结语

        我们改日再会

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值