<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
  "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"
  [<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
   <!ENTITY CLin "<mo class='builtin' lspace='thickmathspace' rspace='thickmathspace'>&epsiv;</mo>">]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Clausal Language (ver. 5.81.20, by P.J. Voda, J. Komara, J. Kluka)</title
>
<script type="text/javascript" src="ajax.js"></script>
<script type="text/javascript" src="formdata2querystring.js"></script>
<script type="text/javascript" src="submit-update.js"></script>
<link rel="stylesheet" type="text/css" href="default.css" title="Default"/>
<link rel="alternate stylesheet" type="text/css" href="embers.css" title="Embers"
/>
</head>
<body>
<div id="_updater_" name="_edit_updater_">...
</div>
<div id="_main_editor_">
<form action="#" method="POST" class="quit_box"><input type="hidden" name="action"
 value="quit"/><input type="hidden" name="selector" value="id------"/><button
 type="submit" name="name" value="File" accesskey="f" title="Alt+Shift+F" class="quit"
 onclick="return submitForm(this.form,this);"><span class="acskey">F</span>ile</button
><button type="submit" name="name" value="Save" accesskey="s" title="Alt+Shift+S"
 class="quit" onclick="return submitForm(this.form,this);"><span class="acskey"
>S</span>ave</button><button type="submit" name="name" value="Setup" accesskey="u"
 title="Alt+Shift+U" class="quit" onclick="return submitForm(this.form,this);"
>Set<span class="acskey">u</span>p</button><button type="submit" name="name"
 value="Recompile" accesskey="r" title="Alt+Shift+R" class="quit" onclick="return submitForm(this.form,this);"
><span class="acskey">R</span>ecompile</button><button type="submit" name="name"
 value="Reexec. Query" accesskey="q" title="Alt+Shift+Q" class="quit" onclick="return submitForm(this.form,this);"
>Reexec. <span class="acskey">Q</span>uery</button><button type="submit" name="name"
 value="Save &amp; Exit" accesskey="x" title="Alt+Shift+X" class="quit" onclick="return submitForm(this.form,this);"
>Save &amp; E<span class="acskey">x</span>it</button><input type="hidden" name="xoff"
 value="0"/><input type="hidden" name="yoff" value="0"/>
</form>
<div class="framed1">
<div class="framename">Clausal Language (ver. 5.81.20, by P.J. Voda, J. Komara, J. Kluka)
</div>
<div id="idD-----">
<div id="idE-----" class="editable">
<div id="idF-----"/>
</div>
<div id="idG-----" class="editable">
<div id="idH-----"/>
</div>
<div id="idI-----" class="editable">
<div id="idJ-----"/>
</div>
</div>
<div id="idL-----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Module&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr">Ex14a</mi>
</math></span>
</div>
<div class="editbuttontd">
<form action="#idL-----" method="POST" id="idL-----__" onsubmit="return submitForm(this,this);"
><a name="idL-----"/><input type="hidden" name="selector" value="idL-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
<div id="idM-----">
<div id="idN-----" class="editable"><a name="idP-----"/>
<form action="#idP-----" method="POST" id="idP-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idP-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idQ-----" class="fill"><a name="idQ-----"/><span class="header">Included module&nbsp;<math
 xmlns="&mathml;">
<mi class="comp_id_hdr">Standard</mi>
</math></span>
</div>
</div>
<div id="idR-----" class="editable"><a name="idT-----"/>
<form action="#idT-----" method="POST" id="idT-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idT-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idU-----" class="fill"><a name="idU-----"/><span class="header">Included module&nbsp;<math
 xmlns="&mathml;">
<mi class="comp_id_hdr">Mxml</mi>
</math></span>
</div>
</div>
<div id="idV-----" class="editable"><a name="idX-----"/>
<form action="#idX-----" method="POST" id="idX-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idX-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idY-----" class="fill"><a name="idY-----"/><span class="header">Included module&nbsp;<math
 xmlns="&mathml;">
