ThomasM: XSL | Satz in einzelne Wörter zerlegen

Beitrag lesen

Hallo Janine,

besten Dank für deinen Entwurf. Ich verstehe dabei aber nicht ganz, welchen Unterschied xs:string+ zu xs:string hat und warum ich bei fn:string-join keinen anderen Operator nutzen kann (habe es auch mit Leerzeichen, Komma und Schrägstrich statt dem Union-Operator | probiert). Warum trennt er $terms durch den Union Operator nach Wörtern und nicht nach gespeicherten Elementen? Wenn ich die Elemente unter $terms zählen lasse, sind es genau 3 (also "Abhilfemaßnahme (FDA)" als ein Element).

xs:string ist genau ein String. xs:string+ steht für 1 bis n Strings in einer Sequenz wie ('a', 'b', 'c'). Das + entspricht dem in der DTD- oder Regex-Syntax.

Der | bildet den ODER-Operator für den regulären Ausdruck mit den einzelnen Begriffen.

Klar, 3, denn "Abhilfemaßnahme (FDA)" war doch offenbar auch als ein Begriff gedacht, siehe die erwartete Ausgabestruktur.

Ich habe ein wenig mit deiner Lösung herumgespielt und versucht, eine Schleife um $terms bzw. um xsl:analyze-string zu legen, aber so richtig ist mir nichts geglückt.

Ja, ist ziemlich vertrackt. Mit separaten Begriffen funktioniert es gut, mit Wortkombinationen wird es komplexer.

Grüße,
Thomas