XML入门教程-XML的基本语法

发布时间:2019-08-25编辑:脚本学堂
本节介绍 XML的基本语法

本节介绍 XML的基本语法
一 何谓标记语言
标记语言(Markup Language)是有一些码或控制标记所组成的,这些码或控制标记本身若单独存在是无意义的,他们必须结合文件信息后才能形成一份有用的电子文件。目前所使用的标记语言可分为特殊用途的标记语言与一般通用的标记语言两类。
二 XML文件的语法
 对XML文件有了初步的印象之后,我们就来详细地谈一谈XML文件的语法。在讲语法之前,我们必须要了解一个重要的概念,就是XML解析器(XML Parse)。
  1.XML解析器
  解析器的主要功能就是检查XML文件是否有结构上的错误,剥离XML文件中的标记,读出正确的内容,以交给下一步的应用程序处理。XML是一种用来结构化文件信息的标记语言,XML规范中对于如何标记文件的结构性有一个详细的法则,解析器就是根据这些法则写出来的软件(多用Java写成)。同HTML一样,在浏览器中,必须有HTML的解析器,这样浏览器才能够“读懂”各种用HTML标记所组成的网页,将它们显示在我们面前。如果有浏览器的HTML解析器读不懂的标记,将会返回给我们错误信息。
2. Well-Formed的XML文件
       (1).XML是区分大小写的;
(2).所有元素的起始和结束标注必须成对出现,且要正确嵌套;
(3).如果使XML说明,则它必须是XML文档的第一行:
<?xml version=”1.0”?>
(4).元素属性必须用引号引起来,单、双引号都可以,但必须成对出现。如:
<basic attr=”1.0”>
<basic attr=’1.0’>
(5).XML命名规则:
①.XML名以下划线或字母开始;
②.XML名可包含字母、数字、句点、下划线和冒号;
③.XML名不能包含空格;
④.XML名不能以数字开始,但可包含数字;
⑤.XML名区分大小写。
(6).保留标记字符,如果要在XML中显示<或&之类的标记,就要使用字符的实体形式,XML中有五种预先定义了的实体:
&lt:   表示<字符
&gt:   表示>字符
&amp:  表示&字符
&apos: 表示’字符
&quot: 表示”字符
我们也可用ENTITY自定义实体:
<!ENTITY linux “linux is a very good system”>
这样我们可用&linux;来调用。
 (7).XML文档内容中的空格是有意义的,在转换后会保留。
 (8).元素以<开始并以/>结束,如<br/>。
三 元素、属性、实体
元素(ELEMENT)
元素其实就是标记,或者也可以将元素视为标记名称,并没有很明确的定义,而只是一个形容词而已。元素可以说XML文件里最重要的构成单元。有三种元素使用方法:⑴简单内容,文本或其它数据出现在开始和结束标记之间。开始标记与结束标记有相同名字,但结束标记明要以一个斜杠开始。下面的元素包括一个开始标记、内容和一个结束标记
<author>Stephen Hawking</author>.
⑵把元素用作其它元素的容器,元素包含其他元素,呈现出一种分层或树形数据结构。以下的book元素包含了author和title元素
<book>
<author>Stephen Hawking</author>
<title>A brief history of time</title>
    </book>
⑶空元素用作属性容器,当元素只包含属性而无内容时,有一种不需使用开始和结束标记的元素简写方式。空元素的书写可用标记名后跟着一个斜杠来表示
<book/>
他表示了:<book></book>空元素常用来包含属性数据。<book title=”A brief history of time” author=”Stephen Hawking”/>
元素命名规则⑴名字可以包含字母、数字和其他字符。⑵名字不能以数字或标点开始。⑶名字不能用字符串“XML”开始,不管是小写形式还是大写形式。⑷名字不能包含空格,不能使用冒号。
属性
属性提供了有关元素的附加信息。再HTML中,当加载HTML文档时,属性用来规定图像文件的名字:<img src=”inde01.gif”>属性常用来表明信息,它不是元素中被描述数据的一部分。属性也常用来描述有关数据本身的信息。以下的XML中属性use告诉程序处理此文件不需要的数据
<file use=”optional”>index01.gif</file>
在XML中,属性值必须用单引号或双引号包围。
一般共识:如果信息看起来像数据就使用元素;而在描述有关数据的信息时就使用属性。不使用属性来存储数据的原因包括:⑴属性不能包含多个值,而元素能包含多个子元素。⑵属性不容易扩展以适应将来的变化。⑶与元素相比,用程序更难以操作属性。⑷不容易检查属性值是否违反文档类型定义(DTD)。
实体
实体用来替代XML文档中的字符串.例如:短语”XML and the Data Revolution”当文档中重复出现,就可在DTD中定义一个快捷实体声明。
<!ENTITY xdr”XML and the Data Revolution”>
这样,当要是用整个短语时,就可使用&xdr;而他在XML文档中会被替换。使用实体就可以避免拼写错误以及反复输入同一件事的繁琐。