[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [sdo] Issue 118 - Proposal for review
Hi Frank,
In order to support the proposed solution for SDO-118, we (Oracle) would
also require wording in the spec that indicates the XSD generation from
wrapper types is special, and is not required to look like the following:
<xsd:complexType name="VendorIntWrapper">
<xsd:complexContent>
<xsd:extension base="sdo:DataTypeWrapper">
<xsd:sequence>
<xsd:element name="value" type="xsd:int"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
-Blaise
Frank Budinsky wrote:
> Hi Blaise,
>
> Yes, that's right. Wrapper types are really implementation dependent and
> special. An XML serializer needs to provide special handling for wrapper
> types.
>
> Also, user's shouldn't be working with wrapper types directly anyway. The
> user would do this instead:
>
> DataObject intWrapperDO = dataFactory.create("commonj.sdo", "Int");
> intWrapperDO.setInt("value", 7);
> xmlHelper.save(intWrapperDO, "urn:example", "root", System.out);
>
> The implementation, knowing it's a wapper, would serialize it correctly:
>
> <root xmlns="urn:example">7</root>
>
> Frank.
>
>
>
>
> Blaise Doughan <blaise.doughan@oracle.com>
> 09/08/2008 01:50 PM
>
> To
> sdo@lists.oasis-open.org
> cc
>
> Subject
> Re: [sdo] Issue 118 - Proposal for review
>
>
>
>
>
>
> Hi Frank,
>
> That schema fragment does not match my expectations for wrapper types.
>
> For the following code fragment:
> DataObject intWrapperDO = dataFactory.create("vendor.package",
> "VendorIntWrapper");
> intWrapperDO.setInt(7);
> xmlHelper.save(intWrapperDO, "urn:example", "root", System.out);
>
> I would expect the above to return:
> <root xmlns="urn:example">7</root>
>
> And not:
> <root xmlns="urn:example">
> <value>7</value>
> </root>
>
> -Blaise
>
>
> Frank Budinsky wrote:
> VendorIntWrapper is implementation specific, so I can't say exactly what
> it looks like. It could look something like this:
>
> <xsd:complexType name="VendorIntWrapper">
> <xsd:complexContent>
> <xsd:extension base="sdo:DataTypeWrapper">
> <xsd:sequence>
> <xsd:element name="value" type="xsd:int"/>
> </xsd:sequence>
> </xsd:extension>
> </xsd:complexContent>
> </xsd:complexType>
>
> Frank.
>
>
>
>
>
> Blaise Doughan <blaise.doughan@oracle.com>
> 09/08/2008 11:01 AM
>
> To
> sdo@lists.oasis-open.org
> cc
>
> Subject
> Re: [sdo] Issue 118 - Proposal for review
>
>
>
>
>
>
> Hi Frank,
>
> Can you provide the expected schema resulting from the following call
> (assuming VendorIntWrapper extends DataTypeWrapper):
>
> list.add(typeHelper.getType("commonj.sdo", "DataTypeWrapper"));
> list.add(typeHelper.getType("vendor.package", "VendorIntWrapper"));
> xsdHelper.define(list);
>
> -Blaise
>
>
> Frank Budinsky wrote:
> Here is the proposal that that we discussed in today's TC call:
>
> 1. Add the following abstract type to sdoModel.xsd:
>
> <xsd:complexType name="DataTypeWrapper" abstract="true"/>
>
> 2. Users can use this type to determine when a DataObject is a wrapper:
>
> DataObject someObject = ...
> Type dataTypeWrapperType = typeHelper.getType("commonj.sdo",
> "DataTypeWrapper");
> if (dataTypeWrapperType.isInstance(someObject)) ... // "someObject" is a
>
>
> wrapper
>
> The actual type of a wrapper object is implementation dependent, but it
> will always extend from {commonj.sdo}DataTypeWrapper.
>
> Wrapper types are the special implementation-dependant types used to hold
> a simpleType value for an XMLDocument rootObject or for the value of an
> anyType property. Formally defined complexTypes that extend simpleType are
>
>
> not considered wrapper types (i.e., they will not extend DataTypeWrapper),
>
>
> even though they also have a "value" property.
>
> Frank.
>
>
>
>
> Frank Budinsky/Toronto/IBM@IBMCA
> 08/20/2008 03:51 PM
>
> To
> sdo@lists.oasis-open.org
> cc
>
> Subject
> Re: Fw: [sdo] Issue 118 - Creating wrapper objects for simple types
>
>
>
>
>
>
> Hi Blaise,
>
> The two cases that I remember were:
>
> 1) reading an anyType property, which maps to sdo:DataObject, but it may
> be just a DataType value.
> 2) the root element of an XMLDocument, which is always returned as a
> DataObject, even if the actual document simply had a simple DataType at
> the root.
>
> Frank.
>
>
>
>
> Blaise Doughan <blaise.doughan@oracle.com>
> 08/20/2008 03:24 PM
>
> To
> sdo@lists.oasis-open.org
> cc
>
> Subject
> Re: Fw: [sdo] Issue 118 - Creating wrapper objects for simple types
>
>
>
>
>
>
> Hi Frank,
>
> For what use case does the user need to know if the type is a data type
> wrapper?
>
> -Blaise
>
> Frank Budinsky wrote:
>
> Unless somebody can think of a better approach, I'd like to suggest that
>
>
>
>
> we also vote on this in next weeks call.
>
> Thanks,
> Frank
>
> ----- Forwarded by Frank Budinsky/Toronto/IBM on 08/20/2008 03:15 PM
>
> -----
>
> Frank Budinsky/Toronto/IBM
> 08/18/2008 05:19 PM
>
> To
> sdo@lists.oasis-open.org
> cc
>
> Subject
> [sdo] Issue 118 - Creating wrapper objects for simple types
>
>
>
>
>
> If I'm not mistaken, SDO 118 has already been resolved in JSR235. We've
> agreed that DataFactory.create(someSimpleType) must return a wrapper.
>
> What's still missing, is a way for clients to know if a type is a
>
> wrapper.
>
> Proposal: Type.isDataTypeWrapper(). This would return true for any type
> that has the special "value" property (including formally defined types
>
> in
>
> an XSD).
>
> Please let me know if you have any comments or better alternatives?
>
> Thanks,
> Frank.
>
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail. Follow this link to all your TCs in OASIS at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail. Follow this link to all your TCs in OASIS at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail. Follow this link to all your TCs in OASIS at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail. Follow this link to all your TCs in OASIS at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail. Follow this link to all your TCs in OASIS at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail. Follow this link to all your TCs in OASIS at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
>
>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]