【发布时间】:2010-02-11 14:29:50
【问题描述】:
如何选择 xml 节点及其所有子节点的第一个兄弟节点并对其应用一些转换?到目前为止,我只成功选择了第一个兄弟节点和第一个兄弟节点(没有子节点)或 xml 节点之后的所有内容。
假设我们有这样的 xhtml:
<div class="chapter">Chapter <span class="number">1.1</span> Lorum ipsum</div>
<h2 class="article">Article <span class="number">1.</span> Lorum ipsum</h2>
<p>Lorum ipsum</p>
而我们追求的结果是这样的xml:
<chapter>
<heading>
<label>Chapter</chapter>
<number>1.1</number>
<title>Lorum ipsum</title>
</heading>
<article>
<heading>
<label>Article</chapter>
<number>1.</number>
<title>Lorum ipsum</title>
</heading>
<par>Lorum ipsum</par>
</article>
</chapter>
我的猜测是我需要做一些正则表达式的魔法来获得正确的标签和标题标签,但如果这也可以使用普通的 xslt 来完成,那就太好了。
【问题讨论】:
-
在输入中进行合理/正确的嵌套现在会有很多的帮助。
<div class="chapter">不包含属于它的所有内容是否有更深层次的原因? -
我知道,主要原因是它在客户端部分更容易,这是一件好事(tm);)但是,这种方式有多容易,这里有一些内部辩论,必须承认我更喜欢更好的嵌套。
-
not 如何在客户端更轻松地将一堆逻辑单元包装在自己的 div 中?这可能会破坏什么?
-
客户端作为实际提供原始输入的人。由于他们是高薪律师,他们在所见即所得编辑器中所做的工作越少越好。虽然如前所述,我对这种方式有多容易持怀疑态度......