Crea una tabla virtual.

1 vtable

<vtable name='name'>
    <column
        name='name'
        type='type'
        unique='true|false'
        size='size'
        scale='scale'
        editable='true|false'
    /> *
    <select /> *
    <union /> *
    <nativesql /> *
    <in> *
        <vtable /> *
        <sqlresponse /> *
        <resultset /> *
    </in>
</vtable>
Example
Copy
<xsql-script name='vtable_sample1'>
    <body>
        <!-- ==================================================================== -->
        <!-- Crear tabla virtual vacía                                            -->
        <!-- ==================================================================== -->
        <vtable name='v_trigonometry'>
            <column name='degrees' type='integer' />
            <column name='radians' type='decimal' />
            <column name='sin'     type='decimal' />
            <column name='cos'     type='decimal' />
            <column name='tan'     type='decimal' />
        </vtable>

        <!-- ==================================================================== -->
        <!-- Se insertan datos en la tabla virtual                                -->
        <!-- ==================================================================== -->
        <for name='m_degrees' start='0' end='360' step='1'>
            <do>

                <!-- ============================================================ -->
                <!-- Calcular grados en radianes                                  -->
                <!-- ============================================================ -->
                <set name='m_radians' type='decimal'>
                    <math.round>
                        <mul><div><math.pi />180.0</div><m_degrees /></mul>
                        10
                    </math.round>
                </set>

                <vtable.insert name='v_trigonometry'>
                    <number><m_degrees /></number>
                    <number><m_radians /></number>
                    <number><math.sin><m_radians /></math.sin></number>
                    <number><math.cos><m_radians /></math.cos></number>
                    <number><math.tan><m_radians /></math.tan></number>
                </vtable.insert>
            </do>
        </for>

        <println><v_trigonometry /></println>
    </body>
</xsql-script>

Devuelve:

