[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [sdo] Issue 118 - Proposal for review
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
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]