Тег CDATA вставляется и комментируется - PullRequest
0 голосов
/ 24 сентября 2018

Я работаю над переводом XHTML в другой XHTML (для локализации), инструмент, который мы можем использовать, это только XSLT, что является ограничением.Теперь, когда я пытаюсь скопировать весь код в целях тестирования, значения CDATA исходного XHTML теряются.Я использовал ниже тег cdata-section-elements = "script", но он комментирует весь CDATA и приводит к потере формата моего оригинального XHTML

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">

<xsl:output method="html" cdata-section-elements="script"
    doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" 
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>
<xsl:template match="div[@id='HEADER']">
    <div id="HEADER">
        <p>This is the <em>improved</em> header.</p>
    </div>

</xsl:template>
<xsl:template match="script|style">
    <xsl:copy>
        <xsl:apply-templates select="@*"/>
        <xsl:value-of disable-output-escaping="yes" select="concat('//&lt;![CDATA[&#xA;',text(),'&#xA;//]]&gt;')" />
    </xsl:copy>
</xsl:template>

<xsl:template match="*|@*" >
    <xsl:copy>
        <xsl:apply-templates select="@*"/>
        <xsl:apply-templates/>
    </xsl:copy>
</xsl:template>
</xsl:stylesheet>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...