Auswahl von Elementen ohne bestimmten Attributwert
MudGuard
- xsl
0 Thomas J.S.0 MudGuard0 Thomas J.S.0 MudGuard
Hi,
hab grad ne Denkblockade...
Habe viele Elemente, von denen einige ein (boolesches) Attribut haben, andere haben dieses Attribut nicht.
Das Attribut kann insgesamt also 3 Zustände haben: nicht vorhanden, Wert "true", Wert "false".
<elems>
<elem id="e1" attr="true"/>
<elem id="e2" attr="false"/>
<elem id="e3" />
<elem id="e4" attr="false"/>
<elem id="e5" />
<elem id="e6" attr="true"/>
<elem id="e7" />
<elem id="e8" attr="false"/>
</elems>
(natürlich haben die elem-Teile noch andere Attribute und Inhalte, aber die sind für meine Frage nicht relevant.
Ich versuche jetzt, per XSLT alle diejenigen elem auszuwählen, deren attr _nicht_ den Wert "true" hat - in obigem Beispiel also diejenigen mit id e2, e3, e4, e5, e7, e8.
Klar, diejenigen mit attr="true" ist kein Problem:
<xsl:apply-templates select="/elems/elem[@attr='true']"/>
Aber wie krieg ich ALLE anderen in einem apply-templates?
Steh gerade irgendwie komplett auf der Leitung...
cu,
Andreas
Hallo Andreas,
Klar, diejenigen mit attr="true" ist kein Problem:
<xsl:apply-templates select="/elems/elem[@attr='true']"/>
Aber wie krieg ich ALLE anderen in einem apply-templates?
<xsl:apply-templates select="/elems/elem[(not(@attr)) or (@attr='true'))]"/>
Grüße
Thomas
Hi,
<xsl:apply-templates select="/elems/elem[@attr='true']"/>
Aber wie krieg ich ALLE anderen in einem apply-templates?
<xsl:apply-templates select="/elems/elem[(not(@attr)) or (@attr='true'))]"/>
Mit
<xsl:apply-templates select="/elems/elem[(not(@attr)) or (@attr='false'))]"/>
(also 'false' statt 'true') kommt tatsächlich die gewünschte Menge raus.
Danke fürs von der Leitung schubsen...
cu,
Andreas
Hallo,
(also 'false' statt 'true') kommt tatsächlich die gewünschte Menge raus.
Habe schon beim Drücken der Absenden-Button gemerkt, aber ich wusste, dass du den Fehler schon richigstellen wirst. ;-)
Grüße
Thomas
Hi,
Habe schon beim Drücken der Absenden-Button gemerkt, aber ich wusste, dass du den Fehler schon richigstellen wirst. ;-)
War auch nicht als Kritik an Dir gedacht, sondern fürs Archiv, falls mal jemand ein ähnliches Problem hat...
cu,
Andreas