Getsuyodev, Programming is mainly used when constructing an application. Programming requires knowledge of application domains, algorithms, and programming language expertise. Programming can be developed in different logic based on developer knowledge.

Client Serveur – Schéma XML – Les éléments simples

Programmation Client Serveur



Introduction:

  • Dans le chapitre précédent, nous avons vu que les Schémas XML permettent de pallier les faiblesses des DTD.
  • Après avoir également vu la structure d’un Schéma XML, nous allons voir d’aborder l’écriture d’un Schéma XML à proprement parler.
  • La première notion que nous allons aborder ce que l’on appelle les éléments simples.

Les éléments simples: Définition

  • Un élément simple est un élément qui ne contient qu’une valeur dont le type est dit simple.
  • Il ne contient pas d’autres éléments.
  • Un élément simple peut donc être une balise qui ne contient aucun attribut et dans laquelle aucune autre balise n’est imbriquée.
  • Un attribut d’une balise peut également être considéré comme un élément simple. En effet, la valeur d’un attribut est un type simple.
  • Un type simple, c’est par exemple un chiffre, une date ou encore une chaîne de caractères.
Exemples

<!-- Ne contient ni attribut ni aucun autre élément => élément simple -->
<nom>ROBERT</nom>

<!-- Contient un attribut => n'est pas un élément simple -->
<!-- Cependant l'attribut "sexe" est un élément simple -->
<personne sexe="masculin">Robert DUPONT</personne>

<!-- La balise personne contient d'autres éléments (les balises nom et prénom) => n'est pas un élément simple -->
<personne>
  <!-- Ne contient ni attribut ni aucun autre élément => élément simple -->
  <nom>DUPONT</nom>
  
  <!-- Ne contient ni attribut ni aucun autre élément => élément simple -->
  <prenom>Robert</prenom>
</personne>

Déclarer une balise comme un élément simple:

  • Si vous souhaitez déclarer une balise en tant qu’élément simple, c’est le mot clef element qu’il faut utiliser.
  • N’oubliez pas de précéder son utilisation par xsd:
  • Cette balise prend 2 attributs : un nom et un type.
  • <xsd:element name=”mon_nom” type=”xsd:mon_type” />

Déclarer une balise comme un élément simple:

  • Soit les éléments simples suivants :
<nom>DUPONT</nom>
<prenom>Robert</prenom>
<age>38</age>

Au sein d’un Schéma XML, les éléments précédents seront déclarés de la sorte :

<xsd:element name="nom" type="xsd:string" />
<xsd:element name="prenom" type="xsd:string" ></xsd:element>
<xsd:element name="age" type="xsd:int" ></xsd:element>
  • string est utilisé pour qualifier une chaîne de caractères.
  • int est utilisé pour qualifier un nombre entier.
  • La liste complète des types qu’il est possible d’utiliser est fournie un peu plus loin dans ce chapitre.

Valeur par défaut et valeur inchangeable:

  • Avant que l’on regarde ensemble la liste des types, revenons sur 2 concepts qui sont les valeurs par défaut et les valeurs inchangeables.

Valeur par défaut:

  • Comme c’était déjà le cas dans les DTD, il est tout à fait possible d’indiquer dans les Schémas XML qu’un élément a une valeur par défaut.
  • Pour rappel, la valeur par défaut est la valeur que va prendre automatiquement un élément si aucune valeur n’est indiquée au niveau du fichier XML.
  • Pour indiquer une valeur par défaut, c’est l’attribut default qui est utilisé au niveau de la balise <element /> du Schéma XML.
  • Par exemple, si on souhaite indiquer qu’à défaut d’être renseigné, le prénom d’une personne est Robert, on va écrire la règle suivante :
<xsd:element name="prenom" type="xsd:string" default="Robert" />

Valeur par défaut:

  • Voici alors quelques exemple de documents XML possibles :
<!-- valide -->
<prenom>Jean</prenom>

<!-- valide -->
<prenom>Marie</prenom>

<!-- valide -->
<!-- la balise prenom vaut "Robert" -->
<prenom ></prenom>

Valeur constante:

  • Pour indiquer une valeur constante, c’est l’attribut fixed qui est utilisé au niveau de la balise <element /> du Schéma XML.
  • Par exemple, si on souhaite obliger toute les personnes de mon document XML à porter le prénom Robert, voici la règle à écrire :

<xsd:element name=”prenom” type=”xsd:string” fixed=”Robert” />

