Maison > développement back-end > Tutoriel XML/RSS > Tutoriel XML concis (5)

Tutoriel XML concis (5)

黄舟
Libérer: 2017-02-18 15:31:19
original
1467 Les gens l'ont consulté

Table des matières


Historique du développement

XMLComparaison avec HTML Extensible

XML et détails de la syntaxe de comparaison HTML

DTD de validation XML

XMLEspace de noms

XMLStructure syntaxique

DOM4JLire et écrire les fichiers de configuration

À propos de SLT

Espace de noms XML



Un document XML peut contenir de nombreux éléments et attributs, lorsqu'on en utilise d'autres XML ou utiliser plusieurs fichiers de validation (DTD ou Schéma ), il est très probable que le même nom d'élément ou d'attribut apparaîtra, mais la signification de ces éléments ou attributs est différente. Semblable à java, de nombreuses classes ont le même nom de classe. sont différents, donc dans le domaine de Java les gens ont introduit le concept de packages. Les classes portant le même nom sous différents packages ont des fonctions différentes, distinguant ainsi efficacement les classes portant le même nom. De même, l'espace de noms est introduit en XML pour résoudre le problème des noms en double. Regardez d'abord l'exemple suivant

<?xml version="1.0" encoding="gb2312" ?>
<books>
	<book>
		<title>JSP深入编程</title>
		<author>
			<name>张三</name>
			<title>作家</title>
		</author>
	</book>
	<book>
		<title>XML从入门到精通</title>
		<author>
			<name>李四</name>
			<title>教师</title>
		</author>
	</book>
</books>
Copier après la connexion



Il s'agit d'un document XML bien formaté concernant un livre, mais il y a un conflit dans les éléments que l'élément titre représente. le titre du livre et ses utilisations Bien qu'il représente le titre de l'auteur, deux éléments portant le même nom ont des significations différentes. Cela rend l'analyseur XML très déroutant à lire et incapable d'effectuer correctement la validation XML. Pour résoudre ce problème, nous utilisons des espaces de noms pour distinguer les éléments identiques. Avant cela, nous présentons d'abord comment définir l'espace de noms XML :

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

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

<hr xmlns:hr="http://blog.csdn.net/beijiguangyong">
Copier après la connexion


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

<?xml version="1.0" encoding="utf-8" ?>
<books xmlns:people="http://blog.csdn.net/beijiguangyong">
	<book>
		<title>JSP深入编程</title>
		<author>
			<name>张三</name>
			<title>作家</title>
		</author>
	</book>
	<book>
		<title>XML从入门到精通</title>
		<author>
			<people:name>李四</name>
			<people:title>教师</title>
		</author>
	</book>
</books>
Copier après la connexion



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

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

<元素名 xmlns="URI">

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


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

Après avoir compris l'espace de noms, il sera plus facile d'apprendre à utiliser le Schéma pour vérifier l'exactitude du XML .

Ce qui précède est le contenu du didacticiel XML Concise (5). Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www. php.cn) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal