- From: SVG Working Group repository <cam@mcc.id.au>
- Date: Mon, 20 Aug 2012 22:05:59 -0700
- To: public-svg-wg@w3.org
details: https://svgwg.org/hg/svg2-tools/rev/4f816c23b257 branches: changeset: 58:4f816c23b257 user: Cameron McCormack <cam@mcc.id.au> date: Tue Aug 21 15:06:25 2012 +1000 description: Remove old build system support. diffstat: build.py | 45 +- publish.xsl | 1708 -------------------------------------- saxonb/doc/img/saxonica_logo.gif | 0 saxonb/doc/index.html | 56 - saxonb/doc/saxondocs.css | 228 ----- saxonb/notices/APACHE.txt | 13 - saxonb/notices/CERN.txt | 7 - saxonb/notices/FRIJTERS.txt | 22 - saxonb/notices/GPL+CLASSPATH.txt | 347 ------- saxonb/notices/JAMESCLARK.txt | 25 - saxonb/notices/LEGAL.txt | 33 - saxonb/notices/LICENSE.txt | 15 - saxonb/notices/THAI.txt | 31 - saxonb/notices/UNICODE.txt | 29 - saxonb/saxon9-dom.jar | 0 saxonb/saxon9-dom4j.jar | 0 saxonb/saxon9-jdom.jar | 0 saxonb/saxon9-s9api.jar | 0 saxonb/saxon9-sql.jar | 0 saxonb/saxon9-xom.jar | 0 saxonb/saxon9-xpath.jar | 0 saxonb/saxon9-xqj.jar | 0 saxonb/saxon9.jar | 0 23 files changed, 9 insertions(+), 2550 deletions(-) diffs (2724 lines): diff --git a/build.py b/build.py --- a/build.py +++ b/build.py @@ -12,17 +12,16 @@ # It would be good if "tocopy" list could be extracted from # publish.xml instead of being hard coded here. tocopy = """ style images examples - svg.idl """.split() import os, sys, signal, commands from os.path import isfile, abspath, getmtime, exists, join, normpath def exit(code, *message): @@ -110,54 +109,37 @@ if len(sys.argv) == 2 and sys.argv[1] == for file in files[:]: file = join(parent, file) if file != readme: os.remove(file) for dir in dirs[:]: os.rmdir(join(parent, dir)) sys.exit(0) -new_build = len(sys.argv) == 2 and sys.argv[1] == "-n" - # Get all the pages from publish.xml: os.chdir(master_dir) status, output = getstatusoutput("node \"" + native_path(join(tools_dir, "publish/publish.js")) + "\" --list-pages") os.chdir(repo_dir) if status != 0: exit(1, 'FAIL: could not get list of specification pages') all = output.split() -# Build svg.idlx as required: - -svg_idl = join(master_dir, "svg.idl") -svg_idlx = join(build_dir, "svg.idlx") - -if not new_build and (not isfile(svg_idlx) or getmtime(svg_idl) > getmtime(svg_idlx)): - toremove = [svg_idlx] - run("java -classpath \"" + native_path(str(join(tools_dir, "idlparser", "idlparser.jar"))) + - "\" au.id.mcc.idlparser.IDLToXML \"" + native_path(svg_idl) + "\" > " + svg_idlx) - toremove = [] - # Build chapters as required: deps = [ join(master_dir, "publish.xml"), join(master_dir, "definitions.xml"), ] -if new_build: - for filename in os.listdir(publishjs_dir): - path = join(publishjs_dir, filename) - if os.path.isfile(path): - deps.append(path) -else: - deps.append(svg_idlx) - join(tools_dir, "publish.xsl") +for filename in os.listdir(publishjs_dir): + path = join(publishjs_dir, filename) + if os.path.isfile(path): + deps.append(path) deptimes = [getmtime(file) for file in deps] tobuild = [] tobuild_names = [] for name in all: pub_path = join(publish_dir, name + ".html") src_path = join(master_dir, name + ".html") if not isfile(pub_path): tobuild.append(pub_path) @@ -168,30 +150,21 @@ for name in all: if srctime > desttime: tobuild.append(pub_path) tobuild_names.append(name) break if tobuild: toremove = tobuild os.chdir(master_dir) - if new_build: - run("node \"" + - native_path(join(tools_dir, "publish/publish.js")) + - "\" --build " + - " ".join(tobuild_names) + - (" --local-style" if os.environ.get("SVG_BUILD_LOCAL_STYLE_SHEETS") else "")) - else: - run("java -classpath \"" + native_path(join(tools_dir, 'saxonb', 'saxon9.jar')) + - "\" net.sf.saxon.Transform -ext:on -dtd:off -expand:off -l:on \"" + - native_path(join(master_dir, "publish.xml")) + "\" \"" + - native_path(join(tools_dir, "publish.xsl")) + - "\" chapters-to-build=\"" + " ".join(tobuild_names) + "\"" + - (" local-style-sheets=\"yes\"" - if os.environ.get("SVG_BUILD_LOCAL_STYLE_SHEETS") else "")) + run("node \"" + + native_path(join(tools_dir, "publish/publish.js")) + + "\" --build " + + " ".join(tobuild_names) + + (" --local-style" if os.environ.get("SVG_BUILD_LOCAL_STYLE_SHEETS") else "")) toremove = [] os.chdir(repo_dir) # chdir back # Build single page spec as required: buildSinglePage = False single_page = join(publish_dir, "single-page.html") diff --git a/publish.xsl b/publish.xsl deleted file mode 100644 --- a/publish.xsl +++ /dev/null @@ -1,1708 +0,0 @@ -<?xml version="1.0"?> - -<!-- Input document should be a publish.xml file. --> - -<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml" - xmlns:h="http://www.w3.org/1999/xhtml" - xmlns:m="http://www.w3.org/1998/Math/MathML" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:edit="http://xmlns.grorg.org/SVGT12NG/" - xmlns:x="http://mcc.id.au/ns/local" - xmlns:saxon="http://saxon.sf.net/" - xmlns:xs='http://www.w3.org/2001/XMLSchema' - xmlns:idl='http://mcc.id.au/ns/idl' - xmlns:_xml='data:,' - xpath-default-namespace="http://www.w3.org/1999/xhtml" - exclude-result-prefixes="h edit x saxon xs idl m" - version="2.0"> - - <xsl:output method='text'/> - <xsl:output name='chapter' method='xhtml' omit-xml-declaration='yes' doctype-public='-//W3C//DTD XHTML 1.0 Transitional//EN' doctype-system='http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd' indent="no" saxon:indent-spaces="0"/> - - <xsl:namespace-alias stylesheet-prefix='_xml' result-prefix='xml'/> - - <xsl:variable name='MATURITIES'> - <x:maturity code='ED' short='ED' long='Editor’s Draft' longer='Editor’s Draft'/> - <x:maturity code='WG-NOTE' short='NOTE' long='Working Group Note' longer='Working Group Note'/> - <x:maturity code='WD' short='WD' long='Working Draft' longer='Working Draft'/> - <x:maturity code='FPWD' short='WD' long='Working Draft' longer='First Public Working Draft'/> - <x:maturity code='LCWD' short='WD' long='Working Draft' longer='Last Call Working Draft'/> - <x:maturity code='FPLCWD' short='WD' long='Working Draft' longer='First Public and Last Call Working Draft'/> - <x:maturity code='CR' short='CR' long='Candidate Recommendation' longer='Candidate Recommendation'/> - <x:maturity code='PR' short='PR' long='Proposed Recommendation' longer='Proposed Recommendation'/> - <x:maturity code='PER' short='PER' long='Proposed Edited Recommendation' longer='Proposed Edited Recommendation'/> - <x:maturity code='REC' short='REC' long='Recommendation' longer='Recommendation'/> - <x:maturity code='RSCND' short='RSCND' long='Rescinded Recommendation' longer='Rescinded Recommendation'/> - </xsl:variable> - - <xsl:variable name='conf-document' select='/'/> - <xsl:variable name='conf' select='/*'/> - - <xsl:variable name='maturity' select='$conf/x:maturity'/> - <xsl:variable name='maturity-short' select='$MATURITIES/*[@code=$maturity]/@short'/> - <xsl:variable name='maturity-long' select='$MATURITIES/*[@code=$maturity]/@long'/> - <xsl:variable name='maturity-longer' select='$MATURITIES/*[@code=$maturity]/@longer'/> - - <xsl:variable name='publication-date' select='if ($conf/x:publication-date) then xs:date($conf/x:publication-date) else xs:date(current-dateTime())' as='xs:date'/> - - <xsl:variable name='this-version' select='if ($maturity = "ED") then $conf/x:versions/x:cvs/@href else $conf/x:versions/x:this/@href'/> - <xsl:variable name='this-version-single' select='if ($maturity = "ED") then $conf/x:versions/x:cvs-single/@href else $conf/x:versions/x:this-single/@href'/> - - <xsl:variable name='idl-document' select='document($conf/x:interfaces/@idl, $conf-document)'/> - <xsl:variable name='idl' select='$idl-document/*'/> - - <xsl:variable name='empty-defs-document'><xsl:document><x:definitions/></xsl:document></xsl:variable> - - <xsl:variable name='defs-document' select='document($conf/x:definitions/@href, $conf-document)'/> - <xsl:variable name='defs' select='x:collate-defs($defs-document, $empty-defs-document, "")/*'/> - - <xsl:variable name='single-chapter' select='not(($conf/x:chapter, $conf/x:appendix, $conf/x:page))'/> - - <xsl:param name='chapters-to-build' select='string-join($conf/(x:index | x:chapter | x:appendix | x:page)/@name, " ")'/> - <xsl:variable name='to-build' select='tokenize($chapters-to-build, " ")'/> - - <xsl:param name='local-style-sheets'/> - - <xsl:variable name='publish-dir'> - <xsl:choose> - <xsl:when test='$conf/x:output/@use-publish-directory != "true"'>/</xsl:when> - <xsl:when test='$conf/x:output/@publish-directory'><xsl:value-of select='$conf/x:output/@publish-directory'/>/</xsl:when> - <xsl:otherwise>publish/</xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <xsl:template match='/'> - <xsl:if test='not(x:publish-conf)'> - <xsl:message terminate='yes'>Input document must be a publish.xml file.</xsl:message> - </xsl:if> - <xsl:for-each select='$conf/x:index[@name=$to-build]'> - <xsl:variable name='title-extra' select='if (@title-extra) then string(@title-extra) else""'/> - <xsl:result-document format='chapter' href='../{$publish-dir}{@name}.html'> - <xsl:variable name='d' select='document(concat(@name, ".html"), .)/html'/> - <xsl:variable name='master-directory' select='if ($conf/x:output/@use-publish-directory = "true") then "../master/" else "../"'/> - <xsl:comment> - <xsl:text> </xsl:text> - <xsl:value-of select='$conf/x:title'/> - <xsl:value-of select='$title-extra'/> - <xsl:text> $Id$ Note: This document is generated from </xsl:text> - <xsl:value-of select='concat($master-directory, @name, ".html")'/> - <xsl:text>. Run "make" from the root of the svg2 repository to regenerate it. </xsl:text> - </xsl:comment> - <xsl:text> </xsl:text> - <xsl:apply-templates select='$d'> - <xsl:with-param name='chapter-name' select='"index"' tunnel='yes'/> - <xsl:with-param name='chapter-number' select='""' tunnel='yes'/> - <xsl:with-param name='chapter-type' select='"index"' tunnel='yes'/> - <xsl:with-param name='title-extra' select='$title-extra' tunnel='yes'/> - </xsl:apply-templates> - </xsl:result-document> - </xsl:for-each> - <xsl:apply-templates select='$conf/x:page'/> - <xsl:apply-templates select='$conf/x:chapter'/> - <xsl:apply-templates select='$conf/x:appendix'/> - </xsl:template> - - <xsl:template match='x:chapter | x:appendix | x:page'> - <xsl:if test='@name=$to-build'> - <xsl:variable name='chapter-type' select='local-name()'/> - <xsl:variable name='chapter-number'> - <xsl:choose> - <xsl:when test='$chapter-type = "page"'/> - <xsl:when test='@number'><xsl:value-of select='@number'/></xsl:when> - <xsl:when test='$chapter-type = "appendix"'><xsl:number value='position()' format='A'/></xsl:when> - <xsl:otherwise><xsl:value-of select='position()'/></xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:result-document format='chapter' href='../{$publish-dir}{@name}.html'> - <xsl:variable name='d' select='document(concat(@name, ".html"), .)/html'/> - <xsl:variable name='master-directory' select='if ($conf/x:output/@use-publish-directory = "true") then "../master/" else "../"'/> - <xsl:comment> - <xsl:text> </xsl:text> - <xsl:value-of select='$conf/x:title'/> - <xsl:text> </xsl:text> - <xsl:value-of select='if (self::x:chapter) then "Chapter" else "Appendix"'/> - <xsl:text> </xsl:text> - <xsl:value-of select='$chapter-number'/> - <xsl:text>: </xsl:text> - <xsl:value-of select='$d/head/title'/> - <xsl:text> $Id$ Note: This document is generated from </xsl:text> - <xsl:value-of select='concat($master-directory, @name, ".html")'/> - <xsl:text>. Run "make" from the root of the svg2 repository to regenerate it. </xsl:text> - </xsl:comment> - <xsl:text> </xsl:text> - <xsl:apply-templates select='$d'> - <xsl:with-param name='chapter-name' select='@name' tunnel='yes'/> - <xsl:with-param name='chapter-number' select='$chapter-number' tunnel='yes'/> - <xsl:with-param name='chapter-type' select='$chapter-type' tunnel='yes'/> - <xsl:with-param name='previous-chapter' select='reverse(preceding-sibling::x:chapter | preceding-sibling::x:appendix | preceding-sibling::x:page)[1]/@name' tunnel='yes'/> - <xsl:with-param name='next-chapter' select='(following-sibling::x:chapter | following-sibling::x:appendix | following-sibling::x:page)[1]/@name' tunnel='yes'/> - </xsl:apply-templates> - </xsl:result-document> - </xsl:if> - </xsl:template> - - <xsl:template match='/html'> - <xsl:param name='chapter-name' tunnel='yes'/> - <xsl:param name='chapter-number' tunnel='yes'/> - <xsl:param name='chapter-type' tunnel='yes'/> - <xsl:param name='previous-chapter' tunnel='yes'/> - <xsl:param name='next-chapter' tunnel='yes'/> - <xsl:param name='title-extra' tunnel='yes'/> - - <!-- - First, gather the sections in the chapter so that the table of - contents and section numbers can be generated efficiently. - --> - <xsl:variable name='sections' select='x:gather-sections(if ($single-chapter) then .//div[@class="head"][1]/following-sibling::* else .//h1[1], $chapter-number)'/> - - <html> - <head> - <meta http-equiv='Content-Type' content='text/html;charset=UTF-8'/> - <title> - <xsl:choose> - <xsl:when test='$chapter-type = "index"'> - <xsl:value-of select='$conf/x:title'/><xsl:value-of select='$title-extra'/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select='head/title'/> – <xsl:value-of select='$conf/x:short-title'/> - </xsl:otherwise> - </xsl:choose> - </title> - <xsl:apply-templates select='head/*[not(self::link) and not(self::meta) and not(self::title)]'/> - <xsl:apply-templates select='head/link[not(@rel="stylesheet" and contains(@href, "StyleSheets/TR") or @media="print")]'/> - <link rel='stylesheet' href='{if ($local-style-sheets) then "style/" else "//www.w3.org/StyleSheets/TR/"}W3C-{$maturity-short}{if ($local-style-sheets) then ".css" else ""}' type='text/css' media='screen'/> - <script> - var n, local = location.protocol == "file:"; - if (local) { - for (n = document.head.firstChild; n; n = n.nextSibling) { - if (n.nodeName.toLowerCase() == "link") { - if (n.getAttribute("href").indexOf("//") == 0) { - n.href = "https:" + n.getAttribute("href"); - } - } - } - } - </script> - <xsl:if test='body//m:*'> - <!-- If there were an "MML_SVG" config we should use that, to avoid the overhead of looking for TeX-style math. --> - <script data-script-mathjax=""> - n = document.createElement("script"); - n.src = (local ? "https:" : location.protocol) + "//d3eoax9i5htok0.cloudfront.net/mathjax/2.0-latest/MathJax.js?config=TeX-AMS-MML_SVG"; - document.head.appendChild(n); - </script> - </xsl:if> - </head> - <body> - <xsl:attribute name='class'> - <xsl:if test='body/@class != ""'> - <xsl:value-of select='concat(body/@class, " ")'/> - </xsl:if> - <xsl:value-of select='concat("chapter-", $chapter-name)'/> - </xsl:attribute> - <xsl:variable name='header'> - <xsl:call-template name='header'> - <xsl:with-param name='previous-chapter' select='$previous-chapter'/> - <xsl:with-param name='next-chapter' select='$next-chapter'/> - </xsl:call-template> - </xsl:variable> - <xsl:if test='$chapter-type != "index"'> - <div class='header top'> - <xsl:copy-of select='$header'/> - </div> - </xsl:if> - <xsl:apply-templates select='body/node()'> - <xsl:with-param name='sections' select='$sections' tunnel='yes'/> - </xsl:apply-templates> - <xsl:if test='$chapter-type != "index" or $conf/(x:chapter | x:appendix | x:page)'> - <div class='header bottom'> - <xsl:copy-of select='$header'/> - </div> - </xsl:if> - <script src='style/expanders.js' type='text/javascript'><xsl:text> </xsl:text></script> - </body> - </html> - </xsl:template> - - <xsl:function name='x:gather-sections'> - <xsl:param name='n'/> - <xsl:param name='chapter-number'/> - - <xsl:document> - <x:chapter number='{$chapter-number}' title='{$n}'> - <xsl:variable name='ignored-group' select='not(($n/following::*)[1]/self::h2[not(@edit:toc="no")])'/> - <xsl:for-each-group select='$n/following::*' group-starting-with='h2[not(@edit:toc="no")]'> - <xsl:if test='self::h2[not(@edit:toc="no")]'> - <xsl:variable name='pos' select='position() - (if ($ignored-group) then 1 else 0)'/> - <xsl:variable name='sec' select='if ($chapter-number) then concat($chapter-number, ".", $pos) else string($pos)'/> - <x:section _xml:id='{x:section-id(.)}' number='{$sec}'> - <x:title><xsl:copy-of select='node()'/></x:title> - <xsl:call-template name='gather-sections-rec'> - <xsl:with-param name='level' select='3'/> - <xsl:with-param name='sec' select='$sec'/> - </xsl:call-template> - </x:section> - </xsl:if> - </xsl:for-each-group> - </x:chapter> - </xsl:document> - </xsl:function> - - <xsl:template name='gather-sections-rec'> - <xsl:param name='level' as='xs:integer'/> - <xsl:param name='sec' as='xs:string'/> - <xsl:variable name='ln' select='concat("h", $level)'/> - <xsl:variable name='ignored-group' select='local-name(current-group()[1]) ne $ln or current-group()[1]/@edit:toc = "no"'/> - <xsl:for-each-group select='current-group()' group-starting-with='*[local-name() eq $ln and not(@edit:toc="no")]'> - <xsl:if test='current-group()[1][local-name() eq $ln and not(@edit:toc="no")]'> - <xsl:variable name='pos' select='position() - (if ($ignored-group) then 1 else 0)'/> - <xsl:variable name='sec' select='concat($sec, ".", $pos)'/> - <x:section _xml:id='{x:section-id(.)}' number='{$sec}'> - <x:title><xsl:apply-templates select='node()' mode='no-id'/></x:title> - <xsl:if test='$level < 6'> - <xsl:call-template name='gather-sections-rec'> - <xsl:with-param name='level' select='$level + 1'/> - <xsl:with-param name='sec' select='$sec'/> - </xsl:call-template> - </xsl:if> - </x:section> - </xsl:if> - </xsl:for-each-group> - </xsl:template> - - <!-- Generate a Table of Contents below the chapter title --> - <xsl:template match='h1'> - <xsl:param name='chapter-number' tunnel='yes'/> - <xsl:param name='chapter-type' tunnel='yes'/> - <xsl:param name='sections' tunnel='yes'/> - <h1> - <xsl:copy-of select='@*[namespace-uri() = ""]'/> - <xsl:if test='$chapter-number'> - <xsl:value-of select='if ($chapter-type = "appendix") then concat("Appendix ", $chapter-number, ": ") else if ($chapter-type = "chapter") then concat("Chapter ", $chapter-number, ": ") else ""'/> - </xsl:if> - <xsl:apply-templates select='node()'/> - </h1> - <xsl:if test='$chapter-type != "index" and $sections/*/*'> - <h2 id='toc' class='contents'>Contents</h2> - <xsl:variable name='class' select='if ($chapter-type = "chapter") then "toc" else "toc appendix-toc"'/> - <ul class='{$class}'> - <li> - <ul class='{$class}'> - <xsl:apply-templates select='$sections/*/x:section'> - <xsl:with-param name='no-num' select='$chapter-type != "chapter"' tunnel='yes'/> - </xsl:apply-templates> - </ul> - </li> - </ul> - </xsl:if> - </xsl:template> - - <xsl:template match='edit:minitoc'> - <ul class='toc'> - <xsl:for-each select='$conf/x:page'> - <li class="no-num"><a href='{@name}.html'><xsl:value-of select='document(concat(@name, ".html"), .)/html/body/h1'/></a></li> - </xsl:for-each> - <xsl:for-each select='$conf/x:chapter'> - <li><a href='{@name}.html'><span class="secno"><xsl:value-of select='position()'/>.</span><xsl:text> </xsl:text><xsl:value-of select='document(concat(@name, ".html"), .)/html/body/h1'/></a></li> - </xsl:for-each> - <xsl:for-each select='$conf/x:appendix'> - <li class="no-num"><a href='{@name}.html'>Appendix <xsl:number value='position()' format='A'/>: <xsl:value-of select='document(concat(@name, ".html"), .)/html/body/h1'/></a></li> - </xsl:for-each> - </ul> - </xsl:template> - - <xsl:template match='edit:fulltoc'> - <xsl:param name='sections' tunnel='yes'/> - <xsl:choose> - <xsl:when test='$single-chapter'> - <ul class='toc'> - <xsl:apply-templates select='$sections/*/x:section'/> - </ul> - </xsl:when> - <xsl:otherwise> - <ul class='toc'> - <xsl:for-each select='$conf/x:page[not(@toc)]'> - <li><a href='{@name}.html'><xsl:value-of select='document(concat(@name, ".html"), .)/html/body/h1'/></a></li> - </xsl:for-each> - <xsl:for-each select='$conf/x:chapter'> - <xsl:variable name='doc' select='document(concat(@name, ".html"), .)'/> - <xsl:variable name='s' select='x:gather-sections($doc//h1[1], position())'/> - <li><a href='{@name}.html'><span class='secno'><xsl:value-of select='position()'/>.</span><xsl:text> </xsl:text><xsl:value-of select='$doc/html/body/h1'/></a> - <xsl:if test='$s/*/x:section'> - <ul class='toc'> - <xsl:apply-templates select='$s/*/x:section'> - <xsl:with-param name='toc-filename' select='concat(@name, ".html")' tunnel='yes'/> - </xsl:apply-templates> - </ul> - </xsl:if> - </li> - </xsl:for-each> - <xsl:for-each select='$conf/x:appendix'> - <xsl:variable name='doc' select='document(concat(@name, ".html"), .)'/> - <xsl:variable name='num'> - <xsl:number value='position()' format='A'/> - </xsl:variable> - <xsl:variable name='s' select='x:gather-sections($doc//h1[1], $num)'/> - <li class='no-num'><a href='{@name}.html'>Appendix <xsl:value-of select='$num'/>: <xsl:value-of select='$doc/html/body/h1'/></a> - <xsl:if test='$s/*/x:section'> - <ul class='toc'> - <xsl:apply-templates select='$s/*/x:section'> - <xsl:with-param name='toc-filename' select='concat(@name, ".html")' tunnel='yes'/> - <xsl:with-param name='no-num' select='true()' tunnel='yes'/> - </xsl:apply-templates> - </ul> - </xsl:if> - </li> - </xsl:for-each> - </ul> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Insert section numbers in <h2>, <h3>, <h4>, <h5> and <h6> elements --> - <xsl:template match='h2|h3|h4'> - <xsl:param name='sections' tunnel='yes'/> - <xsl:param name='chapter-type' tunnel='yes'/> - <xsl:variable name='section-number' select='x:section-number($sections, x:section-id(.))'/> - <xsl:element namespace='http://www.w3.org/1999/xhtml' name='{local-name()}'> - <xsl:copy-of select='@*[namespace-uri() = ""]'/> - <xsl:value-of select='if (not($chapter-type = "index" and not($single-chapter)) and $chapter-type != "appendix" and $section-number) then concat($section-number, ". ") else ""'/> - <xsl:apply-templates select='node()'/> - </xsl:element> - </xsl:template> - - <xsl:template match='x:section'> - <xsl:param name='toc-filename' tunnel='yes'/> - <xsl:param name='no-num' tunnel='yes'/> - <xsl:text> </xsl:text> - <li> - <a href='{$toc-filename}#{@xml:id}'> - <xsl:if test='not($no-num)'> - <span class='secno'><xsl:value-of select='@number'/>.</span> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:apply-templates select='x:title/node()'/> - </a> - <xsl:if test='x:section'> - <ul class='toc'> - <xsl:apply-templates select='x:section'/> - </ul> - </xsl:if> - </li> - </xsl:template> - - <xsl:template match='h:*' mode='no-id'> - <xsl:element name='{local-name()}'> - <xsl:copy-of select='@*[local-name() != "id" and namespace-uri() = ""]'/> - <xsl:apply-templates select='node()'/> - </xsl:element> - </xsl:template> - - <xsl:template match='h:*'> - <xsl:element name='{local-name()}'> - <xsl:copy-of select='@*[namespace-uri() = ""]'/> - <xsl:apply-templates select='node()'/> - </xsl:element> - </xsl:template> - - <xsl:template match='edit:completeidl'> - <xsl:variable name='modules' select='tokenize(@modules, ", ")'/> - <pre class='idl'> - <xsl:for-each select='$idl/(idl:module[@scopedname=$modules] | idl:interface | idl:exception)'> - <xsl:if test='position() != 1'><xsl:text> </xsl:text></xsl:if> - <xsl:apply-templates select='.'/> - </xsl:for-each> - </pre> - </xsl:template> - - <xsl:template match='idl:module'> - <xsl:text>module </xsl:text> - <b><xsl:value-of select='@name'/></b> - <xsl:text> { </xsl:text> - <xsl:for-each select='idl:interface | idl:exception'> - <xsl:if test='position() != 1'><xsl:text> </xsl:text></xsl:if> - <xsl:apply-templates select='.'/> - <xsl:text> </xsl:text> - </xsl:for-each> - <xsl:text> };</xsl:text> - </xsl:template> - - <xsl:template match='edit:interface'> - <xsl:variable name='interface-name' select='@name'/> - <xsl:variable name='interface' select='$idl//(idl:interface | idl:exception)[@scopedname=$interface-name]'/> - <xsl:variable name='interface-desc' select='$interface/idl:description'/> - <xsl:apply-templates select='$interface-desc/(h:* | edit:* | text())'> - <xsl:with-param name='interface' select='$interface' tunnel='yes'/> - </xsl:apply-templates> - <pre class='idl'> - <xsl:apply-templates select='$interface'/> - </pre> - <xsl:variable name='associatedConsts' select='if ($interface/self::idl:exception) then root($interface)//idl:const[@associatedexception=$interface-name] else ()'/> - <xsl:if test='$interface/(idl:attribute | idl:operation | idl:const | idl:member) | $associatedConsts'> - <dl class='interface'> - <xsl:if test='$interface/idl:const | $associatedConsts'> - <xsl:for-each select='distinct-values(($interface/idl:const/@defgroup, $associatedConsts/self::idl:const/@defgroup))'> - <xsl:variable name='defgroup' select='.'/> - <dt class='constants-header'>Constants in group “<xsl:value-of select='.'/>”:</dt> - <dd> - <dl class='constants'> - <xsl:apply-templates select='$interface/idl:const[@defgroup=$defgroup] | $associatedConsts/self::idl:const[@defgroup=$defgroup]' mode='prose'> - <xsl:with-param name='interface' select='$interface'/> - </xsl:apply-templates> - </dl> - </dd> - </xsl:for-each> - <xsl:variable name='ungrouped-consts' select='$interface/idl:const[not(@defgroup)] | $associatedConsts/self::idl:const[not(@defgroup)]'/> - <xsl:if test='$ungrouped-consts'> - <dt class='constants-header'> - <xsl:choose> - <xsl:when test='$interface/idl:const/@defgroup | $associatedConsts/self::idl:const/@defgroup'>Other constants:</xsl:when> - <xsl:otherwise>Constants:</xsl:otherwise> - </xsl:choose> - </dt> - <dd> - <dl class='constants'> - <xsl:apply-templates select='$ungrouped-consts' mode='prose'> - <xsl:with-param name='interface' select='$interface'/> - </xsl:apply-templates> - </dl> - </dd> - </xsl:if> - </xsl:if> - <xsl:if test='$interface/idl:attribute'> - <dt class='attributes-header'>Attributes:</dt> - <dd> - <dl class='attributes'> - <xsl:apply-templates select='$interface/idl:attribute' mode='prose'> - <xsl:with-param name='interface' select='$interface'/> - </xsl:apply-templates> - </dl> - </dd> - </xsl:if> - <xsl:if test='$interface/idl:member'> - <dt class='exception-members-header'>Exception members:</dt> - <dd> - <dl class='attributes'> - <xsl:apply-templates select='$interface/idl:member' mode='prose'> - <xsl:with-param name='interface' select='$interface'/> - </xsl:apply-templates> - </dl> - </dd> - </xsl:if> - <xsl:if test='$interface/idl:operation'> - <dt class='operations-header'>Operations:</dt> - <dd> - <dl class='attributes'> - <xsl:apply-templates select='$interface/idl:operation' mode='prose'> - <xsl:with-param name='interface' select='$interface'/> - </xsl:apply-templates> - </dl> - </dd> - </xsl:if> - </dl> - </xsl:if> - </xsl:template> - - <xsl:template match='idl:interface | idl:exception'> - <xsl:variable name='i' select='.'/> - <xsl:value-of select='concat(local-name(), " ")'/> - <xsl:variable name='name' select='@name'/> - <b><xsl:value-of select='@name'/></b> - <xsl:if test='idl:extends'> - <xsl:text> : </xsl:text> - <xsl:apply-templates select='idl:extends[1]'/> - <xsl:for-each select='idl:extends[position() > 1]'> - <xsl:text>, </xsl:text> - <xsl:value-of select='replace($name, ".", " ")'/> - <xsl:apply-templates select='.'/> - </xsl:for-each> - </xsl:if> - <xsl:text> { </xsl:text> - <xsl:variable name='spaces' select='count((idl:member[1], idl:attribute[1], idl:operation[1], idl:const[@defgroup][1], idl:const[not(@defgroup)][1])) > 1'/> - <xsl:if test='idl:const[not(@defgroup)] and $spaces'> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:for-each select='idl:const[not(@defgroup)]'> - <xsl:text> </xsl:text> - <xsl:apply-templates select='.'/> - <xsl:text> </xsl:text> - </xsl:for-each> - <xsl:for-each select='distinct-values(idl:const/@defgroup)'> - <xsl:if test='$spaces'> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:text> // </xsl:text> - <xsl:value-of select='.'/> - <xsl:text> </xsl:text> - <xsl:variable name='defgroup' select='.'/> - <xsl:for-each select='$i/idl:const[@defgroup=$defgroup]'> - <xsl:text> </xsl:text> - <xsl:apply-templates select='.'/> - <xsl:text> </xsl:text> - </xsl:for-each> - </xsl:for-each> - <xsl:if test='idl:attribute'> - <xsl:variable name='indent' select='count(idl:attribute[@readonly="true"]) != 0'/> - <xsl:if test='$spaces'> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:for-each select='idl:attribute'> - <xsl:text> </xsl:text> - <xsl:apply-templates select='.'> - <xsl:with-param name='indent' select='$indent'/> - </xsl:apply-templates> - <xsl:text> </xsl:text> - </xsl:for-each> - </xsl:if> - <xsl:if test='idl:member'> - <xsl:for-each select='idl:member'> - <xsl:text> </xsl:text> - <xsl:apply-templates select='.'/> - <xsl:text> </xsl:text> - </xsl:for-each> - </xsl:if> - <xsl:if test='idl:operation'> - <xsl:if test='$spaces'> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:for-each select='idl:operation'> - <xsl:text> </xsl:text> - <xsl:apply-templates select='.'/> - <xsl:text> </xsl:text> - </xsl:for-each> - </xsl:if> - <xsl:text>};</xsl:text> - <xsl:variable name='scopedname' select='@scopedname'/> - <xsl:variable name='associatedConsts' select='if (self::idl:exception) then root(.)//idl:const[@associatedexception=$scopedname] else ()'/> - <xsl:if test='$associatedConsts'> - <xsl:text> </xsl:text> - <xsl:for-each select='$associatedConsts/self::idl:const[not(@defgroup)]'> - <xsl:text> </xsl:text> - <xsl:apply-templates select='.'/> - </xsl:for-each> - <xsl:for-each select='distinct-values($associatedConsts/self::idl:const/@defgroup)'> - <xsl:text> </xsl:text> - <xsl:text>// </xsl:text> - <xsl:value-of select='.'/> - <xsl:variable name='defgroup' select='.'/> - <xsl:for-each select='$associatedConsts/self::idl:const[@defgroup=$defgroup]'> - <xsl:text> </xsl:text> - <xsl:apply-templates select='.'/> - </xsl:for-each> - </xsl:for-each> - </xsl:if> - </xsl:template> - - <xsl:template match='idl:extends'> - <xsl:variable name='superintf' select='id(@ref, .)'/> - <xsl:variable name='name' select='($superintf/@name, @name)[1]'/> - <xsl:choose> - <xsl:when test='$defs/x:interface[@name=$superintf/@name]'> - <xsl:copy-of select='x:interface-link($superintf/@name, .)'/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select='$name'/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template match='idl:member' mode='prose'> - <xsl:param name='interface'/> - <xsl:text> </xsl:text> - <dt id='{replace(@scopedname, ":", "_")}' class='exception-member'> - <b><xsl:value-of select='@name'/></b> - <span class='idl-type-parenthetical'> - <xsl:text> (</xsl:text> - <xsl:call-template name='idl-type'/> - <xsl:text>)</xsl:text> - </span> - </dt> - <dd class='exception-member'> - <xsl:variable name='description' select='idl:description'/> - <xsl:choose> - <xsl:when test='not($description/node())'> </xsl:when> - <xsl:when test='local-name($description/node()[1]) = ""'> - <div> - <xsl:apply-templates select='$description/node()'> - <xsl:with-param name='interface' select='$interface' tunnel='yes'/> - </xsl:apply-templates> - </div> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates select='$description/node()'> - <xsl:with-param name='interface' select='$interface' tunnel='yes'/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> - </dd> - </xsl:template> - - <xsl:template match='idl:member'> - <xsl:call-template name='idl-type'/> - <xsl:text> </xsl:text> - <a href='{substring-before($defs/x:interface[@name=current()/../@name]/@href, "#")}#{replace(@scopedname, ":", "_")}'><xsl:value-of select='@name'/></a> - <xsl:text>;</xsl:text> - </xsl:template> - - <xsl:template match='idl:attribute' mode='prose'> - <xsl:param name='interface'/> - <xsl:text> </xsl:text> - <dt id='{replace(@scopedname, ":", "_")}' class='attribute{if (position() = 1) then " first-child" else ""}'> - <b><xsl:value-of select='@name'/></b> - <span class='idl-type-parenthetical'> - <xsl:text> (</xsl:text> - <xsl:if test='@readonly="true"'>readonly </xsl:if> - <xsl:call-template name='idl-type'/> - <xsl:text>)</xsl:text> - </span> - </dt> - <dd class='attribute'> - <xsl:variable name='description' select='idl:description'/> - <xsl:choose> - <xsl:when test='not($description/node())'> </xsl:when> - <xsl:when test='local-name($description/node()[1]) = ""'> - <div> - <xsl:apply-templates select='$description/node()'> - <xsl:with-param name='interface' select='$interface' tunnel='yes'/> - </xsl:apply-templates> - </div> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates select='$description/node()'> - <xsl:with-param name='interface' select='$interface' tunnel='yes'/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> - <xsl:if test='idl:getraises | idl:setraises'> - <dl class='attribute'> - <xsl:if test='idl:getraises'> - <dt class='exceptions-header'>Exceptions on getting</dt> - <dd> - <dl class='exceptions'> - <xsl:for-each select='idl:getraises'> - <xsl:sort select='@name'/> - <xsl:variable name='getraises' select='.'/> - <xsl:for-each select='idl:description'> - <dt class='exception'> - <xsl:copy-of select='x:interface-link(id($getraises/@ref, .)/@name, .)'/> - <xsl:if test='@code'>, code <xsl:value-of select='@code'/></xsl:if> - </dt> - <dd class='exception'> - <xsl:apply-templates select='node()'/> - </dd> - </xsl:for-each> - </xsl:for-each> - </dl> - </dd> - </xsl:if> - <xsl:if test='idl:setraises'> - <dt class='exceptions-header'>Exceptions on setting</dt> - <dd> - <dl class='exceptions'> - <xsl:for-each select='idl:setraises'> - <xsl:sort select='@name'/> - <xsl:variable name='setraises' select='.'/> - <xsl:for-each select='idl:description'> - <dt class='exception'> - <xsl:copy-of select='x:interface-link(id($setraises/@ref, .)/@name, .)'/> - <xsl:if test='@code'>, code <xsl:value-of select='@code'/></xsl:if> - </dt> - <dd class='exception'> - <xsl:apply-templates select='node()'/> - </dd> - </xsl:for-each> - </xsl:for-each> - </dl> - </dd> - </xsl:if> - </dl> - </xsl:if> - </dd> - </xsl:template> - - <xsl:template match='idl:attribute'> - <xsl:param name='indent' select='true()' as='xs:boolean'/> - <xsl:value-of select='if (@readonly="true") then "readonly attribute " else if ($indent) then " attribute " else "attribute "'/> - <xsl:call-template name='idl-type'/> - <xsl:text> </xsl:text> - <a href='{substring-before($defs/x:interface[@name=current()/../@name]/@href, "#")}#{replace(@scopedname, ":", "_")}'><xsl:value-of select='@name'/></a> - <xsl:if test='idl:getraises'> - <xsl:text> getraises(</xsl:text> - <xsl:for-each select='idl:getraises'> - <xsl:if test='position() != 1'>, </xsl:if> - <xsl:call-template name='idl-type'> - <xsl:with-param name='name' select='id(@ref, .)/@name'/> - </xsl:call-template> - </xsl:for-each> - <xsl:text>)</xsl:text> - </xsl:if> - <xsl:if test='idl:setraises'> - <xsl:text> setraises(</xsl:text> - <xsl:for-each select='idl:setraises'> - <xsl:if test='position() != 1'>, </xsl:if> - <xsl:call-template name='idl-type'> - <xsl:with-param name='name' select='id(@ref, .)/@name'/> - </xsl:call-template> - </xsl:for-each> - <xsl:text>)</xsl:text> - </xsl:if> - <xsl:text>;</xsl:text> - </xsl:template> - - <xsl:template match='idl:operation' mode='prose'> - <xsl:param name='interface'/> - <xsl:param name='op' select='.'/> - <xsl:text> </xsl:text> - <dt id='{replace(@scopedname, ":", "_")}' class='operation{if (position() = 1) then " first-child" else ""}'> - <xsl:call-template name='idl-type'/> - <xsl:text> </xsl:text> - <b><xsl:value-of select='@name'/></b> - <xsl:text>(</xsl:text> - <xsl:for-each select='idl:argument'> - <xsl:if test='position() != 1'>, </xsl:if> - <xsl:text>in </xsl:text> - <xsl:call-template name='idl-type'/> - <xsl:text> </xsl:text> - <var><xsl:value-of select='@name'/></var> - </xsl:for-each> - <xsl:text>)</xsl:text> - </dt> - <dd class='operation'> - <xsl:variable name='description' select='idl:description'/> - <xsl:choose> - <xsl:when test='not($description/node())'> </xsl:when> - <xsl:when test='local-name($description/node()[1]) = ""'> - <div> - <xsl:apply-templates select='$description/node()'> - <xsl:with-param name='interface' select='$interface' tunnel='yes'/> - </xsl:apply-templates> - </div> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates select='$description/node()'> - <xsl:with-param name='interface' select='$interface' tunnel='yes'/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> - <xsl:if test='not(@type="void") or (idl:argument | idl:raises)'> - <dl class='operation'> - <xsl:if test='idl:argument'> - <dt class='parameters-header'>Parameters</dt> - <dd> - <ol class='parameters'> - <xsl:for-each select='idl:argument'> - <xsl:variable name='argnum' select='position()'/> - <li class='parameter{if (position() = 1) then " first-child" else ""}'> - <div> - <xsl:call-template name='idl-type'/> - <xsl:text> </xsl:text> - <var><xsl:value-of select='@name'/></var> - </div> - <xsl:text> </xsl:text> - <xsl:choose> - <xsl:when test='not(idl:description/node())'> </xsl:when> - <xsl:when test='local-name(idl:description/node()[1]) = ""'> - <div> - <xsl:apply-templates select='idl:description/node()'> - <xsl:with-param name='interface' select='$interface' tunnel='yes'/> - </xsl:apply-templates> - </div> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates select='idl:description/node()'> - <xsl:with-param name='interface' select='$interface' tunnel='yes'/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> - </li> - </xsl:for-each> - </ol> - </dd> - </xsl:if> - <xsl:if test='not(@type="void")'> - <dt class='returns-header'>Returns</dt> - <dd> - <xsl:choose> - <xsl:when test='not(idl:returns/idl:description/node())'> </xsl:when> - <xsl:when test='local-name(idl:returns/idl:description/node()[1]) = ""'> - <div> - <xsl:apply-templates select='idl:returns/idl:description/node()'> - <xsl:with-param name='interface' select='$interface' tunnel='yes'/> - </xsl:apply-templates> - </div> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates select='idl:returns/idl:description/node()'> - <xsl:with-param name='interface' select='$interface' tunnel='yes'/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> - </dd> - </xsl:if> - <xsl:if test='idl:raises'> - <dt class='exceptions-header'>Exceptions</dt> - <dd> - <dl class='exceptions'> - <xsl:for-each select='idl:raises'> - <xsl:sort select='@name'/> - <xsl:variable name='raises' select='.'/> - <xsl:for-each select='idl:description'> - <dt class='exception{if (position() = 1) then " first-child" else ""}'> - <xsl:copy-of select='x:interface-link(id($raises/@ref, .)/@name, .)'/> - <xsl:if test='@code'>, code <xsl:value-of select='@code'/></xsl:if> - </dt> - <dd class='exception'> - <xsl:apply-templates select='node()'> - <xsl:with-param name='interface' select='$interface' tunnel='yes'/> - </xsl:apply-templates> - </dd> - </xsl:for-each> - </xsl:for-each> - </dl> - </dd> - </xsl:if> - </dl> - </xsl:if> - </dd> - </xsl:template> - - <xsl:template match='idl:operation'> - <xsl:call-template name='idl-type'/> - <xsl:text> </xsl:text> - <a href='{substring-before($defs/x:interface[@name=current()/../@name]/@href, "#")}#{replace(@scopedname, ":", "_")}'><xsl:value-of select='@name'/></a> - <xsl:text>(</xsl:text> - <xsl:for-each select='idl:argument'> - <xsl:if test='position() != 1'>, </xsl:if> - <xsl:text>in </xsl:text> - <xsl:call-template name='idl-type'/> - <xsl:text> </xsl:text> - <xsl:value-of select='@name'/> - </xsl:for-each> - <xsl:text>)</xsl:text> - <xsl:if test='idl:raises'> - <xsl:text> raises(</xsl:text> - <xsl:for-each select='idl:raises'> - <xsl:if test='position() != 1'>, </xsl:if> - <xsl:call-template name='idl-type'> - <xsl:with-param name='name' select='id(@ref, .)/@name'/> - </xsl:call-template> - </xsl:for-each> - <xsl:text>)</xsl:text> - </xsl:if> - <xsl:text>;</xsl:text> - </xsl:template> - - <xsl:template match='idl:const' mode='prose'> - <xsl:param name='interface'/> - <xsl:text> </xsl:text> - <dt id='{replace(@scopedname, ":", "_")}' class='constant{if (position() = 1) then " first-child" else ""}'> - <b><xsl:value-of select='@name'/></b> - <span class='idl-type-parenthetical'> - <xsl:text> (</xsl:text> - <xsl:call-template name='idl-type'/> - <xsl:text>)</xsl:text> - </span> - </dt> - <dd class='constant'> - <xsl:variable name='description' select='idl:description'/> - <xsl:choose> - <xsl:when test='not($description/node())'> </xsl:when> - <xsl:when test='local-name($description/node()[1]) = ""'> - <div> - <xsl:apply-templates select='$description/node()'> - <xsl:with-param name='interface' select='$interface' tunnel='yes'/> - </xsl:apply-templates> - </div> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates select='$description/node()'> - <xsl:with-param name='interface' select='$interface' tunnel='yes'/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> - </dd> - </xsl:template> - - <xsl:template match='idl:const'> - <xsl:text>const </xsl:text> - <xsl:call-template name='idl-type'/> - <xsl:text> </xsl:text> - <xsl:variable name='ae' select='@associatedexception'/> - <xsl:variable name='container' select='if (../self::idl:interface) then ../@scopedname else if ($ae) then $ae else ()'/> - <xsl:variable name='x' select='$idl//(idl:interface | idl:exception)[@scopedname=$container]'/> - <a href='{substring-before($defs/x:interface[@name=$x/@name]/@href, "#")}#{replace(@scopedname, ":", "_")}'><xsl:value-of select='@name'/></a> - <xsl:text> = </xsl:text> - <xsl:value-of select='@value'/> - <xsl:text>;</xsl:text> - </xsl:template> - - <xsl:template name='idl-type'> - <xsl:param name='name' select='(idl:type/idl:scopedname/@name, @type)'/> - <xsl:choose> - <xsl:when test='$defs/x:interface[@name=$name]'> - <xsl:copy-of select='x:interface-link($name, .)'/> - </xsl:when> - <xsl:when test='$defs/x:interface[@name=substring-after($name, "::")]'> - <xsl:copy-of select='x:interface-link(substring-after($name, "::"), .)'/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select='$name'/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template name='header'> - <xsl:param name='previous-chapter'/> - <xsl:param name='next-chapter'/> - <span class='namedate'><xsl:value-of select='$conf/x:short-title'/> – <xsl:value-of select='format-date($publication-date, "[D01] [MNn] [Y]", "en", (), ())'/></span> - <a href='{$conf/x:index/@name}.html'>Top</a> - <xsl:if test='$conf/x:toc'> - <xsl:text> ⋅ </xsl:text><a href='{$conf/x:toc/@href}'>Contents</a> - </xsl:if> - <xsl:if test='$previous-chapter != ""'> - <xsl:text> ⋅ </xsl:text><a href='{$previous-chapter}.html'>Previous</a> - </xsl:if> - <xsl:if test='$next-chapter != ""'> - <xsl:text> ⋅ </xsl:text><a href='{$next-chapter}.html'>Next</a> - </xsl:if> - <xsl:if test='$conf/x:elementindex'> - <xsl:text> ⋅ </xsl:text><a href='{$conf/x:elementindex/@href}'>Elements</a> - </xsl:if> - <xsl:if test='$conf/x:attributeindex'> - <xsl:text> ⋅ </xsl:text><a href='{$conf/x:attributeindex/@href}'>Attributes</a> - </xsl:if> - <xsl:if test='$conf/x:propertyindex'> - <xsl:text> ⋅ </xsl:text><a href='{$conf/x:propertyindex/@href}'>Properties</a> - </xsl:if> - </xsl:template> - - <xsl:template match='span[tokenize(@class, " ") = ("element-name", "attr-name", "property") and starts-with(., "'") and ends-with(., "'")]'> - <span> - <xsl:copy-of select='@*[namespace-uri() = ""]'/> - <xsl:value-of select='concat("‘", substring(., 2, string-length() - 2), "’")'/> - </span> - </xsl:template> - - <xsl:template match='a[not(@href) and node()]'> - <xsl:param name='interface' as='node()?' select='()' tunnel='yes'/> - <xsl:param name='context-element' as='xs:string?' select='()' tunnel='yes'/> - <xsl:variable name='this' select='normalize-space(.)'/> - <xsl:choose> - <xsl:when test='$interface/(idl:operation|idl:attribute|idl:const)[@name=$this]'> - <xsl:variable name='idlattr' select='$interface/(idl:operation|idl:attribute|idl:const)[@name=$this]'/> - <a class='idlattr{if (@class) then " " else ""}{@class}' href='#{replace($idlattr/@scopedname, ":", "_")}'> - <xsl:copy-of select='@*[local-name() != "class" and namespace-uri() = ""]'/> - <xsl:value-of select='$this'/> - </a> - </xsl:when> - <xsl:when test='$defs/x:interface[@name=$this]'> - <a class='idlinterface{if (@class) then " " else ""}{@class}' href='{$defs/x:interface[@name=$this]/@href}'> - <xsl:copy-of select='@*[local-name() != "class" and namespace-uri() = ""]'/> - <xsl:value-of select='$this'/> - </a> - </xsl:when> - <xsl:when test='matches($this, "^[^:]+::[^:]+$")'> - <xsl:variable name='before' select='substring-before($this, "::")'/> - <xsl:variable name='after' select='substring-after($this, "::")'/> - <xsl:variable name='member' select='$idl//(idl:interface | idl:exception)[@name=substring-before($this, "::")]/(idl:attribute|idl:operation|idl:const|idl:member)[@name=substring-after($this, "::")]'/> - <xsl:choose> - <xsl:when test='$member'> - <a class='idlattr{if (@class) then " " else ""}{@class}' href='{substring-before($defs/(x:interface | x:exception)[@name=$before]/@href, "#")}#{replace($member/@scopedname, ":", "_")}'> - <xsl:copy-of select='@*[local-name() != "class" and namespace-uri() = ""]'/> - <xsl:if test='@edit:format="expanded"'><xsl:value-of select='$member/../@name'/>::</xsl:if> - <xsl:value-of select='$after'/> - </a> - </xsl:when> - <xsl:otherwise> - <a style='background: red; color: white' href='data:,'> - <xsl:message>Unknown interface member "<xsl:value-of select='$this'/>" at <xsl:value-of select="concat(base-uri(.), ' line ', saxon:line-number())"/>.</xsl:message> - <xsl:copy-of select='@*[namespace-uri() = ""]'/> - <xsl:apply-templates/> - </a> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:when test='starts-with($this, "'") and ends-with($this, "'")'> - <xsl:variable name='name' select='substring($this, 2, string-length() - 2)'/> - <xsl:choose> - <xsl:when test='contains($name, "/")'> - <xsl:variable name='parts' select='tokenize($name, "/")'/> - <xsl:copy-of select='x:attribute-link($parts[2], $parts[1], false(), .)'/> - </xsl:when> - <xsl:when test='contains($name, " ")'> - <xsl:variable name='parts' select='tokenize($name, " ")'/> - <xsl:choose> - <xsl:when test='$parts[2] = "element"'> - <xsl:copy-of select='x:element-link($parts[1], .)'/> - </xsl:when> - <xsl:when test='$parts[2] = "presentationattribute"'> - <xsl:copy-of select='x:presentation-attribute-link($parts[1], .)'/> - </xsl:when> - <xsl:when test='$parts[2] = "attribute"'> - <xsl:copy-of select='x:attribute-link($parts[1], $context-element, true(), .)'/> - </xsl:when> - <xsl:when test='$parts[2] = "property"'> - <xsl:copy-of select='x:property-link($parts[1], .)'/> - </xsl:when> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <xsl:copy-of select='x:name-link($name, $context-element, .)'/> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:when test='starts-with($this, "<") and ends-with($this, ">")'> - <xsl:variable name='name' select='substring($this, 2, string-length() - 2)'/> - <xsl:copy-of select='x:symbol-link($name, .)'/> - </xsl:when> - <xsl:when test='$defs/x:term[lower-case(@name)=lower-case($this)]'> - <xsl:variable name='term' select='$defs/x:term[lower-case(@name)=lower-case($this)]'/> - <a href='{$term/@href}'><span class='{if ($term/@class) then $term/@class else "svg-term"}'> - <xsl:choose> - <xsl:when test="count($term/node())"> - <xsl:apply-templates select='$term/node()'/> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates select='node()'/> - </xsl:otherwise> - </xsl:choose> - </span></a> - </xsl:when> - <xsl:otherwise> - <a style='background: red; color: white' href='data:,'> - <xsl:message>Unknown term "<xsl:value-of select='$this'/>" at <xsl:value-of select="concat(base-uri(.), ' line ', saxon:line-number())"/>.</xsl:message> - <xsl:copy-of select='@*[namespace-uri() = ""]'/> - <xsl:apply-templates/> - </a> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template match='edit:example'> - <div class="example"> - <xsl:variable name='text' select='unparsed-text(resolve-uri(@href, base-uri(.)))'/> - <pre class='xml'><xsl:value-of select='replace($text, "\s+$", "")'/></pre> - <xsl:if test='@image="yes"'> - <div class="figure"> - <img alt="Example {@name}{if (@description) then concat(' €” ', @description) else ''}" src='{replace(@href, "\.svg$", ".png")}'/> - <p class="caption">Example <xsl:value-of select="@name"/></p> - </div> - </xsl:if> - <xsl:if test='@link="yes"'> - <p class='view-as-svg'><a href='{@href}'>View this example as SVG (SVG-enabled browsers only)</a></p> - </xsl:if> - </div> - </xsl:template> - - <xsl:template match='edit:includefile'> - <pre><xsl:value-of select='replace(unparsed-text(resolve-uri(@href, base-uri(.))), "\s+$", "")'/></pre> - </xsl:template> - - <xsl:template match='edit:elementsummary'> - <!--xsl:param name='context-element' as='xs:string?' select='()' tunnel='yes'/--> - <xsl:for-each select='$defs/x:element[@name = current()/@name]'> - <xsl:variable name='element' select='.'/> - <xsl:variable name='name' select='@name'/> - <div class='element-summary'> - <div class='element-summary-name'><span class='element-name'>‘<xsl:value-of select='@name'/>’</span></div> - <dl> - <dt>Categories:</dt> - <dd> - <xsl:variable name='categories' select='$defs/x:elementcategory[tokenize(@elements, ", ") = current()/@name]'/> - <xsl:choose> - <xsl:when test='not($categories)'>None</xsl:when> - <xsl:otherwise> - <xsl:for-each select='$categories'> - <xsl:variable name='text' select='if (position() = 1) then concat(upper-case(substring(@name, 1, 1)), substring(@name, 2)) else @name'/> - <xsl:if test='position() != 1'>, </xsl:if> - <a href='{@href}'><xsl:value-of select='$text'/> element</a> - </xsl:for-each> - </xsl:otherwise> - </xsl:choose> - </dd> - <dt>Content model:</dt> - <dd> - <xsl:choose> - <xsl:when test='x:contentmodel'> - <xsl:apply-templates select='x:contentmodel/node()'/> - </xsl:when> - <xsl:when test='@contentmodel=("textoranyof", "anyof", "oneormoreof")'> - <xsl:value-of select='if (@contentmodel="oneormoreof") then "One or more" else "Any number"'/> of the following elements<xsl:if test='@contentmodel="textoranyof"'> or character data</xsl:if>, in any order: - <ul class='no-bullets'> - <xsl:for-each select='tokenize(@elementcategories, ", ")'> - <xsl:variable name='category' select='$defs/x:elementcategory[@name=current()]'/> - <li> - <xsl:choose> - <xsl:when test='$category'> - <a href='{$category/@href}'><xsl:value-of select='.'/> elements</a> - <span class='expanding'> - <xsl:text> — </xsl:text> - <xsl:for-each select='tokenize($category/@elements, ", ")'> - <xsl:sort/> - <xsl:if test='position() != 1'>, </xsl:if> - <xsl:choose> - <xsl:when test='$defs/x:element[@name=current()]'> - <span class='element-name'> - <xsl:text>‘</xsl:text> - <a href='{$defs/x:element[@name=current()]/@href}'><span><xsl:value-of select='.'/></span></a> - <xsl:text>’</xsl:text> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:message>Unknown name "<xsl:value-of select='.'/>" at <xsl:value-of select="concat(base-uri($category), ' line ', saxon:line-number())"/>.</xsl:message> - <a href='data:,' style='background: red; color: white'>@@ unknown name '<xsl:value-of select='.'/>'</a> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:message>Unknown element category "<xsl:value-of select='.'/>" at <xsl:value-of select="concat(base-uri($element), ' line ', saxon:line-number())"/>.</xsl:message> - <a href='data:,' style='background: red; color: white'>@@ unknown element category '<xsl:value-of select='.'/>'</a> - </xsl:otherwise> - </xsl:choose> - </li> - </xsl:for-each> - <xsl:for-each select='tokenize(@elements, ", ")'> - <xsl:sort/> - <li><xsl:copy-of select='x:element-link(., $element)'/></li> - </xsl:for-each> - </ul> - </xsl:when> - <xsl:when test='@contentmodel="any"'> - Any elements or character data. - </xsl:when> - <xsl:when test='@contentmodel="text"'> - Character data. - </xsl:when> - <xsl:otherwise>Empty.</xsl:otherwise> - </xsl:choose> - </dd> - <dt>Attributes:</dt> - <dd> - <xsl:choose> - <xsl:when test='@attributecategories or @attributes or x:attribute'> - <ul class='no-bullets'> - <xsl:for-each select='tokenize(@attributecategories, ", ")'> - <xsl:variable name='category' select='$defs/x:attributecategory[@name=current()]'/> - <xsl:if test='$category/@href'> - <li> - <xsl:choose> - <xsl:when test='$category'> - <a href='{$category/@href}'><xsl:value-of select='.'/> attributes</a> - <span class='expanding'> - <xsl:text> — </xsl:text> - <xsl:variable name='attributes' select='tokenize($category/@attributes, ", ")'/> - <xsl:variable name='presentationattributes' select='tokenize($category/@presentationattributes, ", ")'/> - <xsl:variable name='attributeelements' select='$category/x:attribute/@name'/> - <xsl:for-each select='$attributes'> - <xsl:if test='position() != 1'>, </xsl:if> - <xsl:copy-of select='x:attribute-link(., $name, true(), $category)'/> - </xsl:for-each> - <xsl:for-each select='$presentationattributes'> - <xsl:if test='count($attributes) or position() != 1'>, </xsl:if> - <xsl:copy-of select='x:presentation-attribute-link(., $category)'/> - </xsl:for-each> - <xsl:for-each select='$attributeelements'> - <xsl:if test='count($attributes) or count($presentationattributes) or position() != 1'>, </xsl:if> - <xsl:copy-of select='x:attribute-link(., $name, true(), $category)'/> - </xsl:for-each> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:message>Unknown attribute category "<xsl:value-of select='.'/>" at <xsl:value-of select="concat(base-uri($element), ' line ', saxon:line-number())"/>.</xsl:message> - <a href='data:,' style='background: red; color: white'>@@ unknown attribute category '<xsl:value-of select='.'/>'</a> - </xsl:otherwise> - </xsl:choose> - </li> - </xsl:if> - </xsl:for-each> - <xsl:for-each select='tokenize(@attributecategories, ", ")'> - <xsl:variable name='category' select='$defs/x:attributecategory[@name=current()]'/> - <xsl:if test='$category and not($category/@href)'> - <xsl:variable name='attributes' select='tokenize($category/@attributes, ", ")'/> - <xsl:variable name='presentationattributes' select='tokenize($category/@presentationattributes, ", ")'/> - <xsl:variable name='attributeelements' select='$category/x:attribute/@name'/> - <xsl:for-each select='$attributes'> - <li><xsl:copy-of select='x:attribute-link(., $name, true(), $category)'/></li> - </xsl:for-each> - <xsl:for-each select='$presentationattributes'> - <li><xsl:copy-of select='x:presentation-attribute-link(., $category)'/></li> - </xsl:for-each> - <xsl:for-each select='$attributeelements'> - <li><xsl:copy-of select='x:attribute-link(., $name, true(), $category)'/></li> - </xsl:for-each> - </xsl:if> - </xsl:for-each> - <xsl:for-each select='tokenize(@attributes, ", *")'> - <li><xsl:copy-of select='x:attribute-link(., $name, true(), $element)'/></li> - </xsl:for-each> - <xsl:for-each select='x:attribute'> - <li><xsl:copy-of select='x:attribute-link(@name, $name, true(), $element)'/></li> - </xsl:for-each> - </ul> - </xsl:when> - <xsl:otherwise>None</xsl:otherwise> - </xsl:choose> - </dd> - <dt>DOM Interfaces:</dt> - <dd> - <ul class='no-bullets'> - <xsl:for-each select='tokenize(@interfaces, ", *")'> - <li><xsl:copy-of select='x:interface-link(., $element)'/></li> - </xsl:for-each> - </ul> - </dd> - </dl> - </div> - </xsl:for-each> - </xsl:template> - - <xsl:template match='edit:with'> - <xsl:param name='context-element' select='()' as='xs:string?' tunnel='yes'/> - <xsl:variable name='context-element' select='if (@element) then @element else $context-element'/> - <xsl:apply-templates select='node()'> - <xsl:with-param name='context-element' select='$context-element' tunnel='yes'/> - </xsl:apply-templates> - </xsl:template> - - <xsl:template match='edit:toc'>[generated toc goes here]</xsl:template> - - <xsl:template match='edit:maturity'><xsl:value-of select='$maturity-long'/></xsl:template> - - <xsl:template match='edit:date'> - <xsl:value-of select='format-date($publication-date, "[D01] [MNn] [Y]", "en", (), ())'/> - </xsl:template> - - <xsl:template match='edit:thisversion'> - <xsl:variable name='url' select='if (@single-page) then $this-version-single else $this-version'/> - <a href='{if (@single-page) then "single-page.html" else $url}' class='url'><xsl:value-of select='$url'/></a> - </xsl:template> - - <xsl:template match='edit:latestversion'> - <xsl:variable name='href' select='$conf/x:versions/x:latest/@href'/> - <a href='{$href}' class='url'><xsl:value-of select='$href'/></a> - </xsl:template> - - <xsl:template match='edit:includelatesteditorsdraft'> - <xsl:if test='$maturity != "ED"'> - <xsl:variable name='href' select='$conf/x:versions/x:cvs/@href'/> - <dt>Latest editor's draft:</dt> - <dd><a href='{$href}' class='url'><xsl:value-of select='$href'/></a></dd> - </xsl:if> - </xsl:template> - - <xsl:template match='edit:previousversion'> - <xsl:variable name='href' select='$conf/x:versions/x:previous/@href'/> - <a href='{$href}' class='url'><xsl:value-of select='$href'/></a> - </xsl:template> - - <xsl:template match='edit:copyright'> - <p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © <xsl:value-of select='year-from-date($publication-date)'/><xsl:text> </xsl:text><a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p> - </xsl:template> - - <xsl:template match='edit:locallink'> - <xsl:variable name='s' select='resolve-uri(@href, $this-version)'/> - <a href='{$s}'> - <xsl:choose> - <xsl:when test='node()'> - <xsl:apply-templates/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select='$s'/> - </xsl:otherwise> - </xsl:choose> - </a> - </xsl:template> - - <xsl:template match='edit:attributetable'> - <table class='vert property-table' summary='Alphabetic list of attributes'> - <tr> - <th>Attribute</th> - <th>Elements on which the attribute may be specified</th> - <th title="Animatable"><a href="animate.html#Animatable">Anim.</a></th> - </tr> - <xsl:for-each select='$defs//x:attribute'> - <xsl:sort select='@name'/> - <xsl:sort select='@elements'/> - <xsl:choose> - <xsl:when test='../self::x:element'> - <tr> - <td><xsl:copy-of select='x:attribute-link(@name, ../@name, true(), .)'/></td> - <td><xsl:copy-of select='x:element-link(../@name, .)'/></td> - <td><xsl:copy-of select='if (x:lookup-attribute(@name, ../@name, true())/@animatable="yes") then "✓" else ""'/></td> - </tr> - </xsl:when> - <xsl:when test='../self::x:attributecategory'> - <xsl:variable name='attributecategory' select='..'/> - <tr> - <td><xsl:copy-of select='x:attribute-link(@name, $defs/x:element[tokenize(@attributecategories, ", ")=$attributecategory/@name][1]/@name, true(), .)'/></td> - <td> - <xsl:for-each select='$defs/x:element[tokenize(@attributecategories, ", ")=$attributecategory/@name]'> - <xsl:sort select='@name'/> - <xsl:if test='not(position()=1)'>, </xsl:if> - <xsl:copy-of select='x:element-link(@name, .)'/> - </xsl:for-each> - </td> - <td><xsl:copy-of select='if (x:lookup-attribute(@name, $defs/x:element[tokenize(@attributecategories, ", ")=$attributecategory/@name][1]/@name, true())/@animatable="yes") then "✓" else ""'/></td> - </tr> - </xsl:when> - <xsl:otherwise> - <xsl:variable name='attribute-name' select='@name'/> - <xsl:variable name='element-names' select='if (@elements) then tokenize(@elements, ", ") else ../x:element[tokenize(@attributes, ", ") = $attribute-name]/@name'/> - <xsl:variable name='element-name' select='$element-names[1]'/> - <tr> - <td><xsl:copy-of select='x:attribute-link(@name, $element-name, true(), .)'/></td> - <td> - <xsl:for-each select='$element-names'> - <xsl:sort select='.'/> - <xsl:if test='not(position()=1)'>, </xsl:if> - <xsl:copy-of select='x:element-link(., .)'/> - </xsl:for-each> - </td> - <td><xsl:copy-of select='if (x:lookup-attribute(@name, $element-name, true())/@animatable="yes") then "✓" else ""'/></td> - </tr> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - </table> - </xsl:template> - - <xsl:template match='edit:elementindex'> - <ul class='element-index' summary='Alphabetic list of elements'> - <xsl:for-each select='$defs//x:element'> - <xsl:sort select='@name'/> - <li><xsl:copy-of select='x:element-link(@name, .)'/></li> - </xsl:for-each> - </ul> - </xsl:template> - - <xsl:template match='edit:elementcategory'> - <xsl:variable name='elementcategory' select='$defs/x:elementcategory[@name=current()/@name]'/> - <xsl:variable name='all'> - <xsl:perform-sort> - <xsl:sort select='string(.)'/> - <xsl:for-each select='tokenize($elementcategory/@elements, ", ")'> - <xsl:copy-of select='x:element-link(., $elementcategory)'/> - </xsl:for-each> - </xsl:perform-sort> - </xsl:variable> - <xsl:for-each select='$all/*'> - <xsl:if test='position() != 1'> - <xsl:choose> - <xsl:when test='position() = last()'> and </xsl:when> - <xsl:otherwise>, </xsl:otherwise> - </xsl:choose> - </xsl:if> - <xsl:copy-of select='.'/> - </xsl:for-each> - </xsl:template> - - <xsl:template match='edit:attributecategory'> - <xsl:variable name='attributecategory' select='$defs/x:attributecategory[@name=current()/@name]'/> - <xsl:variable name='all'> - <xsl:perform-sort> - <xsl:sort select='string(.)'/> - <xsl:for-each select='tokenize($attributecategory/@presentationattributes, ", ")'> - <xsl:copy-of select='x:presentation-attribute-link(., $attributecategory)'/> - </xsl:for-each> - <xsl:for-each select='tokenize($attributecategory/@attributes, ", ")'> - <xsl:copy-of select='x:attribute-link(., (), true(), $attributecategory)'/> - </xsl:for-each> - <xsl:for-each select='$attributecategory/x:attribute'> - <span class="attr-name"> - <xsl:text>‘</xsl:text> - <a href="{@href}"><span><xsl:value-of select='@name'/></span></a> - <xsl:text>’</xsl:text> - </span> - </xsl:for-each> - </xsl:perform-sort> - </xsl:variable> - <xsl:for-each select='$all/*'> - <xsl:if test='position() != 1'> - <xsl:choose> - <xsl:when test='position() = last()'> and </xsl:when> - <xsl:otherwise>, </xsl:otherwise> - </xsl:choose> - </xsl:if> - <xsl:copy-of select='.'/> - </xsl:for-each> - </xsl:template> - - <xsl:template match='edit:elementswithattributecategory'> - <xsl:variable name='elementswithattributecategory' select='.'/> - <xsl:for-each select='$defs/x:element[tokenize(@attributecategories, ", ") = current()/@name]'> - <xsl:if test='position() != 1'> - <xsl:choose> - <xsl:when test='position() = last()'> and </xsl:when> - <xsl:otherwise>, </xsl:otherwise> - </xsl:choose> - </xsl:if> - <xsl:copy-of select='x:element-link(@name, $elementswithattributecategory)'/> - </xsl:for-each> - </xsl:template> - - <xsl:template match='m:* | svg:*'> - <xsl:copy> - <xsl:copy-of select='@*'/> - <xsl:apply-templates/> - </xsl:copy> - </xsl:template> - - <xsl:template match='*'/> - - - <xsl:function name='x:section-number'> - <xsl:param name='sections'/> - <xsl:param name='section-id'/> - <xsl:variable name='e' select='id($section-id, $sections)'/> - <xsl:if test='$e'> - <xsl:value-of select='$e/@number'/> - </xsl:if> - </xsl:function> - - <xsl:function name='x:section-id' as='xs:string'> - <xsl:param name='headerElement'/> - <xsl:value-of select='if ($headerElement/@id) then $headerElement/@id - else if ($headerElement/a/@id) then $headerElement/a/@id - else if ($headerElement/a/@name) then $headerElement/a/@name - else if ($headerElement/preceding-sibling::a[1]/@id) then $headerElement/preceding-sibling::a[1]/@id - else $headerElement/preceding-sibling::a[1]/@name'/> - </xsl:function> - - <xsl:function name='x:lookup-element' as='element()?'> - <xsl:param name='name'/> - <xsl:copy-of select='$defs/x:element[@name=$name]'/> - </xsl:function> - - <xsl:function name='x:lookup-attribute' as='element()?'> - <xsl:param name='name'/> - <xsl:param name='element-name'/> - <xsl:param name='definitely-attribute'/> - <xsl:variable name='element' select='if ($element-name="") then () else $defs/x:element[@name=$element-name]'/> - <xsl:variable name='attributes' select='($defs/x:attribute[not(@elements) and @name=$name], - if ($element) then ($element/x:attribute[@name=$name], - $defs/x:attributecategory[tokenize($element/@attributecategories, ", ") = @name]/x:attribute[@name=$name], - $defs/x:attribute[@name=$name and tokenize(@elements, ", ") = $element-name]) - else ())'/> - - <xsl:variable name='any-attributes' select='if (not($attributes) and ($definitely-attribute or (not($defs/x:element[@name=$name]) and not($defs/x:property[@name=$name])))) then $defs/(x:attributecategory/x:attribute | x:attribute)[@name=$name] else ()'/> - <xsl:variable name='final-attributes' select='if ($attributes) then $attributes else if (count($any-attributes) = 1) then $any-attributes else ()'/> - <xsl:choose> - <xsl:when test='count($final-attributes) > 1'><x:ambiguous/></xsl:when> - <xsl:when test='count($final-attributes)'><xsl:copy-of select='$final-attributes'/></xsl:when> - </xsl:choose> - </xsl:function> - - <xsl:function name='x:lookup-property' as='element()?'> - <xsl:param name='name'/> - <xsl:copy-of select='$defs/x:property[@name=$name]'/> - </xsl:function> - - <xsl:function name='x:attribute-link' as='element()'> - <xsl:param name='name'/> - <xsl:param name='element'/> - <xsl:param name='prefer-attributes'/> - <xsl:param name='referencing-element'/> - <xsl:variable name='attribute' select='x:lookup-attribute($name, $element, $prefer-attributes)'/> - <xsl:variable name='property' select='if ($prefer-attributes and $attribute) then () else x:lookup-property($name)'/> - <xsl:variable name='title' select='if ($property and not($attribute)) then concat("Presentation attribute for property ‘", $name, "’") else ""'/> - <xsl:variable name='x' select='($attribute, $property)[1]'/> - <xsl:choose> - <xsl:when test='$x/self::x:ambiguous'> - <xsl:message>Ambiguous attribute "<xsl:value-of select='$name'/>" at <xsl:value-of select="concat(base-uri($referencing-element), ' line ', saxon:line-number())"/>.</xsl:message> - <a href='data:,' style='background: red; color: white'>@@ ambiguous attribute '<xsl:value-of select='$name'/>'</a> - </xsl:when> - <xsl:when test='$x'> - <span class="attr-name"> - <xsl:text>‘</xsl:text> - <a href='{$x/@href}'> - <xsl:if test='$title != ""'> - <xsl:attribute name='title'><xsl:value-of select='$title'/></xsl:attribute> - </xsl:if> - <span><xsl:value-of select='$name'/></span> - </a> - <xsl:text>’</xsl:text> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:message>Unknown attribute "<xsl:value-of select='$name'/>" at <xsl:value-of select="concat(base-uri($referencing-element), ' line ', saxon:line-number())"/>.</xsl:message> - <a href='data:,' style='background: red; color: white'>@@ unknown attribute '<xsl:value-of select='$name'/>'</a> - </xsl:otherwise> - </xsl:choose> - </xsl:function> - - <xsl:function name='x:element-link' as='element()'> - <xsl:param name='name'/> - <xsl:param name='referencing-element'/> - <xsl:variable name='element' select='x:lookup-element($name)'/> - <xsl:choose> - <xsl:when test='$element/self::x:ambiguous'> - <xsl:message>Ambiguous element "<xsl:value-of select='$name'/>" at <xsl:value-of select="concat(base-uri($referencing-element), ' line ', saxon:line-number())"/>.</xsl:message> - <a href='data:,' style='background: red; color: white'>@@ ambiguous element '<xsl:value-of select='$name'/>'</a> - </xsl:when> - <xsl:when test='$element'> - <span class="element-name"> - <xsl:text>‘</xsl:text> - <a href='{$element/@href}'><span><xsl:value-of select='$name'/></span></a> - <xsl:text>’</xsl:text> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:message>Unknown element "<xsl:value-of select='$name'/>" at <xsl:value-of select="concat(base-uri($referencing-element), ' line ', saxon:line-number())"/>.</xsl:message> - <a href='data:,' style='background: red; color: white'>@@ unknown element '<xsl:value-of select='$name'/>'</a> - </xsl:otherwise> - </xsl:choose> - </xsl:function> - - <xsl:function name='x:property-link' as='node()*'> - <xsl:param name='name'/> - <xsl:param name='referencing-element'/> - <xsl:variable name='property' select='x:lookup-property($name)'/> - <xsl:choose> - <xsl:when test='$property'> - <xsl:text>‘</xsl:text> - <a href='{$property/@href}'><code class='property'><xsl:value-of select='$name'/></code></a> - <xsl:text>’</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:message>Unknown property "<xsl:value-of select='$name'/>" at <xsl:value-of select="concat(base-uri($referencing-element), ' line ', saxon:line-number())"/>.</xsl:message> - <a href='data:,' style='background: red; color: white'>@@ unknown property '<xsl:value-of select='$name'/>'</a> - </xsl:otherwise> - </xsl:choose> - </xsl:function> - - <xsl:function name='x:presentation-attribute-link' as='element()'> - <xsl:param name='name'/> - <xsl:param name='referencing-element'/> - <xsl:variable name='property' select='x:lookup-property($name)'/> - <xsl:choose> - <xsl:when test='$property'> - <span class="attr-name"> - <xsl:text>‘</xsl:text> - <a href='{$property/@href}'> - <span title='Presentation attribute for property €˜{$name}€™'> - <xsl:value-of select='$name'/> - </span> - </a> - <xsl:text>’</xsl:text> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:message>Presentation attribute for unknown property "<xsl:value-of select='$name'/>" at <xsl:value-of select="concat(base-uri($referencing-element), ' line ', saxon:line-number())"/>.</xsl:message> - <a href='data:,' style='background: red; color: white'>@@ presentation attribute for unknown property '<xsl:value-of select='$name'/>'</a> - </xsl:otherwise> - </xsl:choose> - </xsl:function> - - <xsl:function name='x:symbol-link' as='element()'> - <xsl:param name='name'/> - <xsl:param name='referencing-element'/> - <xsl:variable name='symbol' select='$defs/x:symbol[@name=$name]'/> - <xsl:choose> - <xsl:when test='not($symbol)'> - <xsl:message>Unknown grammar symbol "<xsl:value-of select='$name'/>" at <xsl:value-of select="concat(base-uri($referencing-element), ' line ', saxon:line-number())"/>.</xsl:message> - <a href='data:,' style='background: red; color: white'>@@ unknown symbol '<xsl:value-of select='$name'/>'</a> - </xsl:when> - <xsl:otherwise> - <a href='{$symbol/@href}'><<xsl:value-of select='$name'/>></a> - </xsl:otherwise> - </xsl:choose> - </xsl:function> - - <xsl:function name='x:name-link' as='node()*'> - <xsl:param name='name'/> - <xsl:param name='context-element'/> - <xsl:param name='referencing-element'/> - <xsl:variable name='element' select='x:lookup-element($name)'/> - <xsl:variable name='attribute' select='x:lookup-attribute($name, $context-element, false())'/> - <xsl:variable name='property' select='x:lookup-property($name)'/> - <xsl:variable name='all' select='($element, $property, $attribute)'/> - <xsl:choose> - <xsl:when test='$all/self::x:ambiguous or count($all) > 1'> - <xsl:message>Ambiguous name "<xsl:value-of select='$name'/>" at <xsl:value-of select="concat(base-uri($referencing-element), ' line ', saxon:line-number())"/>.</xsl:message> - <a href='data:,' style='background: red; color: white'>@@ ambiguous name '<xsl:value-of select='$name'/>'</a> - </xsl:when> - <xsl:when test='not($all)'> - <xsl:message>Unknown name "<xsl:value-of select='$name'/>" at <xsl:value-of select="concat(base-uri($referencing-element), ' line ', saxon:line-number())"/>.</xsl:message> - <a href='data:,' style='background: red; color: white'>@@ unknown name '<xsl:value-of select='$name'/>'</a> - </xsl:when> - <xsl:when test='$property'> - <xsl:text>‘</xsl:text> - <a href='{$property/@href}'><code class='property'><xsl:value-of select='$name'/></code></a> - <xsl:text>’</xsl:text> - </xsl:when> - <xsl:otherwise> - <span class='{if ($element) then "element-name" else "attr-name"}'> - <xsl:text>‘</xsl:text> - <a href='{$all/@href}'><span><xsl:value-of select='$name'/></span></a> - <xsl:text>’</xsl:text> - </span> - </xsl:otherwise> - </xsl:choose> - </xsl:function> - - <xsl:function name='x:interface-link' as='element()'> - <xsl:param name='name'/> - <xsl:param name='referencing-element'/> - <xsl:variable name='interface' select='$defs/x:interface[@name=$name]'/> - <xsl:choose> - <xsl:when test='$interface'> - <a class='idlinterface' href='{$interface/@href}'> - <xsl:value-of select='$name'/> - </a> - </xsl:when> - <xsl:otherwise> - <xsl:message>Unknown interface "<xsl:value-of select='$name'/>" at <xsl:value-of select="concat(base-uri($referencing-element), ' line ', saxon:line-number())"/>.</xsl:message> - <a href='data:,' style='background: red; color: white'>@@ unknown interface '<xsl:value-of select='$name'/>'</a> - </xsl:otherwise> - </xsl:choose> - </xsl:function> - - <xsl:key name='key-element' match='x:element' use='@name'/> - <xsl:key name='key-elementcategory' match='x:elementcategory' use='@name'/> - <xsl:key name='key-attribute' match='x:definitions/x:attribute' use='@name'/> - <xsl:key name='key-attributecategory' match='x:attributecategory' use='@name'/> - <xsl:key name='key-property' match='x:property' use='@name'/> - <xsl:key name='key-interface' match='x:interface' use='@name'/> - <xsl:key name='key-symbol' match='x:symbol' use='@name'/> - <xsl:key name='key-term' match='x:term' use='@name'/> - - <xsl:function name='x:collate-defs' as='node()'> - <xsl:param name='currentdoc' as='node()'/> - <xsl:param name='resultdoc' as='node()'/> - <xsl:param name='base'/> - <xsl:variable name='newresultdoc'> - <xsl:document> - <x:definitions> - <xsl:copy-of select='$resultdoc/*/*'/> - <xsl:for-each select='$currentdoc/*/*[not(self::x:import) and not(key(concat("key-", local-name(.)), @name, $resultdoc))]'> - <xsl:copy> - <xsl:copy-of select='@*[local-name() != "href" and namespace-uri() = ""]'/> - <xsl:if test='@href'> - <xsl:attribute name='href' select='if ($base = "") then @href else resolve-uri(@href, $base)'/> - </xsl:if> - <xsl:copy-of select='node()'/> - </xsl:copy> - </xsl:for-each> - </x:definitions> - </xsl:document> - </xsl:variable> - <xsl:copy-of select='x:collate-defs-import($newresultdoc, $currentdoc/*/x:import)'/> - </xsl:function> - - <xsl:function name='x:collate-defs-import' as='node()'> - <xsl:param name='currentdoc' as='node()'/> - <xsl:param name='imports' as='element()*'/> - <xsl:choose> - <xsl:when test='$imports'> - <xsl:copy-of select='x:collate-defs-import(x:collate-defs(document($imports[1]/@definitions), - $currentdoc, - if ($maturity = "ED" and $imports[1]/@cvs-href) then $imports[1]/@cvs-href else $imports[1]/@href), subsequence($imports, 2))'/> - </xsl:when> - <xsl:otherwise> - <xsl:copy-of select='$currentdoc'/> - </xsl:otherwise> - </xsl:choose> - </xsl:function> -</xsl:stylesheet> diff --git a/saxonb/doc/img/saxonica_logo.gif b/saxonb/doc/img/saxonica_logo.gif deleted file mode 100644 Binary file saxonb/doc/img/saxonica_logo.gif has changed diff --git a/saxonb/doc/index.html b/saxonb/doc/index.html deleted file mode 100644 --- a/saxonb/doc/index.html +++ /dev/null @@ -1,56 +0,0 @@ -<!DOCTYPE html - PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <title>Saxonica: XSLT and XQuery Processing: Welcome</title> - <meta name="coverage" content="Worldwide"> - <meta name="copyright" content="Copyright Saxonica Ltd"> - <meta name="title" content="Saxonica: XSLT and XQuery Processing: About Saxon"> - <meta name="robots" content="noindex,nofollow"> - <link rel="stylesheet" href="saxondocs.css" type="text/css"> - </head> - <body class="main"> - <div id="rhDkBlueArea" style="position:absolute; width:123px; height:800px; z-index:2; right: 0px; top: 0px; border: 1px none #000000; background-color: #C1CEDE; layer-background-color: #C1CEDE; visibility: visible;"></div> - <div id="rhMdBlueArea" style="position:absolute; width:217px; height:800px; z-index:2; right: 340px; top: 0px; border: 1px none #000000; background-color: #E4EEF0; layer-background-color: #E4EEF0; visibility: visible;"></div> - <div id="lhLightArea" style="position:absolute; width:34px; height:800px; z-index:2; left: 66px; top: 0px; border: 1px none #000000; background-color: #f6fffb; layer-background-color: #E4EEF0; visibility: visible;"></div> - <div id="lhDkBlueArea" style="position:absolute; width:66px; height:800px; z-index:2; left: 0px; top: 0px; border: 1px none #000000; background-color: #C1CEDE; layer-background-color: #C1CEDE; visibility: visible;"></div> - <div id="LogoArea" style="position:absolute; width:340px; height:72px; z-index:3; right: 0px; top: 0px; border: 1px none #000000; visibility: visible;"><a href="http://www.saxonica.com/"><img src="img/saxonica_logo.gif" width="340" height="72" border="0" alt="Saxonica.com"></a></div> - - <div id="MainTextArea" style="position:absolute; height:100%; z-index:5; left: 130px; right: 260px; top: 110px; border: 1px none #000000; visibility: visible;"> - <h1>Welcome to Saxon</h1> - - - <p class="subhead">Online Documentation</p> - - <p>Saxon documentation for the current release is available online:</p> - - <ul> - <li><p><a href="http://www.saxonica.com/documentation/documentation.html" class="bodylink">Saxon Documentation</a></p></li> - - <li><p><a href="http://www.saxonica.com/documentation/javadoc/index.html" class="bodylink">Javadoc API Documentation</a></p></li> - - <li><p><a href="http://www.saxonica.com/documentation/dotnetdoc/index.html" class="bodylink">.NET API Documentation</a></p></li> - </ul> - - - <p class="subhead">Downloads</p> - - <p>Saxon documentation, together with source code and sample applications - can also be downloaded, both for the current release and for earlier releases. - </p> - - <p>The same file <code>saxon-resources8-N.zip</code> covers both Saxon products - (Saxon-B and Saxon-SA), and both platforms (Java and .NET).</p> - - <p>The file also contains sample applications and Saxon-B source code.</p> - - - <ul> - <li><p><a class="bodylink" href="http://sourceforge.net/project/showfiles.php?group_id=29872">Saxon-B downloads at SourceForge</a></li> - <li><p><a class="bodylink" href="http://www.saxonica.com/">Saxon-SA downloads at www.saxonica.com</a></li> - </ul> - - </div> - </body> -</html> \ No newline at end of file diff --git a/saxonb/doc/saxondocs.css b/saxonb/doc/saxondocs.css deleted file mode 100644 --- a/saxonb/doc/saxondocs.css +++ /dev/null @@ -1,228 +0,0 @@ - - -/* -Text blue: #3D5B96 -Dark blue: #c1cede -Mid blue: #e4eef0 -Light blue: #f6fffb -mid green #B1CCC7 -rust #96433D -*/ - -/* used for frameset holders */ -.bgnd { - margin-top:0; - margin-left:0; - background: #f6fffb; - } - -/* used for menu */ - -.menu { - background: #f6fffb; - margin-top:20; - margin-left:40; - SCROLLBAR-FACE-COLOR: #c1cede; - SCROLLBAR-HIGHLIGHT-COLOR: #e4eef0; - SCROLLBAR-SHADOW-COLOR: #e4eef0; - SCROLLBAR-ARROW-COLOR: #f6fffb; - SCROLLBAR-BASE-COLOR: #e4eef0; -} - -/* used for content pages */ - -.main { - background: #e4eef0; - margin-top:10px; - margin-left:5px; - margin-right:5px; - margin-bottom:20px; - SCROLLBAR-FACE-COLOR: #c1cede; - SCROLLBAR-HIGHLIGHT-COLOR: #e4eef0; - SCROLLBAR-SHADOW-COLOR: #e4eef0; - SCROLLBAR-ARROW-COLOR: #f6fffb; - SCROLLBAR-BASE-COLOR: #e4eef0; -} - -/* used for menu links */ - -a { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 8pt; - font-style:normal; - color: #3D5B96; - font-weight: normal; - text-decoration: none; -} - -/* used for in body links */ - -a.bodylink { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 9pt; - font-style:normal; - color: #3D5B96; - font-weight: normal; - text-decoration: underline; -} - -/* used for table of contents level 1 */ - -a.toc1 { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 12pt; - font-style:normal; - color: #3D5B96; - font-weight: bold; - text-decoration: none; -} - -/* used for table of contents level 2 */ - -a.toc2 { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 10pt; - font-style:normal; - color: #3D5B96; - font-weight: normal; - text-decoration: none; -} - -/* used for menu heading */ -.title { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 10pt; - font-style:normal; - color: #3D5B96; - font-weight: bold; - text-decoration: none; - line-height: 1.3em; -} - -/* used for main page headings */ - - -h1 { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 14pt; - font-style: normal; - color: #3D5B96; - font-weight: bold; - text-decoration: none; - } - -/* used for subheads in pref. to H2 etc, to limit underlining width */ - -.subhead { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 10pt; - font-style: normal; - color: #3D5B96; - font-weight: bold; - text-decoration: none; - border-bottom : thin dashed #3D5B96; - padding-right : 5px; -} - -/* used for standard text */ - -p { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 9pt; - font-style: normal; - color: #3D5B96; - font-weight: normal; - text-decoration: none; - line-height: 1.3em; - padding-right:15px; -} - -code { - font-family: lucida sans typewriter, courier, monospace; - font-size: 8pt; - font-style: normal; - font-weight: normal; - text-decoration: none; - line-height: 1.3em; -} - -ul { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 9pt; - font-style: normal; - color: #3D5B96; - font-weight: normal; - text-decoration: none; -} - -li { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 9pt; - font-style: normal; - color: #3D5B96; - font-weight: normal; - -} - -/* used for text in boxed areas */ - -.boxed { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 8pt; - font-style: normal; - color: #96433D; - font-weight: bold; - text-decoration: none; - margin-top:5px; - margin-bottom:5px; -} - -/* used for example code */ - -.codeblock { - background: #B1CCC7; - /*background: #e4eef0;*/ - font-family: lucida sans typewriter, courier, monospace; - font-size: 8pt; - font-style: normal; - color: #96433D; - font-weight: normal; - text-decoration: none; - padding-right:15px; -} - -/* used for example commands */ - -.command { - font-size: 8pt; - font-style: normal; - color: #96433D; - font-weight: bold; - text-decoration: none; - padding-right:15px; -} - - - -/* used for links in boxed areas */ - -a.rust { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 8pt; - font-style:normal; - color: #96433D; - font-weight: bold; - text-decoration: underline; -} - -/* used for links at the end of a page */ - -a.nav { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 8pt; - font-style:normal; - color: #96433D; - font-weight: bold; -} - - diff --git a/saxonb/notices/APACHE.txt b/saxonb/notices/APACHE.txt deleted file mode 100644 --- a/saxonb/notices/APACHE.txt +++ /dev/null @@ -1,13 +0,0 @@ -Apache Ant -Copyright 1999-2006 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - -This product includes also software developed by : - - the W3C consortium (http://www.w3c.org) , - - the SAX project (http://www.saxproject.org) - -The <sync> task is based on code Copyright (c) 2002, Landmark -Graphics Corp that has been kindly donated to the Apache Software -Foundation. diff --git a/saxonb/notices/CERN.txt b/saxonb/notices/CERN.txt deleted file mode 100644 --- a/saxonb/notices/CERN.txt +++ /dev/null @@ -1,7 +0,0 @@ -Copyright 1999 CERN - European Organization for Nuclear Research.<br/><br/> - -Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose -is hereby granted without fee, provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear in supporting documentation. -CERN makes no representations about the suitability of this software for any purpose. -It is provided "as is" without expressed or implied warranty. \ No newline at end of file diff --git a/saxonb/notices/FRIJTERS.txt b/saxonb/notices/FRIJTERS.txt deleted file mode 100644 --- a/saxonb/notices/FRIJTERS.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (C) 2002-2007 Jeroen Frijters - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source distribution. - - Jeroen Frijters - jeroen@frijters.net diff --git a/saxonb/notices/GPL+CLASSPATH.txt b/saxonb/notices/GPL+CLASSPATH.txt deleted file mode 100644 --- a/saxonb/notices/GPL+CLASSPATH.txt +++ /dev/null @@ -1,347 +0,0 @@ -The GNU General Public License (GPL) - -Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc. -59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Everyone is permitted to copy and distribute verbatim copies of this license -document, but changing it is not allowed. - -Preamble - -The licenses for most software are designed to take away your freedom to share -and change it. By contrast, the GNU General Public License is intended to -guarantee your freedom to share and change free software--to make sure the -software is free for all its users. This General Public License applies to -most of the Free Software Foundation's software and to any other program whose -authors commit to using it. (Some other Free Software Foundation software is -covered by the GNU Library General Public License instead.) You can apply it to -your programs, too. - -When we speak of free software, we are referring to freedom, not price. Our -General Public Licenses are designed to make sure that you have the freedom to -distribute copies of free software (and charge for this service if you wish), -that you receive source code or can get it if you want it, that you can change -the software or use pieces of it in new free programs; and that you know you -can do these things. - -To protect your rights, we need to make restrictions that forbid anyone to deny -you these rights or to ask you to surrender the rights. These restrictions -translate to certain responsibilities for you if you distribute copies of the -software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis or for -a fee, you must give the recipients all the rights that you have. You must -make sure that they, too, receive or can get the source code. And you must -show them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and (2) -offer you this license which gives you legal permission to copy, distribute -and/or modify the software. - -Also, for each author's protection and ours, we want to make certain that -everyone understands that there is no warranty for this free software. If the -software is modified by someone else and passed on, we want its recipients to -know that what they have is not the original, so that any problems introduced -by others will not reflect on the original authors' reputations. - -Finally, any free program is threatened constantly by software patents. We -wish to avoid the danger that redistributors of a free program will -individually obtain patent licenses, in effect making the program proprietary. -To prevent this, we have made it clear that any patent must be licensed for -everyone's free use or not licensed at all. - -The precise terms and conditions for copying, distribution and modification -follow. - -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. This License applies to any program or other work which contains a notice -placed by the copyright holder saying it may be distributed under the terms of -this General Public License. The "Program", below, refers to any such program -or work, and a "work based on the Program" means either the Program or any -derivative work under copyright law: that is to say, a work containing the -Program or a portion of it, either verbatim or with modifications and/or -translated into another language. (Hereinafter, translation is included -without limitation in the term "modification".) Each licensee is addressed as -"you". - -Activities other than copying, distribution and modification are not covered by -this License; they are outside its scope. The act of running the Program is -not restricted, and the output from the Program is covered only if its contents -constitute a work based on the Program (independent of having been made by -running the Program). Whether that is true depends on what the Program does. - -1. You may copy and distribute verbatim copies of the Program's source code as -you receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice and -disclaimer of warranty; keep intact all the notices that refer to this License -and to the absence of any warranty; and give any other recipients of the -Program a copy of this License along with the Program. - -You may charge a fee for the physical act of transferring a copy, and you may -at your option offer warranty protection in exchange for a fee. - -2. You may modify your copy or copies of the Program or any portion of it, thus -forming a work based on the Program, and copy and distribute such modifications -or work under the terms of Section 1 above, provided that you also meet all of -these conditions: - - a) You must cause the modified files to carry prominent notices stating - that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in whole or - in part contains or is derived from the Program or any part thereof, to be - licensed as a whole at no charge to all third parties under the terms of - this License. - - c) If the modified program normally reads commands interactively when run, - you must cause it, when started running for such interactive use in the - most ordinary way, to print or display an announcement including an - appropriate copyright notice and a notice that there is no warranty (or - else, saying that you provide a warranty) and that users may redistribute - the program under these conditions, and telling the user how to view a copy - of this License. (Exception: if the Program itself is interactive but does - not normally print such an announcement, your work based on the Program is - not required to print an announcement.) - -These requirements apply to the modified work as a whole. If identifiable -sections of that work are not derived from the Program, and can be reasonably -considered independent and separate works in themselves, then this License, and -its terms, do not apply to those sections when you distribute them as separate -works. But when you distribute the same sections as part of a whole which is a -work based on the Program, the distribution of the whole must be on the terms -of this License, whose permissions for other licensees extend to the entire -whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest your -rights to work written entirely by you; rather, the intent is to exercise the -right to control the distribution of derivative or collective works based on -the Program. - -In addition, mere aggregation of another work not based on the Program with the -Program (or with a work based on the Program) on a volume of a storage or -distribution medium does not bring the other work under the scope of this -License. - -3. You may copy and distribute the Program (or a work based on it, under -Section 2) in object code or executable form under the terms of Sections 1 and -2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable source - code, which must be distributed under the terms of Sections 1 and 2 above - on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three years, to - give any third party, for a charge no more than your cost of physically - performing source distribution, a complete machine-readable copy of the - corresponding source code, to be distributed under the terms of Sections 1 - and 2 above on a medium customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer to - distribute corresponding source code. (This alternative is allowed only - for noncommercial distribution and only if you received the program in - object code or executable form with such an offer, in accord with - Subsection b above.) - -The source code for a work means the preferred form of the work for making -modifications to it. For an executable work, complete source code means all -the source code for all modules it contains, plus any associated interface -definition files, plus the scripts used to control compilation and installation -of the executable. However, as a special exception, the source code -distributed need not include anything that is normally distributed (in either -source or binary form) with the major components (compiler, kernel, and so on) -of the operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the source -code from the same place counts as distribution of the source code, even though -third parties are not compelled to copy the source along with the object code. - -4. You may not copy, modify, sublicense, or distribute the Program except as -expressly provided under this License. Any attempt otherwise to copy, modify, -sublicense or distribute the Program is void, and will automatically terminate -your rights under this License. However, parties who have received copies, or -rights, from you under this License will not have their licenses terminated so -long as such parties remain in full compliance. - -5. You are not required to accept this License, since you have not signed it. -However, nothing else grants you permission to modify or distribute the Program -or its derivative works. These actions are prohibited by law if you do not -accept this License. Therefore, by modifying or distributing the Program (or -any work based on the Program), you indicate your acceptance of this License to -do so, and all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - -6. Each time you redistribute the Program (or any work based on the Program), -the recipient automatically receives a license from the original licensor to -copy, distribute or modify the Program subject to these terms and conditions. -You may not impose any further restrictions on the recipients' exercise of the -rights granted herein. You are not responsible for enforcing compliance by -third parties to this License. - -7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), conditions -are imposed on you (whether by court order, agreement or otherwise) that -contradict the conditions of this License, they do not excuse you from the -conditions of this License. If you cannot distribute so as to satisfy -simultaneously your obligations under this License and any other pertinent -obligations, then as a consequence you may not distribute the Program at all. -For example, if a patent license would not permit royalty-free redistribution -of the Program by all those who receive copies directly or indirectly through -you, then the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply and -the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any patents or -other property right claims or to contest validity of any such claims; this -section has the sole purpose of protecting the integrity of the free software -distribution system, which is implemented by public license practices. Many -people have made generous contributions to the wide range of software -distributed through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing to -distribute software through any other system and a licensee cannot impose that -choice. - -This section is intended to make thoroughly clear what is believed to be a -consequence of the rest of this License. - -8. If the distribution and/or use of the Program is restricted in certain -countries either by patents or by copyrighted interfaces, the original -copyright holder who places the Program under this License may add an explicit -geographical distribution limitation excluding those countries, so that -distribution is permitted only in or among countries not thus excluded. In -such case, this License incorporates the limitation as if written in the body -of this License. - -9. The Free Software Foundation may publish revised and/or new versions of the -General Public License from time to time. Such new versions will be similar in -spirit to the present version, but may differ in detail to address new problems -or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any later -version", you have the option of following the terms and conditions either of -that version or of any later version published by the Free Software Foundation. -If the Program does not specify a version number of this License, you may -choose any version ever published by the Free Software Foundation. - -10. If you wish to incorporate parts of the Program into other free programs -whose distribution conditions are different, write to the author to ask for -permission. For software which is copyrighted by the Free Software Foundation, -write to the Free Software Foundation; we sometimes make exceptions for this. -Our decision will be guided by the two goals of preserving the free status of -all derivatives of our free software and of promoting the sharing and reuse of -software generally. - -NO WARRANTY - -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR -THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE -STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE -PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND -PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, -YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL -ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE -PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR -INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA -BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER -OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -END OF TERMS AND CONDITIONS - -How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest possible -use to the public, the best way to achieve this is to make it free software -which everyone can redistribute and change under these terms. - -To do so, attach the following notices to the program. It is safest to attach -them to the start of each source file to most effectively convey the exclusion -of warranty; and each file should have at least the "copyright" line and a -pointer to where the full notice is found. - - One line to give the program's name and a brief idea of what it does. - - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., 59 - Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this when it -starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author Gnomovision comes - with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free - software, and you are welcome to redistribute it under certain conditions; - type 'show c' for details. - -The hypothetical commands 'show w' and 'show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may be -called something other than 'show w' and 'show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your school, -if any, to sign a "copyright disclaimer" for the program, if necessary. Here -is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - 'Gnomovision' (which makes passes at compilers) written by James Hacker. - - signature of Ty Coon, 1 April 1989 - - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General Public -License instead of this License. - - -"CLASSPATH" EXCEPTION TO THE GPL - -Certain source files distributed by Sun Microsystems, Inc. are subject to -the following clarification and special exception to the GPL, but only where -Sun has expressly included in the particular source file's header the words -"Sun designates this particular file as subject to the "Classpath" exception -as provided by Sun in the LICENSE file that accompanied this code." - - Linking this library statically or dynamically with other modules is making - a combined work based on this library. Thus, the terms and conditions of - the GNU General Public License cover the whole combination. - - As a special exception, the copyright holders of this library give you - permission to link this library with independent modules to produce an - executable, regardless of the license terms of these independent modules, - and to copy and distribute the resulting executable under terms of your - choice, provided that you also meet, for each linked independent module, - the terms and conditions of the license of that module. An independent - module is a module which is not derived from or based on this library. If - you modify this library, you may extend this exception to your version of - the library, but you are not obligated to do so. If you do not wish to do - so, delete this exception statement from your version. diff --git a/saxonb/notices/JAMESCLARK.txt b/saxonb/notices/JAMESCLARK.txt deleted file mode 100644 --- a/saxonb/notices/JAMESCLARK.txt +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 1998, 1999 James Clark - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL JAMES CLARK BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of James Clark shall -not be used in advertising or otherwise to promote the sale, use or -other dealings in this Software without prior written authorization -from James Clark. diff --git a/saxonb/notices/LEGAL.txt b/saxonb/notices/LEGAL.txt deleted file mode 100644 --- a/saxonb/notices/LEGAL.txt +++ /dev/null @@ -1,33 +0,0 @@ -LEGAL NOTICE - -This notice is issued to fulfil the requirements of the Mozilla Public License version 1.0 ("MPL 1.0") -sections 3.4(a) and 3.6. MPL 1.0 can be found at http://www.mozilla.org/MPL/MPL-1.0.html. - -Section 3.4(a) of MPL 1.0 states that any third party intellectual property rights in particular -functionality or code must be notified in a text file named LEGAL that is issued with the source code. Saxon -includes a number of such third party components, and the relevant claims are included in notices included -in the same directory as this notice. Although MPL 1.0 requires this notice to be included only with source -code, some of the third parties may also require notices to be included with executable code. Therefore, Saxon -executable code must not be distributed separately from this notice and all the accompanying third -party notices. The term "Distribution" here includes making the code available for download, and its -inclusion in download repositories such as Maven. - -Section 3.6 of MPL 1.0 states: - -You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have -been met for that Covered Code, and if You include a notice stating that the Source Code version of -the Covered Code is available under the terms of this License, including a description of how and -where You have fulfilled the obligations of Section 3.2. - -Section 3.2 requires the Source Code of Covered Code to be made available via an accepted Electronic -Distribution Mechanism. - -The Source Code version of the Covered Code (that is, the source code of Saxon-B) is available under the -terms of the Mozilla Public License version 1.0, and may be obtained from the Subversion repository -for the Saxon project on SourceForge, at https://sourceforge.net/svn/?group_id=29872. -The precise version of the Subversion source for a particular Saxon maintenance release can be -determined by referring to the release notes for the particular release in the SourceForge download area. - -Note that MPL 1.0 requires that any modifications to this source code must be made available under the terms -of the MPL "to anyone to whom you made an executable version available". As a courtesy, it is also requested -that you make such modifications available to Saxonica Limited. \ No newline at end of file diff --git a/saxonb/notices/LICENSE.txt b/saxonb/notices/LICENSE.txt deleted file mode 100644 --- a/saxonb/notices/LICENSE.txt +++ /dev/null @@ -1,15 +0,0 @@ -The contents of these file are subject to the Mozilla Public License Version 1.0 (the "License"); -you may not use these files except in compliance with the License. You may obtain a copy of the -License at http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the -specific language governing rights and limitations under the License. - -The Original Code is all Saxon modules labelled with a notice referring to this license. - -The Initial Developer of the Original Code is Michael Kay, except where otherwise specified in an individual module. - -Portions created by other named contributors are copyright as identified in the relevant module. All Rights Reserved. - -Contributor(s) are listed in the documentation: see notices/contributors. \ No newline at end of file diff --git a/saxonb/notices/THAI.txt b/saxonb/notices/THAI.txt deleted file mode 100644 --- a/saxonb/notices/THAI.txt +++ /dev/null @@ -1,31 +0,0 @@ -Copyright (c) 2001-2003 Thai Open Source Software Center Ltd -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - Neither the name of the Thai Open Source Software Center Ltd nor - the names of its contributors may be used to endorse or promote - products derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/saxonb/notices/UNICODE.txt b/saxonb/notices/UNICODE.txt deleted file mode 100644 --- a/saxonb/notices/UNICODE.txt +++ /dev/null @@ -1,29 +0,0 @@ -COPYRIGHT AND PERMISSION NOTICE -Copyright 1991-2007 Unicode, Inc. All rights reserved. Distributed under the Terms of Use -in http://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode -data files and any associated documentation (the "Data Files") or Unicode software and any -associated documentation (the "Software") to deal in the Data Files or Software without -restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, -and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or -Software are furnished to do so, provided that (a) the above copyright notice(s) and this -permission notice appear with all copies of the Data Files or Software, (b) both the above -copyright notice(s) and this permission notice appear in associated documentation, and -(c) there is clear notice in each modified Data File or in the Software as well as in the -documentation associated with the Data File(s) or Software that the data or software has -been modified. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall not be used -in advertising or otherwise to promote the sale, use or other dealings in these -Data Files or Software without prior written authorization of the copyright holder. diff --git a/saxonb/saxon9-dom.jar b/saxonb/saxon9-dom.jar deleted file mode 100644 Binary file saxonb/saxon9-dom.jar has changed diff --git a/saxonb/saxon9-dom4j.jar b/saxonb/saxon9-dom4j.jar deleted file mode 100644 Binary file saxonb/saxon9-dom4j.jar has changed diff --git a/saxonb/saxon9-jdom.jar b/saxonb/saxon9-jdom.jar deleted file mode 100644 Binary file saxonb/saxon9-jdom.jar has changed diff --git a/saxonb/saxon9-s9api.jar b/saxonb/saxon9-s9api.jar deleted file mode 100644 Binary file saxonb/saxon9-s9api.jar has changed diff --git a/saxonb/saxon9-sql.jar b/saxonb/saxon9-sql.jar deleted file mode 100644 Binary file saxonb/saxon9-sql.jar has changed diff --git a/saxonb/saxon9-xom.jar b/saxonb/saxon9-xom.jar deleted file mode 100644 Binary file saxonb/saxon9-xom.jar has changed diff --git a/saxonb/saxon9-xpath.jar b/saxonb/saxon9-xpath.jar deleted file mode 100644 Binary file saxonb/saxon9-xpath.jar has changed diff --git a/saxonb/saxon9-xqj.jar b/saxonb/saxon9-xqj.jar deleted file mode 100644 Binary file saxonb/saxon9-xqj.jar has changed diff --git a/saxonb/saxon9.jar b/saxonb/saxon9.jar deleted file mode 100644 Binary file saxonb/saxon9.jar has changed
Received on Tuesday, 21 August 2012 05:07:07 UTC