Hi -- ich bin völlig unbedarft in Sachen xml/xslt ( das betrifft leider auch die xsl-Terminologie, sorry!) Es geht um xml-Import in eine Datenbank (FileMaker) und ich stehe hier aktuell mit einem einstmals für mich angefertigten Stylesheet, welches ich zu adaptieren habe, was mir bisher nur teilweise geglückt ist. Ich hoffe ich kann mein Problem deutlich machen .. hier zunächst ein Auszug aus der xml-Datei:
Alles anzeigen
Aufgabe ist es das Attribut 'words' aus allen Zeilen unterhalb <analyse> zu extrahieren. Das klappt im Prinzip auch, aber das Problem sind die vier <fuzzy..> Zeilen, die ich bisher versucht habe in einem separaten Importvorgang zu extrahieren - auch das gelingt, aber dann wiederum gelingt es mir nicht in die importierten fuzzy-Datensätze die <file guid> mitzunehmen (die zwei Ebenen höher liegt) ... ich denke das müsste mit parent oder ancestor möglich sein ?!. Wie genau lautet der Code dafür? Hier mein Ansatz:
Ist die Idee als solche richtig, oder sollte man das ganz anders machen? Besser wäre natürlich alles in einem Rutsch zu importieren, aber ich sehe nicht, wie ich dabei alle <fuzzys> mit reinbekomme... vielen Dank für jede Hilfe -- jo
Quellcode
- <file name="xy.doc" guid="0cb0da0b-70b8-426c-88eb-6c55e41906be">
- <analyse>
- <perfect segments="0" words="0" characters="0" placeables="0" />
- <inContextExact segments="4" words="4" characters="7" placeables="3" />
- <exact segments="5" words="14" characters="19" placeables="32" />
- <repeated segments="1" words="2" characters="4" placeables="6" />
- <total segments="15" words="33" characters="56" placeables="88" />
- <new segments="1" words="1" characters="2" placeables="0" />
- <fuzzy min="50" max="74" segments="1" words="3" characters="4" placeables="9" />
- <fuzzy min="75" max="84" segments="2" words="7" characters="16" placeables="32" />
- <fuzzy min="85" max="94" segments="0" words="0" characters="0" placeables="0" />
- <fuzzy min="95" max="99" segments="1" words="2" characters="4" placeables="6" />
- </analyse>
- </file>
Aufgabe ist es das Attribut 'words' aus allen Zeilen unterhalb <analyse> zu extrahieren. Das klappt im Prinzip auch, aber das Problem sind die vier <fuzzy..> Zeilen, die ich bisher versucht habe in einem separaten Importvorgang zu extrahieren - auch das gelingt, aber dann wiederum gelingt es mir nicht in die importierten fuzzy-Datensätze die <file guid> mitzunehmen (die zwei Ebenen höher liegt) ... ich denke das müsste mit parent oder ancestor möglich sein ?!. Wie genau lautet der Code dafür? Hier mein Ansatz:
Quellcode
- <xsl:for-each select="task/file/analyse/fuzzy">
- <ROW MODID="1" RECORDID="1">
- <COL><DATA><xsl:value-of select="parent/parent/@guid"/></DATA></COL>
- <COL><DATA><xsl:value-of select="@min"/></DATA></COL>
- <COL><DATA><xsl:value-of select="@max"/></DATA></COL>
- <COL><DATA><xsl:value-of select="@words"/></DATA></COL>
- </ROW>
Ist die Idee als solche richtig, oder sollte man das ganz anders machen? Besser wäre natürlich alles in einem Rutsch zu importieren, aber ich sehe nicht, wie ich dabei alle <fuzzys> mit reinbekomme... vielen Dank für jede Hilfe -- jo