2008-09-26 14 views
19

क्या कोई एक्सएसएलटी लाइब्रेरी है जो शुद्ध पायथन है?शुद्ध पायथन एक्सएसएलटी लाइब्रेरी

libxml2 + libxslt या किसी भी समान सी पुस्तकालय स्थापित करना उन प्लेटफॉर्म पर एक समस्या है जिन्हें मुझे समर्थन देने की आवश्यकता है।

मुझे वास्तव में केवल मूल XSLT समर्थन की आवश्यकता है, और गति एक प्रमुख मुद्दा नहीं है।

उत्तर

9

दुर्भाग्य से इस समय कोई शुद्ध-पायथन एक्सएसएलटी प्रोसेसर नहीं हैं। अगर आपको कुछ प्लेटफार्म स्वतंत्र है, तो आप जावा-आधारित एक्सएसएलटी प्रोसेसर जैसे Saxon का उपयोग करना चाह सकते हैं। 4 सूइट एक शुद्ध-पायथन XPath पार्सर पर काम कर रहा है, लेकिन ऐसा लगता है कि शुद्ध XSLT प्रोसेसर कुछ समय के लिए बाहर नहीं होगा। शायद मौजूदा स्टाइलशीट को आजमाएं और अनुमानित करने के लिए पाइथन की कार्यात्मक क्षमताओं का उपयोग करना या जावा का उपयोग करने की व्यवहार्यता को देखना सर्वोत्तम होगा।

1

क्या आपने 4suite पर देखा है?

+0

4 एसयूइट के भाग सी में हैं, यह सुनिश्चित नहीं है कि यह महत्वपूर्ण है या नहीं। –

+0

हां, इससे कोई फर्क नहीं पड़ता। मैं एक शुद्ध पायथन कार्यान्वयन की तलाश में हूं। मैं कुछ प्लेटफार्मों पर किसी भी सी संकलन (संकलन नहीं कर सकता!) नहीं करना चाहता/चाहती हूं। –

1

आप केवल बुनियादी समर्थन की जरूरत है, और अपने एक्सएमएल भी पागल नहीं है, तो समीकरण से XSLT तत्व को दूर करने और सिर्फ एक डोम/SAX पार्सर उपयोग करने पर विचार।

यहाँ PythonInfo Wiki से कुछ जानकारी है:

[डोम] एक पूरी एक्सएमएल फ़ाइल ऊपर बेकार है, स्मृति में रखती है, और आप इसके साथ काम करने देता है। दूसरी ओर, सैक्स ईवेंट उत्सर्जित करता है क्योंकि यह फ़ाइल फ़ाइल के माध्यम से चरणबद्ध रूप से चला जाता है।

आपको क्या लगता है?

+0

अच्छा विचार है, लेकिन इस मामले में मेरे पास मौजूदा एक्सएसएलटी हैं जो मैं प्लेटफ़ॉर्म पर उपयोग करना चाहता हूं जहां मैं किसी भी कोड को संकलित नहीं कर सकता या पुस्तकालय स्थापित नहीं कर सकता। –

6

मुझे नहीं लगता कि आप इसे cpython में कर सकते हैं: कोई शुद्ध पायथन XSLT कार्यान्वयन नहीं है।

लेकिन आप जेवीएम के इनबिल्ट एक्सएसएलटी एपीआई का उपयोग करके इसे ज्योति में कर सकते हैं। मैंने Google AppEngine पर इसे करने के विशिष्ट मामले के लिए एक ब्लॉग पोस्ट लिखा था, लेकिन दिए गए कोड को किसी भी परिस्थिति में ज्योथन के तहत काम करना चाहिए।

गूगल AppEngine पर XSLT और Jython

http://jython.xhaus.com/transforming-with-xslt-on-google-appengine-and-jython/

HTH साथ बदलने,

एलन।

1

वहाँ भी है http://lxml.de/

"lxml है सबसे सुविधा संपन्न और आसान से उपयोग प्रसंस्करण एक्सएमएल और अजगर भाषा में HTML के लिए पुस्तकालय।"

+1

हम्म। "सबसे अधिक सुविधा युक्त और उपयोग में आसान" के विपणन दावों का हवाला देते हुए थोड़ा सा लगता है (जब तक कि आप विकल्पों पर संपूर्ण शोध नहीं कर लेते हैं और इस निष्कर्ष पर आते हैं)। – Rob

+0

एलएक्सएमएल है, मुझे पूरा यकीन है, एक ही सी लाइब्रेरीज़ के आसपास एक और पायथन बाध्यकारी है जिसे हम यहां उपयोग करने के लिए चारों ओर घूमने की कोशिश कर रहे हैं: "[एलएक्सएमएल एक्सएमएल टूलकिट सी पुस्तकालयों libxml2 और libxslt के लिए एक पायथनिक बाध्यकारी है।] (Http : //lxml.de/index.html) "। –

+0

इसके अलावा, lxml के [install page] (http://lxml.de/installation.html) को उद्धृत करने के लिए: "जब तक आप एक स्थिर बाइनरी वितरण (जैसे कि विंडोज बाइनरी इंस्टॉलर से) का उपयोग नहीं कर रहे हैं, lxml को libxml2 और libxslt को स्थापित करने की आवश्यकता है ... " –

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