Vendredi 28 mars 2008

Éléments simples

Un élément peut être de type simple ou de type complexe. Le type simple ne peut pas définir de sous - éléments et d’attributs.

Un type simple peut être référencé depuis l’attribut type des éléments xsd:element et xsd.attribute.

Un élément xsd:element ou un élément xsd.attribute peut avoir un sous - élément xsd:simpleType sans attribut name définissant ainsi un type anonyme pour cet élément ou cet attribut.

Des nouveaux types peuvent être dérivés à partir de types existants d’une des 3 façons suivantes :

Facettes

Les éléments minExclusives, minInclusive… pattern sont appelés des facettes. Elles désignent un aspect d’une valeur possible pour un type simple.

La facette pattern peut désigner des restrictions très sophistiquées sur le format des chaînes de caractères. La facette pattern compare la valeur concernée par rapport à une expression régulière.

	<xsd:simpleType name="nss">
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="<br/>d<br/>d<br/>d_<br/>d<br/>d_<br/>d<br/>d<br/>d<br/>" />
		</xsd:restriction>
	</xsd:simpleType>

Éléments complexe

Les types complexes permettent de définir des sous - éléments et des attributs. Ils peuvent avoir un contennu simple (simpleContent) ou un contenu complexe (complexContent).

Seuls les éléments peuvent avoir des types complexes. Les attributs sont toujours de type simple.

Les mauvais types sont définis en utilisant les éléments xsd:complexType.

L’attribut mixed, s’il possède la valeur vraie, signifie que de l’élément peut avoir à la fois des caractères de données et des éléments fils.

Notion de contenu simple

L’élément xsd:simpleContent est utilisé dans les éléments xsd:complexType dont le contenu est un type simple. Cet élément sert particulièrement lorsque la seule raison pour laquelle un élément ait un type complexe est la définition d’attributs.

Contenu complexe

L’élément xsd:complexContent est utilisé dans les éléments xsd:complexType pour dériver de nouveaux types complexes à partir d’un type complexe existant par extension ou par restriction.

Lors de la dérivation par extension, l’attribut mixed doit avoir la même valeur que l’attribut mixed du type de base. Lors de la dérivation par restriction l’attribut mixed peut avoir la valeur false pour interdire un contenu mixte qui pourrait être utilisé dans le type de base.

Notion de contenu complexe

Dans la pratique, les plus utilisés sont sequence et choice.

Concept de base : déclaration d’attributs

xsd:attribute

L’attribut use peut avoir l’une des 3 valeurs suivantes :

XML Path Language (XPath)

Préalable à la création de feuilles de style.

Permet de se balader dans un document XML, et pour aller à tel ou tel endroit du document, ou alors se fixer sur un noeud du document => on met en forme graphiquement le document.

En XPath, un document XML est vu comme une arborescence dans laquelle chaque partie du document est représentée par un noeud.

Il y a 7 types de noeuds :