<msub class="comp_id_hdr"><mi class="comp_id_hdr">Maux</mi><mn class="id_sub"
>14</mn>
</msub>
</math></span>
</div>
</div>
<div id="idZ-----" class="editable"><a name="idb-----"/>
<form action="#idb-----" method="POST" id="idb-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idb-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idc-----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>14. CVIČENIE Z PREDMETU ÚVOD DO DEKLARATÍVNEHO PROGRAMOVANIA</b>
</p>
<p><b>ČASŤ A</b>
</p>
<p>http://dai.fmph.uniba.sk/courses/udp/ex/ex14.zip
</p>
</div>
<div class="editbuttontd">
<form action="#idc-----" method="POST" id="idc-----__" onsubmit="return submitForm(this,this);"
><a name="idc-----"/><input type="hidden" name="selector" value="idc-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idd-----" class="editable"><a name="idf-----"/>
<form action="#idf-----" method="POST" id="idf-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idf-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idg-----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><i>Dátum:</i> 14. 5. 2012
</p>
<p><i>Odporúčaná verzia CL:</i> <b>5.81.20</b>
</p>
<p><i>WWW stránka predmetu:</i> http://dai.fmph.uniba.sk/courses/udp/
</p>
<p><i>Kontakt:</i> udp(zavináč)lists.dai.fmph.uniba.sk
</p>
</div>
<div class="editbuttontd">
<form action="#idg-----" method="POST" id="idg-----__" onsubmit="return submitForm(this,this);"
><a name="idg-----"/><input type="hidden" name="selector" value="idg-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idh-----" class="editable"><a name="idj-----"/>
<form action="#idj-----" method="POST" id="idj-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idj-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idk-----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Úvodná poznámka.</b> Toto cvičenie je venované generovaniu XHTML.
 Cvičenie tiež obsahuje pomocné moduly <math xmlns="&mathml;">
<mi class="ident">Mxml</mi>
</math> a <math xmlns="&mathml;">
<mi class="ident">Maux</mi>
</math>.
</p>
</div>
<div class="editbuttontd">
<form action="#idk-----" method="POST" id="idk-----__" onsubmit="return submitForm(this,this);"
><a name="idk-----"/><input type="hidden" name="selector" value="idk-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idl-----" class="editable"><a name="idn-----"/>
<form action="#idn-----" method="POST" id="idn-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idn-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="ido-----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><i>Literatúra.</i>
</p>
<p>[1] J. Kľuka. Prednášky z Úvodu do deklaratívneho programovania LS 2011/2012.
</p>
<p class="indented">http://dai.fmph.uniba.sk/courses/udp/udp-prednasky-2012.pdf
</p>
<p>[2] D. Guller. Poznámky k prednáškam z CL.
</p>
<p>[3] J. Komara and P. J. Voda. Metamathematics of Computer Programming. 
2001.
</p>
</div>
<div class="editbuttontd">
<form action="#ido-----" method="POST" id="ido-----__" onsubmit="return submitForm(this,this);"
><a name="ido-----"/><input type="hidden" name="selector" value="ido-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idp-----" class="editable"><a name="idr-----"/>
<form action="#idr-----" method="POST" id="idr-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idr-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="ids-----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><i>Poznámka.</i> Nadpisy sú číslované podľa [1].
</p>
</div>
<div class="editbuttontd">
<form action="#ids-----" method="POST" id="ids-----__" onsubmit="return submitForm(this,this);"
><a name="ids-----"/><input type="hidden" name="selector" value="ids-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idt-----" class="editable"><a name="idv-----"/>
<form action="#idv-----" method="POST" id="idv-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idv-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idw-----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>C V I Č E N I E</b>
</p>
</div>
<div class="editbuttontd">
<form action="#idw-----" method="POST" id="idw-----__" onsubmit="return submitForm(this,this);"
><a name="idw-----"/><input type="hidden" name="selector" value="idw-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idx-----" class="editable"><a name="idz-----"/>
<form action="#idz-----" method="POST" id="idz-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idz-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="id0-----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>18. XML/XHTML</b>
</p>
</div>
<div class="editbuttontd">
<form action="#id0-----" method="POST" id="id0-----__" onsubmit="return submitForm(this,this);"
><a name="id0-----"/><input type="hidden" name="selector" value="id0-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="id1-----" class="editable"><a name="id3-----"/>
<form action="#id3-----" method="POST" id="id3-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="id3-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="id4-----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>18.2. Kódovanie</b>
</p>
</div>
<div class="editbuttontd">
<form action="#id4-----" method="POST" id="id4-----__" onsubmit="return submitForm(this,this);"
><a name="id4-----"/><input type="hidden" name="selector" value="id4-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="id5-----" class="editable"><a name="id7-----"/>
<form action="#id7-----" method="POST" id="id7-----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="id7-----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="id8-----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b><i>Kódovanie XML v CL.</i></b> Na prednáške sme opísali spôsob kódovania
 XML/XHML dokumentov v CL. Na dokument sa pozeráme ako na všeobecný strom
 s dvoma druhmi uzlov: <i>elementové uzly</i> a <i>textové uzly</i>.
