Subject: RE: [xsl] effective boolean value of the result of an extension instruction From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Mon, 7 Mar 2005 22:43:19 -0000 |
The <xsl:variable> is either going to give you a run-time error, or it's going to set the variable to a value of type java:java.sql.Connection. The xsl:fallback gives fallback behavior if the sql:connect instruction isn't recognized. If you want to handle a failure reported by the JDBC database connection, you'll have to use saxon:try() (which is a Saxon-SA extension function). Alternatively you could of course modify the sql:connect source code - it's only really intended as a specimen implementation. Michael Kay Saxonica Limited > -----Original Message----- > From: Kevin Rodgers [mailto:kevin.rodgers@xxxxxxx] > Sent: 07 March 2005 22:25 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] effective boolean value of the result of an > extension instruction > > I'm using Saxon's SQL extension in an XSLT 2.0 stylesheet. > First I set > a variable to the JDBC connection, like this: > > <xsl:variable name="mb3-connection" > as="java:java.sql.Connection" > xmlns:java="http://saxon.sf.net/java-type"> > <xsl:choose> > <xsl:when test="element-available('sql:connect')"> > <sql:connect driver="{$sql-driver}" database="{$sql-url}" > user="{$sql-user}" > password="{$sql-password}"> > <xsl:fallback> > <xsl:message select="'SQL extension is not installed'" > terminate="yes"/> > </xsl:fallback> > </sql:connect> > </xsl:when> > <xsl:otherwise> > <xsl:message select="'<sql:connect> is not > available'" > terminate="yes"/> > </xsl:otherwise> > </xsl:choose> > </xsl:variable> > > According to the documentation, the result is a value of type > "external > object". Later, when I reference it in a conditional expression: > > <xsl:value-of select="if ($mb3-connection) > then > esd:curr-doc-num($mb3-connection, $relation) > else $relation"/> > > Saxon reports: > > net.sf.saxon.trans.DynamicError: Effective boolean value is > not defined for a sequence > starting with an atomic value other than a boolean, number, > or string > > Is there a way to test the mb3-connection variable, or do the > <xsl:message terminate="yes"/> instructions in its declaration already > ensure that processing doesn't continue unless it was set > successfully? > > Thanks, > -- > Kevin Rodgers
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] effective boolean value of th, Kevin Rodgers | Thread | Re: [xsl] effective boolean value o, David Carlisle |
[xsl] effective boolean value of th, Kevin Rodgers | Date | Re: [xsl] effective boolean value o, David Carlisle |
Month |