André Laugks: [XSLT] Speziellen Text isolieren

Beitrag lesen

Hallo!

<document>
   <report>
      <comment>Hallo commentar. PB123</comment>
   </report>
<document>

Das Muster ist soweit gleich, daß nach PB 3 bis 4 Zahlen kommen die ich isolieren will. Wie bekomme ich das hin ?

Folgendes Konstrukt liefert: PB123
concat('PB', substring-after(/document[1]/report[1]/comment[1], 'PB'))

Folgendes Konstrukt liefert: 'Hallo commentar.'
normalize-space(substring-before(/document[1]/report[1]/comment[1], 'PB'))

-> normalize-space() entfernt das Leerzeichen hinter dem Punkt.

Du mußt das jetzt natürlich noch auf Dein XSLT-Template anpassen und einsetzen. Zum Testen habe ich absolute Pfade verwendet.

Das ist XSLT 1.0. Mit XSLT 2.0 und der Funktion matches(), hätte man es "kürzer" lösen können.

André Laugks

--
Die Frau geht, die Hilti bleibt!