XQueries for aligned texts

Example

An example of the exercise imported in Moodle (showing a Latin sentence to be aligned with Croatian):

Moodle matching window

Alpheios XML format for aligned texts

Here is how an aligned sentence (L1 = Latin, L2 = Croatian) looks like after exporting the XML from Alpheios Text Alignment tool.

<aligned-text xmlns="http://alpheios.net/namespaces/aligned-text">
    <language lnum="L1" xml:lang="lat"/>
    <language lnum="L2" xml:lang="hrv"/>
    <sentence>
        <wds lnum="L1">
 
            <w n="1-11">
                <text>bonam</text>
                <refs nrefs="1-12"/>
            </w>
            <w n="1-12">
                <text>spem</text>
                <refs nrefs="1-13"/>
            </w>
            <w n="1-13">
                <text>de</text>
            </w>
            <w n="1-14">
                <text>te</text>
            </w>
            <w n="1-15">
                <text>concipio;</text>
                <refs nrefs="1-14"/>
            </w>
            <w n="1-16">
                <text>non</text>
                <refs nrefs="1-17"/>
            </w>
            <w n="1-17">
                <text>discurris</text>
                <refs nrefs="1-17"/>
            </w>
 
        </wds>
        <wds lnum="L2">
 
            <w n="1-12">
                <text>veliko</text>
                <refs nrefs="1-11"/>
            </w>
            <w n="1-13">
                <text>ufanje</text>
                <refs nrefs="1-12"/>
            </w>
            <w n="1-14">
                <text>cèrpim.</text>
                <refs nrefs="1-15"/>
            </w>
            <w n="1-15">
                <text>Ti</text>
            </w>
            <w n="1-16">
                <text>se</text>
            </w>
            <w n="1-17">
                <text>neskitaš,</text>
                <refs nrefs="1-16 1-17"/>
            </w>
 
        </wds>
    </sentence>
</aligned-text>

The simplest case is a single L1 word which has a single L2 equivalent:

            <w n="1-11">
                <text>bonam</text>
                <refs nrefs="1-12"/>
            </w>
(...)
            <w n="1-12">
                <text>veliko</text>
                <refs nrefs="1-11"/>
            </w>

Challenges are:

  • L1 words which have no L2 equivalents:
            <w n="1-13">
                <text>de</text>
            </w>
  • L1 words which have several L2 equivalents:
           <w n="1-21">
                <text>inquietaris.</text>
                <refs nrefs="1-19 1-20"/>
            </w>
  • several L1 words which have the same L2 equivalent:
            <w n="1-16">
                <text>non</text>
                <refs nrefs="1-17"/>
            </w>
            <w n="1-17">
                <text>discurris</text>
                <refs nrefs="1-17"/>
            </w>
(...)
            <w n="1-17">
                <text>neskitaš,</text>
                <refs nrefs="1-16 1-17"/>
            </w>

Moodle matching question XML format

Moodle XML for matching questions looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<quiz>
<!-- question: 10523  -->
  <question type="matching">
    <name>
      <text>Veni igitur 3</text>
    </name>
    <questiontext format="html">
      <text><![CDATA[<p>Povežite svaku latinsku riječ sljedeće rečenice s njezinim prijevodom.</p>
<p>Veni igitur et age de pace.</p>
<p>Stoga dođi i pregovaraj o miru.</p>]]></text>
    </questiontext>
    <generalfeedback format="html">
      <text></text>
    </generalfeedback>
    <defaultgrade>1.0000000</defaultgrade>
    <penalty>0.3333333</penalty>
    <hidden>0</hidden>
    <shuffleanswers>true</shuffleanswers>
    <correctfeedback format="html">
      <text><![CDATA[<p>Your answer is correct.</p>]]></text>
    </correctfeedback>
    <partiallycorrectfeedback format="html">
      <text><![CDATA[<p>Your answer is partially correct.</p>]]></text>
    </partiallycorrectfeedback>
    <incorrectfeedback format="html">
      <text><![CDATA[<p>Your answer is incorrect.</p>]]></text>
    </incorrectfeedback>
    <shownumcorrect/>
    <subquestion format="html">
      <text><![CDATA[<p>veni</p>]]></text>
      <answer>
        <text>dođi</text>
      </answer>
    </subquestion>
    <subquestion format="html">
      <text><![CDATA[<p>igitur</p>]]></text>
      <answer>
        <text>stoga</text>
      </answer>
    </subquestion>
    <subquestion format="html">
      <text><![CDATA[<p>et</p>]]></text>
      <answer>
        <text>i</text>
      </answer>
    </subquestion>
    <subquestion format="html">
      <text><![CDATA[<p>age</p>]]></text>
      <answer>
        <text>pregovaraj</text>
      </answer>
    </subquestion>
    <subquestion format="html">
      <text><![CDATA[<p>de</p>]]></text>
      <answer>
        <text>o</text>
      </answer>
    </subquestion>
    <subquestion format="html">
      <text><![CDATA[<p>pace</p>]]></text>
      <answer>
        <text>miru</text>
      </answer>
    </subquestion>
  </question>
