2002/ws/desc/wsdl20 xmlspec-z.xsl,NONE,1.1 wsdl20-z.xml,NONE,1.1 xmlspec-wsdl-z.xsl,NONE,1.1 zml.css,NONE,1.1 zml2html.xsl,NONE,1.1

Update of /sources/public/2002/ws/desc/wsdl20
In directory hutz:/tmp/cvs-serv22316

Added Files:
	xmlspec-z.xsl wsdl20-z.xml xmlspec-wsdl-z.xsl zml.css 
	zml2html.xsl 
Log Message:
Checked in an experimental mockup of using Z Notation in the spec.

--- NEW FILE: xmlspec-z.xsl ---
<?xml version="1.0"?>

<!-- Version: $Id: xmlspec-z.xsl,v 1.1 2004/09/23 16:16:53 aryman Exp $ -->

<!-- Stylesheet for XMLspec -->
<!-- Author: Norman Walsh (Norman.Walsh@East.Sun.COM) -->
<!-- Author: Chris Maden (crism@lexica.net) -->
<!-- Author: Ben Trafford (ben@legendary.org) -->
<!-- Author: Eve Maler (eve.maler@east.sun.com) -->
<!-- Date Created: 1999.09.07 -->

<!-- This stylesheet is copyright (c) 2001 by its authors.  Free
     distribution and modification is permitted, including adding to
     the list of authors and copyright holders, as long as this
     copyright notice is maintained. -->

<!-- This stylesheet attempts to implement the XML Specification V2.1
     DTD.  Documents conforming to earlier DTDs may not be correctly
     transformed. -->
[...2589 lines suppressed...]
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

<xsl:template name="anchor">
  <xsl:param name="node" select="."/>
  <xsl:param name="conditional" select="1"/>
  <xsl:variable name="id">
    <xsl:call-template name="object.id">
      <xsl:with-param name="node" select="$node"/>
    </xsl:call-template>
  </xsl:variable>
  <xsl:if test="$conditional = 0 or $node/@id">
    <a name="{$id}"/>
  </xsl:if>
</xsl:template>

<!-- ================================================================= -->

</xsl:transform>

--- NEW FILE: xmlspec-wsdl-z.xsl ---
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                version="1.0">


  <xsl:import href="xmlspec-z.xsl"/>
  <!--  -->
  <xsl:import href="zml2html.xsl"/>

  <xsl:output method="html"
       encoding="utf-8"
       doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
       doctype-system="http://www.w3.org/TR/html4/loose.dtd"
       indent="no"/>
  
  <!-- bibref: reference to a bibliographic entry -->
  <!-- make a link to the bibl -->
  <!-- if the bibl has a key, put it in square brackets; otherwise use
       the bibl's ID -->
  <xsl:template match="bibref">
    <xsl:text>[</xsl:text>
    <cite><a>
      <xsl:attribute name="href">
        <xsl:call-template name="href.target">
          <xsl:with-param name="target" select="id(@ref)"/>
        </xsl:call-template>
      </xsl:attribute>
      <xsl:choose>
        <xsl:when test="id(@ref)/@key">
          <xsl:value-of select="id(@ref)/@key"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="@ref"/>
        </xsl:otherwise>
      </xsl:choose>
    </a></cite>
    <xsl:text>]</xsl:text>
  </xsl:template>

  <xsl:template match="bibl">
    <dt class="label">
      <xsl:attribute name="class">
	<xsl:choose>
	  <xsl:when test="@diff and $show.diff.markup != 0">
	    <xsl:text>diff-</xsl:text>
	    <xsl:value-of select="@diff"/>
	  </xsl:when>
	  <xsl:otherwise>
  	    <xsl:text>label</xsl:text>
	  </xsl:otherwise>
	</xsl:choose>
      </xsl:attribute>
      <xsl:if test="@id">
	<a name="{@id}"/>
      </xsl:if>
      <xsl:text>[</xsl:text>
      <xsl:choose>
	<xsl:when test="@key">
	  <xsl:value-of select="@key"/>
	</xsl:when>
	<xsl:otherwise>
	  <xsl:value-of select="@id"/>
	</xsl:otherwise>
      </xsl:choose>
      <xsl:text>] </xsl:text>
    </dt>
    <dd>
      <xsl:if test="@diff and $show.diff.markup != 0">
	<xsl:attribute name="class">
  	  <xsl:text>diff-</xsl:text>
  	  <xsl:value-of select="@diff"/>
	</xsl:attribute>
      </xsl:if>
      <xsl:apply-templates/>
      <xsl:if test="not(titleref) and @href">
        <xsl:text>  (See </xsl:text>
        <cite>
	  <a href="{@href}">
	    <xsl:value-of select="@href"/>
	  </a>
	</cite>
        <xsl:text>.)</xsl:text>
      </xsl:if>
    </dd>
  </xsl:template>

  <xsl:template match="titleref">
    <xsl:choose>
      <xsl:when test="../@href">
	<cite>
	  <a href="{../@href}">
            <xsl:apply-templates/>
	  </a>
	</cite>
      </xsl:when>
      <xsl:otherwise>
        <cite>
          <xsl:apply-templates/>
        </cite>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

  <xsl:template match="b">
    <b>
      <xsl:apply-templates/>
    </b>
  </xsl:template>
  <xsl:template match="u">
    <u>
      <xsl:apply-templates/>
    </u>
  </xsl:template>
  <xsl:template match="i">
    <i>
      <xsl:apply-templates/>
    </i>
  </xsl:template>

