Created
January 2, 2019 14:07
-
-
Save zopyx/467a01264d53bdaa48ad27cd553cfda8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
xquery version "3.0"; | |
declare function local:trim($arg as xs:string?) as xs:string { | |
replace(replace($arg,'\s+$',''),'^\s+','') | |
} ; | |
let $doc := doc('/foo/de/ayapedia/addendums/ernaehrung_9861fc6a-ba68-11e8-a8a1-001c4210b7a0/current-20180920-111838.bak/xml/index.xml') | |
return | |
<item> | |
<uri>{base-uri($doc)}</uri> | |
<title>{local:trim($doc//meta[@name="Titel"]/value/text())}</title> | |
<description>{local:trim($doc//meta[@name="Beschreibung"]/value/text())}</description> | |
<language>{local:trim($doc//meta[@name="Sprache"]/value/text())}</language> | |
<status>{local:trim($doc//meta[@name="Status"]/value/text())}</status> | |
<area>{local:trim($doc//meta[@name="Bereich"]/value/text())}</area> | |
<path>{local:trim($doc//meta[@name="Pfad"]/value/text())}</path> | |
<date>{local:trim($doc//meta[@name="Stand"]/value/text())}</date> | |
<url>{local:trim($doc//meta[@name="URL"]/value/text())}</url> | |
<atc_code>{local:trim($doc//meta[@name="ATC"]/value/text())}</atc_code> | |
<guideline_id>{local:trim($doc//meta[@name="GuidelineID"]/value/text())}</guideline_id> | |
<plone_uuid>{local:trim($doc//meta[@name="PloneUUID"]/value/text())}</plone_uuid> | |
<old_authors_additional>{local:trim($doc//meta[@name="FruehereAutorenZusatzinformationen"]/value/text())}</old_authors_additional> | |
<authors_additional>{local:trim($doc//meta[@name="AutorenZusatzinformationen"]/value/text())}</authors_additional> | |
<documenttype>{local:trim($doc//meta[@name="DokumentTyp"]/value/text())}</documenttype> | |
{ | |
for $node in $doc//meta[@name="Fachgesellschaften"]/value | |
return | |
<societies json:array="true">{$node/text()}</societies> | |
} | |
{ | |
for $node in $doc//meta[@name="Zulassungsland"]/value | |
return | |
<certification_countries json:array="true">{$node/text()}</certification_countries> | |
} | |
{ | |
for $node in $doc//meta[@name="ICD10"]/value | |
return | |
<codes_icd10 json:array="true">{$node/text()}</codes_icd10> | |
} | |
{ | |
for $node in $doc//meta[@name="LLThema"]/value | |
return | |
<guideline_topics json:array="true">{$node/text()}</guideline_topics> | |
} | |
{ | |
for $node in $doc//meta[@name="Spezifikation"]/value | |
return | |
<specifications json:array="true">{$node/text()}</specifications> | |
} | |
{ | |
for $node in $doc//meta[@name="Spezifikation2"]/value | |
return | |
<specifications2 json:array="true">{$node/text()}</specifications2> | |
} | |
{ | |
for $node in $doc//meta[@name="Klassifizierung"]/value | |
return | |
<classifications json:array="true">{$node/text()}</classifications> | |
} | |
{ | |
for $node in $doc//meta[@name="Autoren"]/value | |
return <authors json:array="true">{$node/text()}</authors> | |
} | |
{ | |
for $node in $doc//meta[@name="FruehereAutoren"]/value | |
return <old_authors json:array="true">{$node/text()}</old_authors> | |
} | |
</item> | |
Output of XML under eXist-db and BaseX | |
<item> | |
<uri>/foo/de/ayapedia/addendums/ernaehrung_9861fc6a-ba68-11e8-a8a1-001c4210b7a0/current-20180920-111838.bak/xml/index.xml</uri> | |
<title>Ernährung</title> | |
<description/> | |
<language>de</language> | |
<status>current</status> | |
<area>ayapedia</area> | |
<path/> | |
<date>2018-09</date> | |
<url/> | |
<atc_code/> | |
<guideline_id>bef53078-2d8d-42d1-af8c-b3d387dfa52e</guideline_id> | |
<plone_uuid>464520ec154a42839b9f5d2635caccaf</plone_uuid> | |
<old_authors_additional/> | |
<authors_additional>für den Arbeitskreis Ernährung, Stoffwechsel und Bewegung der DGHO</authors_additional> | |
<documenttype>ayapedia</documenttype> | |
<societies xmlns:json="http://basex.org/modules/json" json:array="true">dgho</societies> | |
<guideline_topics xmlns:json="http://basex.org/modules/json" json:array="true">183</guideline_topics> | |
<authors xmlns:json="http://basex.org/modules/json" json:array="true">9211</authors> | |
<authors xmlns:json="http://basex.org/modules/json" json:array="true">5577</authors> | |
<authors xmlns:json="http://basex.org/modules/json" json:array="true">13728</authors> | |
<authors xmlns:json="http://basex.org/modules/json" json:array="true">373215</authors> | |
</item> | |
JSON output eXist-DB: | |
{ | |
"status":"draft", | |
"old_authors_additional":null, | |
"guideline_id":"9861fc6a-ba68-11e8-a8a1-001c4210b7a0", | |
"description":null, | |
"language":"de", | |
"area":"ayapedia", | |
"url":null, | |
"atc_code":null, | |
"title":"Ern\u00e4hrung", | |
"uri":"/db/onkopedia/de/ayapedia/addendums/ernaehrung_9861fc6a-ba68-11e8-a8a1-001c4210b7a0/draft/xml/index.xml", | |
"authors_additional":"f\u00fcr den Arbeitskreis Ern\u00e4hrung, Stoffwechsel und Bewegung der DGHO", | |
"authors":[ | |
"9211", | |
"5577", | |
"13728", | |
"373215" | |
], | |
"guideline_topics":[ | |
"183" | |
], | |
"documenttype":"ayapedia", | |
"date":"2018-09", | |
"path":null, | |
"plone_uuid":"0a85617d3c0c4b57b0c7b20d2b0c6d56", | |
"societies":[ | |
"dgho" | |
] | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment