[XSL] Comment générer un préfixe pour un namespace "inconnu"?
Bonjour.
Je voudrais générer un fichier wsdl en utilisant une syntaxe XML plus simple. L'élément racine est <web-service targetNamespace="..."/> .
L'attribut "targetNamespace" me pose un souci car je n'arrive pas à définir une XSL générique sans inclure l'espace de noms mentionné dans l'attribut targetNamespace du fichier XML. Je souhaiterais utiliser un préfixe dans l'XSL, tns, par exemple, pour cet espace de noms, de manière à ce que les valeurs d'attributs référencent correctement les types définis dans la section <schema> du WSDL généré.
J'ai bien essayé le composant <xsl:element> mais il ne permet pas de définir le préfixe pour l'espace de noms (qui est d'office celui par défaut de l'élément qu'il crée). De plus, il ne permet pas d'ajouter des espaces de noms supplémentaires.
Voici un exemple concret. Le fichier XML:
Code:
1 2 3 4
| <?xml version="1.0" encoding="ISO-8859-1"?>
<web-service ... name="MyWebService" targetNamespace="urn:my:Web:Service">
...
</web-service> |
Je voudrais une XSL donnant le résultat suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <wsdl:definitions ...
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns="urn:my:Web:Service"
targetNamespace="urn:my:Web:Service">
<wsdl:types>
<xs:schema targetNamespace="urn:process-it:web-manager">
...
</xs:schema>
</wsdl:types>
...
<message name="myMessage".../>
...
<input message="tns:myMessage"/>
...
</wsdl:definitions> |
Merci pour vos lumières.