Copy
+-------+-------+------+------+-----------------+
|degrees|radians|sin   |cos   |tan              |
+-------+-------+------+------+-----------------+
|      0|  0,000| 0,000| 1,000|            0,000|
|      1|  0,017| 0,017| 1,000|            0,017|
|      2|  0,035| 0,035| 0,999|            0,035|
|      3|  0,052| 0,052| 0,999|            0,052|
|      4|  0,070| 0,070| 0,998|            0,070|
|      5|  0,087| 0,087| 0,996|            0,087|
|      6|  0,105| 0,105| 0,995|            0,105|
|      7|  0,122| 0,122| 0,993|            0,123|
|      8|  0,140| 0,139| 0,990|            0,141|
|      9|  0,157| 0,156| 0,988|            0,158|
|     10|  0,175| 0,174| 0,985|            0,176|
|     11|  0,192| 0,191| 0,982|            0,194|
|     12|  0,209| 0,208| 0,978|            0,213|
|     13|  0,227| 0,225| 0,974|            0,231|
|     14|  0,244| 0,242| 0,970|            0,249|
|     15|  0,262| 0,259| 0,966|            0,268|
|     16|  0,279| 0,276| 0,961|            0,287|
|     17|  0,297| 0,292| 0,956|            0,306|
|     18|  0,314| 0,309| 0,951|            0,325|
|     19|  0,332| 0,326| 0,946|            0,344|
|     20|  0,349| 0,342| 0,940|            0,364|
|     21|  0,367| 0,358| 0,934|            0,384|
|     22|  0,384| 0,375| 0,927|            0,404|
|     23|  0,401| 0,391| 0,921|            0,424|
|     24|  0,419| 0,407| 0,914|            0,445|
|     25|  0,436| 0,423| 0,906|            0,466|
|     26|  0,454| 0,438| 0,899|            0,488|
|     27|  0,471| 0,454| 0,891|            0,510|
|     28|  0,489| 0,469| 0,883|            0,532|
|     29|  0,506| 0,485| 0,875|            0,554|
|     30|  0,524| 0,500| 0,866|            0,577|
|     31|  0,541| 0,515| 0,857|            0,601|
|     32|  0,559| 0,530| 0,848|            0,625|
|     33|  0,576| 0,545| 0,839|            0,649|
|     34|  0,593| 0,559| 0,829|            0,675|
|     35|  0,611| 0,574| 0,819|            0,700|
|     36|  0,628| 0,588| 0,809|            0,727|
|     37|  0,646| 0,602| 0,799|            0,754|
|     38|  0,663| 0,616| 0,788|            0,781|
|     39|  0,681| 0,629| 0,777|            0,810|
|     40|  0,698| 0,643| 0,766|            0,839|
|     41|  0,716| 0,656| 0,755|            0,869|
|     42|  0,733| 0,669| 0,743|            0,900|
|     43|  0,750| 0,682| 0,731|            0,933|
|     44|  0,768| 0,695| 0,719|            0,966|
|     45|  0,785| 0,707| 0,707|            1,000|
|     46|  0,803| 0,719| 0,695|            1,036|
|     47|  0,820| 0,731| 0,682|            1,072|
|     48|  0,838| 0,743| 0,669|            1,111|
|     49|  0,855| 0,755| 0,656|            1,150|
|     50|  0,873| 0,766| 0,643|            1,192|
|     51|  0,890| 0,777| 0,629|            1,235|
|     52|  0,908| 0,788| 0,616|            1,280|
|     53|  0,925| 0,799| 0,602|            1,327|
|     54|  0,942| 0,809| 0,588|            1,376|
|     55|  0,960| 0,819| 0,574|            1,428|
|     56|  0,977| 0,829| 0,559|            1,483|
|     57|  0,995| 0,839| 0,545|            1,540|
|     58|  1,012| 0,848| 0,530|            1,600|
|     59|  1,030| 0,857| 0,515|            1,664|
|     60|  1,047| 0,866| 0,500|            1,732|
|     61|  1,065| 0,875| 0,485|            1,804|
|     62|  1,082| 0,883| 0,469|            1,881|
|     63|  1,100| 0,891| 0,454|            1,963|
|     64|  1,117| 0,899| 0,438|            2,050|
|     65|  1,134| 0,906| 0,423|            2,145|
|     66|  1,152| 0,914| 0,407|            2,246|
|     67|  1,169| 0,921| 0,391|            2,356|
|     68|  1,187| 0,927| 0,375|            2,475|
|     69|  1,204| 0,934| 0,358|            2,605|
|     70|  1,222| 0,940| 0,342|            2,747|
|     71|  1,239| 0,946| 0,326|            2,904|
|     72|  1,257| 0,951| 0,309|            3,078|
|     73|  1,274| 0,956| 0,292|            3,271|
|     74|  1,292| 0,961| 0,276|            3,487|
|     75|  1,309| 0,966| 0,259|            3,732|
|     76|  1,326| 0,970| 0,242|            4,011|
|     77|  1,344| 0,974| 0,225|            4,331|
|     78|  1,361| 0,978| 0,208|            4,705|
|     79|  1,379| 0,982| 0,191|            5,145|
|     80|  1,396| 0,985| 0,174|            5,671|
|     81|  1,414| 0,988| 0,156|            6,314|
|     82|  1,431| 0,990| 0,139|            7,115|
|     83|  1,449| 0,993| 0,122|            8,144|
|     84|  1,466| 0,995| 0,105|            9,514|
|     85|  1,484| 0,996| 0,087|           11,430|
|     86|  1,501| 0,998| 0,070|           14,301|
|     87|  1,518| 0,999| 0,052|           19,081|
|     88|  1,536| 0,999| 0,035|           28,636|
|     89|  1,553| 1,000| 0,017|           57,290|
|     90|  1,571| 1,000|-0,000|-195947340017,994|
|     91|  1,588| 1,000|-0,017|          -57,290|
|     92|  1,606| 0,999|-0,035|          -28,636|
|     93|  1,623| 0,999|-0,052|          -19,081|
|     94|  1,641| 0,998|-0,070|          -14,301|
|     95|  1,658| 0,996|-0,087|          -11,430|
|     96|  1,676| 0,995|-0,105|           -9,514|
|     97|  1,693| 0,993|-0,122|           -8,144|
|     98|  1,710| 0,990|-0,139|           -7,115|
|     99|  1,728| 0,988|-0,156|           -6,314|
|    100|  1,745| 0,985|-0,174|           -5,671|
|    101|  1,763| 0,982|-0,191|           -5,145|
|    102|  1,780| 0,978|-0,208|           -4,705|
|    103|  1,798| 0,974|-0,225|           -4,331|
|    104|  1,815| 0,970|-0,242|           -4,011|
|    105|  1,833| 0,966|-0,259|           -3,732|
|    106|  1,850| 0,961|-0,276|           -3,487|
|    107|  1,868| 0,956|-0,292|           -3,271|
|    108|  1,885| 0,951|-0,309|           -3,078|
|    109|  1,902| 0,946|-0,326|           -2,904|
|    110|  1,920| 0,940|-0,342|           -2,747|
|    111|  1,937| 0,934|-0,358|           -2,605|
|    112|  1,955| 0,927|-0,375|           -2,475|
|    113|  1,972| 0,921|-0,391|           -2,356|
|    114|  1,990| 0,914|-0,407|           -2,246|
|    115|  2,007| 0,906|-0,423|           -2,145|
|    116|  2,025| 0,899|-0,438|           -2,050|
|    117|  2,042| 0,891|-0,454|           -1,963|
|    118|  2,059| 0,883|-0,469|           -1,881|
|    119|  2,077| 0,875|-0,485|           -1,804|
|    120|  2,094| 0,866|-0,500|           -1,732|
|    121|  2,112| 0,857|-0,515|           -1,664|
|    122|  2,129| 0,848|-0,530|           -1,600|
|    123|  2,147| 0,839|-0,545|           -1,540|
|    124|  2,164| 0,829|-0,559|           -1,483|
|    125|  2,182| 0,819|-0,574|           -1,428|
|    126|  2,199| 0,809|-0,588|           -1,376|
|    127|  2,217| 0,799|-0,602|           -1,327|
|    128|  2,234| 0,788|-0,616|           -1,280|
|    129|  2,251| 0,777|-0,629|           -1,235|
|    130|  2,269| 0,766|-0,643|           -1,192|
|    131|  2,286| 0,755|-0,656|           -1,150|
|    132|  2,304| 0,743|-0,669|           -1,111|
|    133|  2,321| 0,731|-0,682|           -1,072|
|    134|  2,339| 0,719|-0,695|           -1,036|
|    135|  2,356| 0,707|-0,707|           -1,000|
|    136|  2,374| 0,695|-0,719|           -0,966|
|    137|  2,391| 0,682|-0,731|           -0,933|
|    138|  2,409| 0,669|-0,743|           -0,900|
|    139|  2,426| 0,656|-0,755|           -0,869|
|    140|  2,443| 0,643|-0,766|           -0,839|
|    141|  2,461| 0,629|-0,777|           -0,810|
|    142|  2,478| 0,616|-0,788|           -0,781|
|    143|  2,496| 0,602|-0,799|           -0,754|
|    144|  2,513| 0,588|-0,809|           -0,727|
|    145|  2,531| 0,574|-0,819|           -0,700|
|    146|  2,548| 0,559|-0,829|           -0,675|
|    147|  2,566| 0,545|-0,839|           -0,649|
|    148|  2,583| 0,530|-0,848|           -0,625|
|    149|  2,601| 0,515|-0,857|           -0,601|
|    150|  2,618| 0,500|-0,866|           -0,577|
|    151|  2,635| 0,485|-0,875|           -0,554|
|    152|  2,653| 0,469|-0,883|           -0,532|
|    153|  2,670| 0,454|-0,891|           -0,510|
|    154|  2,688| 0,438|-0,899|           -0,488|
|    155|  2,705| 0,423|-0,906|           -0,466|
|    156|  2,723| 0,407|-0,914|           -0,445|
|    157|  2,740| 0,391|-0,921|           -0,424|
|    158|  2,758| 0,375|-0,927|           -0,404|
|    159|  2,775| 0,358|-0,934|           -0,384|
|    160|  2,793| 0,342|-0,940|           -0,364|
|    161|  2,810| 0,326|-0,946|           -0,344|
|    162|  2,827| 0,309|-0,951|           -0,325|
|    163|  2,845| 0,292|-0,956|           -0,306|
|    164|  2,862| 0,276|-0,961|           -0,287|
|    165|  2,880| 0,259|-0,966|           -0,268|
|    166|  2,897| 0,242|-0,970|           -0,249|
|    167|  2,915| 0,225|-0,974|           -0,231|
|    168|  2,932| 0,208|-0,978|           -0,213|
|    169|  2,950| 0,191|-0,982|           -0,194|
|    170|  2,967| 0,174|-0,985|           -0,176|
|    171|  2,985| 0,156|-0,988|           -0,158|
|    172|  3,002| 0,139|-0,990|           -0,141|
|    173|  3,019| 0,122|-0,993|           -0,123|
|    174|  3,037| 0,105|-0,995|           -0,105|
|    175|  3,054| 0,087|-0,996|           -0,087|
|    176|  3,072| 0,070|-0,998|           -0,070|
|    177|  3,089| 0,052|-0,999|           -0,052|
|    178|  3,107| 0,035|-0,999|           -0,035|
|    179|  3,124| 0,017|-1,000|           -0,017|
|    180|  3,142|-0,000|-1,000|            0,000|
|    181|  3,159|-0,017|-1,000|            0,017|
|    182|  3,176|-0,035|-0,999|            0,035|
|    183|  3,194|-0,052|-0,999|            0,052|
|    184|  3,211|-0,070|-0,998|            0,070|
|    185|  3,229|-0,087|-0,996|            0,087|
|    186|  3,246|-0,105|-0,995|            0,105|
|    187|  3,264|-0,122|-0,993|            0,123|
|    188|  3,281|-0,139|-0,990|            0,141|
|    189|  3,299|-0,156|-0,988|            0,158|
|    190|  3,316|-0,174|-0,985|            0,176|
|    191|  3,334|-0,191|-0,982|            0,194|
|    192|  3,351|-0,208|-0,978|            0,213|
|    193|  3,368|-0,225|-0,974|            0,231|
|    194|  3,386|-0,242|-0,970|            0,249|
|    195|  3,403|-0,259|-0,966|            0,268|
|    196|  3,421|-0,276|-0,961|            0,287|
|    197|  3,438|-0,292|-0,956|            0,306|
|    198|  3,456|-0,309|-0,951|            0,325|
|    199|  3,473|-0,326|-0,946|            0,344|
|    200|  3,491|-0,342|-0,940|            0,364|
|    201|  3,508|-0,358|-0,934|            0,384|
|    202|  3,526|-0,375|-0,927|            0,404|
|    203|  3,543|-0,391|-0,921|            0,424|
|    204|  3,560|-0,407|-0,914|            0,445|
|    205|  3,578|-0,423|-0,906|            0,466|
|    206|  3,595|-0,438|-0,899|            0,488|
|    207|  3,613|-0,454|-0,891|            0,510|
|    208|  3,630|-0,469|-0,883|            0,532|
|    209|  3,648|-0,485|-0,875|            0,554|
|    210|  3,665|-0,500|-0,866|            0,577|
|    211|  3,683|-0,515|-0,857|            0,601|
|    212|  3,700|-0,530|-0,848|            0,625|
|    213|  3,718|-0,545|-0,839|            0,649|
|    214|  3,735|-0,559|-0,829|            0,675|
|    215|  3,752|-0,574|-0,819|            0,700|
|    216|  3,770|-0,588|-0,809|            0,727|
|    217|  3,787|-0,602|-0,799|            0,754|
|    218|  3,805|-0,616|-0,788|            0,781|
|    219|  3,822|-0,629|-0,777|            0,810|
|    220|  3,840|-0,643|-0,766|            0,839|
|    221|  3,857|-0,656|-0,755|            0,869|
|    222|  3,875|-0,669|-0,743|            0,900|
|    223|  3,892|-0,682|-0,731|            0,933|
|    224|  3,910|-0,695|-0,719|            0,966|
|    225|  3,927|-0,707|-0,707|            1,000|
|    226|  3,944|-0,719|-0,695|            1,036|
|    227|  3,962|-0,731|-0,682|            1,072|
|    228|  3,979|-0,743|-0,669|            1,111|
|    229|  3,997|-0,755|-0,656|            1,150|
|    230|  4,014|-0,766|-0,643|            1,192|
|    231|  4,032|-0,777|-0,629|            1,235|
|    232|  4,049|-0,788|-0,616|            1,280|
|    233|  4,067|-0,799|-0,602|            1,327|
|    234|  4,084|-0,809|-0,588|            1,376|
|    235|  4,102|-0,819|-0,574|            1,428|
|    236|  4,119|-0,829|-0,559|            1,483|
|    237|  4,136|-0,839|-0,545|            1,540|
|    238|  4,154|-0,848|-0,530|            1,600|
|    239|  4,171|-0,857|-0,515|            1,664|
|    240|  4,189|-0,866|-0,500|            1,732|
|    241|  4,206|-0,875|-0,485|            1,804|
|    242|  4,224|-0,883|-0,469|            1,881|
|    243|  4,241|-0,891|-0,454|            1,963|
|    244|  4,259|-0,899|-0,438|            2,050|
|    245|  4,276|-0,906|-0,423|            2,145|
|    246|  4,294|-0,914|-0,407|            2,246|
|    247|  4,311|-0,921|-0,391|            2,356|
|    248|  4,328|-0,927|-0,375|            2,475|
|    249|  4,346|-0,934|-0,358|            2,605|
|    250|  4,363|-0,940|-0,342|            2,747|
|    251|  4,381|-0,946|-0,326|            2,904|
|    252|  4,398|-0,951|-0,309|            3,078|
|    253|  4,416|-0,956|-0,292|            3,271|
|    254|  4,433|-0,961|-0,276|            3,487|
|    255|  4,451|-0,966|-0,259|            3,732|
|    256|  4,468|-0,970|-0,242|            4,011|
|    257|  4,485|-0,974|-0,225|            4,331|
|    258|  4,503|-0,978|-0,208|            4,705|
|    259|  4,520|-0,982|-0,191|            5,145|
|    260|  4,538|-0,985|-0,174|            5,671|
|    261|  4,555|-0,988|-0,156|            6,314|
|    262|  4,573|-0,990|-0,139|            7,115|
|    263|  4,590|-0,993|-0,122|            8,144|
|    264|  4,608|-0,995|-0,105|            9,514|
|    265|  4,625|-0,996|-0,087|           11,430|
|    266|  4,643|-0,998|-0,070|           14,301|
|    267|  4,660|-0,999|-0,052|           19,081|
|    268|  4,677|-0,999|-0,035|           28,636|
|    269|  4,695|-1,000|-0,017|           57,290|
|    270|  4,712|-1,000| 0,000| -65315780005,998|
|    271|  4,730|-1,000| 0,017|          -57,290|
|    272|  4,747|-0,999| 0,035|          -28,636|
|    273|  4,765|-0,999| 0,052|          -19,081|
|    274|  4,782|-0,998| 0,070|          -14,301|
|    275|  4,800|-0,996| 0,087|          -11,430|
|    276|  4,817|-0,995| 0,105|           -9,514|
|    277|  4,835|-0,993| 0,122|           -8,144|
|    278|  4,852|-0,990| 0,139|           -7,115|
|    279|  4,869|-0,988| 0,156|           -6,314|
|    280|  4,887|-0,985| 0,174|           -5,671|
|    281|  4,904|-0,982| 0,191|           -5,145|
|    282|  4,922|-0,978| 0,208|           -4,705|
|    283|  4,939|-0,974| 0,225|           -4,331|
|    284|  4,957|-0,970| 0,242|           -4,011|
|    285|  4,974|-0,966| 0,259|           -3,732|
|    286|  4,992|-0,961| 0,276|           -3,487|
|    287|  5,009|-0,956| 0,292|           -3,271|
|    288|  5,027|-0,951| 0,309|           -3,078|
|    289|  5,044|-0,946| 0,326|           -2,904|
|    290|  5,061|-0,940| 0,342|           -2,747|
|    291|  5,079|-0,934| 0,358|           -2,605|
|    292|  5,096|-0,927| 0,375|           -2,475|
|    293|  5,114|-0,921| 0,391|           -2,356|
|    294|  5,131|-0,914| 0,407|           -2,246|
|    295|  5,149|-0,906| 0,423|           -2,145|
|    296|  5,166|-0,899| 0,438|           -2,050|
|    297|  5,184|-0,891| 0,454|           -1,963|
|    298|  5,201|-0,883| 0,469|           -1,881|
|    299|  5,219|-0,875| 0,485|           -1,804|
|    300|  5,236|-0,866| 0,500|           -1,732|
|    301|  5,253|-0,857| 0,515|           -1,664|
|    302|  5,271|-0,848| 0,530|           -1,600|
|    303|  5,288|-0,839| 0,545|           -1,540|
|    304|  5,306|-0,829| 0,559|           -1,483|
|    305|  5,323|-0,819| 0,574|           -1,428|
|    306|  5,341|-0,809| 0,588|           -1,376|
|    307|  5,358|-0,799| 0,602|           -1,327|
|    308|  5,376|-0,788| 0,616|           -1,280|
|    309|  5,393|-0,777| 0,629|           -1,235|
|    310|  5,411|-0,766| 0,643|           -1,192|
|    311|  5,428|-0,755| 0,656|           -1,150|
|    312|  5,445|-0,743| 0,669|           -1,111|
|    313|  5,463|-0,731| 0,682|           -1,072|
|    314|  5,480|-0,719| 0,695|           -1,036|
|    315|  5,498|-0,707| 0,707|           -1,000|
|    316|  5,515|-0,695| 0,719|           -0,966|
|    317|  5,533|-0,682| 0,731|           -0,933|
|    318|  5,550|-0,669| 0,743|           -0,900|
|    319|  5,568|-0,656| 0,755|           -0,869|
|    320|  5,585|-0,643| 0,766|           -0,839|
|    321|  5,603|-0,629| 0,777|           -0,810|
|    322|  5,620|-0,616| 0,788|           -0,781|
|    323|  5,637|-0,602| 0,799|           -0,754|
|    324|  5,655|-0,588| 0,809|           -0,727|
|    325|  5,672|-0,574| 0,819|           -0,700|
|    326|  5,690|-0,559| 0,829|           -0,675|
|    327|  5,707|-0,545| 0,839|           -0,649|
|    328|  5,725|-0,530| 0,848|           -0,625|
|    329|  5,742|-0,515| 0,857|           -0,601|
|    330|  5,760|-0,500| 0,866|           -0,577|
|    331|  5,777|-0,485| 0,875|           -0,554|
|    332|  5,794|-0,469| 0,883|           -0,532|
|    333|  5,812|-0,454| 0,891|           -0,510|
|    334|  5,829|-0,438| 0,899|           -0,488|
|    335|  5,847|-0,423| 0,906|           -0,466|
|    336|  5,864|-0,407| 0,914|           -0,445|
|    337|  5,882|-0,391| 0,921|           -0,424|
|    338|  5,899|-0,375| 0,927|           -0,404|
|    339|  5,917|-0,358| 0,934|           -0,384|
|    340|  5,934|-0,342| 0,940|           -0,364|
|    341|  5,952|-0,326| 0,946|           -0,344|
|    342|  5,969|-0,309| 0,951|           -0,325|
|    343|  5,986|-0,292| 0,956|           -0,306|
|    344|  6,004|-0,276| 0,961|           -0,287|
|    345|  6,021|-0,259| 0,966|           -0,268|
|    346|  6,039|-0,242| 0,970|           -0,249|
|    347|  6,056|-0,225| 0,974|           -0,231|
|    348|  6,074|-0,208| 0,978|           -0,213|
|    349|  6,091|-0,191| 0,982|           -0,194|
|    350|  6,109|-0,174| 0,985|           -0,176|
|    351|  6,126|-0,156| 0,988|           -0,158|
|    352|  6,144|-0,139| 0,990|           -0,141|
|    353|  6,161|-0,122| 0,993|           -0,123|
|    354|  6,178|-0,105| 0,995|           -0,105|
|    355|  6,196|-0,087| 0,996|           -0,087|
|    356|  6,213|-0,070| 0,998|           -0,070|
|    357|  6,231|-0,052| 0,999|           -0,052|
|    358|  6,248|-0,035| 0,999|           -0,035|
|    359|  6,266|-0,017| 1,000|           -0,017|
|    360|  6,283| 0,000| 1,000|            0,000|
+-------+-------+------+------+-----------------+

