You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XSLT无法读取MODS XML字段值仅显示表格行问题求助

你的代码存在两处核心错误,修改后即可正常展示字段:

  1. 未声明对应命名空间:MODS XML自带默认命名空间http://www.loc.gov/mods/v3,XSLT中没有声明对应前缀的情况下,直接写标签名无法匹配到任何节点。
  2. XPath路径不完整:你写的select表达式直接取根节点下的子节点,但实际目标字段都有多层嵌套结构,需要补全完整层级路径。

修改后的完整XSLT代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
                xmlns:mods="http://www.loc.gov/mods/v3"
                exclude-result-prefixes="mods"
                version="1.0">
<xsl:output method="html"/>
<xsl:template match="/">
     <html>
    <head>
      <title>MODS Record</title>
    </head>
    <body>
      <h2 align="center">MODS Record</h2>
      <table align="center" border="1">
        <tr bgcolor="#D6CCA9">
          <th>Author</th>
          <th>Title</th>
          <th>Publisher</th>
          <th>Edition</th>
          <th>Publication Date</th>
        </tr>
          <tr>
            <td><xsl:value-of select="mods:mods/mods:name/mods:namePart/mods:given" /> <xsl:value-of select="mods:mods/mods:name/mods:namePart/mods:family" /></td>
            <td><xsl:value-of select="mods:mods/mods:titleInfo/mods:title" /></td>
            <td><xsl:value-of select="mods:mods/mods:originInfo/mods:publisher" /></td>
            <td><xsl:value-of select="mods:mods/mods:originInfo/mods:edition" /></td>
            <td><xsl:value-of select="mods:mods/mods:originInfo/mods:dateIssued" /></td>
          </tr>
      </table>
    </body>
      </html>
</xsl:template>
</xsl:stylesheet>

运行修改后的代码,即可正常显示所有指定的MODS字段内容。

内容的提问来源于stack exchange,提问作者ACS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 20:00:01