Are you saying that I should be able to do something like the code below, or
am I missing something?
XmlComplexContentImpl complexContent = (XmlComplexContentImpl)result;
boolean blnResult = Boolean.getBoolean("true");
complexContent.changeType(XmlBoolean.type);
complexContent.set(blnResult);
I actually did try this at one point, but when I set the boolean value, I
received an exception of
org.apache.xmlbeans.impl.values.XmlValueNotSupportedException.
Have you ever seen this exception? Do you know, why I am getting it since
it appears to me that the element in the XSD will accept anyType, and also
how I might be able to fix it?
Thank you again,
Doug
On 8/18/05 9:24 AM, "Jean-Christophe Pazzaglia"
<[EMAIL PROTECTED]> wrote:
> Doug Fischer wrote:
>
>> Thank you for the reply. The schema that I am using is not my own, I have
>> included an excerpt below. Would you be able to tell me if / why this is
>> too strict? Before I started setting objects like XmlBoolean, XmlString,
>> XmlDouble, etc... Inside the element, the xsi:type attribute did show up
>> however now that I am setting one of these objects, it is no longer showing.
>>
>> ...
>>
>>
>
>
> nop,
>
> humm did you try to use the AbstractObservationType
> factory, change the type, and set the result *content* (ie boolean)
> instead of setting the full tree ?
>
> I suspect that it may be a bug/feature of set to not add extra
> typing attributes while using set(XmlObject)
>
> sorry
> jc
>
>> <complexType name="ObservationType">
>> <annotation>
>> <documentation>Observation event.
>> carries a generic "result" properties of type
>> "anyType".</documentation>
>> </annotation>
>> <complexContent>
>> <extension base="om:AbstractObservationType">
>> <sequence>
>> <element name="result" type="anyType" nillable="true">
>> <annotation>
>> <documentation>an xsi:type attribute may appear
>> in the instance to indicate the type of the result</documentation>
>> </annotation>
>> </element>
>> </sequence>
>> </extension>
>> </complexContent>
>> </complexType>
>> <complexType name="AbstractObservationType">
>> <annotation>
>> <documentation>Base type for Observations.
>>
>> Concrete Observation types must extend this type with a
>> "result" of the appropriate type.
>>
>> The following properties are inherited from EventType:
>> <!-- from AbstractGMLType
>> <group ref="gml:StandardObjectProperties"/> -->
>> <!-- or
>> <element ref="gml:metaDataProperty" minOccurs="0"
>> maxOccurs="unbounded"/>
>> <element ref="gml:description" minOccurs="0"/>
>> <element ref="gml:name" minOccurs="0"
>> maxOccurs="unbounded"/> -->
>> <!-- from AbstractFeatureType
>> <element ref="gml:boundedBy" minOccurs="0"/> -->
>> <!-- from EventType
>> <element name="eventTime" type="om:TimeObjectPropertyType"
>> nillable="true"/>
>> <element name="eventLocation"
>> type="om:LocationPropertyType" nillable="true"/>
>> <element name="precedingEvent" type="gml:StringOrRefType"
>> minOccurs="0" maxOccurs="unbounded"/>
>> <element name="followingEvent" type="gml:StringOrRefType"
>> minOccurs="0" maxOccurs="unbounded"/>
>> <element name="responsible" type="meta:PartyPropertyType"
>> minOccurs="0" maxOccurs="unbounded"/> -->
>>
>> </documentation>
>> </annotation>
>> <complexContent>
>> <extension base="om:EventType">
>> <sequence>
>> <element name="procedure"
>> type="om:AbstractSensorSystemPropertyType"/>
>> <element name="observedProperty"
>> type="swe:PhenomenonDefinitionPropertyType">
>> <annotation>
>> <documentation>Link to a description of the
>> property or phenomenon whose value is being described or estimated through
>> observation
>> for example "wavelength", "grass-species",
>> "power", "intensity in the waveband x-y", etc.
>> It is this feature-property that provides the
>> (semantic) type of the observation.
>> Note that the description of the phenomenon may
>> be quite specific and constrained.
>> In general the precise details of the
>> constraints describing the observe properties require attention to the
>> procedure used in making the observation:
>> e.g. an optical sensor typically has a
>> wavelength-dependent response.
>> This property may be provided for client
>> convenience, to allow comparison between and aggregation of observations of
>> the same property made using different procedures.</documentation>
>> </annotation>
>> </element>
>> <element name="quality" type="meta:QualityPropertyType"
>> minOccurs="0" maxOccurs="unbounded">
>> <annotation>
>> <documentation>Allow multiple quality measures
>> if required.</documentation>
>> </annotation>
>> </element>
>> <element name="target" type="gml:FeaturePropertyType">
>> <annotation>
>> <documentation>the Feature or location
>> regarding which the observations are being made,
>> sometimes called the subject of the observation, such as a
>> specimen, station, tract, mountain, pixel, etc.</documentation>
>> </annotation>
>> </element>
>> <!--
>> <element name="result" type="anyType">
>> <annotation>
>> <documentation>This is a placeholder - concrete
>> types must replace (restrict) this with a "result" property of the correct
>> type. </documentation>
>> </annotation>
>> </element>
>> -->
>> </sequence>
>> </extension>
>> </complexContent>
>> </complexType>
>>
>>
>> Thank you for any other help you can offer.
>>
>> Doug
>>
>>
>> On 8/18/05 5:15 AM, "Jean-Christophe Pazzaglia"
>> <[EMAIL PROTECTED]> wrote:
>>
>>
>>
>>> well,
>>>
>>> as far as I understood,
>>> the xsi:type usually appears when the type is not stricly defined
>>> (for example to enable subtyping of elements), I suspect that your
>>> schema is too strict. In my case, xsi:type appears correctly;
>>> here is an extract of the schema I am using:
>>> ./...
>>>
>>> <complexType name="ContentType" mixed="false">
>>> <sequence>
>>> <element name="Attribute" type="xac:AbstractAttributeType" minOccurs="0"
>>> maxOccurs="unbounded"/>
>>> </sequence>
>>> </complexType>
>>> <complexType name="AbstractAttributeType" abstract="true" mixed="false">
>>> <annotation>
>>> <documentation>A very simple attribute, inheritance root for all
>>> attributes</documentation>
>>> </annotation>
>>> <sequence>
>>> ./....
>>> </sequence>
>>> </complexType>
>>> <complexType name="AttributeType">
>>> <annotation>
>>> <documentation>Its first descendant</documentation>
>>> </annotation>
>>> <complexContent>
>>> <extension base="xac:AbstractAttributeType"/>
>>> </complexContent>
>>> </complexType>
>>> ./....
>>> Hope this may help you
>>> jc
>>>
>>>
>>>
>>>> I am really hoping that this a pretty simple question. I am new to
>>>> XmlBeans, this is the first project that I have used it on so far.
>>>>
>>>> Anyway, what I would like to see in the resulting xml is something
>>>> like the following:
>>>>
>>>> <om:result xsi:type=²xsi:boolean²>false</om:result>
>>>>
>>>> The om:result element is an instance of XmlComplexContentImpl, I have
>>>> tried to use the XmlComplexContentImpl.set(boolean booleanValue) but I
>>>> get an exception every time. I then attempted the following code:
>>>>
>>>> boolean boolResult = Boolean.getBoolean(measure.getResult());
>>>> XmlBoolean xmlBoolean = XmlBoolean.Factory.newInstance();
>>>> xmlBoolean.setBooleanValue(boolResult);
>>>> complexContent.set(xmlBoolean);
>>>> complexContent.changeType(XmlBoolean.type);
>>>>
>>>> This code will set the value to a boolean value, however the xsi:type
>>>> attribute will not appear therefore I get the following xml
>>>>
>>>> <om:result>false</om:result>
>>>>
>>>> Could anyone please tell me if it is possible to force the xsi:type
>>>> attribute to appear?
>>>>
>>>> Thank you very much,
>>>> Doug
>>>>
>>>>
>>>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> 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]