--- documentViewer/MpdlXmlTextServer.py 2010/10/08 11:58:15 1.58 +++ documentViewer/MpdlXmlTextServer.py 2010/10/13 15:06:03 1.88 @@ -140,20 +140,29 @@ class MpdlXmlTextServer(SimpleItem): docinfo['numPages']=int(getTextFromNode(result[0])) return docinfo - def getGisPlases(self, docinfo): + def getGisPlaces(self, docinfo): """ Show all Gis Places of whole Page""" - xpath='//place' - text=self.getServerData("xpath.xql", "document=%s&xpath=%s"%(docinfo['textURLPath'], xpath)) + #xpath='//place' + text=self.getServerData("xpath.xql", "document=%s&xpath='//place'%s&pn=%s"%(docinfo['textURLPath'],pn)) + logging.debug("documentViewer getGisPlaces (text) text:%s"%(text)) pagedom = Parse(text) - result =pagedom.xpath("//result/resultPage/place") - docinfo['place']=getTextFromNode(result[0]) - return docinfo + result =pagedom.xpath("//result/resultPage/*") + for l in result: + hrefNode= l.getAttributeNodeNS(None, u"id") + logging.debug("documentViewer getGisPlaces (characterNormalization) l:%s"%(l)) + if hrefNode: + href= hrefNode.nodeValue + if href.startswith('id='): + hrefNode.nodeValue = href.replace('id=',"?") + + return serializeNode(pagenode) def getTextPage(self, mode="text", pn=1, docinfo=None, pageinfo=None, highlightQuery=None,sn=None, viewMode=None, tocMode=None, tocPN=None, characterNormalization=""): """returns single page from fulltext""" docpath = docinfo['textURLPath'] path = docinfo['textURLPath'] url = docinfo['url'] + name = docinfo['name'] viewMode= pageinfo['viewMode'] tocMode = pageinfo['tocMode'] characterNormalization=pageinfo['characterNormalization'] @@ -203,9 +212,8 @@ class MpdlXmlTextServer(SimpleItem): if hrefNode: href=hrefNode.nodeValue if href.startswith('http://chinagis.mpiwg-berlin.mpg.de'): - hrefNode.nodeValue =href.replace('chinagis_REST','chinagis') - hrefNode.nodeValue=href.replace('chgis','') - l.setAttributeNS(None, 'target', '_blank') + hrefNode.nodeValue =href.replace('chinagis_REST/REST/db/chgis/mpdl','chinagis/REST/db/mpdl/%s'%name) + l.setAttributeNS(None, 'target', '_blank') return serializeNode(pagenode) if mode == "pureXml":