我导入了这个transcript.xml,因为我有xsl
的另一个源xmltranscript.xml
<?xml version="1.0" encoding="UTF-8"?>
<t:transcript
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:t='http://namespace.profile.com/ns/transcript'
xsi:schemaLocation='http://namespace.profile.com/ns/transcript transcript.xsd'>
<t:studentName>Eva</t:studentName>
<t:courses>
<t:course>
<t:code>IK2210</t:code>
<t:credits>3</t:credits>
<t:grade>A</t:grade>
</t:course>
<t:course>
<t:code>IB2210</t:code>
<t:credits>3</t:credits>
<t:grade>A</t:grade>
</t:course>
<t:course>
<t:code>IB2210</t:code>
<t:credits>1</t:credits>
<t:grade>C</t:grade>
</t:course>
<t:course>
<t:code>ID1234</t:code>
<t:credits>2</t:credits>
<t:grade>B</t:grade>
</t:course>
</t:courses>
</t:transcript>
这里是xsl
代码的一部分<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:t='http://namespace.profile.com/ns/transcript'>
<xsl:output method="xml" />
<xsl:variable name="transcript" select="document('transcript.xml')/transcript"/>
以下都不是
<xsl:value-of select="$transcript/t:courses/t:course"/>
<xsl:value-of select="$transcript/courses/course"/>
<xsl:value-of select="$transcript/courses/t:course"/>
我该如何调用变量的元素? 谢谢!
答案 0 :(得分:2)
您忘记将名称空间前缀添加到变量$transcript
:
<xsl:variable name="transcript" select="document('transcript.xml')/t:transcript"/>