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

时间:2013-07-18 18:41:23

标签: xml xslt msxsl

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

我已经尽了最大努力并且查了几个小时的问题,但仍然没有运气。如果有人能够帮助我,那就太棒了。

1 个答案:

答案 0 :(得分:0)

您可以输出新的xml-stylesheet处理指令。

示例...

XML输入

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

XSLT 1.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>

XML输出

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