我對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