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" />
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值