color:#000080;
}
+/* mark colors **************************************************************/
+
+.red-mark {
+ color:#F00000;
+}
+
+.green-mark {
+ color:#00F000;
+}
+
+.blue-mark {
+ color:#0000F0;
+}
+
/* background colors ********************************************************/
.white {
<page xmlns="http://lambdadelta.info/"
description = "\lambda\delta home page"
title = "\lambda\delta home page"
+ logo = "crux"
head = "The Formal Systems of the λδ (\lambda\delta) Family"
>
<sitemap name="sitemap"/>
(revised <notice class="gamma" notice="2015-09"/>).
</body>
- <subsection name="v3"><version3-icon/>λδ version 3 (proposed)</subsection>
+ <subsection name="v3"><img logo="ld3"/>λδ version 3 (proposed)</subsection>
<body>
The main source of information is <notice class="alpha" notice="J3a"/>.
</body>
<table name="documentation_3"/>
- <subsection name="v2"><version2-icon/>λδ version 2 (active)</subsection>
+ <subsection name="v2"><img logo="ld2"/>λδ version 2 (active)</subsection>
<body>
The main source of information is <notice class="alpha" notice="R2c"/>.
</body>
<table name="documentation_2"/>
- <subsection name="v1"><version1-icon/>λδ version 1 (superseded)</subsection>
+ <subsection name="v1"><img logo="ld1"/>λδ version 1 (superseded)</subsection>
<body>
The main source of information is <notice class="alpha" notice="J1a"/>.
A summary is available in <notice class="alpha" notice="P1e"/>.
<page xmlns="http://lambdadelta.info/"
description = "\lambda\delta home page"
title = "\lambda\delta home page"
+ logo = "crux"
head = "The Formal Systems of the λδ (\lambda\delta) Family"
>
<sitemap name="sitemap"/>
<section5 name="tools">Tools</section5>
- <subsection name="lddl"><crux-icon/>λδ Digital Library (LDDL)</subsection>
+ <subsection name="osn"><img logo="osn"/>Open Symbolic Notation</subsection>
+
<body>
- The λδ Digital Library is part of <link to="http://helm.cs.unibo.it/">HELM</link>
- and contains resources expressed in the systems of the λδ family.
+ Open Symbolic Notation, abbreviated OSN,
+ is an easy and flexible data-interchange text format
+ intended for the lightweight representation of
+ generic abstract syntax trees in the domain of formal systems.
+ Additional information will appear soon.
</body>
- <topitem name="contents">
- <notice class="alpha" notice="Contents:"/>
- Landau's "Grundlagen der Analysis"
- (from Jutting's specification in <link to="http://www.win.tue.nl/automath/">Automath</link>).
- </topitem>
- <topitem name="access">
- <notice class="alpha" notice="Access:"/>
- <rlink to="static/lddl/">static pages</rlink> (updated <notice class="gamma" notice="2015-01"/>),
- <rlink to="download/lddl.tar.bz2">data set</rlink> (updated <notice class="gamma" notice="2014-12"/>),
- <rlink to="xml/">HELM server URL</rlink> (updated <notice class="gamma" notice="2014-12"/>).
- </topitem>
- <topitem name="examples">
- <notice class="alpha" notice="Examples:"/>
- <rlink to="static/lddl/Environment/grundlagen_2/l/e/st/eq/landau/n/rt/rp/r/c/8283/t234.ld.html">
- Grundlagen's definition "t234"</rlink>
- in λδ version 4.
- </topitem>
- <subsection name="helena"><helena-icon/>Helena</subsection>
+
+ <subsection name="helena"><img logo="helena"/>Helena</subsection>
<body>
Helena is a processor for the systems of the λδ family,
</item></list>
</topitem>
- <subsection name="osn"><osn-icon/>Open Symbolic Notation</subsection>
- <body>
- Open Symbolic Notation (OSN) is an easy data-interchange textual format
- based on <link to="https://en.wikipedia.org/wiki/S-expression">symbolic expressions</link>.
- OSN is completely language independent but uses widely accepted conventions.
- These features make OSN ideal for storing and exchanging tree-like data structures
- in a lightweight manner.
- </body>
+ <subsection name="lddl"><img logo="lddl"/>λδ Digital Library (LDDL)</subsection>
+
<body>
- An OSN text uses the <link to="http://www.utf-8.com/">UTF-8</link> character set
- and contains the next tokens:
+ The λδ Digital Library is part of <link to="http://helm.cs.unibo.it/">HELM</link>
+ and contains resources expressed in the systems of the λδ family.
</body>
- <list><item>
- <ebnf>
- <prod of="symbol"/> <def/>
- <prod of="symbol_char"/> <prod of="symbol_char"/> <star/>
- <stop/> <newline/>
- <prod of="symbol_char"/> <def/>
- <chr of="+"/> <or/> <chr of="-"/> <or/> <chr of="."/> <or/>
- <chr of="0"/> <or/> <etc/> <or/> <chr of="9"/> <or/>
- <chr of="A"/> <or/> <etc/> <or/> <chr of="Z"/> <or/>
- <chr of="_"/> <or/> <chr of="a"/> <or/> <etc/> <or/> <chr of="z"/>
- <stop/>
- </ebnf> <newline/>
- this token can represent the identifiers and the numerical constants of most programming languages;
- </item><item>
- <ebnf>
- <prod of="string"/> <def/>
- <chr of="""/> <open/>
- <prod of="string_char"/> <or/>
- <chr of="\"/> <prod of="escape"/>
- <close/> <star/> <chr of="""/>
- <stop/>
- </ebnf> <newline/>
- every valid UTF-8 character whose code point is greater than U+001F is accepted eccept " \ <newline/>
- the next commonly accepted escape sequences are recognized: \0 \a \b \t \n \v \f \r \e \" \\ <newline/>
- morover, the escape sequences \x <two hexadecimal digits> and \u <four hexadecimal digits>
- allow to specify a character by its code point <newline/>
- finally the escape sequences \( for U+0002 and \) for U+0003 are available
- </item><item>
- <ebnf>
- <prod of="qualifier"/> <def/> <chr of=":"/> <stop/>
- </ebnf>
- </item><item>
- <ebnf>
- <prod of="left"/> <def/>
- <chr of="("/> <or/> <chr of="<"/> <or/> <chr of="["/> <or/> <chr of="{"/>
- <stop/>
- </ebnf> <newline/>
- this token starts a compound symbolic expression;
- </item><item>
- <ebnf>
- <prod of="right"/> <def/>
- <chr of=")"/> <or/> <chr of=">"/> <or/> <chr of="]"/> <or/> <chr of="}"/>
- <stop/>
- </ebnf> <newline/>
- this token ends a compound symbolic expression;
- </item><item>
- <ignored> each of the characters U+0009..U+000D U+0020 , ; = <newline/>
- these characters are ignored and separate the other tokens
- </item><item>
- <reserved> any character not starting any other token <newline/>
- these characters are not allowed,
- and those in the range U+0021..U+007E are
- ! # $ % & ' * / ? @ \ ^ ` | ~
- </item></list>
+ <topitem name="contents">
+ <notice class="alpha" notice="Contents:"/>
+ Landau's "Grundlagen der Analysis"
+ (from Jutting's specification in <link to="http://www.win.tue.nl/automath/">Automath</link>).
+ </topitem>
+ <topitem name="access">
+ <notice class="alpha" notice="Access:"/>
+ <rlink to="static/lddl/">static pages</rlink> (updated <notice class="gamma" notice="2015-01"/>),
+ <rlink to="download/lddl.tar.bz2">data set</rlink> (updated <notice class="gamma" notice="2014-12"/>),
+ <rlink to="xml/">HELM server URL</rlink> (updated <notice class="gamma" notice="2014-12"/>).
+ </topitem>
+ <topitem name="examples">
+ <notice class="alpha" notice="Examples:"/>
+ <rlink to="static/lddl/Environment/grundlagen_2/l/e/st/eq/landau/n/rt/rp/r/c/8283/t234.ld.html">
+ Grundlagen's definition "t234"</rlink>
+ in λδ version 4.
+ </topitem>
<footer/>
</page>
<page xmlns="http://lambdadelta.info/"
description = "\lambda\delta home page"
title = "\lambda\delta home page"
+ logo = "crux"
head = "The Formal Systems of the λδ (\lambda\delta) Family"
>
<sitemap name="sitemap"/>
<section9 name="disclaimer">Disclaimer</section9>
<body>
- The systens of the λδ family <notice class="alpha" text="are not"/> related intentionally to any other system
- having (variations of) the symbols λ and δ in its name or syntax.
+ The systens of the λδ family <notice class="alpha" text="are not"/> related intentionally to
+ any other system having (variations of) the symbols λ and δ in its name or syntax.
Examples include (but are not limited to):
</body>
Eindhoven University of Technology, Eindhoven.
</topitem>
+ <body>
+ Moreover, the systens of the λδ family <notice class="alpha" text="are not"/> related intentionally to
+ the character <link to="http://umineko.wikia.com/wiki/Lambdadelta">Lady Lambdadelta</link>,
+ the Witch of Certainty of the sound novel
+ <link to="https://it.wikipedia.org/wiki/Umineko_no_naku_koro_ni">Umineko no Naku Koro ni</link>.
+ </body>
+
<footer/>
</page>
<page xmlns="http://lambdadelta.info/"
description = "\lambda\delta home page"
title = "\lambda\delta home page"
+ logo = "crux"
head = "The Formal Systems of the λδ (\lambda\delta) Family"
>
<sitemap name="sitemap"/>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+
+<page xmlns="http://lambdadelta.info/"
+ description = "\lambda\delta home page: Open Symbolic Notation"
+ title = "\lambda\delta home page: Open Symbolic Notation"
+ logo = "osn"
+ head = "Open Symbolic Notation"
+>
+ <body>
+ Open Symbolic Notation, abbreviated OSN,
+ is an easy and flexible data-interchange text format
+ intended for the lightweight representation of
+ generic abstract syntax trees in the domain of formal systems.
+ In order to meet theese design goals, OSN pursues the following features.
+ </body>
+ <list><style class="red-mark"><item><style class="alpha">
+ <link to="https://en.wikipedia.org/wiki/S-expression">Symbolic expressions</link>
+ based on widely accepted syntactical conventions
+ provide for a <notice text="lightweight"/> and <notice text="generic"/> grammar,
+ which is both <notice text="easy for machines to process"/>,
+ and <notice text="easy for humans to understand"/>.
+ As a mean to support <notice text="efficient"/> information processing,
+ OSN aims at an economic representation of data
+ contrary to <link to="http://www.w3.org/TR/2008/REC-xml-20081126/#sec-origin-goals">XML design goal 10</link>.
+ Compared to other data-interchange formats based on symbolic expressions,
+ like <link to="http://people.csail.mit.edu/rivest/Sexp.txt">canonical symbolic expressions</link>,
+ representing arbitrary data in binary format is a secondary concern in the designn of OSN,
+ as well as the support for canonicalization.
+ Apparently, theese features fall outside the scope of OSN,
+ which targets the data structures of <notice text="formal systems"/>.
+ </style></item></style>
+ <newline/>
+ <style class="blue-mark"><item><style class="alpha">
+ Optionally <link to="https://en.wikipedia.org/wiki/Namespace">qualified</link> symbolic expressions
+
+ </style></item></style>
+ <newline/>
+ <style class="green-mark"><item><style class="alpha">
+ The <link to="https://en.wikipedia.org/wiki/ASCII">US-ASCII</link> character set,
+ extended to <link to="http://www.utf-8.com/">UTF-8</link> in
+ free-form text strings for the convenience of human readers,
+ makes OSN documents <notice text="easy to visualize and transport"/> over communication media.
+ OSN design aims at supporting <notice text="application-independent"/> standard encodings.
+ </style></item></style></list>
+ <body>
+
+ </body>
+<!--
+ flexibility: S-expressions should make it relatively simple to
+ modify and extend data structures.
+ OSN is completely language independent but uses .
+-->
+
+
+ <section6 name="syntax">Syntax</section6>
+
+ <body>
+ An OSN text uses the <link to="http://www.utf-8.com/">UTF-8</link> character set
+ and contains the next seven tokens that we define in a very common EBNF variant.
+ Characters not starting a token are not allowed.
+ The ones in the range U+0021 ... U+007E are ! # $ % & * / ? @ \ ^ | ~
+ and are available for extensions of OSN.
+ </body>
+ <list><item>
+ <ebnf>
+ <prod of="symbol"/> <def/>
+ <plus/> <prod of="symbol-char"/>
+ <stop/> <newline/>
+ <prod of="symbol-char"/> <def/>
+ <str2 of="+"/> <or/> <str2 of="-"/> <or/> <str2 of="."/> <or/>
+ <str2 of="0"/> <etc/> <str2 of="9"/> <or/>
+ <str2 of="A"/> <etc/> <str2 of="Z"/> <or/>
+ <str2 of="_"/> <or/> <str2 of="`"/> <or/>
+ <str2 of="a"/> <etc/> <str2 of="z"/>
+ <stop/>
+ </ebnf><newline/>
+ this token can represent the identifiers and the numerical constants of most programming languages;
+ </item><newline/><item>
+ <ebnf>
+ <prod of="string"/> <def/>
+ <str2 of="""/> <and/>
+ <star/> <open/>
+ <prod of="string-char"/> <or/>
+ <str1 of="'"/> <or/>
+ <str2 of="\"/> <prod of="escape"/>
+ <close/> <and/>
+ <str2 of="""/>
+ <stop/> <newline/>
+ <prod of="string-char"/> <def/>
+ <open/>
+ <xchr of="0"/> <etc/> <xchr of="10FFFF"/>
+ <close/> <but/> <open/>
+ <xchr of="0"/> <etc/> <xchr of="1F"/> <or/>
+ <str1 of="'"/> <or/> <str2 of="\"/> <or/>
+ <str2 of="""/> <or/> <xchr of="7F"/>
+ <close/>
+ <stop/> <newline/>
+ <prod of="escape"/> <def/>
+ <plus/> <prod of="space"/> <or/>
+ <str2 of="""/> <or/> <str1 of="'"/> <or/>
+ <str2 of="("/> <or/> <str2 of=")"/> <or/>
+ <str2 of="0"/> <or/> <str2 of="\"/> <or/>
+ <str2 of="a"/> <or/> <str2 of="b"/> <or/>
+ <str2 of="e"/> <or/>
+ <str2 of="f"/> <or/> <str2 of="n"/> <or/>
+ <str2 of="r"/> <or/> <str2 of="t"/> <or/>
+ <open/>
+ <str2 of="u"/> <and/> <spec of="4"/> <prod of="hex"/>
+ <close/> <or/>
+ <str2 of="v"/> <or/>
+ <open/>
+ <str2 of="x"/> <and/> <spec of="2"/> <prod of="hex"/>
+ <close/>
+ <stop/> <newline/>
+ <prod of="space"/> <def/>
+ <xchr of="9"/> <etc/> <xchr of="D"/> <or/>
+ <xchr of="20"/>
+ <stop/> <newline/>
+ <prod of="hex"/> <def/>
+ <str2 of="0"/> <etc/> <str2 of="9"/> <or/>
+ <str2 of="A"/> <etc/> <str2 of="F"/> <or/>
+ <str2 of="a"/> <etc/> <str2 of="f"/>
+ <stop/>
+ </ebnf><newline/>
+ this token contains free-form text with commonly accepted escape sequences;
+ </item><newline/><item>
+ <ebnf>
+ <prod of="string-alt"/> <def/>
+ <str1 of="'"/> <and/>
+ <star/> <open/>
+ <prod of="string-char"/> <or/>
+ <str2 of="""/> <or/>
+ <str2 of="\"/> <prod of="escape"/>
+ <close/> <and/>
+ <str1 of="'"/>
+ <stop/>
+ </ebnf><newline/>
+ this token is a widely used alternative of the former;
+ </item><newline/><item>
+ <ebnf>
+ <prod of="sep"/> <def/> <str2 of=":"/> <stop/>
+ </ebnf><newline/>
+ this token separates the qualifiers of a symbolic expression;
+ </item><newline/><item>
+ <ebnf>
+ <prod of="open"/> <def/>
+ <str2 of="("/> <or/> <str2 of="<"/> <or/> <str2 of="["/> <or/> <str2 of="{"/>
+ <stop/>
+ </ebnf><newline/>
+ this token starts a compound symbolic expression;
+ </item><newline/><item>
+ <ebnf>
+ <prod of="close"/> <def/>
+ <str2 of=")"/> <or/> <str2 of=">"/> <or/> <str2 of="]"/> <or/> <str2 of="}"/>
+ <stop/>
+ </ebnf><newline/>
+ this token ends a compound symbolic expression;
+ </item><newline/><item>
+ <ebnf>
+ <prod of="gap"/> <def/>
+ <prod of="space"/> <or/>
+ <str2 of=","/> <or/> <str2 of=";"/> <or/> <str2 of="="/>
+ <stop/>
+ </ebnf><newline/>
+ this token is ignored and separates the other tokens.
+ </item></list>
+
+ <body>
+ </body>
+
+<!--
+ morover, the escape sequences \x <two hexadecimal digits> and \u <four hexadecimal digits>
+ allow to specify a character by its code point <newline/>
+ finally the escape sequences \( for U+0002 and \) for U+0003 are available
+-->
+
+ <footer/>
+</page>
}
class "green" {
[ @@"implementation" * ]
+ [ @@("implementation#helena" "helena") * ]
[ @@("implementation#lddl" "library")
"(" ^ @@("static/lddl/" "static LDDL directory") ^ ")"
* ]
- [ @@("implementation#helena" "helena") * ]
}
]
<page xmlns="http://lambdadelta.info/"
description = "\lambda\delta home page"
title = "\lambda\delta home page"
+ logo = "crux"
head = "The Formal Systems of the λδ (\lambda\delta) Family"
>
<sitemap name="sitemap"/>
<!-- VERSION 3 =========================================================== -->
- <subsection name="v3"><version3-icon/>λδ version 3 (proposed)</subsection>
+ <subsection name="v3"><img logo="ld3"/>λδ version 3 (proposed)</subsection>
<body>
The formal specification of λδ version 3
is forthcoming.
<!-- VERSION 2 =========================================================== -->
- <subsection name="v2"><version2-icon/>λδ version 2 (active)</subsection>
+ <subsection name="v2"><img logo="ld2"/>λδ version 2 (active)</subsection>
<body>
The formal specification of λδ version 2
is available in the following formats:
<!-- VERSION 1 =========================================================== -->
- <subsection name="v1"><version1-icon/>λδ version 1 (superseded)</subsection>
+ <subsection name="v1"><img logo="ld1"/>λδ version 1 (superseded)</subsection>
<body>
The formal specification of λδ version 1
is available in the following formats:
</xsl:template>
<xsl:template match="ld:prod">
- <xsl:text><</xsl:text>
<xsl:value-of select="@of"/>
- <xsl:text>></xsl:text>
<xsl:call-template name="sp"/>
</xsl:template>
<xsl:call-template name="sp"/>
</xsl:template>
-<xsl:template match="ld:str">
+<xsl:template match="ld:str1">
<xsl:text>"</xsl:text>
<xsl:value-of select="@of"/>
<xsl:text>"</xsl:text>
<xsl:call-template name="sp"/>
</xsl:template>
-<xsl:template match="ld:chr">
+<xsl:template match="ld:str2">
<xsl:text>'</xsl:text>
<xsl:value-of select="@of"/>
<xsl:text>'</xsl:text>
<xsl:call-template name="sp"/>
</xsl:template>
+<xsl:template match="ld:xchr">
+ <xsl:text>#</xsl:text>
+ <xsl:value-of select="@of"/>
+ <xsl:call-template name="sp"/>
+</xsl:template>
+
+<xsl:template match="ld:and">
+ <xsl:text>,</xsl:text>
+ <xsl:call-template name="sp"/>
+</xsl:template>
+
<xsl:template match="ld:or">
<xsl:text>|</xsl:text>
<xsl:call-template name="sp"/>
</xsl:template>
<xsl:template match="ld:etc">
+ <xsl:text>|</xsl:text>
+ <xsl:call-template name="sp"/>
<xsl:text>...</xsl:text>
<xsl:call-template name="sp"/>
+ <xsl:text>|</xsl:text>
+ <xsl:call-template name="sp"/>
+</xsl:template>
+
+<xsl:template match="ld:but">
+ <xsl:text>-</xsl:text>
+ <xsl:call-template name="sp"/>
</xsl:template>
<xsl:template match="ld:open">
<xsl:call-template name="sp"/>
</xsl:template>
+<xsl:template match="ld:opt">
+ <xsl:text>*</xsl:text>
+ <xsl:call-template name="sp"/>
+ <xsl:text>1</xsl:text>
+ <xsl:call-template name="sp"/>
+</xsl:template>
+
<xsl:template match="ld:plus">
- <xsl:text>+</xsl:text>
+ <xsl:text>1</xsl:text>
+ <xsl:call-template name="sp"/>
+ <xsl:text>*</xsl:text>
+ <xsl:call-template name="sp"/>
+</xsl:template>
+
+<xsl:template match="ld:spec">
+ <xsl:value-of select="@of"/>
+ <xsl:call-template name="sp"/>
+ <xsl:text>*</xsl:text>
+ <xsl:call-template name="sp"/>
+ <xsl:value-of select="@of"/>
<xsl:call-template name="sp"/>
</xsl:template>
xmlns="http://www.w3.org/1999/xhtml"
>
-<xsl:template name="home">
- <div class="spacer">
- <a href="{$baseurl}">
- <img class="icon32"
- alt="[\lambda\delta home]"
- title="\lambda\delta home"
- src="{$baseurl}images/crux_32.png"
- />
- </a>
- </div>
-</xsl:template>
-
<xsl:template name="rule">
<div class="spacer">
<img class="rule"
/>
</xsl:template>
-<xsl:template name="xhtml">
+<!-- label support -->
+
+<xsl:template name="xhtml-label">
<a href="http://validator.w3.org/check?uri=referer">
<img class="w3c"
alt="[Valid XHTML 1.1]"
</a>
</xsl:template>
-<xsl:template name="css">
+<xsl:template name="css-label">
<a href="http://jigsaw.w3.org/css-validator/check/referer">
<img class="w3c"
alt="[Valid CSS level 2]"
</a>
</xsl:template>
-<xsl:template name="xslt">
+<xsl:template name="xslt-label">
<a href="http://www.w3.org/XML/">
<img class="w3c"
alt="[Generated from XML via XSL]"
</a>
</xsl:template>
-<xsl:template name="png">
+<xsl:template name="png-label">
<a href="http://www.w3.org/Graphics/PNG/">
<img class="w3c"
alt="[PNG used here]"
</a>
</xsl:template>
-<xsl:template name="browser">
+<xsl:template name="browser-label">
<a href="http://www.anybrowser.org/campaign/">
<img class="w3c"
alt="[Viewable with any browser]"
</a>
</xsl:template>
-<xsl:template name="helena">
+<xsl:template name="helena-label">
<a href="{$baseurl}implementation.html#helena">
<img class="w3c"
alt="[Powered by Helena \lambda\delta processor]"
</a>
</xsl:template>
+<!-- logo support -->
+
+<xsl:template name="crux-logo">
+ <a href="{$baseurl}"><img class="icon32"
+ alt="[\lambda\delta home]"
+ title="\lambda\delta home"
+ src="{$baseurl}images/crux_32.png"
+ /></a>
+</xsl:template>
+
+<xsl:template name="ld3-logo">
+ <xsl:call-template name="butterfly">
+ <xsl:with-param name="name" select="8"/>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="ld2-logo">
+ <xsl:call-template name="butterfly">
+ <xsl:with-param name="name" select="4"/>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="ld1-logo">
+ <xsl:call-template name="butterfly">
+ <xsl:with-param name="name" select="6"/>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="osn-logo">
+ <a href="{$baseurl}osn.html"><img class="w3c"
+ alt="[Open Symbolic Notation logo]"
+ title="OSN: Open Symbolic Notation"
+ src="{$baseurl}images/osn_label.png"
+ /></a>
+</xsl:template>
+
+<xsl:template name="helena-logo">
+ <img class="icon32"
+ alt="[Helena logo]"
+ title="Helena"
+ src="{$baseurl}images/helena_32.png"
+ />
+</xsl:template>
+
+<xsl:template name="lddl-logo">
+ <img class="icon32"
+ alt="[\lambda\delta digital library logo]"
+ title="LDDL: \lambda\delta digital library"
+ src="{$baseurl}images/crux_32.png"
+ />
+</xsl:template>
+
+<!-- img main template -->
+
+<xsl:template name="img">
+ <xsl:choose>
+ <xsl:when test="@logo='crux'">
+ <xsl:call-template name="crux-logo"/>
+ </xsl:when>
+ <xsl:when test="@logo='ld3'">
+ <xsl:call-template name="ld3-logo"/>
+ </xsl:when>
+ <xsl:when test="@logo='ld2'">
+ <xsl:call-template name="ld2-logo"/>
+ </xsl:when>
+ <xsl:when test="@logo='ld1'">
+ <xsl:call-template name="ld1-logo"/>
+ </xsl:when>
+ <xsl:when test="@logo='osn'">
+ <xsl:call-template name="osn-logo"/>
+ </xsl:when>
+ <xsl:when test="@logo='helena'">
+ <xsl:call-template name="helena-logo"/>
+ </xsl:when>
+ <xsl:when test="@logo='lddl'">
+ <xsl:call-template name="lddl-logo"/>
+ </xsl:when>
+ <xsl:when test="@label='helena'">
+ <xsl:call-template name="helena-label"/>
+ </xsl:when>
+ </xsl:choose>
+</xsl:template>
+
<xsl:template name="sp">
<xsl:text> </xsl:text>
</xsl:template>
<li><xsl:apply-templates/></li>
</xsl:template>
+<xsl:template match="ld:style">
+ <span class="{@class}">
+ <xsl:choose>
+ <xsl:when test="@of"><xsl:value-of select="@of"/></xsl:when>
+ <xsl:otherwise><xsl:apply-templates/></xsl:otherwise>
+ </xsl:choose>
+ </span>
+</xsl:template>
+
<xsl:template match="ld:notice">
<span class="emph {@class}">
<xsl:choose>
<sup><xsl:apply-templates/></sup>
</xsl:template>
-<xsl:template match="ld:version3-icon">
- <xsl:call-template name="butterfly">
- <xsl:with-param name="name" select="8"/>
- </xsl:call-template>
- <xsl:call-template name="sp"/>
-</xsl:template>
-
-<xsl:template match="ld:version2-icon">
- <xsl:call-template name="butterfly">
- <xsl:with-param name="name" select="4"/>
- </xsl:call-template>
- <xsl:call-template name="sp"/>
-</xsl:template>
-
-<xsl:template match="ld:version1-icon">
- <xsl:call-template name="butterfly">
- <xsl:with-param name="name" select="6"/>
- </xsl:call-template>
- <xsl:call-template name="sp"/>
-</xsl:template>
-
-<xsl:template match="ld:crux-icon">
- <img class="icon32"
- alt="[Crux logo]"
- title="the Crux"
- src="{$baseurl}images/crux_32.png"
- />
- <xsl:call-template name="sp"/>
-</xsl:template>
-
-<xsl:template match="ld:helena-icon">
- <img class="icon32"
- alt="[Helena logo]"
- title="Helena"
- src="{$baseurl}images/helena_32.png"
- />
- <xsl:call-template name="sp"/>
-</xsl:template>
-
-<xsl:template match="ld:osn-icon">
- <img class="w3c"
- alt="[Open Symbolic Notation logo]"
- title="OSN: Open Symbolic Notation"
- src="{$baseurl}images/osn_label.png"
- />
- <xsl:call-template name="sp"/>
+<xsl:template match="ld:img">
+ <xsl:call-template name="img"/>
+ <xsl:choose>
+ <xsl:when test="@logo">
+ <xsl:call-template name="sp"/>
+ </xsl:when>
+ </xsl:choose>
</xsl:template>
<xsl:template match="ld:footer">
<xsl:call-template name="rule"/>
<div class="spacer"><br/></div>
<div class="spacer">
- <xsl:call-template name="xhtml"/>
- <xsl:call-template name="css"/>
- <xsl:call-template name="xslt"/>
+ <xsl:call-template name="xhtml-label"/>
+ <xsl:call-template name="css-label"/>
+ <xsl:call-template name="xslt-label"/>
<xsl:apply-templates/>
- <xsl:call-template name="png"/>
- <xsl:call-template name="browser"/>
+ <xsl:call-template name="png-label"/>
+ <xsl:call-template name="browser-label"/>
</div>
<div class="spacer"><br/></div>
<div class="spacer">
</div>
</xsl:template>
-<xsl:template match="ld:helena-label">
- <xsl:call-template name="helena"/>
-</xsl:template>
-
<xsl:template match="ld:page">
<html xsl:exclude-result-prefixes="ld" dir="ltr" lang="en-us"><head>
<meta http-equiv="Content-Language" content="en-us"/>
href="{$baseurl}images/crux_16.ico"
/>
</head><body lang="en-US">
- <xsl:call-template name="home"/>
+ <div class="spacer"><xsl:call-template name="img"/></div>
<div class="head1"><xsl:value-of select="@head"/></div>
<xsl:call-template name="rule"/>
<xsl:apply-templates/>