Is there a way to generate the special tags <?php ?> or <%= %> directly during the XSL transform?
<?php ?>
не является «специальным тегом» - это стандартный тип узла в модели данных XPath - инструкция обработки .
есть также инструкция XSLT для создания PI:
<xsl:processing-instruction>
Наконец, вы можете создать текст типа "<% =%>", если вы используете метод text output :
<xsl:output method="text"/>
, но в методе вывода text вы теряете любой узел - вы должны вводить каждый символ вывода в виде текста.
Итак, немного удобнее использовать метод вывода xml по умолчанию и атрибут (не обязательно!) disable-output-escaping="yes"
, если это поддерживается вашим процессором XSLT.
Вот пример :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:processing-instruction name="php"/>
<xsl:text disable-output-escaping="yes">
<% Hello World! %>
</xsl:text>
</xsl:template>
</xsl:stylesheet>
применение этого преобразования к любому XML-документу (не используется) приводит к :
<?php?>
<% Hello World! %>