我有一個將XML格式轉換爲HTML的大型XSLT樣式表。我想在輸入XML文件中添加對XInclude的支持。目標是每個包含文件都可以獨立進行XSD驗證,以及包含XML文件。我對XML模式中的所有變化進行了控制(我認爲);只有特定的XML元素可以移出來包含文件,並且只有一個級別的包含文件嵌套。我已經在Eclipse的XML編輯器中工作了,它很好地驗證了包含文件和每個包含文件。將Xinclude支持添加到XSLT樣式表中
XSLT樣式表是用在兩個方面,這裏我們更接近我的問題:
在通過使用LXML爲XSLT轉換Python腳本的建設環境。 Python腳本集成到基於構建的構建環境中,並集成到Eclipse的Ant腳本中。
在包含XML文件的xsl-stylesheet指令中。這是針對人們希望立即在Web瀏覽器中看到他們在任何XML文件中所做的更改的情況。迄今爲止,這已證明是一個非常有效的環境,所以我不想放棄這一點。
我能夠得到用例1.通過使用Python腳本中的ElementTree.xinclude()方法工作。但是,對於用例2來說,這並不是解決方案。
另外,我的確瞭解如何編寫僅執行Xinclude解析的XSLT樣式表,並且這在理論上可以用作第一個轉換,然後是現有的XSLT XML到HTML轉換的樣式表。問題是XML文件只能有一個xsl-stylesheet指令。
另一個想法是將XInclude分辨率保留到Web瀏覽器。但是,我不知道任何支持該功能的Web瀏覽器。此外,我討厭限制使用一個特定的瀏覽器。到目前爲止,我們支持所有最常見的瀏覽器。
另一個想法是將XInclude解析支持添加到現有的XSLT樣式表中。但是,我在輸入什麼和輸出是什麼,因爲這些實際上是三個階段(XML輸入就像文件 - > FLAT XML,Xinclude已解決 - > HTML。XInclude解析部分需要執行第一個轉換。與現有的XSLT代碼將執行第二我不知道這是可能的一個樣式表
我的問題是:
有什麼辦法,我怎麼可以得到兩個XSLT樣式表調用時用網絡瀏覽器打開(含)XML文件?
有沒有什麼辦法可以改進使用XInclude支持現有的XSLT樣式表,以便它保持單個樣式表?
在XSLT樣式表中是否有任何方法來修改輸入?
Web瀏覽器在XInclude解決方案中提供任何支持嗎?
感謝 安迪