2011-09-30 9 views
2

브라우저에서 XSL 변환을 통해 표시 할 수 있고 XeLaTeX로도 컴파일 할 수 있도록 XML 데이터가 있습니다. XML 파일 내에서 스타일 시트를 브라우저 용으로 설정했습니다. 현재 LaTeX 출력을 얻으려면 XML 파일로 이동하고 변경하고 브라우저에서 열고 파일에 복사 한 다음 저장해야합니다. 파일을 열고 XeLaTeX를 실행하십시오. XML 파일에 파일을 변환프로그래밍 방식으로 브라우저 외부에서 XSL 변환 적용

  1. 는 유액 XSL을 적용 :

    대신에, 나는 XHTML로 변환하는 XSLT 스타일 시트와 관련된 XML 파일을 떠나, 그냥 것이다 빌드 스크립트를 가지고 싶습니다 결과를 .tex 파일에 씁니다.

  2. XeLaTeX를 실행하십시오.
  3. XeLaTex를 다시 실행하십시오 (문서에 두 번째 패스가 필요함).
  4. 지시하지 않는 한 로그 파일 등을 정리하십시오.

# 2- # 4하는 방법을 알고 있습니다. # 1을 달성하는 가장 좋은 방법은 무엇입니까? 예를 들어 XML 문서에 XSL 변환을 적용하기위한 Python3 방법이 있습니까?

답변

2

XSLT 1.0로 작성된 스타일 시트는 libxslt부터 lxml까지 사용할 수 있습니다 (libxml2 & libxslt python bindings).

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() 

: @Phillip 코 발레 프에 의해 주어진 리드에 따라

1

(실제 페이지가 http://lxml.de에 사용할 수 없기 때문에, 구글 웹 캐시 링크) lxml examples을 찾아,이 Python3 코드로 올라와있다 개발자에게의 칭찬은 lxml - 매력처럼 작동합니다!

관련 문제