Voyons alors la validité des lignes XML suivantes :

<!-- valide -->
<prenom>Robert</prenom>

<!-- invalide -->
<prenom>Marie</prenom>

<!-- invalide -->
<prenom></prenom>

Les attributs :

  • Comme nous le voyions un peu plus tôt dans ce chapitre, dans un Schéma XML, tous les attributs d’une balise XML sont considérés comme des éléments simples.
  • En effet, ils ne peuvent prendre comme valeur qu’un type simple, c’est-à-dire un nombre, une chaîne de caractère, une date, etc.

Les attributs : Déclarer un attribut

  • Bien qu’un attribut soit un élément simple, nous n’allons pas utiliser le mot clef element pour déclarer un attribut.
  • C’est le mot attribut qui est utilisé.
  • Encore une fois, n’oubliez pas de faire précéder son utilisation par xsd:.
  • Cette balise prend 2 attributs : un nom et un type.
  • <xsd:attribut name=”mon_nom” type=”xsd:mon_type” />
  • Prenons par exemple la ligne XML suivante :
    <personne sexe=”masculin”>Robert DUPONT</personne>
  • Nous n’allons pas détailler ici comment déclarer la balise. En effet, puisqu’elle contient un attribut, c’est ce qu’on appelle un élément complexe et nous verrons comment faire un peu plus tard.
  • Cependant, voici comment déclarer l’attribut dans notre Schéma XML:

    <xsd:attribut name=”sexe” type=”xsd:string” />

Les attributs: Valeur par défaut

  • Comme c’était déjà le cas dans les DTD, il est tout à fait possible d’indiquer dans les Schémas XML qu’un attribut a une valeur par défaut.
  • Pour indiquer une valeur par défaut, c’est l’attribut default qui est utilisé au niveau de la balise <attribut /> du Schéma XML.
  • Par exemple, si je souhaite indiquer qu’à défaut d’être renseigné, le sexe d’une personne est masculin, je vais écrire la règle suivante :

    <xsd:attribut name=”sexe” type=”xsd:string” default=”masculin” />

Les attributs: Valeur constante

  • Il est également possible d’imposer une valeur.
  • Cette valeur inchangeable est appelée constante.
  • Pour indiquer une valeur constante, c’est l’attribut fixed qui est utilisé au niveau de la balise <attribut /> du Schéma XML.
  • Par exemple, si je souhaite obliger toutes les personnes de mon document XML à être des femmes, voici la règle à écrire :

<xsd:attribut name=”sexe” type=”xsd:string” fixed=”feminin” />

Les attributs : Attribut obligatoire

  • Tels que nous les déclarons depuis le début de ce chapitre, les attributs sont, par défaut, optionnels.
  • Pour indiquer qu’un attribut est obligatoire, nous devons renseigner la propriété use à laquelle nous affectons la valeur required.
  • Par exemple, si je souhaite obliger l’utilisation de l’attribut sexe, voici la règle à écrire :

<xsd:attribut name=”sexe” type=”xsd:string” use=”required” />

Résumé :

  • Un élément simple est un élément qui ne contient qu’une valeur dont le type est dit simple comme par exemple une balise qui ne contient aucun attribut et dans laquelle aucune autre balise n’est imbriquée.
  • Pour décrire un élément simple, on utilise la balise <xsd:element />.
  • Il est possible de définir une valeur par défaut ou une valeur constante à un élément simple.
  • Un attribut est également un élément simple.
  • Pour décrire un attribut, on utilise la balise <xsd:attribut />.
  • Il est possible de définir une valeur par défaut, une valeur constante à un élément simple ou rendre obligatoire un attribut.

Les types : Les chaines de caractères

Le type string:

  • Le type string est l’un des premiers types que nous ayons vu ensemble.
  • Il représente une chaîne de caractères et peut donc contenir un peu tout et n’importe quoi.
  • Il est cependant important de noter que certains caractères spéciaux comme le & doivent être écrits avec leur notation HTML.
  • Soit la règle de Schéma XML suivante :

<xsd:element name=”string” type=”xsd:string” ></code>

  • Les différentes lignes XML ci-dessous sont alors valides :
<string>France</string>
<string>Site du zéro !</string>
<string>&amp;</string>

