当我试图运行xml文件时,浏览器显示消息错误加载样式表:失败分析XSLT样式表

时间:2015-02-17 16:46:07

标签: xml xslt

正如我在上面的标题中所描述的,我不知道什么是错的,为什么浏览器(firefox,IE)向我显示这条消息(错误加载样式表:失败分析XSLT样式表)。我将在xml文件和xsl文件下面发布。

exam.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="exam.xsl"?>
<Exam>
    <Title>XML_Master_Exam</Title>
    <Information>
        <ExamName ExamNumber="I10-001">XML Master:Basic</ExamName>
        <ExamTime>60_Minutes</ExamTime>
        <Qeustions>50</Qeustions>
        <MinimumPass>at_least_70% correct</MinimumPass>
    </Information>
    <Information>
        <ExamName ExamNumber="I10-002">XML Master:Professional</ExamName>
        <ExamTime>90_Minutes</ExamTime>
        <Qeustions>40</Qeustions>
        <MinimumPass>at_least_60% correct</MinimumPass>
    </Information>
</Exam>

exam.xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XMLTransform">
<xsl:template match="/">
    <test_info>
        <xsl:apply-templates select="//MinimumPass"/>
    </test_info>
</xsl:template>

<xsl:template match="MinimumPass">
    <test_no>
        <xsl:value-of select="../ExamName/@ExamNumber"/>
    </test_no>
</xsl:template>
</xsl:transform>

1 个答案:

答案 0 :(得分:2)

xsl的命名空间错误。您需要使用http://www.w3.org/1999/XSL/Transform

<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
    <test_info>
        <xsl:apply-templates select="//MinimumPass"/>
    </test_info>
</xsl:template>

<xsl:template match="MinimumPass">
    <test_no>
        <xsl:value-of select="../ExamName/@ExamNumber"/>
    </test_no>
</xsl:template>
</xsl:transform>