Uploaded image for project: 'Axiom'
  1. Axiom
  2. AXIOM-124

Serialization: Namespace declarations only output on first iteration

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • None
    • None
    • None
    • None
    • Sun JDK 1.6, Axiom 1.2.2, Linux 2.6 (Fedora Core 5)
      and
      Sun JDK 1.5.0_11, Axiom 1.2.4, STAX (RI) 1.1.2-dev and 1.2.0 (final), Linux 2.6 (Ubuntu)

    Description

      When serializing a document that contains many child nodes using the same namespace that is NOT declared on the root,
      only the first namespace declaration is output, even if multiple elements require it;

      e.g. document contains root element "root" and two children "foo" and "bar", both in the namespace "http://example.com/ns", which is NOT
      declarted on root, should be serialized as:

      <root>
      <ns:foo xmlns:ns="http://example.com/ns">foo contents</ns:foo>
      <ns:bar xmlns:ns="http://example.com/ns">bar contents</ns:foo>
      </root>

      but w/AXIOM 1.2.2 and default StAX parser shipped w/Sun JDK 1.6.0 (SJSXP 1.0?), output is:

      <root>
      <ns:foo xmlns:ns="http://example.com/ns">foo contents</ns:foo>
      <ns:bar>bar contents</ns:foo>
      </root>

      I have further verified that the problem does not occur if Woodstox 2.0.5 is used as the StAX implementation.

      I am not able to verify whether this is due to a bug in Sun's StAX implementation, or in the use AXIOM makes of the various classes. Possible reference issue for SJXSP: https://sjsxp.dev.java.net/issues/show_bug.cgi?id=31

      Attachments

        1. DeclTest.java
          1 kB
          Adam Constabaris
        2. OMElementSerializationTest.java
          3 kB
          Alex Boisvert

        Activity

          People

            dims Davanum Srinivas
            adamc Adam Constabaris
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: