`

XML语法整理

阅读更多
                                                                                XML语法

一.   XML语法规则

规则1:必须有XML声明语句,格式如下:

<?xml version="1.0" standalone="yes/no" encoding="UTF-8"?>
声明的作用是告诉浏览器或者其它处理程序:这个文档是XML文档。声明语句中的version表示文档遵守的XML规范的版本;standalone表示文档是否附带DTD文件,如果有,参数为noencoding表示文档所用的语言编码,默认是UTF-8。<?...?>标记代表一个处理指令,它 提醒分析器注意这个标记:它说明某些重要的,分析器必须执行的指令或信息.

规则2:是否有DTD文件

如果文档是一个"有效的XML文档",那么文档一定要有相应DTD文件,并且严格遵守DTD文件制定的规范。DTD文件的声明语句紧跟在XML声明语句后面,格式如下:
<!DOCTYPE type-of-doc SYSTEM/PUBLIC "dtd-name">
其中:
"!DOCTYPE"
是指你要定义一个DOCTYPE;
"type-of-doc"
是文档类型的名称,由你自己定义,通常于DTD文件名相同;
"SYSTEM/PUBLIC"
这两个参数只用其一。SYSTEM是指文档使用的私有DTD文件的网址,而PUBLIC则指文档调用一个公用的DTD文件的网址。
"dtd-name"
就是DTD文件的网址和名称。所有DTD文件的后缀名为".dtd"

规则3:注意你的大小写

XML文档中,大小写是有区别的。<P><p>是不同的标识。注意在写元素时,前后标识大小写要保持一样。例如:<Author>ajie</Author>,写成<Author>ajie</author>是错误的。
你最好养成一种习惯,或者全部大写,或者全部小写,或者大写第一个字母。这样可以减少因为大小写不匹配产生的文档错误。

 

规则4:给属性值加引号
HTML代码里面,属性值可以加引号,也可以不加。例如:<font color=red>word</font><font color="red">word</font>都可以被浏览器正确解释。
但是在XML中则规定,所有属性值必须加引号(可以是单引号,也可以是双引号),否则将被视为错误。

 

规则5:所有的标识必须有相应的结束标识
HTML中,标识可能不是成对出现的,比如<br>。而在XML中规定,所有标识必须成对出现,有一个开始标识,就必须有一个结束标识。否则将被视为错误。

 

规则6:所有的空标识也必须被关闭

空标识就是标识对之间没有内容的标识。比如<br>,<img>等标识。在XML中,规定所有的标识必须有结束标识,针对这样的空标识,XML中处理的方法是在原标识最后加/,就可以了。例如:
<IMG src= "cool.gif">
应写为<IMG src= "cool.gif" />

 

二.   元素的语法

   XML中,没有任何保留字,所以你可以随心所欲的用任何词语来作为元素名称。但是也必须遵守下列规范:

 1.名称中可以包含字母、数字以及其它字母;

2.名称不能以数字或"_" (下划线)开头;

3.名称不能以字母 xml( XML Xml ..)开头

4.名称中不能包含空格

5.名称中间不能包含":"(冒号)

为了使元素更容易阅读理解和操作,我们还有一些建议:

1.名称中不要使用"."。因为在很多程序语言中,"."是作为对象的属性,例如:font.color。同样的原因"-"也最好不要用,必须使用的,以"_"代替;

2.名称尽量简短。

3.名称的大小写尽量采用同一标准。

4.名称可以使用非英文字符,比如用中文。但是有些软件可能不支持。

另外,补充一点关于属性的说明。在HTML中,属性可以用来定义元素的显示格式,比如:<font color="red">word</font>将把word显示为红色。而在XML中,属性只是对标识的描述,与元素内容的显示无关。例如同样一句:<font color="red">word</font>,并不会将word显示为红色。(那么,有网友会问:如何在XML中将文字显示为红色呢?这就需要使用CSS或者XSL,我们在下面详细讲述。)

三. CDATA的语法

CDATA全称character data,翻译为字符数据。我们在写XML文档时,有时需要显示字母,数字和其它的符号本身,比如"<",而在XML中,这些字符已经有特殊的含义,我们怎么办呢?这就需要用到CDATA语法。语法格式如下:  <![CDATA[这里放置需要显示的字符]]> 例如:

<![CDATA[<AUTHOR sex="female">ajie</AUTHOR>]]>

在页面上显示的内容将是"<AUTHOR sex="female">ajie</AUTHOR>"

 

四.   Namespaces的语法

   Namespaces翻译为名字空间。名字空间有什么作用呢?当我们在一个XML文档中使用他人的或者多个DTD文件,就会出现这样的矛盾:因为XML中标识都是自己创建的,在不同的DTD文件中,标识名可能相同但表示的含义不同,这就可能引起数据混乱。
比如在一个文档<table>wood table</table><table>表示桌子,
而在另一个文档<table>namelist</table><table>表示表格。如果我需要同时处理这两个文档,就会发生名字冲突。
了解决这个问题,我们引进了namespaces这个概念。namespaces通过给标识名称加一个网址(URL)定位的方法来区别这些名称相同的标识。
Namespaces
同样需要在XML文档的开头部分声明,声明的语法如下:
<document xmlns:yourname='URL'>
其中yourname是由你定义的namespaces的名称,URL就是名字空间的网址。
假设上面的"桌子<table>"文档来自http://www.zhuozi.com,我们就可以声明为
<document xmlns:zhuozi='http://www.zhuozi.com'>
然后在后面的标识中使用定义好的名字空间:
<zhuozi:table>wood table</table>
这样就将这两个<table>区分开来。注意的是:设置URL并不是说这个标识真的要到那个网址去读取,仅仅作为一种区别的标志而已。

五. entity的语法

entity翻译为"实体"。它的作用类似word中的"",也可以理解为DW中的摸板,你可以预先定义一个entity,然后在一个文档中多次调用,或者在多个文档中调用同一个entity
entity
可以包含字符,文字等等,使用entity的好处在于:1.它可以减少差错,文档中多个相同的部分只需要输入一遍就可以了。2.它提高维护效率。比如你有40个文档都包含copyrightentity,如果需要修改这个copyright,不需要所有的文件都修改,只要改最初定义的entity语句就可以了。
XML
定义了两种类型的entity。一种是我们这里说的普通entity,在XML文档中使用;另一种是参数entity,在DTD文件中使用。
entity
的定义语法为:
<!DOCTYPE filename [
<!ENTITY entity-name "entity-content"
]
>
例如我要定义一段版权信息:
<!DOCTYPE copyright [
<!ENTITY copyright "Copyright 2001, Ajie. All rights reserved"
]
>
如果我的版权信息内容和他人共享一个XML文件,也可以使用外部调用的方法,语法象这样:
<!DOCTYPE copyright [
<!ENTITY copyright SYSTEM "http://www.sample.com/copyright.xml">
]
>
定义好的entity在文档中的引用语法为:&entity-name;
例如,上面定义的版权信息,调用时写作:&copyright;
完整的例子如下,你可以copy下来存为copyright.xml观看实例:

<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE copyright [
<!ENTITY copyright "Copyright 2001, Ajie. All rights reserved"
>
]>
<myfile>
<title>XML</title>
<author>ajie</author>
<email>ajie@aolhoo.com</email>
<date>20010115</date>
&copyright;
</myfile>

   

六. DTD的语法

 

DTD"有效XML文档"的必须文件,我们通过DTD文件来定义文档中元素和标识的规则及相互关系。如何建立一个DTD文件呢?

1.设置元素 

元素是XML文档的基本组成部分。你要在DTD中定义一个元素,然后在XML文档中使用。元素的定义语法为:<!ELEMENT DESCRIPTION (#PCDATA, DEFINITION)*>  

说明: "<!ELEMENT" 是元素的声明,说明你要定义的是一个元素;

声明后面的"DESCRIPTION",是元素的名称

"(#PCDATA, DEFINITION)*>"则是该元素的使用规则。规则定义了元素可以包含的内容以及相互的关系(具体查看元素的规则表).

   

 

分享到:
评论

相关推荐

    Windows installer xml使用整理

    1. **XML基础**:WiX是基于XML的,因此了解XML的基本语法和结构至关重要。XML元素定义了安装包的不同部分,如文件、注册表项、快捷方式等。 2. **项目结构**:WiX项目通常包含多个XML文件,如`Product.wxs`(定义...

    xmlspy xml编辑工具

    2. **XML格式化与压缩**:XMLSpy提供XML格式化功能,可以将混乱无序的XML文档整理成整洁易读的形式。同时,它也支持XML压缩,将大型XML文件进行压缩处理,减少存储空间占用,便于传输。 3. **XML验证**:工具内建了...

    xml解析整理

    2. 错误处理:解析过程中可能出现语法错误,应确保正确处理这些异常,防止程序崩溃。 3. 性能优化:对于大型XML文档,优先考虑SAX解析,或使用StAX以降低内存和CPU消耗。 总之,XML解析是IT领域中的基础技能之一,...

    Xml Tools 2.4.9 x64.7z

    2. **格式化**:插件可以自动将杂乱无章的XML代码整理成整洁、易读的格式。这对于处理大型或复杂的XML文件尤其有用,可以提高工作效率。 3. **XPath支持**:XPath是一种语言,用于在XML文档中查找信息。通过集成...

    XML文档定义(自己整理)

    ### XML文档定义与DTD详解 #### 一、XML概述 XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据。与HTML不同的是,XML主要用于...掌握DTD的基本用法和语法结构对于理解和处理XML文档至关重要。

    visual editor for xml

    XML编辑器的核心在于对XML语法的智能支持。Visual Editor for XML具备了自动完成、语法高亮、错误检查等功能,使得编写XML文档更加便捷。自动完成功能可以在输入元素或属性时提供提示,减少手动输入的工作量;语法...

    firstobject xml editor-xml查看器

    然而,XML的复杂性和严格的语法要求使得处理XML文件时可能会遇到各种问题,如解析错误、格式不正确等。在这种情况下,拥有一个强大的XML查看器就显得至关重要。"FirstObject XML Editor"就是这样一款专业工具,专为...

    xml文件解析网页资料整理

    XML文档必须遵循一定的语法规则,例如所有元素都必须正确嵌套,且文档必须有且仅有一个根元素。 **Libxml2的功能与特性:** 1. **解析器:** Libxml2提供了一整套的解析API,能够处理XML、HTML、XInclude、DTD、...

    xmltools_2.3.1_r805_unicode_beta2.zip

    首先,XML语法规则检查是该插件的核心特性之一。它能够实时检测并提示用户在编写XML文档时可能存在的语法错误,如未闭合的标签、非法字符或不符合XML规范的结构。这有助于确保XML文档的结构正确无误,避免因格式问题...

    spring配置文件:整理总结Spring中XML配

    3. **采用简洁的XML语法** - 使用简洁形式可以减少XML配置文件中的冗余信息,从而提高其可读性。例如,将下面的XML片段: ```xml ``` 简化为: ```xml ``` 这种简化的语法在Spring 1.2及以上版本...

    XML格式化工具(XML美化)

    1. **XML格式化**:XML格式化是指将未经排版或混乱的XML文档整理成规范的、易于阅读的形式。这通常包括添加适当的换行符、缩进和空格,使XML元素层次清晰。例如,将一长串没有换行和缩进的XML代码转换成每一层元素都...

    notepad++ xml tools包含64与32位

    描述中提到,XML Tools提供了诸如“格式化XML文本”和“校验XML语法”等关键功能。这些功能对于处理XML文档至关重要。XML(可扩展标记语言)是一种用于结构化数据的标记语言,常用于存储和传输数据,特别是在web服务...

    XML Marker 查看xml文件的好工具

    XML Marker还提供了其他实用功能,如XML格式化,可以帮助用户整理杂乱的XML代码,使其更加整洁易读。查找和替换功能则使得在大量XML数据中定位特定信息变得轻松。此外,它还支持XML验证,可以检查XML文件是否符合...

    xmlwriter xml编辑器 里面有汉化的补丁

    2. **语法高亮**:软件内建的语法高亮功能,使得XML标签、属性和值等关键元素更加醒目,提高代码审查效率。 3. **验证功能**:XMLwriter 支持XML文档的验证,可以检查文档是否符合特定的XML Schema(XSD)或DTD...

    xml viewer

    格式化功能,可以将混乱的XML代码整理得整洁易读;或者提供代码编辑器,让用户可以直接在工具内修改XML文档。这类工具通常还会支持拖放操作,方便导入XML文件,以及导出为其他格式,如HTML或文本,以便进一步处理。 ...

    c# winform开发的Xml编辑器

    2. **语法高亮**:为了提高代码可读性,需要实现XML语法的高亮显示。这可以通过分析XML文档结构,为不同的XML元素、属性和标签设置不同的字体颜色和样式来实现。 3. **验证XML有效性**:XML文档需要符合其定义的XSD...

    整理的XML资料详细的

    XML的语法是严格定义的,它要求每个标签都必须成对出现,例如`&lt;tag&gt;`和`&lt;/tag&gt;`。标签自定义,允许用户根据需求创建自己的元素类型。XML文档的开头通常包含一个声明,如`&lt;?xml version="1.0" encoding="UTF-8"?&gt;`,...

    XML XML Schema XSLT 2.0和XQuery开发详解源代码.rar

    1. **XML文档结构**:示例可能包括不同类型的XML文档,展示如何创建符合XML语法规则的结构,以及如何使用命名空间和属性来增加文档的灵活性。 2. **XML Schema定义**:源代码可能会包含XML Schema文件,这些文件...

    XMLViewer_3.0.rar

    同时,可能还具备验证功能,根据指定的DTD(Document Type Definition)或XSD(XML Schema Definition)来检查XML文档的语法正确性,确保数据的合规性。 在协作和分享方面,XMLViewer_3.0可能支持导出或打印功能,...

Global site tag (gtag.js) - Google Analytics