blob: b873d86ed3b2addc0039abbfbc9037b0efc7a442 [file] [log] [blame]
<?xml version="1.0"?>
<stx:transform xmlns:stx="http://stx.sourceforge.net/2002/ns"
xmlns:sql="http://apache.org/cocoon/SQL/2.0"
version="1.0">
<stx:template match="sql:rowset">
<stx:process-children group="list"/>
</stx:template>
<stx:group name="list">
<stx:buffer name="first-row"/>
<!-- Use data from the first row two times, first for header names
and then for content -->
<stx:template match="sql:row[1]">
<stx:result-buffer name="first-row">
<stx:process-children group="copy"/>
</stx:result-buffer>
<stx:process-buffer name="first-row" group="header"/>
<stx:text>&#10;</stx:text>
<stx:process-buffer name="first-row"/>
<stx:text>&#10;</stx:text>
</stx:template>
<stx:template match="sql:row">
<stx:process-children/>
<stx:text>&#10;</stx:text>
</stx:template>
<stx:template match="sql:*">
<stx:value-of select="."/>
<stx:text>&#09;</stx:text>
</stx:template>
</stx:group>
<!-- Copy everything -->
<stx:group name="copy">
<stx:template match="node()">
<stx:copy attributes="@*">
<stx:process-children/>
</stx:copy>
</stx:template>
</stx:group>
<!-- Use element names for header -->
<stx:group name="header">
<stx:template match="sql:*">
<stx:value-of select="local-name()"/>
<stx:text>&#09;</stx:text>
</stx:template>
</stx:group>
</stx:transform>