Za pomoč pri instaliaciji Xalana in za izdelavo uporabljene specifikacije stila gre prisrčna zahvala Laurentu Romaryu in, posredno, združenju TELRI.
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?> <text id="Osl." lang="sl"> <body> <div type="part" id="Osl.1"> <div type="chapter" id="Osl.1.2"> <p id="Osl.1.2.2"> <s id="Osl.1.2.2.1"> <w lemma="biti" ana="Vcps-sma">Bil</w> <w lemma="biti" ana="Vcip3s--n">je</w> <w lemma="jasen" ana="Afpmsnn">jasen</w> <c>,</c> <w lemma="mrzel" ana="Afpmsnn">mrzel</w> <w lemma="aprilski" ana="Aopmsn">aprilski</w> <w lemma="dan" ana="Ncmsn">dan</w> <w lemma="in" ana="Ccs">in</w> <w lemma="ura" ana="Ncfpn">ure</w> <w lemma="biti" ana="Vcip3p--n">so</w> <w lemma="biti" ana="Vmps-pfa">bile</w> <w lemma="trinajst" ana="Mcnpnl">trinajst</w> <c>.</c> </s> <s id="Osl.1.2.2.2"> <w lemma="Winston" ana="Npmsn">Winston</w> <w lemma="Smith" ana="Npmsn">Smith</w> <w lemma="biti" ana="Vcip3s--n">je</w> <w lemma="imeti" ana="Vmps-sma">imel</w> <w lemma="brada" ana="Ncfsa">brado</w> <w lemma="zakopan" ana="Afpfsa">zakopano</w> <w lemma="v" ana="Spsa">v</w> <w lemma="prsi" ana="Ncfpa">prsi</w> <c>,</c> <w lemma="da" ana="Css">da</w> <w lemma="biti" ana="Vcc">bi</w> <w lemma="uiti" ana="Vmps-sma">ušel</w> <w lemma="strupen" ana="Afpmsd">strupenemu</w> <w lemma="veter" ana="Ncmsd">vetru</w> <c>,</c> <w lemma="ko" ana="Css">ko</w> <w lemma="biti" ana="Vcip3s--n">je</w> <w lemma="stopiti" ana="Vmps-sma">stopil</w> <w lemma="skozi" ana="Spsa">skozi</w> <w lemma="steklen" ana="Afpnpa">steklena</w> <w lemma="vrata" ana="Ncnpa">vrata</w> <w lemma="blok" ana="Ncmsg">bloka</w> <w lemma="zmaga" ana="Ncfsn">Zmaga</w> <c>,</c> <w lemma="vendar" ana="Ccs">vendar</w> <w lemma="ne" ana="Q">ne</w> <w lemma="dovolj" ana="Rgp">dovolj</w> <w lemma="hiter" ana="Rgp">hitro</w> <c>,</c> <w lemma="da" ana="Css">da</w> <w lemma="ne" ana="Q">ne</w> <w lemma="biti" ana="Vcc">bi</w> <w lemma="vrtinec" ana="Ncmsn">vrtinec</w> <w lemma="peščen" ana="Afpmsg">peščenega</w> <w lemma="prah" ana="Ncmsg">prahu</w> <w lemma="vstopiti" ana="Vmps-sma">vstopil</w> <w lemma="skupaj" ana="Rgp">skupaj</w> <w lemma="z" ana="Spsi">z</w> <w lemma="on" ana="Pp3msi--n-n">njim</w> <c>.</c> </s> </p> </div> </div> </body> </text>
Testna datoteka v HTML je v tst.html, tu pa je celo prvo poglavje. Zapis ilustriramo spodaj:
<html> <body> <H1>part=Osl.1</H1> <H1>chapter=Osl.1.2</H1> <P> <BR> <TABLE CELLSPACING="1" BORDER="0" width="100%" align="center"> <TR> <TD>Bil</TD><TD>je</TD><TD>jasen</TD><TD>,</TD><TD>mrzel</TD><TD>aprilski</TD><TD>dan</TD><TD>in</TD><TD>ure</TD><TD>so</TD><TD>bile</TD><TD>trinajst</TD><TD>.</TD> </TR> <TR> <TD><SMALL> <FONT color="blue">Vcps-sma</FONT> </SMALL></TD><TD><SMALL> <FONT color="blue">Vcip3s--n</FONT> </SMALL></TD><TD><SMALL> <FONT color="blue">Afpmsnn</FONT> </SMALL></TD><TD><SMALL> <FONT color="blue"> </FONT> </SMALL></TD><TD><SMALL> <FONT color="blue">Afpmsnn</FONT> </SMALL></TD><TD><SMALL> <FONT color="blue">Aopmsn</FONT> </SMALL></TD><TD><SMALL> <FONT color="blue">Ncmsn</FONT> </SMALL></TD><TD><SMALL> <FONT color="blue">Ccs</FONT> </SMALL></TD><TD><SMALL> <FONT color="blue">Ncfpn</FONT> </SMALL></TD><TD><SMALL> <FONT color="blue">Vcip3p--n</FONT> </SMALL></TD><TD><SMALL> <FONT color="blue">Vmps-pfa</FONT> </SMALL></TD><TD><SMALL> <FONT color="blue">Mcnpnl</FONT> </SMALL></TD><TD><SMALL> <FONT color="blue"> </FONT> </SMALL></TD> </TR>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="div"> <H1><xsl:value-of select="@type"/>=<xsl:value-of select="@id"/></H1> <xsl:apply-templates/> </xsl:template> <xsl:template match="p"> <P> <xsl:apply-templates/> </P> </xsl:template> <xsl:template match="s"> <BR/> <TABLE align="center" width="100%" BORDER="0" CELLSPACING="1"> <TR> <xsl:for-each select="w|c"> <TD> <xsl:value-of select="."/> </TD> </xsl:for-each> </TR> <TR> <xsl:for-each select="w|c"> <TD><SMALL><FONT color="blue"> <xsl:value-of select="@ana"/> </FONT></SMALL></TD> </xsl:for-each> </TR> <TR> <xsl:for-each select="w|c"> <TD><SMALL><FONT color="green"> <xsl:value-of select="@lemma"/> </FONT></SMALL></TD> </xsl:for-each> </TR> </TABLE> </xsl:template> </xsl:stylesheet>
Preiskus: stavljenje celotnega romana '1984' s Xalanom na Linux/Pentium.
Velikost vhoda:
$du tst-sl.xml 3972 tst-sl.xml $tagcount < tst-sl.xml <tagusage gi=div occurs=29></tagusage> <tagusage gi=p occurs=1288></tagusage> <tagusage gi=s occurs=6689></tagusage> <tagusage gi=w occurs=90792></tagusage> <tagusage gi=c occurs=21486></tagusage>Transform:
$ time java org.apache.xalan.xslt.Process \ -in tst-sl.xml -xsl msd.xsl -out tst-sl.html ========= Parsing file:msd.xsl ========== Parse of file:msd.xsl took 785 milliseconds ========= Parsing file:tst-sl.xml ========== Parse of file:tst-sl.xml took 13831 milliseconds ============================= Transforming... transform took 46612 milliseconds XSLProcessor: done 50.61user 2.33system 1:03.83elapsed 82%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (5388major+3495minor)pagefaults 407swaps