:-O What a mistake on my part ! Sorry for that ...

Everything works pretty well now. Thank you Radu for your great help.

Regards
Pascal



On Fri, May 2, 2008 at 2:07 AM, Radu Preotiuc-Pietro <[EMAIL PROTECTED]> wrote:

>  Hi Pascal,
>
> You have to decide whether "uri" is an element or an attribute. In your
> original example it was an attribute, but in the Schema you send it shows
> it's an element. If it is element, obviously, your XML would have to look
> like (it has nothing to do with fragments):
>
>         String xml = "<ns:element xmlns:ns=\"
> http://www.example.org/docelement\ <http://www.example.org/docelement%5C>
> "><ns:uri>www.apache.org</ns:uri></ns:element>";
> Radu
>
>  ------------------------------
> *From:* Pascal Maugeri [mailto:[EMAIL PROTECTED]
> *Sent:* Thursday, May 01, 2008 1:54 PM
>
> *To:* user@xmlbeans.apache.org
> *Subject:* Re: Parsing an XML fragment
>
> Hi Radu
>
> There is some progress here...
>
> I did modified the xml as you recommended and the following code:
>
>         String xml = "<ns:element uri=\"www.apache.org\" xmlns:ns=\"
> http://www.example.org/docelement\ <http://www.example.org/docelement%5C>
> "/>";
>         XmlOptions xmlOptions = new
> XmlOptions().setDocumentType(DocDocument.Doc.type);
>         DocDocument.Doc doc = (DocDocument.Doc)
> XmlObject.Factory.parse(xml, xmlOptions);
>         System.out.println(doc.toString());
>         System.out.println(doc.getElement().toString());
>         System.out.println(doc.getElement().getUri());
>
> outputs:
>
> <ns:element uri="www.apache.org" xmlns:ns="
> http://www.example.org/docelement"/>
> <xml-fragment uri="www.apache.org" xmlns:ns="
> http://www.example.org/docelement"/>
> null
>
> As you can see the doc.getElement.getUri() still returns null :-(
>
> I've played around with the schema, for instance I switched
> elementFormDefault to "unqualified":
>
>         String xml = "<element uri=\"www.apache.org\"/>";
>         XmlOptions xmlOptions = new
> XmlOptions().setDocumentType(DocDocument.Doc.type);
>         DocDocument.Doc doc = (DocDocument.Doc)
> XmlObject.Factory.parse(xml, xmlOptions);
>         System.out.println(doc.toString());
>         System.out.println(doc.getElement().toString());
>         System.out.println(doc.getElement().getUri());
>
> outputs:
>
> <element uri="www.apache.org"/>
> <xml-fragment uri="www.apache.org"/>
> null
>
> I get the same results (doc.getElement().getUri() is null).
>
> I also tried with attributeFormDefault="unqualified" with no success
> neither:
>
>         String xml = "<ns:element ns:uri=\"www.apache.org\" xmlns:ns=\"
> http://www.example.org/docelement\ <http://www.example.org/docelement%5C>
> "/>";
>         XmlOptions xmlOptions = new
> XmlOptions().setDocumentType(DocDocument.Doc.type);
>         DocDocument.Doc doc = (DocDocument.Doc)
> XmlObject.Factory.parse(xml, xmlOptions);
>         System.out.println(doc.toString());
>         System.out.println(doc.getElement().toString());
>         System.out.println(doc.getElement().getUri());
>
> Do you have any idea why I can't access the element attribute ?
>
> Thanks
> Pascal
>
> On Thu, May 1, 2008 at 1:09 AM, Radu Preotiuc-Pietro <[EMAIL PROTECTED]>
> wrote:
>
> > Yep, in your Schema you have elementFormDefault="qualified". So this
> > means your doc fragment has to look like:
> >
> > String xml = "<ns:element uri=\"www.apache.org\" xmlns:ns=
> > \"http://www.example.org/docelement\<http://www.example.org/docelement%5C>
> > "/>";
> >
> > Radu
> >
> > On Wed, 2008-04-30 at 15:07 +0200, Pascal Maugeri wrote:
> > > Hi Radu
> > >
> > > Sorry again to comment on this issue but I do not find the same
> > > results as yours.
> > >
> > > with the following source code:
> > >
> > >         String xml = "<element uri=\"www.apache.org\"/>";
> > >         XmlOptions xmlOptions = new
> > > XmlOptions().setDocumentType(DocDocument.Doc.type);
> > >         DocDocument.Doc doc = (DocDocument.Doc)
> > > XmlObject.Factory.parse(xml, xmlOptions);
> > >         System.out.println(doc.toString());
> > >         System.out.println(doc.getElement().toString());
> > >
> > > The first sysout prints the correct result:
> > >
> > >   <element uri="www.apache.org"/>
> > >
> > > The last sysout throws a NullPointerException because doc.getElement()
> > > returns null
> > >
> > >   java.lang.NullPointerException
> > >       at
> > > xmlbeans.ParsingXmlFragment.<init>(ParsingXmlFragment.java:17)
> > >       at xmlbeans.ParsingXmlFragment.main(ParsingXmlFragment.java:22)
> > >
> > > I've attached to this email the beans jar I've generated and the piece
> > > of code I tested. If you want to dedicate more time to this issue it
> > > may be interesting to execute it in your environment. Please confirm
> > > me that you do not get the exception.
> > >
> > > Regards,
> > > Pascal
> > >
> > >
> > >
> > > On Tue, Apr 29, 2008 at 2:27 AM, Radu Preotiuc-Pietro <[EMAIL PROTECTED]>
> > > wrote:
> > >         Actually, I have made some experiments myself and you may have
> > >         success
> > >         with something like:
> > >
> > >         DocDocument.Doc doc = (DocDocument.Doc)
> > >         XmlObject.Factory.parse(new
> > >         File("test.xml"), new
> > >         XmlOptions().setDocumentType(DocDocument.Doc.type));
> > >
> > >         to parse from the <element> level.
> > >
> > >         Let me know if this works for you,
> > >         Radu
> > >
> > >
> > >         > -----Original Message-----
> > >         > From: Jim the Standing Bear [mailto:[EMAIL PROTECTED]
> > >         > Sent: Monday, April 28, 2008 8:38 AM
> > >         > To: user@xmlbeans.apache.org
> > >         > Subject: Re: Parsing an XML fragment
> > >         >
> > >         > I ran into the same problem and toyed around it over the
> > >         weekend.
> > >         > what I found out was that it helps if you parse it from "a
> > >         level up".
> > >         >
> > >         > So in your case, you would have to parse it from the
> > >         Document
> > >         > level, since that is the only thing above "Element" nodes.
> > >         >
> > >         > In other words, doing
> > >         > Doc.Factory.parse(xml).getDoc().getElement().getUri() is the
> > >         > way to go.  However, you said you needed to parse from
> > >         > Element level - is there any constraints that force you to
> > >         > parse from Element level?
> > >         >
> > >         > HTH
> > >         >
> > >         > Jim
> > >         >
> > >         >
> > >         >
> > >         > On Mon, Apr 28, 2008 at 6:17 AM, Pascal Maugeri
> > >         > <[EMAIL PROTECTED]> wrote:
> > >         > > Radu
> > >         > >
> > >         > > You're right in the example below the <element> is not a
> > >         > global schema type.
> > >         > >
> > >         > > So what should I do if a server (XCAP server) sends me
> > >         this
> > >         > XML fragment:
> > >         > >
> > >         > >
> > >         > > <element uri="www.apache.org"/>
> > >         > >
> > >         > > and I want to parse it having the xml beans set from the
> > >         > corresponding
> > >         > > schema ?
> > >         > >
> > >         > > Is there a way to do that ?
> > >         > >
> > >         > > Regards,
> > >         > > Pascal
> > >         > >
> > >         > >
> > >         > >
> > >         > >
> > >         > > On Sat, Apr 19, 2008 at 3:35 AM, Radu Preotiuc-Pietro
> > >         > <[EMAIL PROTECTED]> wrote:
> > >         > >
> > >         > > > I'd have to see the Schema to be able to figure out the
> > >         name of
> > >         > > > elements and types and what the exact code should look
> > >         > like. I think
> > >         > > > that your problem might be that <element> is not a
> > >         global Schema
> > >         > > > type and so auto-typing doesn't work if at the root
> > >         level
> > >         > (in other
> > >         > > > words, Schema doesn't allow <element> to be a top-level
> > >         element).
> > >         > > >
> > >         > > > But even then, you should not have to parse and save to
> > >         > String only
> > >         > > > to parse again.
> > >         > > >
> > >         > > > Radu
> > >         > > >
> > >         > > >
> > >         > > >
> > >         > > >
> > >         > > > On Tue, 2008-04-08 at 06:49 -0700, Pascal Maugeri wrote:
> > >         > > > > Hi
> > >         > > > >
> > >         > > > > I would like to have a clarification about the parsing
> > >         of a XML
> > >         > > > > fragment.
> > >         > > > >
> > >         > > > > For instance, having the following XML document, I
> > >         want
> > >         > to obtain
> > >         > > > > the "uri" attribute value:
> > >         > > > >
> > >         > > > >   <?xml version="1.0" encoding="UTF-8"?>
> > >         > > > >   <doc>
> > >         > > > >      <element uri="www.apache.org"/>
> > >         > > > >   </doc>
> > >         > > > >
> > >         > > > > with
> > >         > > > >
> > >         Doc.Factory.parse(xml).getDoc().getElement().getUri()
> > >         > > > > it returns the attribute value.
> > >         > > > >
> > >         > > > > but with
> > >         > > > >   Element.Factory.parse("<element
> > >         > > > > uri=\"www.apache.org\"/>").getUri()
> > >         > > > > it returns null, also a call to
> > >         Element.Factory.parse("<element
> > >         > > > > uri=
> > >         > > > > \"www.apache.org\"/>").toString() returns the XML
> > >         content.
> > >         > > > >
> > >         > > > > As I do need to parse XML fragment such as this
> > >         > "element", I have
> > >         > > > > found the following workaround:
> > >         > > > > a) I get the String representation of the Element (eg.
> > >         > > > > Element.Factory.parse(...).toString() ),
> > >         > > > > b) I insert the result of (a) into a container
> > >         <doc>...</doc>
> > >         > > > > c) then I parse the result of (b) with the
> > >         > Doc.Factory.parse( (b)
> > >         > > > > ).getDoc().getElement().getUri() and it does work.
> > >         > > > > ... also I'm not very proud of myself :-)
> > >         > > > >
> > >         > > > > Could you explain why I can't access the attributes of
> > >         a XML
> > >         > > > > fragment I parsed ?
> > >         > > > >
> > >         > > > > I there a better/cleaner workaround than the one
> > >         above ?
> > >         > > > >
> > >         > > > > Thanks in advance for your help
> > >         > > > > Pascal
> > >         > > >
> > >         > > > Notice:  This email message, together with any
> > >         attachments, may
> > >         > > > contain
> > >         > > information  of  BEA Systems,  Inc.,  its subsidiaries
> > >          and
> > >         > > affiliated entities,  that may be confidential,
> > >          proprietary,
> > >         > > copyrighted  and/or legally privileged, and is intended
> > >         > solely for the
> > >         > > use of the individual or entity named in this message. If
> > >         > you are not
> > >         > > the intended recipient, and have received this message in
> > >         error,
> > >         > > please immediately return this by email and then delete
> > >         it.
> > >         > > >
> > >         > > >
> > >         >
> > >
> > --------------------------------------------------------------------
> > >         > > > - To unsubscribe, e-mail:
> > >         [EMAIL PROTECTED]
> > >         > > > For additional commands, e-mail:
> > >         [EMAIL PROTECTED]
> > >         > > >
> > >         > > >
> > >         > >
> > >         > >
> > >         >
> > >         >
> > >         >
> > >         > --
> > >         > --------------------------------------
> > >         > Standing Bear Has Spoken
> > >         > --------------------------------------
> > >         >
> > >         >
> > >
> > ---------------------------------------------------------------------
> > >         > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >         > For additional commands, e-mail:
> > >         [EMAIL PROTECTED]
> > >         >
> > >         >
> > >
> > >         Notice:  This email message, together with any attachments,
> > >         may contain information  of  BEA Systems,  Inc.,  its
> > >         subsidiaries  and  affiliated entities,  that may be
> > >         confidential,  proprietary,  copyrighted  and/or legally
> > >         privileged, and is intended solely for the use of the
> > >         individual or entity named in this message. If you are not the
> > >         intended recipient, and have received this message in error,
> > >         please immediately return this by email and then delete it.
> > >
> > >
> > ---------------------------------------------------------------------
> > >         To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >         For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> > Notice:  This email message, together with any attachments, may contain
> > information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated
> > entities,  that may be confidential,  proprietary,  copyrighted  and/or
> > legally privileged, and is intended solely for the use of the individual or
> > entity named in this message. If you are not the intended recipient, and
> > have received this message in error, please immediately return this by email
> > and then delete it.
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> Notice: This email message, together with any attachments, may contain
> information of BEA Systems, Inc., its subsidiaries and affiliated entities,
> that may be confidential, proprietary, copyrighted and/or legally
> privileged, and is intended solely for the use of the individual or entity
> named in this message. If you are not the intended recipient, and have
> received this message in error, please immediately return this by email and
> then delete it.
>

Reply via email to