Xml 转换后声明新的xsl样式表?

Xml 转换后声明新的xsl样式表?,xml,xslt,msxsl,Xml,Xslt,Msxsl,现在,我的所有产品都有一个xml数据库,但我希望将每个产品单独提取到它自己的xml文件中。现在我可以做到这一点,但我遇到的问题是,我需要在转换后声明一个新的xsl样式表 我已经尽了最大的努力,把问题看了好几个小时,但还是没有运气。如果有人能帮助我,那就太好了。您可以输出一条新的xml样式表处理指令 例如 XML输入 <?xml-stylesheet type="text/xsl" href="orig.xsl"?> <doc> <test/> <

现在,我的所有产品都有一个xml数据库,但我希望将每个产品单独提取到它自己的xml文件中。现在我可以做到这一点,但我遇到的问题是,我需要在转换后声明一个新的xsl样式表


我已经尽了最大的努力,把问题看了好几个小时,但还是没有运气。如果有人能帮助我,那就太好了。

您可以输出一条新的xml样式表处理指令

例如

XML输入

<?xml-stylesheet type="text/xsl" href="orig.xsl"?>
<doc>
    <test/>
</doc>
<?xml-stylesheet type="text/xsl" href="new.xsl"?>
<doc>
    <test/>
</doc>

XSLT1.0

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output indent="yes" />
    <xsl:strip-space elements="*"/>

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="processing-instruction()[name()='xml-stylesheet']">
        <xsl:processing-instruction name="xml-stylesheet">
            <xsl:text> type="text/xsl" href="new.xsl"</xsl:text>
        </xsl:processing-instruction>       
    </xsl:template>

</xsl:stylesheet>

type=“text/xsl”href=“new.xsl”
XML输出

<?xml-stylesheet type="text/xsl" href="orig.xsl"?>
<doc>
    <test/>
</doc>
<?xml-stylesheet type="text/xsl" href="new.xsl"?>
<doc>
    <test/>
</doc>

是的,谢谢,这正是我需要的。我对xml和xsl比较陌生,不知道xsl:processing指令