Re: [xsl] saxon with sql extension and attribute template values

Subject: Re: [xsl] saxon with sql extension and attribute template values
From: Georges Schmitz <georges.schmitz@xxxxxxxxx>
Date: Wed, 27 Jun 2007 10:13:15 +0200
Thanks for your answer, I've read the docs, but apparently without having switched on my brain. The documentation doesn't say anything about AVT for row-tag and col-tag.

Michael Kay wrote:
connection is an AVT so it should be connection="{$connection}".
Sorry, but connection is not an AVT.
xsl:attribute creates an attribute node in the result tree - never an
attribute for the containing instruction in the stylesheet.


Good to be reminded of this.
row-tag and column-tag are not AVTs, they must be supplied as literal
values. Those attributes that *are* AVTs are described as such in the
documentation:

http://www.saxonica.com/documentation/sql-extension/query.html

The SQL extension to Saxon was all user-contributed, the reason I say it's
not production-quality is that I don't have the resources to do the
extensive testing needed to do it justice. (I have accepted user-contributed
code in this area that was accompanied by very little test material,
something that I wouldn't do for the mainstream product).
The extension is very helpful in my script, I just need to populate an xml data-interface with sample data from a database.

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

-----Original Message-----
From: Georges Schmitz [mailto:georges.schmitz@xxxxxxxxx] Sent: 26 June 2007 17:06
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] saxon with sql extension and attribute template values


I'm using saxon8-9-0-3j in combination with the sql extension. But using it in a more dynamic way (providing the sql select components by variables or parameters) doesn't work. In the documentation Michael Kay declares the query attributes as being "attribute value templates", but I just get expected results, when I use literal values. It doesn't work either with an xsl:attribute declaration (see "row-tag").

<xsl:variable name="table" as="xs:string">tc_ad</xsl:variable>
<xsl:variable name="cols" as="xs:string">id,nationalidnr,subject</xsl:variable>
<sql:query connection="$connection" table="{$table}" column="{$cols}" column-tag="col" >
<xsl:attribute name="row-tag">
<xsl:value-of select="$table"/>
</xsl:attribute>
</sql:query>

Current Thread