Transfo XSLT dans validation Schematron

Sigmund Messages postés 4 Statut Membre -  
Sigmund Messages postés 4 Statut Membre -
Bonjour,
Je ne sais pas exactement quel parser j'utilise mais je vais essayer d'être clair.
J'ai récupérer sur le net des sources Java qui permettent de valider un fichier XML par rapport à un schéma Schematron.
Le principe est basé sur 2 transfo XSLT, la première transforme le schéma Schematron à l'aide d'un 'preprocessor.xslt' fournit avec les sources Java, en un 'processor.xslt' qui, appliqué au fichier XML à valider, fournit soit un log.xml des erreurs de validation, soit un fichier vide si le XML est valide.
Mon problème concerne le log.xml dans lequel je n'arrive pas à récupérer l'ID de l'élément qui est en erreur.
Mon fichier XML d'entrée a la forme suivante:

<ec:lotdocuments xmlns:ec="URI" xml:id="ID0100">
<ec:document1 xml:id="ID0001">
<ec:balise1>
<ec:sousbalise1>xxx</ec:sousbalise1>
</ec:balise1>
...
</ec:document1>
<ec:document1 xml:id="ID0002">
<ec:balise1>
<ec:sousbalise1>yyy</ec:sousbalise1>
</ec:balise1>
</ec:document1>
<ec:document1 xml:id="ID0003">
<ec:balise1>
<ec:sousbalise1>zzz</ec:sousbalise1>
</ec:balise1>
</ec:document1>
<ec:document2 xml:id="ID0004">
...
</ec:document2>
<ec:document2 xml:id="ID0005">
...
</ec:document2>
</ec:lotdocuments>

Si par exemple l'élément <document1 xml:id="ID0003"> a une erreur Schematron dans une de ces balises, avec la commande :
<axsl:value-of select="//ec:document1/@xml:id"/>
dans la feuille intermédiaire processor.xslt, je récupère dans ma log non pas l'ID "ID0002" mais le "ID0001". Idem si' c'est le
<ec:document2 xml:id="ID0005"> qui est en erreur, je récupère l'ID "ID0004"
Est-ce juste ma commande xslt qui est mauvaise, et dans ce cas quelle est la bonne, ou est-ce plus grave docteur ?... :(
Merci d'avance pour vos réponses

2 réponses

pkjmr Messages postés 179 Date d'inscription   Statut Membre Dernière intervention   34
 
Salut

désolé je suis pas compétent en XML, mais (justement) je pense que cette question trouverait plus de personnes compétentes dans le forum Programmation.
0
Sigmund Messages postés 4 Statut Membre
 
Ok, je vais essayer. Merci
0