一,XML文档结构
XML文档是由一组使用唯一名称标识的实体组成。也是由数据和描述数据的标记组成。 文档的组成部分包括:声明,元素,注释,字符引用和处理命令。 二,创建XML文档 XML声明始终是任何XML文档的第一行。 1,陈述XML声明:为XML文档匹配合适的解析器。 XML声明语法: <? xml version = "XML版本号" standalone = “no或yes” encoding = “UTF-8或UTF-16或GB2321或GBK”?> <?和?>:表处理指令的开始和结束; version :XML版本,默认1.0; standalone:是否使用外部声明; encoding:字符编码; 2,创建根元素:有且只有一个,用于描述文档的功能。 语法: <? xml version = "1.0" ?> <根元素名> 根元素内容 </根元素名> 3,创建XML代码:创建自定义元素(elements)和属性(attributes)。 1,元素是XML内容的基本单元,包含标签(tags)和内容。 2,所有的XML元素必须合理包含嵌套。 3,XML标记都是大小写敏感的。 4,标记可以指定3种含义:结构的,语义的或样式的。 结构指定文档中不同元素之间关系; 语义将单个元素与文档之外的现实世界联系; 样式指定如何现实一个元素; 5,属性值必须使用引号"" 语法: <标签名 属性名 = “属性值”> 数据 </标签名> 三,XML中的注释 语法: <!-- 这是一个注释 --> 1,注释文本不应包含“-”。 2,不能在标签内使用,可用于标签集。 3,不能放在实体声明中,也不能放在XML声明之前。 四,处理指命 为使用该XML文档的应用提供一则信息。 格式: <? xml:应用名 指令信息 ?> 位置在在XML声明和根元素之间 在将一个样式表附加到XML文档中时,需要提供一个处理指令: <?xml version ="1.0" endcoding="GB2321"?> <?xml : stylesheet type = "text/xsl" href = "top.css"?> <根元素>数据</根元素>
五,标签之间的字符数据分类 1,PCDATA 表示已解析的字符数据。 2,CDATA 表示不通过解析器parsing进行解析的文本。便于包含特殊字符。 格式: <根元素> <![CDATA[ <标记1> <子标记1>#$%特殊字符</子标记1> <子标记2>$%^特殊字符</子标记2> ..... </标记1> ]]> <标记2> .... </标记2> </根元素> 注意:不可写为<![Cdata[ 或 <![Cdata[ 六,XML 对空白和换行的处理 1,空白部分不会被解析器自动删除。 2,新行总是被标识为 LF(Line Feed,换行)。 在Windows应用程序中,文本中的新行通常标识为 CR, LF (carriage return, line feed,回车,换行)。 在Unix应用程序中,新行通常标识为 LF。还有一些应用程序只使用CR来表示一个新行。
七,实体 1,实体是XML的存储单元,是用于定义常见文本的快捷方式的变量,代替字符数据。 2,内部实体:仅存于声明的文档中; 外部实体:使用标识符指向文档外的存储单元; 系统(SYSTEM)外部实体:引用本地计算机或网络; 公共(PUBLIC)外部实体:引用公共计算机或网络; 3,实体按在文档出现位置分为: ①,一般实体:任何位置 内部实体: <! ENTITY 实体名 "替换内容"> 外部实体: <!ENTITY 实体名 SYSTEM "test.txt(替换文件名)"> <!ENTITY 实体名 PUBLIC "test.txt(替换文件名)"> ②,参数实体:DTD中 不能在文档中使用,只能在DTD中使用。 <! ENTITY % 实体名 "替换内容"> 4,实体的声明 实体必须在文档DOCTYPE声明中声明 语法: <?xml version = "1.0" endcoding = "gb2321"?> <!DOCTYPE DOCTYPE名[ 实体声明 .... ]> <根元素> </根元素> 5,实体的引用: ①,一般实体: 引用前必须声明该实体,可以在属性中引用内部实体。 语法: &实体名; 例子: ... <! ENTITY name "张三"> ... <MSG> &name; <BODY> 你好! </BODY> <FIRST> &name; </FIRST> </MSG> ②,参数实体: 语法: %实体名; 八,XML文档规范 1,所有XML文档至少有一个元素。 2,XML标签区分大小写。 3,所有的XML文档标签必须有一个结束标记 4,正确嵌套标签。 5,标签命名规则:字符 下划线 冒号开头,由字符,数字,句号,冒号,下划线,连接符(-)组合,不能有空格,不以保留字开头。 6,属性不能重复,值用引号分开。名字规则和标签相同。 7,应验证文档。 等