File: xpointer_query.py

package info (click to toggle)
python-xml 0.8.4-10.1%2Blenny1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 4,972 kB
  • ctags: 10,628
  • sloc: python: 46,730; ansic: 14,354; xml: 968; makefile: 201; sh: 20
file content (23 lines) | stat: -rw-r--r-- 649 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
"""Demonstrates using the xptr.py tool to query DOM Nodes using the XPointer spec"""

from xml.dom import ext
from xml.dom.ext.reader import Sax2
import xptr


if __name__ == '__main__':
    import sys

    xpointer_expr = sys.argv[1]

    try:
        xml_dom_object = Sax2.FromXmlUrl(sys.argv[2], validate=0)
    except Sax.saxlib.SAXException, msg:
        print "SAXException caught:", msg
    except Sax.saxlib.SAXParseException, msg:
        print "SAXParseException caught:", msg

    result_node = xptr.LocateNode(xml_dom_object, xpointer_expr)
    ext.StripXml(result_node)
    ext.PrettyPrint(result_node)
    ext.ReleaseNode(result_node)