XSLT: Bestimmte Textpassagen aus XML auslesen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • XSLT: Bestimmte Textpassagen aus XML auslesen

    Hallo zum Anfang ich bin ein totaler XML/XSL Anfaenger: Mein Problem lautet: Meine AUfgabe ist es ..einen Workflow zu gestalten und diesen als XML abzuspeichern..nun muss ich einen Stylesheet schreiben der nur fuer uns bestimmte Daten ausliest und ausgibt..mein Problem besteht nun darin..ich habe ein Attribut das viele Attributwerte enthaelt, aber ich brauche nur bestimmt davon. Wie kann ich bestimmte Textpassagen auslesen und die, die ich nicht benoetige verwerfen?
    Hier ein Ausschnitt der XML Datei.


    Quellcode

    1. <Document>
    2. <Page>
    3. <Layer>
    4. <Shape>
    5. <Texts>
    6. <Text Rtf="{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}}&#x0D;&#x0A;{\colortbl ;\red0\green0\blue0;}&#x0D;&#x0A;\viewkind4\uc1\pard\li50\ri50\sl240\slmult1\qc\cf1\highlight0\f0\fs20 Coordinator\par&#x0D;&#x0A;}" TxtFlag="0" ExtendMode="0" />
    7. </Texts>
    8. </Shape>
    9. </Layer>
    10. </Page>
    11. </Document>
    Alles anzeigen


    Und ich moechte jetzt nur das Wort : "Coordinator" herausfiltern.
    Kann mir einer helfen wie ich dies in der XSL schreiben kann?

    Vielen Dank schon mal :)
  • zum Lesen

    de.selfhtml.org/xml/darstellung/xsltelemente.htm
    de.selfhtml.org/xml/darstellung/xpathsyntax.htm#operatoren
    de.selfhtml.org/xml/darstellung/xpathfunktionen.htm

    XML-Quellcode

    1. <?xml version="1.0"?>
    2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    3. <xsl:output indent="yes" method="xml"/>
    4. <xsl:template match="/">
    5. <root>
    6. <xsl:if test="contains(//Text/@Rtf,'Coordinator')"/>
    7. <gesamt>
    8. <xsl:value-of select="//Text/@Rtf"/>
    9. </gesamt>
    10. <after>
    11. <xsl:value-of select="substring-after(//Text/@Rtf,'Coordinator')"/>
    12. </after>
    13. <before>
    14. <xsl:value-of select="substring-before(//Text/@Rtf,'Coordinator')"/>
    15. </before>
    16. </root>
    17. </xsl:template>
    18. </xsl:stylesheet>
    Alles anzeigen
    Helmut Hagemann
    Derjenige, der sagt: Das geht nicht, soll den nicht stören, der's gerade tut.