# jdom mit xml.transform inkompatibel, was soll ich nehmen?



## 0x7F800000 (29. Sep 2008)

so, leute, hilfe, ich blick da echt nicht mehr durch! :autsch: 

```
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;

import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
import org.jdom.xpath.*;
import org.jdom.transform.*;
```
Fragen:
*1)* ist das Blödsinn?
*2)* kann man sich irgendwie nur "für das eine", also entweder org... oder javax... entscheiden, sodass irgendwie immer noch alles nötige (d.h. herumfummeln an xml dokumenten, xpath, xslt usw) auf die eine oder die andere Weise funktioniert?
*3)* Falls ja: warum ist sogar in der Insel alles durcheinandergeworfen, mal wird dies, mal wird das verwendet? 
 
*4)*Whaaa!? ???:L

mich stört einfach ein klein wenig, dass ich da mittlerweile so tolle Fehlermeldungen bekomme, wie "DOMSource(Document) passt nicht zum Argumenten vom typ Document" was einfach daran liegt, dass da jetzt anscheinend jeder dem langweilig war irgendein "Document" erfunden hat, und das alles nicht miteinander kompatibel ist.

Bitte sagt mir, dass 2 von 3 aus [ javax.xml.* , org.jdom.* , org.w3c.* ] altlasten sind, und alle sich mittlerweile auf irgen*eine* Sache geeinigt haben, das wäre echt schön zu hören.


...Oder sagt mir einfach, wie ich ein org.jdom.Document als unterklasse von javax.xml.Node an javax.xml.transform.dom.DOMSource verfüttere^^

vielen dank im voraus.


----------



## 0x7F800000 (30. Sep 2008)

wie bin ich überhaupt auf die idee gekommen jdom verwenden zu müssen?  ???:L


----------



## 0x7F800000 (2. Okt 2008)

So, wieder mal nur für den fall, dass das später jemand hier findet, und sich zufällige dieselbe wtf?-frage stellt:

JDOM ist ein sehr praktisches, aber nicht unbedingt notwendiges Teil, das teilweise die funktionalität aus javax.xml.*** neuimplementiert, etwas vernünftiger mit xpath umgeht, aber "zu aufwendige" Sachen wie xslt-transformation wieder den teilen aus javax.xml.transform.*** überlässt. Dazu gibts kleber in form von wrapper klassen wie etwa org.jdom.transform.JDOMSource die Interfaces aus dem anderen package, in diesem fall javax.xml.transform.SAXSource implementieren.

_Ist diese beschreibung in etwa richtig so? Bitte um Korrekturen falls nötig, ich bin nicht einer von den Leuten, die das WWW gerne in einen Endlager für digitalen Giftmüll verwandeln... dass es ziemlich platt ausgedrückt ist, ist mir auch bewusst, aber zumindest sollte es in etwa der wahrheit entsprechen_

Ist zwar alles ein wenig unübersichtlich, aber da kann man auch mit leben, den ganzen awt-swing-shice haben wir ja auch überlebt, was uns nicht umbringt macht uns nur stärker^^


----------

