好学IT学院:IT信息技术分享交流平台
来源:互联网  作者:本站整理  发布时间:2007-05-12  ★★★加入收藏〗〖手机版
摘要:Copyright?2004本文遵从GNU的自由文档许可证(FreeDocumentLicense)的条款,欢迎转载、修改、散布。…

  Chapter 2. XML语法

Table of Contents

2.1. 基本语法规则
2.2. 良构XML文档和有效XML文档
2.3. XML文档的组成
2.4. XML文档树
创建一个简单的index.xml文档:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="basic.xsl"?>
<basic>Hello World</basic>

下面创建一个名为basic.xsl的XML样式表(XSL),以便在浏览器中显示XML文档内容:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
      <html>
         <head>
         <title>a basic stylesheet</title>
         </head>
         <body>
         <xsl:value-of select="/" />
         </body>
      </html>
</xsl:template>
</xsl:stylesheet>

接着在浏览器中打开index.xml文档,则可显示“Hello World”。上面两个文档都是合法的XML文件,具体的语法规则下面会详细介绍,上例可先给大家一个感性的认识。

合法的XML文档可有种意思,一个是良构文档(well-format),即符合XML规则书写的文档;另一种是有效文档,是已验证符合一个DTD的文档。

2.1. 基本语法规则

XML是区分大小写的;
  所有元素的起始和结束标注必须成对出现,且要正确嵌套;
  如果使XML说明,则它必须是XML文档的第一行:

<?xml version="1.0"?>

元素属性必须用引号引起来,单、双引号都可以,但必须成对出现。如:

<basic attr="1.0">
<basic attr='1.0'>

XML命名规则:

XML名以下划线或字母开始;
  XML名可包含字母、数字、句点、下划线和冒号;
  XML名不能包含空格;
  XML名不能以数字开始,但可包含数字;
  XML名区分大小写。

保留标记字符,如果要在XML中显示<或&之类的标记,就要使用字符的实体形式,XML中有五种预先定义了的实体:

&lt;        表示<字符
&gt;        表示>字符
&amp;       表示&字符
&apos;      表示'字符
&quot;      表示"字符

我们也可用ENTITY自定义实体:

<!ENTITY linux "linux is a very good system">
这样我们可用&linux;来调用。

XML文档内容中的空格是有意义的,在转换后会保留。

空元素以<开始并以/>结束,如<br/>。

2.2. 良构XML文档和有效XML文档

符合XML语法规则的XML文档称为良构文档,这些规则如下:

应当只有一个父标志,由父标志派生所有其它子标志,在一个文档中不能存在多个父标志。
  嵌套元素应按正确的顺序开始和结束。
  子标志应在父标志完成前关闭。
  属性值应放在双引号中。
  通过某个DTD或Schema验证的文档称为有效XML文档。

2.3. XML文档的组成

XML声明:

version,定义XML规范的版本号,到现在为止,只有一个版本号1.0。
  encoding,指定文档的编码系统。

standalone,定义文档是独立的还是需要装入其他元素才能正确分析。如果XML文档没有外部实体或DTD,则可以设置为no,否则设置为yes。可用该值提高性能:如果为no,则可提高处理速度;如果设置为yes,则首先要分析文档,确定需要其他哪些文件,然后才能完全分析文档。

根元素,每篇XML文档都需要有且只能有一个根元素。由元素是文档的第一个元素,包含其它所有元素。下例的portal就是根元素,如:

<portal>
 <name>jims</name>
 <email></email>
 ...
</portal>

属性,每个元素都可以设置一个或多个属性,如:

<portal>
  <name id='1',sex="male">Jims</name>
</portal>

元素和属性都可以表示信息,什么时候使用元素,什么时候使用属性呢?属性信息表现能力有限,它只能表示字符串。所以当需灵活表示信息时应该使用元素。一般把信息主体放到元素中,属性只放一些注释或额外的信息。

CDATA部份,它用<![CDATA[和]]>表示,它们之间的数据作为原始字符显示,唯一不能出现的标志是]]>。

注释,注释是很重要,不论是在编写程序和文档时,所以XML也提供了注释功能,以<!--开头-->结尾的一对区间为注释。在以-->结束之前,不能出现“--”号,“---”更不允许。

处理指令,处理指令以<?开头以?>结尾。如PHP处理指令可写成,<?php ... ?>。处理指令是标记,而不是元素。因此,与注释一样,处理指令可出现在XML文档的标签外的任何位置,包括根元素之前或之后。最常见的处理指令是,xml-stylesheet样式表指令,它会告诉浏览器在显示文档时应用什么样式表。如:

<?xml-stylesheet href="sample.css" type="text/css"?>
<portal>
  <name>...</name>
...
</portal>

2.4. XML文档树

XML文档是一种结构化的文档,可用树的形式表示出来。树是一种由节点和分支组成的简单结构,两个节点间由分支连接。上端的节点称为父节点,下端的节点称为子节点。一个节点如果没有父节点,则称为树的根节点(根),每个树必须有且只能有一个根节点。一个节点如果没有子节点,则称为树的叶节点。只有一个节点的树也是允许的。

思科交换机提供的三种交换模式
  交换机在交换数据帧时可以选择不同的模式来满足网络和用户的需要,思科的交换机提供三种交换模式:快速转发模式快速转发(Fast-for…
  • 好学触屏公众号虎力全开、杨帆起航!
  • 好学考试H5触屏版开放内测