Я использую XPATH 1.0 и XSLT 1.0. Мне интересно, если следующий кодCDATA замедляет преобразование xslt в XSLT 1.0
<xsl:choose>
<xsl:when test="@name='some'"><![CDATA[one]]></xsl:when>
<xsl:otherwise><![CDATA[two]]></xsl:otherwise>
</xsl:choose>
имеет значение в случае исполнения с
<xsl:choose>
<xsl:when test="@name='some'"><xsl:value-of select="'one'"/></xsl:when>
<xsl:otherwise><xsl:value-of select="'two'"/></xsl:otherwise>
</xsl:choose>
, если мы знаем, что должно быть не необходимости для некоторых специальных символов в избранных? Полезно ли использовать <![CDATA[one]]>
. Или его использование уменьшает время компиляции xslt, или его легко читать?
Я не знаю, о производительности, но я хотел бы использовать 'XSL: Text' для вывода буквального текста. Или, если у вас нет пробелов, о которых нужно беспокоиться, просто напишите литеральный текст, например. ' one'. –
Зачем вам нужно использовать CDATA все, почему вы не можете использовать 'xsl: when test =" @ name = 'some' "> one'? Что касается производительности, просто измерить, XSLT-процессор вообще не имеет отношения к CDATA, он будет разбираться в текстовом узле с помощью основного синтаксического анализатора XML. Xalan достаточно умен, чтобы оптимизировать константу ' ' Я не знаю. –
Никогда не нужно использовать разделы CDATA вокруг текста, который не содержит специальных символов, таких как '<' и '&'. Но вряд ли это наложит больше, чем наносекунду или две на стоимость обработки, и это будет одноразовая стоимость во время составления таблицы стилей. –