# krpano xml結構
*這里是所有krpano xml元素的結構化列表:*
~~~
<krpano>
<include>
<preview>
<image>
<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>
<textstyle>
<data>
<scene>
<set>
<debug>
</krpano>
~~~
* xml文件的根元素必須是`<krpano>`元素。所有其他元素必須放置在此元素內。
* krpano xml中的所有xml元素和屬性都是可選的,可以按任意順序多次定義。當同一元素被再次定義兩次或更多次時,隨后的聲明將覆蓋之前的聲明。
* 可以在根`<krpano>`元素內部定義其他`<krpano>`元素,以在krpano范圍內聲明其他設置。
* xml本身只是一種傳輸格式:這意味著它將只用于傳輸krpano viewer的數據。解析xml時,xml元素將被轉換/映射到krpano內部數據結構中。這意味著在解析之后,內部不再有xml。
## krpano XML元素和屬性
* 一些xml元素和屬性在krpano中以特殊的方式處理。這種特殊處理已經在xml加載和解析過程中發生。
~~~
<xmlelement name="..." ... />
~~~
~~~
名稱屬性? 定義數組元素:
* 當xml元素具有name屬性時,該元素將被解釋為數組的元素/項。數組的名稱是xml元素本身的名稱。當不存在具有該名稱的數組時,將自動創建該數組。
* 當元素/項已經存在時,在xml元素上定義的屬性仍將被設置并覆蓋已經存在的值。
* 這意味著一個xml元素可以有多個聲明,但每個元素都需要有自己的唯一名稱進行標識。
~~~
~~~
有關"名稱"屬性的重要注意事項:
* 每個名字都需要以字母開頭!
* 這意味著不允許使用數字作為名稱!
~~~
https://krpano.com/docu/xml/#xmlstructure