2011-09-30 53 views
2

我有我希望能夠通過XSL轉換在瀏覽器中顯示的XML數據,並且還使用XeLaTeX進行編譯。在XML文件內部,我已經將樣式表設置爲瀏覽器的樣式表,並且目前爲了獲取LaTeX輸出,我必須進入XML文件,更改它,在瀏覽器中打開它,將它複製到文件中,保存該文件並運行XeLaTeX。以編程方式在瀏覽器外部應用XSL轉換

相反,我想留下它轉變爲XHTML,XSLT樣式表相關的XML文件,只是有一個構建腳本,將:

  1. 應用LaTeX的XSL轉換文件的XML文件,將結果寫入.tex文件。
  2. 針對它運行XeLaTeX。
  3. 再次運行XeLaTex(文檔需要第二遍)。
  4. 清理日誌文件等,除非指示不這樣做。

我知道怎麼做#2-#4。什麼是完成#1的最佳途徑?例如,是否有一個將XSL轉換應用於XML文檔的Python3配方?

回答

2

如果您在XSLT 1.0中編寫的樣式表可以使用libxslt到lxml(libxml2 & libxslt python綁定)。尋找lxml examples(鏈接到谷歌Web緩存,因爲實際的頁面不可在http://lxml.de

1

繼@Phillip科瓦廖夫給出的帶領下,我來到了這個Python3代碼:

from lxml import etree 
def transform(xsltpath:str, xmlpath:str): 
    return etree.XSLT(etree.parse(xsltpath))(etree.parse(xmlpath)) 
def main(): 
    import sys 
    print(transform(sys.argv[1], sys.argv[2])) 

if __name__ == '__main__': 
    main() 

lxml的開發者的榮譽 - 像一個魅力的工程!

相關問題