私はからのコードを試してみてくださいHow can I use XSLT to assemble an XML HierarchyXSLTを使用して2つのXMLを結合するにはどうすればよいですか?
a.xml:
<Xml>
<Classes>
<Class Name="BIOLOGY101" ClassId="11"/>
<Class Name="PHYSICS101" ClassId="13"/>
<Class Name="CALCULUS101" ClassId="17"/>
<Class Name="BIOLOGY101" ClassId="19"/>
</Classes>
</Xml>
b.xml:
<Xml>
<Students>
<Student Name="Bob Johnson" ClassId="11"/>
<Student Name="Bob Johnson" ClassId="17"/>
<Student Name="Bob Johnson" ClassId="19"/>
<Student Name="Joe Jackson" ClassId="11"/>
<Student Name="Joe Jackson" ClassId="13"/>
<Student Name="Joe Jackson" ClassId="17"/>
<Student Name="Rick Robertson" ClassId="13"/>
<Student Name="Rick Robertson" ClassId="17"/>
<Student Name="Rick Robertson" ClassId="19"/>
</Students>
</Xml>
スタイルシート(merge.xsl):
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Class">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<!-- Apply <Student> elements from b.xml -->
<xsl:apply-templates
select="document('b.xml')/Xml/Students/Student
[@ClassId = current()/@ClassId]"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Student">
<xsl:copy>
<xsl:apply-templates select="@Name"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
希望の出力:
<?xml version="1.0"?>
<Xml>
<Classes>
<Class Name="BIOLOGY101" ClassId="11">
<Student Name="Bob Johnson"/>
<Student Name="Joe Jackson"/>
</Class>
<Class Name="PHYSICS101" ClassId="13">
<Student Name="Joe Jackson"/>
<Student Name="Rick Robertson"/>
</Class>
<Class Name="CALCULUS101" ClassId="17">
<Student Name="Bob Johnson"/>
<Student Name="Joe Jackson"/>
<Student Name="Rick Robertson"/>
</Class>
<Class Name="BIOLOGY101" ClassId="19">
<Student Name="Bob Johnson"/>
<Student Name="Rick Robertson"/>
</Class>
</Classes>
</Xml>
が、私はa.xmlを起動するとき、私は..結果は空白になって私のブラウザのMozillaで何を示す 何を取得。.. (注:ヘッダa.xmlに私はこのコードを書く:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="merge.xsl"?>
誰かが私を喜ばせることができますか? ありがとう..
を添付
は、それが今来ていますか? – nawazlj