سؤال

هل توجد مكتبة XSLT تمثل لغة بايثون خالصة؟

يعد تثبيت libxml2+libxslt أو أي مكتبات C مماثلة مشكلة في بعض الأنظمة الأساسية التي أحتاج إلى دعمها.

أحتاج حقًا إلى دعم XSLT الأساسي فقط، ولا تمثل السرعة مشكلة كبيرة.

هل كانت مفيدة؟

المحلول

لسوء الحظ، لا توجد معالجات XSLT خالصة لبيثون في الوقت الحالي.إذا كنت بحاجة إلى شيء أكثر استقلالية عن النظام الأساسي، فقد ترغب في استخدام معالج XSLT المستند إلى Java مثل سكسوني.تعمل شركة 4Suite على محلل XPath النقي من نوع Python، ولكن لا يبدو أن معالج XSLT النقي سيتوقف عن العمل لبعض الوقت.ربما يكون من الأفضل استخدام بعض القدرات الوظيفية لـ Python لمحاولة تقريب ورقة الأنماط الحالية أو النظر في جدوى استخدام Java بدلاً من ذلك.

نصائح أخرى

لا أعتقد أنه يمكنك القيام بذلك في cpython:لا توجد تطبيقات بيثون XSLT خالصة.

ولكن يمكنك القيام بذلك بشكل تافه في jython، باستخدام واجهات برمجة التطبيقات XSLT المضمنة في JVM.لقد كتبت تدوينة عن الحالة المحددة للقيام بذلك على Google AppEngine، ولكن الكود المقدم يجب أن يعمل تحت jython في أي ظرف من الظروف.

التحويل باستخدام XSLT على Google AppEngine وjython

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

هث،

آلان.

هل نظرت إلى 4 جناح?

إذا كنت بحاجة فقط أساسي الدعم، وXML الخاص بك ليس مجنونًا للغاية، فكر في إزالة عنصر XSLT من المعادلة واستخدام محلل DOM/SAX فقط.

إليك بعض المعلومات من بايثون إنفو ويكي:

DOM] تمتص ملف XML بأكمله ، ويحمله في الذاكرة ، ويتيح لك العمل معه.ساكس ، من ناحية أخرى ، تنبعث من الأحداث لأنها تمر خطوة بخطوة عبر الملف.

ماذا تعتقد؟

هناك ايضا http://lxml.de/

"lxml هي المكتبة الأكثر ثراءً بالميزات وسهلة الاستخدام لمعالجة XML وHTML في لغة Python."

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top