XML語法

發表於2008年08月18日 00:11 閱讀(0) 評論(0)

 

1.  外部DTD
testxml.dtd文件
<!ELEMENT xxx (aaa,bbb)>
<!ELEMENT aaa (#PCDATA)>
<!ELEMENT bbb (#PCDATA)>
testxml.xml文件
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE testxml SYSTEM "testxml.dtd">
<xxx>
<aaa>start</aaa>
<bbb>end</bbb>
</xxx>
2.         內部DTD
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE test02 [
<!ELEMENT XXX (AAA?,BBB+)>
<!ELEMENT AAA (#PCDATA)>
<!ELEMENT BBB (#PCDATA)*>
]>
<XXX>
       <AAA>zhao</AAA>
       <BBB>zhao1</BBB>
       <BBB>zhao2</BBB>
       <BBB>zhao3</BBB>
</XXX>
3.以上DOCTYPE,ELEMENT等一定要大寫
4.    空元素
       <this/> = <this> </this>
5.         添加屬性
<this reason=”haha” />         屬性值要用” ”引號括起來。
6.         註釋
<!--        à
7.         xml通用實體
實體引用解釋
&lt;                              <
&gt;                             >
&amp;                         &
&apos;                         ‘
&quots;                        “
8.    符號描述
       ( )                  進行分組
       ,                    必須要有的元素的分隔符
       +                   命名無素根據需要出現一次或多次的標識符,
但至少出現一次。
       *            運行命名素出現任意次數的標識符
       ?             命名元素出現一次或不出現的標識符
       |             “或”條件標識符,兩個元素只能出現其中一個
Xml元素出現的順序要按DTD的順序。
9.    用在<! ATTLIST        >
#REQUIED            必填屬性
       #IMPLIED            可選
用在<! ELEMENT      >
       #PCDATA              可解析字符數據
       #CDATA                符合規範文檔約束的任何字符
       #NMTOKEN         只能有字母,數字和小數點,下畫線,以及昌號。
       #NMTOKENS       #NMTOKEN多了空白字符
空白字符包括一個或多個空格符,回車符,換行符和製表符(tab)
例:
<!ELEMENT humpty (#PCDATA)>
       <!ATTLIST humpty
              arrtri1     CDATA# REQUIED
              arrtri1     CDATA# IMPLIED
       >
10. 使用ID
例:
<!ELEMENT element1 (#PCDATA)>
       <!ATTLIST element1     id   ID# REQUIED>
<!ELEMENT element2 (#PCDATA)>
       <!ATTLIST element2     code  ID       # REQUIED>
XML中:
       < element1 id = “a1”/>
       < element2 code=”qqq-123-223-12-3”/>
11. 使用
       IDREF    指向文檔前面提及的唯一ID
       IDREFS  引用多個ID
例:
       <?xml version="1.0" encoding="gb2312"?>
<!ELEMENT Pastry (ele1+,ele2+,ele3+,ele4+)>
<!ELEMENT ele1 (#PCDATA)>
<!ELEMENT ele2 (#PCDATA)>
<!ELEMENT ele3 (#PCDATA)>
<!ELEMENT ele4 (#PCDATA)>
<!ATTLIST ele1 my1 ID #REQUIRED>
<!ATTLIST ele2 my2 ID #REQUIRED>
<!ATTLIST ele3 my3 IDREF #REQUIRED>
<!ATTLIST ele4 ref IDREFS #REQUIRED>
XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE test03 SYSTEM "test03.dtd">
<Pastry>
<ele1 my1="a"/>
<ele2 my2="b"/>
<ele3 my3="a"/>
<ele4 ref="a b"/>
</Pastry>
12.     枚舉屬性
例:test04.dtd
<?xml version="1.0" encoding="gb2312"?>
<!ELEMENT Root (AAA+,BBB+)>
<!ELEMENT elle1 (#PCDATA)>
<!ELEMENT elle2 (#PCDATA)>
<!ATTLIST elle1 true (yes|no) #REQUIRED>
<!ATTLIST elle2 month (1|2|3|4|5|6|7|8|9|10|11|12) #IMPLIED>
test04.xml
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE ROOT SYSTEM "test04.dtd">
<Root>
<elle1 ture = "yes"/>
<elle1 ture = "no"/>
<elle1 ture = "yes"/>
<elle2 month = "8"/>
<elle2 ture = "2"/>
<elle2 ture = "12"/>
</Root>
13.   ENTITY   ENTITIES
XML 中使用的是通用實體
僅在DTD中使用的是參數實體
1.       解析實體
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE fanclub[
<!ELEMENT fanclub (#PCDATA)>
<!ENTITY HR "HR is the test &lt;!entity&gt;">
]>
<fanclub>&HR;</fanclub>      //XML中使用&HR代表字符串
                                                  //"HR is the test &lt;!entity&gt;"
       2. 參數實體???XXX
可以含(%)而通用實體不能
              test06.DTD
              <!ENTITY %HeadingAlign "align (left|cinter|right) #REQUIRED" >
<!ELEMENT elle1 (#PCDATA)>
<!ATTLIST elle1 %HeadingAlign>   // DTD中使用%HeadingAlign代替
// "align (left|cinter|right) #REQUIRED" >
test06.XML
<?xml version="1.0" encoding="gb2312"?>
<elle1 align = "left" />
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章