XML语法规则
来源:互联网 发布:公司网络搭建 编辑:程序博客网 时间:2024/06/06 04:51
一、XML文档规则
1.1 XML声明
定义这是一篇XML文档,必须放在第一行,格式:
<?xml version="1.0" standalone="no" encode="GBK"?>
1.2 XML文档类型声明
用于声明DTD,放在XML声明之后、根元素之前,也可以不要。进过DTD验证的XML文档才是有效文档。格式:(portal为根元素)
<?DOCTYPE portal SYSTEM "http://www.baidu.com//buaidxml/jishi.dtd" ?> (外部声明)
<?DOCTYPE portal [<!ELEMENT portal(name)>] ?> (内部声明,即直接用中括号括起DTD内容)
<?DOCTYPE portal SYSTEM "http://www.baidu.com//buaidxml/jishi.dtd" [<!ELEMENT portal(name)>] ?> (混合声明)
1.3 根元素
一个文档只能有一个。
1.4 命名规则
XML名称只能下划线和字母开始,区分大小写。与XML名称记号("<>"和"</>之间的内容随便开始)不同。
1.5 符号
一般元素:以"<>"开始和"</>"结尾,属性值可以用单引号或者双引号。格式:<name sex="man">武术家</name>
空元素:以"<>"开始和"/>"结尾。格式:<img src="gua.jpg" />
处理指令:以"<?"开始和"?>"结尾。格式:<? xml-style href='shg.css' type='text/css' ?>
1.6 命名空间
格式:<protal xmlns:cp="computer"><cp:name xmlns:ff="sicnd">......</cp></protal>
如果直接<protal xmlns="computer">则表示所有子元素的命名空间都是computer且不加前缀。另外DTD定义时对应元素必须添加前缀cp和ff
二、XML文档类型规则(DTD)
XML文档和XML文档类型是两个文件,注意区分。1.2已经讲了它的声明。下面介绍它的内容:
2.1 元素声明
定义元素包含的内容和顺序,格式:
<!ELEMENT portal(#PCDATA)>(定义portal只能包含文本)
<!ELEMENT portal(name,id?,addr*,date+)>(定义portal包含子元素和顺序,"?"表示最多一个,"*"表示任意个,"+"表示至少一个)
<!ELEMENT portal(#PCDATA|tel)*)>(定义portal既包含文本也包含tel,"|"表示选择)
<!ELEMENT portal EMPTY>(定义portal为空元素)
<!ELEMENT portal ANY>(定义portal可以包含任意内容,故有可能打破XML规则,少用)
2.2 属性声明
定义元素属性的类型,格式:
<!ATTLIST img src CDATA #REQUERIED width CDATA >
属性类型有:CDATA(文本但不能指定整数和日期)、NMTOKEN(数字和日期)、NMTOKENS(属性值是多个整数空格隔开的字符串)、
ID(元素标识符)、IDREF(属性值为已有的ID类型的属性值)、IDREFS(道理同NMTOKENS)、ENTITY(属性值为一个实体)、ENTITIES(道理
同NMTOKENS)、NOTATION(自定义)
缺省类型有:#FIXED(值为固定常量,格式<!ATTLIST img src width CDATA #FIXED "300px" >)、#REQUERIED(表示属性必须有)、
IMPLIED(属性可选)。还有一种<!ATTLIST img src width CDATA "300px" >,表示没有显示指定,则默认为"300px"。
2.3实体声明
一般通用实体,实体可以是字符串,可以是文件。定义格式:
<!ENTITY lin "sdshisd"> (内部实体定义)
<!ENTITY lin SYSTEM "http://www.bst.com/sdvav.xml"> (外部实体定义,注意此时&lin表示一个XML文档不是路径)
<!ENTITY lin SYSTEM "http://www.bst.com/sdvav.doc" NDATA doc> (外部实体定义,注意此时&lin表示一个DOC文档不是路径,并要使用NDATA指定NOTATION定义的类型doc)
<!ENTITY lin SYSTEM "http://www.bst.com/sdvav.dtd"> (外部定义,注意此时&lin表示在dtd中定义,不是这个文件了)
参数实体定义格式:
<!ENTITY % g "djg"> (内部定义,注意空格)
<!ENTITY % g SYSTEM "http://www.baidu.com/kjisf.dtd"> (外部声明,注意此处不是一个dtd外部实体,而是表示在外面定义这个"%g;")
2.4 注释
使用<![IGNORE[...............]]>。
- XML 语法规则
- XML 语法规则
- XML 语法规则
- XML 语法规则
- xml语法规则
- XML 语法规则
- xml语法规则
- XML 语法规则
- XML的语法规则
- XML 语法规则
- 4.XML 语法规则
- XML语法规则
- XML语法规则
- XML 语法规则
- XML语法规则
- XML语法规则
- xml的语法规则
- XML 语法规则
- gluLookAt和gluPerspective关系——学习OpenGL三维建模前必读④
- Java由基础到高级面试题经典问答
- Windows Phone 7 开发 31 日谈——第18日:WebBrowser控件
- ASCII码排序
- phpmyadmin安装后出现404
- XML语法规则
- 类装载器ClassLoader
- ACE概述
- 什么是 Bitmap,而什么是 DIB 呢?两者有何区别呢
- 11-5javascript学习总结一
- (转载):ios面试
- 理解C语言中的位域
- 下载编译log4cxx
- Autodesk笔试题收集