• Aucun résultat trouvé

Validation Est-ce que les ´el´ements sont imbriqu´es selon ce qui est attendu? Est-ce que le contenu des balises correspond `a des valeurs attendues? D´efinition d’un

N/A
N/A
Protected

Academic year: 2022

Partager "Validation Est-ce que les ´el´ements sont imbriqu´es selon ce qui est attendu? Est-ce que le contenu des balises correspond `a des valeurs attendues? D´efinition d’un"

Copied!
8
0
0

Texte intégral

(1)

Validation

Est-ce que les ´el ´ements sont imbriqu ´es selon ce qui est attendu?

Est-ce que le contenu des balises correspond `a des valeurs attendues?

D ´efinition d’un sch ´ema

DTD

XML Schema

Relax NG Compact (RNC)

Confrontation entre le fichier XML et le sch ´ema

(2)

D ´efinition d’un sch ´ema RNC

Suite de patrons nomm ´es de la forme:

id

=

pattern

Un des patrons est associ ´e `a

start

Patrons

element

nom

{

patron

}

attribute

nom

{

patron

}

Combinaisons de patrons

(3)

Patrons

element

nom

{

patron

}

attribute

nom

{

patron

}

mixed {

patron

}

Combinaison de patrons:

s ´equence: patron1

,

patron2

alternative: patron1

|

patron2

groupement:

(

patron

)

optionnel : patron

?

r ´ep ´etition (0 ou plus): patron

*

r ´ep ´etition (1 ou plus): patron

+

(4)

Types simples

text

XMLSchema datatypes

• xsd:integer

xsd:gYear

xsd:anyURI

Contraintes / Facettes

• minInclusive

,

maxInclusive

minLength

pattern

(5)

XML valide vs sch ´ema RNC

<

auteur id=‘esope’

>

<

nom

>

Esope´

</

nom

>

<

mort

>

-0560

</

mort

>

<

prose

>

<

head

>

La cigale et les fourmis

</

head

>

<

p

>

C’ ´etait l’hiver. . .

<

q

>

Pourquoi

</

q

>

n’as-tu pas fait de provisions?

</

p

>

</

prose

>

</

auteur

>

start

= element

auteur

{

attribute

id

{

xsd:ID

}

, nom, mort, prose+

}

nom

= element

nom

{

text

}

mort

= element

mort

{

xsd:gYear

}

prose

= element

prose

{

element

head

{

text

}

, p+

}

p

= element

p

{

mixed { element

q

{

text

} }

}

(6)

Diagramme vs sch ´ema RNC

start nom mort prose

p

start = element auteur{

attribute id { xsd:ID } , nom, mort, prose+

}

nom = elementnom { text }

mort = element mort{ xsd:gYear }

prose = element prose {

element head { text} , p+

}

p = element p { mixed { elementq { text } } }

(7)

Diagramme vs XML valide

start nom mort prose

p

<

auteur id=‘esope’

>

<

nom

>

Esope´

</

nom

> <

mort

>

-0560

</

mort

>

<

prose

>

<

head

>

La cigale et les fourmis

</

head

>

<

p

>

C’ ´etait l’hiver. . .

<

q

>

Pourquoi

</

q

>

n’as-tu pas fait de provisions?

</

p

>

</

prose

>

</

auteur

>

(8)

Diagrammes r ´ecursifs

expression

terme

facteur

Références

Documents relatifs

Utiliser le câble réseau pour alimenter électriquement ses équipements permet de réduire significativement le nombre de câbles et évite d’avoir à faire appel à un

#Était-ce plus facile lorsque vous n’aviez pas de choix ou lorsque vous en aviez!. #Quelles sont les ressemblances entre ce jeu et les changements que vous vivez comme membres des

12) Les cas de coronavirus ne sont pas récents, quelles sont les raisons pour lesquelles, le coronavirus de Wuhan a-t-il été autant

Ces logiciels peuvent parfois scénariser les enchaînements de séquences (audio et vidéo) et créer des didacticiels (&#34;Director&#34;), des films interactifs ou de

Montrer que la composition des homomorphismes d’anneaux est aussi un homomorphisme

Elles ont été intégrées en premier dans Excel de 1992 (N° 4) puis dans Excel 93 (N° 5) qui a été le premier programme Microsoft voyant apparaître le langage VBA (voir définition

La virgule permet de séparer la partie entière de la partie décimale dans un même nombre.. Elle indique le rang

On peut définir des styles différents selon l’identité (id) ou la classe (class) d’un élément (voir l’exemple de corps de page html donné plus haut). Sur une page il ne peut