</p>
<p class="indented">Elementové uzly kódujeme konštruktorom <math xmlns="&mathml;"
>
<mi class="ident">Xe</mi><mo>::</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Str</mi><mo class="builtin">,</mo
><mi class="ident">Lattr</mi><mo class="builtin">,</mo><mi class="ident">Lx</mi
><mo>)</mo>
</mrow><mo>&rarr;</mo><mi class="ident">X</mi>
</math>.
</p>
<p class="indented">Textové uzly kódujeme konštruktorom <math xmlns="&mathml;"
>
<mi class="ident">Xs</mi><mo>::</mo><mi class="ident">Str</mi><mo>&rarr;</mo
><mi class="ident">X</mi>
</math>.
</p>
<p>Detaily kódovania a význam zápisu <math xmlns="&mathml;">
<mi class="ident">F</mi><mo>::</mo>
<msub class="ident"><mi class="ident">T</mi><mn class="id_sub">1</mn>
</msub><mo>&rarr;</mo>
<msub class="ident"><mi class="ident">T</mi><mn class="id_sub">2</mn>
</msub>
</math> nájdete v prednáške [1, XIV.18] a v module <math xmlns="&mathml;"
>
<mi class="ident">Mxml</mi>
</math>, ktorý je pripojený na začiatku tohto súboru.
</p>
</div>
<div class="editbuttontd">
<form action="#id8-----" method="POST" id="id8-----__" onsubmit="return submitForm(this,this);"
><a name="id8-----"/><input type="hidden" name="selector" value="id8-----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="id9-----" class="editable"><a name="id-A----"/>
<form action="#id-A----" method="POST" id="id-A----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="id-A----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idAA----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b><i>Formátovacie predikáty <math xmlns="&mathml;">
<mi class="ident">X</mi>
</math>, <math xmlns="&mathml;">
<mi class="ident">Lx</mi>
</math> a <math xmlns="&mathml;">
<mi class="ident">Xml</mi>
</math>.</i></b> V module <math xmlns="&mathml;">
<mi class="ident">Mxml</mi>
</math> sú zadefinované formátovacie predikáty (typy) <math xmlns="&mathml;"
>
<mi class="ident">X</mi>
</math>, <math xmlns="&mathml;">
<mi class="ident">Lx</mi>
</math> a <math xmlns="&mathml;">
<mi class="ident">Xml</mi>
</math>.
</p>
<p>Formát <math xmlns="&mathml;">
<mi class="ident">X</mi>
</math> zobrazí hodnotu ako <i>uzol XML stromu</i>. Hodnota teda musí byť
 vytvorená konštruktorom <math xmlns="&mathml;">
<mi class="ident">Xe</mi>
</math> alebo <math xmlns="&mathml;">
<mi class="ident">Xs</mi>
</math>.
</p><pre>    Xe(&apos;empty-elem&apos;,0,0) = x1:X &amp; Xs(&apos;text&apos;) = x2:X</pre>
<p>Formát <math xmlns="&mathml;">
<mi class="ident">Lx</mi>
</math> zobrazí hodnotu ako <i>zoznam uzlov</i> XML stromu. <i>Prvky</i> tohto
 zoznamu musia byť typu <math xmlns="&mathml;">
<mi class="ident">X</mi>
</math>.
</p><pre>    Xe(&apos;empty-elem&apos;,0,0),Xs(&apos;text&apos;),Xe(&apos;elem-with-text&apos;,0,Xs(&apos;text&apos;),0),0 = xs:Lx</pre>
<p>Formát <math xmlns="&mathml;">
<mi class="ident">Xml</mi>
</math> zobrazí <i>jednoprvkový zoznam obsahujúci práve jeden elementový
 uzol</i>, ako skutočný XML dokument.
