[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] sql if exists


Subject: RE: [xsl] sql if exists
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 15 Apr 2009 09:08:42 +0100

Sure. You can do it at the XSLT level

<xsl:choose>
  <xsl:when test="exists(/a/b/c)">
    <...>
  </xsl:when>
  <xsl:otherwise>
    <...>
  </xsl:otherwise>
</xsl:choose>

or at the XPath level:

select="if (exists(/a/b/c)) then ... else ..."

In practice people often leave out the call to exists() because the
effective boolean value of a node-sequence is true if it's non-empty, so
this is equivalent to test="/a/b/c".

Michael Kay
http://www.saxonica.com/

> -----Original Message-----
> From: Szabo, Patrick (LNG-VIE) [mailto:patrick.szabo@xxxxxxxxxxxxx]
> Sent: 15 April 2009 08:32
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] sql if exists
>
> Hi,
>
> I4m using saxon 9 and xslt 2.
>
> I want to insert data into a database with my xslt-sheet
> which is no problem. The problem is that i only want to do
> that under certain conditions.
>
> In SQL that4d look like this:
>
> "IF EXISTS ( select * from...)
> 	Do something
> ELSE
> 	do something else"
>
> Is there a way to use that code in my xslt-sheet ?!
>
> Currently i4m using
> "java:/net.sf.saxon.sql.SQLElementFactory" to insert
> something at all.
>
> Thx already
>
> cheers
>
> Patrick Szabo
> EPD / XSLT Konvertierung
> Tel.: +43-1-534 52-1573
> Fax.: +43-1-534 52-1573
> patrick.szabo@xxxxxxxxxxxxx
>
> LexisNexis Verlag ARD Orac GmbH & Co KG
> Marxergasse 25, 1030 Wien
> FN 8333f, Handelsgericht Wien
> www.lexisnexis.at <http://www.lexisnexis.at/>
>
>  <file://C:\Dokumente und
> Einstellungen\szaboP\Anwendungsdaten\Microsoft\Signatures\LN
> Vienna signature-Dateien\image001.jpg>
>
>
>
>
> Patrick Szabo
> XSLT-Entwickler
>
> Tel.: +43 (1) 534 52 - 1573
> Fax: +43 (1) 534 52 - 146
>
> Patrick.Szabo@xxxxxxxxxxxxx
>
> LexisNexis Verlag ARD Orac GmbH & Co KG
> Marxergasse 25, 1030 Wien
> FN 8333f, Handelsgericht Wien
> http://www.lexisnexis.at/


Current Thread
Keywords