我在我的XML文件中有一個實體,並使用樣式表進行變換,但無法變換xml文件中使用的實體。瀏覽器將錯誤顯示爲未定義的實體。我想用xslt來轉換它。XSLT:在XML中使用的變換實體
我想轉換實體和ampcopy;
請幫助我!
XML文件:
<article>
<main>
<content>© by StactOverFlow</content>
</main>
</article>
我在我的XML文件中有一個實體,並使用樣式表進行變換,但無法變換xml文件中使用的實體。瀏覽器將錯誤顯示爲未定義的實體。我想用xslt來轉換它。XSLT:在XML中使用的變換實體
我想轉換實體和ampcopy;
請幫助我!
XML文件:
<article>
<main>
<content>© by StactOverFlow</content>
</main>
</article>
我試過,但它不工作,其實我想它添加在XSLT不是XML!
和
瀏覽器顯示該錯誤作爲未定義的實體。我想用xslt來轉換它。
如果你的XML文檔中包含的實體像©
,和這些實體的定義是不能從源文件,那麼你的運氣了,因爲這使得你的XML文檔無效。
唯一命名實體可以在沒有在DTD中使用(內聯或引用)是<
,>
,&
,'
和"
。任何其他實體必須是數字實體引用,如©
,或者必須在DTD部分中定義。
XSLT(無論在瀏覽器還是脫機中使用)在拒絕XML輸入文檔時是正確的。如果你想防止這種情況發生,你將需要用另一種工具來修復你的無效XML,這種工具不是將XML文檔作爲XML(因爲它不是)而是作爲文本處理。你可以簡單地用這種處理添加DTD定義,即添加線條像這樣的DTD:
<!ENTITY copy "©">
或搜索命名實體並替換它們爲各自的Unicode字符或數字實體(從XML的角度來看,只要編碼是正確的,兩者之間沒有區別)。
你的答案可能在這裏找到? http://stackoverflow.com/questions/6508860/how-do-i-define-html-entity-references-inside-a-valid-xml-document – Luke
我試過,但它不工作,實際上我想添加它xslt不在xml中! – dasanb
你試過什麼?用'©'代替'©',還是在doctype中定義實體? – Luke