Créer xmlns:xsi espace de noms et d'attributs
Je veux créer l'élément suivant:
<exercises xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="mySchema.xsd">
Si j'utilise quelque chose comme ceci:
<xsl:element name="excercises">
<xsl:attribute name="xmlns:xsi" namespace="http://www.w3.org/2001/XMLSchema-instance"/>
Puis il crée soemthing comme ceci:
<excercises xp_0:xsi="" xmlns:xp_0="http://www.w3.org/2001/XMLSchema-instance">
Qui n'a pas l'air similaire à ce que je veux...
Qui XSLT analyseur utilisez-vous?
OriginalL'auteur eddy147 | 2009-01-08
Vous devez vous connecter pour publier un commentaire.
Essayer ce qui suit:
La principale préoccupation est de déclarer l'espace de noms xsi dans la déclaration.
Je viens de faire le template match sur un test.
ouais....J'ai juste nettoyé le MS trucs
OriginalL'auteur Kev
Ici est de savoir comment cela peut être fait:
Lorsque cette transformation est appliquée sur n'importe quel document XML source (non utilisé), le résultat souhaité est obtenu:
Il n'est pas nécessaire d'utiliser
<xsl:attribute>
dans votre cas, mais si nécessaire, il peut être utilisé sans aucun problème:Ne remarque que c'est une bonne pratique de simplement définir les espaces de noms à la
<xsl:stylesheet>
élément de sorte qu'ils peuvent facilement être (ré)utilisé partout où ils sont nécessaires. Ceci est particulièrement utile si un espace de noms donné sera nécessaire sur plus d'un générés élément ou de l'attribut.Dans ce cas, il est également bon de préciser que tous ces préfixes dans la valeur de la
exclude-result-prefixes
attribut de sorte que les espaces de noms ne seront pas automatiquement propagées sur tous littérale éléments.Si vous n'incluez pas le préfixe "xsi" dans la liste des valeurs pour le "exclude-result-prefixes" attribut, chaque littéral résultat de l'élément de sortie comme ayant ce nœud d'espace de noms. C'est le seul but de l'e.r.p attr. Lire ici: w3.org/TR/xslt#literal-result-element
OriginalL'auteur Dimitre Novatchev
Vous pouvez simplement utiliser:-
Directement dans votre feuille de style XSL, qui serait à l'œuvre, vous ne vraiment besoin xsl:element si ne peut pas coder en dur le nom de la balise. De la même façon avec les attributs, vous pouvez les ajouter directement, sauf si vous avez besoin de faire conditionnelle.
OriginalL'auteur AnthonyWJones