我对xslt(2.0)相当新,并且遇到一些棘手问题。基本上我有一个格式不好的HTML文件,如下所示:与使用xslt形成严重的html的棘手问题
<html>
<body>
<p> text 1 </p>
<div> <p> text 2</p> </div>
<p> Here is a list
<ul>
<ol>
<li> ListItem1 </li>
<li> ListItem1 </li>
</ol>
<dl>
<li> dl item </li>
<li> dl item2 </li>
</dl>
</ul>
<div>
<p> I was here</p>
</div>
</p>
</body>
</html>
而我试图把它放入一个很好的格式化XML文件。在我的xslt文件中,我递归地检查一个p或div的所有子节点是否是其他p或div的,并且只是提升它们,另外我将它们用作独立段落。我扩展了这个想法,以便如果带有子列表的p或div正确显示,但不提升列表子级。
,我有一个问题是输出XML我得到的是以下
<?xml version="1.0" encoding="utf-8"?><html>
<body>
<p> text 1 </p>
<p> text 2</p>
Here is a list
<ul>
<ol>
<li> ListItem1 </li>
<li> ListItem1 </li>
</ol>
<dl>
<li> dl item </li>
<li> dl item2 </li>
</dl>
</ul>
<p> I was here</p>
</body>
</html>
“这里是一个列表”需要在段落标记呢!我疯了试图解决这个问题... 任何输入/链接将不胜感激。
这不是一个回答你的问题,但HTML Tidy在处理这类问题方面做得非常出色,无需您大惊小怪。如果您需要XSLT建议,您可能需要发布代码的相关部分。 – 2010-05-21 23:43:42
好问题(+1)。看到我的答案是一个简短但完整的解决方案。 :) – 2010-05-22 01:03:29