我必須編寫一個XSLT將XML文件轉換爲另一個XML文件。原始輸入文件必須對DTD有效。在轉換之前,XSLT是否可以使用DTD驗證輸入xml文件?如果輸入文件不符合DTD,也會拒絕輸入文件。XSLT轉換前的DTD驗證
另外,我將運行一個工具如Xxygen XML Editor中的XSLT。
在此先感謝。 JK
我必須編寫一個XSLT將XML文件轉換爲另一個XML文件。原始輸入文件必須對DTD有效。在轉換之前,XSLT是否可以使用DTD驗證輸入xml文件?如果輸入文件不符合DTD,也會拒絕輸入文件。XSLT轉換前的DTD驗證
另外,我將運行一個工具如Xxygen XML Editor中的XSLT。
在此先感謝。 JK
您必須通過您的XSLT處理器執行此操作。我認爲在XSLT本身中沒有辦法做到這一點。
在oXygen中,您可以在首選項中轉到「XML/XSLT-FO-XQuery/XSLT/Saxon/Saxon-HE/PE/EE」,並打開或關閉DTD驗證(有一個組合框)。
非常感謝,它的工作原理。但我更喜歡XSLT內置函數:) – Jay
非常歡迎。 –
不支持內置的XSLT-1.0函數(它無法以乾淨的方式檢測非格式不良)。您的環境可以通過其他工具(如DOM Builders)提供此功能。
XSLT 2.0怎麼樣? – Jay
@jkcool - 查看我關於oXygen for Saxon(XSLT 2.0)的設置的回答 –
這完全取決於您使用的工具。在這種情況下,這是一個關於氧氣編輯器的問題。 XSLT規範中沒有任何內容需要處理器在讀取XML時執行DTD驗證。
但是如果有一個XSD與XML相關聯,那麼就可以使用它來驗證輸入xml。我對嗎 ? – Jay
僅當您使用的工具選擇實施並啓用XSD驗證時。這與XSLT本身無關。 – bmargulies
@jkcool XSLT處理器必須做的唯一事情就是檢查格式。他們中的一些人可能會在非形式良好的輸入中發生可怕的崩潰(即不明白什麼是錯誤的) –
沒有理由投票結束「離題」 –