Rechercher : dans
Par :

Pb xslt transformation avec xsi:schemaLocatio

Dernière réponse le 4 sep 2008 à 11:01:13 biloubobby, le 3 sep 2008 à 19:35:17 
 Signaler ce message aux modérateurs

Bonjour à tous,

Je cherche à réaliser une transformation xml vers xml. Pour cela j'utilise un parser xslt (xalan pour être plus précis).

J'ai déjà réalisé mes transformations mais un nouveau pb a pointé le bout de son immonde museau lors de l'implémentation d'une référence à un xsi:schemaLocation

Voici l'exemple :

Je souhaite transformer un fichier xml en un autre fichier au format xml en utilisant un moteur de transformation xslt. Le fichier xml référence un schema via l'utilisation de la balise xsi:schemaLocation...

------------------------------------------------------------­--------------------------
Je dispose d'un fichier xml structuré comme suit :

<?xml version="1.0" encoding="ISO-8859-1"?>
<StandardBusinessDocument xsi:schemaLocation="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader StandardBusinessDocumentHeader.xsd">
<StandardBusinessDocumentHeader>
<HeaderVersion>1.1</HeaderVersion>
<Sender>Bobby</Sender>
</StandardBusinessDocumentHeader>
</StandardBusinessDocument>
-----------------------------------------------------------

J'opère une transformation via l'utilisation d'un moteur xslt et de la feuille de style suivante :

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>

<xsl:template match="/">
<ImportDACmd>
<Header ref="{StandardBusinessDocument/StandardBusinessDocumentHeader/HeaderVersion}">
<Status>Purchase Order</Status>
</Header>
</ImportDACmd>
</xsl:template>
</xsl:stylesheet>
----------------------------------------------------------------------------------------

J'obtiens l'erreur suivante :
ERROR: 'The prefix "xsi" for attribute "xsi:schemaLocation" associated with an element type "StandardBusinessDocument" is not bound.'
ERROR: 'com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The prefix "xsi" for attribute "xsi:schemaLocation" associated with an element type "StandardBusinessDocument" is not bound.'

Un fichier vide est généré.

-------------------------------------------------------------

Je m'arrache les cheveux sur ce pb depuis un petit moment maintenant et n'ai pas trouvé de réponse dans les recommandations w3c et autres docs traitant mon affaire (je n'ai pas eu d'exemple concret et les docs trouvés sont en général difficilement déchiffrable pour un nioubz en xml et autres joyeusetés xsltiennes)

Je vous remercie d'avance pour vos conseils eclairés !
Biloubob

Meilleures réponses pour « pb xslt transformation avec xsi:schemaLocatio » dans :
Transformations de XML avec XSLT Voir XSLT et XSL/FO XSL (eXtensible Stylesheet Language) possède deux composantes : XSLT, eXtensible Stylesheet Transformation XSL/FO, eXtensible Stylesheet formatting le langage de transformation des données (XSLT, eXtensible Stylesheet...
Les éléments de transformation XSL Voir Les éléments de transformation Les éléments de transformations permettent de sélectionner et effectuer des opérations sur les éléments du document XML. Leur syntaxe est la suivante : Remarquez la présence du / indiquant que...
Transformer un fichier Word (.doc) en PDF VoirTransformer en fichier PDF un fichier Microsoft Word (.doc) Rien de plus simple ! Ouvrez votre fichier *.doc avec OpenOffice.org Réglez éventuellement la mise en page par le menu Format / Page... Dès lors, 2 solutions pour transformer...
Transformer un fichier Microsoft Excel (.xls) en PDF VoirTransformer en fichier PDF un fichier Microsoft Excel (.xls) Rien de plus simple ! Ouvrez votre fichier *.xls avec OpenOffice.org Réglez éventuellement la mise en page par le menu Format / Page... Dès lors, 2 solutions pour transformer en...
Transformer une photo en dessin avec Gimp 2.4 VoirVous aimeriez transformer vos photos en dessins, nous allons voir ici comment faire avec Gimp Pour notre "dessin", nous allons prendre cette photo : La voici dans la fenêtre de travail de Gimp : Cliquez sur "calques" et ensuite sur...
Télécharger Transform XP to Vista VoirSi vous cherchez quelque chose de nouveau pour personnaliser l'interface de votre Windows XP, mais que vous n'avez pas le temps pour des tests. Ce thème est fait pour vous. Transform Xp to Vista est un pack complet pour la personnalisation de votre...

1

 biloubobby, le 4 sep 2008 à 11:01:13

Bon bah je m'auto-répond vu que j'ai enfin trouvé une solution plutot extrême à mon problème...

Il me manque la déclaration du namespace 'xsi' au début du document xml :
<StandardBusinessDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader StandardBusinessDocumentHeader.xsd">

........

.......

Bah au moins je porte bien mon pseudo... J'suis un vrai bilou !

Allez moi j'me retourne tuné ma nouvelle mobylette pour flamber un coup à la braderie de lille...

Répondre à biloubobby
Collection CommentÇaMarche.net