Le type normalizedString:

  • Le type normalizedString est basé sur le type string et représente une chaîne de caractères normalisée, c’est-à-dire, une chaîne de caractères qui peut contenir tout et n’importe quoi à l’exception de tabulations, de sauts de ligne et de retours chariot.
  • Dans la pratique, il n’est pas interdit de les écrire, mais ils seront automatiquement remplacés par des espaces.
  • Puisque le type normalizedString est basé sur le type string, toutes les règles du type string s’applique également au type normalizedString.
  • Ainsi, les caractères spéciaux comme le & doivent être écrits avec leur notation HTML.
  • On ne le précisera pas à chaque fois, mais cette règle est toujours vraie. Un type hérite toujours de toutes les règles du type sur lequel il se base.

Le type token:

  • Le type token est basé sur le type normalizedString et représente une chaîne de caractères normalisée sans espace au début ni à la fin.
  • Une nouvelle fois, dans la pratique, il n’est pas interdit de les écrire.
  • Les espaces présents au début et à la fin seront automatiquement supprimés.

Le type language:

  • Le type language est basé sur le type token et représente, comme son nom le laisse deviner, une langue.
  • Cette langue doit être identifiée par 2 lettres. Ces 2 caractères peuvent éventuellement être suivi d’un code pays.
  • Considérons la règle suivante :

<xsd:element name=”langue” type=”xsd:language” ></code>

  • Les différentes lignes XML ci-dessous sont alors valides :
<langue>fr</langue> 
<langue>en</langue> 
<langue>en-GB</langue> 
<langue>en-US</langue>

Le type NMTOKEN:

  • Le type NMTOKEN est basé sur le type token et représente une chaîne de caractères “simple”, c’est-à-dire une chaîne de caractères sans espace qui ne contient que les symboles suivants :
    • Des lettres.
    • Des chiffres.
    • Les caractères spéciaux .-_ et :
  • Si la chaîne de caractères contient des espaces au début ou à la fin, ils seront automatiquement supprimés.
  • Afin d’assurer une compatibilité entre les Schémas XML et les DTD, il convient de n’utiliser le type NMTOKEN que pour un attribut.

Le type NMTOKENS:

  • Le type NMTOKENS représente une liste de NMTOKEN séparés par un espace.
  • Une nouvelle fois, afin d’assurer une compatibilité entre les Schémas XML et les DTD, il convient de n’utiliser le type NMTOKENS seulement pour un attribut.
  • Soit la règle suivante issue d’un Schéma XML :

<xsd:attribut name=”list” type=”xsd:NMTOKENS” ></code> ü Les

  • différentes lignes XML ci-dessous sont alors valides :

<balise list=”A:1_B C-2.”>contenu de la balise</balise><balise list=”AZERTY 123456 QSDFGH”>contenu de la balise</balise>

Le type Name:

  • Le type Name est basé sur le type token et représente un nom XML, c’est-à-dire une chaîne de caractères sans espace qui ne contient que les symboles suivants :
    • Des lettres.
    • Des chiffres.
    • Les caractères spéciaux .-_ et :
  • La différence avec le type NMTOKEN est qu’une chaîne de caractères de type Name doit obligatoirement commencer par une lettre, ou l’un des 2 caractères spéciaux suivants : _ et :

Le type NCName:

  • Le type NCName est basé sur le type Name.
  • Il hérite donc de toutes les règles du type Name auxquelles une nouvelle règles doit être ajoutée : le type NCName ne peut pas contenir le caractère spécial :

Le type ID:

  • Le type ID est basé sur le type NCName, il hérite donc de toutes les règles de ce type.
  • Comme son nom le laisse deviner, un ID représente un identifiant.
  • Il doit donc contenir des valeurs uniques. A ce titre, il est impossible de lui définir une valeur fixe ou par défaut.
  • Comme pour d’autres types vu précédemment, un ID ne doit être utilisé qu’avec les attributs afin d’assurer une compatibilité entre les Schémas XML et les DTD.

Le type IDREF:

  • Le type IDREF fait référence à un ID existant dans le document XML.
  • Tout comme le type ID, il est basé sur le type NCName et hérite donc de toutes les règles de ce type.
  • Puisque le type ID n’est utilisable qu’avec des attributs, il en est naturellement de même pour le type IDREF.

Le type IDREFS:

  • Le type IDREFS représente une liste de IDREF séparés par un espace.
  • Afin d’assurer une compatibilité entre les Schémas XML et les DTD, il convient de n’utiliser le type IDREFS que pour un attribut.
  • Illustrons son utilisation avec un exemple :
<xsd:attribut name="enfants" type="xsd:IDREFS" ></code> 

