XML :: Filter :: Domfilter :: libxml

XML :: Filter :: Domfilter :: Libxml هو مرشح SAX يسمح بمعالجة DOM من السخرية المختارة.
التحميل الان

XML :: Filter :: Domfilter :: libxml الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • Perl Artistic License
  • السعر:
  • FREE
  • اسم الناشر:
  • Petr Pajas
  • موقع ويب الناشر:
  • http://search.cpan.org/~pajas/

XML :: Filter :: Domfilter :: libxml العلامات


XML :: Filter :: Domfilter :: libxml وصف

XML :: Filter :: Domfilter :: LIBXML هو مرشح SAX يسمح بمعالجة DOM للخراجات المختارة. XML :: Filter :: Domfilter :: Libxml هو مرشح SAX يسمح بمعالجة DOM من Subtrees Subtrees.synopsis استخدم XML :: LIBXML؛ استخدم XML :: Filter :: Domfilter :: Libxml؛ My $ Filter = XML :: Filter :: Domfilter :: LIBXML-> جديد (Handler => Handler، Xmathontext => XML :: LIBXML :: XPathContext-> جديد ()، عملية => / * / bar '=> process_bar،' baz '=> process_baz])؛ بلدي parser $ = xml :: sax :: yourfavoritedriver-> جديد (handler => $ filter)؛ # بعض COM معالجة Sub Process_Bar {My (Node $) = @ _؛ بلدي $ doc = node- $ - المالك؛ العقدة $-> appendtextchild ("ملاحظة"، "World Hallo!")؛ العقدة $-> parentnode-> insertafter ($ doc-> createlement ("foo")، العقدة $)؛ } Sub Process_Baz {My (Node Node) = @ _؛ العقدة $-> unbindnode؛ } توفر هذه الوحدة حل وسط بين معالجة ساكس ومدمن من خلال السماح باستخدام DOM API لمعالجة الأجزاء الصغيرة فقط من مستند XML. وهي تعمل كمرشح SAX مؤقتا بناء أشجار دوم صغيرة حول الأجزاء المحددة من خلال تعبيرات XPath المعينة (مع بعض القيود، انظر "القيود"). يحتوي المرشح على دولتين سيتم الإشارة إليها باسم A و B هنا. الحالة الأولية للمرشح هي A.in الدولة أ، فقط جزء عمودي محدود من شجرة دوم مبنية. جميع الأحداث SAX غير START_ELEMENT مرت تماما معالجها. في حدث Start_Element، يتم إنشاء عقدة عنصر جديد في شجرة Dom. تتم إزالة جميع الأشقاء الحالية المحتملة للعقدة المنشأة حديثا. وهكذا، بينما في الدولة أ، هناك عقدة واحدة بالضبط على كل مستوى من مستويات الشجرة. الآن يتم فحص جميع تعبيرات XPath في سياق العقدة المنشأة حديثا. إذا لم تطابق أي من التعبيرات، فإن المحلل المحلل يبقى في الحالة A ويمرر الحدث start_element لمعالجتها. خلاف ذلك، يتم تذكر رد رد الاتصال المرتبط بالتعبير الأول الذي يتطابق المتطابق وتغيير المحفنة حالةه إلى B.IN B.IN الدولة B، يقوم المرشح بإنشاء مجموعة فرعية DOM كاملة للعنصر الجديد وفقا للأحداث الواسعة. لا يتم تمرير أي أحداث إلى معالج في هذه المرحلة. عند اكتمال المجموعة الفرعية (أي، تتم مواجهة علامة النهاية المقابلة)، يتم تنفيذ رد الاتصال المرتبط بالتعبير XPath الذي يطابق. يتم تمرير العنصر الجذر في Subtree إلى روتين رد الاتصال باعتباره الوسيطة الوحيدة. يسمح للاتصال بإجراء أي عمليات DOM على Subtree DOM، حتى لاستبدالها بسكتة جديدة أو أكثر. ومع ذلك، يجب على Callack الحفاظ على العقدة الأصل للعنصر وكذلك جميع العقد سلفها سليمة. الفشل في القيام بذلك يمكن أن يؤدي إلى وجود خطأ أو نتائج غير متوقعة. عند إرجاع رد الاتصال، يتم إرجاع جميع السكتات الحرارية التي تظهر الآن في شجرة Dom ضمن الأصل العنصر الأصلي على أحداث SAX وتم تمريرها إلى Handler. بعد ذلك، يتم حذفها من شجرة DOM ويعود المرشح إلى الحالة A.Limitations: لاحظ أن هذا النوع من المعالجة يحد بصورة عالية من كمية المعلومات التي يمكن استخدامها محرك XPath. والأرجح أنه لا يمكن تحديد العناصر حسب محتواه. المعلومات الوحيدة الموجودة في الشجرة في وقت تقييم XPath هي اسم وسمات العنصر والمعلومات نفسها لجميع أسلافها. لا يوجد ما يعرف عن العقد الطفل المحتملة للعنصر وكذلك موقفه داخل أشقائه في الوقت الذي يتم فيه تقييم تعبيرات XPath. متطلبات: perl.


XML :: Filter :: Domfilter :: libxml برامج ذات صلة