</xsl:stylesheet>

--- NEW FILE: wsdl20-z.xml ---
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!-- $Id: wsdl20-z.xml,v 1.1 2004/09/23 16:16:53 aryman Exp $ -->
<?xml-stylesheet type='text/xsl' href='xmlspec-wsdl-z.xsl' ?>
<!DOCTYPE spec PUBLIC "-//W3C//DTD Specification V2.1//EN" "xmlspec.dtd"[
<!ENTITY % entities SYSTEM "entities.dtd" >
<!ENTITY prefix "wsdl20">
%entities;
<!ENTITY document.status "Editors' copy $Date: 2004/09/23 16:16:53 $">
<!ENTITY status SYSTEM "status.xml">
<!ENTITY prevloc "http://www.w3.org/TR/2004/WD-wsdl20-20040326">
]>

<spec w3c-doctype="wd" role="&document.role;" xmlns:z="http://www.w3.org/2004/zml">

<header>
  <title>&part1.title;</title>
  <w3c-designation>&w3c-designation-part1;</w3c-designation>
  <w3c-doctype>&document.status;</w3c-doctype>
  <pubdate>
[...8077 lines suppressed...]
    </tr>
    <tr>
       <td>20020620</td>
       <td>SW</td>
       <td>Started adding abstract model</td>
    </tr>
    <tr>
       <td>20020406</td>
       <td>SW</td>
       <td>Created document from WSDL 1.1</td>
    </tr>
  </tbody>
</table>

      </div2>
    </inform-div1>

  </back>

</spec>

--- NEW FILE: zml2html.xsl ---
<?xml version="1.0" encoding="UTF-8"?>
<!-- Stylesheet for rendering Z Notation as HTML -->
<!-- Author: Arthur Ryman  (ryman@ca.ibm.com) -->
<!-- Date Created: 2004-09-23 -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:z="http://www.w3.org/2004/zml" version="1.0">

