quallensteak_zwo
Member
Heyho liebe Forengemeinde,
Ich war hier vor laengerer Zeit mal aktiv (letzter Post so um 2006), habe dann allerdings mein Passwort ueber die Jahre vergessen und musste mich nun neu anmelden.
Im Laufe meines Indologie-Studiums habe ich den Weg wieder zu FreeBSD gefunden und im Moment stehe ich vor dem Problem, dass ich einige sehr große XML-Dateien habe, mit denen ich irgendwie fertig werden muss.
Allerdings fehlt mir das nötige Know-How dazu. Ich bin ein ziemlicher XML/Datenbankenneuling und fuehl mich deswegen etwas wie der Ochs vorm Berg.
In erster Linie bearbeite ich im Moment alte indische Sanskrit-Texte.
Die Dateien sind in nach TEI-P5 aufgebaut und sehen grob so aus:
Das Sanskrit, was ich verarbeiten moechte, liegt zwischen <l> und </l>.
Auf der anderen Seite habe ich ein XML-File, in der Sanskrit-Woerter in getaggter Form vorliegen.
So ein Eintrag sieht dann wie folgt aus:
Das, was unter form="" zu finden ist ist im Prinzip ein Wort, was in der TEI-P5-Datei zwischen den <l>-Tags auftaucht. Die restlichen Tags sind Daten, die fuer meine Übersetzungsarbeit sehr wichtig sind. Diese Datenbank umfasst circa 70mb.
Im Moment gehe ich noch so vor, dass ich jedes einzelne Wort mit dem Editor herauspfluecke und dann ein
'grep -e' ausfuehre, um an den relevanten Eintrag zu kommen. Das ist natuerlich nicht besonders effizient und von der schoenen XML-Struktur mache ich so ja auch garkeinen Gebrauch.
Wie löse ich das nun eleganter? In welche Tools sollte ich mich einlesen, um hier vorwärts zu kommen?
Ich denke mal es ist keine Raketenwissenschaft. Bisher benutze ich Pythonscripte, um aus den TEI-Dateien Latex-Dateien zu machen und um einfach Konvertierungsgeschichten in den Strings durchzufuehren.
Diese Scripte habe ich allerdings nicht selbst geschrieben, sondern nur fuer meine Zwecke umgebogen.
Also was ich suche ist im Prinzip ein Script, was so einen String zwischen zwei <l>-Tags Wort fuer Wort trennt,
mit der Datenbank abgleicht, bei Uebereinstimmung den entsprechenden Eintrach hinter das Wort setzt und dann zum naechsten Wort geht und wieder nach einer Uebereinstimmung sucht. Da wird es fuer Python doch sicher etwas geben.
Ich bin fuer jeden Hilfe dankbar! (Eine Loesung erwarte ich natuerlich nicht )
Ich war hier vor laengerer Zeit mal aktiv (letzter Post so um 2006), habe dann allerdings mein Passwort ueber die Jahre vergessen und musste mich nun neu anmelden.
Im Laufe meines Indologie-Studiums habe ich den Weg wieder zu FreeBSD gefunden und im Moment stehe ich vor dem Problem, dass ich einige sehr große XML-Dateien habe, mit denen ich irgendwie fertig werden muss.
Allerdings fehlt mir das nötige Know-How dazu. Ich bin ein ziemlicher XML/Datenbankenneuling und fuehl mich deswegen etwas wie der Ochs vorm Berg.
In erster Linie bearbeite ich im Moment alte indische Sanskrit-Texte.
Die Dateien sind in nach TEI-P5 aufgebaut und sehen grob so aus:
Code:
<body>
<div n="1" type="chapter">
<pb n="J 1"/>
<head>Chapter 1</head>
<note place="margin">[ O edn 383-402 :: O tr. 87-93</note>
<div n="1">
<head>1.1. Prologue</head>
<note place="margin">[ O edn 383-384 :: O tr. 87</note>
<lg type="stanza">
<l>M1.01a/ manum ekāgram āsīnam abhigamya maharṣayaḥ |</l>
<l>M1.01c/ pratipūjya yathānyāyam idaṃ vacanam abruvan || 1 ||</l>
</lg>
</div>
</body>
Auf der anderen Seite habe ich ein XML-File, in der Sanskrit-Woerter in getaggter Form vorliegen.
So ein Eintrag sieht dann wie folgt aus:
Code:
<f form="aMSitavadByas"><pa><na><abl/><pl/><neu/></na><kr><cj><prim/></cj><no><ppa/></no></kr></pa><pa><na><dat/><pl/><neu/></na><kr><cj><prim/></cj><no><ppa/></no></kr></pa><pa><na><abl/><pl/><mas/></na><kr><cj><prim/></cj><no><ppa/></no></kr></pa><pa><na><dat/><pl/><mas/></na><kr><cj><prim/></cj><no><ppa/></no></kr></pa><s stem="aMSitavat"/></f>
Im Moment gehe ich noch so vor, dass ich jedes einzelne Wort mit dem Editor herauspfluecke und dann ein
'grep -e' ausfuehre, um an den relevanten Eintrag zu kommen. Das ist natuerlich nicht besonders effizient und von der schoenen XML-Struktur mache ich so ja auch garkeinen Gebrauch.
Wie löse ich das nun eleganter? In welche Tools sollte ich mich einlesen, um hier vorwärts zu kommen?
Ich denke mal es ist keine Raketenwissenschaft. Bisher benutze ich Pythonscripte, um aus den TEI-Dateien Latex-Dateien zu machen und um einfach Konvertierungsgeschichten in den Strings durchzufuehren.
Diese Scripte habe ich allerdings nicht selbst geschrieben, sondern nur fuer meine Zwecke umgebogen.
Also was ich suche ist im Prinzip ein Script, was so einen String zwischen zwei <l>-Tags Wort fuer Wort trennt,
mit der Datenbank abgleicht, bei Uebereinstimmung den entsprechenden Eintrach hinter das Wort setzt und dann zum naechsten Wort geht und wieder nach einer Uebereinstimmung sucht. Da wird es fuer Python doch sicher etwas geben.
Ich bin fuer jeden Hilfe dankbar! (Eine Loesung erwarte ich natuerlich nicht )