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