Я обрабатываю следующий (пример) XML:
<?xml version="1.0"?>
<root>& & &</root>
через следующий (пример) XSL:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0">
<xsl:output
method="html"
version="4.0"
encoding="UTF-8"
omit-xml-declaration="yes"
/>
<xsl:template match="/">
<input value="{/root}" />
</xsl:template>
</xsl:stylesheet>
с использованием Python и lxml
(libxslt-1.1.17
), и я получаю следующий вывод:
<input value="&amp; &amp; &amp;" />
Я понимаю, что могу обойти это с помощью следующего шаблона:
<xsl:template match="/">
<input>
<xsl:attribute name="value">
<xsl:value-of
select="/root"
disable-output-escaping="yes"
/>
</xsl:attribute>
</input>
</xsl:template>
, но это лот набора текста.Работая с XSL в PHP, я не помню, чтобы когда-либо использовался этот обходной путь для удаления кавычек сущностей XML с помощью краткой формы value-of
.Есть ли короткое исправление для этого, поэтому нам не нужно вводить все вышеперечисленное?