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

如何使用XSLT提取源文档exhibit节点path属性生成目标XML文档

修正后的XSLT代码

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:opf="http://www.idpf.org/2007/opf" exclude-result-prefixes="xsl">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

    <xsl:template match="/">
        <package xmlns="http://www.idpf.org/2007/opf" unique-identifier="pub-id" version="3.0">
            <manifest>
                <!-- 遍历所有exhibit节点生成对应item -->
                <xsl:for-each select="//exhibit">
                    <item href="{@path}" />
                </xsl:for-each>
            </manifest>
        </package>
    </xsl:template>

</xsl:stylesheet>

核心调整说明

  1. 原代码的静态节点(package、manifest)放在了模板定义外部,不符合XSLT语法规范,调整后全部放在根节点匹配模板内部
  2. 替换原有的全量复制chapter节点逻辑,使用xsl:for-each遍历所有exhibit节点
  3. 使用XSLT属性值模板语法{@path},直接提取exhibit的path属性值填充到item的href属性中

如果你只需要保留第二个chapter下的exhibit(和你给出的示例输出一致),将select="//exhibit"改为select="//chapter[2]/exhibit"即可跳过第一个chapter下的节点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 14:09:02