Zum Inhalt springen

JDOM

aus Wikipedia, der freien Enzyklopädie
{{#if: JDOM | JDOM | {{#invoke:WLink|getArticleBase}} }}

{{#if: |

colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | {{{Logo}}} |
 {{#if: {{#invoke:Wikidata|claim|P154}} | 
[[Datei:{{#invoke:Wikidata|claim|P154}}|150px]]
 }}

}}{{#if: |

{{#if: Java XML-Library |
Java XML-Library }}|

}}

Basisdaten

{{#if: |

Hauptentwickler
 {{#if: {{#invoke:Wikidata|claim|P126}} | 
Maintainer claim|P126|parameter=link|references=ja|list=, }}
 }}

}}{{#if: Jason Hunter, Rolf Lear |

Entwickler
 {{#if: {{#invoke:Wikidata|claim|P178}} | 
Entwickler claim|P178|parameter=link|references=ja|list=, }}
 }}

}}{{#if: |

Erscheinungsjahr
 {{#if: {{#invoke:Wikidata|claim|P577}} | 
Erscheinungsjahr claim|P577|references=ja|list=, }} |
   {{#if: {{#invoke:Wikidata|claim|P571}} | 
Erscheinungsjahr claim|P571|references=ja|list=, }}
   }}
 }}

}}{{#ifeq: | KEINE_ANGABE || {{#if: |

Aktuelle Version
({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.
format | {{#timefl:now|date}}}} {{{2}}} | T._Monat JJJJ}} lang= {{#switch: -|=de #default=de-AT
            }}
   }}

}}) }}

 {{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813}} | 
Aktuelle Version claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}} |
({{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}}) }}}}}}

}}{{#ifeq: {{{AktuelleVorabVersion}}} | KEINE_ANGABE || {{#if: |

Aktuelle Vorabversion
({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.
format {{{AktuelleVorabVersionFreigabeDatum}}} | {{#timefl:now|date}}}} {{{2}}} | T._Monat JJJJ}} lang= {{#switch: -|=de #default=de-AT
            }}
   }}

}}) }}

 {{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724}} | 
Aktuelle Vorabversion claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}} |
({{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}}) }}}}}}

}}{{#if: |

Ausführungsumgebung
 {{#if: Cross-platform | 
Betriebssystem Cross-platform |
   {{#if: {{#invoke:Wikidata|claim|P306}} | 
Betriebssystem claim|P306|parameter=link|references=ja|list=, }}
   }}
 }}

}}{{#if: |

Programmier­sprache
 {{#if: {{#invoke:Wikidata|claim|P277}} | 
Programmier­sprache claim|P277|parameter=link|references=ja|list=, }}
 }}

}}{{#if: XML |

Kategorie XML

}}{{#if: Open Source (ähnlich der Apache-Lizenz) |

Lizenz Open Source (ähnlich der Apache-Lizenz) |
 {{#if: {{#invoke:Wikidata|claim|P275}} | 
Lizenz claim|P275|parameter=link|references=ja|list=, }}
 }}

}}{{#if: Nein |

deutschsprachig faculty|Nein}} | ja | nein }}

}}{{#if: |

Sonstiges {{{Sonstiges}}}Vorlage:Infobox Software/Wartung/Sonstiges

}}{{#if: |

|
 {{#if: {{#invoke:Wikidata|claim|P856|notdeprecated=1}} | 
{{#invoke: WLink | formatURL | {{#invoke:Wikidata|claim|P856|parameter=link|notdeprecated=1}}}}
 }}

}}{{#if: |

Dateien [[c:Category:Created with {{{Dateien}}}|{{{Dateien}}}]]

}}

JDOM ist eine Java-Bibliothek für die Manipulation von XML-Daten. Sie ist eine Alternative und Ergänzung zu der offiziellen Java-API, wurde von Jason Hunter und Brett McLaughlin entwickelt und ist inzwischen eine implementierte API zur Arbeit mit XML in Java. Aus markenrechtlichen Gründen handelt es sich nicht um ein Akronym. JDOM integriert die Vorteile und APIs von SAX und DOM in einer Java-Klasse.

Ähnlich wie beim Document Object Model (Abk. DOM) wird ein XML-Dokument als Baum im Hauptspeicher repräsentiert, jedoch wurde JDOM speziell für Java entwickelt. Daher werden Java-Klassen verwendet – beispielsweise wird bei JDOM ein XML-Knoten nicht als „node“, sondern durch eine spezifische Java-Klasse repräsentiert.

JDOM bietet die Möglichkeit, den JDOM-Baum als Textdokument („XMLOutputter“, also als XML-Dokument) auszugeben, was nicht zum SAX-Standard und bis inkl. zum Level 2 auch nicht zum DOM gehört. Des Weiteren kann der „SAXOutputter“ das Dokument in Form von SAX-Ereignissen ausgeben, wie sie beim Parsen des Dokuments durch SAX auch erzeugt werden würden oder den JDOM-Baum in einen DOM-Baum konvertieren („DOM-Outputter“).

JDOM-Klassen

Document

Das ist das Wurzelobjekt (und somit der Einstiegspunkt zur Navigation) des JDOM-Baumes, das das Wurzelelement, den Dokumenttyp und Verarbeitungsanweisungen enthält.

Element

Diese Klasse repräsentiert die Informationen für Elemente (beispielsweise das Elternelement („parent“), den Elementnamen („name“) und eine Liste der Attribute („attributes“)).

Comment

Kommentare („text“) mit dem den Kommentar enthaltenen Element („parent“).

CDATA

Compilerspezifische Daten.

Namespace

Namespaces für Elemente und Attribute zu definieren zu können.

DocType

Beherbergt die DocType Deklaration für den Kopf der XML Daten.

Text

Zeichen basierender Inhalt.

Weitere Java DOM-Implementierungen

  • dom4j ist eine vielseitige Programmierschnittstelle, die ein erweitertes und umfangreiches Set von Verarbeitungsfunktionen zur Verfügung stellt.
  • XOM (XML Object Model) ist eine schnelle Programmierschnittstelle mit wenig Speicherbedarf.
  • Apache Crimson ist ein DOM Parser der Apache Software Foundation

Siehe auch

  • JAXP - Java API for XML Processing

Literatur

  • Brett McLaughlin: Java & XML, O’Reilly, 2002, ISBN 3-89721-296-X.

Weblinks