You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@xmlbeans.apache.org by Sebastien Dionne <su...@gmail.com> on 2009/12/30 18:11:00 UTC

jaxb to xmlbeans : xmlbeans fail on xs:any

hello

I used jaxb to generate schema from java source and now I'm trying to
regenerate java with xmlbeans but it failed on this line

<xs:any processContents="lax" maxOccurs="unbounded"/>

if I remove this line it will compile.

there is something wierd with xmlbeans ?


<xs:complexType name="DeviceType">
    <xs:all>
      <xs:element name="deviceType" type="xs:string"/>
      <xs:element name="friendlyName" type="xs:string"/>
      <xs:element name="manufacturer" type="xs:string"/>
      <xs:element name="manufacturerURL" type="xs:string" minOccurs="0"/>
      <xs:element name="modelDescription" type="xs:string" minOccurs="0"/>
      <xs:element name="modelName" type="xs:string"/>
      <xs:element name="modelNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="modelURL" type="xs:string" minOccurs="0"/>
      <xs:element name="serialNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="UDN" type="xs:string"/>
      <xs:element name="UPC" type="xs:string" minOccurs="0"/>
      <xs:element name="iconList" type="tns:IconListType" minOccurs="0"/>
      <xs:element name="serviceList" type="tns:ServiceListType"
minOccurs="0"/>
      <xs:element name="deviceList" type="tns:DeviceListType"
minOccurs="0"/>
      <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
      <xs:any processContents="lax" maxOccurs="unbounded"/>
    </xs:all>
    <xs:anyAttribute namespace="##other" processContents="skip"/>
  </xs:complexType>

[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] XmlBeans compile failed:
 xml ErrorLoading schema file
C:\test\upnp-xsd-xmlbeans-jar\src\main\xsd\device.
xsd
xml ErrorC:\test\upnp-xsd-xmlbeans-jar\src\main\xsd\device.xsd:43:7: error:
cvc-
complex-type.2.4a: Expected element 'element@
http://www.w3.org/2001/XMLSchema' i
nstead of 'any@http://www.w3.org/2001/XMLSchema' here in element all@
http://www.
w3.org/2001/XMLSchema
xml ErrorLoading config file
C:\test\upnp-xsd-xmlbeans-jar\src\main\xsdconfig\de
vice.xsdconfig

Re: jaxb to xmlbeans : xmlbeans fail on xs:any

Posted by Sebastien Dionne <su...@gmail.com>.
just to add little infos.

with the .xsd that I provide JAXB and Xmlbeans works.  Maybe it's not
suppose to work with a xml that didn't respect the sequence order (I don't
know enough Xml Schemas), but I'm able to unmarshal and marshal.

so for me it's enough for now.. I think.. maybe I'll found a problem later.

thanks

2009/12/30 Sebastien Dionne <su...@gmail.com>

