bad.html:
<!-- zur Verbesserung durch HTML Tidy --> <h1>Überschrift mit fehlendem End-Tag <h2>Überschrift mit falschem End-Tag</h3> <p>Absatz mit <i>falscher <b>Schachtelung</i> von Hervorhebungen</b> und Auszeichnungen. <h2>Überschrift mit <i>falscher Hervorhebung</h2> <p>Ein Absatz mit falscher Hervorhebung <p><a href="bad.html">Anchor ohne End-Tag<a> <li>eine fehlerhafte Liste <li>mit zwei Punkten </ul> <p align=right width=100% >Ergänzung von Anführungszeichen in Attributen und Ersetzung durch CSS Deklarationen. </p> <p tidy=spass>Unsinnige Attribute werden entdeckt.</p> <ALIGN>Netscape Erweiterung</ALIGN> <p>Text mit einem Euro-Zeichen: €</p> <img src=../images/tidy.gif width=50> <hr> <p>Dies sollte normaler Text sein.</p>
good.html:
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- zur Verbesserung durch HTML Tidy -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator"
content="HTML Tidy for Windows (vers 1st August 2002), see www.w3.org" />
<title></title>
<style type="text/css">
/*<![CDATA[*/
p.c1 {text-align: right}
/*]]>*/
</style>
</head>
<body>
<h1>Überschrift mit fehlendem End-Tag</h1>
<h2>Überschrift mit falschem End-Tag</h2>
<p>Absatz mit <i>falscher <b>Schachtelung</b> von
Hervorhebungen</i> und Auszeichnungen.</p>
<h2>Überschrift mit <i>falscher Hervorhebung</i></h2>
<p>Ein Absatz mit falscher Hervorhebung</p>
<p><a href="bad.html">Anchor ohne End-Tag</a></p>
<ul class="noindent">
<li>eine fehlerhafte Liste</li>
<li>mit zwei Punkten</li>
</ul>
<p width="100%" class="c1">Ergänzung von Anführungszeichen in
Attributen und Ersetzung durch CSS Deklarationen.</p>
<p tidy="spass">Unsinnige Attribute werden entdeckt.</p>
<align>Netscape Erweiterung</align>
<p>Text mit einem Euro-Zeichen: €</p>
<img src="../images/tidy.gif" width="50" />
<hr />
<p>Dies sollte normaler Text sein.</p>
</body>
</html>
verbesserte.html:
<!-- zur Verbesserung durch HTML Tidy --> <html> <head> <meta name="generator" content= "HTML Tidy for Windows (vers 1st August 2002), see www.w3.org" /> <title></title> </head> <body> <h1>Überschrift mit fehlendem End-Tag</h1> <h2>Überschrift mit falschem End-Tag</h2> <p>Absatz mit <i>falscher <b>Schachtelung</b> von Hervorhebungen</i> und Auszeichnungen.</p> <h2>Überschrift mit <i>falscher Hervorhebung</i></h2> <p>Ein Absatz mit falscher Hervorhebung</p> <p><a href="bad.html">Anchor ohne End-Tag</a></p> <ul class="noindent"> <li>eine fehlerhafte Liste</li> <li>mit zwei Punkten</li> </ul> <p align="right" width="100%">Ergänzung von Anführungszeichen in Attributen und Ersetzung durch CSS Deklarationen.</p> <p tidy="spass">Unsinnige Attribute werden entdeckt.</p> <align>Netscape Erweiterung</align> <p>Text mit einem Euro-Zeichen: €</p> <img src="../images/tidy.gif" width="50" /> <hr /> <p>Dies sollte normaler Text sein.</p> </body> </html>
mitstil.html:
<html>
<head>
<title>Beispiel mit CSS</title>
<link rel="stylesheet" type="text/css"
href="meinstil.css" />
<style type="text/css" >
h1 { color: red; }
</style>
</head>
<body>
<h1>Beispiel mit CSS</h1>
<p><font color="blue" >Ein Text in der Seite.
</font>
</p>
<p style="color: blue;" >
Ein zweiter Paragraph in der Seite.
</p>
<p><span style="color: blue;" >Ein Text in der Seite.
</span>
</p>
</body>
</html>
meinstil.css:
body { font-size: 30pt;
background-color: pink;
color: fuchsia !important;
}
h1 { color: lime !important;
/* font-size: small; */
}
p { color: black; }
Die Java Klassen zur Verarbeitung von XML-Daten gehören ab J2SDK 1.4 standartmässig zum Lieferumfang. Bis zum J2SDK 1.3 muss einzusätzliches Softwarepaket installiert werden.
Zur Überprüfung der Gültigkeit von XML-Dateien bezüglich einer gegebenen DTD benutzen wir Shell-Scripte.
JDK 1.4 und die xercesSamples.jar von
xml.apache.org
valid (JDK 1.4 Version):
#!/bin/sh VALIDPATH="/home/.../java/lib/xercesSamples.jar" export CLASSPATH="$VALIDPATH:$CLASSPATH" /usr/java/j2sdk1.4.1_01/bin/java sax.Counter -p org.apache.crimson.parser.XMLReaderImpl -v $*
valid.bat (JDK 1.4 Version):
set VALIDPATH=u:\xerces\xercesSamples.jar set CLASSPATH=%VALIDPATH%;%CLASSPATH% java sax.Counter -v %1
Hilfe:
usage: java sax.Counter (options) uri ...
options:
-p name Select parser by name.
-x number Select number of repetitions.
-n | -N Turn on/off namespace processing.
-np | -NP Turn on/off namespace prefixes.
NOTE: Requires use of -n.
-v | -V Turn on/off validation.
-s | -S Turn on/off Schema validation support.
NOTE: Not supported by all parsers.
-f | -F Turn on/off Schema full checking.
NOTE: Requires use of -s and not supported by all parsers.
-dv | -DV Turn on/off dynamic validation.
NOTE: Requires use of -v and not supported by all parsers.
-m | -M Turn on/off memory usage report
-t | -T Turn on/off "tagginess" report.
--rem text Output user defined comment before next parse.
-h This help screen.
Verwendung:
valid datei.xhtml
Alternativ können Sie die Klasse
Counter.java
selbst kompilieren und wie gewohnt benutzen:
java Counter -v datei.xhtml
© Universität Mannheim, Rechenzentrum, 1998-2003.
Heinz KredelLast modified: Sun Nov 23 19:36:29 CET 2003