<a>to be </a><b> or not to be</b>
<person geburtsjahr=1767>Ferdinand Carulli</person>Attributwerte müssen in Anführungszeichen stehen.
<line>lebt wohl<br/> <b>Gott weiß, wann wir uns wiedersehen</line><b> wird nicht geschlossen.
<kockrezept><!--habe ich aus dem Netz
<name>Saltimbocca</name>
<zubereitung>Zutaten aufeinanderlegen
und braten.</zubereitung>
</kockrezept>Kommentar wird nicht geschlossen.<cd> <artist>dead&alive</artist> <title>you spin me round</title></cd>Das Zeichen \ muß als character entity & geschrieben werden.
<?xml version="1.0" encoding="iso-8859-1" ?>
<autoren>
<autor>
<person>
<nachname>Shakespeare</nachname>
<vorname>William</vorname>
</person>
<werke>
<opus>Hamlet</opus>
<opus>Macbeth</opus>
<opus>King Lear</opus>
</werke>
</autor>
<autor>
<person>
<nachname>Kane</nachname>
<vorname>Sarah</vorname>
</person>
<werke>
<opus>Gesäubert</opus>
<opus>Psychose 4.48</opus>
<opus>Gier</opus>
</werke>
</autor>
</autoren><!DOCTYPE autoren SYSTEM "AutorenType.dtd" [ <!ELEMENT autoren (autor+)> <!ELEMENT autor (person,werke)> <!ELEMENT werke (opus*)> <!ELEMENT opus (#PCDATA)> <!ELEMENT person (nachname,vorname)> <!ELEMENT nachname (#PCDATA)> <!ELEMENT vorname (#PCDATA)>]>
package name.panitz.xml.exercise;
import java.util.List;
public interface Autoren {
List<Autor> getAutorList();
}package name.panitz.xml.exercise;
public interface Autor {
Person getPerson();
Werke getWerke();
}package name.panitz.xml.exercise;
public interface Person {
Nachname getNachname();
Vorname getVorname();
}package name.panitz.xml.exercise;
import java.util.List;
public interface Werke {
List<Opus> getOpusList();
}package name.panitz.xml.exercise;
public interface HasJustTextChild {
String getText();
}package name.panitz.xml.exercise;
public interface Opus extends HasJustTextChild {}package name.panitz.xml.exercise;
public interface Nachname extends HasJustTextChild {}package name.panitz.xml.exercise;
public interface Vorname extends HasJustTextChild {}<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html><head><title>Werke</title></head>
<body><xsl:apply-templates /></body>
</html>
</xsl:template>
<xsl:template match="autoren">
<ul><xsl:apply-templates select="autor/werke/opus"/></ul>
</xsl:template>
<xsl:template match="opus">
<li><xsl:apply-templates/></li>
</xsl:template>
</xsl:stylesheet>package name.panitz.xml.exercise;
import java.util.List;
import java.util.ArrayList;
public class GetWerke{
public List<String> getWerkListe(Autoren autoren){
List<String> result = new ArrayList<String>();
for (Autor a:autoren.getAutorList()){
for (Opus opus: a.getWerke().getOpusList())
result.add(opus.getText());
}
return result;
}
}<?xml version="1.0" encoding="iso-8859-1" ?> <x1><x2><x5>5</x5><x6>6</x6></x2><x3><x7>7</x7></x3> <x4><x8/><x9><x10><x11></x11></x10></x9></x4></x1>
package name.panitz.xml.exercise;
import java.util.List;
import java.util.ArrayList;
import org.w3c.dom.*;
public class GetLeaves{
public List<Node> getLeaves(Node n){
List<Node> result = new ArrayList<Node>();
NodeList ns = n.getChildNodes();
if (ns.getLength()==0){
result.add(n); return result;
}
for (int i=0;i<ns.getLength();i++){
result.addAll(getLeaves(ns.item(i)));
}
return result;
}
}