> thanks.
>
> I know, It's in my TODO list to understand XML Schemas.. be able to create
> them from scratch.  Now I'm just trying to make it work until I have time to
> read more about that.
>
> I retrieve a official xsd for upnp device, but few devices use non standard
> tags, so I need to support them and that's why I want to add <xs:any> in all
> the Type to be sure that I don't lost informations.
>
> and my program will support jaxb and xmlbeans that why I want to try to
> have a xsd that will contains all the informations instead of creating a
> custom parser for Xmlbeans and Jaxb.
>
> So <xs:sequence> won't work :(
>
> but there is a way to retrieve extra info ?
>
>
> <xs:complexType name="DeviceType">
>         <xs:all>
>             <xs:element name="friendlyName" type="xs:string"/>
>             <xs:element name="manufacturer" type="xs:string"/>
>             <xs:element name="manufacturerURL" type="xs:string"
> minOccurs="0"/>
>             <xs:element name="modelDescription" type="xs:string"
> minOccurs="0"/>
>             <xs:element name="modelName" type="xs:string"/>
>             <xs:element name="modelNumber" type="xs:string" minOccurs="0"/>
>             <xs:element name="modelURL" type="xs:string" minOccurs="0"/>
>             <xs:element name="serialNumber" type="xs:string"
> minOccurs="0"/>
>             <xs:element name="UDN" type="xs:string"/>
>             <xs:element name="UPC" type="xs:string" minOccurs="0"/>
>             <xs:element name="iconList" type="tns:IconListType"
> minOccurs="0"/>
>             <xs:element name="serviceList" type="tns:ServiceListType"
> minOccurs="0"/>
>             <xs:element name="deviceList" type="tns:DeviceListType"
> minOccurs="0"/>
>             <xs:element name="presentationURL" type="xs:string"
> minOccurs="0"/>
>             <xs:any namespace="##other" minOccurs="0"/>  (THAT DOESN'T
> WORK)
>         </xs:all>
>
> example of XML that I'll receive.
>
>
>    <device>
>         <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
>         <friendlyName>Sebastien Dionne Demo</friendlyName>
>         <manufacturer>Sebastien Dionne .ca</manufacturer>
>
>         <presentationURL>/index.html</presentationURL>
>         <dlna:X_DLNADOC
>             xmlns:ns2="urn:schemas-upnp-org:device-1-0"
>             xmlns=""
>         >DMS-1.00</dlna:X_DLNADOC>
>     </device>
>
> the extra tag in that case is the <dlna>
>
> sometime it's custom tags for Xbox and PS3..
>
> It would have been lot easier if there were custom tags within the specs..
>
> 2009/12/30 Wing Yew Poon <wi...@oracle.com>
>
>>  Sebastien,
>> you may find it helpful to read up on XML Schema, or at least have a good
>> reference on hand; it really is necessary to have a sound understanding of
>> it whether you're working with JAXB or XMLBeans. A lot of people needing to
>> understand XML Schema because they work with WSDL or other things that use
>> it don't bother to acquire even a basic understanding of XML Schema.
>> A sequence is a group of elements that must appear in that order. If the
>> elements can appear in any order, don't use a sequence.
>> If you have
>> <xs:sequence>
>>       <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
>>       <xs:any namespace="##other" minOccurs="0"/>
>> </xs:sequence>
>> that means that presentationURL must appear first, if it does, followed by
>> zero or one of any element just not in the target namespace.
>> - Wing Yew
>>  ------------------------------
>> *From:* Sebastien Dionne [mailto:survivant00@gmail.com]
>> *Sent:* Wednesday, December 30, 2009 11:26 AM
>>
>> *To:* user@xmlbeans.apache.org
>> *Subject:* Re: jaxb to xmlbeans : xmlbeans fail on xs:any
>>
>> thanks.  I was not suspecting a problem with Xmlbeans, is just that Jaxb
>> didn't generate error, so I assumed that it was valid some how.
>>
>> I was able to fix the problem by replacing :
>>
>> <xs:all>
>> ...
>>      <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
>> </xs:all>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>
>> by
>> <xs:sequence>
>>       <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
>>       <xs:any namespace="##other" minOccurs="0"/>
>> </xs:sequence>
>>
>> but I don't know if there will be side effects.
>>
>> I hope that I didn't broke the order.. I had to be order less.
>>
>>
>> is it OK ?
>>
>>
>> 2009/12/30 Wing Yew Poon <wi...@oracle.com>
>>
>>>  It is not weird. And there is nothing weird with XMLBeans.
>>> The XMLBeans error tells you exactly what the problem is.
>>> If you encounter an error from XMLBeans, I'd advise you to first look to
>>> see what you may be doing wrong, instead of thinking XMLBeans is doing
>>> something wrong.
>>> In this case, your schema is invalid. You cannot have an xs:any in an
>>> xs:all group, only xs:element (and xs:annotation). An xs:all group is used
>>> to indicate that elements should appear in any order, but no more than once
>>> each. It can only contain element declarations and references.
>>> - Wing Yew
>>>
>>>  ------------------------------
>>> *From:* Sebastien Dionne [mailto:survivant00@gmail.com]
>>> *Sent:* Wednesday, December 30, 2009 9:30 AM
>>> *To:* user@xmlbeans.apache.org
>>> *Subject:* Re: jaxb to xmlbeans : xmlbeans fail on xs:any
>>>
>>>   it wierd.. even jaxb is not able to recompile it.
>>>
>>>
>>>
>>> 2009/12/30 Sebastien Dionne <su...@gmail.com>
>>>
>>>> hello
>>>>
>>>> I used jaxb to generate schema from java source and now I'm trying to
>>>> regenerate java with xmlbeans but it failed on this line
>>>>
>>>> <xs:any processContents="lax" maxOccurs="unbounded"/>
>>>>
>>>> if I remove this line it will compile.
>>>>
>>>> there is something wierd with xmlbeans ?
>>>>
>>>>
>>>> <xs:complexType name="DeviceType">
>>>>     <xs:all>
>>>>       <xs:element name="deviceType" type="xs:string"/>
>>>>       <xs:element name="friendlyName" type="xs:string"/>
>>>>       <xs:element name="manufacturer" type="xs:string"/>
>>>>       <xs:element name="manufacturerURL" type="xs:string"
>>>> minOccurs="0"/>
>>>>       <xs:element name="modelDescription" type="xs:string"
>>>> minOccurs="0"/>
>>>>       <xs:element name="modelName" type="xs:string"/>
>>>>       <xs:element name="modelNumber" type="xs:string" minOccurs="0"/>
>>>>       <xs:element name="modelURL" type="xs:string" minOccurs="0"/>
>>>>       <xs:element name="serialNumber" type="xs:string" minOccurs="0"/>
>>>>       <xs:element name="UDN" type="xs:string"/>
>>>>       <xs:element name="UPC" type="xs:string" minOccurs="0"/>
>>>>       <xs:element name="iconList" type="tns:IconListType"
>>>> minOccurs="0"/>
>>>>       <xs:element name="serviceList" type="tns:ServiceListType"
>>>> minOccurs="0"/>
>>>>       <xs:element name="deviceList" type="tns:DeviceListType"
>>>> minOccurs="0"/>
>>>>       <xs:element name="presentationURL" type="xs:string"
>>>> minOccurs="0"/>
>>>>       <xs:any processContents="lax" maxOccurs="unbounded"/>
>>>>     </xs:all>
>>>>     <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>   </xs:complexType>
>>>>
>>>> [ERROR] BUILD ERROR
>>>> [INFO]
>>>> ------------------------------------------------------------------------
>>>> [INFO] XmlBeans compile failed:
>>>>  xml ErrorLoading schema file
>>>> C:\test\upnp-xsd-xmlbeans-jar\src\main\xsd\device.
>>>> xsd
>>>> xml ErrorC:\test\upnp-xsd-xmlbeans-jar\src\main\xsd\device.xsd:43:7:
>>>> error: cvc-
>>>> complex-type.2.4a: Expected element 'element@
>>>> http://www.w3.org/2001/XMLSchema' i
>>>> nstead of 'any@http://www.w3.org/2001/XMLSchema' here in element all@
>>>> http://www.
>>>> w3.org/2001/XMLSchema
>>>> xml ErrorLoading config file
>>>> C:\test\upnp-xsd-xmlbeans-jar\src\main\xsdconfig\de
>>>> vice.xsdconfig
>>>>
>>>>
>>>
>>>
>>> --
>>> -------------
>>> A+
>>>
>>> Sébastien.
>>>
>>> Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
>>> http://twitter.com/survivant
>>>
>>
>>
>>
>> --
>> -------------
>> A+
>>
>> Sébastien.
>>
>> Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
>> http://twitter.com/survivant
>>
>
>
>
> --
> -------------
> A+
>
> Sébastien.
>
> Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
> http://twitter.com/survivant
>



