Announcement

Collapse
No announcement yet.

document() und value mapping

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

  • document() und value mapping

    Hallo zusammen,
    ich hoffe euch gehts gut und könnt Ihr mir bei der suche der Antwort Helfen..

    Mein Source:
    <root>
    <shirts>
    <shirt>3</shirt>
    <shirt>2</shirt>
    <shirt>1</shirt>
    </shirts>
    </root>

    Hier die XSLT:nicht richtige
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xslutput method="xml"/>
    <xsl:variable name="sapval" select="root/shirts/shirt"/>
    <xsl:template match="root/shirts/shirt">
    <xsl:for-each select=".">
    <shirtfarbe>
    <xsl:apply-templates select="document('xq485.xml')//*[@cid=$sapval]"/>
    </shirtfarbe>
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>
    Hier die aufgerufene xml file xq485.xml:
    <colors>
    <color cid="1">yellow</color>
    <color cid="2">black</color>
    <color cid="3">red</color>
    </colors>

    gewünschte Ausgabe
    <shirtfarbe>red</shirtfarbe>
    <shirtfarbe>black</shirtfarbe>
    <shirtfarbe>yellow</shirtfarbe>


    wäre sehr dankbar, wenn Sie mir helfen könntet.
    Schöne Grüße...

  • #2
    Die gewünschte Ausgabe wird so erreicht:
    Code:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
      <xsl:output method="xml"/>
      <xsl:template match="root/shirts">
        <shirts>
          <xsl:for-each select="shirt">
            <xsl:variable name="sapval" select="."/>
            <shirtfarbe>
              <xsl:value-of select="document('xq485.xml')//*[@cid=$sapval]"/>
            </shirtfarbe>
          </xsl:for-each>
        </shirts>
      </xsl:template>
    </xsl:stylesheet>

    Comment


    • #3
      Hallo Thomas,
      vielen Dank für die schnellere Unterstützung.

      Comment

      Working...
      X