以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  [求助]关于XSLT分解文档的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=89908)


--  作者:hormones
--  发布时间:3/26/2011 7:53:00 PM

--  [求助]关于XSLT分解文档的问题
<?xml version="1.0" encoding="UTF-8"?>
<tests>
    <testrun run="test1">
        <test name="foo" pass="true" />
        <test name="bar" pass="true" />
        <test name="baz" pass="true" />
    </testrun>
    <testrun run="test2">
        <test name="foo" pass="true" />
        <test name="bar" pass="false" />
        <test name="baz" pass="false" />
    </testrun>
    <testrun run="test3">
        <test name="foo" pass="false" />
        <test name="bar" pass="true" />
        <test name="baz" pass="false" />
    </testrun>
</tests>
我想利用XSLT把这个XML文档分解为三个XML文档(对应三个testrun),每个文档分别显示testrun里面的内容
哪位高人给指点一下 谢谢
--  作者:jasonxyk
--  发布时间:3/28/2011 11:11:00 PM

--  
好久都没来过了,要给自己充充电了
--  作者:jj_long
--  发布时间:4/10/2011 8:57:00 AM

--  
XSLT 2.0中设计了xsl:result-document元素用于多文件输出:

<?xml version='1.0'?>

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="xml"/>

<xsl:template match="testrun">
 <xsl:result-document method="xml" href="{concat(@run,'.xml')}">
  <xsl:copy-of select="."/>
 </xsl:result-document>
</xsl:template>

</xsl:stylesheet>


注:
    你需要一个XSLT 2.0的引擎运行以上代码。
    如果你使用的是XSLT 1.0,则需要查看你使用的XSLT引擎是否提供多文件输出的扩展。并在你的代码中使用此扩展。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
8,085.938ms