-- 
-------------
A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant

Re: jaxb to xmlbeans : xmlbeans fail on xs:any

Posted by Sebastien Dionne <su...@gmail.com>.
thanks.

I know, It's in my TODO list to understand XML Schemas.. be able to create
them from scratch.  Now I'm just trying to make it work until I have time to
read more about that.

I retrieve a official xsd for upnp device, but few devices use non standard
tags, so I need to support them and that's why I want to add <xs:any> in all
the Type to be sure that I don't lost informations.

and my program will support jaxb and xmlbeans that why I want to try to have
a xsd that will contains all the informations instead of creating a custom
parser for Xmlbeans and Jaxb.

So <xs:sequence> won't work :(

but there is a way to retrieve extra info ?

<xs:complexType name="DeviceType">
        <xs:all>
            <xs:element name="friendlyName" type="xs:string"/>
            <xs:element name="manufacturer" type="xs:string"/>
            <xs:element name="manufacturerURL" type="xs:string"
minOccurs="0"/>
            <xs:element name="modelDescription" type="xs:string"
minOccurs="0"/>
            <xs:element name="modelName" type="xs:string"/>
            <xs:element name="modelNumber" type="xs:string" minOccurs="0"/>
            <xs:element name="modelURL" type="xs:string" minOccurs="0"/>
            <xs:element name="serialNumber" type="xs:string" minOccurs="0"/>
            <xs:element name="UDN" type="xs:string"/>
            <xs:element name="UPC" type="xs:string" minOccurs="0"/>
            <xs:element name="iconList" type="tns:IconListType"
minOccurs="0"/>
            <xs:element name="serviceList" type="tns:ServiceListType"
minOccurs="0"/>
            <xs:element name="deviceList" type="tns:DeviceListType"
minOccurs="0"/>
            <xs:element name="presentationURL" type="xs:string"
minOccurs="0"/>
            <xs:any namespace="##other" minOccurs="0"/>  (THAT DOESN'T WORK)
        </xs:all>

example of XML that I'll receive.

   <device>
        <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
        <friendlyName>Sebastien Dionne Demo</friendlyName>
        <manufacturer>Sebastien Dionne .ca</manufacturer>
        <presentationURL>/index.html</presentationURL>
        <dlna:X_DLNADOC
            xmlns:ns2="urn:schemas-upnp-org:device-1-0"
            xmlns=""
        >DMS-1.00</dlna:X_DLNADOC>
    </device>

the extra tag in that case is the <dlna>

sometime it's custom tags for Xbox and PS3..

It would have been lot easier if there were custom tags within the specs..

2009/12/30 Wing Yew Poon <wi...@oracle.com>

>  Sebastien,
> you may find it helpful to read up on XML Schema, or at least have a good
> reference on hand; it really is necessary to have a sound understanding of
> it whether you're working with JAXB or XMLBeans. A lot of people needing to
> understand XML Schema because they work with WSDL or other things that use
> it don't bother to acquire even a basic understanding of XML Schema.
> A sequence is a group of elements that must appear in that order. If the
> elements can appear in any order, don't use a sequence.
> If you have
> <xs:sequence>
>       <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
>       <xs:any namespace="##other" minOccurs="0"/>
> </xs:sequence>
> that means that presentationURL must appear first, if it does, followed by
> zero or one of any element just not in the target namespace.
> - Wing Yew
>  ------------------------------
> *From:* Sebastien Dionne [mailto:survivant00@gmail.com]
> *Sent:* Wednesday, December 30, 2009 11:26 AM
>
> *To:* user@xmlbeans.apache.org
> *Subject:* Re: jaxb to xmlbeans : xmlbeans fail on xs:any
>
> thanks.  I was not suspecting a problem with Xmlbeans, is just that Jaxb
> didn't generate error, so I assumed that it was valid some how.
>
> I was able to fix the problem by replacing :
>
> <xs:all>
> ...
>      <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
> </xs:all>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
>
> by
> <xs:sequence>
>       <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
>       <xs:any namespace="##other" minOccurs="0"/>
> </xs:sequence>
>
> but I don't know if there will be side effects.
>
> I hope that I didn't broke the order.. I had to be order less.
>
>
> is it OK ?
>
>
> 2009/12/30 Wing Yew Poon <wi...@oracle.com>
>
>>  It is not weird. And there is nothing weird with XMLBeans.
>> The XMLBeans error tells you exactly what the problem is.
>> If you encounter an error from XMLBeans, I'd advise you to first look to
>> see what you may be doing wrong, instead of thinking XMLBeans is doing
>> something wrong.
>> In this case, your schema is invalid. You cannot have an xs:any in an
>> xs:all group, only xs:element (and xs:annotation). An xs:all group is used
>> to indicate that elements should appear in any order, but no more than once
>> each. It can only contain element declarations and references.
>> - Wing Yew
>>
>>  ------------------------------
>> *From:* Sebastien Dionne [mailto:survivant00@gmail.com]
>> *Sent:* Wednesday, December 30, 2009 9:30 AM
>> *To:* user@xmlbeans.apache.org
>> *Subject:* Re: jaxb to xmlbeans : xmlbeans fail on xs:any
>>
>>   it wierd.. even jaxb is not able to recompile it.
>>
>>
>>
>> 2009/12/30 Sebastien Dionne <su...@gmail.com>
>>
>>> hello
>>>
>>> I used jaxb to generate schema from java source and now I'm trying to
>>> regenerate java with xmlbeans but it failed on this line
>>>
>>> <xs:any processContents="lax" maxOccurs="unbounded"/>
>>>
>>> if I remove this line it will compile.
>>>
>>> there is something wierd with xmlbeans ?
>>>
>>>
>>> <xs:complexType name="DeviceType">
>>>     <xs:all>
>>>       <xs:element name="deviceType" type="xs:string"/>
>>>       <xs:element name="friendlyName" type="xs:string"/>
>>>       <xs:element name="manufacturer" type="xs:string"/>
>>>       <xs:element name="manufacturerURL" type="xs:string" minOccurs="0"/>
>>>       <xs:element name="modelDescription" type="xs:string"
>>> minOccurs="0"/>
>>>       <xs:element name="modelName" type="xs:string"/>
>>>       <xs:element name="modelNumber" type="xs:string" minOccurs="0"/>
>>>       <xs:element name="modelURL" type="xs:string" minOccurs="0"/>
>>>       <xs:element name="serialNumber" type="xs:string" minOccurs="0"/>
>>>       <xs:element name="UDN" type="xs:string"/>
>>>       <xs:element name="UPC" type="xs:string" minOccurs="0"/>
>>>       <xs:element name="iconList" type="tns:IconListType" minOccurs="0"/>
>>>       <xs:element name="serviceList" type="tns:ServiceListType"
>>> minOccurs="0"/>
>>>       <xs:element name="deviceList" type="tns:DeviceListType"
>>> minOccurs="0"/>
>>>       <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
>>>       <xs:any processContents="lax" maxOccurs="unbounded"/>
>>>     </xs:all>
>>>     <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>   </xs:complexType>
>>>
>>> [ERROR] BUILD ERROR
>>> [INFO]
>>> ------------------------------------------------------------------------
>>> [INFO] XmlBeans compile failed:
>>>  xml ErrorLoading schema file
>>> C:\test\upnp-xsd-xmlbeans-jar\src\main\xsd\device.
>>> xsd
>>> xml ErrorC:\test\upnp-xsd-xmlbeans-jar\src\main\xsd\device.xsd:43:7:
>>> error: cvc-
>>> complex-type.2.4a: Expected element 'element@
>>> http://www.w3.org/2001/XMLSchema' i
>>> nstead of 'any@http://www.w3.org/2001/XMLSchema' here in element all@
>>> http://www.
>>> w3.org/2001/XMLSchema
>>> xml ErrorLoading config file
>>> C:\test\upnp-xsd-xmlbeans-jar\src\main\xsdconfig\de
>>> vice.xsdconfig
>>>
>>>
>>
>>
>> --
>> -------------
>> A+
>>
>> Sébastien.
>>
>> Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
>> http://twitter.com/survivant
>>
>
>
>
> --
> -------------
> A+
>
> Sébastien.
>
> Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
> http://twitter.com/survivant
>



-- 
-------------
A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant

RE: jaxb to xmlbeans : xmlbeans fail on xs:any

Posted by Wing Yew Poon <wi...@oracle.com>.
Sebastien,
you may find it helpful to read up on XML Schema, or at least have a good reference on hand; it really is necessary to have a sound understanding of it whether you're working with JAXB or XMLBeans. A lot of people needing to understand XML Schema because they work with WSDL or other things that use it don't bother to acquire even a basic understanding of XML Schema.
A sequence is a group of elements that must appear in that order. If the elements can appear in any order, don't use a sequence.
If you have
<xs:sequence>
      <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
      <xs:any namespace="##other" minOccurs="0"/>
</xs:sequence>
that means that presentationURL must appear first, if it does, followed by zero or one of any element just not in the target namespace.
- Wing Yew

  _____  

From: Sebastien Dionne [mailto:survivant00@gmail.com] 
Sent: Wednesday, December 30, 2009 11:26 AM
To: user@xmlbeans.apache.org
Subject: Re: jaxb to xmlbeans : xmlbeans fail on xs:any


thanks.  I was not suspecting a problem with Xmlbeans, is just that Jaxb didn't generate error, so I assumed that it was valid some how.

I was able to fix the problem by replacing : 

<xs:all>
...
     <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
</xs:all>
<xs:anyAttribute namespace="##other" processContents="skip"/>

by
<xs:sequence>
      <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
      <xs:any namespace="##other" minOccurs="0"/>
</xs:sequence>

but I don't know if there will be side effects.

I hope that I didn't broke the order.. I had to be order less.


is it OK ?



2009/12/30 Wing Yew Poon <HYPERLINK "mailto:wing.yew.poon@oracle.com"wing.yew.poon@oracle.com>


It is not weird. And there is nothing weird with XMLBeans.
The XMLBeans error tells you exactly what the problem is.
If you encounter an error from XMLBeans, I'd advise you to first look to see what you may be doing wrong, instead of thinking XMLBeans is doing something wrong.
In this case, your schema is invalid. You cannot have an xs:any in an xs:all group, only xs:element (and xs:annotation). An xs:all group is used to indicate that elements should appear in any order, but no more than once each. It can only contain element declarations and references.
- Wing Yew
 
  _____  

From: Sebastien Dionne [mailto:HYPERLINK "mailto:survivant00@gmail.com" \nsurvivant00@gmail.com] 
Sent: Wednesday, December 30, 2009 9:30 AM
To: HYPERLINK "mailto:user@xmlbeans.apache.org" \nuser@xmlbeans.apache.org
Subject: Re: jaxb to xmlbeans : xmlbeans fail on xs:any


it wierd.. even jaxb is not able to recompile it.




2009/12/30 Sebastien Dionne <HYPERLINK "mailto:survivant00@gmail.com" \nsurvivant00@gmail.com>


hello

I used jaxb to generate schema from java source and now I'm trying to regenerate java with xmlbeans but it failed on this line

<xs:any processContents="lax" maxOccurs="unbounded"/>

if I remove this line it will compile.

there is something wierd with xmlbeans ?


<xs:complexType name="DeviceType">
    <xs:all>
      <xs:element name="deviceType" type="xs:string"/>
      <xs:element name="friendlyName" type="xs:string"/>
      <xs:element name="manufacturer" type="xs:string"/>
      <xs:element name="manufacturerURL" type="xs:string" minOccurs="0"/>
      <xs:element name="modelDescription" type="xs:string" minOccurs="0"/>
      <xs:element name="modelName" type="xs:string"/>
      <xs:element name="modelNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="modelURL" type="xs:string" minOccurs="0"/>
      <xs:element name="serialNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="UDN" type="xs:string"/>
      <xs:element name="UPC" type="xs:string" minOccurs="0"/>
      <xs:element name="iconList" type="tns:IconListType" minOccurs="0"/>
      <xs:element name="serviceList" type="tns:ServiceListType" minOccurs="0"/>
      <xs:element name="deviceList" type="tns:DeviceListType" minOccurs="0"/>
      <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
      <xs:any processContents="lax" maxOccurs="unbounded"/>
    </xs:all>
    <xs:anyAttribute namespace="##other" processContents="skip"/>
  </xs:complexType>

[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] XmlBeans compile failed:
 xml ErrorLoading schema file C:\test\upnp-xsd-xmlbeans-jar\src\main\xsd\device.
xsd
xml ErrorC:\test\upnp-xsd-xmlbeans-jar\src\main\xsd\device.xsd:43:7: error: cvc-
complex-type.2.4a: Expected element 'element@http://www.w3.org/2001/XMLSchema' i
nstead of 'any@http://www.w3.org/2001/XMLSchema' here in element all@http://www.
HYPERLINK "http://w3.org/2001/XMLSchema" \nw3.org/2001/XMLSchema
xml ErrorLoading config file C:\test\upnp-xsd-xmlbeans-jar\src\main\xsdconfig\de
vice.xsdconfig






-- 
-------------
A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter : http://twitter.com/survivant





-- 
-------------
A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter : http://twitter.com/survivant

Re: jaxb to xmlbeans : xmlbeans fail on xs:any

Posted by Sebastien Dionne <su...@gmail.com>.
thanks.  I was not suspecting a problem with Xmlbeans, is just that Jaxb
didn't generate error, so I assumed that it was valid some how.

I was able to fix the problem by replacing :

<xs:all>
...
     <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
</xs:all>
<xs:anyAttribute namespace="##other" processContents="skip"/>

by
<xs:sequence>
      <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
      <xs:any namespace="##other" minOccurs="0"/>
</xs:sequence>

but I don't know if there will be side effects.

I hope that I didn't broke the order.. I had to be order less.


is it OK ?


2009/12/30 Wing Yew Poon <wi...@oracle.com>

>  It is not weird. And there is nothing weird with XMLBeans.
> The XMLBeans error tells you exactly what the problem is.
> If you encounter an error from XMLBeans, I'd advise you to first look to
> see what you may be doing wrong, instead of thinking XMLBeans is doing
> something wrong.
> In this case, your schema is invalid. You cannot have an xs:any in an
> xs:all group, only xs:element (and xs:annotation). An xs:all group is used
> to indicate that elements should appear in any order, but no more than once
> each. It can only contain element declarations and references.
> - Wing Yew
>
>  ------------------------------
> *From:* Sebastien Dionne [mailto:survivant00@gmail.com]
> *Sent:* Wednesday, December 30, 2009 9:30 AM
> *To:* user@xmlbeans.apache.org
> *Subject:* Re: jaxb to xmlbeans : xmlbeans fail on xs:any
>
> it wierd.. even jaxb is not able to recompile it.
>
>
>
> 2009/12/30 Sebastien Dionne <su...@gmail.com>
>
>> hello
>>
>> I used jaxb to generate schema from java source and now I'm trying to
>> regenerate java with xmlbeans but it failed on this line
>>
>> <xs:any processContents="lax" maxOccurs="unbounded"/>
>>
>> if I remove this line it will compile.
>>
>> there is something wierd with xmlbeans ?
>>
>>
>> <xs:complexType name="DeviceType">
>>     <xs:all>
>>       <xs:element name="deviceType" type="xs:string"/>
>>       <xs:element name="friendlyName" type="xs:string"/>
>>       <xs:element name="manufacturer" type="xs:string"/>
>>       <xs:element name="manufacturerURL" type="xs:string" minOccurs="0"/>
>>       <xs:element name="modelDescription" type="xs:string" minOccurs="0"/>
>>       <xs:element name="modelName" type="xs:string"/>
>>       <xs:element name="modelNumber" type="xs:string" minOccurs="0"/>
>>       <xs:element name="modelURL" type="xs:string" minOccurs="0"/>
>>       <xs:element name="serialNumber" type="xs:string" minOccurs="0"/>
>>       <xs:element name="UDN" type="xs:string"/>
>>       <xs:element name="UPC" type="xs:string" minOccurs="0"/>
>>       <xs:element name="iconList" type="tns:IconListType" minOccurs="0"/>
>>       <xs:element name="serviceList" type="tns:ServiceListType"
>> minOccurs="0"/>
>>       <xs:element name="deviceList" type="tns:DeviceListType"
>> minOccurs="0"/>
>>       <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
>>       <xs:any processContents="lax" maxOccurs="unbounded"/>
>>     </xs:all>
>>     <xs:anyAttribute namespace="##other" processContents="skip"/>
>>   </xs:complexType>
>>
>> [ERROR] BUILD ERROR
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO] XmlBeans compile failed:
>>  xml ErrorLoading schema file
>> C:\test\upnp-xsd-xmlbeans-jar\src\main\xsd\device.
>> xsd
>> xml ErrorC:\test\upnp-xsd-xmlbeans-jar\src\main\xsd\device.xsd:43:7:
>> error: cvc-
>> complex-type.2.4a: Expected element 'element@
>> http://www.w3.org/2001/XMLSchema' i
>> nstead of 'any@http://www.w3.org/2001/XMLSchema' here in element all@
>> http://www.
>> w3.org/2001/XMLSchema
>> xml ErrorLoading config file
>> C:\test\upnp-xsd-xmlbeans-jar\src\main\xsdconfig\de
>> vice.xsdconfig
>>
>>
>
>
> --
> -------------
> A+
>
> Sébastien.
>
> Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
> http://twitter.com/survivant
>



