【发布时间】:2012-06-01 21:32:46
【问题描述】:
我是 XSL 的新手,无法找到有关此问题的信息。这仅适用于 XSLT 1.0,最终将从 XSLTproc 运行。
这是一个 XML 示例
<root>
<node>
<data />
<child>
<grandchild />
</child>
<step-child action="removenode" />
</node>
<node>
<data />
<step-child action="removenode" />
</node>
</root>
基本上,我想保留所有内容,除了:
- 删除任何没有
<child>的节点 - 删除所有
<step-child>
我只能弄清楚如何删除不需要的节点,但即使这样也是值得怀疑的。我非常感谢您对此提供的任何帮助。
【问题讨论】:
-
我试图摆脱某些教授向他或她的学生建议他们使用 SO 作为免费完成家庭作业的一种方式的感觉。这些绝对不是现实世界的问题,而且非常简单。恐怕通过为这些人做功课,我们剥夺了他们自己或通过浏览可用资源来学习 XSLT 的过程。至少,我们不应该提供功能齐全的 XSLT 程序,而应该只是为它们提供原理,或者将它们指向可以提供的地方。
-
stackoverflow.com/questions/321860/… 和许多其他人的副本。
-
我非常同情 torazaburo:我总是喜欢专注于帮助提问者克服特定的困难,以便他们自己解决问题,而不是给他们一个有效的答案。很明显,TechZilla 和许多其他人一样,正在尝试跳过学习新语言的阶段:您不是从尝试解决特定问题开始,而是从广泛阅读该语言的性质及其一般方法开始解决问题。
-
@torazaburo:绝不是重复的问题,元素不是节点。我实际上已经可以用我已经读过的内容来计算答案。我已经阅读了 XSLT 通常是如何使用的,将特定值放在模板位置。这不是广泛记录的问题类型,甚至在任何官方文档答案中都没有。我什至知道如何删除特定节点,但这是一个学习过程,这就是我发布问题的原因。这就是整个网站的用途,不是吗?
-
@MichaelKay:顺便说一句,从例子中学习,一直是我学习最快的方法。我以同样的方式学习了 BASIC、XHTML 和 XML。我也经常阅读官方文档,阅读一些教程,但通常还不够。它就像大多数 XSLT 示例都是同一类型,这与我正在做的非常不同。