+ Antworten
Ergebnis 1 bis 3 von 3

Thema: <xsl: if Testbedingung>

  1. #1
    TP-Member medieninf macht alles soweit korrekt
    Registriert seit
    Mar 2006
    Beiträge
    93

    <xsl: if Testbedingung>

    Hallo,

    ich hab eine Menge von Relationstags in der Form in meiner XML Datei

    <root>
    <bla>
    <rel id="1" a="test1" b="test2"/>
    <rel id="2" a="test3" b="test4"/>
    <rel id="3" a="test5" b="test6"/>
    </bla>
    </root>

    Nun will ich mit xsl:if prüfen, ob der tag <rel mit den Attributen a="test3" und b="test4" existiert und darauf entsprechend reagieren. Mit der Formulierung des xsl:if hab ich aber so meine Probleme... Hat wer ne Idee? Dachte an sowas in der Richtung, klappt aber nicht:

    <xsl:if test="/bla/rel[@a='test1' and @b='test2']">Ist enthalten!</xsl:if>

    Gruß und Danke

  2. #2
    TP-Junior xml-looser macht alles soweit korrekt
    Registriert seit
    Jun 2009
    Beiträge
    7

    wo bin ich

    Code:
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:variable name="lf" select="'&#xA;'"/>
    	<xsl:template match="/">
    		<xsl:text>von der root</xsl:text>
    		<xsl:value-of select="$lf"/>
    		<xsl:if test="root/bla/rel/@a='test1' and root/bla/rel/@b='test2'">test1 und test2</xsl:if>
    		<xsl:value-of select="$lf"/>
    		<xsl:if test="root/bla/rel/@a='test1' and root/bla/rel/@b='test2'">test1 und test2</xsl:if>
    		<xsl:value-of select="$lf"/>
    		<xsl:if test="root/bla/rel/@a='test1' and root/bla/rel/@b='test2'">test1 und test2</xsl:if>
    		<xsl:value-of select="$lf"/>
    		<xsl:apply-templates select="root/bla"/>
    	</xsl:template>
    	<xsl:template match="bla">
    		<xsl:text>in Tag blah</xsl:text>
    		<xsl:value-of select="$lf"/>
    		<xsl:if test="rel/@a='test1' and rel/@b='test2'">test1 und test2</xsl:if>
    		<xsl:value-of select="$lf"/>
    		<xsl:if test="rel/@a='test3' and rel/@b='test4'">test3 und test4</xsl:if>
    		<xsl:value-of select="$lf"/>
    		<xsl:if test="rel/@a='test5' and rel/@b='test6'">test5 und test6</xsl:if>
    		<xsl:value-of select="$lf"/>
    		<xsl:if test="rel[@a='test1' and @b='test2']">test1 und test2</xsl:if>
    		<xsl:value-of select="$lf"/>
    		<xsl:if test="rel[@a='test3' and @b='test4']">test3 und test4</xsl:if>
    		<xsl:value-of select="$lf"/>
    		<xsl:if test="rel[@a='test5' and @b='test6']">test5 und test6</xsl:if>
    		<xsl:value-of select="$lf"/>
    		<xsl:text>im Tag rel"</xsl:text>
    		<xsl:apply-templates select="rel"/>
    	</xsl:template>
    	<xsl:template match="rel">
    		<xsl:value-of select="$lf"/>
    		<xsl:if test="@a='test1' and @b='test2'">test1 und test2</xsl:if>
    		<xsl:if test="@a='test3' and @b='test4'">test3 und test4</xsl:if>
    		<xsl:if test="@a='test5' and @b='test6'">test5 und test6</xsl:if>
    	</xsl:template>
    </xsl:stylesheet>

    Code:
    von der root
    test1 und test2
    test1 und test2
    test1 und test2
    in Tag blah
    test1 und test2
    test3 und test4
    test5 und test6
    test1 und test2
    test3 und test4
    test5 und test6
    im Tag rel"
    test1 und test2
    test3 und test4
    test5 und test6
    man sollte wissen wo man sich im Baum befindet
    Helmut Hagemann

  3. #3
    TP-Member medieninf macht alles soweit korrekt
    Registriert seit
    Mar 2006
    Beiträge
    93
    Alles klar. Besten Dank für Deine Hilfe. Schönes WE noch.

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51