2010-12-22 16 views
1

Schnelle Frage. Ich habe einige XMLXSLT Whitespace-Elemente werden getrimmt

<someXML> 
    <someNode>  </someNode> 
    <someNode>asdlkjf </someNode> 
</someXML> 

Wenn ich eine XSLT anwenden, wird der erste Knoten in nichts getrimmt. Die zweite ist in Ordnung und das nachfolgende Leerzeichen nicht beschnitten, weil ich Leerzeichen Erhaltung bin:

<someXML> 
    <someNode></someNode> 
    <someNode>asdlkjf </someNode> 
</someXML> 

Meine Frage ist, warum ist der erste Knoten abgeschnitten zu werden? So absurd dies klingt, der Whitespace-Knoten ist wichtig und muss beibehalten werden. Ich benutze Xalan 2.7.1. Ist das genau die Art und Weise wie XSL funktioniert oder gibt es einen Weg um dies zu erreichen?

Danke!

+0

Gute Frage, +1. Sehen Sie meine Antwort für zwei mögliche Lösungen. –

Antwort

2

verwendet XSLT Richtlinie:

<xsl:preserve-space elements="*"/> 

Wenn dies nicht hilft, bedeutet dies, dass der XML-Parser die nur aus Leerzeichen Textknoten wird Strippen.

diese im XML-Dokument zu vermeiden, verwenden Sie das Attribut xml:space="preserve":

<someXML> 
    <someNode xml:space="preserve">  </someNode> 
    <someNode>asdlkjf </someNode> 
</someXML> 
+0

+1 Vollständige Antwort. –

Verwandte Themen