|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : avril 2010 Messages : 35 ![]() |
Bonjour,
j'aimerais savoir la différence entre l'élément selector et field. pour moi un seul élément suffit pour définir la contrainte d'integrité (d'unicité ou reference). exemple: Code :
Code :
|
||||
|
|
00
|
|
|
#2 | ||
|
Membre confirmé
![]() Inscription : octobre 2011 Messages : 188 ![]() |
Citation:
Citation:
Voici quelques précisions, sans être exhaustives, dans la construction de xs:key comme de xs:keyref: [1] xs:selector est obligatoire avec les facets comme minOccurs="1" et maxOccurs="1" dans le schema pour le w3c schema. Par contre, xs:field est obligatoire mais pas nécessairement avoir un seul (minOccurs="1" et maxOccurs="unbounded"). [2] xs:selector et xs:field ont une relation séquentiale. [3] Le @xpath dans xs:selector ne peut pas pointer en un attribut, par contre, le @xpath dans xs:field peut. Voyez, les précisions ci-desus sont déjà sufficients de montrer la construction conçue par vous ne peut pas être correct; un bon validant parser doit lever des erreurs au temps même de compilation. |
||
|
|
00
|
|
|
#3 | |
|
Invité de passage
![]() Inscription : avril 2010 Messages : 35 ![]() |
Citation:
|
|
|
|
00
|
|
|
#4 | ||
|
Membre confirmé
![]() Inscription : octobre 2011 Messages : 188 ![]() |
Citation:
Citation:
Si vous voulez construire une spécification à la vôtre, je ne peux rien à dire que de vous souhaiter bonne chance... et ce n'est pas une question que je répondrais volunteer, voilà. |
||
|
|
00
|
|
|
#5 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 087 ![]() |
Ok, je comprends pas vraiment comment tsuji essaie de l'expliquer.
Mais la différence entre les deux est claire et la raison pour laquelle il y a besoin des deux aussi. En plus c'est expliqué partout où on parle de <xs:key>. J'ai du mal à voir ce qui peut poser un doute. <xs:select> sert à déterminer un ensemble de "trucs" (éléments, attributs, nœuds textes) sur lesquels on veut appliquer la contrainte d'unicité. <xs:field> indique qu'est-ce qu'on doit regarder, dans chacun de ces "trucs", et dont la valeur ne doit pas apparaître plus d'une fois dans l'ensemble déterminé par <xs:select>. D'ailleurs, <xs:field> peut apparaître plusieurs fois, au cas où c'est une combinaisons de plusieurs choses, qui doit être unique dans cet ensemble. Il est clair qu'une contrainte d'unicité requiert au moins ces deux considérations distinctes. Pour le coup, MSDN indique sans doute l'explication la plus claire. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com