xml - 使用 XSL 进行解析

标签 xml parsing xslt xpath stylesheet

Firefox 给出以下错误: 加载样式表时出错:解析 XSLT 样式表失败。

在谷歌浏览器中它显示一个空白页面。

这是我的 .xsl 的代码

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

<html>
    <head>
        <title>Curriculum Vitae</title>

        <link rel="stylesheet" type="text/css" href="css/myStyle.css"/>

        <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
        <script type="text/javascript" src="js/script.js"></script>
    </head>

<body>
    <h1>Curriculum Vitae: Matthew Stanley Klein</h1>
    <br/>

    <ul id="nav">
        <li><a href="#">General Information</a></li>
        <li><a href="#">Work Experience</a></li>
        <li><a href="#">Miscellaneous</a></li>
        <li><a href="#">References</a></li>
        <li><a href="#">Showreel</a></li>
    </ul>

    <xsl:for-each select="references/company">
        <xsl:choose>
            <xsl:when test="name != ''">
                <dl>
                    <dt><xsl:value-of select="name" /></dt>
                    <dd>
                        <dl>
                            <dt>Name of Person: <xsl:value-of select="person" /></dt>
                            <dd>
                                <xsl:when test="cellphone != ''">
                                    Cellphone:  <xsl:value-of select="cellphone" />
                                </xsl:when>

                                <xsl:when test="work != ''">
                                    <br/>
                                    work: <xsl:value-of select="work" />
                                </xsl:when>

                                <xsl:when test="email != ''">
                                    <br/>
                                    email: <xsl:value-of select="email" />
                                </xsl:when>
                            </dd>
                        </dl>
                    </dd>
                </dl>
            </xsl:when>
            <hr/>
        </xsl:choose>
    </xsl:for-each>
</body>
</html>

</xsl:template>

</xsl:stylesheet>

是什么导致了这个错误?

最佳答案

  1. xsl:when parent 应该是xsl:choose .
  2. xsl:choose应该只包含 xsl:when (不是 <hr/>)

关于xml - 使用 XSL 进行解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9161728/

相关文章:

java - xpath 不返回任何值

c - 如何在c程序中编译expat xml解析?以及在哪里安装 expat。 cygwin编译器中文件放置的位置

xml - 如何将纯文本转换为xsl

xslt - 如何向所有子节点插入属性

c++ - 具有 SOAP 请求/响应支持的最佳 XML 解析器

c# - Java XML XPath 解析器到 C#

javascript - jQuery:过滤/获取/选择 DOM 元素的唯一内容

c - 在C中解析 "String"(字符数组)为字符串,int和int

Python - 解析带有自定义价格单位的字符串

xml - XSLT 如何在模板内的元素中添加命名空间前缀