<!-- <xsl:output method="html" encoding="UTF-8" />  -->	

	<xsl:template match="z:zed">
		<table class="zzed">
			<col class="zzed1" />
			<tbody>
				<xsl:apply-templates mode="zed" />
			</tbody>
		</table>
	</xsl:template>

	<xsl:template match="z:line" mode="zed">
		<tr>
			<td>
				<xsl:apply-templates />
			</td>
		</tr>
	</xsl:template>

	<xsl:template match="z:also" mode="zed">
		<tr>
			<td />
		</tr>
	</xsl:template>

	<xsl:template match="z:axdef">
		<table class="zaxdef">
			<col class="zaxdef1" />
			<col class="zaxdef2" />
			<tbody>
				<xsl:apply-templates mode="axdef" />
			</tbody>
		</table>
	</xsl:template>

	<xsl:template match="z:line" mode="axdef">
		<xsl:variable name="tdclass">
			<xsl:choose>
				<xsl:when test="local-name(following-sibling::*[1])='where'">
					<xsl:value-of select="'zaxdefabovewheretext'" />
				</xsl:when>
				<xsl:when test="local-name(preceding-sibling::*[1])='where'">
					<xsl:value-of select="'zaxdefbelowwheretext'" />
				</xsl:when>
				<xsl:otherwise>
					<xsl:value-of select="'zaxdeftext'" />
				</xsl:otherwise>
			</xsl:choose>
		</xsl:variable>
		<tr>
			<td colspan="2" class="{$tdclass}">
				<xsl:apply-templates />
			</td>
		</tr>
	</xsl:template>

	<xsl:template match="z:also" mode="axdef">
		<tr>
			<td class="l" colspan="2" />
		</tr>
	</xsl:template>

	<xsl:template match="z:where" mode="axdef">
		<tr>
			<td class="bl" />
			<td />
		</tr>
	</xsl:template>

	<xsl:template match="z:schema">
		<table class="zschema">
			<col class="zschema1" />
			<col class="zschema2" />
			<col class="zschema3" />
			<tbody>
				<tr>
					<td class="zschemaname" colspan="2">
						<span class="zschemaname">
							<span class="zi">
								<xsl:value-of select="@name" />
							</span>
							<xsl:if test="@params">
								<xsl:text>[</xsl:text>
								<span class="zi">
									<xsl:value-of select="@params" />
								</span>
								<xsl:text>]</xsl:text>
							</xsl:if>
						</span>
					</td>
					<td />
				</tr>
				<xsl:apply-templates mode="schema" />
				<tr>
					<td class="bl" colspan="2" />
					<td />
				</tr>
			</tbody>
		</table>
	</xsl:template>

	<xsl:template match="z:gendef">
		<table class="zschema">
			<col class="zschema1" />
			<col class="zschema2" />
			<col class="zschema3" />
			<tbody>
				<tr>
					<td class="zgendeftop" colspan="2">
						<span class="zschemaname">
							<xsl:text>[</xsl:text>
							<span class="zi">
								<xsl:value-of select="@params" />
							</span>
							<xsl:text>]</xsl:text>
						</span>
					</td>
					<td />
				</tr>
				<xsl:apply-templates mode="schema" />
				<tr>
					<td class="bl" colspan="2" />
					<td />
				</tr>
			</tbody>
		</table>
	</xsl:template>

	<xsl:template match="z:line" mode="schema">
		<xsl:variable name="tdclass">
			<xsl:choose>
				<xsl:when test="local-name(following-sibling::*[1])='line'">
					<xsl:value-of select="'zschematext'" />
				</xsl:when>
				<xsl:otherwise>
					<xsl:value-of select="'zschemalasttext'" />
				</xsl:otherwise>
			</xsl:choose>
		</xsl:variable>
		<tr>
			<td colspan="3" class="{$tdclass}">
				<span class="zschematext">
					<xsl:apply-templates />
				</span>
			</td>
		</tr>
	</xsl:template>

	<xsl:template match="z:also" mode="schema">
		<tr>
			<td class="l" colspan="3" />
		</tr>
	</xsl:template>

	<xsl:template match="z:where" mode="schema">
		<tr>
			<td class="bl" />
			<td />
			<td />
		</tr>
	</xsl:template>

	<xsl:template match="z:i">
		<span class="zi">
			<xsl:apply-templates />
		</span>
	</xsl:template>

	<xsl:template match="z:math">
		<xsl:apply-templates />
	</xsl:template>

	<xsl:template match="z:label">
		<a name="{@key}" />
	</xsl:template>

	<xsl:template match="z:ref">
		<a href="#{@key}">
			<xsl:value-of select="@key" />
		</a>
	</xsl:template>

	<xsl:template match="z:nbsp">
		<xsl:text>&#160;</xsl:text>
	</xsl:template>

	<xsl:template match="z:sub">
		<span class="zsmall">
			<sub>
				<xsl:apply-templates />
			</sub>
		</span>
	</xsl:template>
	
	<xsl:template match="z:u">
	<xsl:text>_</xsl:text>
	</xsl:template>

	<!-- Identity transformation template 
	<xsl:template match="*|@*|comment()|processing-instruction()|text()">
		<xsl:copy>
			<xsl:apply-templates select="*|@*|comment()|processing-instruction()|text()" />
		</xsl:copy>
	</xsl:template> -->

	<xsl:template match="z:t1">
		<xsl:call-template name="tab" />
	</xsl:template>

	<xsl:template match="z:t2">
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
	</xsl:template>

	<xsl:template match="z:t3">
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
	</xsl:template>

	<xsl:template match="z:t4">
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
	</xsl:template>

	<xsl:template match="z:t5">
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />

		<xsl:call-template name="tab" />
	</xsl:template>

	<xsl:template match="z:t6">
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />

		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
	</xsl:template>

	<xsl:template match="z:t7">
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />

		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
	</xsl:template>

	<xsl:template match="z:t8">
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />

		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
	</xsl:template>

	<xsl:template match="z:t9">
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />

		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />
		<xsl:call-template name="tab" />

		<xsl:call-template name="tab" />
	</xsl:template>

	<xsl:template name="tab">
		<xsl:text>&#160;&#160;&#160;&#160;&#160;&#160;</xsl:text>
	</xsl:template>

	<xsl:template match="z:lquot | z:rquot">
		<xsl:text>&quot;</xsl:text>
	</xsl:template>

	<xsl:template match="z:lapos | z:rapos">
		<xsl:text>'</xsl:text>
	</xsl:template>

	<!-- Abbreviation definition == -->

	<xsl:template match="z:defa">
		<span class="zinfix">
			<span class="zdefa">
				<xsl:text>==</xsl:text>
			</span>
		</span>
	</xsl:template>

	<!-- Schema definition \defs -->

	<xsl:template match="z:defs">
		<span class="zinfix">
			<span style="position: relative; left: .2em; bottom: .75ex">^</span>
			<span style="position: relative; right: .3em">=</span>
		</span>
	</xsl:template>

	<!-- Free type definition \ldata, \rdata -->

	<xsl:template match="z:ldata">
		<span class="symbol">
			<span style="position: relative; left=.2em">&#225;</span>
			<span>&#225;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:rdata">
		<span class="symbol">
			<span style="position: relative; left=.2em">&#241;</span>
			<span>&#241;</span>
		</span>
	</xsl:template>

	<!-- Logic and schema calculus -->

	<xsl:template match="z:lnot">
		<span class="zprefix">
			<span class="symbol">
				<xsl:text>&#216;</xsl:text>
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:land">
		<span class="zinfix">
			<span class="mathb">
				<xsl:text>&#46;</xsl:text>
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:lor">
		<span class="zinfix">
			<span class="mathb">
				<xsl:text>&#45;</xsl:text>
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:implies">
		<span class="zinfix">
			<span class="mathc">
				<xsl:text>&#101;</xsl:text>
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:iff">
		<span class="zinfix">
			<span class="mathc">&#103;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:spot">
		<span class="zinfix">
			<span class="symbol">&#183;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:forall">
		<span class="zprefix">
			<span class="symbol">&#34;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:exists">
		<span class="zprefix">
			<span class="symbol">&#36;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:exists_1">
		<span class="zprefix">
			<span class="symbol">&#36;</span>
			<span class="zsmall">
				<sub>1</sub>
			</span>
		</span>
	</xsl:template>

	<!-- Special schema operators -->

	<xsl:template match="z:hide">
		<span class="zinfix">
			<span class="mathc">&#66;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:project">
		<span class="zinfix">
			<span class="mathc">&#147;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:pre">
		<span class="zprefix">
			<span class="zs">pre</span>
		</span>
	</xsl:template>

	<xsl:template match="z:semi">
		<span class="zinfix">;</span>
	</xsl:template>

	<xsl:template match="z:pipe">
		<span class="zinfix">
			<span class="mathb">&#112;</span>
		</span>
	</xsl:template>

	<!-- Basic expressions -->

	<xsl:template match="z:neq">
		<span class="zinfix">
			<span class="mathb">&#103;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:IF">
		<span class="zprefix">
			<span class="zbs">
				<xsl:text>if</xsl:text>
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:THEN">
		<span class="zinfix">
			<span class="zbs">
				<xsl:text>then</xsl:text>
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:ELSE">
		<span class="zprefix">
			<span class="zbs">
				<xsl:text>else</xsl:text>
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:theta">
		<span class="zprefix">
			<span class="zi">
				<span class="symbol">&#113;</span>
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:mu">
		<span class="zprefix">
			<span class="zi">
				<span class="symbol">m</span>
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:LET">
		<span class="zprefix">
			<span class="zbs">
				<xsl:text>let</xsl:text>
			</span>
		</span>
	</xsl:template>


	<!-- Sets -->

	<xsl:template match="z:in">
		<span class="zinfix">
			<span class="symbol">&#206;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:notin">
		<span class="zinfix">
			<span class="symbol">&#207;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:lbrace">
		<xsl:text>{</xsl:text>
	</xsl:template>

	<xsl:template match="z:rbrace">
		<xsl:text>}</xsl:text>
	</xsl:template>

	<xsl:template match="z:emptyset">
		<span class="symbol">&#198;</span>
	</xsl:template>

	<xsl:template match="z:subseteq">
		<span class="zinfix">
			<span class="symbol">&#205;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:subset">
		<span class="zinfix">
			<span class="symbol">&#204;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:power">
		<span class="zprefix">
			<span class="doublestruck">P</span>
		</span>
	</xsl:template>

	<xsl:template match="z:power_1">
		<span class="zprefix">
			<span class="doublestruck">P</span>
			<span class="zsmall">
				<sub>1</sub>
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:cross">
		<span class="zinfix">
			<span class="symbol">&#180;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:cup">
		<span class="zinfix">
			<span class="mathb">&#52;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:cap">
		<span class="zinfix">
			<span class="mathb">&#51;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:setminus">
		<span class="zinfix">
			<span class="mathc">&#66;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:bigcup">
		<span class="zprefix">
			<span class="zbig">
				<span class="mathb">&#52;</span>
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:bigcap">
		<span class="zprefix">
			<span class="zbig">
				<span class="mathb">&#51;</span>
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:finset">
		<span class="zprefix">
			<span class="doublestruck">F</span>
		</span>
	</xsl:template>

	<xsl:template match="z:finset_1">
		<span class="zprefix">
			<span class="doublestruck">F</span>
			<span class="zsmall">
				<sub>1</sub>
			</span>
		</span>
	</xsl:template>


	<!-- Relations -->

	<xsl:template match="z:rel">
		<span class="zinfix">
			<span class="mathc">&#118;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:mapsto">
		<span class="zinfix">
			<span class="mathc">&#120;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:dom | z:ran | z:id">
		<span class="zprefix">
			<span class="zs">
				<xsl:value-of select="local-name()" />
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:comp">
		<span class="zinfix">;</span>
	</xsl:template>

	<xsl:template match="z:circ">
		<span class="zinfix">
			<span class="mathb">&#219;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:dres">
		<span class="zinfix">
			<span class="mathb">&#169;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:rres">
		<span class="zinfix">
			<span class="mathb">&#168;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:ndres">
			<span class="mathb" style="position: relative; left: .25em">&#169;</span>
			<span class="symbol" style="position: relative; right: .25em; bottom: .9ex">&#95;</span>
	</xsl:template>

	<xsl:template match="z:nrres">
			<span class="symbol" style="position: relative; left: .25em; bottom: .9ex">&#95;</span>
			<span class="mathb" style="position: relative; right: .25em">&#168;</span>
	</xsl:template>

	<xsl:template match="z:inv">
		<sup>~</sup>
	</xsl:template>

	<xsl:template match="z:limg">
		<span style="position: relative; left: .2em">(</span>
		<span>|</span>
	</xsl:template>

	<xsl:template match="z:rimg">
		<span style="position: relative; left: .2em">|</span>
		<span>)</span>
	</xsl:template>

	<xsl:template match="z:oplus">
		<span class="zinfix">
			<span class="mathb">&#47;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:plus">
		<sup>+</sup>
	</xsl:template>

	<xsl:template match="z:star">
		<sup>*</sup>
	</xsl:template>

	<xsl:template match="z:sup">
		<sup>
			<xsl:apply-templates />
		</sup>
	</xsl:template>


	<!-- Functions -->

	<xsl:template match="z:lambda">
		<span class="zprefix">
			<span class="symbol">l</span>
		</span>
	</xsl:template>

	<xsl:template match="z:pfun">
		<span class="zpostfix">
			<span class="mathc">&#116;</span>
			<span class="mathb" style="position: relative; right: .7em; top: .1ex">&#200;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:fun">
		<span class="zinfix">
			<span class="mathc">&#116;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:pinj">
		<span class="zpostfix">
			<span class="mathc">&#152;</span>
			<span class="mathb" style="position: relative; right: .55em; top: .1ex">&#200;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:inj">
		<span class="zinfix">
			<span class="mathc">&#152;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:psurj">
		<span class="zpostfix">
			<span class="mathc">&#137;</span>
			<span class="mathb" style="position: relative; right: .6em; top: .1ex">&#200;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:surj">
		<span class="zinfix">
			<span class="mathc">&#137;</span>
		</span>
	</xsl:template>

	<!-- use normal symbol since Z symbol is not available -->
	<xsl:template match="z:bij">
		<span class="zinfix">
			<span class="mathb">&#123;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:ffun">
		<span class="zpostfix">
			<span class="mathc">&#116;</span>
			<span class="mathb" style="position: relative; right: .8em;">&#201;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:finj">
		<span class="zpostfix">
			<span class="mathc">&#152;</span>
			<span class="mathb" style="position: relative; right: .65em;">&#201;</span>
		</span>
	</xsl:template>


	<!-- Numbers and arithmetic -->

	<xsl:template match="z:nat">
		<span class="doublestruck">N</span>
	</xsl:template>

	<xsl:template match="z:num">
		<span class="doublestruck">Z</span>
	</xsl:template>

	<xsl:template match="z:div | z:mod">
		<span class="zinfix">
			<span class="zss">
				<xsl:value-of select="local-name()" />
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:lt">
		<span class="zinfix">&lt;</span>
	</xsl:template>

	<xsl:template match="z:leq">
		<span class="zinfix">
			<span class="mathb">
				<xsl:text>&#91;</xsl:text>
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:geq">
		<span class="zinfix">
			<span class="mathb">
				<xsl:text>&#109;</xsl:text>
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:gt">
		<span class="zinfix">&gt;</span>
	</xsl:template>

	<xsl:template match="z:nat_1">
		<span class="doublestruck">N</span>
		<span class="zsmall">
			<sub>1</sub>
		</span>
	</xsl:template>

	<xsl:template match="z:upto">
		<span class="zinfix">
			<xsl:text>..</xsl:text>
		</span>
	</xsl:template>

	<xsl:template match="z:size">
		<span class="zprefix">#</span>
	</xsl:template>


	<!-- Sequences -->

	<xsl:template match="z:seq | z:iseq">
		<span class="zprefix">
			<span class="zs">
				<xsl:value-of select="local-name()" />
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:seq_1">
		<span class="zprefix">
			<span class="zs">seq</span>
			<span class="zsmall">
				<sub>1</sub>
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:langle">
		<span class="zprefix">
			<span class="symbol">&#225;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:rangle">
		<span class="zpostfix">
			<span class="symbol">&#241;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:cat">
		<span class="zinfix">
			<span class="mathb" style="position: relative; bottom: 1ex">&#102;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:extract">
		<span class="zinfix">
			<span class="mathc">&#150;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:filter">
		<span class="zinfix">
			<span class="mathc">&#147;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:prefix | z:suffix | z:partition">
		<span class="zinfix">
			<span class="zss">
				<xsl:value-of select="local-name()" />
			</span>
		</span>
	</xsl:template>

	<xsl:template match="z:inseq">
		<span class="zinfix">
			<span class="zss">in</span>
		</span>
	</xsl:template>

	<xsl:template match="z:dcat">
		<span class="zprefix">
			<span class="mathb" style="position: relative; bottom: 1ex">&#102;</span>
			<span>/</span>
		</span>
	</xsl:template>

	<xsl:template match="z:disjoint">
		<span class="zprefix">
			<span class="zss">
				<xsl:value-of select="local-name()" />
			</span>
		</span>
	</xsl:template>


	<!-- Bags -->

	<xsl:template match="z:bag">
		<span class="zprefix">
			<span class="zs">bag</span>
		</span>
	</xsl:template>

	<xsl:template match="z:lbag">
		<span class="mathb">&#223;</span>
	</xsl:template>

	<xsl:template match="z:rbag">
		<span class="mathb">&#224;</span>
	</xsl:template>

	<xsl:template match="z:bcount">
		<span class="zinfix">
			<span class="mathc">&#204;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:otimes">
		<span class="zinfix">
			<span class="mathb">&#49;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:inbag">
		<span class="zinfix">
			<span class="zss">inbag</span>
		</span>
	</xsl:template>

	<xsl:template match="z:subbageq">
		<span class="zinfix">
			<span class="mathb">&#98;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:uplus">
		<span class="zinfix">
			<span class="mathb">&#53;</span>
		</span>
	</xsl:template>

	<xsl:template match="z:uminus">
		<span class="zpostfix">
			<span class="mathb">&#52;</span>
			<span style="position: relative; right: .4em; top: .1em">-</span>
		</span>
	</xsl:template>