</p><pre>    Xe(&apos;elem-with-text&apos;,0,Xs(&apos;text&apos;),0),0 = doc:Xml &amp; L(doc) = n</pre><pre>    Xe(&apos;empty-elem&apos;,0,0) = x1:X
      &amp; Xs(&apos;text&apos;) = x2:X
      &amp; Xe(&apos;elem-with-text&apos;,((&apos;attr&apos;,&apos;val&apos;),0),x2,0) = x3:X
      &amp; x1,x2,x3,0 = xs:Lx
      &amp; Xe(&apos;document&apos;,0,xs),0 = doc:Xml &amp; L(doc) = n</pre>
</div>
<div class="editbuttontd">
<form action="#idAA----" method="POST" id="idAA----__" onsubmit="return submitForm(this,this);"
><a name="idAA----"/><input type="hidden" name="selector" value="idAA----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idBA----" class="editable"><a name="idDA----"/>
<form action="#idDA----" method="POST" id="idDA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idDA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idEA----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Úloha.</b> Vyhodnoťte všetky dopyty (queries) z predchádzajúcej 
poznámky.
</p>
</div>
<div class="editbuttontd">
<form action="#idEA----" method="POST" id="idEA----__" onsubmit="return submitForm(this,this);"
><a name="idEA----"/><input type="hidden" name="selector" value="idEA----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idFA----" class="editable"><a name="idHA----"/>
<form action="#idHA----" method="POST" id="idHA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idHA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idIA----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b><i>Kostra XHTML dokumentu.</i></b> V module <math xmlns="&mathml;">
<mi class="ident">Mxml</mi>
</math> je zadefinovaná funkcia <math xmlns="&mathml;">
<mi class="ident">Xhtml</mi>
<mrow class="cp1"><mo>(</mo><mi fontstyle="italic">title</mi><mo>,</mo><mi fontstyle="italic"
>cs</mi><mo>)</mo>
</mrow>
</math>, ktorá vytvorí kostru XHTML dokumentu, do ktorej vloží <math xmlns="&mathml;"
>
<mi fontstyle="italic">title</mi>
</math> (reťazec, <math xmlns="&mathml;">
<mi class="ident">Str</mi>
</math>) ako názov a <math xmlns="&mathml;">
<mi fontstyle="italic">cs</mi>
</math> (zoznam XML uzlov, <math xmlns="&mathml;">
<mi class="ident">Lx</mi>
</math>) ako obsah tela.
</p>
<p class="indented">Výsledkom funkcie <math xmlns="&mathml;">
<mi class="ident">Xhtml</mi>
</math> je zoznam s jedným elementovým uzlom (html), ktorý môžeme priamo
 zobraziť formátom <math xmlns="&mathml;">
<mi class="ident">Xml</mi>
</math>:
</p><pre>      Xhtml(&apos;t&apos;,0) = doc:Xml</pre>
<p>Neformálny typ funkcie <math xmlns="&mathml;">
<mi class="ident">Xhtml</mi>
</math> je teda <math xmlns="&mathml;">
<mi class="ident">Xhtml</mi><mo>::</mo>
<mrow class="cp1"><mo>(</mo><mi class="ident">Str</mi><mo class="builtin">,</mo
><mi class="ident">Lx</mi><mo>)</mo>
</mrow><mo>&rarr;</mo><mi class="ident">Xml</mi>
</math>.
</p>
</div>
<div class="editbuttontd">
<form action="#idIA----" method="POST" id="idIA----__" onsubmit="return submitForm(this,this);"
><a name="idIA----"/><input type="hidden" name="selector" value="idIA----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idJA----" class="editable"><a name="idLA----"/>
<form action="#idLA----" method="POST" id="idLA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idLA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idMA----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Úloha.</b> Zadefinujte konštantu (funkciu s aritou <math xmlns="&mathml;"
>
<mn class="builtin">0</mn>
</math>), ktorá sa vyhodnotí do hodnoty typu <math xmlns="&mathml;">
<mi class="ident">Xml</mi>
</math> (<math xmlns="&mathml;">
<mi class="ident">Hello</mi><mo>::</mo><mi class="ident">Xml</mi>
</math>) predstavujúcej jednoduchý XHTML dokument obsahujúci nadpis (element
 h1) s textom „Hello World!“.
