Übungsmaterial

HTML, XHTML

bad.html:

<!-- zur Verbesserung durch HTML Tidy -->

<h1>&Uuml;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: &euro;</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: &#8364;</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>&#220;berschrift mit fehlendem End-Tag</h1>

<h2>&#220;berschrift mit falschem End-Tag</h2>

<p>Absatz mit <i>falscher <b>Schachtelung</b> von
Hervorhebungen</i> und Auszeichnungen.</p>

<h2>&#220;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&#228;nzung von
Anf&#252;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: &#8364;</p>

<img src="../images/tidy.gif" width="50" /> 
<hr />
<p>Dies sollte normaler Text sein.</p>
</body>
</html>

CSS

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; }

Java und XML

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 Kredel

Last modified: Sun Nov 23 19:36:29 CET 2003