Nous continuons sur la lancée de notre
article de la semaine dernière, en détaillant
ici différents types de données Schema.
Les
éléments simples
Comme nous l'avons vu, les éléments de types simples
(ou éléments simples) ne contiennent que du texte
: pas de sous-éléments ou d'attributs. Ce texte peut
prendre plusieurs types : booléen, octet, chaîne, date...
Un élément simple prend cette forme, par exemple :
<xs:element name="titre"
type="string"/>
qui définit un élément XML de la forme :
<titre>Le gentil
lapinou des campagnes.</titre>
Si vous ne l'avez pas déjà lu, reportez-vous à
notre présentation de XML
Schema pour retrouver cette ligne de code dans un contexte plus
compréhensible.
Les éléments simples peuvent avoir des valeurs fixées
à l'avance (et non-modifiables) ou par défaut (et
modifiables) :
<xs:element name="support"
type="string" fixed="cd" />
<xs:element name="nombrePistes" type="string"
default="12" />
Ce qui nous donne :
<support>cd</support>
<nombrePistes>12</nombrespistes>
Les types de données
que peut prendre un élément simple sont nombreux,
et ne sont pas tous évident à comprendre : si string,
boolean, binary,
decimal, float
et autres sont facilement reconnus par les plupart des développeurs,
il n'en est pas de même pour les types comme ENTITY,
ID et IDREFS,
QName, uriReference
et quelques autres. C'est sur ces derniers types que peuvent buter
les développeurs qui découvrent Schema, et c'est donc
sur eux que se portera cette partie de notre article, en commençant
par quelques types de données primitifs :
anyURI
Indique que le contenu doit être un URI (Universal Resource
Identifier), qu'il soit absolu (http://www.le-site.com/bidule/chose.php)
ou relatif (/bidule/chose.php).
QName
Représente un nom Qualifié XML, c'est à dire
un nom avec un préfixe et un nom local séparé
par deux points ("préfix:nomLocal").
Lors de la définition d'un élément XML Schema,
comme vu au début de cet article, xs
est le préfixe et element
et le nom local...
NOTATION
Représente un nom qualifié.
Les autres types primitifs sont string,
float, decimal,
boolean, double,
duration, time,
date, dateTime,
gYear, gMonth,
gDay, gMonthDay,
gYearMonth, hexBinary
et base64Binary, qui devraient être
familiers à la plupart des développeurs.
Page 1 | 2
|