</p>
<p class="indented">Svoje riešenie najprv testujte dopytom (query):
</p><pre>    Hello = xs:Lx</pre>
<p>Až keď je zobrazenie formátom <math xmlns="&mathml;">
<mi class="ident">Lx</mi>
</math> bezchybné, zobrazte konštantu <math xmlns="&mathml;">
<mi class="ident">Hello</mi>
</math> ako skutočné XHTML formátom <math xmlns="&mathml;">
<mi class="ident">Xml</mi>
</math>:
</p><pre>    Hello = doc:Xml</pre>
<p>Na vytvorenie kostry dokumentu použite funkciu <math xmlns="&mathml;">
<mi class="ident">Xhtml</mi>
</math> (viď vyššie).
</p>
</div>
<div class="editbuttontd">
<form action="#idMA----" method="POST" id="idMA----__" onsubmit="return submitForm(this,this);"
><a name="idMA----"/><input type="hidden" name="selector" value="idMA----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idNA----" class="editable"><a name="idPA----"/>
<form action="#idPA----" method="POST" id="idPA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idPA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idQA----" class="fieldwithbuttons editable fill">
<div class="fill"><span class="header">Function&nbsp;<span class="comp_id_hdr"
><math xmlns="&mathml;">
<mi class="inh_col_id">Hello</mi>
</math></span>&nbsp;/&nbsp;0</span><br/>
<math xmlns="&mathml;" mode="display" class="clause">
<mi class="ident">Hello</mi><mo>=</mo><mi class="adident">?</mi>
</math>
</div>
<div class="editbuttontd">
<form action="#idQA----" method="POST" id="idQA----__" onsubmit="return submitForm(this,this);"
><a name="idQA----"/><input type="hidden" name="selector" value="idQA----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idRA----" class="editable"><a name="idTA----"/>
<form action="#idTA----" method="POST" id="idTA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idTA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Ins/Del" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
<div><input type="submit" name="char" value="Expand" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
<div id="idUA----" class="fieldwithbuttons editable fill">
<div class="fill">
<div class="header">Remark&nbsp;<math xmlns="&mathml;">
<mi class="comp_id_hdr"></mi>
</math>
</div>
<p><b>Úloha.</b> Vytvorte ďalšie jednoduché XHTML dokumenty s viacerými
 elementami. Pridajte atribúty niektorým elementom (napríklad atribút style).
</p>
</div>
<div class="editbuttontd">
<form action="#idUA----" method="POST" id="idUA----__" onsubmit="return submitForm(this,this);"
><a name="idUA----"/><input type="hidden" name="selector" value="idUA----"/><input
 type="submit" name="action" value="Edit" class="editbutton" onclick="return submitForm(this.form,this);"
/><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
</div>
</div>
</div>
<div id="idVA----" class="editable"><a name="idWA----"/>
<form action="#idWA----" method="POST" id="idWA----" onsubmit="return submitForm(this,this);"
><input type="hidden" name="action" value="button"/><input type="hidden" name="selector"
 value="idWA----"/>
<div class="separatorbutton fill">
<div><pre><span class="fg3"></span></pre>
</div>
<div class="fill">
<hr/>
</div>
<div><input type="submit" name="char" value="Insert" class="button" onclick="return submitForm(this.form,this);"
/>
</div>
</div>
</form>
</div>
</div>
<div class="namedseparator fill">
<div>
<div class="vert_sep_name">Query:
</div>
<div class="fill">
<hr/>
</div>
</div>
</div>
<form action="#idYA----" method="POST" id="idYA----" onsubmit="return submitForm(this,this);"
><a name="idYA----"/><input type="hidden" name="selector" value="idYA----"/>
<div class="fieldwithbuttons editable fill">
<div class="fill"><textarea name="data" cols="78" rows="3">0 = x

</textarea>
</div>
<div class="editbuttontd"><input type="submit" name="action" value="OK" class="editbutton"
 onclick="return submitForm(this.form,this);"/><br/><input type="submit" name="action"
 value="Cancel" class="editbutton" onclick="return submitForm(this.form,this);"
/>
</div>
</div><input type="hidden" name="xoff" value="0"/><input type="hidden" name="yoff"
 value="0"/>
</form>
<div class="namedseparator fill">
<div>
<div class="vert_sep_name">Results:
</div>
<div class="fill">
<hr/>
</div>
</div>
</div>
<div id="idZA----" class="fill"><a name="idZA----"/>
<div>Heap used:&nbsp;218688 free:&nbsp;133997052
</div>
<div>Time used:&nbsp;0:0:0:41
</div>
</div>
</div>
</div>
</body></html>