Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1931 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  Transfo XSLT dans validation Schematron

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Transfo XSLT dans validation Schematron

n°1628197
Monofred1
Posté le 21-10-2007 à 14:04:23  profilanswer
 

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".  
Bref, je récupère toujours l'ID du 1er document de même type que celui en erreur.  
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

mood
Publicité
Posté le 21-10-2007 à 14:04:23  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  Transfo XSLT dans validation Schematron

 

Sujets relatifs
[XSLT]RécursivitéProblème de validation W3C
[XSLT] Générer une documentation "javadoc/doxygen"-likeRecuperer le resultat d'une tranformation xslt dans un string
XSLT faire un tri sur un XMLValidation plusieurs formulaires !
php5, transformation XSLT, chunk.xsl et path des outputValidation de plusieurs conditions avant sauvegarde info dans un fichi
Probleme pour validation XHTMLProbleme de parser XML / XSLt - Doublons
Plus de sujets relatifs à : Transfo XSLT dans validation Schematron


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR