Announcement

Collapse
No announcement yet.

XSLT -XPath mit regulären Ausdrücke

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • XSLT -XPath mit regulären Ausdrücke

    Hallo,
    ich hoffe hier kann mir jemand weiterhelfen,
    ich will folgende XML-Struktur:
    <Year>
    Jahr zwischen {2005:2009}
    </Year>
    <Year>
    Jahr zwischen {2007:2008}
    </Year>

    in diese XML Transformieren:
    <Year>
    <From display="2005">
    <To display="2009">
    </Year>
    <Year>
    <From display="2007">
    <To display="2008">
    </Year>

    wie kann ich mir hier das Jahr holen?
    muss man das mit reguläre Ausdrücke machen oder geht es auch mit XSLT-XPath funktionen?

    wäre um jeden Tip dankbar!

    Gruß

  • #2
    Ich habe gerade auf Dein anderes Posting geantwortet und dort String-Funktionen verwendet. Reguläre Ausdrücke können mit den neuen Techniken von XSLT/XPath 2.0 verwendet werden, also nur mit Prozessoren wie Saxon und AltovaXML (<xsl:stylesheet version="2.0" ...>).

    Comment


    • #3
      vielen herzllichen Dank für die schnelle Antwort!

      ich habe noch eine Frage
      wie kann ich folgende Organization's mittels RegExp oder XSLT holen?
      <Organization>
      ('AB','AP','AR','AF')
      </Organization>

      substring-before/substring-after würde hier nicht funktionieren oder?

      Grüsse
      karam

      Comment


      • #4
        Man kann das bei festen Strings mit substring() umsetzen oder bei variablen Strings mittels einem rekursiv aufgerufenen Template (siehe Archiv).
        Unter XSLT/XPath 2.0 gibt es weitere Ansätze:
        Code:
        <xsl:variable name="str"
          select="fn:tokenize(fn:replace(fn:normalize-space(Organization),'\(|\)',''),',')"/>
        In $str[1] bis $str[4] stehen nun die einzelnen 'XY'-Teilzeichenketten zur Verfügung.

        Comment

        Working...
        X