Skip to content
Snippets Groups Projects
Commit 42f9a5d9 authored by moogdo49's avatar moogdo49
Browse files

geändert: api.py

	gelöscht:               test.py
	gelöscht:               test.xml
	gelöscht:               test.xsl
parent c05c6996
No related branches found
No related tags found
No related merge requests found
......@@ -13,13 +13,13 @@ session = BaseXClient.Session('localhost', 1984, 'admin', 'admin')
@app.route('/', methods=['GET'])
def main():
#globvar = session.query("db:open(\"Holzschnitt\")")
session.execute("open Holzschnitt")
session.execute("open Holzschnitte1")
merke = []
for i in range(1,10):
url = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[position() =" + str(i) +" ]/bildLink/text()) return $x" ).execute()
actor = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[position() =" + str(i) +" ]/descriptiveMetadata/actor/text()) return $x" ).execute()
title = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[position() =" + str(i) +" ]/descriptiveMetadata/objectIdentificationWrap/title/text()) return $x" ).execute()
url = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[position() =" + str(i) +" ]/resource/resourceLink/text()) return $x" ).execute()
actor = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[position() =" + str(i) +" ]/descriptiveMetadata/eventWrap/actor/name/text()) return $x" ).execute()
title = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[position() =" + str(i) +" ]/descriptiveMetadata/objectIdentification/titleSet/title/text()) return $x" ).execute()
eintrag = {"url" : url, "actor" : actor, "title" : title}
merke.append(eintrag)
......@@ -37,9 +37,9 @@ def search():
if request.method=='GET':
merke = []
for i in range(1,5):
url = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[position() =" + str(i) +" ]/bildLink/text()) return $x" ).execute()
actor = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[position() =" + str(i) +" ]/descriptiveMetadata/actor/text()) return $x" ).execute()
title = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[position() =" + str(i) +" ]/descriptiveMetadata/objectIdentificationWrap/title/text()) return $x" ).execute()
url = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[position() =" + str(i) +" ]/resource/resourceLink/text()) return $x" ).execute()
actor = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[position() =" + str(i) +" ]/descriptiveMetadata/eventWrap/actor/name/text()) return $x" ).execute()
title = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[position() =" + str(i) +" ]/descriptiveMetadata/objectIdentification/titleSet/title/text()) return $x" ).execute()
eintrag = {"url" : url, "actor" : actor, "title" : title}
merke.append(eintrag)
......@@ -49,9 +49,9 @@ def search():
#suche nach Kuenstler:
#query = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/actor[contains(text(), " + text + ")]]) return $x")
merke = []
urlQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/actor[contains(text(),'" + text + "')]]/bildLink/text()) return $x")
actorQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/actor[contains(text(),'" + text + "')]]/descriptiveMetadata/actor/text()) return $x")
titleQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/actor[contains(text(),'" + text + "')]]/descriptiveMetadata/objectIdentificationWrap/title/text()) return $x")
urlQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/eventWrap/actor/name[contains(text(),'" + text + "')]]/resource/resourceLink/text()) return $x")
actorQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/eventWrap/actor/name[contains(text(),'" + text + "')]]/descriptiveMetadata/eventWrap/actor/name/text()) return $x")
titleQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/eventWrap/actor/name[contains(text(),'" + text + "')]]/descriptiveMetadata/objectIdentification/titleSet/title/text()) return $x")
urlList = []
actorList = []
titleList = []
......@@ -78,9 +78,9 @@ def search():
titleQuery.close()
#Suche nach Titel:
urlQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/objectIdentificationWrap/title[contains(text(),'" + text + "')]]/bildLink/text()) return $x")
actorQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/objectIdentificationWrap/title[contains(text(),'" + text + "')]]/descriptiveMetadata/actor/text()) return $x")
titleQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/objectIdentificationWrap/title[contains(text(),'" + text + "')]]/descriptiveMetadata/objectIdentificationWrap/title/text()) return $x")
urlQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/objectIdentification/titleSet/title[contains(text(),'" + text + "')]]/resource/resourceLink/text()) return $x")
actorQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/objectIdentification/titleSet/title[contains(text(),'" + text + "')]]/descriptiveMetadata/eventWrap/actor/name/text()) return $x")
titleQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/objectIdentification/titleSet/title[contains(text(),'" + text + "')]]/descriptiveMetadata/objectIdentification/titleSet/title/text()) return $x")
urlList = []
actorList = []
titleList = []
......@@ -112,7 +112,7 @@ def search():
def filter():
merke = []
merkeLetter = []
actorQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in distinct-values(/root/object/descriptiveMetadata/actor/text()) order by $x return $x")
actorQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in distinct-values(/root/object/descriptiveMetadata/eventWrap/actor/name/text()) order by $x return $x")
for a,actor in actorQuery.iter():
anfang = actor[0]
if (len(merkeLetter) == 0):
......@@ -122,12 +122,12 @@ def filter():
merke.append({"anfang" : anfang, "name" : actor})
#Filter für ungefähres Datum:
merkeDate = []
dateQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in distinct-values(/root/object/descriptiveMetadata/datum/text()) order by $x return $x")
dateQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in distinct-values(/root/object/descriptiveMetadata/eventWrap/eventDate/datum/text()) order by $x return $x")
for a,datum in dateQuery.iter():
merkeDate.append({"datum" : datum})
#Filter für Ort:
merkeOrt = []
ortQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in distinct-values(/root/object/descriptiveMetadata/ort/text()) order by $x return $x")
ortQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in distinct-values(/root/object/descriptiveMetadata/eventWrap/eventPlace/text()) order by $x return $x")
for a,ort in ortQuery.iter():
merkeOrt.append({"ort" : ort})
......@@ -172,9 +172,9 @@ def filterActor(kunstler):
def filterOrt(ort):
text = ort
merke = []
urlQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/ort[contains(text(),'" + ort + "')]]/bildLink/text()) return $x")
actorQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/ort[contains(text(),'" + ort + "')]]/descriptiveMetadata/actor/text()) return $x")
titleQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/ort[contains(text(),'" + ort + "')]]/descriptiveMetadata/objectIdentificationWrap/title/text()) return $x")
urlQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/eventWrap/eventPlace[contains(text(),'" + ort + "')]]/resource/resourceLink/text()) return $x")
actorQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/eventWrap/eventPlace[contains(text(),'" + ort + "')]]/descriptiveMetadata/eventWrap/actor/name/text()) return $x")
titleQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/eventWrap/eventPlace[contains(text(),'" + ort + "')]]/descriptiveMetadata/objectIdentification/titleSet/title/text()) return $x")
urlList = []
actorList = []
......@@ -207,9 +207,9 @@ def filterOrt(ort):
def filterDatum(datum):
text = datum
merke = []
urlQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/datum[contains(text(),'" + datum + "')]]/bildLink/text()) return $x")
actorQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/datum[contains(text(),'" + datum + "')]]/descriptiveMetadata/actor/text()) return $x")
titleQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/datum[contains(text(),'" + datum + "')]]/descriptiveMetadata/objectIdentificationWrap/title/text()) return $x")
urlQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/eventWrap/eventDate/datum[contains(text(),'" + datum + "')]]/resource/resourceLink/text()) return $x")
actorQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/eventWrap/eventDate/datum[contains(text(),'" + datum + "')]]/descriptiveMetadata/eventWrap/actor/name/text()) return $x")
titleQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/eventWrap/eventDate/datum[contains(text(),'" + datum + "')]]/descriptiveMetadata/objectIdentification/titleSet/title/text()) return $x")
urlList = []
actorList = []
......
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from lxml import builder
from lxml import etree
xml_input = etree.parse("./mkg_lido--mkgddb-sub-hack-profil_20170310.xml")
xslt_root = etree.parse("./test.xsl")
transform = etree.XSLT(xslt_root)
newdom = transform(xml_input)
f = file('/home/dominik/Arbeitsfläche/xml-Projekt/test.xml', 'w')
#f.write(buffer)
print >>f, etree.tostring(newdom, pretty_print=True)
f.close()
\ No newline at end of file
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:lido="http://www.lido-schema.org">
<xsl:strip-space element="root" />
<xsl:output method="xml"/>
<!-- Root -->
<xsl:template match="/">
<root>
<xsl:apply-templates/>
</root>
</xsl:template>
<!-- einzelne Objekte -->
<xsl:template match="lido:lido">
<xsl:choose>
<xsl:when test="./lido:descriptiveMetadata/lido:objectClassificationWrap/lido:objectWorkTypeWrap/lido:objectWorkType/lido:term[contains(@lido:pref, 'preferred')] = 'Holzschnitt'">
<object>
<xsl:apply-templates/>
</object>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- ID -->
<xsl:template match="lido:lidoRecID">
<recID><xsl:value-of select="."/></recID>
</xsl:template>
<xsl:template match="lido:conceptID">
</xsl:template>
<!-- Metadaten -->
<xsl:template match="lido:descriptiveMetadata">
<descriptiveMetadata>
<xsl:apply-templates/>
</descriptiveMetadata>
</xsl:template>
<!-- Objektdaten Material -->
<xsl:template match="lido:objectClassificationWrap">
<objectClassificationWrap>
<xsl:apply-templates/>
</objectClassificationWrap>
</xsl:template>
<xsl:template match="lido:objectWorkTypeWrap">
<objectWorkTypeWrap>
<xsl:apply-templates/>
</objectWorkTypeWrap>
</xsl:template>
<xsl:template match="lido:objectWorkType">
<objectWorkType>
<xsl:apply-templates/>
</objectWorkType>
</xsl:template>
<xsl:template match="lido:term">
<term>
<xsl:value-of select="."/>
</term>
</xsl:template>
<!-- Objektdaten Inhalt -->
<xsl:template match="lido:objectIdentificationWrap">
<objectIdentificationWrap>
<xsl:apply-templates/>
</objectIdentificationWrap>
</xsl:template>
<xsl:template match="lido:titleWrap/lido:titleSet/lido:appellationValue">
<title>
<xsl:value-of select="."/>
</title>
</xsl:template>
<xsl:template match="lido:inscriptionsWrap"/>
<xsl:template match="lido:repositoryWrap"/>
<xsl:template match="lido:objectDescriptionWrap/lido:objectDescriptionSet/lido:descriptiveNoteValue">
<description>
<xsl:value-of select="."/>
</description>
</xsl:template>
<xsl:template match="lido:objectMeasurementsWrap/lido:objectMeasurementsSet/lido:displayObjectMeasurements">
<measurements>
<xsl:value-of select="."/>
</measurements>
</xsl:template>
<!-- event -->
<xsl:template match="lido:eventWrap/lido:eventSet/lido:event">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="lido:eventType"/>
<!-- Künstler -->
<xsl:template match="lido:eventActor">
<actor>
<xsl:value-of select="lido:displayActorInRole"/>
</actor>
<actorID>
<xsl:value-of select="lido:actorInRole/lido:actor/lido:actorID"/>
</actorID>
<geboren>
<xsl:value-of select="lido:vitalDatesActor/lido:earliestDate"/>
</geboren>
<gestorben>
<xsl:value-of select="lido:vitalDatesActor/lido:latestDate"/>
</gestorben>
</xsl:template>
<!-- Datum -->
<xsl:template match="lido:eventDate">
<datum>
<xsl:value-of select="lido:displayDate"/>
</datum>
</xsl:template>
<!-- Ort -->
<xsl:template match="lido:eventPlace">
<ort>
<xsl:value-of select="lido:displayPlace"/>
</ort>
</xsl:template>
<xsl:template match="lido:eventMaterialsTech"/>
<xsl:template match="lido:administrativeMetadata">
<recordInfo>
<xsl:value-of select="lido:recordWrap/lido:recordInfoSet/lido:recordInfoLink"/>
</recordInfo>
<bildLink>
<xsl:value-of select="lido:resourceWrap/lido:resourceSet/lido:resourceRepresentation/lido:linkResource"/>
</bildLink>
</xsl:template>
</xsl:stylesheet>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment