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\";><ns:uri>www.apache.org</n
s: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\"/>";
                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\"/>";
                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