<personne num="P1">Paul</personne> 
<personne num="P2">Marie</personne> 
<personne enfants="P1 P2">Jeanne</personne>

Le type ENTITY:

  • Le type ENTITY permet de faire référence à une entité le plus souvent non XML et déclaré dans des fichiers DTD.
  • Ce type est basé sur le type NCName, il hérite donc de toutes ses règles.
  • Une nouvelle fois, afin d’assurer une compatibilité entre les Schémas XML et les DTD, il convient de n’utiliser le type ENTITY que pour un attribut.
  • Exemple :
<xsd:attribut name="marque" type="xsd:ENTITY" ></code> 

<!ENTITY samsung "Samsung"> 
<!ENTITY apple "Apple"> 
<telephone marque="apple">iPhone</telephone> 
<telephone marque="samsung">Galaxy SII</telephone>

Le type ENTITIES:

  • Finalement, le dernier type que nous verrons dans cette catégorie est le type ENTITIES.
  • Il permet de faire référence à une liste d’ENTITY séparés par un espace.
  • Puisque c’était déjà le cas pour le type ENTITY, le type ENTITIES n’échappe pas à la règle et ne doit être utilisé qu’avec un attribut.

Les types : Les dates

Le type duration:

  • Le type duration, comme son nom le laisse deviner, représente une durée.
  • Cette durée s’exprime en nombre d’années, de mois, de jours, d’heures, de minutes et de secondes selon une expression qui n’est pas des plus simples à savoir PnYnMnDTnHnMnS.

Le type duration:

  • P marque le début de l’expression.
  • nY représente le nombre d’années (year) où n est un nombre entier.
  • nM représente le nombre de mois (month) où n est un nombre entier.
  • nD représente le nombre de jours (day) où n est un nombre entier.
  • T permet de séparer la partie date de l’expression de sa partie heure.
  • nH représente le nombre d’heures (hour) où n est un nombre entier.
  • nM représente le nombre de minutes (minute) où n est un nombre entier.
  • nS représente le nombre de secondes (second) où n est un nombre entier ou décimal.
  • L’expression peut-être précédé du signe – dans le cas où l’on souhaite exprimer une durée négative.
  • Bien évidemment, tous les champs ne doivent pas forcément être renseignés.
  • Ainsi, il est possible de ne renseigner que les heures, les minutes, etc.
  • Dans le cas où l’expression n’exprime qu’une date, le symbole T ne doit plus figurer.
<xsd:element name="duree" type="xsd:duration" ></code> 

<!-- 42 ans et 6 minutes --> 
<duree>P42YT6M</duree> 
<!-- -2 heures --> 
<duree>-PT2H</duree> 
<!-- 2 jours --> 
<duree>P2D</duree> 
<!-- 10.5 secondes --> 
<duree>PT10.5S</duree>

Le type date:

  • Le type date permet d’exprimer une date.
  • A l’image du type duration, une date s’exprime selon une expression bien spécifique à savoir YYYY-MM-DD.
  • YYYY représente l’année (year) sur 4 chiffres ou plus.
  • MM représente le mois (month) sur 2 chiffres.
  • DD représente le jour (day) également sur 2 chiffres.
  • Dans le cas où l’on souhaite exprimer une date avant Jésus-Christ, un signe – peut-être placé devant l’expression.
<xsd:element name="madate" type="xsd:date" ></code> 

<!-- 13 janvier 1924 --> 
<madate>1924-01-13</madate> 
<!-- 12 décembre 34 avant JC --> 
<madate>-0034-12-12</madate> 
<!-- 4 novembre 12405 --> 
<madate>12405-11-04</madate>

Le type time:

  • Le type time permet d’exprimer une heure.
  • Encore une fois, une expression bien spécifique doit être respectée : hh:mm:ss.
  • hh représente les heures (hour) sur 2 chiffres.
  • mm représente les minutes (minute) sur 2 chiffres.
  • ss représente les secondes (second) sur 2 chiffres entiers ou à virgule.
<xsd:element name="monheure" type="xsd:time" ></code> 

<!-- 10 heures et 24 minutes --> 
<monheure>10:24:00</monheure> 
<!-- 2,5 secondes --> 
<monheure>00:00:02.5</monheure>

Le type dateTime:

  • Le type dateTime peut être considéré comme un mélange entre le type date et le type time.
  • Ce nouveau type permet donc de représenter une date ET une heure.
  • Une nouvelle fois, une expression particulière doit être respectée : YYYY-MM-DDThh:mm:ss.

