XML concise tutorial (5)

黄舟
Release: 2017-02-18 15:31:19
Original
1345 people have browsed it

Table of Contents


Development History

##XMLComparison with HTML Extensible

XMLSyntax details compared with HTML

XML validation DTD

XMLNamespace

XMLSyntax structure

DOM4JRead and write configuration files

About SLT

XML namespace



AXMLdocument can contain many elements and attributes. When we use othersXMLdocument or use multiple validation files (DTDorSchema), it is very likely that the same element or attribute name will appear, but the meaning of these elements or attributes is different, similar tojavawhere many classes have the same class name. The specific functions of these classes are different, so in theJavafield, people introduced the concept of packages. Classes with the same name under different packages have different functions. , thus effectively distinguishing classes with the same name. Similarly, namespaces are introduced inXMLto solve the problem of duplicate names. First look at the following example

   JSP深入编程  张三 作家    XML从入门到精通  李四 教师   
Copy after login



This is A well-formattedXMLdocument about a book, but there is a conflict in the elements. Thetitleelement represents both the book title and the Author's title, two elements with the same name but different meanings. This makesXMLvery confusing for the parser to read and unable to correctlyXMLvalidate. To solve this problem we use namespaces to distinguish identical elements. Before that, we first introduce the definition ofXMLnamespace:

<元素名xmlns:prefixname="URI">

元素名是指在该元素上声明命名空间,在这个元素上声明的名称空间适用于声明它的元素和属性,以及该元素内容中的所有元素及属性prefixname是名称空间的前缀,往往URI比较长所以可以用prefixname来代替URI比如下面的例子


Copy after login


上面的句子声明了一个名称空间,它的名字是//m.sbmmt.com/。一般而言这个名称很长,于是就用了hr来表示,作为该名称空间下的元素或者属性可以其在前面加上前缀hr。例如 就表示employee元素属于此命名空间下。所以上面的那个拥有title重复属性的xml为了区分歧义可以写成下面这样

   JSP深入编程  张三 作家    XML从入门到精通  李四 教师   
Copy after login



其中people是名称空间//m.sbmmt.com/的前缀,用于表示相应的元素是属于该命名空间下的。对于上面的XML而言解析器就很容易区分people:titletitle的不同。

还有另一种定义名称空间的方式:

<元素名xmlns="URI">

这种声明形式没有给出名称空间的前缀名,我们可以认为URI所标识的是一个默认的名称空间。例如


表明了一个默认的名称空间,除非元素中有其他的命名空间进行覆盖,否则 hr 元素及其内容中所有的没有前缀的元素都属于 //m.sbmmt.com/ 所标识的名称空间

After understanding the namespace, it will be easier to learn to useSchemato verify the correctness ofXML.

The above is the content of XML Concise Tutorial (5). For more related content, please pay attention to the PHP Chinese website (m.sbmmt.com)!


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
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!