diff options
author | link <link@localhost> | 2004-07-21 15:07:36 +0000 |
---|---|---|
committer | link <link@localhost> | 2004-07-21 15:07:36 +0000 |
commit | 2a34e85e4df0d42616cfb84c2f7354673d185b85 (patch) | |
tree | e5ce4d52ba2130c261520adae557db617c8bf55b | |
parent | 0142358284f759b15b1dc0d5406782e45ac4e1fa (diff) | |
download | markup-validator-2a34e85e4df0d42616cfb84c2f7354673d185b85.zip markup-validator-2a34e85e4df0d42616cfb84c2f7354673d185b85.tar.gz markup-validator-2a34e85e4df0d42616cfb84c2f7354673d185b85.tar.bz2 |
Merging from branch validator-0_6_0-branch, at tag validator-0_6_7-pre2.
(0.6.7 is missing relnotes and other minor tweaks)
33 files changed, 443 insertions, 365 deletions
diff --git a/htdocs/base.css b/htdocs/base.css index 2a72685..29b5dbb 100644 --- a/htdocs/base.css +++ b/htdocs/base.css @@ -4,7 +4,7 @@ Copyright 2000 W3C (MIT, INRIA, Keio). All Rights Reserved. See http://www.w3.org/Consortium/Legal/ipr-notice.html#Copyright - $Id: base.css,v 1.32 2004-05-09 15:56:49 link Exp $ + $Id: base.css,v 1.33 2004-07-21 15:06:55 link Exp $ */ @import url(results.css); /* CSS for validation results. */ @@ -18,7 +18,7 @@ html, body { color: black; background: white; font-weight: normal; - font-family: "Bitstream Vera Sans", sans-serif; + font-family: "Bitstream Vera Sans", sans-serif; font-style: normal; text-decoration: none; margin: 0; @@ -43,23 +43,25 @@ dt { /* Fieldsets in general */ fieldset { -/* max-width: 80%; */ + background: #FCFCFC; + border: 1px dotted #053188; margin-left: 1em; margin-right: 1em; + padding: 1em; } -/* The front-page fieldsets */ -fieldset.front { - background: inherit; - border: 1px dotted #053188; -} - -fieldset.front legend { +fieldset legend { color: #053188; + background: #FFF; font-variant: small-caps; padding: .1ex .5ex; + border-right: 1px solid gray; + border-bottom: 1px solid gray; + font-weight: bold; } + + .intro { font-style: italic; text-align: justify; @@ -86,7 +88,7 @@ abbr[title], acronym[title], span[title], strong[title] { } pre, code, tt { - font-family: monospace; + font-family: "Bitstream Vera Sans Mono", monospace; line-height: 100%; white-space: pre; } @@ -144,7 +146,7 @@ address { } address { - background-image: url(images/footer); + background-image: url(images/footer.jpg); background-repeat: no-repeat; background-attachment: scroll; height: 50px; @@ -160,7 +162,7 @@ p.copyright { text-transform: uppercase; margin-left: auto; margin-right: auto; - font-family: monospace; + font-family: "Bitstream Vera Sans Mono", monospace; color: #888; line-height: 120%; } @@ -183,7 +185,7 @@ div.colophon em { /* Various header(ish) things. Definitions cribbed from the CORE Styles. */ h1 { - font-family: sans-serif; + font-family: "Bitstream Vera Sans", sans-serif; font-size-adjust: .53; font-size: 2em; font-weight: bold; @@ -195,7 +197,7 @@ h1 { display: inline} #banner { -background-image: url(images/header); +background-image: url(images/header.jpg); /* only jpg version - png too big! */ background-repeat: no-repeat; background-attachment: scroll; height: 50px; @@ -224,9 +226,13 @@ h1#title { color: red; } -h2 { - font-family: sans-serif; +h1, h2, h3, h4, h5, h6, dt { + font-family: "Bitstream Vera Sans", sans-serif; font-size-adjust: .53; + font-variant: small-caps; +} + +h2 { font-size: 1.5em; text-align: center; font-weight: bold; @@ -238,21 +244,17 @@ h2 { } h3 { - font-family: sans-serif; - font-size-adjust: .53; font-size: 1.3em; + font-weight: normal; + font-style: normal; + text-decoration: none; background-color: #eee; text-indent: 2em; padding: .2em; border-top: 1px dotted black; - font-weight: normal; - font-style: normal; - text-decoration: none; } h4 { - font-family: sans-serif; - font-size-adjust: .53; font-size: 1.1em; font-weight: 600; font-style: normal; @@ -260,8 +262,6 @@ h4 { } h5, dt { - font-family: sans-serif; - font-size-adjust: .53; font-size: 1em; font-weight: bold; font-style: normal; @@ -271,14 +271,12 @@ h5, dt { } h6 { - font-family: sans-serif; - font-size-adjust: .53; - color: #666; - text-indent: 1em; font-size: 1em; font-style: italic; - margin:0; text-decoration: none; + color: #666; + text-indent: 1em; + margin:0; } /* comma tools table */ @@ -286,13 +284,13 @@ h6 { td.comma-desc { background: #ffeecc; border : 1px solid black; - font-family: sans-serif + font-family: "Bitstream Vera Sans", sans-serif } td.comma-shortcut { background: #e7e7ff; border : 1px solid black; - font-family: monospace; + font-family: "Bitstream Vera Sans Mono", monospace; } td.comma-tool { @@ -321,40 +319,19 @@ input { input.reset { text-align: center; - font-family: monospace; + font-family: "Bitstream Vera Sans Mono", monospace; } input.default { text-align: center; font-weight: bold; - font-family: monospace; + font-family: "Bitstream Vera Sans Mono", monospace; } -/* comma tools table */ - -td.comma-desc { background: #ffeecc; -border : 1px solid black; -font-family: sans-serif } -td.comma-shortcut { background: #e7e7ff; -border : 1px solid black; -font-family: monospace } -td.comma-tool { background: #e7e7ff; border : 1px solid black;} - - -/* config param table */ - -table.config tr th { - text-align: left; - background: #e7e7ff; -} -table.config tr td { - background: #ffeecc; - border : 1px solid black; - font-family: sans-serif; +div#recent { + margin-right: 5em; } -table.config tr td.subtable { - background: white; - border: none; +div#recent dt { + margin-top: 1em; } - diff --git a/htdocs/config/eref.cfg b/htdocs/config/eref.cfg index 271c198..6b75cfb 100644 --- a/htdocs/config/eref.cfg +++ b/htdocs/config/eref.cfg @@ -1,7 +1,7 @@ # -# Mapping of element names to an URI fragment for their definition. +# Mapping of element names to an URL fragment for their definition. # -# $Id: eref.cfg,v 1.2 2002-11-26 21:40:19 ville Exp $ +# $Id: eref.cfg,v 1.3 2004-07-21 15:07:00 link Exp $ a = special/a.html abbr = phrase/abbr.html diff --git a/htdocs/config/fpis.cfg b/htdocs/config/fpis.cfg index 94e6eb6..0dd8d2c 100644 --- a/htdocs/config/fpis.cfg +++ b/htdocs/config/fpis.cfg @@ -1,7 +1,12 @@ # # Mapping of FPIs to plain text version strings. # -# $Id: fpis.cfg,v 1.19 2003-05-24 20:32:46 link Exp $ +# $Id: fpis.cfg,v 1.20 2004-07-21 15:07:00 link Exp $ + +### Fallback DOCTYPE! +-//W3C//DTD HTML Fallback//EN = \ + <a href="http://www.w3.org/TR/1999/REC-html401-19991224/">HTML 4.01</a> Transitional + -//IETF//DTD HTML Level 0//EN//2.0 = \ HTML 2.0 Level 0 @@ -24,11 +29,6 @@ -//IETF//DTD HTML 2.1E//EN = \ HTML 2.1E --//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN <a href=http://www.w3.org/TR/XHTMLplusMathMLplusSVG/">XHTML 1.1 + MathML 2.0 + SVG 1.1</a> - --//W3C//DTD SMIL 1.0//EN <a href="http://www.w3.org/TR/1998/REC-smil-19980615/">SMIL 1.0</a> --//W3C//DTD SMIL 2.0//EN <a href="http://www.w3.org/TR/2001/PR-smil20-20010605/">SMIL 2.0</a> - -//AS//DTD HTML 3.0 asWedit + extensions//EN = \ HTML 3.0 (AdvaSoft version) @@ -143,6 +143,9 @@ ISO/IEC 15445:2000//DTD HTML//EN = \ -//W3C//DTD XHTML 1.1 plus MathML 2.0//EN = \ <a href="http://www.w3.org/TR/MathML2/">XHTML 1.1 plus MathML 2.0</a> +-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN = \ + <a href=http://www.w3.org/TR/XHTMLplusMathMLplusSVG/">XHTML 1.1 + MathML 2.0 + SVG 1.1</a> + -//W3C//DTD XHTML Basic 1.0//EN = \ <a href="http://www.w3.org/TR/2000/REC-xhtml-basic-20001219/">XHTML Basic \ 1.0</a> diff --git a/htdocs/config/frag.cfg b/htdocs/config/frag.cfg index b454ddd..9f8711a 100644 --- a/htdocs/config/frag.cfg +++ b/htdocs/config/frag.cfg @@ -1,7 +1,7 @@ # -# Mapping of error message to URI fragment for the explanations. +# Mapping of error message to URL fragment for the explanations. # -# $Id: frag.cfg,v 1.7 2003-05-24 20:32:46 link Exp $ +# $Id: frag.cfg,v 1.8 2004-07-21 15:07:00 link Exp $ # # Original SP version. diff --git a/htdocs/config/tips.cfg b/htdocs/config/tips.cfg index 5de5a1e..5708fdf 100644 --- a/htdocs/config/tips.cfg +++ b/htdocs/config/tips.cfg @@ -5,7 +5,7 @@ # the link to it. Will appear in Validation Results pages. To disable # just comment out or delete all lines in this file. # -# $Id: tips.cfg,v 1.8 2004-05-09 15:56:49 link Exp $ +# $Id: tips.cfg,v 1.9 2004-07-21 15:07:00 link Exp $ # http://www.w3.org/QA/Tips/good-titles = <strong><title></strong>: the most important element of a quality Web page. diff --git a/htdocs/config/validator.conf b/htdocs/config/validator.conf index eb14659..6f5db6d 100644 --- a/htdocs/config/validator.conf +++ b/htdocs/config/validator.conf @@ -1,7 +1,7 @@ # # Main Configuration File for the W3C Markup Validation Service. # -# $Id: validator.conf,v 1.10 2004-05-09 15:56:49 link Exp $ +# $Id: validator.conf,v 1.11 2004-07-21 15:07:00 link Exp $ # # See 'perldoc Config::General' for the syntax, and be aware that the # 'SplitPolicy' is 'equalsign', ie. keys and values are separated by '\s*=\s*'. @@ -50,6 +50,10 @@ Template_Path = /home/link/Work/w3.org/validator-HEAD/share/templates/en_U Include frag.cfg </Error_to_URI> +<Types> + Include types.conf +</Types> + <File_Type> Include type.cfg </File_Type> @@ -58,10 +62,6 @@ Template_Path = /home/link/Work/w3.org/validator-HEAD/share/templates/en_U Include charset.cfg </Charsets> -<Types> - Include types.conf -</Types> - # # DanC territory... diff --git a/htdocs/detailed.html b/htdocs/detailed.html index 76e1497..742aede 100755 --- a/htdocs/detailed.html +++ b/htdocs/detailed.html @@ -1,18 +1,18 @@ -<!--#set var="revision" value="\$Id: detailed.html,v 1.17 2004-05-09 15:56:49 link Exp $" ---><!--#set var="date" value="\$Date: 2004-05-09 15:56:49 $" +<!--#set var="revision" value="\$Id: detailed.html,v 1.18 2004-07-21 15:06:55 link Exp $" +--><!--#set var="date" value="\$Date: 2004-07-21 15:06:55 $" --><!--#set var="title" value="The W3C Markup Validation Service" --><!--#set var="relroot" value="./" --><!--#include virtual="header.html" --> <p><a id="skip" name="skip"></a> This form allows you to enter a <acronym - title="Universal Resource Identifier">URI</acronym> + title="Universal Resource Locator">URL</acronym> and have it validated. If you want to validate a file on your computer, you can use the <a href="file-upload.html">File Upload Interface</a>. </p> <div> - <fieldset><legend>Validate by URI</legend> + <fieldset><legend>Validate by URL</legend> <form method="get" action="check"> <table> <tr><th><label title="Address of page to Validate" diff --git a/htdocs/dev/tests/bogus-fpi2.html b/htdocs/dev/tests/bogus-fpi2.html new file mode 100755 index 0000000..9e0ab15 --- /dev/null +++ b/htdocs/dev/tests/bogus-fpi2.html @@ -0,0 +1,14 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> +<html> + <head> + <title>test document with a bogus FPI</title> + <meta name="revision" + content="$Id: bogus-fpi2.html,v 1.2 2004-07-21 15:07:05 link Exp $" + > + </head> + <body> + <p>This is a test document with a bogus FPI.</p> + <p>There is no "Strict" in the FPI for HTML 4.01 Strict.</p> + </body> +</html> + diff --git a/htdocs/dev/tests/index.html b/htdocs/dev/tests/index.html index 11aa4bc..8ecd0ae 100755 --- a/htdocs/dev/tests/index.html +++ b/htdocs/dev/tests/index.html @@ -1,5 +1,5 @@ -<!--#set var="revision" value="\$Id: index.html,v 1.45 2004-05-09 15:56:50 link Exp $" ---><!--#set var="date" value="\$Date: 2004-05-09 15:56:50 $" +<!--#set var="revision" value="\$Id: index.html,v 1.46 2004-07-21 15:07:05 link Exp $" +--><!--#set var="date" value="\$Date: 2004-07-21 15:07:05 $" --><!--#set var="title" value="The W3C Markup Validation Service: Tests" --><!--#set var="relroot" value="../../" --><!--#include virtual="../../header.html" --> @@ -89,12 +89,13 @@ <li><a href="../../check?uri=http://validator.w3.org:8000/">httpd on a non-standard port</a></li> <li><a href="../../check?uri=http://validator.w3.org/dev/tests/xhtml1-missing-doctype-and-xmlns.html;ss">XHTML, no DOCTYPE, no xmlns</a> (invalid)</li> <li><a href="../../check?uri=http://validator.w3.org/dev/tests/bogus-fpi.html;ss">bogus FPI</a></li> + <li><a href="../../check?uri=http://validator.w3.org/dev/tests/bogus-fpi2.html;ss">bogus FPI #2</a></li> <li><a href="../../check?uri=http://validator.w3.org/dev/tests/xhtml1-blank-1st-line.html;ss">XHTML1, blank first line</a> (<a href="http://lists.w3.org/Archives/Public/www-validator/2000JanMar/0144.html">should be marked as invalid</a>)</li> <li><a href="../../check?uri=http://validator.w3.org/dev/tests/xhtml1-bogus-element.html;ss">XHTML1, bogus element</a></li> <li><a href="../../check?uri=http://www.w3.org/2001/01/xml-latin1.html;ss;sp;noatt">us-ascii xml document with a latin1 character</a> (should be invalid)</li> <li><a href="../../check?uri=http://validator.w3.org/dev/tests/no-newlines.html;ss;sp;noatt">no newlines</a></li> - <li><a href="../../check?uri=file%3A///etc/passwd">a file: URI</a></li> + <li><a href="../../check?uri=file%3A///etc/passwd">a file: URL</a></li> <li><a href="../../check?uri=http://validator.w3.org/dev/tests/nonSGML-chars.html">Non-SGML Chars.</a></li> <li><a href="../../check?uri=http://validator.w3.org/dev/tests/shorttags.html">SHORTTAGS and -wunclosed..</a></li> <li><a href="../../check?uri=http://www.w3.org/1999/09/SVG-access/computer.svg">image/svg</a></li> diff --git a/htdocs/docs/errors.html b/htdocs/docs/errors.html index 43606d1..55184c1 100755 --- a/htdocs/docs/errors.html +++ b/htdocs/docs/errors.html @@ -1,5 +1,5 @@ -<!--#set var="revision" value="\$Id: errors.html,v 1.27 2004-05-09 15:56:50 link Exp $" ---><!--#set var="date" value="\$Date: 2004-05-09 15:56:50 $" +<!--#set var="revision" value="\$Id: errors.html,v 1.28 2004-07-21 15:07:10 link Exp $" +--><!--#set var="date" value="\$Date: 2004-07-21 15:07:10 $" --><!--#set var="title" value="Error Explanations for The W3C Markup Validation Service" --><!--#set var="relroot" value="../" --><!--#include virtual="../header.html" --> @@ -504,7 +504,7 @@ <ul> <li> <p> - A reference to a <abbr title="Uniform Resource Identifier">URI</abbr> + A reference to a <abbr title="Uniform Resource Locator">URL</abbr> that uses "<code class="inline">&</code>" as a separator between parameters, such as "<code class="inline">http://example.com/cgi-bin/prog?x=1&y=2</code>". diff --git a/htdocs/docs/help.html b/htdocs/docs/help.html index 5f5bba9..9a29828 100755 --- a/htdocs/docs/help.html +++ b/htdocs/docs/help.html @@ -1,5 +1,5 @@ -<!--#set var="revision" value="\$Id: help.html,v 1.15 2004-05-09 15:56:50 link Exp $" ---><!--#set var="date" value="\$Date: 2004-05-09 15:56:50 $" +<!--#set var="revision" value="\$Id: help.html,v 1.16 2004-07-21 15:07:10 link Exp $" +--><!--#set var="date" value="\$Date: 2004-07-21 15:07:10 $" --><!--#set var="title" value="Help for The W3C Markup Validation Service" --><!--#set var="relroot" value="../" --><!--#include virtual="../header.html" --> @@ -91,7 +91,7 @@ mailing-list.</p> </li> <li> <a href="#faq-referer">/check/referer does not work</a> or the validator says it does not support - my <a href="#faq-referer">"undefined" URI scheme</a> + my <a href="#faq-referer">"undefined" URL scheme</a> </li> </ul> </li> @@ -452,7 +452,7 @@ of WDG's excellent </p> <h4 id="faq-referer">/check/referer does not work - or - the validator says it does not support - my "undefined" URI scheme</h4> + my "undefined" URL scheme</h4> <p>Browsers and other Web agents usually send information about the page they come from, in a <code>Referer</code> header. The validator uses this information for a features that allows @@ -461,8 +461,8 @@ of WDG's excellent <p>Unfortunately, some zealous "security software" or Web proxies strip the referrer information from what the browser sends. Without this information the validator is not able to - find what the URI of the document to validate is, and gives the same error message as when it is - given a type of URI it does not understand.</p> + find what the URL of the document to validate is, and gives the same error message as when it is + given a type of URL it does not understand.</p> <p><strong>How to fix</strong>:</p> <ul> diff --git a/htdocs/docs/install.html b/htdocs/docs/install.html index 7f49476..ceba820 100755 --- a/htdocs/docs/install.html +++ b/htdocs/docs/install.html @@ -1,5 +1,5 @@ -<!--#set var="revision" value="\$Id: install.html,v 1.2 2004-05-09 15:56:50 link Exp $" ---><!--#set var="date" value="\$Date: 2004-05-09 15:56:50 $" +<!--#set var="revision" value="\$Id: install.html,v 1.3 2004-07-21 15:07:10 link Exp $" +--><!--#set var="date" value="\$Date: 2004-07-21 15:07:10 $" --><!--#set var="title" value="Installation Documentation for The W3C Markup Validation Service" --><!--#set var="relroot" value="../" --><!--#include virtual="../header.html" --> @@ -23,6 +23,7 @@ </ul> </li> <li><a href="#install-troubleshoot">Installation troubleshooting</a></li> + <li><a href="#post-install">Post-install options</a></li> <li><a href="#credits">Credits and Acknowledgments</a></li> </ul> </div> @@ -67,10 +68,10 @@ <p> Apart from a properly configured Web server, the Validator needs a - SGML parser -- that does all the hard work -- and several Perl - modules used by the "check" CGI script. + SGML parser -- that does all the hard work --, Perl (version 5.6.0 + or newer) and several Perl modules used by the "check" CGI script. </p> - <h5>SGML Parser: Open SP</h5> + <h5>SGML Parser: OpenSP</h5> <p> The SGML parser we're currently using is <code>OpenSP 1.5</code>, which can be found on the @@ -85,44 +86,57 @@ can be found on <a href="http://www.cpan.org/">CPAN</a> (minimum versions in parenthesis after the name). The following list was complete when CVS spit out: - <code>$Date: 2004-05-09 15:56:50 $</code>. <tt>:-)</tt> + <code>$Date: 2004-07-21 15:07:10 $</code>. <tt>:-)</tt> </p> - <p>One easy - and strongly recommended - way to take care of all these Perl module dependencies is to - install the <a href="http://search.cpan.org/dist/Bundle-W3C-Validator/">bundle available through CPAN</a> - as Bundle-W3C-Validator.</p> + <p> + One easy - and strongly recommended - way to take care of all these + Perl module dependencies is to install + <a href="http://search.cpan.org/dist/Bundle-W3C-Validator/">Bundle-W3C-Validator</a> + from CPAN. See the <a href="http://search.cpan.org/dist/Bundle-W3C-Validator/lib/Bundle/W3C/Validator.pm">documentation included with it</a> + for more details. + </p> - <h5>List of required Perl modules</h5> + <h5>List of required Perl module distributions</h5> <dl> - <dt><code>CGI (2.81)</code></dt> + <dt><a href="http://search.cpan.org/dist/CGI.pm/">CGI.pm</a> >= 2.81</dt> <dd> The all-singing, all-dancing, everything-<em>and</em>-the-kitchen-sink, Perl CGI library. This takes care of all those niggly little bits of CGI for us and make options parsing and file upload a breeze. </dd> - <dt><code>CGI::Carp</code></dt> - <dd>CGI-aware warn()/die()</dd> - <dt><code>File::Spec</code></dt> - <dd>Portable file and path name operations.</dd> - <dt><code>HTML::Parser (3.25)</code></dt> - <dd>Minimal HTML Parser used for preparse and finding metadata.</dd> - <dt><code>LWP::UserAgent (1.90)</code></dt> + <dt><a href="http://search.cpan.org/dist/Config-General/">Config-General</a></dt> + <dd> + Configuration file handling. + </dd> + <dt><a href="http://search.cpan.org/dist/HTML-Parser/">HTML-Parser</a> >= 3.25</dt> + <dd> + Minimal HTML parser used for preparse and finding metadata. + </dd> + <dt><a href="http://search.cpan.org/dist/libwww-perl/">libwww-perl</a> >= 5.60</dt> <dd> Gisle Aas' most excellent WWW library for Perl. This is where our support for downloading pages off the net comes from. </dd> - <dt><code>Set::IntSpan</code></dt><dd>Efficient Set operations.</dd> - <dt><code>Text::Iconv</code></dt> + <dt><a href="http://search.cpan.org/dist/Net-IP/">Net-IP</a></dt> + <dd> + IP address manipulation. + </dd> + <dt><a href="http://search.cpan.org/dist/Set-IntSpan/">Set-IntSpan</a></dt> + <dd> + Efficient set operations. + </dd> + <dt><a href="http://search.cpan.org/dist/Text-Iconv/">Text-Iconv</a></dt> <dd> Perl-native interface to the (g)libc iconv(3) library. Handles character set conversion issues. </dd> - <dt><code>Text::Wrap</code></dt> - <dd>Wrap text to a sane width. Needed for source output in results.</dd> - <dt><code>URI::Escape</code></dt> - <dd>Module to handle escaping special characters in URIs.</dd> + <dt><a href="http://search.cpan.org/dist/URI/">URI</a></dt> + <dd> + Library to handle URIs and escaping special characters in them. + </dd> </dl> <h4><a id="install-components" name="install-components"></a>Install the various necessary components:</h4> @@ -167,8 +181,8 @@ <dl> <dt>eref.cfg</dt> <dd> - Contains the mappings from element names to an URI fragment - (relative to a configurable URI) for their definitions. Used + Contains the mappings from element names to an URL fragment + (relative to a configurable URL) for their definitions. Used in output when the "Show Source Input" option is enabled. </dd> <dt>fpis.cfg</dt> @@ -177,7 +191,7 @@ </dd> <dt>frag.cfg</dt> <dd> - Maps error messages to an URI fragment identifier where an + Maps error messages to an URL fragment identifier where an explanation of that error can be found. </dd> <dt>type.cfg</dt> @@ -274,7 +288,7 @@ <h4>The miracle debug options</h4> <p>If the validator is misbehaving, you can try forcing various debug options by appending to - the URI the following string: <kbd>&debug=1&errors=1&esis=1&verbose=1</kbd></p> + the URL the following string: <kbd>&debug=1&errors=1&esis=1&verbose=1</kbd></p> <p>This can sometimes provide you with error messages that would not have appeared anywhere in non-debug mode, and can be helpful to diagnose the problem</p> @@ -283,6 +297,14 @@ <p>Don't hesitate to contact the public mailing-list www-validator@w3.org with all the details you can provide on what you did, tried, and what went wrong...</p> + <h3 id="post-install">Post-install options</h3> + <p>if the installation succeeded, you should be able to now use the Markup Validator on your own + system and network. You may want to give the validator a look and feel specific to your Web site. + The easiest way to achieve this is to edit <code>header.html</code> and <code>footer.html</code> + (in the <code>htdocs</code> directory), the header and footer markup snippets used to build all + pages for the validator.</p><p> You may also edit the Style Sheets (in the same directory), + especially <code>base.css</code> You may however want to avoid editing the other CSS files too + heavily, there is a risk you could make the output of the validator unusable.</p> </div> <div id="credits" class="stb"> diff --git a/htdocs/docs/users.html b/htdocs/docs/users.html index 1cd6f6f..0ecaea4 100755 --- a/htdocs/docs/users.html +++ b/htdocs/docs/users.html @@ -1,5 +1,5 @@ -<!--#set var="revision" value="\$Id: users.html,v 1.18 2004-05-09 15:56:50 link Exp $" ---><!--#set var="date" value="\$Date: 2004-05-09 15:56:50 $" +<!--#set var="revision" value="\$Id: users.html,v 1.19 2004-07-21 15:07:10 link Exp $" +--><!--#set var="date" value="\$Date: 2004-07-21 15:07:10 $" --><!--#set var="title" value="User Documentation for The W3C Markup Validation Service" --><!--#set var="relroot" value="../" --><!--#include virtual="../header.html" --> @@ -215,7 +215,7 @@ browser, the Validator has some experimental features to generate machine parseable output in a few different forms. To enable these output options, append "<code>;output=<option></code>" to the - URI of the Validation results (an interface for these options will be + URL of the Validation results (an interface for these options will be provided when they exit the beta stage). </p> <p class="shout" id="api-warning"> @@ -288,7 +288,7 @@ </p> <dl> <dt><code>uri</code></dt> - <dd>The URI of the document validated.</dd> + <dd>The URL of the document validated.</dd> <dt><code>modified</code></dt> <dd>The Last-Modified header field of the document as free-form text.</dd> <dt><code>server</code></dt> @@ -340,7 +340,7 @@ <p> This site uses "comma tools", as does <a href="http://www.w3.org/,tools">W3C</a> and other sites. This means you can append a string (starting with a comma, hence - the name) to the URI (address) of any page on the site and trigger + the name) to the URL (address) of any page on the site and trigger a few administrative or technical tools for this page. </p> <p> @@ -360,7 +360,7 @@ A plain text version of the page. </td> <td class="comma-tool"> - <a href="http://www.w3.org/Web/Tools/html2txt">HTML2Text</a> + <a href="http://cgi.w3.org/cgi-bin/html2txt">HTML2Text</a> </td> <td class="comma-shortcut"> ,text diff --git a/htdocs/docs/why.html b/htdocs/docs/why.html index 40d4281..e594ec1 100755 --- a/htdocs/docs/why.html +++ b/htdocs/docs/why.html @@ -1,9 +1,9 @@ -<!--#set var="revision" value="\$Id: why.html,v 1.7 2004-05-09 15:56:50 link Exp $" ---><!--#set var="date" value="\$Date: 2004-05-09 15:56:50 $" +<!--#set var="revision" value="\$Id: why.html,v 1.8 2004-07-21 15:07:10 link Exp $" +--><!--#set var="date" value="\$Date: 2004-07-21 15:07:10 $" --><!--#set var="title" value="Why Validate?" --><!--#set var="relroot" value="../" --><!--#include virtual="../header.html" --> - <div id="skip" name="skip" class="colophon"> + <div id="skip" class="colophon"> <h2>Why Validate?</h2> <p> This document attempts to answer the questions many people have diff --git a/htdocs/favelets.html b/htdocs/favelets.html index 805728f..209b9f0 100755 --- a/htdocs/favelets.html +++ b/htdocs/favelets.html @@ -1,5 +1,5 @@ -<!--#set var="revision" value="\$Id: favelets.html,v 1.6 2004-05-09 15:56:49 link Exp $" ---><!--#set var="date" value="\$Date: 2004-05-09 15:56:49 $" +<!--#set var="revision" value="\$Id: favelets.html,v 1.7 2004-07-21 15:06:55 link Exp $" +--><!--#set var="date" value="\$Date: 2004-07-21 15:06:55 $" --><!--#set var="title" value="Favelets For The W3C Markup Validation Service" --><!--#set var="relroot" value="./" --><!--#include virtual="header.html" --> @@ -19,7 +19,7 @@ the <a class="offsite" title="The Internet Archive WayBack Machine" href="http://www.archive.org/">WayBack Machine</a>. More Favelets can be found from - <URI:<a href="http://favelets.com/">http://favelets.com/</a>>. + <<a href="http://favelets.com/">http://favelets.com/</a>>. </p> <p> <a href="http://favelets.com/">Favelets</a> depend on support for diff --git a/htdocs/feedback.html b/htdocs/feedback.html index 99a4483..d6f1c13 100755 --- a/htdocs/feedback.html +++ b/htdocs/feedback.html @@ -1,5 +1,5 @@ -<!--#set var="revision" value="\$Id: feedback.html,v 1.19 2004-05-09 15:56:49 link Exp $" ---><!--#set var="date" value="\$Date: 2004-05-09 15:56:49 $" +<!--#set var="revision" value="\$Id: feedback.html,v 1.20 2004-07-21 15:06:55 link Exp $" +--><!--#set var="date" value="\$Date: 2004-07-21 15:06:55 $" --><!--#set var="title" value="How To Provide Feedback for The W3C Markup Validation Service" --><!--#set var="relroot" value="./" --><!--#include virtual="header.html" --> @@ -23,7 +23,7 @@ For the W3C Markup Validator</h2> </p> <ul> <li>Validating pages with &'s in <acronym - title="Universal Resource Identifiers">URIs</acronym>: + title="Universal Resource Locators">URLs</acronym>: see <a href="http://www.htmlhelp.com/tools/validator/problems.html#amp">Ampersands (&'s) in <acronym @@ -76,7 +76,7 @@ For the W3C Markup Validator</h2> <dt>If you want to report a bug or log a feature request:</dt> <dd> <p> - The W3C Maintains a public bug tracking database known as <a + The W3C maintains a public bug tracking database known as <a href="http://www.w3.org/Bugs/Public/">Bugzilla</a> where developers and other technical users can log bug reports and feature suggestions directly. If you are not familiar with issue tracking systems in general diff --git a/htdocs/file-upload.html b/htdocs/file-upload.html index 4a0216a..f68b480 100755 --- a/htdocs/file-upload.html +++ b/htdocs/file-upload.html @@ -1,5 +1,5 @@ -<!--#set var="revision" value="\$Id: file-upload.html,v 1.18 2004-05-09 15:56:49 link Exp $" ---><!--#set var="date" value="\$Date: 2004-05-09 15:56:49 $" +<!--#set var="revision" value="\$Id: file-upload.html,v 1.19 2004-07-21 15:06:55 link Exp $" +--><!--#set var="date" value="\$Date: 2004-07-21 15:06:55 $" --><!--#set var="title" value="W3C Markup Validation Service: Upload Files" --><!--#set var="relroot" value="./" --><!--#include virtual="header.html" --> @@ -27,7 +27,7 @@ <p> If your document is on the Web, you can validate it with the same advanced options - by <a title="Validate files by URI" href="detailed.html">entering its address</a> instead. + by <a title="Validate files by URL" href="detailed.html">entering its address</a> instead. </p> <!--#include virtual="footer.html" --> diff --git a/htdocs/footer.html b/htdocs/footer.html index 5a6b4cb..6375b0a 100755 --- a/htdocs/footer.html +++ b/htdocs/footer.html @@ -8,12 +8,12 @@ <a title="Send Feedback for the W3C Markup Validation Service" href="<!--#echo var="relroot" -->feedback.html">The W3C Validator Team</a><br /> <!--#echo var="date" --> - <!-- SSI Template Version: $Id: footer.html,v 1.9 2004-05-09 15:56:49 link Exp $ --> + <!-- SSI Template Version: $Id: footer.html,v 1.10 2004-07-21 15:06:55 link Exp $ --> </address> <p class="copyright"> <a rel="Copyright" href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 1994-2004 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a>® - (<a href="http://www.lcs.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, + (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.org/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. diff --git a/htdocs/fragment-upload.html b/htdocs/fragment-upload.html index cf033e0..0fbaf2f 100755 --- a/htdocs/fragment-upload.html +++ b/htdocs/fragment-upload.html @@ -1,5 +1,5 @@ -<!--#set var="revision" value="\$Id: fragment-upload.html,v 1.8 2003-02-24 23:33:18 ville Exp $" ---><!--#set var="date" value="\$Date: 2003-02-24 23:33:18 $" +<!--#set var="revision" value="\$Id: fragment-upload.html,v 1.9 2004-07-21 15:06:55 link Exp $" +--><!--#set var="date" value="\$Date: 2004-07-21 15:06:55 $" --><!--#set var="title" value="W3C Markup Validation Service: Validate Fragment" --><!--#set var="relroot" value="./" --><!--#include virtual="header.html" --> @@ -60,7 +60,7 @@ <p> If your document is on the Web, you can validate - it by <a title="Validate files by URI" href="./">entering its address</a> instead. + it by <a title="Validate files by URL" href="./">entering its address</a> instead. </p> <!--#include virtual="footer.html" --> diff --git a/htdocs/header.html b/htdocs/header.html index 46d3b1a..cddb991 100755 --- a/htdocs/header.html +++ b/htdocs/header.html @@ -12,7 +12,7 @@ <meta name="description" content="W3C's easy-to-use HTML validation service, based on an SGML parser." /> <meta name="revision" content="<!--#echo var="revision" -->" /> - <!-- SSI Template Version: $Id: header.html,v 1.25 2004-05-09 15:56:49 link Exp $ --> + <!-- SSI Template Version: $Id: header.html,v 1.26 2004-07-21 15:06:55 link Exp $ --> </head> <body> @@ -21,7 +21,7 @@ <a href="http://www.w3.org/"><img height="48" alt="W3C" id="logo" src="http://www.w3.org/Icons/WWW/w3c_home" /></a> <a href="http://www.w3.org/QA/"><img src="http://www.w3.org/QA/2002/12/qa-small.png" alt="QA" /></a> Markup Validation Service</h1> - <span id="versioninfo"><abbr title="version">v</abbr>0.6.5</span> + <span id="versioninfo"><abbr title="version">v</abbr>0.6.6</span> </div> <ul class="navbar" id="menu"> <li><span class="hideme"><a href="#skip" accesskey="s" title="Skip past navigation to main part of page">Skip Navigation</a> |</span> diff --git a/htdocs/images/footer.jpg b/htdocs/images/footer.jpg Binary files differnew file mode 100644 index 0000000..a862fb2 --- /dev/null +++ b/htdocs/images/footer.jpg diff --git a/htdocs/images/vh401.png b/htdocs/images/vh401.png Binary files differindex 3855210..7cd17ee 100644 --- a/htdocs/images/vh401.png +++ b/htdocs/images/vh401.png diff --git a/htdocs/index.html b/htdocs/index.html index b9fda2f..84def33 100755 --- a/htdocs/index.html +++ b/htdocs/index.html @@ -1,5 +1,5 @@ -<!--#set var="revision" value="\$Id: index.html,v 1.59 2004-05-09 15:56:49 link Exp $" ---><!--#set var="date" value="\$Date: 2004-05-09 15:56:49 $" +<!--#set var="revision" value="\$Id: index.html,v 1.60 2004-07-21 15:06:55 link Exp $" +--><!--#set var="date" value="\$Date: 2004-07-21 15:06:55 $" --><!--#set var="title" value="The W3C Markup Validation Service" --><!--#set var="relroot" value="./" --><!--#include virtual="header.html" --> @@ -15,18 +15,16 @@ <div> <h2>Validate Your Markup</h2> - <fieldset class="front"><legend>Validate by URI</legend> + <fieldset class="front"><legend>Validate by URL</legend> <form method="get" action="check"> <p> <label title="Address of page to Validate" for="uri">Address: <input id="uri" name="uri" size="40" /></label> - <label title="Submit URI for validation"><input type="submit" value="Check" /></label> - <input type="hidden" name="verbose" value="0" /> - <!-- <input type="hidden" name="fussy" value="0" /> --> + <label title="Submit URL for validation"><input type="submit" value="Check" /></label> </p> </form> <p> - Enter the <abbr title="Uniform Resource Identifier">URI</abbr> of the page + Enter the <abbr title="Uniform Resource Locator">URL</abbr> of the page you want to check. Advanced options are available from the <a title="Extended Interface to the W3C Markup Validation Service" href="detailed.html">Extended Interface</a>. @@ -39,8 +37,6 @@ <label title="Choose a Local File to Upload and Validate" for="uploaded_file">Local File: <input type="file" id="uploaded_file" name="uploaded_file" size="30" /></label> <label title="Submit file for validation"><input type="submit" value="Check" /></label> - <input type="hidden" name="verbose" value="0" /> - <!-- <input type="hidden" name="fussy" value="0" /> --> </p> </form> <p> @@ -55,11 +51,24 @@ <div id="recent"> <h2>Recent Updates</h2> <dl> - <dt><a href="whatsnew.html#t2004-05-07">2004-05-07</a></dt> - <dd>Released version 0.6.5, a maintenance release easier to use and install, - featuring new documentation, simpler navigation, new recovery mechanisms instead of fatal errors, - and offering explanations in addition to error messages.</dd> - <dt><a href="whatsnew.html#t2002-12-01">2002-12-01</a></dt> + <dt><a href="whatsnew.html#t2004-05-21">2004-05-21</a>: + Markup Validator v0.6.6 Released</dt> + <dd> + Released version 0.6.6, a maintenance release that fixes a few minor + bugs, resurrects the whitespace-preserving source display, adds + explanations for additional error messages, and makes some slight + tweaks to the website style. + </dd> + <dt><a href="whatsnew.html#t2004-05-07">2004-05-07</a>: + Markup Validator v0.6.5 Released</dt> + <dd> + Released version 0.6.5, a maintenance release easier to use and + install, featuring new documentation, simpler navigation, new recovery + mechanisms instead of fatal errors, and offering explanations in + addition to error messages. + </dd> + <dt><a href="whatsnew.html#t2002-12-01">2002-12-01</a>: + Markup Validator v0.6.1 Released</dt> <dd>Released version 0.6.1, a maintenance release to fix minor bugs.</dd> </dl> <p class="intro"> diff --git a/htdocs/loadexplanation.js b/htdocs/loadexplanation.js index c5a8010..fa6cc5d 100644 --- a/htdocs/loadexplanation.js +++ b/htdocs/loadexplanation.js @@ -6,7 +6,7 @@ if (w && d && d.getElementsByTagName){ } function doubleUp() { glist=d.getElementsByTagName("DIV") - upto(10) + upto(1) } function upto(n) { if (n<glist.length) { diff --git a/htdocs/navbar.css b/htdocs/navbar.css index 2ad35dc..cd670cc 100644 --- a/htdocs/navbar.css +++ b/htdocs/navbar.css @@ -4,7 +4,7 @@ Copyright 2000-2004 W3C (MIT, INRIA, Keio). All Rights Reserved. See http://www.w3.org/Consortium/Legal/ipr-notice.html#Copyright - $Id: navbar.css,v 1.7 2004-05-09 15:56:49 link Exp $ + $Id: navbar.css,v 1.8 2004-07-21 15:06:55 link Exp $ */ html { @@ -117,13 +117,12 @@ html { text-decoration: underline; } - /* Jump Bar - results page*/ .jumpbar { float: right; width: 8em; - margin-right: -.4em; /* FIXME - find the exact value - */ +/* margin-right: -.4em; */ /* FIXME - find the exact value - */ text-align: left; text-decoration: none; padding: 1ex; @@ -132,20 +131,27 @@ html { border-bottom: 1px solid black; margin-top: -1.3em; font-size: smaller; + font-weight: bold; } -div.jumpbar ul { +.jumpbar ul { padding: 0; margin: 0; } -div.jumpbar li { +.jumpbar li { list-style-type: none; + text-align: right; +} + +div.jumpbar li a:hover { + background: #fff; + text-decoration: underline; } -div.jumpbar li a:link, div.jumpbar li a:visited { +.jumpbar li a:link, .jumpbar li a:visited { text-decoration: none; - text-align: center; + text-align: right; display: block; width: 8em; padding: 2px 0px; @@ -156,11 +162,7 @@ div.jumpbar li a:link, div.jumpbar li a:visited { border-top: dotted 1px black; } -div.jumpbar li a:hover { - text-decoration: underline; -} - -div.jumpbar li a#selected:link, div.jumpbar li a#selected:visited { +.jumpbar li a#selected:link, .jumpbar li a#selected:visited { text-decoration: underline; background-color: #fff; color: #053188; diff --git a/htdocs/non-netscape.css b/htdocs/non-netscape.css deleted file mode 100644 index 87aa48b..0000000 --- a/htdocs/non-netscape.css +++ /dev/null @@ -1,12 +0,0 @@ -/* - non-netscape.css - CSS that is hidden from NS 4.x - $Id: non-netscape.css,v 1.1 2001-08-28 00:35:56 link Exp $ -*/ -p.navbar { - float: right; - text-align: right; -} - -.nsnote { - display: none; -} diff --git a/htdocs/results.css b/htdocs/results.css index a03d334..b0f6a89 100644 --- a/htdocs/results.css +++ b/htdocs/results.css @@ -1,40 +1,42 @@ /* style sheet for the validator's results page */ -/* $Id: results.css,v 1.18 2004-05-09 15:56:49 link Exp $ */ +/* $Id: results.css,v 1.19 2004-07-21 15:06:55 link Exp $ */ .input { color: black; background-color: #eee; - font-family: "Bitstream Vera Mono", monospace; + font-family: "Bitstream Vera Sans Mono", monospace; font-size: small; } -/* The "Jump To" links in result pages. */ -.jumpbar { - float: left; - width: 12ex; - text-align: left; - text-decoration: none; - padding: 1ex; - background-color: #eee; - border-top: 1px solid #eee; - border-right: 1px solid black; - border-bottom: 1px solid black; - margin-top: -1.3em; - font-weight: bolder; - font-size: smaller; +/* Various Bits of the Table Header */ +/* +*/ +fieldset div.moreinfo { + float: right; + width: 30%; } -div.jumpbar ul { - padding: 0; - margin: 0; +fieldset div.moreinfo p { + background: #FFF; + border: 1px solid #CCC; + text-align: justify; + font-size: smaller; } -div.jumpbar li { - list-style-type: none; +fieldset div.cheat { + clear: both; +} + + +table.header { + clear: left; + margin-left: auto; + margin-right: auto; } -p.jumpbar a:hover { - background: #ccc; +fieldset table.header { + float: left; + margin: 1ex; } /* Error Messages Display */ @@ -46,7 +48,6 @@ p.jumpbar a:hover { .ve { font-size: smaller; - clear: left; padding: 0; width: 100%; } @@ -55,23 +56,21 @@ p.jumpbar a:hover { line-height: 100%; font-style: italic; font-size: small; - margin: 0; + margin: 1ex 5em 1ex 1em; + text-align: justify; } -.ve p.helpwanted { - float: right; - width: 30ex; - border: 1px solid black; - background: #eee; - font-size: smaller; - line-height: 120%; - padding: 1ex; - text-align: justify; - margin: 0; +p.helpwanted { + margin-left: auto; + margin-right: auto; + font-size: x-small; + color: #888; + text-align: right; } -.helpwanted em { - font-weight: bolder; +p.helpwanted a { + color: #88f; + text-decoration: none; } ol#errors code { @@ -93,35 +92,20 @@ ol#errors li { /* */ #source div { -/* where the source is actually displayed */ + font-family: "Bitstream Vera Sans Mono", monospace; + font-size: smaller; background: #eee; border: 1px solid black; - margin-right: 1em; - margin-left: 1em; - padding-left: 1em; - padding-right: 1em; + margin: 1em; } - -#source code { - white-space: normal; - font-family: "Bitstream Vera Mono", monospace; - font-size: smaller; +#source div pre { + margin: 1em; } - -fieldset { - color: black; - clear: left; - margin-left: auto; - margin-right: auto; - background-color: #eeeeee; -} - -fieldset legend { - background-color: #eee; - border-right: 1px solid gray; - border-bottom: 1px solid gray; - font-weight: bold; +#source div pre a { + color: inherit; + background-color: transparent; + text-decoration: none; } @@ -245,7 +229,7 @@ h2.valid { .valid { background: #053188; color: white; - font-family: sans-serif; + font-family: "Bitstream Vera Sans", sans-serif; font-size-adjust: .53; font-size: 1.5em; font-weight: 500; @@ -297,7 +281,7 @@ h2.invalid { .invalid { background: #880531; color: white; - font-family: sans-serif; + font-family: "Bitstream Vera Sans", sans-serif; font-size-adjust: .53; font-size: 1.5em; font-weight: 500; diff --git a/htdocs/sgml-lib/sgml.soc b/htdocs/sgml-lib/sgml.soc index a5aaca8..f28412d 100644 --- a/htdocs/sgml-lib/sgml.soc +++ b/htdocs/sgml-lib/sgml.soc @@ -1,6 +1,5 @@ - -- SGML catalog for the W3C Markup Validation Service -- - -- $Id: sgml.soc,v 1.5 2003-05-24 20:32:46 link Exp $ -- + -- $Id: sgml.soc,v 1.6 2004-07-21 15:07:20 link Exp $ -- OVERRIDE YES -- prefer public identifiers to system identifiers -- SGMLDECL sgml.dcl @@ -151,5 +150,8 @@ PUBLIC "-//W3C//ENTITIES Symbolic//EN//HTML" REC-html401-19991224/HTMLsymbol.ent PUBLIC "-//bebop.net//DTD HTML Apple Help 1.0//EN" AppleHelp1.0.dtd + -- Do not prefer document type name over a SYSTEM Identifier. -- +OVERRIDE NO + -- Fallback for HTML documents if no FPI is given. -- -DOCTYPE html REC-html401-19991224/loose.dtd +DOCTYPE html sgml.dtd diff --git a/htdocs/source/index.html b/htdocs/source/index.html index 2f2e2ec..5beecb3 100755 --- a/htdocs/source/index.html +++ b/htdocs/source/index.html @@ -1,5 +1,5 @@ -<!--#set var="revision" value="\$Id: index.html,v 1.30 2004-05-09 15:56:52 link Exp $" ---><!--#set var="date" value="\$Date: 2004-05-09 15:56:52 $" +<!--#set var="revision" value="\$Id: index.html,v 1.31 2004-07-21 15:07:26 link Exp $" +--><!--#set var="date" value="\$Date: 2004-07-21 15:07:26 $" --><!--#set var="title" value="Source Code Availability for The W3C Markup Validation Service" --><!--#set var="relroot" value="../" --><!--#include virtual="../header.html" --> @@ -32,8 +32,8 @@ terms of the <a href="http://www.w3.org/Consortium/Legal/copyright-software"><acronym title="World Wide Web Consortium">W3C</acronym> - Software License</a>. Tarballs of the source, and available binary - distributions, of the latest production version is always available at + Software License</a>. Source tarball of the latest production + version is always available at <<a href="http://validator.w3.org/validator.tar.gz">http://validator.w3.org/validator.tar.gz</a>>. Development code is only available from CVS. </p> @@ -59,23 +59,24 @@ <p> If you want a copy of all the files that make up the service, you can download a tarball of <a href="http://validator.w3.org/validator.tar.gz">the code</a> - (~161kB) and <a href="http://validator.w3.org/sgml-lib.tar.gz">the <acronym - title="Document Type Definitions">DTDs</acronym></a> (~2.6MB). + (~266kB) and <a href="http://validator.w3.org/sgml-lib.tar.gz">the <acronym + title="Document Type Definitions">DTDs</acronym></a> (~3.2MB). </p> <h4><a id="rpm" name="rpm"></a>RPM package</h4> <p> RPM packages are available, courtesy of Ville Skyttä, at - <<a href="http://cachalot.mine.nu/1/">http://cachalot.mine.nu/1/</a>>. + Fedora Extras, + <<a href="http://www.fedora.us/">http://www.fedora.us/</a>>. </p> <p> The RPMs have only been tested on - <a href="http://fedora.redhat.com/">Fedora</a> Core 1, + <a href="http://fedora.redhat.com/">Fedora</a> Core 1 and 2, but should be adaptable to other RPM based systems. </p> <p> Note that the Validator RPMs have several dependencies, you'll - have to get at least the following RPMs (other dependencies are - included in the Fedora Core distribution): + have to get at least the following RPMs from Fedora Extras (other + dependencies are included in the Fedora Core distribution): </p> <ul> <li>w3c-markup-validator</li> @@ -88,12 +89,12 @@ <p> In addition, each of these may have further dependencies that must be satisfied. All the necessary RPMs are either included in - the Fedora Core distribution or are available from - <<a href="http://cachalot.mine.nu/1/">http://cachalot.mine.nu/1/</a>> or - <<a href="http://www.fedora.us/">http://www.fedora.us/</a>>. - Use of an automated package management tool, such as apt, up2date - or yum is strongly recommended. See the links above for more - information about getting and configuring these tools. + the Fedora Core distribution(s) or are available from + <a href="http://www.fedora.us/">Fedora Extras</a>. + Use of an automated package management tool to install the + packages, such as apt, up2date or yum is <em>strongly</em> + recommended. See the Fedora Extras documentation for information + about getting and configuring these tools. </p> <h4><a name="deb" id="deb"></a>Debian package</h4> <p> @@ -137,7 +138,7 @@ bash$ <kbd>cvs login</kbd> (Logging in to anonymous@dev.w3.org) CVS password: <kbd>anonymous</kbd> - bash$ <kbd>cvs get -r validator-0_6_5 validator</kbd> + bash$ <kbd>cvs get -r validator-0_6_6-release validator</kbd> cvs server: Updating validator cvs server: Updating validator/htdocs U validator/htdocs/about.html diff --git a/htdocs/whatsnew.html b/htdocs/whatsnew.html index 5411fef..19ac95f 100755 --- a/htdocs/whatsnew.html +++ b/htdocs/whatsnew.html @@ -1,5 +1,5 @@ -<!--#set var="revision" value="\$Id: whatsnew.html,v 1.39 2004-05-09 15:56:49 link Exp $" ---><!--#set var="date" value="\$Date: 2004-05-09 15:56:49 $" +<!--#set var="revision" value="\$Id: whatsnew.html,v 1.40 2004-07-21 15:06:55 link Exp $" +--><!--#set var="date" value="\$Date: 2004-07-21 15:06:55 $" --><!--#set var="title" value="What's New at The W3C Markup Validation Service" --><!--#set var="relroot" value="./" --><!--#include virtual="header.html" --> @@ -15,31 +15,53 @@ </p> </div> <dl> + <dt id="t2004-05-21">2004-05-21 — 0.6.6 Release:</dt> + <dd> + <p> + A maintenance release that fixes a +<a href="http://www.w3.org/Bugs/Public/buglist.cgi?product=Validator&target_milestone=0.6.6">few minor bugs</a>, + resurrects the + whitespace-preserving source display, adds explanations for additional + error messages, and makes some slight tweaks to the website style. + </p> + <p> + This version also tentatively fixes a bug where, for Document Instances + with a Document Type Name of "html", but with + an incorrect Formal Public Identifier, the Validator would fall back + to HTML 4.01 Transitional and, if no other errors were found, + silently ignore the erroneous FPI. + </p> + </dd> <dt id="t2004-05-07">2004-05-07 — 0.6.5 Release:</dt> <dd> - <p>Stable release including all the fixes and improvements made in consecutive beta versions - <a href="#t2004-04-30">0.6.5 Beta #3</a>, - <a href="#t2004-04-15">0.6.5 Beta #2</a>, - <a href="#t2003-08-26">0.6.5 Beta #1</a>, - <a href="http://lists.w3.org/Archives/Public/www-validator/2003Jun/0062.html">0.6.2 beta #2</a>, and - <a href="http://lists.w3.org/Archives/Public/www-validator/2003May/0069.html">0.6.2 beta #1</a> - </p> + <p> + Stable release including all the fixes and improvements made in + consecutive beta versions <a href="#t2004-04-30">0.6.5 Beta #3</a>, + <a href="#t2004-04-15">0.6.5 Beta #2</a>, + <a href="#t2003-08-26">0.6.5 Beta #1</a>, + <a href="http://lists.w3.org/Archives/Public/www-validator/2003Jun/0062.html">0.6.2 beta #2</a>, + and <a href="http://lists.w3.org/Archives/Public/www-validator/2003May/0069.html">0.6.2 beta #1</a> + </p> </dd> <dt id="t2004-04-30">2004-04-30 — 0.6.5 Beta #3:</dt> <dd> <p> - Testing version 0.6.5 Beta #3 of the Markup Validator; an intermediary - version including further layout, style and documentation improvements - over version 0.6.5 Beta #2, based on discussion and comments during - the testing phase of that version. - Changes include: - </p> - <ul> - <li>Simpler navigation system - removed the "links" navigation bar</li> - <li>More consistent layout</li> - <li>A few issues with the way some agents were dealing with our Style Sheets - were fixed. Other minor style fixes were also applied</li> - <li>Cleanup of grammar issues and typos in a large part of the documentation.</li> + Testing version 0.6.5 Beta #3 of the Markup Validator; an intermediary + version including further layout, style and documentation improvements + over version 0.6.5 Beta #2, based on discussion and comments during + the testing phase of that version. Changes include: + </p> + <ul> + <li>Simpler navigation system - removed the "links" navigation bar</li> + <li>More consistent layout</li> + <li> + A few issues with the way some agents were dealing with our Style + Sheets were fixed. Other minor style fixes were also applied. + </li> + <li> + Cleanup of grammar issues and typos in a large part of the + documentation. + </li> </ul> </dd> @@ -87,7 +109,7 @@ <li>Update ISO-HTML DTD to TC1.</li> <li>Update SVG 1.0 DTD to current Errata.</li> <li>Added support for ISO-8859-16 Encoding.</li> - <li>Added support for the data: URI scheme.</li> + <li>Added support for the data: URL scheme.</li> <li>The Link Checker in command-line mode now supports bundling of options.</li> <li>The Validator RPMs now try to integrate with the system catalog.</li> <li> @@ -365,7 +387,7 @@ <dd> <p> Added support for a parameter to check the referring Web page for - mistakes. To use it, just link to the following URI when linking to + mistakes. To use it, just link to the following URL when linking to the service <<a href="http://validator.w3.org/check/referer">http://validator.w3.org/check/referer</a>> (you can try the link to see how it works). </p> diff --git a/htdocs/xml-results.xsl b/htdocs/xml-results.xsl index 11462e2..e107ee8 100644 --- a/htdocs/xml-results.xsl +++ b/htdocs/xml-results.xsl @@ -26,7 +26,7 @@ <xsl:template match="meta"> <table id="meta" summary="Metadata concerning the page"> <tbody> - <tr><th scope="row">URI</th> <td><a><xsl:attribute name="href"><xsl:value-of select="uri"/></xsl:attribute></a></td></tr> + <tr><th scope="row">URL</th> <td><a><xsl:attribute name="href"><xsl:value-of select="uri"/></xsl:attribute></a></td></tr> <tr><th scope="row">Last Modified</th> <td><xsl:value-of select="modified"/></td></tr> <tr><th scope="row">Server</th> <td><xsl:value-of select="server"/></td></tr> <tr><th scope="row">Content-Length</th> <td><xsl:value-of select="size"/></td></tr> diff --git a/httpd/cgi-bin/check b/httpd/cgi-bin/check index 1dc43be..d63d758 100755 --- a/httpd/cgi-bin/check +++ b/httpd/cgi-bin/check @@ -3,13 +3,13 @@ # W3C Markup Validation Service # A CGI script to retrieve and validate a markup file # -# Copyright 1995-2002 Gerald Oskoboiny <gerald@w3.org> +# Copyright 1995-2004 Gerald Oskoboiny <gerald@w3.org> # for additional contributors, see http://dev.w3.org/cvsweb/validator/ # # This source code is available under the license at: # http://www.w3.org/Consortium/Legal/copyright-software # -# $Id: check,v 1.330 2004-05-21 15:42:50 link Exp $ +# $Id: check,v 1.331 2004-07-21 15:07:31 link Exp $ # # Disable buffering on STDOUT! @@ -48,6 +48,7 @@ use File::Spec qw(); use HTML::Parser 3.25 qw(); # Need 3.25 for $p->ignore_elements. use HTML::Template 2.6 qw(); use HTTP::Request qw(); +use HTTP::Headers::Auth qw(); # Needs to be imported after other HTTP::*. use IO::File qw(); use IPC::Open3 qw(open3); use LWP::UserAgent 1.90 qw(); # Need 1.90 for protocols_(allowed|forbidden) @@ -77,6 +78,7 @@ use constant T_INFO => 2; # 0000 0010 use constant T_WARN => 4; # 0000 0100 use constant T_ERROR => 8; # 0000 1000 use constant T_FATAL => 16; # 0001 0000 +use constant T_FALL => 32; # 0010 0000, Fallback in effect. # # Output flags for error processing @@ -187,7 +189,7 @@ The error reported was: '$@' # # Strings - $VERSION = q$Revision: 1.330 $; + $VERSION = q$Revision: 1.331 $; $VERSION =~ s/Revision: ([\d\.]+) /$1/; # @@ -316,6 +318,7 @@ if ($HAVE_SOAP_LITE) { # If ";debug" was given, let it overrule the value from the config file, # regardless of whether it's "0" or "1" (on or off). $DEBUG = $q->param('debug') if defined $q->param('debug'); + $File->{Opt}->{Verbose} = TRUE if $DEBUG; &abort_if_error_flagged($File, O_NONE); # Too early to &print_table. @@ -401,29 +404,37 @@ unless ($File->{Charset}->{Use}) { $File->{Charset}->{Use} = $File->{Charset}->{META}; } +# +# Handle any Fallback or Override for the charset. if (&conflict($File->{Opt}->{Charset}, '(detect automatically)')) { + # charset=foo was given to the CGI and it wasn't "autodetect". + + # + # Extract the user-requested charset from CGI param. my ($override, undef) = split(/\s/, $File->{Opt}->{Charset}, 2); $File->{Charset}->{Override} = lc($override); - unless ($File->{Charset}->{Use} and $File->{Opt}->{FB}->{Charset}) { - if ($File->{Opt}->{FB}->{Charset} and not $File->{Charset}->{Use}) { + + if ($File->{Opt}->{FB}->{Charset}) { + unless ($File->{Charset}->{Use}) { &add_warning($File, 'fallback', 'No Character Encoding Found!', <<".EOF."); # Warn about fallback... Falling back to "$File->{Charset}->{Override}" (<a href="docs/users.html#fbc">explain...</a>). .EOF. $File->{Tentative} |= T_ERROR; # Tag it as Invalid. - } else { - # Warn about Override... - unless ($File->{Charset}->{Override} eq $File->{Charset}->{Use}) { - my $cs_use = &ent($File->{Charset}->{Use}); - my $cs_opt = &ent($File->{Charset}->{Override}); - &add_warning($File, 'override', 'Character Encoding Override in effect!', <<".EOF."); + $File->{Charset}->{Use} = $File->{Charset}->{Override}; + } + } else { + # Warn about Override unless it's the same as the real charset... + unless ($File->{Charset}->{Override} eq $File->{Charset}->{Use}) { + my $cs_use = &ent($File->{Charset}->{Use}); + my $cs_opt = &ent($File->{Charset}->{Override}); + &add_warning($File, 'override', 'Character Encoding Override in effect!', <<".EOF."); The detected character encoding "<code>$cs_use</code>" has been suppressed and "<code>$cs_opt</code>" used instead. .EOF. - $File->{Tentative} |= T_ERROR; - } + $File->{Tentative} |= T_ERROR; + $File->{Charset}->{Use} = $File->{Charset}->{Override}; } - $File->{Charset}->{Use} = $File->{Charset}->{Override}; } } @@ -523,7 +534,7 @@ $File = &byte_error($File); # # Abort if an error was flagged during transcoding -&abort_if_error_flagged($File, O_SOURCE); +&abort_if_error_flagged($File, O_SOURCE|O_CHARSET); @@ -719,8 +730,8 @@ sub parse (\$) { } undef $spout; - if ($File->{ESIS}->[-1] =~ /^C$/) { - undef $File->{ESIS}->[-1]; + if (@{$File->{ESIS}} && $File->{ESIS}->[-1] =~ /^C$/) { + pop(@{$File->{ESIS}}); $File->{'Is Valid'} = TRUE; } else { $File->{'Is Valid'} = FALSE; @@ -735,6 +746,18 @@ sub parse (\$) { for (@{$File->{ESIS}}) { no warnings 'uninitialized'; next unless /^AVERSION CDATA (.*)/; + if ($1 eq '-//W3C//DTD HTML Fallback//EN') { + $File->{Tentative} |= (T_ERROR | T_FALL); + &add_warning($File, 'fallback', 'DOCTYPE Fallback in effect!', <<".EOF."); + The DOCTYPE Declaration in your document was not recognized. This + probably means that the Formal Public Identifier contains a spelling + error, or that the Declaration is not using correct syntax. Validation + has been performed using a default "fallback" Document Type Definition + that closely resembles HTML 4.01 Transitional, but the document will not + be Valid until you have corrected the problem with the DOCTYPE + Declaration. +.EOF. + } $File->{Version} = $1; last; } @@ -976,29 +999,43 @@ sub doctype_spiel { # # Proxy authentication requests. +# Note: expects the third argument to be a hash ref (see HTTP::Headers::Auth). sub authenticate { my $File = shift; my $resource = shift; - my $authHeader = shift; + my $authHeader = shift || {}; + my $realm = $resource; $realm =~ s([^\w\d.-]*){}g; - $authHeader =~ s( realm=([\'\"])?([^\1]+)\1){ realm="$realm-$2"}; + $resource = &ent($resource); + + for my $scheme (keys(%$authHeader)) { + my $origrealm = $authHeader->{$scheme}->{realm}; + if (!defined($origrealm) || lc($scheme) !~ /^(?:basic|digest)$/) { + delete($authHeader->{$scheme}); + next; + } + $authHeader->{$scheme}->{realm} = "$realm-$origrealm"; + } + + my $headers = HTTP::Headers->new(Connection => 'close'); + $headers->content_type('text/html; charset=utf-8'); + $headers->www_authenticate(%$authHeader); + $headers = $headers->as_string(); - print <<"EOF"; + print <<"EOF"; Status: 401 Authorization Required -WWW-Authenticate: $authHeader -Connection: close -Content-Type: text/html; charset=utf-8 +$headers <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> -<html lang="en" xml:lang="en"> +<html lang="en"> <head><title>401 Authorization Required</title></head> <body> <h1>Authorization Required</h1> - <p>Sorry, I am not authorized to access the specified URI.</p> + <p>Sorry, I am not authorized to access the specified URL.</p> <p> - The URI you specified, <<a href="$resource">$resource</a>>, + The URL you specified, <<a href="$resource">$resource</a>>, returned a 401 "authorization required" response when I tried to download it. </p> @@ -1062,14 +1099,14 @@ sub http_error { </blockquote> <p> - Please make sure you have entered the URI correctly. + Please make sure you have entered the URL correctly. </p> EOF } # -# Fetch an URI and return the content and selected meta-info. +# Fetch an URL and return the content and selected meta-info. sub handle_uri { my $q = shift; # The CGI object. my $File = shift; # The master datastructure. @@ -1117,7 +1154,8 @@ sub handle_uri { unless ($res->code == 200 || $File->{Opt}->{'No200'}) { if ($res->code == 401) { - &authenticate($File, $res->request->url, $res->www_authenticate); + my %auth = $res->www_authenticate(); # HTTP::Headers::Auth + &authenticate($File, $res->request->url, \%auth); } else { $File->{'Error Flagged'} = TRUE; $File->{'Error Message'} = &http_error($uri->as_string, $res->code, $res->message); @@ -1378,8 +1416,11 @@ sub override_doctype { my $declaration = sub { $seen = TRUE; + # No Override if Fallback was requested. - unless ($File->{Opt}->{FB}->{DOCTYPE}) { + if ($File->{Opt}->{FB}->{DOCTYPE}) { + $HTML .= $_[0]; # Stash it as is... + } else { # Comment it out and insert the new one... $HTML .= "$dtd\n" . '<!-- ' . $_[0] . ' -->'; $org_dtd = &ent($_[0]); } @@ -1450,11 +1491,17 @@ sub parse_errors ($$) { $err->{src} = $errors[1]; $err->{line} = $errors[2]; $err->{char} = $errors[3]; + # Workaround for onsgmls 1.5 sometimes reporting errors beyond EOL. + if ((my $l = length($File->{Content}->[$err->{line}-1])) < $err->{char}) { + $err->{char} = $l; + } $err->{num} = $errors[4] || ''; $err->{type} = $errors[5] || ''; if ($err->{type} eq 'E' or $err->{type} eq 'X' or $err->{type} eq 'Q') { $err->{msg} = join ':', @errors[6 .. $#errors]; } elsif ($err->{type} eq 'W') { + &add_warning($File, 'fake', 'Warning:', + "Line $err->{line}, column $err->{char}: " . &ent($errors[6])); $err->{msg} = join ':', @errors[6 .. $#errors]; } else { $err->{type} = 'I'; @@ -1544,7 +1591,7 @@ sub report_errors ($) { #DEBUG: Print misc. vars relevant to source display. if ($DEBUG) { - $line .= "<br/> <strong>org length: $orglength - adj length: $adjlength - org col: $orgcol - adj col: $adjcol</strong>"; + $line .= "<br /> <strong>org length: $orglength - adj length: $adjlength - org col: $orgcol - adj col: $adjcol</strong>"; } #DEBUG; @@ -1696,7 +1743,7 @@ sub outline { $heading =~ s/\\012/ /g; $heading =~ s/\\n/ /g; $heading =~ s/\s+/ /g; - $heading = substr($heading, 1); # chop the leading '-' or ' '. + $heading =~ s/^[- ]//; $heading = &ent($heading); $outline .= " <li>$heading</li>\n"; } @@ -1722,8 +1769,11 @@ sub source { $File->{Content}->[0] = substr $File->{Content}->[0], ($File->{BOM} ? 3 : 0); # remove BOM + my $line = 1; + my $maxhlen = length scalar @{$File->{Content}}; for (@{$File->{Content}}) { - push @source, {file_source_i => $line, file_source_line => ent $_}; + my $hline = (' ' x ($maxhlen - length("$line"))) . $line; + push @source, {file_source_i => $line, file_source_line => ent $hline}; $line++; } return \@source; @@ -1743,11 +1793,8 @@ sub parsetree { my $prevdata = ''; foreach my $line (@{$File->{ESIS}}) { - if ($File->{Opt}->{'No Attributes'}) { # don't show attributes - next if $line =~ /^A/; - next if $line =~ /^\(A$/; - next if $line =~ /^\)A$/; - } + + next if ($File->{Opt}->{'No Attributes'} && $line =~ /^A/); $line =~ s/\\n/ /g; $line =~ s/\\011/ /g; @@ -1773,15 +1820,19 @@ sub parsetree { my $printme; chomp($printme = $line); - $printme =~ s{^([()])(.*)} # reformat and add links on HTML elements - { my $close = ''; - $close = "/" if $1 eq ")"; # ")" -> close-tag - "<" . $close . "<a href=\"" . - $CFG->{Element_Ref_URI} . $CFG->{Element_Map}->{lc($2)} . - "\">$2<\/a>>" - }egx; - $printme =~ s,^A, A,; # indent attributes a bit + if (my ($close, $elem) = $printme =~ /^([()])(.+)/) { + # reformat and add links on HTML elements + $close = ($close eq ')') ? '/' : ''; # ")" -> close-tag + if (my $u = $CFG->{'Element Map'}->{lc($elem)}) { + $elem = '<a href="' . $CFG->{'Element Ref URI'} . "$u\">$elem</a>"; + } + $printme = "<$close$elem>"; + } else { + $printme =~ s,^A, A,; # indent attributes a bit + } + $tree .= ' ' x $indent . $printme . "\n"; + if ($line =~ /^\(/) { $indent += 2; } @@ -1895,7 +1946,7 @@ sub prepCGI { } } - # Futz the URI so "/referer" works. + # Futz the URL so "/referer" works. if ($q->path_info) { if ($q->path_info eq '/referer' or $q->path_info eq '/referrer') { if ($q->referer) { @@ -1917,7 +1968,7 @@ sub prepCGI { $q->param('uri', $q->param('url')); } - # Munge the URI to include commonly omitted prefix. + # Munge the URL to include commonly omitted prefix. my $u = $q->param('uri'); $q->param('uri', "http://$u") if $u && $u =~ m(^www)i; @@ -1934,6 +1985,7 @@ sub prepCGI { $File->{'Error Flagged'} = TRUE; $File->{'Error Message'} = <<".EOF."; <div class="error"> + <a id="skip" name="skip"></a> <h2><strong>No Referer header found!</strong></h2> <p> You have requested we check the referring page, but your browser did @@ -1948,20 +2000,20 @@ sub prepCGI { Please use the form interface on the <a href="$CFG->{'Home Page'}">Validator Home Page</a> (or the <a href="detailed.html">Extended Interface</a>) to check the - page by URI. + page by URL. </p> </div> .EOF. } } - # Supersede URI with an uploaded file. + # Supersede URL with an uploaded file. if ($q->param('uploaded_file')) { $q->param('uri', 'upload://' . $q->param('uploaded_file')); $File->{'Is Upload'} = TRUE; # Tag it for later use. } - # Supersede URI with an uploaded fragment. + # Supersede URL with an uploaded fragment. if ($q->param('fragment')) { $q->param('uri', 'upload://Form Submission'); $File->{'Is Upload'} = TRUE; # Tag it for later use. @@ -2018,6 +2070,7 @@ sub ip_rejected { $msg = 'of ' . $msg if ($ip && $host ne $ip); return sprintf(<<".EOF.", &ent($msg)); <div class="error"> + <a id="skip" name="skip"></a> <p> Sorry, the IP address %s is not public. For security reasons, validating resources located at non-public IP @@ -2029,26 +2082,27 @@ sub ip_rejected { # -# Output errors for a rejected URI. +# Output errors for a rejected URL. sub uri_rejected { my $scheme = shift || 'undefined'; return sprintf(<<".EOF.", &ent($scheme)); <div class="error"> + <a id="skip" name="skip"></a> <p> Sorry, this type of - <a href="http://www.w3.org/Addressing/#terms">URI</a> + <a href="http://www.w3.org/Addressing/">URL</a> <a href="http://www.iana.org/assignments/uri-schemes">scheme</a> (<q>%s</q>) is not supported by this service. Please check - that you entered the URI correctly. + that you entered the URL correctly. </p> - <p>URIs should be in the form: <code>http://validator.w3.org/</code></p> + <p>URLs should be in the form: <code>http://validator.w3.org/</code></p> <p> - If you entered a valid URI using a scheme that we should support, + If you entered a valid URL using a scheme that we should support, please let us know as outlined on our <a href="feedback.html">Feedback page</a>. Make sure to include the - specific URI you would like us to support, and if possible provide a - reference to the relevant standards document describing the URI scheme + specific URL you would like us to support, and if possible provide a + reference to the relevant standards document describing the URL scheme in question. </p> <p class="tip"> @@ -2100,18 +2154,6 @@ sub charset_conflicts { my $cs_meta = $File->{Charset}->{META} ? &ent($File->{Charset}->{META}) : ''; # - # warn about charset override - if ($File->{Charset}->{Override} && - $File->{Charset}->{Override} ne $File->{Charset}->{Use}) { - &add_warning($File, 'override', 'Character Encoding Override in effect!', <<".EOF."); - The detected character encoding, "<code>$cs_use</code>", has been - suppressed and the character encoding "<code>$cs_opt</code>" used - instead. -.EOF. - $File->{Tentative} |= T_ERROR; - } - - # # Add a warning if there was charset info conflict (HTTP header, # XML declaration, or <meta> element). if (&conflict($File->{Charset}->{HTTP}, $File->{Charset}->{XML})) { @@ -2191,14 +2233,15 @@ sub transcode { my $in = $_; $line++; $_ = $c->convert($_); # $_ is local!! - if ($in ne "" and $_ eq "") { + if ($in ne "" and (!defined($_) || $_ eq "")) { push @{$File->{Lines}}, $line; # try to decoded as much as possible of the line my $short = 0; # longest okay my $long = (length $in) - 1; # longest unknown while ($long > $short) { # binary search my $try = int (($long+$short+1) / 2); - if ($c->convert(substr($in,0,$try)) eq "") { + my $converted = $c->convert(substr($in, 0, $try)); + if (!defined($converted) || $converted eq "") { $long = $try-1; } else { $short = $try; diff --git a/misc/mkrelease.sh b/misc/mkrelease.sh index f700921..d63da51 100755 --- a/misc/mkrelease.sh +++ b/misc/mkrelease.sh @@ -1,5 +1,13 @@ #!/bin/bash +# Typical usage: +# mkdir foo +# cd foo +# export CVSROOT=:pserver:anonymous@dev.w3.org:/sources/public +# cvs -z3 export -r validator-0_6_6-release validator +# cd validator +# misc/mkrelease.sh 0.6.6 + version="$1" if [ -z "$version" ] ; then echo "Usage: $0 <version>" @@ -26,7 +34,9 @@ cp -pR $topdir/{htdocs,httpd,misc,README.cvs} $tmpdir/validator-$version cd $tmpdir find validator-$version -type d -name CVS | xargs -r rm -rf -find validator-$version -name .cvsignore | xargs -r rm -rf +find validator-$version -name .cvsignore | xargs -r rm -rf +find validator-$version -name "*~" | xargs -r rm -rf +find validator-$version -name ".#*" | xargs -r rm -rf rm -f validator-$version/misc/mkrelease.sh find . -type d | xargs -r chmod 755 |