-- 
-------------
A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant

RE: jaxb to xmlbeans : xmlbeans fail on xs:any

Posted by Wing Yew Poon <wi...@oracle.com>.
It is not weird. And there is nothing weird with XMLBeans.
The XMLBeans error tells you exactly what the problem is.
If you encounter an error from XMLBeans, I'd advise you to first look to see what you may be doing wrong, instead of thinking XMLBeans is doing something wrong.
In this case, your schema is invalid. You cannot have an xs:any in an xs:all group, only xs:element (and xs:annotation). An xs:all group is used to indicate that elements should appear in any order, but no more than once each. It can only contain element declarations and references.
- Wing Yew
 
  _____  

From: Sebastien Dionne [mailto:survivant00@gmail.com] 
Sent: Wednesday, December 30, 2009 9:30 AM
To: user@xmlbeans.apache.org
Subject: Re: jaxb to xmlbeans : xmlbeans fail on xs:any


it wierd.. even jaxb is not able to recompile it.




2009/12/30 Sebastien Dionne <HYPERLINK "mailto:survivant00@gmail.com"survivant00@gmail.com>


hello

I used jaxb to generate schema from java source and now I'm trying to regenerate java with xmlbeans but it failed on this line

<xs:any processContents="lax" maxOccurs="unbounded"/>

if I remove this line it will compile.

there is something wierd with xmlbeans ?


<xs:complexType name="DeviceType">
    <xs:all>
      <xs:element name="deviceType" type="xs:string"/>
      <xs:element name="friendlyName" type="xs:string"/>
      <xs:element name="manufacturer" type="xs:string"/>
      <xs:element name="manufacturerURL" type="xs:string" minOccurs="0"/>
      <xs:element name="modelDescription" type="xs:string" minOccurs="0"/>
      <xs:element name="modelName" type="xs:string"/>
      <xs:element name="modelNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="modelURL" type="xs:string" minOccurs="0"/>
      <xs:element name="serialNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="UDN" type="xs:string"/>
      <xs:element name="UPC" type="xs:string" minOccurs="0"/>
      <xs:element name="iconList" type="tns:IconListType" minOccurs="0"/>
      <xs:element name="serviceList" type="tns:ServiceListType" minOccurs="0"/>
      <xs:element name="deviceList" type="tns:DeviceListType" minOccurs="0"/>
      <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
      <xs:any processContents="lax" maxOccurs="unbounded"/>
    </xs:all>
    <xs:anyAttribute namespace="##other" processContents="skip"/>
  </xs:complexType>

[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] XmlBeans compile failed:
 xml ErrorLoading schema file C:\test\upnp-xsd-xmlbeans-jar\src\main\xsd\device.