</xsl:stylesheet>

--- NEW FILE: zml.css ---
span.zi {
	font-family: Palatino;
	font-style: italic
}

span.zbig {
	font-size: 150%;
}

span.zsmall {
	font-size: 80%;
}

span.zarrow1 {
	font-family: "Math C";
	font-size: 120%;
}

span.zarrow2 {
	font-family: "Math C";
	font-size: 110%;
}

span.zarrow3 {
	font-family: "Math C";
	font-size: 100%;
}

span.ztick {
	font-family: "Math B";
	font-size: 80%;
	position: relative;
	right: .8em;
	bottom: .05em
}

span.matha {
	font-family: "Math A";
}

span.mathb {
	font-family: "Math B";
}

span.mathc {
	font-family: "Math C";
}

span.symbol {
	font-family: Symbol;
}

span.zdefa {
	padding-left: .25em;
	padding-right: .25em;
	letter-spacing: .1em;
}

span.zinfix {
	padding-left: .25em;
	padding-right: .25em;
}

span.zprefix {
	padding-right: .25em;
}

span.zpostfix {
	padding-left: .25em;
}

table.zzed {
	width: 30em;
	margin-left: 2em;
	margin-top: 2ex;
	margin-bottom: 2ex;
}

col.zzed1 {
	width: 30em;
}