Se crea una tabla virtual ( <vtable>) de nombre v_trigonometry, compuesta de cinco columnas de tipo decimal: degrees, radians, sin, cos y tan. Posteriormente,se carga dicha tabla con los valores correspondientes a una tabla trigonométrica. Para ello, se realiza un bluce mediante la sentencia iterativa <for>, con el que para cada vuelta, se inserta un registro en la tabla.

Obsérvese como la etiqueta <vtable.insert> dispone del atributo name, en el que se indica el nombre de la virtual table en la que se pretende insertar. Cada inserción se corresponde con un registro, cuyos valores se informan uno tras otro,siendo necesario especifcar el tipo de dato de los mismos ( <number>, <string>...):

Copy
<number><m_degrees/></number>

El contenido de la variable m_degrees se inserta en la columna degrees.

Copy
<number><m_radians/></number>

El contenido de la variable m_radians se introduce en el campo radians.

Copy
<number><math.sin><m_radians/></math.sin></number>

El valor asociado a la columna sin es el resultado de calcular el seno de m_radians.

Copy
<number><math.cos><m_radians/></math.cos></number>

El valor a insertar en el campo cos es el resultado de calcular el coseno de m_radians.

Copy
<number><math.tan><m_radians/></math.tan></number>

El valor que se introducirá en la columna tan es el resultado de calcular la tangentede m_radians.