xsd
xml ErrorC:\test\upnp-xsd-xmlbeans-jar\src\main\xsd\device.xsd:43:7: error: cvc-
complex-type.2.4a: Expected element 'element@http://www.w3.org/2001/XMLSchema' i
nstead of 'any@http://www.w3.org/2001/XMLSchema' here in element all@http://www.
HYPERLINK "http://w3.org/2001/XMLSchema" \nw3.org/2001/XMLSchema
xml ErrorLoading config file C:\test\upnp-xsd-xmlbeans-jar\src\main\xsdconfig\de
vice.xsdconfig






-- 
-------------
A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter : http://twitter.com/survivant

Re: jaxb to xmlbeans : xmlbeans fail on xs:any

Posted by Sebastien Dionne <su...@gmail.com>.
it wierd.. even jaxb is not able to recompile it.



2009/12/30 Sebastien Dionne <su...@gmail.com>

> hello
>
> I used jaxb to generate schema from java source and now I'm trying to
> regenerate java with xmlbeans but it failed on this line
>
> <xs:any processContents="lax" maxOccurs="unbounded"/>
>
> if I remove this line it will compile.
>
> there is something wierd with xmlbeans ?
>
>
> <xs:complexType name="DeviceType">
>     <xs:all>
>       <xs:element name="deviceType" type="xs:string"/>
>       <xs:element name="friendlyName" type="xs:string"/>
>       <xs:element name="manufacturer" type="xs:string"/>
>       <xs:element name="manufacturerURL" type="xs:string" minOccurs="0"/>
>       <xs:element name="modelDescription" type="xs:string" minOccurs="0"/>
>       <xs:element name="modelName" type="xs:string"/>
>       <xs:element name="modelNumber" type="xs:string" minOccurs="0"/>
>       <xs:element name="modelURL" type="xs:string" minOccurs="0"/>
>       <xs:element name="serialNumber" type="xs:string" minOccurs="0"/>
>       <xs:element name="UDN" type="xs:string"/>
>       <xs:element name="UPC" type="xs:string" minOccurs="0"/>
>       <xs:element name="iconList" type="tns:IconListType" minOccurs="0"/>
>       <xs:element name="serviceList" type="tns:ServiceListType"
> minOccurs="0"/>
>       <xs:element name="deviceList" type="tns:DeviceListType"
> minOccurs="0"/>
>       <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
>       <xs:any processContents="lax" maxOccurs="unbounded"/>
>     </xs:all>
>     <xs:anyAttribute namespace="##other" processContents="skip"/>
>   </xs:complexType>
>
> [ERROR] BUILD ERROR
> [INFO]
> ------------------------------------------------------------------------
> [INFO] XmlBeans compile failed:
>  xml ErrorLoading schema file
> C:\test\upnp-xsd-xmlbeans-jar\src\main\xsd\device.
> xsd
> xml ErrorC:\test\upnp-xsd-xmlbeans-jar\src\main\xsd\device.xsd:43:7: error:
> cvc-
> complex-type.2.4a: Expected element 'element@
> http://www.w3.org/2001/XMLSchema' i
> nstead of 'any@http://www.w3.org/2001/XMLSchema' here in element all@
> http://www.
> w3.org/2001/XMLSchema
> xml ErrorLoading config file
> C:\test\upnp-xsd-xmlbeans-jar\src\main\xsdconfig\de
> vice.xsdconfig
>
>


