更新 2020.9.15 krpano 1.20.8
什么是krpano xml静态代码?
krpano xml静态代码其实就是krpano元素。我们在学习krpano里的时候经常要面对krpano的xml文件,krpano的xml文件里的静态代码相当于一个个具有功能说明的积木。虽然krpano的代码在文本中是一个个元素,且是有顺序地布局着,但实际上除了相同元素的载入的先后次序,不同元素之间的先后关系并不重要(除了krpano根元素)。
基本XML结构
- xml文件由若干xml元素组成,也叫做xml节点或xml标签。krpano自身一共有若干个系统定义的元素(krpano 1.19 pr4官网不再描述textstyle和progress两个元素),如krpano、include、view、image、layer、events、scene等等。
- xml元素的名字由一对单括号<>包围。
1<element> - 每个xml元素都需要闭合。
有两种形式 – 一个是在开始与结束时包含元素的名字。注意斜杠的位置:
1<element> ... </element>
1<element /> - 一个xml元素可以包含附加的xml子元素。当然,这些子元素也可以包含自己的子元素,这样的话会出现多层嵌套。
在这种情况下,xml元素必须写成以下形式:
123<parentelement><childrenelement /></parentelement> - 一个xml元素可以拥有一个或多个属性。每个属性由一个属性名与属性值组成。属性值必须写在单引号或双引号里。如果是系统定义元素中的系统定义属性,则需要按照规定的数值类型填写属性值。例如布尔值必须写“true”或者“false”。
123<element attribute="value"><childrenelement test1="value1" test2="value2" /></element> - 在xml文件里必须要有一个根元素。它的级别高于其它元素。所有其它的xml元素必须包含在其中。
对于krpano浏览内核而言,这个元素就是<krpano> 元素,例如:
12345678<krpano onstart="...">...<preview url="..." /><image><cube url="..." /></image>...</krpano> - 注释 – 注释是xml的一部分,在读取或解析xml文件时会被忽略。xml的注释始于:
1<!--
1-->例子:
1234<krpano ...><!-- this is a krpano example -->...</krpano>
- 详细请看:krpano xml基本语法规则详解
什么是系统内置与自定义的元素和属性?
对于新手而言,需要使用Sublime Test 3进行编写,软件会提示哪些是系统定义的属性。系统定义的属性在krpano官网有详细的说明。krpano允许添加自定义的元素、允许在系统定义的元素中添加自定义属性。例如下面的代码
1 |
<krpano version="1.18" title="Corfu Holiday Trip" onstart="wait(0);startup();"> |
这是根元素krpano元素,version和onstart都是系统内置属性,而title则是自定义属性。对于新手而言,如果不是非常熟悉官方文档,是很难区分哪些系统定义属性哪些是自定义属性。建议多参看本站文章:krpano元素官方文档 、krpano元素完全解析 所有元素均有中文官网文档。
因此,我们可以在系统内置元素中添加自定义属性,好处就是方便我们进行其它操作。例如上面的title属性,实际上只是为了在官方皮肤导航缩略图的左上角显示一段文字。同时,我们也可以完全自定义一个元素出来。例如下面:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<skin_settings maps="true" maps_type="bing" maps_bing_api_key="An4-9WoANqtASVorNezSjENest2VC0zoAzvMhEpdTjb3uY-k6u6bMkPxYpDsolsF" maps_zoombuttons="false" gyro="true" title="true" thumbs="true" thumbs_width="120" thumbs_height="80" thumbs_padding="10" thumbs_crop="" thumbs_opened="false" thumbs_text="true" thumbs_dragging="true" thumbs_onhoverscrolling="false" thumbs_scrollbuttons="true" thumbs_scrollindicator="false" tooltips_thumbs="false" tooltips_hotspots="false" tooltips_mapspots="false" controlbar_offset="20" /> |
这个元素skin_settings 是自定义元素。在krpano官网文档中是不存在的,krpano在载入xml文件解析静态代码时会忽略掉自定义元素。自定义的元素和属性除了语法上不能违反krpano的规定,在属性值设置上更为自由。
请继续阅读: 循序渐进(11)- 1.19版本的默认xml解析
在 “循序渐进(10)- 初探krpano xml静态代码” 上有 1 条评论