Frage

Mein problem ist, dass meine XML-Dokument enthält Ausschnitte von XHTML, die innerhalb es, und indem Sie es durch ein XSLT-ich möchte es zum Rendern dieser snippets ohne mangeln Ihnen.

Ich habe versucht, das einwickeln der snippets in einem CDATA-aber es funktioniert nicht, da weniger als und größer als übersetzt werden < und > im Gegensatz zu echo direkt.

Was ist der XSL-erforderlich ist, dies zu tun?

War es hilfreich?

Lösung

<xsl:template match="@*|node()">
  <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
  </xsl:copy>
</xsl:template>

Dies ist als die "Identitäts-Transformation" bezeichnet in der XSLT-Spezifikation .

Andere Tipps

Ich lief in diesem Problem und das Kopie-of ist sicherlich die am einfachsten zu bedienen. Die Identität arbeitet, aber das ist 5 Zeilen Code und müssten Sie eine solche Vorlage nennen, nicht einfach definieren, wie in Ihrem XSLT-Dokument ist (sonst werden Sie wahrscheinlich nicht bekommen, was Sie in Ihrer Ausgabe erwartet.)

Mein Hauptproblem war tatsächlich den Inhalt eines Tags zu kopieren, und nicht den Tag selbst. Es ist eigentlich sehr einfach zu lösen, aber es hat mich ein wenig Zeit, um es herauszufinden (vielleicht, weil QtXmlPatterns ziemlich viel stürzt ab!)

So werden die folgenden Kopien der Tag hier benannt und alle seine Kinder:

<xsl:copy-of select="this/tag/here"/>

Aber die meisten oft Sie wollen nicht zu tun, weil ist eigentlich der Behälter, in anderen Worten, es ist nicht in der Ausgabe erscheinen soll. In diesem Fall können Sie einfach tun:

<xsl:copy-of select="this/tag/here/*"/>

Das kopiert alle im Tag gefunden Kinder namens .

Ihr xhtml Unter der Annahme ist in einem Element YYY

http://www.dpawson.co.uk/xsl/sect2 /N1930.html erklärt Optionen

xsl: copy-of

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top