【发布时间】:2013-11-06 14:19:01
【问题描述】:
如果标签中有 ul 或 ol 之类的子元素,我如何使用 xhtml 和 xslt 将内容包装在标签内?你可以看例子来理解我的意思。
例子:
<ul> // Input file
...
<li></li>
<li>text1 <div>text2</div></li>
<li>text3 <div>text4</div> text5 </li>
<li>text6 <ul><li>text7</li></ul> </li>
<li><div>text8 <ul><li>text9</li></ul></div></li>
<li>
...
<ol>...</ol>
...
</li>
...
</ul>
输出文件:
<ul> // Output file
...
<li></li>
<li>text1 <div>text2</div></li>
<li>text3 <div>text4</div> text5 </li>
<li><div>text6 <ul><li>text7</li></ul></div></li>
<li><div>text8 <ul><li>text9</li></ul></div></li>
<li><div>
...
<ol>...</ol>
...
</div></li>
...
</ul>
【问题讨论】:
-
如果您使用 XSLT,您能否提供一个示例输入 xml sn-p?
-
我看到有两个地方你用
<div>包裹了一些内容,但还有其他类似的地方你没有。你能解释一下你如何知道你想要包裹<div>的内容的规则吗?这将使某人能够就使用哪种 XSLT 模板向您提供建议。 -
@LarsH 如果 li 元素有子 ul 或 ol 并且它的内容没有被包裹在 div 中然后包裹否则只是复制内容
-
@PhilVallone
<?xml-stylesheet href="list.xsl" type="text/xsl"?> <html> <body> <ul> <li></li> <li>text1 <div>text2</div></li> <li>text3 <div>text4</div> text5 </li> <li>text6(123) <ul><li>text7</li></ul> </li> <li><div>text8 <ul><li>text9</li></ul></div></li> <li>(123) <ol> <li>элемент нумерованного списка</li> <li>элемент нумерованного списка</li> </ol> </li> </ul> </body> </html> -
见大卫卡莱尔回答...