home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / var / lib / python-support / python2.6 / rdflib / syntax / parsers / TriXParser.pyc (.txt) < prev   
Encoding:
Python Compiled Bytecode  |  2009-04-20  |  2.0 KB  |  41 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. from rdflib.syntax.parsers import Parser
  5. from rdflib.Graph import ConjunctiveGraph
  6. from xml.sax import make_parser
  7. from xml.sax.saxutils import handler
  8. from xml.sax.handler import ErrorHandler
  9. from rdflib.syntax.parsers.TriXHandler import TriXHandler
  10.  
  11. def create_parser(store):
  12.     parser = make_parser()
  13.     parser.start_namespace_decl('xml', 'http://www.w3.org/XML/1998/namespace')
  14.     parser.setFeature(handler.feature_namespaces, 1)
  15.     trix = TriXHandler(store)
  16.     parser.setContentHandler(trix)
  17.     parser.setErrorHandler(ErrorHandler())
  18.     return parser
  19.  
  20.  
  21. class TriXParser(Parser):
  22.     '''A parser for TriX. See http://swdev.nokia.com/trix/TriX.html'''
  23.     
  24.     def __init__(self):
  25.         pass
  26.  
  27.     
  28.     def parse(self, source, sink, **args):
  29.         if not sink.store.context_aware:
  30.             raise AssertionError
  31.         g = ConjunctiveGraph(store = sink.store)
  32.         self._parser = create_parser(g)
  33.         content_handler = self._parser.getContentHandler()
  34.         preserve_bnode_ids = args.get('preserve_bnode_ids', None)
  35.         if preserve_bnode_ids is not None:
  36.             content_handler.preserve_bnode_ids = preserve_bnode_ids
  37.         
  38.         self._parser.parse(source)
  39.  
  40.  
  41.