<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:template match="table">
  <document>
    <!-- select * from table where id = ... -->
    <xsl:apply-templates select="row[id=3]"/>
    <xsl:apply-templates select="row[id=13]"/>
    <xsl:apply-templates select="row[id=23]"/>
    <xsl:apply-templates select="row[id=33]"/>
    <xsl:apply-templates select="row[id=43]"/>
    <xsl:apply-templates select="row[id=53]"/>
    <xsl:apply-templates select="row[id=63]"/>
    <xsl:apply-templates select="row[id=73]"/>
    <xsl:apply-templates select="row[id=83]"/>
    <xsl:apply-templates select="row[id=93]"/>
    <xsl:apply-templates select="row[id=103]"/>
    <xsl:apply-templates select="row[id=113]"/>
    <xsl:apply-templates select="row[id=123]"/>
    <xsl:apply-templates select="row[id=133]"/>
    <xsl:apply-templates select="row[id=143]"/>
    <xsl:apply-templates select="row[id=153]"/>
    <xsl:apply-templates select="row[id=163]"/>
    <xsl:apply-templates select="row[id=173]"/>
    <xsl:apply-templates select="row[id=183]"/>
    <xsl:apply-templates select="row[id=193]"/>
    <xsl:apply-templates select="row[id=203]"/>
    <xsl:apply-templates select="row[id=213]"/>
    <xsl:apply-templates select="row[id=223]"/>
    <xsl:apply-templates select="row[id=233]"/>
    <xsl:apply-templates select="row[id=243]"/>
    <xsl:apply-templates select="row[id=253]"/>
    <xsl:apply-templates select="row[id=263]"/>
    <xsl:apply-templates select="row[id=273]"/>
    <xsl:apply-templates select="row[id=283]"/>
    <xsl:apply-templates select="row[id=293]"/>
    <xsl:apply-templates select="row[id=303]"/>
    <xsl:apply-templates select="row[id=313]"/>
    <xsl:apply-templates select="row[id=323]"/>
    <xsl:apply-templates select="row[id=333]"/>
    <xsl:apply-templates select="row[id=343]"/>
    <xsl:apply-templates select="row[id=353]"/>
    <xsl:apply-templates select="row[id=363]"/>
    <xsl:apply-templates select="row[id=373]"/>
    <xsl:apply-templates select="row[id=383]"/>
    <xsl:apply-templates select="row[id=393]"/>
    <xsl:apply-templates select="row[id=403]"/>
    <xsl:apply-templates select="row[id=413]"/>
    <xsl:apply-templates select="row[id=423]"/>
    <xsl:apply-templates select="row[id=433]"/>
    <xsl:apply-templates select="row[id=443]"/>
    <xsl:apply-templates select="row[id=453]"/>
    <xsl:apply-templates select="row[id=463]"/>
    <xsl:apply-templates select="row[id=473]"/>
    <xsl:apply-templates select="row[id=483]"/>
    <xsl:apply-templates select="row[id=493]"/>
    <xsl:apply-templates select="row[id=503]"/>
    <xsl:apply-templates select="row[id=513]"/>
    <xsl:apply-templates select="row[id=523]"/>
    <xsl:apply-templates select="row[id=533]"/>
    <xsl:apply-templates select="row[id=543]"/>
    <xsl:apply-templates select="row[id=553]"/>
    <xsl:apply-templates select="row[id=563]"/>
    <xsl:apply-templates select="row[id=573]"/>
    <xsl:apply-templates select="row[id=583]"/>
    <xsl:apply-templates select="row[id=593]"/>
    <xsl:apply-templates select="row[id=603]"/>
    <xsl:apply-templates select="row[id=613]"/>
    <xsl:apply-templates select="row[id=623]"/>
    <xsl:apply-templates select="row[id=633]"/>
    <xsl:apply-templates select="row[id=643]"/>
    <xsl:apply-templates select="row[id=653]"/>
    <xsl:apply-templates select="row[id=663]"/>
    <xsl:apply-templates select="row[id=673]"/>
    <xsl:apply-templates select="row[id=683]"/>
    <xsl:apply-templates select="row[id=693]"/>
    <xsl:apply-templates select="row[id=703]"/>
    <xsl:apply-templates select="row[id=713]"/>
    <xsl:apply-templates select="row[id=723]"/>
    <xsl:apply-templates select="row[id=733]"/>
    <xsl:apply-templates select="row[id=743]"/>
    <xsl:apply-templates select="row[id=753]"/>
    <xsl:apply-templates select="row[id=763]"/>
    <xsl:apply-templates select="row[id=773]"/>
    <xsl:apply-templates select="row[id=783]"/>
    <xsl:apply-templates select="row[id=793]"/>
    <xsl:apply-templates select="row[id=803]"/>
    <xsl:apply-templates select="row[id=813]"/>
    <xsl:apply-templates select="row[id=823]"/>
    <xsl:apply-templates select="row[id=833]"/>
    <xsl:apply-templates select="row[id=843]"/>
    <xsl:apply-templates select="row[id=853]"/>
    <xsl:apply-templates select="row[id=863]"/>
    <xsl:apply-templates select="row[id=873]"/>
    <xsl:apply-templates select="row[id=883]"/>
    <xsl:apply-templates select="row[id=893]"/>
    <xsl:apply-templates select="row[id=903]"/>
    <xsl:apply-templates select="row[id=913]"/>
    <xsl:apply-templates select="row[id=923]"/>
    <xsl:apply-templates select="row[id=933]"/>
    <xsl:apply-templates select="row[id=943]"/>
    <xsl:apply-templates select="row[id=953]"/>
    <xsl:apply-templates select="row[id=963]"/>
    <xsl:apply-templates select="row[id=973]"/>
    <xsl:apply-templates select="row[id=983]"/>
    <xsl:apply-templates select="row[id=993]"/>
    <!-- select * from table where id > ... and id < ... -->
    <xsl:apply-templates select="row[id&gt;4 and id&lt;8]"/>
    <xsl:apply-templates select="row[id&gt;14 and id&lt;18]"/>
    <xsl:apply-templates select="row[id&gt;24 and id&lt;28]"/>
    <xsl:apply-templates select="row[id&gt;34 and id&lt;38]"/>
    <xsl:apply-templates select="row[id&gt;44 and id&lt;48]"/>
    <xsl:apply-templates select="row[id&gt;54 and id&lt;58]"/>
    <xsl:apply-templates select="row[id&gt;64 and id&lt;68]"/>
    <xsl:apply-templates select="row[id&gt;74 and id&lt;78]"/>
    <xsl:apply-templates select="row[id&gt;84 and id&lt;88]"/>
    <xsl:apply-templates select="row[id&gt;94 and id&lt;98]"/>
    <xsl:apply-templates select="row[id&gt;104 and id&lt;108]"/>
    <xsl:apply-templates select="row[id&gt;114 and id&lt;118]"/>
    <xsl:apply-templates select="row[id&gt;124 and id&lt;128]"/>
    <xsl:apply-templates select="row[id&gt;134 and id&lt;138]"/>
    <xsl:apply-templates select="row[id&gt;144 and id&lt;148]"/>
    <xsl:apply-templates select="row[id&gt;154 and id&lt;158]"/>
    <xsl:apply-templates select="row[id&gt;164 and id&lt;168]"/>
    <xsl:apply-templates select="row[id&gt;174 and id&lt;178]"/>
    <xsl:apply-templates select="row[id&gt;184 and id&lt;188]"/>
    <xsl:apply-templates select="row[id&gt;194 and id&lt;198]"/>
    <xsl:apply-templates select="row[id&gt;204 and id&lt;208]"/>
    <xsl:apply-templates select="row[id&gt;214 and id&lt;218]"/>
    <xsl:apply-templates select="row[id&gt;224 and id&lt;228]"/>
    <xsl:apply-templates select="row[id&gt;234 and id&lt;238]"/>
    <xsl:apply-templates select="row[id&gt;244 and id&lt;248]"/>
    <xsl:apply-templates select="row[id&gt;254 and id&lt;258]"/>
    <xsl:apply-templates select="row[id&gt;264 and id&lt;268]"/>
    <xsl:apply-templates select="row[id&gt;274 and id&lt;278]"/>
    <xsl:apply-templates select="row[id&gt;284 and id&lt;288]"/>
    <xsl:apply-templates select="row[id&gt;294 and id&lt;298]"/>
    <xsl:apply-templates select="row[id&gt;304 and id&lt;308]"/>
    <xsl:apply-templates select="row[id&gt;314 and id&lt;318]"/>
    <xsl:apply-templates select="row[id&gt;324 and id&lt;328]"/>
    <xsl:apply-templates select="row[id&gt;334 and id&lt;338]"/>
    <xsl:apply-templates select="row[id&gt;344 and id&lt;348]"/>
    <xsl:apply-templates select="row[id&gt;354 and id&lt;358]"/>
    <xsl:apply-templates select="row[id&gt;364 and id&lt;368]"/>
    <xsl:apply-templates select="row[id&gt;374 and id&lt;378]"/>
    <xsl:apply-templates select="row[id&gt;384 and id&lt;388]"/>
    <xsl:apply-templates select="row[id&gt;394 and id&lt;398]"/>
    <xsl:apply-templates select="row[id&gt;404 and id&lt;408]"/>
    <xsl:apply-templates select="row[id&gt;414 and id&lt;418]"/>
    <xsl:apply-templates select="row[id&gt;424 and id&lt;428]"/>
    <xsl:apply-templates select="row[id&gt;434 and id&lt;438]"/>
    <xsl:apply-templates select="row[id&gt;444 and id&lt;448]"/>
    <xsl:apply-templates select="row[id&gt;454 and id&lt;458]"/>
    <xsl:apply-templates select="row[id&gt;464 and id&lt;468]"/>
    <xsl:apply-templates select="row[id&gt;474 and id&lt;478]"/>
    <xsl:apply-templates select="row[id&gt;484 and id&lt;488]"/>
    <xsl:apply-templates select="row[id&gt;494 and id&lt;498]"/>
    <xsl:apply-templates select="row[id&gt;504 and id&lt;508]"/>
    <xsl:apply-templates select="row[id&gt;514 and id&lt;518]"/>
    <xsl:apply-templates select="row[id&gt;524 and id&lt;528]"/>
    <xsl:apply-templates select="row[id&gt;534 and id&lt;538]"/>
    <xsl:apply-templates select="row[id&gt;544 and id&lt;548]"/>
    <xsl:apply-templates select="row[id&gt;554 and id&lt;558]"/>
    <xsl:apply-templates select="row[id&gt;564 and id&lt;568]"/>
    <xsl:apply-templates select="row[id&gt;574 and id&lt;578]"/>
    <xsl:apply-templates select="row[id&gt;584 and id&lt;588]"/>
    <xsl:apply-templates select="row[id&gt;594 and id&lt;598]"/>
    <xsl:apply-templates select="row[id&gt;604 and id&lt;608]"/>
    <xsl:apply-templates select="row[id&gt;614 and id&lt;618]"/>
    <xsl:apply-templates select="row[id&gt;624 and id&lt;628]"/>
    <xsl:apply-templates select="row[id&gt;634 and id&lt;638]"/>
    <xsl:apply-templates select="row[id&gt;644 and id&lt;648]"/>
    <xsl:apply-templates select="row[id&gt;654 and id&lt;658]"/>
    <xsl:apply-templates select="row[id&gt;664 and id&lt;668]"/>
    <xsl:apply-templates select="row[id&gt;674 and id&lt;678]"/>
    <xsl:apply-templates select="row[id&gt;684 and id&lt;688]"/>
    <xsl:apply-templates select="row[id&gt;694 and id&lt;698]"/>
    <xsl:apply-templates select="row[id&gt;704 and id&lt;708]"/>
    <xsl:apply-templates select="row[id&gt;714 and id&lt;718]"/>
    <xsl:apply-templates select="row[id&gt;724 and id&lt;728]"/>
    <xsl:apply-templates select="row[id&gt;734 and id&lt;738]"/>
    <xsl:apply-templates select="row[id&gt;744 and id&lt;748]"/>
    <xsl:apply-templates select="row[id&gt;754 and id&lt;758]"/>
    <xsl:apply-templates select="row[id&gt;764 and id&lt;768]"/>
    <xsl:apply-templates select="row[id&gt;774 and id&lt;778]"/>
    <xsl:apply-templates select="row[id&gt;784 and id&lt;788]"/>
    <xsl:apply-templates select="row[id&gt;794 and id&lt;798]"/>
    <xsl:apply-templates select="row[id&gt;804 and id&lt;808]"/>
    <xsl:apply-templates select="row[id&gt;814 and id&lt;818]"/>
    <xsl:apply-templates select="row[id&gt;824 and id&lt;828]"/>
    <xsl:apply-templates select="row[id&gt;834 and id&lt;838]"/>
    <xsl:apply-templates select="row[id&gt;844 and id&lt;848]"/>
    <xsl:apply-templates select="row[id&gt;854 and id&lt;858]"/>
    <xsl:apply-templates select="row[id&gt;864 and id&lt;868]"/>
    <xsl:apply-templates select="row[id&gt;874 and id&lt;878]"/>
    <xsl:apply-templates select="row[id&gt;884 and id&lt;888]"/>
    <xsl:apply-templates select="row[id&gt;894 and id&lt;898]"/>
    <xsl:apply-templates select="row[id&gt;904 and id&lt;908]"/>
    <xsl:apply-templates select="row[id&gt;914 and id&lt;918]"/>
    <xsl:apply-templates select="row[id&gt;924 and id&lt;928]"/>
    <xsl:apply-templates select="row[id&gt;934 and id&lt;938]"/>
    <xsl:apply-templates select="row[id&gt;944 and id&lt;948]"/>
    <xsl:apply-templates select="row[id&gt;954 and id&lt;958]"/>
    <xsl:apply-templates select="row[id&gt;964 and id&lt;968]"/>
    <xsl:apply-templates select="row[id&gt;974 and id&lt;978]"/>
    <xsl:apply-templates select="row[id&gt;984 and id&lt;988]"/>
    <xsl:apply-templates select="row[id&gt;994 and id&lt;998]"/>
    <!-- select * from table where firstname = 'Bob' -->
    <xsl:apply-templates select="row[firstname='Bob']"/>
    <!-- select firstname, lastname from table where id=... -->
    <xsl:for-each select="row[id mod 10 = 9]">
       <xsl:apply-templates select="firstname"/>
       <xsl:apply-templates select="lastname"/>
    </xsl:for-each>
  </document>
</xsl:template>

<xsl:template match="row">
  <xsl:apply-templates select="id"/>
  <xsl:apply-templates select="firstname"/>
  <xsl:apply-templates select="lastname"/>
  <xsl:apply-templates select="street"/>
  <xsl:apply-templates select="city"/>
  <xsl:apply-templates select="state"/>
  <xsl:apply-templates select="zip"/>
  <xsl:text>&#x0A;</xsl:text>
</xsl:template>

<xsl:template match="id|firstname|lastname|street|city|state|zip">
  <xsl:value-of select="name(.)"/>
  <xsl:text>=</xsl:text>
  <xsl:value-of select="."/>
  <xsl:text>&#x0A;</xsl:text>
</xsl:template>

</xsl:stylesheet>
