Code For
XSLT Stylesheet"Hypertext_Fiction.xsl"
(Alan Liu's "Tracker"
demo)
// Called
by the XML document "falco_instance.xml"
to transform XML into HTML for Web;
// Uses <SPAN> tags to format for HTML the content found in "nodes"
in the XML document;
// Note the analogy between the XPATH language "select" statement
that locates nodes (e.g.
// "select="REGISTER/WORK" and the SQL "select" statement
<?xml version="1.0"?>
<!-- File Name: Hypertext_Fiction.xsl -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<HTML>
<HEAD>
<TITLE>Hypertext Fiction Tracker</TITLE>
</HEAD>
<BODY>
<SPAN STYLE="font-family:arial, Helvetica, sans-serif; font-size:14px">
<DIV align="center">
<FONT size="+4">Hypertext Fiction Tracker</FONT><BR/>
<FONT size="+3">Conceptual Demo of XML Application</FONT><BR/>
<FONT size="+2">(Alan Liu; last rev. Feb. 18, 2002)</FONT>
</DIV><BR/>
<xsl:for-each select="REGISTER/WORK">
<SPAN STYLE="font-size:130%; font-weight:900">
Title of Work:
</SPAN>
<SPAN STYLE="font-size:130%; font-weight:900; color:red">
"<xsl:value-of select="WORK_TITLE"/>"
</SPAN><BR/>
<SPAN STYLE="font-size:130%;font-weight:900">
Author:
</SPAN>
<SPAN STYLE="font-size:130%; font-weight:900; color:red">
<xsl:value-of select="AUTHOR"/>
</SPAN><BR/>
<SPAN STYLE="font-size:130%;font-weight:900">
Date of Publication:
</SPAN>
<SPAN STYLE="font-size:130%; color:red">
<xsl:value-of select="DATE"/>
</SPAN><BR/>
<SPAN STYLE="font-size:130%;font-weight:900">
Media Format:
</SPAN>
<SPAN STYLE="font-size:130%; color:red">
<xsl:value-of select="MEDIA"/>
</SPAN><BR/>
<SPAN STYLE="font-size:130%;font-weight:900">
URL:
</SPAN>
<SPAN STYLE="color:red">
<A><xsl:attribute name="href">
<xsl:value-of select="WORK_URL"/>
</xsl:attribute>
<xsl:value-of select="WORK_URL"/>
</A><BR/>
</SPAN><BR/><BR/><HR/>
<SPAN STYLE="font-size:130%; font-weight:900; color:red">
Plot Strands:
</SPAN><HR/><BR/>
<xsl:for-each select="/REGISTER/WORK/PLOT/STRAND">
<SPAN STYLE="font-size:130%; font-weight:900; color:blue">
<xsl:value-of select="STRAND_TITLE"/>
</SPAN><BR/><BR/>
<xsl:for-each select="LEXIA">
<TABLE width="80%" border="1" align="center" bordercolordark="FFFFFF" bordercolor="#999999">
<TR>
<TD width="15%"><SPAN STYLE="font-weight:800; color:blue">Lexia Title: </SPAN></TD>
<TD><SPAN STYLE="font-weight:800; color:blue">
<xsl:value-of select="LEXIA_TITLE"/></SPAN></TD>
</TR>
<TR>
<TD><SPAN STYLE="font-weight:800">Characters: </SPAN></TD>
<TD><xsl:value-of select="CHARACTERS"/></TD>
</TR>
<TR>
<TD><SPAN STYLE="font-weight:800">Mode: </SPAN></TD>
<TD><xsl:value-of select="MODE"/></TD>
</TR>
<TR>
<TD><SPAN STYLE="font-weight:800">Description or Keywords: </SPAN></TD>
<TD><xsl:value-of select="KEYWORDS"/></TD>
</TR>
<TR>
<TD><SPAN STYLE="font-weight:800">Lexia URL: </SPAN></TD>
<TD><A>
<xsl:attribute name="href"><xsl:value-of select="LEXIA_URL"/></xsl:attribute>
<xsl:attribute name="target">"2"</xsl:attribute>
<xsl:value-of select="LEXIA_URL"/>
</A>
</TD>
</TR>
</TABLE><BR/><BR/>
</xsl:for-each>
<HR/>
</xsl:for-each>
</xsl:for-each>
</SPAN>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>