Le type gYear:

  • Le type gYear représente une année sur 4 chiffres ou plus.
  • Dans le cas où l’on souhaite exprimer une année avant Jésus-Christ, un signe – peut-être placé devant l’expression.

Le type gYearMonth:

  • Le type gYearMonth représente une année et un mois.
  • Comme pour tous les types que nous venons de voir dans ce chapitre, le type gYearMonth doit respecter une expression particulière :      YYYY-MM.

Le type gMonth:

  • Le type gMonth représente un mois sur 2 chiffres précédés du symbole –.
<xsd:element name="mois" type="xsd:gMonth" ></code> 

<!-- mars --> 
<mois>--03</mois> 
<!-- décembre --> 
<mois>--12</mois>

Le type gMonthDay:

  • Le type gMonthDay représente un mois et un jour.
  • Une nouvelle fois, une expression particulière doit être utilisée afin d’exprimer ce nouveau type : –MM-DD.

Le type gDay:

  • Finalement, nous allons terminer ce chapitre avec le type gDay qui représente un jour sur 2 chiffres précédés du symbole —.
<xsd:element name="journee" type="xsd:gDay" ></code> 
<!-- le troisième jour du mois --> 
<journee>---03</journee> 
<!-- le douzième jour du mois --> 
<journee>---12</journee>

Les types : Les numériques

Le type float:

  • Le type float représente un nombre flottant sur 32 bits.
  • Le type float à été emprunté aux langages de programmation comme le langage C et est encore aujourd’hui utilisé dans des langages plus récents comme Java ou C#.
  • Il représente un nombre flottant, c’est-à-dire un nombre entier ou décimal, se trouvant entre les valeurs 3.4×10^-38 et 3.4×10^38.
  • A cette plage de valeurs, 3 autres peuvent être ajoutées :
    • -INF pour moins l’infini.
    • +INF pour plus l’infini.
    • NaN pour Not a Number, c’est-à-dire pour désigner une valeur non numérique.
  • A cette plage de valeurs, 3 autres peuvent être ajoutées :
    • -INF pour moins l’infini.
    • +INF pour plus l’infini.
    • NaN pour Not a Number, c’est-à-dire pour désigner une valeur non numérique.
  • Il est tout à fait possible d’écrire un nombre de type float avec des exposants. Il convient alors d’utiliser la notation E ou e.
<xsd:element name="nombre" type="xsd:float" /> 

<nombre>42</nombre> 
<nombre>-42.25</nombre> 
<nombre>3E4</nombre> 
<nombre>10e-5</nombre>

Le type double:

  • Le type double est très proche du type float, si ce n’est qu’il représente un nombre flottant sur 64 au lieu des 32 bits du type float.
  • Concrètement, cette différence se traduit par le fait qu’un nombre de type double se trouve entre les valeurs 1.7×10^-308 et 1.7×10^308.
  • Comme pour le type float, les 3 valeurs suivantes peuvent être ajoutées à la liste :
    • -INF pour moins l’infini.
    • +INF pour plus l’infini.
    • NaN pour Not a Number, c’est-à-dire pour désigner une valeur non numérique.
  • On retrouve également la règle de l’exposant.

Le type decimal:

  • Le type decimal représente un nombre décimal, c’est-à-dire un nombre qui peut-être entier ou à virgule.
  • Ce nombre peut-être positif ou négatif et donc être précédé du symbole + ou -.
  • Dans le cas d’un nombre où la partie entière est égale à zéro, il n’est pas obligatoire de l’écrire.
<xsd:element name="nombre" type="xsd:decimal" /> 

<nombre>42</nombre> 
<nombre>-42.25</nombre> 
<nombre>+.42</nombre> 
<nombre>00042.420000</nombre>

Le type integer:

  • Le type integer est basé sur le type decimal et représente un nombre entier, c’est-à-dire un nombre sans virgule.
  • Comme pour le type décimal, un nombre de type integer peut être précédé par le symbole + ou -.

Le type long:

  • Le type long est basé sur le type integer si ce n’est qu’un nombre de type long doit forcément être compris entre les valeurs -9 223 372 036 854 775 808 et 9 223 372 036 854 775 807.

Le type int:

  • Le type int est basé sur le type long si ce n’est qu’un nombre de type int doit forcément être compris entre les valeurs -2 147 483 648 et 2 147 483 647.

