Consultor Eletrônico



Kbase P135762: SAX-WRITER errors encountered when using START-ELEMENT to start a new element
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/7/2008
Status: Unverified

SYMPTOM(s):

SAX-WRITER errors encountered when using START-ELEMENT to start a new element

SAX-WRITER encountered an error and is unable to continue: 7. (14629)

FACT(s) (Environment):

All Supported Operating Systems
OpenEdge 10.x

CAUSE:

All XML in a SAX document must be nested within elements, there is only one top level element in a document and everything else must be enclosed within it.


e.g. The following is illegal

DEFINE VARIABLE hSaxWriter AS HANDLE NO-UNDO.
CREATE SAX-WRITER hSaxWriter.
hSaxWriter:SET-OUTPUT-DESTINATION("FILE","sample.xml").
hSaxWriter:START-DOCUMENT().
hSaxWriter:START-ELEMENT("Header").
hSaxWriter:END-ELEMENT("Header").
hSaxWriter:START-ELEMENT("Body").
hSaxWriter:END-ELEMENT("Body").
hSaxWriter:START-ELEMENT("Footer").
hSaxWriter:END-ELEMENT("Footer").
hSaxWriter:END-DOCUMENT().

FIX:

Create a top level element and make all subsequent elements children of the top level.
e.g. Change the above to add an enclosing element as follows:

DEFINE VARIABLE hSaxWriter AS HANDLE NO-UNDO.
CREATE SAX-WRITER hSaxWriter.
hSaxWriter:SET-OUTPUT-DESTINATION("FILE","sample.xml").
hSaxWriter:START-DOCUMENT().
hSaxWriter:START-ELEMENT("DocumentElement").
hSaxWriter:START-ELEMENT("Header").
hSaxWriter:END-ELEMENT("Header").
hSaxWriter:START-ELEMENT("Body").
hSaxWriter:END-ELEMENT("Body").
hSaxWriter:START-ELEMENT("Footer").
hSaxWriter:END-ELEMENT("Footer").
hSaxWriter:END-ELEMENT("DocumentElement").
hSaxWriter:END-DOCUMENT().