Teniendo en cuenta que la variable m_degree contiene en todo momento los grados a insertar en la tabla, pero a su vez es utilizada como contador de la sentencia for, incrementándose 1 unidad en cada vuelta:

Copy
<set name='m_degrees'><add><m_degrees/>1</add></set>

Partiendo de que 2 por pi es igual a 360 grados, la conversión a radiantes se realiza dividiendo, el resultado de multiplicar los grados por el número pi (numerador), entre 180(denominador):

Copy
<set name='m_radians'><div><mul><m_degrees/><math.pi /></mul>180</div></set>

Una tabla virtual también puede ser recorrida registro a registro mediante un cursor. Supóngase que la creación y carga de la tabla virtual está encapsulada en una función cuyo nombre es createTrigonometryTable y que devuelve la propia estructura. Una de las maneras posibles con las que se puede mostrar por pantalla el contenido de la tabla sería la siguiente:

Copy
<foreach>
   <in prefix='m_'>
       <createTrigonometryTable/>
   </in>
   <do>
       <println><m_degrees/> <m_radians/> <m_sin/> <m_cos/> <m_tan/></println>
   </do>
</foreach>

Sin embargo, esta forma de impresión por pantalla no es la más eficiente, pues la propia función <println>, es capaz de visualizar el contenido de una estructura de datos compleja, aplicándole incluso un formato sencillo. Así pues, el código anterior sería reemplazable por la siguiente línea:

