Which do I use, JAX, DOM, JDOM?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • john smith

    Which do I use, JAX, DOM, JDOM?

    hello,

    I am having to read an XML document and grab some elements and attributes
    and then convert that to anther XML document.

    Which should I use? JAX, DOM, JDOM?

    I don't really understand the difference and when to use the above.

    Thanks so much.


  • Frank Meyer

    #2
    Re: Which do I use, JAX, DOM, JDOM?

    hi,
    [color=blue]
    > I am having to read an XML document and grab some elements and attributes
    > and then convert that to anther XML document.
    >
    > Which should I use? JAX, DOM, JDOM?
    >
    > I don't really understand the difference and when to use the above.[/color]

    DOM: language-independent API for accessing XML

    JAXP: API in Java for DOM, SAX, XSLT; part of the J2SE-specification

    JDOM: API in Java with some more features than DOM; not part of J2SE and
    only supported by some parsers

    If you just want to transform one XML-document into another you should
    use XSLT ( http://w3.org/TR/xslt ). If you want to embed this process
    into your own Java-application, you should use JAXP for the Java-part.

    regards
    frank

    Comment

    • Martin Honnen

      #3
      Re: Which do I use, JAX, DOM, JDOM?



      john smith wrote:
      [color=blue]
      > I am having to read an XML document and grab some elements and attributes
      > and then convert that to anther XML document.
      >
      > Which should I use? JAX, DOM, JDOM?
      >
      > I don't really understand the difference and when to use the above.[/color]

      DOM usually means the W3C DOM specification which is meant to be
      language independent by using some IDL (interface description language)
      to define a tree based API for manipulating XML (and HTML) documents.
      The W3C DOM specification then goes on to define two language bindings,
      one for Java, one for ECMAScript. As the specification should be
      implementable on top of existing implementations and as the API has to
      work with scripting languages with loose typing as well as with
      languages like Java with strong typing the Java binding the W3C suggests
      for the DOM doesn't define any classes but only interfaces to be
      implemented. Where overloading in Java would be possible it is not done
      as overloading in ECMAScript is not possible and the API is meant to be
      consistent in different languages.
      As a result of this many pure or main Java programmers dislike the W3C
      DOM and have implemented Java specific and Java natural DOM APIs, one of
      which is JDOM. But there are others like XOM.
      JAXP is Sun's term for the different XML related Java APIs in the Sun
      Java development kit/JDK, it is mainly an abstraction layer (or even
      several ones) to allow you to use different parsers or DOM
      implementations or XSLT implementations or XPath implementations that
      are around under a common way to create parsers.

      What you should or want to use depends on many criteria, Sun Java 1.4
      and Sun Java 1.5 have W3C DOM support thus if you want to only rely on
      the classes installed by the Sun JDK/JRE then you do not have JDOM for
      instance or XOM. You would need an additional download for that and
      anyone using your software too.



      --

      Martin Honnen

      Comment

      Working...