<?xml version="1.0" encoding="EUC-JP" standalone="yes"?>
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xml:lang="ja-JP">
  <channel rdf:about="http://www.xtisp.org/en/?c=recent">
    <title>XTiSP on the Web : Recent Changes</title>
    <link>http://www.xtisp.org/en/?c=recent</link>
    <description>XTiSP on the Web Recent Changes</description>
    <dc:language>ja</dc:language>
    <dc:rights>Copyright (C) Keisuke Nakano</dc:rights>
    <dc:date>2006-11-10T03:44:45+00:00</dc:date>
    <items>
      <rdf:Seq>
        <rdf:li resource="http://www.xtisp.org/en/?FrontPage"/>
        <rdf:li resource="http://www.xtisp.org/en/?Latest"/>
        <rdf:li resource="http://www.xtisp.org/en/?SideMenu"/>
        <rdf:li resource="http://www.xtisp.org/en/?IVVisit"/>
        <rdf:li resource="http://www.xtisp.org/en/?IVInvite"/>
        <rdf:li resource="http://www.xtisp.org/en/?IVBefore"/>
        <rdf:li resource="http://www.xtisp.org/en/?TabTree"/>
        <rdf:li resource="http://www.xtisp.org/en/?IVXPath"/>
        <rdf:li resource="http://www.xtisp.org/en/?IVNonElement"/>
        <rdf:li resource="http://www.xtisp.org/en/?IVElement"/>
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="http://www.xtisp.org/en/?FrontPage">
    <title>XTiSP on the Web</title>
    <link>http://www.xtisp.org/en/?FrontPage</link>
    <dc:date>2006-11-10T03:44:45+00:00</dc:date>
    <content:encoded><![CDATA[<div><ul>
<li>Nov 10, 2006.<ul>
<li>Nakano gives a talk about next implementation of XTiSP at APLAS 2006 in Sydney.</li>
</ul></li>
<li>Apr 12, 2006.<ul>
<li>'XTiSP.ORG' is open.</li>
</ul></li>
<li>Sep 23, 2005.<ul>
<li>Nakano gives a talk about XTiSP in the 1st DIKU-IST workshop.</li>
<li>The release is delaying because of compatibility for the previous version.</li>
</ul></li>
<li>May 25, 2005.<ul>
<li>The next release will be in <del>July</del> August.</li>
</ul></li>
<li>July 28, 2004.<ul>
<li>Released at long last.</li>
</ul></li>
<li>June 16, 2004.<ul>
<li>Coming soon!</li>
</ul></li>
<li>March 2, 2004.<ul>
<li>Started this web site.</li>
</ul></li>
</ul>
</div>]]></content:encoded>  </item>  <item rdf:about="http://www.xtisp.org/en/?Latest">
    <title>Latest</title>
    <link>http://www.xtisp.org/en/?Latest</link>
    <dc:date>2006-11-10T01:24:34+00:00</dc:date>
    <content:encoded><![CDATA[<div><h2><span class="date"><a name="l0"> </a></span><span class="title">XTiSP/PD</span></h2>
<ul>
<li>[Nov 10, 2006] Please email to ksk_at_xtisp_dot_org if you want to get the current prototype.</li>
</ul>
<h2><span class="date"><a name="l1"> </a></span><span class="title">XTiSP/IV, XTiSP/AG</span></h2>
<ul>
<li>[Jun 28, 2004] <a href="http://www.xtisp.org/pub/xtisp-0.1.0.tar.gz" class="external">xtisp-0.1.0.tar.gz</a></li>
</ul>
</div>]]></content:encoded>  </item>  <item rdf:about="http://www.xtisp.org/en/?SideMenu">
    <title>SideMenu</title>
    <link>http://www.xtisp.org/en/?SideMenu</link>
    <dc:date>2006-07-23T06:19:24+00:00</dc:date>
    <content:encoded><![CDATA[<div><h2><span class="date"><a name="l0"> </a></span><span class="title"><a href="http://www.xtisp.org/" class="external">http://www.xtisp.org/</a></span></h2>
<p><span class="plugin">{{e('nbsp')}}</span><span class="plugin">{{e('nbsp')}}</span><span class="plugin">{{e('nbsp')}}</span>
<img src="http://www.xtisp.org/img/xtisp150a.png" alt="XTiSP logo"></p>
<h2><span class="date"><a name="l1"> </a></span><span class="title">Latest 20 pages</span></h2>
<div class="plugin">{{recent}}</div>
</div>]]></content:encoded>  </item>  <item rdf:about="http://www.xtisp.org/en/?IVVisit">
    <title>visit - XTiSP/IV</title>
    <link>http://www.xtisp.org/en/?IVVisit</link>
    <dc:date>2006-06-11T01:12:01+00:00</dc:date>
    <content:encoded><![CDATA[<div><h2><span class="date"><a name="l0"> </a></span><span class="title">Partial Modification</span></h2>
<p>A visit expression is used as the form:</p>
<pre>
visit `xpath` do exp done
</pre>
<p>It returns an element corresponding the current node in which every node satisfying xpath is replaced with the result of exp after the current node is moved to the node. You can use before-notation in xpath.</p>
<p>Consider the following XTiSP program:</p>
<pre>
visit `.//TITLE` do
 &lt;NAME&gt; [ { value() } ]
done
</pre>
<p>Suppose that the input XML is</p>
<pre>
&lt;PLAY&gt;&lt;TITLE&gt;R and J&lt;/TITLE&gt;
&lt;SCENE&gt;&lt;TITLE&gt;Prologue&lt;/TITLE&gt;&lt;/SCENE&gt;&lt;/PLAY&gt;
</pre>
<p>The XTiSP program above returns</p>
<pre>
&lt;PLAY&gt;&lt;NAME&gt;R and J&lt;/NAME&gt;
&lt;SCENE&gt;&lt;NAME&gt;Prologue&lt;/NAME&gt;&lt;/SCENE&gt;&lt;/PLAY&gt;
</pre>
</div>]]></content:encoded>  </item>  <item rdf:about="http://www.xtisp.org/en/?IVInvite">
    <title>invite - XTiSP/IV</title>
    <link>http://www.xtisp.org/en/?IVInvite</link>
    <dc:date>2006-06-11T01:08:46+00:00</dc:date>
    <content:encoded><![CDATA[<div><h2><span class="date"><a name="l0"> </a></span><span class="title">XPath Querying with Map</span></h2>
<p>The 'invite' expression is used as the form of</p>
<pre>
invite `xpath` do exp done
</pre>
<p>It returns a sequence of results each of which is returned by exp after the current node is moved to every node satisfying `xpath`, in which you can use before-notation.
Initially, the current node is the root node. For example, an XTiSP program</p>
<pre>
invite `article` do exp done
</pre>
<p>returns the evaluation result of exp after the current node is moved to the child article of the root.
We can refer the name and attributes (as a record) of the element for the current node by . and @, respectively. If you want to refer the name of the current node, just write .; if you want to refer the value of a designate attribute att_name, write as follows:</p>
<pre>
@('att_name')
</pre>
<p>We use value() as a non-element expression to refer the text value of the current node, which is defined by a concatenation of all character data that is descendant of the current node.
Consider the following XTiSP program:</p>
<pre>
&lt;HTML&gt; [
 &lt;HEAD&gt; [ &lt;TITLE&gt; [ ] ];
 &lt;BODY&gt; [ 
   invite `article` do { value() } done;
   &lt;BR&gt; [ ];
   invite `article` do {@'author'} done
 ]
]
</pre>
<p>If the input XML is</p>
<pre>
&lt;article author="Shakespeare"&gt;R and J&lt;/article&gt;,
</pre>
<p>then the XTiSP program above returns</p>
<pre>
&lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE/&gt;&lt;/HEAD&gt;&lt;BODY&gt;R and J&lt;BR/&gt;Shakespeare&lt;/BODY&gt;
</pre>
</div>]]></content:encoded>  </item>  <item rdf:about="http://www.xtisp.org/en/?IVBefore">
    <title>'before' - XTiSP/IV</title>
    <link>http://www.xtisp.org/en/?IVBefore</link>
    <dc:date>2006-06-10T15:36:31+00:00</dc:date>
    <content:encoded><![CDATA[<div><h2><span class="date"><a name="l0"> </a></span><span class="title">Halt to querying: 'before'</span></h2>
<p>XTiSP provides an extended notation of XPath for efficient querying. We write</p>
<pre>
`xpath1` before `xpath2`
</pre>
<p>to query elements which satisfy xpath1, which do not satisfy xpath2 and which do not follow an element satisfying xpath2. A future version of XTiSP may support the automatic insertion of 'before' notation using the schema information of inputs.
Suppose that the input XML is r_and_j.xml by Jon Bosak. An XTiSP program</p>
<pre>
&lt;HTML&gt; [
 &lt;HEAD&gt; [ `PLAY/TITLE` before `PLAY/FM` ];
 &lt;BODY&gt; [ 
   &lt;PRE&gt; [ `PLAY/FM` before `PLAY/PERSONAE` ]
 ]
]
</pre>
<p>returns the same result as the example for XPath querying. This program is more efficient than that because it can output &lt;/HEAD&gt;&lt;BODY&gt; on reading &lt;FM&gt; which is a child of PLAY element.</p>
</div>]]></content:encoded>  </item>  <item rdf:about="http://www.xtisp.org/en/?TabTree">
    <title>TabTree</title>
    <link>http://www.xtisp.org/en/?TabTree</link>
    <dc:date>2006-06-10T15:34:50+00:00</dc:date>
    <content:encoded><![CDATA[<div><ol>
<li>Top<ol>
<li><a href="./">News</a></li>
<li><a href="./?About">About</a></li>
<li><a href="./?To+Do">To Do</a></li>
<li><a href="./?TabTree">Sitemap</a></li>
<li><a href="./?Thanks">Thanks</a></li>
</ol></li>
<li>Download<ol>
<li><a href="./?Latest">Latest</a></li>
<li><a href="./?Old+Version">Old Version</a></li>
<li><a href="./?Licence">Licence</a></li>
</ol></li>
<li>Documentation<ol>
<li><a href="./?Publication">Publication</a></li>
<li>XTiSP/PD<ol>
<li><a href="./?PDInstallation">Installation</a></li>
<li><a href="./?PDUsage">Usage</a></li>
<li><a href="./?PDTutorial">Tutorial</a></li>
<li><a href="./?PDExample">Example</a></li>
</ol></li>
<li>XTiSP/IV<ol>
<li><a href="./?IVInstallation">Installation</a></li>
<li><a href="./?IVUsage">Usage</a></li>
<li>Tutorial<ol>
<li><a href="./?IVBasic">Basic Notion</a></li>
<li><a href="./?IVElement">Element</a></li>
<li><a href="./?IVNonElement">Non-Element</a></li>
<li>XPath<ol>
<li><a href="./?IVXPath">Querying</a></li>
<li><a href="./?IVBefore">'before'</a></li>
</ol></li>
<li>Iteration<ol>
<li><a href="./?IVInvite">invite</a></li>
<li><a href="./?IVVisit">visit</a></li>
</ol></li>
</ol></li>
<li><a href="./?IVExample">Example</a></li>
</ol></li>
<li>XTiSP/AG<ol>
<li><a href="./?AGSummary">Summary</a></li>
<li><a href="./?AGExample">Example</a></li>
</ol></li>
</ol></li>
<li>Support<ol>
<li><a href="./?Demo">Demo</a></li>
<li><a href="./?FAQ">FAQ</a></li>
</ol></li>
<li><a href="./?Link">Link</a></li>
</ol>
</div>]]></content:encoded>  </item>  <item rdf:about="http://www.xtisp.org/en/?IVXPath">
    <title>XPath - XTiSP/IV</title>
    <link>http://www.xtisp.org/en/?IVXPath</link>
    <dc:date>2006-06-10T15:33:12+00:00</dc:date>
    <content:encoded><![CDATA[<div><h2><span class="date"><a name="l0"> </a></span><span class="title">XPath Querying</span></h2>
<p>XTiSP programs can query elements designated by some XPath expressions. Currently, XTiSP supports only forward and relative paths: forward means it does not contain backward axis such as parent and ancestor; relative means the program select a sequence of nodes relative to a current node, which is initially the root node of the input.
In XTiSP programs, each XPath expression is enclosed in back-quotation marks (`). Suppose that the input XML is r_and_j.xml by Jon Bosak. A program</p>
<pre>
&lt;HTML&gt; [
 &lt;HEAD&gt; [ `PLAY/TITLE` ];
 &lt;BODY&gt; [ 
   &lt;PRE&gt; [ `PLAY/FM` ]
 ]
]
</pre>
<p>returns an XML</p>
<pre>
&lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE&gt;The Tragedy of Romeo and Juliet&lt;/TITLE&gt;
&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;FM&gt; ... &lt;/FM&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;
</pre>
<p>Note that the obtained stream processing program is not efficient since it cannot print '&lt;/HEAD&gt;&lt;BODY&gt;' until the whole children of the PLAY element have been read. This is because the program does not use the schema information of the input. In order to make it efficient, we use before notation mentioned at the next section.</p>
</div>]]></content:encoded>  </item>  <item rdf:about="http://www.xtisp.org/en/?IVNonElement">
    <title>Non-Element - XTiSP/IV</title>
    <link>http://www.xtisp.org/en/?IVNonElement</link>
    <dc:date>2006-06-10T15:30:55+00:00</dc:date>
    <content:encoded><![CDATA[<div><h2><span class="date"><a name="l0"> </a></span><span class="title">Non-Element Objects</span></h2>
<p>We can deal with non-element objects such as string and record (for attributes) by putting them between curly braces. Non-element objects are given by constants and primitive functions.
An XTiSP program</p>
<pre>
&lt;HTML&gt; [ 
 &lt;HEAD&gt; [ &lt;TITLE&gt; [ {"This is a title."} ] ];
 &lt;BODY&gt; [ 
   {String.capitalize("powered by ")};
   &lt;A HREF='http://xtisp.psdlab.org'&gt; [ {"XTiSP"} ];
   {"."}
 ]
]
</pre>
<p>returns an XML</p>
<pre>
&lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE&gt;This is a title.&lt;/TITLE&gt;&lt;/HEAD&gt;
&lt;BODY&gt;Powered by &lt;A HREF="http://xtisp.psdlab.org"&gt;XTiSP&lt;/A&gt;.&lt;/BODY&gt;
&lt;/HTML&gt; 
</pre>
<p>independently of input XML. Though discouraged, we can use some functions in Objective Caml in uncurried style, e.g., String.make(10,String.get("!",0)) It returns a string !!!!!!!!!!.</p>
</div>]]></content:encoded>  </item>  <item rdf:about="http://www.xtisp.org/en/?IVElement">
    <title>Element - XTiSP/IV</title>
    <link>http://www.xtisp.org/en/?IVElement</link>
    <dc:date>2006-06-10T15:28:37+00:00</dc:date>
    <content:encoded><![CDATA[<div><h2><span class="date"><a name="l0"> </a></span><span class="title">Element Construction and Concatenation</span></h2>
<p>Element construction is defined by</p>
<pre>
&lt;NAME ATTRIBUTE&gt; [ CHILDREN ]
</pre>
<p>and concatination of two results of e1 and e2 is defined by e1;e2.
An XTiSP program</p>
<pre>
&lt;HTML&gt; [
  &lt;HEAD&gt; [ &lt;TITLE LANG='en'&gt; [  ] ];
  &lt;BODY STYLE='background-color:#df9'&gt; [  ] ]
]
</pre>
<p>returns an XML</p>
<pre>
 &lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE LANG='en'&gt;&lt;/TITLE&gt;&lt;/HEAD&gt;
 &lt;BODY STYLE='background-color:#df9'&gt;&lt;/BODY&gt;&lt;/HTML&gt;
</pre>
<p>independently of the input XML.</p>
</div>]]></content:encoded>  </item></rdf:RDF>
