xslt apply-templates 选择所有剩余的文本节点

2023-12-20

我有这个简化的 xml:

<?xml version="1.0" encoding="UTF-8"?>

<a>
    <b>
        <c>
            <d>1</d>
            <e>2</e>
        </c>
    </b>
    <f>
        <g>3</g>
    </f>
</a>

这是我尝试应用的 xslt:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

    <xsl:template match="a">
        <xsl:apply-templates />
    </xsl:template>

    <xsl:template match="b">
        <xsl:apply-templates />
    </xsl:template>

    <xsl:template match="c">
        <xsl:apply-templates />
    </xsl:template>

    <xsl:template match="d">

    </xsl:template>

</xsl:stylesheet>

当我应用此表时,我得到输出 2 3,它们是剩余的文本节点。我读过有关内置模板的信息,如果找不到匹配的模板,则会应用这些内置模板,但在这种情况下,它应该找到模板吗?

到底是怎么回事?

Edit:

在这种情况下,我希望看不到任何内容,因为模板是空的。但我得到了 2 3 。


当你这样做时<xsl:template match="d">,你告诉处理器忽略下面的所有节点<d>.

所有其他节点均按默认规则进行处理,包括text()一、就是打印文本。

这就是为什么您看到的是 23,而不是 1。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

xslt apply-templates 选择所有剩余的文本节点 的相关文章

随机推荐

  • 如何使用 pip 将 vcs 中的 Python 包可编辑安装到特定目录中?

    默认情况下 pip 安装editable打包成srcPython安装目录的子目录 我想使用 pip 支持从源代码控制中检出软件包 将版本控制中的软件包安装到我选择的目录中 例如 pip install e git https github
  • HATEOAS 中“_embedded”的含义和用法

    我正在使用 Spring Data REST 它支持 HATEOAS 我对这个范式很陌生 In GET来自我的 RESTful Web 服务的响应 我经常在名为的节点内收到结果 embedded 我在想 what is embedded节点
  • JPanel 在 JFrame 上没有改变

    我的想法是拥有一个 全局 JFrame 然后我可以根据需要添加 删除 JPanel 以创建一个流畅的应用程序 目前 当我尝试从第一个 JPanel 更改为第二个 JPanel 时 第二个 JPanel 将不会显示 我的代码如下 处理程序 运
  • 计算每个段落中的字符数

    我正在尝试找到一种方法来计算页面上每个段落中的字符数 我发现下面这个小片段可以计算每个段落中的单词数 效果很好 是否可以修改为也包括字符数 互联网上有很多解决方案 但它们只关注特定的字符串或文本区域 并且往往变得非常长和复杂 我不介意计数中
  • 使用默认值从 Mac 上的命令行修改 Plist

    有谁知道如何使用命令行修改 Plist 文件defaults 目前有两个词典URL types大批 我需要添加另一个 我尝试过的每个命令要么替换了整个字典 要么创建了一个名为的新数组URL types而不是编辑它 关于如何在默认情况下完成此
  • 如何检测数据集中的所有空列并删除\删除它们?

    正如标题中所建议的 我想删除所有空列 变量 其中所有记录均为空或等于 null 或 以减少以后执行的时间成本 详细场景 我有一个包含 1000 列的 dataset 其中一些 很多是空的 现在我想创建一个新的数据集 其中需要在先前数据集的某
  • 如何存储由 std::unique_ptr 给出的抽象类的对象向量?

    我有一个循环 其中我使用一个函数将 std unique ptr 返回到抽象类的对象 我想通过push back将这些对象存储到std vector中 但由于对象是抽象类型 我收到以下错误 error cannot allocate an
  • 防止 Perl 中的循环引用内存泄漏

    我最近问了一个question https stackoverflow com questions 31971633 perl memory management when overwriting objects关于 Perl 中的覆盖对象
  • 如何在asp.net core中将ViewDataDictionary与Html.Partial一起使用?

    我的案例是这样的 Model public class Book public string Id get set public string Name get set public class Comment public string
  • 如何通过spark REST API获取所有作业状态?

    我正在使用 Spark 1 5 1 我想通过 REST API 检索所有作业状态 我使用得到正确的结果 api v1 applications appId 但在找工作的同时 api v1 applications appId jobs得到
  • 金字塔和变色龙中的ajax小部件

    我希望能够在服务器端轻松创建由变色龙和金字塔支持的ajax 小部件 Pyramid 是否提供任何可以使编写小部件变得容易的管道代码 我当前的方法是我有一个使用 home pt 作为渲染器的主视图 home pt 使用宏 base pt 定义
  • 如何在 CUDA 中进行原子加载

    我的问题是如何在 CUDA 中进行原子加载 原子交换可以模拟原子存储 原子加载是否可以以类似的方式廉价地模拟 我可以使用带有 0 的原子添加来自动加载内容 但我认为它很昂贵 因为它执行原子读取 修改 写入而不是仅读取 除了使用volatil
  • android-support-v7-mediarouter 中的 styles.xml 错误

    以下是 android support v7 mediarouter 的 styles xml 文件
  • 如何在多个文件中导入常量

    我有一个包含许多模块的包 每个模块都使用我在每个文件中独立定义的常量 然而 所有这些常数必须彼此一致 所以我尝试在单个文件中定义它们并将其导入每个文件中 当我运行它时 出现未找到常量的错误 他们是让许多其他人导入单个文件并包含常量的干净方法
  • 在 JavaScript 中将 DOM 节点或文档转换为 XML

    假设您在 JavaScript 中收到一个 DOM 元素或文档 例如 window document 您如何将其转换为有效的 XML 更具体地说 对于我的示例 我有一个显示 SVG 的网页 该 SVG 有大量 JavaScript 来允许交
  • Python、tkinter 和导入的类:记录未捕获的异常

    我正在编写一些想要与我的团队共享的脚本 因此我一直在构建一堆日志记录 以便在他们在某个地方遇到崩溃时更容易进行调试 从那时起我就可以看到到底发生了什么崩溃 一般记录到文件没有问题 但我有一个未捕获的异常问题 我尝试了各种方法来让它工作 例如
  • 程序集中的类顺序

    什么决定了程序集中类的顺序 还有 有办法改变它吗 附加信息 您可以自己通过反射检查顺序 也可以使用ILDASM之类的工具 禁用字母排序 然后您也会得到顺序 顺序似乎是由编译器以一种奇怪的方式确定的 我已经尝试了一些事情 例如重命名类 顺序保
  • cakephp 中在哪里定义常量

    我应该在哪个文件中定义特定于我的 cakephp 应用程序的应用程序范围常量 我在 app config bootstrap php 中定义它们 引导 CakePHP 如果您有任何其他配置需求 请使用 CakePHP 的引导文件 该文件位于
  • JBoss 4.2.2 节点开始集群然后互相怀疑

    我有一个在现有 Red Hat 服务器上运行 JBoss 4 2 2 的网站 我正在设置第二台服务器 以便拥有一对集群 然后将进行负载平衡 但是 我无法让它们成功集群 现有服务器启动 JBoss run sh c default b 0 0
  • xslt apply-templates 选择所有剩余的文本节点

    我有这个简化的 xml a b b a