Copy
<println><createTrigonometryTable/></println>

El resultado de ejecutar el XSQL-Script desde la línea de comandos sería el mostrado a continuación:

Copy
+--------------------+--------------------+--------------------+-------------------+
|degrees             |radians             |sin                 |cos                |
+--------------------+--------------------+--------------------+-------------------+
|0                   |0.0                 |0.0                 |1.0                |
|1                   |0.017453292519943295|0.01745240643728351 |0.9998476951563913 |
|2                   |0.03490658503988659 |0.03489949670250097 |0.9993908270190958 |
|3                   |0.05235987755982988 |0.05233595624294383 |0.9986295347545738 |
|4                   |0.06981317007977318 |0.0697564737441253  |0.9975640502598242 |
|5                   |0.08726646259971647 |0.08715574274765817 |0.9961946980917455 |
|6                   |0.10471975511965977 |0.10452846326765346 |0.9945218953682733 |
|7                   |0.12217304763960307 |0.12186934340514748 |0.992546151641322  |
|8                   |0.13962634015954636 |0.13917310096006544 |0.9902680687415704 |
|9                   |0.15707963267948966 |0.15643446504023087 |0.9876883405951378 |
[...]

Teniendo el script catalogado en una base de datos de diccionario, éste puede tambén ser ejecutado desde el editor SQL de WebOS (dbconmanager) con la siguiente línea:

Copy
<call name='vtable_demo' />

Nota informativa

Crear una tabla virtual implica declarar una nueva variable del tipo de dato complejo vtable. Dicha variable, consiste internamente en un pointer (puntero) a una estructura vtable. Ello significa, que cuando en una llamada a una función local , se pasa como parámetro (de entrada) una variable vtable , técnicamente se está pasando el puntero a dicha estructura, ergo, cualquier modificación que se lleve a cabo en la rutina hija, surgirá efecto en la rutina madre .