Introduction to basic XML syntax

PHPz
Release: 2017-04-02 11:46:10
Original
1592 people have browsed it

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

1.基本语法规则

XML是区分大小写的; 

所有元素的起始和结束标注必须成对出现,且要正确嵌套; 

如果使XML说明,则它必须是XML文档的第一行: 

 

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

 

XML命名规则:

XML名以下划线或字母开始; 

XML名可包含字母、数字、句点、下划线和冒号; 

XML名不能包含空格; 

XML名不能以数字开始,但可包含数字; 

XML名区分大小写。 

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

< 表示<字符> 表示>字符& 表示&字符' 表示'字符" 表示"字符 

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

<!ENTITY linux "linux is a very good system">
Copy after login

这样我们可用&linux;来调用。

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

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

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

应当只有一个父标志,由父标志派生所有其它子标志,在一个文档中不能存在多个父标志。

嵌套元素应按正确的顺序开始和结束。

子标志应在父标志完成前关闭。

属性值应放在双引号中。

通过某个DTD或Schema验证的文档称为有效XML文档。

3.XML文档的组成

XML声明:

version,定义XML规范的版本号,到现在为止,只有一个版本号1.0。

encoding,指定文档的编码系统。

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

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

<portal> <name>jims</name> <email></email> ...</portal>
Copy after login

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

<portal> <name id=&#39;1&#39;,sex="male">Jims</name></portal>
Copy after login

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

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

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

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

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

4.XML文档树

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

The above is the detailed content of Introduction to basic XML syntax. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!