Hallo,
Ich versuch gerade eine automatisierte Übersetzung durchzuführen. Hierzu soll ein Wörterbuch (lexikon.xml) aufgerufen werden und das entsprechende englische Wort übernommen werden.
Ich wollte es folgendermaßen machen (Pseudo-Algo) :
Finde im Dokument den Textknoten "Kunde"; danach rufe im Lexikon die entsprechende Stelle, wo das Wort "Kunde" erscheint und merke die Position.
Ein Elementknoten vor der gefundenen Stelle ist das englische Wort.
Dann übersetze das Wort und suche nächstes Wort....
Mein XSL hierfür funktioniert leider nicht.Xalan beschwert sich zurecht mit mit "unknown nodetype".
Aber ich weiss leider nicht, wie ich das sonst machen soll. Kann mir vielleicht jemand einen Tip geben ?
<xsl:template match="*[text()='Kunde']">
<xsl:variable name="trans" select="text()"/>
<xsl:variable name="pos" select="number(document('lexikon.xml')//seg[text()=$trans]/position())"/>
<xsl:variable name="ersetze" select="string(document('lexikon.xml')//wort[$pos][1])"/>
...
Die lexikon.xml sieht so aus :
...
<tu>
<wort xml:lang="en"><seg>login</seg></wort>
<wort xml:lang="de"><seg>Anmeldung</seg></wort>
</tu>
<tu>
<wort xml:lang="en"><seg>customer</seg></wort>
<wort xml:lang="de"><seg>Kunde</seg></wort>
</tu>
<tu>
<wort xml:lang="en"><seg>order</seg></wort>
<wort xml:lang="de"><seg>Bestellung</seg></wort>
</tu>
<tu>
<wort xml:lang="en"><seg>browse</seg></wort>
<wort xml:lang="de"><seg>suchen</seg></wort>
</tu>
...