Le type short:

  • Le type short est basé sur le type int si ce n’est qu’un nombre de type short doit forcément être compris entre les valeurs -32 768 et 32 768.

Le type byte:

  • Le type byte est basé sur le type short si ce n’est qu’un nombre de type byte doit forcément être compris entre les valeurs -128 et 127.

Le type nonPositiveInteger :

  • Basé sur le type integer, le type nonPositiveInteger représente un nombre entier qui n’est pas positif.
  • Concrètement, cela correspond à un nombre négatif ou au nombre zéro.
<xsd:element name="nombre" type="xsd:nonPositiveInteger"  /> 

<nombre>-42</nombre> 
<nombre>0</nombre> 
<nombre>-00042</nombre>

Le type negativeInteger :

  • Basé sur le type nonPositiveInteger.
  • Le type negativeInteger représente un nombre entier strictement négatif, c’est-à-dire strictement inférieur à zéro.

Le type nonNegativeInteger :

  • Basé sur le type integer, le type nonNegativeInteger représente un nombre entier qui n’est pas négatif, c’est-à-dire un nombre supérieur ou égal à zéro.
<xsd:element name="nombre" type="xsd:nonPositiveInteger"  /> 

<nombre>42</nombre> 
<nombre>0</nombre> 
<nombre>+00042</nombre>

Le type positiveInteger :

  • Basé sur le type nonNegativeInteger, le type positiveInteger représente un nombre entier strictement positif, c’est-à-dire strictement supérieur à zéro.

Le type unsignedLong :

  • Le type unsignedLong est basé sur le type nonNegativeInteger et représente un entier compris entre les valeurs 0 et 18 446 744 073 709 551 615.

Le type unsignedInt :

  • Le type unsignedInt est basé sur le type unsignedLong et représente un entier compris entre les valeurs 0 et 4 294 967 295.

Le type unsignedShort :

  • Le type unsignedShort est basé sur le type unsignedInt et représente un entier compris entre les valeurs 0 et 65 535.

Le type unsignedByte :

  • Le type unsignedByte est basé sur le type unsignedShort et représente un entier compris entre les valeurs 0 et 255.

Les types : Les autres

Le type boolean :

  • Le type boolean, comme son nom le laisse deviner, représente un booléen.
  • Un booléen permet d’indiquer l’un des 2 états suivant : vrai ou faux.
  • Si 2 états sont possibles, 4 valeurs sont en réalités acceptées :
    • true qui représente l’état vrai.
    • false qui représente l’état faux.
    • 1 qui représente l’état vrai.
    • 0 qui représente l’état faux.
<xsd:attribute name="animal" type="xsd:boolean" /> 

<!-- Victor Hugo n'est pas un animal --> 
<personne animal="false">Victor Hugo</personne> 
<!-- Cheval est bien un animal --> 
<personne animal="true">Cheval</personne>

Le type QName:

  • Le type QName représente un nom qualifié.
  • C’est un concept qui s’appuie sur l’utilisation des espaces de nom.

Le type NOTATION:

  • Le type NOTATION permet d’identifier et décrire du contenu XML ou non comme par exemple une image.

Le type anyURI:

  • Comme son nom l’indique, le type anyURI représente une URI (Uniform Resource Identifier).
  • Une URI est une chaîne de caractère qui permet d’identifier une ressource.

Le type anyURI: 2 types

  • Les URL (Uniform Resource Locator) est probablement la forme d’URI la plus connue et je suis sûr que ce nom vous parle. En effet, les URL sont utilisés pour décrire l’adresse d’une ressource sur un réseau. Par exemple http://www.siteduzero.com et ftp://ftp.rfc-editor.org/in-notes/rfc2396.txt sont deux URL possibles.
  • Les URN (Uniform Resource Name) sont quant à eux utilisés pour identifier une ressource dans un espace de noms.
<xsd:attribute name="adresse" type="xsd:anyURI"  /> 

<!-- URI absolu --> 
<image adresse="http://www.siteduzero.com/bundles/common/images/spreadsheetV32.png" ></image> 
<!-- URI relatif --> 
<image adresse="../bundles/common/images/spreadsheetV32.png"></image>

Le type base64Binary:

  • Le type base64Binary représente une donnée binaire au format Base64.

Le type hexBinary:

  • Le type hexBinary représente une donnée binaire au format hexadécimal.

Comments are closed, but trackbacks and pingbacks are open.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More