2010-03-26 5 views
15

मैं पर OSX हिम तेंदुए (10.6.2) कर रहा हूँ मैं कुछ भी मैं करने की जरूरत है स्थापित कर सकते हैं का उपयोग कर एक्सएमएल को बदलने के लिए। मैं अधिमानतः एक पायथन या जावा समाधान की तरह होगा। मैं गूगल पर खोज की है और यह करने के लिए अपने खुद के प्रोग्राम लिखने के बारे में जानकारी के बहुत सारे मिल गया है, लेकिन यह एक बस एक त्वरित और गंदे प्रयोग है तो मैं कोड का एक समूह लेखन यह करने के लिए पर बहुत समय निवेश करने के लिए नहीं करना चाहते हैं , मुझे यकीन है कि किसी और ने पहले ही यह किया है।मैं एक सरल कमांड लाइन कार्यक्रम की जरूरत है एक XSL स्टाइल शीट

यह अब विषय है, इस प्रश्न का उपयोग इस उदाहरण का उपयोग न करें कि आपकी सिफारिशों का अनुरोध विषय पर क्यों है, ऐसा नहीं है। मैं माफी माँगता हूँ, लेकिन मेरे गूगल-फू मुझे दिन मैं 4 साल पहले इस पूछा असफल रहा था!

उत्तर

21

आप की कोशिश की 'xsltproc' है? यह शायद पहले ही स्थापित है।

http://xmlsoft.org/XSLT/xsltproc2.html

+0

आप सही ओएसएक्स हिम तेंदुए 10.6.2 हैं जो पहले से ही स्थापित है, इसलिए यह चेक मार्क प्राप्त करता है! stdout में –

+3

'xsltproc स्टाइलशीट file' आउटपुट। बहुत बढ़िया। – npdoty

+1

दुर्भाग्य से 'xsltproc' XSLT 2.0 के साथ काम नहीं करता है, जहां तक ​​मैं कह सकता हूं। – stiemannkj1

4

उपयोग lxml। इसका उपयोग करना बहुत आसान है और बहुत तेज़ है। यह XPath के सहयोग से एक XSLT transformer शामिल कर सकते हैं।

4

अगर मैं सही ढंग मान लें कि आप एक स्टाइलशीट और एक XML दस्तावेज तो Xalan-जे एक कमांड लाइन सुविधा आपको यह करने के लिए उपयोग कर सकते हैं की आपूर्ति करना चाहते हैं:

http://xml.apache.org/xalan-j/commandline.html

जिसके साथ लागू किया जा सकता है:

java org.apache.xalan.xslt.Process -IN foo.xml -XSL foo.xsl -OUT foo.out 
3

क्या आपने XMLStarlet (एक XML कमांड लाइन टूलसेट) देखा है? यह XML संबंधित क्वेरी परिवर्तन के बहुत सारे है, और विशेष रूप से:

xml tr --help 
XMLStarlet Toolkit: Transform XML document(s) using XSLT 
Usage: xml tr [<options>] <xsl-file> {-p|-s <name>=<value>} [ <xml-file-or-uri> ... ] 
where 
    <xsl-file>  - main XSLT stylesheet for transformation 
    <xml-file>  - input XML document file name (stdin is used if missing) 
    <name>=<value> - name and value of the parameter passed to XSLT processor 
    -p    - parameter is XPATH expression ("'string'" to quote string) 
    -s    - parameter is a string literal 

आगे प्रलेखन here

14

मैं Saxon की सलाह देते हैं, जो इतनी तरह कमांड लाइन से चलाया जा सकता है:

java -jar /path/to/saxon.jar xmlfile xslfile 
+1

एक outputfile बनाने के लिए -ओ तर्क जोड़ें। 'जावा -jar -o: ' –

+1

बहुत बढ़िया,' saxon.jar' एक्सएसएलटी 2.0 के साथ काम करता है! – stiemannkj1

0

मैं कमांड लाइन परिवर्तनों के लिए साल के लिए सेक्सन 6.5 इस्तेमाल किया है। (जावा, एक्सएसएलटी 1)

कोई मूल समाधान उपलब्ध नहीं होने पर एक उत्कृष्ट गिरावट।

0

com.sun.org.apache.xalan.internal.xsltc.cmdline.Transform के साथ एक और समाधान के लिए this question देखते हैं। लेकिन मैंने xalan प्रसंस्करण की तुलना में नामस्थानों के साथ कुछ अजीबता देखी। जागरूक व्यवहार गैर मानक हो सकता है।

यह भी पता है कि आंतरिक जावा कक्षाएं भरोसा करने के लिए अच्छी नहीं हैं।

संबंधित मुद्दे