</quiz>

XQueries so far

We transform the XML from Alpheios aligned-text into Moodle quiz XML using several XQueries.

First, for the simplest case, the one-to-one correspondence. One trick is to have nested for loops in the query. The other trick is to match L1 and L2 words by their nrefs and n attribute values (*:w[@n = $v/*:w/*:refs/@nrefs]).

(: transform Alpheios aligned text into Moodle quiz XML :)
(: simplest case - one-to-one correspondence :)
let $lt := "![CDATA[" (: less than :)
let $gt := "]]" (: greater than :)
for $v in //*:sentence/*:wds[@lnum="L1"]
return
 
<quiz>
 
   <question type="matching">
   <name>
      <text>Textus correlati</text>
    </name>
    <questiontext format="html">
      <text>&lt;{$lt}<p>Povežite svaku latinsku riječ sljedeće rečenice s njezinim prijevodom.</p>
<p>ex iis quae mihi scribis</p>
<p>iz ovog što mi pišeš</p>{$gt}></text>
    </questiontext>
    <generalfeedback format="html">
      <text></text>
    </generalfeedback>
    <defaultgrade>1.0000000</defaultgrade>
    <penalty>0.3333333</penalty>
    <hidden>0</hidden>
    <shuffleanswers>true</shuffleanswers>
    <correctfeedback format="html">
      <text>&lt;{$lt}<p>Odgovor je točan.</p>{$gt}></text>
    </correctfeedback>
    <partiallycorrectfeedback format="html">
      <text>&lt;{$lt}<p>Odgovor je djelomično točan.</p>{$gt}></text>
    </partiallycorrectfeedback>
    <incorrectfeedback format="html">
      <text>&lt;{$lt}<p>Odgovor nije točan.</p>{$gt}></text>
    </incorrectfeedback>
    <shownumcorrect/>
      {for $a in //*:wds[@lnum='L2']/*:w[@n = $v/*:w/*:refs/@nrefs]
         return
         <subquestion format="html">
            <text>
            &lt;{$lt}<p>{data($v/*:w[@n = $a/@n]/*:text)}</p>{$gt}>
            </text>
           <answer>
            <text>{data($a/*:text)}</text>
           </answer>
         </subquestion>
      }
   </question>
</quiz>

Challenge 1: L1 words with no L2 equivalents

The problem:

            <w n="1-13">
                <text>de</text>
            </w>

Solution: define a variable ($refs); test if there is no refs/@nrefs combination present in a given w element (if… then… else if…); if the combination does not exist, replace it by zero (0).

The XQuery (caveat — the produced format is not exactly Moodle XML):

(: test if there are no nrefs in L1 :)
for $nref in //*:wds[@lnum='L1']/*:w
return
<subquestion format='html'>
<text> { data($nref/*:text) } </text>
 <answer> {
   let $refs :=
   if (string($nref/*:refs/@nrefs)) then
   <text>{data(//*:wds[@lnum='L2']/*:w[@n = string($nref/*:refs/@nrefs)]/*:text)}</text>
   else if (empty($nref/*:refs/@nrefs)) then
   <text>0</text>
   else ()
   return $refs
 } </answer>
 </subquestion>

Result (note the 0's):

<subquestion format="html">
  <text>bonam</text>
  <answer>
    <text>veliko</text>
  </answer>
</subquestion>
<subquestion format="html">
  <text>spem</text>
  <answer>
    <text>ufanje</text>
  </answer>
</subquestion>
<subquestion format="html">
  <text>de</text>
  <answer>
    <text>0</text>
  </answer>
</subquestion>
<subquestion format="html">
  <text>te</text>
  <answer>
    <text>0</text>
  </answer>
</subquestion>
<subquestion format="html">
  <text>concipio;</text>
  <answer>
    <text>cèrpim.</text>
  </answer>
</subquestion>
<subquestion format="html">
  <text>non</text>
  <answer>
    <text>neskitaš,</text>
  </answer>
</subquestion>
<subquestion format="html">
  <text>discurris</text>
  <answer>
    <text>neskitaš,</text>
  </answer>
</subquestion>

Challenge 2: L1 words which have several L2 equivalents

The problem:

           <w n="1-21">
                <text>inquietaris.</text>
                <refs nrefs="1-19 1-20"/>
            </w>

Solution:

let $v := //*:sentence/*:wds[@lnum="L2"]
for $a in //*:wds[@lnum='L1']/*:w[@n = $v/*:w/*:refs/@nrefs]
  return
   <subquestion format='html'>
            <text>{data($a/*:text)}</text>
            <answer><text>{
            let $multi :=
              (: test if any L1 word points to more L2 ones :)
              if (contains(string($a/*:refs/@nrefs), ' ')) then
              concat(data($v/*:w[@n = substring-before($a/*:refs/@nrefs, ' ')]/*:text),' ',data($v/*:w[@n = substring-after($a/*:refs/@nrefs,' ')]/*:text))
              else if (string($a/*:refs/@nrefs)) then data($v/*:w[@n = string($a/*:refs/@nrefs)])
            else ()
            return $multi
          }</text></answer>
  </subquestion>

The code produces this:

<subquestion format="html">
  <text>inquietaris.</text>
  <answer>
    <text>te uznemiruje</text>
  </answer>
</subquestion>

Challenge 3: several L1 words with the same L2 equivalent

The problem:

            <w n="1-16">
                <text>non</text>
                <refs nrefs="1-17"/>
            </w>
            <w n="1-17">
                <text>discurris</text>
                <refs nrefs="1-17"/>
            </w>
(...)
            <w n="1-17">
                <text>neskitaš,</text>
                <refs nrefs="1-16 1-17"/>
            </w>

The XQuery:

let $v := //*:sentence/*:wds[@lnum="L1"]
for $a in //*:wds[@lnum='L2']/*:w[@n = $v/*:w/*:refs/@nrefs]
  return
   <subquestion format='html'>
     <text>{
            let $multi :=
              (: test if any L2 word points to more L1 ones :)
              if (contains(string($a/*:refs/@nrefs), ' ')) then
              concat(data($v/*:w[@n = substring-before($a/*:refs/@nrefs, ' ')]/*:text),' ',data($v/*:w[@n = substring-after($a/*:refs/@nrefs,' ')]/*:text))
              else if (string($a/*:refs/@nrefs)) then data($v/*:w[@n = $a/*:refs/@nrefs])
            else ()
            return $multi
       }</text>
     <answer>
       <text>{data($a/*:text)}</text>
     </answer>
     </subquestion>

We test for the space ( ) contained in the @nrefs attribute value. If there is at least one, we take the string apart (currently works for only two nrefs), then get the L2 words and put them together (concat them).

Result:

<subquestion format="html">
  <text>locorum mutationibus</text>
  <answer>
    <text>skitanje.</text>
  </answer>
</subquestion>

Putting it all together...

TBA

Generate permutations with XQuery

Goal: we want to generate all permutations of a short sentence (cf. Learning games for classical languages), afterwards creating with selected permutations a Moodle matching questions quiz – to make the students decide whether a given word order is possible, impossible, or inbetween.

Example

Segesta - matching possible word orders

XQuery

We want to generate permutations for the sequence Cum in Africam venissem:

<w n="1-1">
        <text>Cum</text>
        <refs nrefs="1-1"/>
      </w>
      <w n="1-2">
        <text>in</text>
        <refs nrefs="1-4"/>
      </w>
      <w n="1-3">
        <text>Africam</text>
        <refs nrefs="1-5"/>
      </w>
      <w n="1-4">
        <text>venissem</text>
        <refs nrefs="1-2 1-3"/>
      </w>

We'll use the permutation generator described by Pekka Kilpeläinen in 2011.1)

The XQuery is here (we use it on first four words of a larger sentence):

(: permutation generator function by Pekka Kilpeläinen, 2011 :)
declare function local:perm1($items as item()*) as element(perm)+ {
if (count($items) le 1) then <perm>{$items}</perm>
else for $i in 1 to count($items),
$perm in local:perm1(remove($items, $i))
return <perm>{insert-before($perm/node(), 1, $items[$i])}</perm> };
(: permute first four Latin words :)
let $it := subsequence(//*:wds[1]/*:w, 1, 4)
return local:perm1($it)

This is the result:

<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
</perm>
<perm>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-4">
    <text>venissem</text>
    <refs nrefs="1-2 1-3"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-3">
    <text>Africam</text>
    <refs nrefs="1-5"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-2">
    <text>in</text>
    <refs nrefs="1-4"/>
  </w>
  <w xmlns="http://alpheios.net/namespaces/aligned-text" n="1-1">
    <text>Cum</text>
    <refs nrefs="1-1"/>
  </w>
</perm>
1) Kilpeläinen, P. (2012), Using XQuery for problem solving. Softw: Pract. Exper., 42: 1433–1465. doi: 10.1002/spe.1140.
 
n/paedagogica-xquery.txt · Last modified: 20. 10. 2013. 19:51 by filologanoga
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki