svg4you: XPATH Expression (boolean check) & .Net

Beitrag lesen

Tach Frank,

propaganda, was, wie? Ich benutze ja XPath und kein XML (haha ;)), und es (XPath) bietet ja so interessante eingebaute Funktionen wie not(), exists(), boolean(), ... uvm.

Wenn Deine Umgebung XSLT 2.0 / XPath 2.0 unterstützt, wäre eine eigene Funktion praktikabel:

  
<?xml version="1.0" encoding="ISO-8859-1"?>  
<xsl:stylesheet version="2.0"  
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
  xmlns:fn="http://www.w3.org/2005/xpath-functions"  
  xmlns:my="http://www.example.net/my"  
  exclude-result-prefixes="fn my">  
  
  <xsl:function name="my:bool">  
    <xsl:param name="test_str"/>  
    <xsl:sequence select="  
      if($test_str='true')  
      then fn:true()  
      else (if($test_str='false') then fn:false() else())"/>  
  </xsl:function>  
  
  <xsl:template match="wurzel">  
    <xsl:value-of select="my:bool(bla/blub/text())"/>  
    <!--  
    <xsl:value-of select="fn:not(my:bool(bla/text()))"/>  
    -->  
  </xsl:template>  
  
</xsl:stylesheet>

Die Funktion gibt also true/false als Wahrheitswerte zurück, die sich dann auch weiter verarbeiten lassen, z. B. mittels fn:not() zu false/true negieren (wie im Kommentar ersichtlich).

Man liest sich,
svg4you