Xml 不在运动列表中的所有学生的xslt输出
这是我的档案: example.xmlXml 不在运动列表中的所有学生的xslt输出,xml,xslt,match,contains,exact-match,Xml,Xslt,Match,Contains,Exact Match,这是我的档案: example.xml <?xml version="1.0" encoding="UTF-8"?> <bsp> <numbers> <string>one</string> <string>two</string> <string>three</string> <string>one</s
<?xml version="1.0" encoding="UTF-8"?>
<bsp>
<numbers>
<string>one</string>
<string>two</string>
<string>three</string>
<string>one</string>
<string>two</string>
<string>four</string>
<string>fife</string>
</numbers>
</bsp>
<?xml version="1.0" encoding="UTF-8"?>
<bsp>
<first>
<team>
<member>one</member>
<member>three</member>
</team>
</first>
<second>
<mems>
<member>four</member>
<member>five</member>
</mems>
</second>
</bsp>
一
二
三
一
二
四
法夫
complete.xml
<?xml version="1.0" encoding="UTF-8"?>
<bsp>
<numbers>
<string>one</string>
<string>two</string>
<string>three</string>
<string>one</string>
<string>two</string>
<string>four</string>
<string>fife</string>
</numbers>
</bsp>
<?xml version="1.0" encoding="UTF-8"?>
<bsp>
<first>
<team>
<member>one</member>
<member>three</member>
</team>
</first>
<second>
<mems>
<member>four</member>
<member>five</member>
</mems>
</second>
</bsp>
一
三
四
5
输出
<string>two</pupil>
<string>two</pupil>
<string>fife</string>
所有未完成的(成员和*stringÜ值的精确匹配)。如何在XSLT2.0中使用一个大文件来实现这一点
首先,我们需要访问这些文件
预期产出
<string>two</pupil>
<string>two</pupil>
<string>fife</string>
2
二
法夫
建议采用哪些方法来实现这一点?
编辑
现在的示例更抽象了…如果您正在处理studiors.xml,那么以下应该可以
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml"/>
<xsl:template match="/">
<xsl:for-each select="school">
<!-- to insert header for the school -->
<xsl:for-each select="class">
<!-- to insert header for the class -->
<xsl:for-each select="pupil">
<xsl:if test="not(document('sports.xml')//member = .)">
<xsl:copy-of select="."/>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
其中:
)-只获取不匹配的对象不(
来自此文件文档('sports.xml')
在//成员
中的任何深度
谁与我们正在处理的学生匹配=)