|
About
Aus der Tiefe, Meldungen des Rechenzentrums in der Cauerstrasse 11
Matthias Bauer und Martin Bayer
problems@math.fau.de
Subscribe
Subscribe to a syndicated feed of my weblog,
brought to you by the wonders of RSS.
Flavours
There's more than one way to view this weblog; try these flavours on
for size.
index
circa 1993
RSS
Links
Shoestring FoundationMiscellaneous byproducts
|
|
|
Die Uni hat ein Centrales System zur Verwaltung(?) von Publikationen, genannt CRIS.
Und hat anscheinend Geld dafuer ausgegeben. Das Ding hat einen Export von Publikationen
ueber eine RESTful API, hier dokumentiert.
Ok, was soll das tun? Eine Publikationsliste zurueckgeben, zur Weiterverarbeitung
durch oBdA ein Computerprogramm.
Sie behaupten, XML zu nehmen. OK, kann man machen, ist seit ca. 2010 nicht mehr so das
Encoding der Wahl, aber was solls, wir haben ja XSLT und sowas. Bibliographische
Daten in XML haben schon mehrere Leute gemacht, schaut dann immer aus wie
<bibitem>
<authors>
<author><firstname>Joe R.</firstname><lastname>Hacker</lastname></author>
<author><firstname>Eva Lu</firstname><lastname>Ator</lastname></author>
</authors>
<title>First steps with XML</title>
<year>1998</year>
<publisher>Wiley Coyote & Sons Inc.</publisher>
</bibitem>
you get the drift...
Die CRISler haben das mit dem XML so richtig gar nicht kapiert. Deren Format sieht so aus
<infoObjects size="4">
<infoObject type="Publication">
<attribute disposition="string" language="0" name="cfTitle">
<data> Der Titel </data>
</attribute>
<attribute disposition="string" language="0" name="srcAuthors">
<data> Rster E., Weiter Z., Ritter D. </data>
</attribute>
<attribute disposition="year" language="0" name="publYear">
<data> 2012</data>
</attribute>
<attribute disposition="string" language="0" name="exportAuthors">
<data> Rster:Erich|Weiter:Zacharias|Ritter:Dieter</data>
</attribute>
<attribute disposition="choicegroup" language="0" name="Publication type">
<data> 3338</data>
<additionalInfo> Article in Edited Volumes</additionalInfo>
</attribute>
...
Was daran falsch ist, ist so ziemlich alles.
- Sie haben kein Schema und kein DTD, es kann niemand wissen, was da rein darf und wie.
- Ihre Tags haben keine Semantik ("data", "infoObject", "attribute")
- Wenn <infoObjects> einen Subtree aufmacht, dann
muss man XMLparsern nicht erzaehlen, wieviele Elemente da drin sind, das finden die selber raus.
- Statt Zusatzinfo in Attribute von Tags zu tun, und Daten in die Contents des Tags, machen sie
<data> und <additionalInfo> Tags (das Stirnklatschen wird ab hier schmerzhaft).
- Statt einen Tag <title> zu machen, basteln sie ein <attribute>, der dann ein "name" Attribute
hat (ein attribute mit attributes, WTF), dessen Wert dann "cfTitle" ist.
- Statt einem <author> Tag nehmen sie mehrere "attribute" Tags,
die dann entweder _einen_ String mit den gekuerzten Autorennamen haben (was kaputtgeht, sobald
ein "William Gates, the third" dabei ist, weil das Komma hier nicht der Trenner ist), oder
die vollstaendigen Autorennamen, aber nicht als parse-bare Folge von XML Elementen, sondern
in _einem_ String, mit Pipes und Doppelpunkten getrennt. D.h. wer das verarbeiten will,
muss String-handling machen, und damit die Namen rausparsen. Das war echt nicht die Idee
bei XML!
- Statt einem type-Attribute fuer eine
Veroeffentlichung im umgebenden Tag machen sie einen "attribute" tag mit einem "name" Attribut,
dass dann den Wert "Publication type", und dessen Subelelement "additionalInfo" dann den
Wert enthaelt.
Diese Sch*!%se ist mit XSLT o.ae. nur unter solchen Schmerzen verarbeitbar, dass es niemand machen wird.
[/bauerm]
permanent link
|
|