Ich mag würde einige CDATA
Tags um einige XML-TagsCDATA in eine XML-Datei hinzufügen
XML-Quelle ist (es ist nur ein kleiner Teil meiner Datei)
<teaserText_fr>
<div xmlns:xlink="http://www.w3.org/1999/xlink xmlns="http://www.coremedia.com/2003/richtext-1.0"><p>2012 ist für viele Länder ein wichtiges Wahljahr. Die Reihe fühlt der weltweiten Demokratie auf den Zahn. </p>
</div>
</teaserText_fr>
hinzufügen Was ich möchte ist
<teaserText_fr>
<![CDATA[
<div xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.coremedia.com/2003/richtext-1.0"><p>2012 ist für viele Länder ein wichtiges Wahljahr. Die Reihe fühlt der weltweiten Demokratie auf den Zahn. </p>
</div>
]]>
</teaserText_fr>
Mein xslt ist
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output
method="html"
encoding="UTF-8"
omit-xml-declaration="yes"
doctype-public="-//W3C//DTD HTML 4.01//EN"
doctype-system="http://www.w3.org/TR/html4/strict.dtd"
indent="yes" />
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="teaserText_fr">
<xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>
<xsl:copy-of select="*"/>
<xsl:text disable-output-escaping="yes">]]></xsl:text>
</xsl:template>
</xsl:stylesheet>
Was ich erhalte, ist
</teaserText_de><![CDATA[<div xmlns="http://www.coremedia.com/2003/richtext-1.0" xmls:xlink="http://www.w3.org/1999/xlink"><p>à partir du 10 janvier, ARTE diffuse "I love democracy", une série documentaire qui, en cette grand année électorale, prend le pouls démocratique de la planète.</p></div>]]><addTeaserText_de>
ich meine teaserText_fr
Tags verloren, ich verstehe nicht, warum
Wenn möglich, möchte ich so für einige zusätzliche Tags tun (mit Regexp wie [add|]TeaserText_[fr|de]
, aber ich kann es nicht funktionieren ... "
Ich habe einige Tests den ganzen Tag lang, aber ich war kein Erfolg voll.
Mit freundlichen Grüßen, Guillaume
Dank JLRishe, es funktioniert mit dem ersten Ansatz (auch wenn ich nicht verstehe jetzt alles in Ordnung). Wie könnte ich regexp hinzufügen, um das gleiche Ergebnis für teaserTest_de zu erhalten. – glmrenard
Alles, was ich getan habe, war eine 'xsl: copy' hinzuzufügen, die eine flache Kopie des Context Node macht (in diesem Fall ist es ein' teaserText_fr'). Im Wesentlichen, wenn der aktuelle Knoten ein Element ist, setzt er Tags für das aktuelle Element um was drin ist. Ich bin nicht sicher, dass Sie eine Regex brauchen, um auch "teaserText_de" zu behandeln; Wie wäre es mit der Vorlage, die ich am Ende meiner Antwort hinzugefügt habe? – JLRishe