Listing 1

.<xdl:querysheet>

<!-- The definition of "mydb"
is defined in a
property file -->
<xdl:datasource ns="mydb"/>

<xdl:statement ns="users">
select id, first, middle,
last from users
</xdl:statement>

<xdl:template match="/">

<!-- top level element of
the output. -->
<xdl:element name="Users">
<!-- name space expression
% attaches to the
mydb datasource -->
<xdl:transaction datasource=
"%mydb">
<xdl:session statement=
"%users">
<!-- query has been
executed, iterate
over the result -->
<xdl:for-each expr="*">
<xdl:element name="User">
<!-- bind the results
to elements. -->
<xdl:element name="Id"
expr="*1"/>
<xdl:element name=
"First" expr="*2"/>
</xdl:element>
</xdl:for-each>
</xdl:session>
</xdl:transaction>
</xdl:element>
</xdl:template>

</xdl:querysheet>