From d761aedcd997e05e80a565b92729a047244c7782 Mon Sep 17 00:00:00 2001 From: Norman Walsh Date: Sun, 15 Apr 2001 19:52:27 +0000 Subject: [PATCH] Initial checkin of V1.10 sources --- website/README | 125 ++++ website/VERSION | 1 + website/example/Makefile | 26 + website/example/about.xml | 40 ++ website/example/bookmark/bookmark.xml | 12 + website/example/bookmark/catalog | 1 + website/example/bookmark/xml.dcl | 179 +++++ website/example/dynxbel.js | 8 + website/example/example.css | 46 ++ website/example/graphics/banner.png | Bin 0 -> 1943 bytes website/example/graphics/homebanner.png | Bin 0 -> 2318 bytes website/example/graphics/icons/iconat.gif | Bin 0 -> 925 bytes website/example/graphics/icons/iconhome.gif | Bin 0 -> 1060 bytes .../graphics/icons/iconsmallrightarrow.gif | Bin 0 -> 837 bytes website/example/subdir/.cvskeepemptydir | 0 website/example/test1.xml | 13 + website/example/test1a.xml | 16 + website/example/test1b.xml | 11 + website/example/test2.xml | 21 + website/example/test3.xml | 23 + website/example/website.xml | 159 +++++ website/forms.mod | 129 ++++ website/website.dtd | 106 +++ website/xsl/VERSION | 5 + website/xsl/chunk-tabular.xsl | 268 +++++++ website/xsl/chunk-website-common.xsl | 197 ++++++ website/xsl/chunk-website.xsl | 19 + website/xsl/chunk.xml | 81 +++ website/xsl/chunklib.pl | 78 +++ website/xsl/chunktab.xml | 93 +++ website/xsl/head.xsl | 156 +++++ website/xsl/hrefencode.pl | 43 ++ website/xsl/tabular.xsl | 514 ++++++++++++++ website/xsl/website.xsl | 658 ++++++++++++++++++ website/xsl/xbel.xsl | 107 +++ website/xsl/xtchunk-tabular.xsl | 268 +++++++ website/xsl/xtchunk-website.xsl | 19 + 37 files changed, 3422 insertions(+) create mode 100644 website/README create mode 100644 website/VERSION create mode 100644 website/example/Makefile create mode 100644 website/example/about.xml create mode 100644 website/example/bookmark/bookmark.xml create mode 100644 website/example/bookmark/catalog create mode 100644 website/example/bookmark/xml.dcl create mode 100644 website/example/dynxbel.js create mode 100644 website/example/example.css create mode 100644 website/example/graphics/banner.png create mode 100644 website/example/graphics/homebanner.png create mode 100644 website/example/graphics/icons/iconat.gif create mode 100644 website/example/graphics/icons/iconhome.gif create mode 100644 website/example/graphics/icons/iconsmallrightarrow.gif create mode 100644 website/example/subdir/.cvskeepemptydir create mode 100644 website/example/test1.xml create mode 100644 website/example/test1a.xml create mode 100644 website/example/test1b.xml create mode 100644 website/example/test2.xml create mode 100644 website/example/test3.xml create mode 100644 website/example/website.xml create mode 100644 website/forms.mod create mode 100644 website/website.dtd create mode 100644 website/xsl/VERSION create mode 100644 website/xsl/chunk-tabular.xsl create mode 100644 website/xsl/chunk-website-common.xsl create mode 100644 website/xsl/chunk-website.xsl create mode 100644 website/xsl/chunk.xml create mode 100644 website/xsl/chunklib.pl create mode 100644 website/xsl/chunktab.xml create mode 100644 website/xsl/head.xsl create mode 100644 website/xsl/hrefencode.pl create mode 100644 website/xsl/tabular.xsl create mode 100644 website/xsl/website.xsl create mode 100644 website/xsl/xbel.xsl create mode 100644 website/xsl/xtchunk-tabular.xsl create mode 100644 website/xsl/xtchunk-website.xsl diff --git a/website/README b/website/README new file mode 100644 index 000000000..3d61b9be3 --- /dev/null +++ b/website/README @@ -0,0 +1,125 @@ +README for the Website DTD V1.10 + +Website is an XML DTD for building, er, web sites. + +Manifest +-------- + +README - This readme file +VERSION - The version number +website.dtd - The DTD, a customization layer on top of DocBook XML +example/ - An example website +xsl/ - XSL stylesheets for converting the Website DTD to HTML + +DTD Installation +---------------- + +Place the files in this distribution somewhere on your machine. Adjust +your catalog(s) if appropriate (XML tools frequently do not support +catalogs, so this may be irrelevant for you). + +Please use the following formal public identifier to identify this DTD: + + "-//Norman Walsh//DTD Website V1.10//EN" + +For example: + + + +XSL Installation +---------------- + +Place the XSL files in this distribution somewhere on your machine. + +Use +--- + +Process your Website documents with one of the following stylesheets +using your favorite XSLT processor: + + website.xsl produces a flat-text website + tabular.xsl produces a tabular website with navigation in the + left-hand column and page contents in the right-hand + column. + + Both of these stylesheets produce a monolithic file that must be + chunked. The chunk control files and libraries included in this + distribution simplify this process, if you are using the chunk.pl + file included in the DocBook XSL Stylesheet distribution. + + chunk-website.xsl produces a flat-text website, chunked by XSLT + chunk-tabular.xsl produces a tabular website, chunked by XSLT + + In order for the chunking process to succeed, all necessary + subdirectories must be created before you begin running the + XSLT engine. The chunking versions support XT, Saxon, and Xalan. + +Copyright +--------- + +Copyright (C) 1999, 2000, 2001 Norman Walsh + +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. + +Except as contained in this notice, the names of individuals +credited with contribution to this software shall not be used in +advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization +from the individuals in question. + +Any stylesheet derived from this Software that is publically +distributed will be identified with a different name and the +version strings in any derived Software will be changed so that +no possibility of confusion between the derived package and this +Software will exist. + +You may distribute this software under the same terms as DocBook. +This software is a customization of the DocBook XML V4.1.2, which +is governed by the following copyright: + + [DocBook is] Copyright 1992, 1993, 1994, 1995, 1996, 1998, + 1999 HaL Computer Systems, Inc., O'Reilly & Associates, Inc., + ArborText, Inc., Fujitsu Software Corporation, and the + Organization for the Advancement of Structured Information + Standards (OASIS). + + Permission to use, copy, modify and distribute the DocBook + DTD and its accompanying documentation for any purpose and + without fee is hereby granted in perpetuity, provided that + the above copyright notice and this paragraph appear in all + copies. The copyright holders make no representation about + the suitability of the DTD for any purpose. It is provided + "as is" without expressed or implied warranty. + +For more information about the DocBook DTD, see +http://www.oasis-open.org/docbook/ + +Warranty +-------- + +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 NORMAN WALSH OR ANY OTHER +CONTRIBUTOR 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. + +Contacting the Author +--------------------- + +This DTD is maintained by Norman Walsh, . diff --git a/website/VERSION b/website/VERSION new file mode 100644 index 000000000..c044b1a32 --- /dev/null +++ b/website/VERSION @@ -0,0 +1 @@ +1.10 diff --git a/website/example/Makefile b/website/example/Makefile new file mode 100644 index 000000000..032b7a483 --- /dev/null +++ b/website/example/Makefile @@ -0,0 +1,26 @@ +PROC=saxon +PROCOPT= + +.PHONY : clean + +all: test + +test: + xjparse website.xml +ifeq ($(PROC),xt) + $(PROC) $(PROCOPT) website.xml ../xsl/xtchunk-website.xsl +else + $(PROC) $(PROCOPT) website.xml ../xsl/chunk-website.xsl +endif + +tabular: + xnsgmls -sv -c /share/doctypes/catalog website.xml +ifeq ($(PROC),xt) + $(PROC) $(PROCOPT) website.xml ../xsl/xtchunk-tabular.xsl +else + $(PROC) $(PROCOPT) website.xml ../xsl/chunk-tabular.xsl +endif + +clean: + rm -f *.html subdir/*.html + diff --git a/website/example/about.xml b/website/example/about.xml new file mode 100644 index 000000000..8237b8070 --- /dev/null +++ b/website/example/about.xml @@ -0,0 +1,40 @@ + + + +About the Test Home Page +About the Test Home Page + +This collection of pages is built from a single SGML +document using +Jade and a +customization of the DSSSL +DocBook Stylesheet +for HTML. + +Why? +There are a number of compelling reasons to maintain these pages in +SGML rather than HTML. + +First and foremost, they provide a test environment for the +HTML stylesheet. Ok, maybe that's not compelling to you, but it's compelling +to me ;-). + +Traditional printed documents are desirable for several of +these pages. +Using a more structurally rich format to represent the documents makes +it possible to produce print as well as online versions. + +All of the intra-document linking is automatic. +The SGML system provides validation for the inra-document links, so +there is no danger of broken links. (Links to external pages still have to +be validated by an external program.) + +Migrating these pages to XML and/or future versions of HTML +will only require a new or updated style sheet. No pages will have to be recoded. +And the pages will conform to whatever output format is required, with no +possibility of random human error. + + + + + diff --git a/website/example/bookmark/bookmark.xml b/website/example/bookmark/bookmark.xml new file mode 100644 index 000000000..fa5ab16ba --- /dev/null +++ b/website/example/bookmark/bookmark.xml @@ -0,0 +1,12 @@ + + + +Perl +Perl.com +ActiveState Tool Corp. (Perl +for Win32) +dada meets Perl! + + diff --git a/website/example/bookmark/catalog b/website/example/bookmark/catalog new file mode 100644 index 000000000..1711f382e --- /dev/null +++ b/website/example/bookmark/catalog @@ -0,0 +1 @@ +SGMLDECL xml.dcl diff --git a/website/example/bookmark/xml.dcl b/website/example/bookmark/xml.dcl new file mode 100644 index 000000000..fed210309 --- /dev/null +++ b/website/example/bookmark/xml.dcl @@ -0,0 +1,179 @@ +" + PIC "?>" + SHORTREF NONE + + NAMES + SGMLREF + + QUANTITY NONE + + ENTITIES + "amp" 38 + "lt" 60 + "gt" 62 + "quot" 34 + "apos" 39 + + FEATURES + MINIMIZE + DATATAG NO + OMITTAG NO + RANK NO + SHORTTAG + STARTTAG + EMPTY NO + UNCLOSED NO + NETENABL IMMEDNET + ENDTAG + EMPTY NO + UNCLOSED NO + ATTRIB + DEFAULT YES + OMITNAME NO + VALUE NO + EMPTYNRM YES + IMPLYDEF + ATTLIST NO + DOCTYPE NO + ELEMENT NO + ENTITY NO + NOTATION NO + LINK + SIMPLE NO + IMPLICIT NO + EXPLICIT NO + OTHER + CONCUR NO + SUBDOC NO + FORMAL NO + URN NO + KEEPRSRE YES + VALIDITY TYPE + ENTITIES + REF ANY + INTEGRAL YES + APPINFO NONE + SEEALSO "ISO 8879:1986//NOTATION + Extensible Markup Language (XML) 1.0//EN" +> diff --git a/website/example/dynxbel.js b/website/example/dynxbel.js new file mode 100644 index 000000000..a23f68545 --- /dev/null +++ b/website/example/dynxbel.js @@ -0,0 +1,8 @@ +function toggleList(list) { + var display = eval("document.all." + list + ".style.display"); + if (display == "none") { + eval("document.all." + list + ".style.display = \"\""); + } else { + eval("document.all." + list + ".style.display = \"none\""); + } +} diff --git a/website/example/example.css b/website/example/example.css new file mode 100644 index 000000000..9a1430da3 --- /dev/null +++ b/website/example/example.css @@ -0,0 +1,46 @@ +.navhomehead { padding-top: 0; + margin-bottom: 0; + padding-bottom: 0; + font-size: 80% + } + +.navhomehead { color: black; } +.navhomehead a:link { color: black; } +.navhomehead a:visited { color: black; } + +.navhead { padding-top: 0; + margin-bottom: 0; + padding-bottom: 0; + font-size: 80% + } + +.navhead { color: black; } +.navhead a:link { color: black; } +.navhead a:visited { color: black; } + +.navfoot { color: black; + font-size: 70%; + } + +.navfoot a:link { color: black; } +.navfoot a:visited { color: black; } + +span.footdate { color: black; + font-size: 70%; + font-family: Arial, sans-serif; + } + +span.foothome { color: black; + font-size: 70%; + font-family: Arial, sans-serif; + } + +span.footfeed { color: black; + font-size: 70%; + font-family: Arial, sans-serif; + } + +span.footcopy { color: black; + font-size: 70%; + font-family: Arial, sans-serif; + } diff --git a/website/example/graphics/banner.png b/website/example/graphics/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..4772bd558d9262a4cdf721401f637bfde8fb246b GIT binary patch literal 1943 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 literal 0 HcmV?d00001 diff --git a/website/example/graphics/icons/iconat.gif b/website/example/graphics/icons/iconat.gif new file mode 100644 index 0000000000000000000000000000000000000000..87659b0fc32c18ad4571ba6d0c387cfd3fee509d GIT binary patch literal 925 zcmZ?wbhEHbLw zQ>IK=x^(HmD)dKeO$9Jx3cJXi!04mxl#vRDXsBr-NIGjVb(IIy6hkwZ+1VS)kUfn%)P zTr4XR6d9P<7&Ia}8WI>7rm%8V-1!-(dWw;?pp1oqk*R@IOL9wzfn&oF1|d!k6M+P# fRt`Sp1y3}B8gH<%9OEkqa9G5^Vx`N%!e9*mi&+56 literal 0 HcmV?d00001 diff --git a/website/example/graphics/icons/iconhome.gif b/website/example/graphics/icons/iconhome.gif new file mode 100644 index 0000000000000000000000000000000000000000..d8ac119936190b0e8b714604ebbe1d3e9eb6083a GIT binary patch literal 1060 zcmZ?wbhEHbEMX8~_|5a1V#C72?E=bbA|8Q@j&@5JXU*YQkbJOL!MRJubJLQOljW@E z#hes+a(tRWvRjDe=4EG_^$nNY@ib2Hn`4uobjNc-y4QSLOEyujOUa(gxfeR6S{biA zxRRrj$#zw6cG#?l?xMF|g{v-aOqx7ztw+F0r^Vq9_5MZ~thug{XqugyEk z#rLP|UBagJrQbsSOfvAu%%`wf&Io_E1_?qpE9fc1T*8W%Vp7s9e^|N!c=he)z{J5`Q cG1|08?AN!gSGu|UxBm&UxcXU*nTf#~03qIARsaA1 literal 0 HcmV?d00001 diff --git a/website/example/graphics/icons/iconsmallrightarrow.gif b/website/example/graphics/icons/iconsmallrightarrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..7f930f9eb2576a6bf749ed053284b68ce2c31178 GIT binary patch literal 837 zcmZ?wbhEHb6lCCL_|5 + + +Test 1 +Test 1 Page + +This is just a test page. + + +&test1a; +&test1b; + + diff --git a/website/example/test1a.xml b/website/example/test1a.xml new file mode 100644 index 000000000..bf4237fce --- /dev/null +++ b/website/example/test1a.xml @@ -0,0 +1,16 @@ + + + + + +Test 1a +Test 1a Page + +This is just a test page. + +But it contains a broken inlinegraphic: +. + + + + diff --git a/website/example/test1b.xml b/website/example/test1b.xml new file mode 100644 index 000000000..c0b6dc9cf --- /dev/null +++ b/website/example/test1b.xml @@ -0,0 +1,11 @@ + + + + + +Test 1b +Test 1b Page + +This is just a test page. + + diff --git a/website/example/test2.xml b/website/example/test2.xml new file mode 100644 index 000000000..f289841d7 --- /dev/null +++ b/website/example/test2.xml @@ -0,0 +1,21 @@ + + + +Form Test +Form Test Page + +This is just a form test page. + +An input field: . +A label: label. +A button: This Button. +Selection: +foo +bar +baz +. + +. + + + diff --git a/website/example/test3.xml b/website/example/test3.xml new file mode 100644 index 000000000..3f4b28c21 --- /dev/null +++ b/website/example/test3.xml @@ -0,0 +1,23 @@ + + + +XBEL Bookmarks +XBEL Bookmark test + +This test page demonstrates how to incorporate XBEL bookmarks into +your web pages. Use an xlink as follows: + + +]]> + + + + +You can use dynamic HTML for your bookmarks, if you specify +role="dynamic" on the xlink: + + + + + diff --git a/website/example/website.xml b/website/example/website.xml new file mode 100644 index 000000000..585740002 --- /dev/null +++ b/website/example/website.xml @@ -0,0 +1,159 @@ + + + + + + +]> + + + + + + + + + +Test Home Page +The Test Site +Norman Walsh, DSSSL, SGML, XML, DocBook, Website +19992000 +Norman Walsh + + + +Hello, and Welcome! + + +This website demonstrates the Website DTD. In order to generate HTML +web pages from documents using this DTD, you must format them with +an XSLT processor (well, you could do it with any tool you wanted, +I suppose, but XSLT is the popular choice :-). + + + + +XSLT +To format this website using XSLT, use +the website.xsl +or tabular.xsl stylesheets from the +Website distribution: + + +xt website.xml website.xsl + + +You must chunk the resulting document yourself. The XSL stylesheet +distribution includes a chunking configuration file suitable for use +with chunk.pl from the +DocBook stylesheet +distribution. + + +XSLT With Chunking + +Alternatively, you can use chunk-website.xsl +or chunk-tabular.xsl and let the XSLT +processor do the chunking for you. + +The XT, Saxon, and Xalan processors are supported by the chunking +stylesheets. If you're using a alternate processor, you'll have to do +the chunking with another tool. + + + +Customizing the Stylesheets + +You can customize the stylesheets for your particular website +by making a driver like this: + + + + + + + +]]> + +If you use the tabular processors, you'll discover that the +Website home page has two ugly features: "home.navhead" and +"home.navhead.upperright". + +In order to remove these, you have to write a custom stylesheet +that puts the text you want on the homepage in those locations. Your +stylesheet should look like this: + + + + + + + + + + +home.navhead + + + +home.navhead.upperright + + + +]]> + +You will also want to change some of the <config> +parameters (to select different banner graphics, etc.). + + + + +What's New + +24 Aug 2000 + +Improved documentation, merged distribution of stylesheets +and the DTD. + + +29 Mar 2000 + +Updated description of XSL support. + + +28 Feb 2000 + +Updated to mention XSL. + + +24 Feb 1999 + +First release. + + + + + + +&about; + + + +&test1; +&test2; +&test3; + + + + diff --git a/website/forms.mod b/website/forms.mod new file mode 100644 index 000000000..6cd3cca88 --- /dev/null +++ b/website/forms.mod @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/website.dtd b/website/website.dtd new file mode 100644 index 000000000..038301bd1 --- /dev/null +++ b/website/website.dtd @@ -0,0 +1,106 @@ + + + + + + + + + + + + +]]> + + +%docbook; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +%forms.mod; +]]> + + + diff --git a/website/xsl/VERSION b/website/xsl/VERSION new file mode 100644 index 000000000..c5b729079 --- /dev/null +++ b/website/xsl/VERSION @@ -0,0 +1,5 @@ + + +1.7 + diff --git a/website/xsl/chunk-tabular.xsl b/website/xsl/chunk-tabular.xsl new file mode 100644 index 000000000..a93d499ce --- /dev/null +++ b/website/xsl/chunk-tabular.xsl @@ -0,0 +1,268 @@ + + + + + + + + + + + + +0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + index.html + + + + + + + + + + + + 1 + 0 + + + + + + + + + + # + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/xsl/chunk-website-common.xsl b/website/xsl/chunk-website-common.xsl new file mode 100644 index 000000000..a738c9cc7 --- /dev/null +++ b/website/xsl/chunk-website-common.xsl @@ -0,0 +1,197 @@ + + + + + + + + + + + +0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + index.html + + + + + + + + + + + + 1 + 0 + + + + + + + + + + # + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/xsl/chunk-website.xsl b/website/xsl/chunk-website.xsl new file mode 100644 index 000000000..91a9925a2 --- /dev/null +++ b/website/xsl/chunk-website.xsl @@ -0,0 +1,19 @@ + + + + + + + + + + + diff --git a/website/xsl/chunk.xml b/website/xsl/chunk.xml new file mode 100644 index 000000000..bf3b5e511 --- /dev/null +++ b/website/xsl/chunk.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + " + " + ' + ' + + + + + + + + + + + + + + + + + + + + + - + + ' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/xsl/chunklib.pl b/website/xsl/chunklib.pl new file mode 100644 index 000000000..59e26404c --- /dev/null +++ b/website/xsl/chunklib.pl @@ -0,0 +1,78 @@ +# -*- Perl -*- +# This is a chunk.pl library file + +package chunklib; + +use XML::DOM; +use Time::Local; + +sub init { + return 1; +} + +sub applies { + my $doc = shift; + my $node = shift; + my $parent = shift; + + return 0 if $node->getNodeType() != ELEMENT_NODE; + return 0 if $node->getTagName() ne 'span'; + return 0 if $node->getAttribute('class') ne 'footdate'; + return 1; +} + +sub apply { + my $doc = shift; + my $node = shift; + my $parent = shift; + + if ($node->getTagName() eq 'span' + && $node->getAttribute('class') eq 'footdate') { + my @months = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', + 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'); + + my $textnode = $node->getFirstChild(); + my $ucsdate = $textnode->getData(); + + if ($ucsdate =~ /\$(Date): (....)\/(..)\/(..)\s+(\d+):(..):(..) \$/) { + # NB: the extra ()'s around Date prevent CVS from mangling it! + # ok, let's convert this sucker! + my ($year, $month, $day, $hour, $min, $sec) = ($2,$3,$4,$5,$6,$7); + my ($wday, $yday, $isdst); + + $month--; # perl months are zero based + $year -= 1900; # perl years are 1900 based + + # convert GMT into local time + my $time = timegm($sec,$min,$hour,$day,$month,$year); + ($sec,$min,$hour,$day,$month,$year,$wday,$yday,$isdst) + = localtime($time); + + # Calculate the abbreviation for the local timezone. + # I don't know how portable this is. My machine returns + # "Eastern Standard Time", so I'm just going to grab + # all the capitals out of that. + + my ($tzs, $tzd) = POSIX::tzname; + my $tz = $isdst ? $tzd : $tzs; + $tz =~ s/[^A-Z]//g; + + $year += 1900; + + my $ampm = $hour >= 12 ? "pm" : "am"; + my $lcldate = sprintf("Updated: %02d %s %04d @ %02d:%02d%s %s", + $day, $months[$month], $year, + $hour > 12 ? $hour - 12 : $hour, $min, + $ampm, $tz); + +# print STDERR "GMT: $ucsdate\n"; +# print STDERR "EDT: $lcldate\n"; + + $textnode->deleteData(0, $textnode->getLength()); + $textnode->appendData($lcldate); + } + } +} + +'chunklib'; + diff --git a/website/xsl/chunktab.xml b/website/xsl/chunktab.xml new file mode 100644 index 000000000..2a0cb3ec5 --- /dev/null +++ b/website/xsl/chunktab.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + " + " + ' + ' + + + + + + + + + + + + + + + + + + + + + - + + ' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/xsl/head.xsl b/website/xsl/head.xsl new file mode 100644 index 000000000..25dec3a1f --- /dev/null +++ b/website/xsl/head.xsl @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JavaScript + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/website/xsl/hrefencode.pl b/website/xsl/hrefencode.pl new file mode 100644 index 000000000..f2604840f --- /dev/null +++ b/website/xsl/hrefencode.pl @@ -0,0 +1,43 @@ +# -*- Perl -*- +# This is a chunk.pl library file + +package hrefencode; + +use XML::DOM; + +sub init { + return 1; +} + +sub applies { + my $doc = shift; + my $node = shift; + my $parent = shift; + + return 0 if $node->getNodeType() != ELEMENT_NODE; + return 0 if $node->getTagName() ne 'a'; + return 1; +} + +sub apply { + my $doc = shift; + my $node = shift; + my $parent = shift; + + if ($node->getTagName() eq 'a' && $node->getAttribute('href') ne '') { + my $href = $node->getAttribute('href'); + if ($href =~ /^(.*)?([\?\&])(.*)$/) { + my $prefix = $1; + my $sep = $2; + my $rest = $3; + + $rest =~ s/[\s\&\?\{\}\|\\\/\^\~\[\]\`\%\+]/sprintf("%%%02X", ord($&))/eg; + + $node->setAttribute('href', $prefix . $sep . $rest); + } + } +} + +'hrefencode'; + + diff --git a/website/xsl/tabular.xsl b/website/xsl/tabular.xsl new file mode 100644 index 000000000..54af3c446 --- /dev/null +++ b/website/xsl/tabular.xsl @@ -0,0 +1,514 @@ + + + + + + + +white + + +Background color of the text panel of the page + +The textbgcolor specifies the background color +used in the text panel of the web page. + + + + + +red + + +Background color of the navigation panel of the page + +The navbgcolor specifies the background color +used in the navigation panel of the web page. + + + + + +220 + + +Width of the navigation panel of the page + +The navtocwidth specifies the width (generally +in pixels) of the navigation panel (column) of the web page. + + + + + + + + +Toggle use of graphic for indicating the current position +in the navigation panel + +If toc.pointer.graphic is non-zero, a graphic +will be used to indicate the current position in the navigation panel. + + + +images/rarrow.gif + + +Filename of the graphic to use to indicate the current +position in the navigation panel + +If toc.pointer.graphic is non-zero, the +graphic specified by toc.pointer.image will be used +to highlight the current position in the navigation panel. + + + +> + + +Text to use to indicate the current +position in the navigation panel + +If toc.pointer.graphic is zero, the +text specified by toc.pointer.text will be used +to highlight the current position in the navigation panel. + + + + + + + + +Toggle use of graphic for indenting the lines +in the navigation panel + +If toc.spacer.graphic is non-zero, a graphic +will be used to indent the lines in the navigation panel. + + + + + + +Filename of the graphic to use to indent the lines +in the navigation panel + +If toc.spacer.graphic is non-zero, the +graphic specified by toc.spacer.image will be used +to indent the lines in the navigation panel. + + + +    + + +Text to use to indent the lines +in the navigation panel + +If toc.spacer.graphic is zero, the +text specified by toc.spacer.text will be used +to indent the lines in the navigation panel. + + + + + + + + +Toggle footer width + +If non-zero, the page footer will span the entire page. If zero, +the footer spans only the text panel. + + + + + + +Summary attribute for HTML Table + +If not-empty, this value will be used for the summary +attribute on the navigation tables. + + + + + + +home.navhead + + + +home.navhead.upperright + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {$homebanneralt} +
+
+
+ +
+ + + + + + {$banneralt} + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + {$toc.spacer.text} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + shrink + + + + + + + + + + + + + + + + + {$toc.pointer.text} + + + + + + + +
+
+ + + + + navtoc + + + ynavtoc + + + + + + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + +
+ + + + + + + + 1 + + + + + + + 0 + + + + + + + + + + 1 + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/xsl/website.xsl b/website/xsl/website.xsl new file mode 100644 index 000000000..f034fdaaf --- /dev/null +++ b/website/xsl/website.xsl @@ -0,0 +1,658 @@ + + + + + + + + + + + + +1 + + + + + + + + + + + +Toggle <HR> before footer + +If non-zero, an <HR> is generated at the bottom of each web page, +before the footer. + + + + + + + + +HREF for feedback link + +The feedback.href value is used as the value +for the href attribute on the feedback +link, if it is not the empty string. If feedback.href +is empty, no feedback link is generated. + + + + + + +Toggle use of titles in feedback + +If feedback.title is non-zero, the title of the +current page will be added to the feedback link. This can be used, for +example, if the feedback.href is a CGI script. + + + +Feedback + + +The text of the feedback link + +The contents of this variable is used as the text of the feedback +link if feedback.href is not empty. If +feedback.href is empty, no feedback link is +generated. + + + + + + + + + + + note.gif + warning.gif + caution.gif + tip.gif + important.gif + note.gif + + + + +Select appropriate admonition graphic + +Selects the appropriate admonition graphic file and returns the +fully qualified path to it. + + + +node + +The source node to use for the purpose of selection. It should +be one of the admonition elements (note, +warning, etc.). The default node is the context +node. + + + + + +The fully qualified path to the admonition graphic. If the +node is not an admonition element, the + note graphic is returned. + + + + + + + + + nothing matters here since the chunker reworks the head + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | + + + + + + + + + + + + copyright + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + filename=" + + / + + " + + + + + filename=" + + " + + + + + + + + + + + + +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ../ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
+
+ + + + + + + + + + + + +
  • + + + + + + + + + + - + + +
  • +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </p> + + <p> + + + + + + + + + + + + + + + + + +
    diff --git a/website/xsl/xbel.xsl b/website/xsl/xbel.xsl new file mode 100644 index 000000000..c8259c58c --- /dev/null +++ b/website/xsl/xbel.xsl @@ -0,0 +1,107 @@ + + + + + + + + + + + + +
      + +
    +
    + + + + + +
  • +
      + +
    +
    + + + + + + +
  • + + + +
  • +
    + + + + + + + + +
      + +
    +
    + + + + + +
  • + +
    + + + + + + + + toggleList(' + + ') + + exlist + color: blue + + + + + + + + + + + +
  • + + + +
  • +
    + + + + + + + +
    diff --git a/website/xsl/xtchunk-tabular.xsl b/website/xsl/xtchunk-tabular.xsl new file mode 100644 index 000000000..c0b013ab2 --- /dev/null +++ b/website/xsl/xtchunk-tabular.xsl @@ -0,0 +1,268 @@ + + + + + + + + + + + + +0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + index.html + + + + + + + + + + + + 1 + 0 + + + + + + + + + + # + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/xsl/xtchunk-website.xsl b/website/xsl/xtchunk-website.xsl new file mode 100644 index 000000000..3e8090ae0 --- /dev/null +++ b/website/xsl/xtchunk-website.xsl @@ -0,0 +1,19 @@ + + + + + + + + + + + -- 2.50.1