1

我已经导入了这个 transcript.xml,因为我有另一个用于 xsl 的源 xml

成绩单.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"/>

我应该如何调用变量的元素?谢谢!

4

1 回答 1

2

您忘记将命名空间前缀添加到您的变量$transcript

<xsl:variable name="transcript" select="document('transcript.xml')/t:transcript"/> 
于 2013-01-27T22:02:32.970 回答