Ich verwende XLST 1.0 und möchte Transform XML to add 'nil' attributes to empty elements. Ich finde, dass der Namespace zu jedem passenden Element hinzugefügt wird, wie meine Ausgabe aussieht: Namespace zum Stammknoten hinzufügen, wenn der Stammknoten mehrere Typen haben kann
Ich weiß, das ist gültig, aber ich würde lieber, es wurde zu meinem Top-Knoten hinzugefügt. Ich kam in dieser Antwort: How can I add namespaces to the root element of my XML using XSLT?
Jedoch habe ich mehrere mögliche Wurzelknoten, so dass ich dachte, dass ich etwas tun könnte:
<xsl:template match="animals | people | things">
<xsl:element name="{name()}">
<xsl:attribute name="xmlns:xsi">http://www.w3.org/2001/XMLSchema-instance</xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
Jedoch habe ich einen Fehler von Visual Studio bekommen „prexix Xmlns nicht definiert“ und ich bin mir nicht sicher, was ich dagegen tun soll.
Here is my total XLST file (es so aus irgendeinem Grund fügen Sie werden nicht in), die ein paar Dinge zu tun versucht:
- verschiedene Tierarten in einem einzigen Typ
- den Namespace auf den Wurzelknoten hinzufügen Trans
- hinzufügen
xsi:nil = true
Elemente zu leeren (beachten sie keine Kinder nicht nur keinen Text haben muss, oder mein Top-Level-Knoten umgewandelt wird)
http://stackoverflow.com/help/be-nice –