从XSL转换发出无效的XML

从XSL转换发出无效的XML,xml,xslt,Xml,Xslt,出于某种原因,我想从XSL转换中输出一些无效或至少部分有效的XML 例如,我想打印出来 <openTag attribute="yes"> <openTag2> 没有模板中的任何结束标记 我试过: <xsl:template match="//MyElement"> <xsl:text disable-output-escaping="yes"> <xsl:value-of select=<book xmlns="

出于某种原因,我想从XSL转换中输出一些无效或至少部分有效的XML

例如,我想打印出来

<openTag attribute="yes"> <openTag2>
没有模板中的任何结束标记

我试过:

<xsl:template match="//MyElement">

    <xsl:text disable-output-escaping="yes">
     <xsl:value-of select=<book xmlns="<openTag attribute="yes"> <openTag2>"/>
    </xsl:text>

    <xsl:apply-templates select="node()"/>

</xsl:template>

但是,这会导致一个错误,即select语句不能包含用于XML到XML转换的XSLT。如果要生成非XML,请使用不同的技术

实际上,您可以使用文本输出方法生成任意文本输出文件。例如,您需要手工编写伪标记

<xsl:text>&lt;openTag&gt;....&lt;/openTag2&gt;</xsl:text>

这是一个很好的例子。请提供更完整的问题背景、完整的XML源代码、完整的XSLT脚本和完整的预期结果。我编辑了这个问题以提供更多的背景信息。希望这有帮助。我想最棘手的部分是XSLT转换的结果将不是有效的XML。1您很困惑。正如@Parfait所指出的,你的计划被误导了,你的问题仍然是一个XY问题。只是不要输出格式不好的XML——这样可以为自己和其他人省去很多麻烦。在我看来,这是一个更好的答案,我该怎么做呢?如果人们发明了类似XML的格式,那么就有一些生成类似XML格式的东西的用例:特别是像原始ASP/JSP/PHP/Freemarker这样的即席模板语言。尽管我在这篇文章中没有认出任何一个!好的,如果我可以停止在OP的目的上畏缩不前,文档将被进一步处理,以添加关闭元素[SiC]足够长的时间来考虑一些未来的读者可能有合法的需要输出伪标签,那么我将告诉你们这一点。
<openTag attribute="Text"> <openTag2>
<xsl:text>&lt;openTag&gt;....&lt;/openTag2&gt;</xsl:text>