[xsl] conditional <sql:column> ?!

Subject: [xsl] conditional <sql:column> ?!
From: "Szabo, Patrick (LNG-VIE)" <patrick.szabo@xxxxxxxxxxxxx>
Date: Tue, 23 Sep 2008 12:17:39 +0200
Hi,

I4m using xslt 2.0 and saxon 9

What i want to do is insert data into a database (which works already), but 1
column should not always be inserted.
This is what i have right now:

<sql:insert connection="$connection" table="concat($art,'_',$gericht)">
<sql:column name="DOKNR"
select="normalize-space(replace(/ris:result/ris:data/ris:risdokument/ris:meta
daten/ris:technisch/ris:id,'_','/'))"/>
<sql:column name="Datum"
select="normalize-space(replace(/ris:result/ris:data/ris:risdokument/ris:meta
daten/ris:judikatur/ris:datum, '-', ''))"/>
<sql:column name="Filename"
select="normalize-space(concat(/ris:result/ris:data/ris:risdokument/ris:metad
aten/ris:technisch/ris:id/text(), '.xml'))"/>
<sql:column name="Gesnr"
select="normalize-space(string(/ris:result/ris:data/ris:risdokument/ris:metad
aten/ris:judikatur/ris:gz/child::*[$count]))"/>


<xsl:if
test="/ris:result/ris:data/ris:risdokument/ris:metadaten/ris:technisch/ris:or
gan/text()='OGH' and
/ris:result/ris:data/ris:risdokument/ris:metadaten/ris:judikatur/ris:doktyp='
T'">
<sql:column name="SZ" select="concat('SZ
',replace(substring-after(normalize-space(/ris:result/ris:data/ris:risdokumen
t/ris:dokumentliste/ris:hauptdokument/ris:inhalt/ris:daten/ris:xml/ris:nutzda
ten/ris:abschnitt[1]/ris:fzinhalt[@typ='p']/ris:absatz), 'Seite '), ' von ',
'/'))"/>
</xsl:if>
</sql:insert>

This does not work because there is no xsl:if allowed in sql:insert and no
sql:column in xsl:if.

How can i accomplish a conditional sql:column ?!

Thanks already !

regards

Current Thread