Tôi muốn thêm một số CDATA
thẻ xung quanh một số thẻ xmlThêm CDATA vào một tập tin xml
nguồn XML là (nó chỉ là một phần nhỏ của tập tin của tôi)
<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>
Những gì tôi muốn được
<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>
XSLT của tôi là
<?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>
Những gì tôi nhận được là
</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>
Tôi mất teaserText_fr
thẻ của tôi, tôi không hiểu tại sao
Nếu có thể, tôi muốn làm như vậy đối với một số thẻ phụ (với regexp như [add|]TeaserText_[fr|de]
nhưng tôi không thể làm cho nó hoạt động ... "
Tôi đã thực hiện một số thử nghiệm cả ngày nhưng tôi không thành công đầy.
Trân trọng, Guillaume
Cảm ơn JLRishe, nó hoạt động với cách tiếp cận đầu tiên của bạn (ngay cả khi tôi không hiểu hết). Làm thế nào tôi có thể thêm regexp để có kết quả tương tự cho teaserTest_de bằng ví dụ. – glmrenard
Tất cả những gì tôi đã làm là thêm một bản sao 'xsl: copy' làm một bản sao nông nút bối cảnh (trong trường hợp này, đó là một' teaserText_fr'). Về cơ bản, khi nút hiện tại là một phần tử, nó sẽ đặt các thẻ cho phần tử hiện tại xung quanh những gì bên trong. Tôi không chắc bạn cần regex để xử lý "teaserText_de"; làm thế nào về các mẫu tôi đã thêm vào cuối câu trả lời của tôi? – JLRishe