chciałbym dodać kilka CDATA
tagów wokół niektórych znaczników XMLDodaj CDATA do pliku xml
źródło XML (to tylko niewielka część mojego pliku)
<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>
Co ja chciałoby się
<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>
Moja XSLT jest
<?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>
Co mogę to
</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>
zgubiłem teaserText_fr
tagów, nie rozumiem dlaczego
Jeśli to możliwe, chciałbym to zrobić na kilka dodatkowych znaczników (z regexp jak [add|]TeaserText_[fr|de]
, ale nie mogę go uruchomić ... "
Zrobiłem kilka testów przez cały dzień, ale nie był sukces pełny.
poważaniem Guillaume
Dzięki JLRishe działa z Twoim pierwszym podejściem (nawet jeśli teraz nie rozumiem w tej chwili). Jak mogę dodać wyrażenie regularne, aby uzyskać ten sam wynik dla teaserTest_de na przykład. – glmrenard
Wszystko co zrobiłem to dodać 'xsl: copy', która wykonuje płytką kopię węzła kontekstu (w tym przypadku jest to' teaserText_fr'). Zasadniczo, gdy bieżący węzeł jest elementem, umieszcza znaczniki dla bieżącego elementu wokół tego, co jest w środku. Nie jestem pewien, czy potrzebujesz wyrażeń regularnych, aby obsłużyć "teaserText_de"; co powiesz o szablonie dodanym pod koniec mojej odpowiedzi? – JLRishe