MudGuard: Auswahl von Elementen ohne bestimmten Attributwert

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

--
MudGuard? Siehe http://www.Mud-Guard.de/
  1. 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

    1. 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

      --
      MudGuard? Siehe http://www.Mud-Guard.de/
      1. 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

        1. 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

          --
          MudGuard? Siehe http://www.Mud-Guard.de/