table.zschema {
	width: 30em;
	margin-left: 2em;
	margin-top: 2ex;
	margin-bottom: 2ex;
	border-collapse: collapse;
}

col.zschema1 {
	width: 5em;
}

col.zschema2 {
	width: 20em;
}

col.zschema3 {
	width: 5em;
}

td.zschemaname {
	padding-left: .75em;
	border-bottom: 1px solid black;
}

td.zgendeftop {
	padding-left: .75em;
	border-bottom: 3px double black;
}

span.zschemaname {
	position: relative;
	top: .7ex;
	background-color: white;
	padding-left: .25em;
	padding-right: .25em;
}

td.zschematext {
	padding-left: 1em;
	border-left: 1px solid black;
}

td.zschemalasttext {
	padding-left: 1em;
	padding-bottom: 1.4ex;
	border-left: 1px solid black;
}

span.zschematext {
	position: relative;
	top: .7ex;
}


table.zaxdef {
	width: 30em;
	margin-left: 2em;
	margin-top: 2ex;
	margin-bottom: 2ex;
	border-collapse: collapse;
	text-align: left;
}

col.zaxdef1 {
	width: 5em;
}

col.zaxdef2 {
	width: 25em;
}

td.zaxdeftext {
	padding-left: 1em;
	border-left: 1px solid black;
}

td.zaxdefabovewheretext {
	padding-left: 1em;
	padding-bottom: 1ex;
	border-left: 1px solid black;
}

td.zaxdefbelowwheretext {
	padding-left: 1em;
	padding-top: 1ex;
	border-left: 1px solid black;
}

td.text {
	padding-left: .5em;
	padding-right: .5em
}

td.lasttext {
	padding-left: .5em;
	padding-right: .5em;
	padding-bottom: .8em
}

td.b {
	border-bottom: 1px solid black;
}

td.l {
	border-left: 1px solid black;
}

td.bl {
	border-bottom: 1px solid black;
	border-left: 1px solid black;
}

td.box {
	border: 1px solid black;
	background: fuchsia;
}

dt {
	font-weight: bold;
}

span.doublestruck {
	font-family: sans-serif;
	font-weight: bold;
}

span.zss {
	font-family: sans-serif;
	font-weight: 500;
}

span.zs {
	font-family: serif;
}

span.zbs {
	font-family: serif;
	font-weight: bold;
	font-stretch: expanded;
}

span.shiftright {
	position: relative;
	right: .8em;
}

.zedtext {
	position: relative;
	top: .8ex;
}

Received on Thursday, 23 September 2004 16:16:56 UTC