-- 
-------------
A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant

Re: jaxb to xmlbeans : xmlbeans fail on xs:any

Posted by Sebastien Dionne <su...@gmail.com>.
here my xml that I want to parse

<device>
        <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
        <friendlyName>Sebastien Dionne Demo</friendlyName>
        <presentationURL>/index.html</presentationURL>
        <dlna:X_DLNADOC
            xmlns:ns2="urn:schemas-upnp-org:device-1-0"
            xmlns=""
        >DMS-1.00</dlna:X_DLNADOC>
    </device>

the problem is the <dlna> tag that never appear in my ummarshal structure.



2009/12/30 Sebastien Dionne <su...@gmail.com>

> hello
>
> I used jaxb to generate schema from java source and now I'm trying to
> regenerate java with xmlbeans but it failed on this line
>
> <xs:any processContents="lax" maxOccurs="unbounded"/>
>
> if I remove this line it will compile.
>
> there is something wierd with xmlbeans ?
>
>
> <xs:complexType name="DeviceType">
>     <xs:all>
>       <xs:element name="deviceType" type="xs:string"/>
>       <xs:element name="friendlyName" type="xs:string"/>
>       <xs:element name="manufacturer" type="xs:string"/>
>       <xs:element name="manufacturerURL" type="xs:string" minOccurs="0"/>
>       <xs:element name="modelDescription" type="xs:string" minOccurs="0"/>
>       <xs:element name="modelName" type="xs:string"/>
>       <xs:element name="modelNumber" type="xs:string" minOccurs="0"/>
>       <xs:element name="modelURL" type="xs:string" minOccurs="0"/>
>       <xs:element name="serialNumber" type="xs:string" minOccurs="0"/>
>       <xs:element name="UDN" type="xs:string"/>
>       <xs:element name="UPC" type="xs:string" minOccurs="0"/>
>       <xs:element name="iconList" type="tns:IconListType" minOccurs="0"/>
>       <xs:element name="serviceList" type="tns:ServiceListType"
> minOccurs="0"/>
>       <xs:element name="deviceList" type="tns:DeviceListType"
> minOccurs="0"/>
>       <xs:element name="presentationURL" type="xs:string" minOccurs="0"/>
>       <xs:any processContents="lax" maxOccurs="unbounded"/>
>     </xs:all>
>     <xs:anyAttribute namespace="##other" processContents="skip"/>
>   </xs:complexType>
>
> [ERROR] BUILD ERROR
> [INFO]
> ------------------------------------------------------------------------
> [INFO] XmlBeans compile failed:
>  xml ErrorLoading schema file
> C:\test\upnp-xsd-xmlbeans-jar\src\main\xsd\device.
> xsd
> xml ErrorC:\test\upnp-xsd-xmlbeans-jar\src\main\xsd\device.xsd:43:7: error:
> cvc-
> complex-type.2.4a: Expected element 'element@
> http://www.w3.org/2001/XMLSchema' i
> nstead of 'any@http://www.w3.org/2001/XMLSchema' here in element all@
> http://www.
> w3.org/2001/XMLSchema
> xml ErrorLoading config file
> C:\test\upnp-xsd-xmlbeans-jar\src\main\xsdconfig\de
> vice.xsdconfig
>
>


-- 
-------------
A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant