def __init__(self, attributeXpaths=None, namespaceMap=None, sendAsList=False, namespaces=None): Observable.__init__(self) self._attributeXpaths = attributeXpaths or [] self._sendAsList = sendAsList if namespaceMap: warn("Please use 'namespaces=...'", DeprecationWarning) namespaces=namespaceMap self.xpath = _namespaces.copyUpdate(namespaces or {}).xpath
def __init__(self, should=None, could=None, namespaces=None, namespaceMap=None): Observable.__init__(self) if namespaceMap: warn("Please use 'namespaces=...'", DeprecationWarning) namespaces=namespaceMap self.xpath = _namespaces.copyUpdate(namespaces or {}).xpath self._should = _init(should) self._could = _init(could)
def __init__(self, should=None, could=None, namespaces=None, namespaceMap=None): Observable.__init__(self) if namespaceMap: warn("Please use 'namespaces=...'", DeprecationWarning) namespaces = namespaceMap self.xpath = _namespaces.copyUpdate(namespaces or {}).xpath self._should = _init(should) self._could = _init(could)
def __init__(self, attributeXpaths=None, namespaceMap=None, sendAsList=False, namespaces=None): Observable.__init__(self) self._attributeXpaths = attributeXpaths or [] self._sendAsList = sendAsList if namespaceMap: warn("Please use 'namespaces=...'", DeprecationWarning) namespaces = namespaceMap self.xpath = _namespaces.copyUpdate(namespaces or {}).xpath
def __init__(self, fromKwarg, toKwarg=None, name=None, nsMap=None): UiaConverter.__init__(self, name=name, fromKwarg=fromKwarg, toKwarg=toKwarg) self._nsMap = namespaces.copyUpdate(nsMap or {}) self._bln_success = False self._edu_extension_schemas = [] ## Fill the schemas list for later use: for schemaPath, xPad, s_loc in mods_edu_extentions: print 'schema init:' ,schemaPath, xPad, s_loc try: self._edu_extension_schemas.append((XMLSchema(parse(join(dirname(abspath(__file__)), 'xsd/'+ schemaPath) ) ), xPad, s_loc )) except XMLSchemaParseError, e: print 'XMLSchemaParseError.', e.error_log.last_error raise
def __init__(self, xSDPathList=[], nsMap=None): Observable.__init__(self) self._namespacesMap = namespaces.copyUpdate(nsMap or {}) self._xmlSchemas = [] ## Fill the schemas list for later use: for strName, strXPath, schemaPath in xSDPathList: print 'schema init:', strName, strXPath, schemaPath try: self._xmlSchemas.append((strName, strXPath, XMLSchema(parse(join(join(dirname(abspath(__file__)), 'xsd'), schemaPath) ) ) )) except XMLSchemaParseError, e: print 'XMLSchemaParseError.............',e.error_log.last_error raise
def testReificationWithBlankNodeSubject(self): testNamespaces = namespaces.copyUpdate(dict(test="urn:test#")) xpathFirst = testNamespaces.xpathFirst rdfXml = '''<rdf:RDF %(xmlns_rdf)s %(xmlns_test)s> <rdf:Description> <test:relation rdf:ID="_987">object</test:relation> </rdf:Description> <rdf:Statement rdf:about="#_987"> <test:reificationRelation>reification object</test:reificationRelation> </rdf:Statement> </rdf:RDF>''' % testNamespaces graph = RDFParser().parse(XML(rdfXml)) result = Triples2RdfXml(namespaces=testNamespaces).asRdfXml(graph) self.assertEquals('reification object', xpathFirst(result, '/rdf:RDF/rdf:Statement[@rdf:about="#_987"]/test:reificationRelation/text()')) self.assertEquals(None, xpathFirst(result, '/rdf:RDF/rdf:Statement[@rdf:about="#_987"]/rdf:subject')) # rdf:Statement with bnode subject should not actually refer to it...!! self.assertEquals('object', xpathFirst(result, '/rdf:RDF/rdf:Description/test:relation[@rdf:ID="_987"]/text()')) self.assertEquals(['rdf:Description', 'rdf:Statement'], [tagToCurie(node.tag) for node in xpath(result, '/rdf:RDF/*')])
def testReificationWithRdfID(self): testNamespaces = namespaces.copyUpdate(dict(test="urn:test#")) xpathFirst = testNamespaces.xpathFirst rdfXml = '''<rdf:RDF %(xmlns_rdf)s %(xmlns_test)s> <rdf:Description rdf:about="some:uri"> <test:relation rdf:ID="_987">object</test:relation> </rdf:Description> <rdf:Statement rdf:about="#_987"> <test:reificationRelation>reification object</test:reificationRelation> </rdf:Statement> </rdf:RDF>''' % testNamespaces graph = RDFParser().parse(XML(rdfXml)) result = Triples2RdfXml(namespaces=testNamespaces).asRdfXml(graph) self.assertEquals('object', xpathFirst(result, '/rdf:RDF/rdf:Description[@rdf:about="some:uri"]/test:relation[@rdf:ID="_987"]/text()')) self.assertEquals('reification object', xpathFirst(result, '/rdf:RDF/rdf:Statement[@rdf:about="#_987"]/test:reificationRelation/text()')) self.assertEquals(['rdf:Description', 'rdf:Statement'], [tagToCurie(node.tag) for node in xpath(result, '/rdf:RDF/*')]) self.assertXmlEquals(rdfXml, result)
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # ## end license ## from seecr.test import IntegrationTestCase from seecr.test.utils import getRequest, postRequest from meresco.xml.namespaces import namespaces as _namespaces from simplejson import loads from time import sleep from meresco.lucene.fieldregistry import KEY_PREFIX from meresco.lucene import ComposedQuery from meresco.lucene.synchronousremote import SynchronousRemote from cqlparser import parseString from cqlparser.cqltoexpression import cqlToExpression namespaces = _namespaces.copyUpdate(dict(example='http://meresco.org/namespace/example')) xpath = namespaces.xpath xpathFirst = namespaces.xpathFirst class LuceneTest(IntegrationTestCase): def testAddDelete(self): postRequest(self.httpPort, '/update_main', ADD_RECORD, parse=False) sleep(1.1) try: self.assertEquals(1, self.numberOfRecords(query='__id__ exact "testrecord:1"')) finally: postRequest(self.httpPort, '/update_main', DELETE_RECORD, parse=False) sleep(1.1) self.assertEquals(0, self.numberOfRecords(query='__id__ exact "testrecord:1"'))
'oaiSelect', 'oaiWatermark', 'getMultipleData', 'oaiRecord', 'oaiRecord', 'getMultipleData', 'oaiRecord', 'oaiRecord', 'getMultipleData', 'oaiRecord', 'oaiRecord', 'getMultipleData', 'oaiRecord', 'oaiRecord', 'getMultipleData', 'oaiRecord', 'oaiRecord' ], self.observer.calledMethodNames()) def _addRecords(self, identifiers, sets=None): for identifier in identifiers: self.oaiJazz.addOaiRecord(identifier=identifier, sets=sets, metadataFormats=[('oai_dc', '', '')]) namespaces = namespaces.copyUpdate({'mock':'uri:mock'}) xpath = namespaces.xpath xpathFirst = namespaces.xpathFirst def _m(kwargs): return {'metadataPrefix': kwargs['metadataPrefix'], 'recordId': kwargs['record'].identifier}
from lxml.etree import ElementTree from meresco.core import Observable from warnings import warn from meresco.xml.namespaces import namespaces as _namespaces #HM: To support both lxml1.2 as 2.1 try: from lxml.etree import _ElementStringResult, _ElementUnicodeResult except ImportError: _ElementStringResult = str _ElementUnicodeResult = unicode oftenUsedNamespaces = _namespaces.copyUpdate(dict( lom="http://ltsc.ieee.org/xsd/LOM", )) class XmlXPath(Observable): def __init__(self, xpathList, fromKwarg, toKwarg=None, namespaces=None, namespaceMap=None): Observable.__init__(self) self._xpaths = xpathList self._fromKwarg = fromKwarg self._toKwarg = toKwarg if toKwarg else self._fromKwarg if namespaceMap: warn("Please use 'namespaces=...'", DeprecationWarning) namespaces = namespaceMap self.xpath = oftenUsedNamespaces.copyUpdate(namespaces or {}).xpath def do_unknown(self, msg, *args, **kwargs): for newArgs, newKwargs in self._convertArgs(*args, **kwargs):
def __init__(self, fromKwarg, toKwarg=None, name=None, nsMap=None): UiaConverter.__init__(self, name=name, fromKwarg=fromKwarg, toKwarg=toKwarg) self._nsMap = namespaces.copyUpdate(nsMap or {})
from copy import copy from StringIO import StringIO from lxml.etree import ElementTree from meresco.core import Observable from warnings import warn from meresco.xml.namespaces import namespaces as _namespaces #HM: To support both lxml1.2 as 2.1 try: from lxml.etree import _ElementStringResult, _ElementUnicodeResult except ImportError: _ElementStringResult = str _ElementUnicodeResult = unicode oftenUsedNamespaces = _namespaces.copyUpdate( dict(lom="http://ltsc.ieee.org/xsd/LOM", )) class XmlXPath(Observable): def __init__(self, xpathList, fromKwarg, toKwarg=None, namespaces=None, namespaceMap=None): Observable.__init__(self) self._xpaths = xpathList self._fromKwarg = fromKwarg self._toKwarg = toKwarg if toKwarg else self._fromKwarg if namespaceMap: warn("Please use 'namespaces=...'", DeprecationWarning)