Issue 8995: Section: 1.2.7.6 Multi-dimensional arrays in IDL (corbawsdl-rtf) Source: (, ) Nature: Revision Severity: Significant Summary: Multi-dimensional arrays in IDL are required to be mapped to intermediate types for each of the sub-arrays. The naming scheme used by the specification can lead to name collision. Referring to section 1.2.7.6 page 1-14, an IDL with the following declaration typedef long matrix [5][3]; maps to complex types as below: <xsd:complexType name="_SE_ArrayOfint"> ... </xsd:complexType> <xsd:complexType name="_SE_matrix"> ... </xsd:complexType> <xsd:complexType name="ArrayOfint"> ... </xsd:complexType> <xsd:complexType name="matrix"> ... </xsd:complexType> However, if you have another type in the above IDL typedef long anotherMatrix[5][3]; This will also map to complex types with names _SE_ArrayOfint, _SE_anotherMatrix, ArrayOfint, anotherMatrix leading to name collision between XML schema types. Same goes for more than two-dimensional arrays. Proposed resolution: To have name collision-free types, an approach can be to include the name and size of that particular array. For example, the above IDL will produce the following schema types. <xsd:complexType name="_SE_ArrayOfint_matrix_3"> <xsd:complexContent> <xsd:restriction base="SOAP-ENC:Array"> <xsd:sequence> <xsd:element name="item" type="xsd:int" minOccurs="3" maxOccurs="3"/> </xsd:sequence> <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:int[]"/> </xsd:restriction> </xsd:complexContents> </xsd:complexType> <xsd:complexType name="_SE_matrix"> <xsd:complexContent> <xsd:restriction base="SOAP-ENC:Array"> <xsd:sequence> <xsd:element name="item" type="_SE_matrix_3" minOccurs="5" maxOccurs="5"/> </xsd:sequence> <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="_SE_matrix_3[]"/> </xsd:restriction> </xsd:complexContents> </xsd:complexType> <xsd:complexType name="ArrayOfint_matrix_3"> <xsd:sequence> <xsd:element name="item" type="xsd:int" minOccurs="3" maxOccurs="3"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="matrix"> <xsd:sequence> <xsd:element name="item" type="matrix_3" minOccurs="5" maxOccurs="5"/> </xsd:sequence> </xsd:complexType> Resolution: append "_<n>" suffix to the nth arising collision with the collided ArrayOf<type> identifier Revised Text: add the following paragraph after the array examples. "In a case where the generated identifier for an intermediate array collides with an already mapped IDL intermediate array type definition, append the suffix "_n" to uniquely define the identifier of the nth arising name collision with a previously generated intermediate array identifier. Note: A type name collision only occurs when an intermediate array generated for one multidimensional array (e.g., long matrix[5][3] -> ArrayOfInt[5]) has the same name as that generated for another mutidimensional array, and has a different array range value (e.g., long anotherMatrix[6][4] -> ArrayOfInt[6]). " Actions taken: September 22, 2005: received issue October 30, 2006: closed issue Discussion: RTF should make minimal fixes to problems found. RTF should not change the mapped identifiers when a collision does not occur. End of Annotations:===== m: webmaster@omg.org Date: 22 Sep 2005 04:18:25 -0400 To: Subject: Issue/Bug Report -------------------------------------------------------------------------------- Name: Naveed Shaikh Company: Borland mailFrom: naveed.shaikh@borland.com Notification: Yes Specification: CORBA-WSDL/SOAP Interworking Section: 1.2.7.6 FormalNumber: formal/05-02-01 Version: 1.1 RevisionDate: 02/01/2005 Page: 1-14 Nature: Revision Severity: Significant HTTP User Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322) Description Multi-dimensional arrays in IDL are required to be mapped to intermediate types for each of the sub-arrays. The naming scheme used by the specification can lead to name collision. Referring to section 1.2.7.6 page 1-14, an IDL with the following declaration typedef long matrix [5][3]; maps to complex types as below: ... ... ... ... However, if you have another type in the above IDL typedef long anotherMatrix[5][3]; This will also map to complex types with names _SE_ArrayOfint, _SE_anotherMatrix, ArrayOfint, anotherMatrix leading to name collision between XML schema types. Same goes for more than two-dimensional arrays. Proposed resolution: To have name collision-free types, an approach can be to include the name and size of that particular array. For example, the above IDL will produce the following schema types. Date: Thu, 27 Apr 2006 13:08:02 -0500 From: Tom Rutt Reply-To: tom@coastin.com User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923) X-Accept-Language: en-us, en To: corbawsdl-rtf@omg.org Subject: Proposed resolution for corbawsdl rtf issue 89995 Please provide comments on the list. A vote will follow in a couple of weeks. ---------- Issue 8995: Section: 1.2.7.6 Multi-dimensional arrays in IDL (corbawsdl-rtf) Click here for this issue's archive. Nature: Revision Severity: Significant Summary: Multi-dimensional arrays in IDL are required to be mapped to intermediate types for each of the sub-arrays. The naming scheme used by the specification can lead to name collision. Referring to section 1.2.7.6 page 1-14, an IDL with the following declaration typedef long matrix [5][3]; maps to complex types as below: ... ... ... ... However, if you have another type in the above IDL typedef long anotherMatrix[5][3]; This will also map to complex types with names _SE_ArrayOfint, _SE_anotherMatrix, ArrayOfint, anotherMatrix leading to name collision between XML schema types. Same goes for more than two- dimensional arrays. Proposed resolution: To have name collision-free types, an approach can be to include the name and size of that particular array. For example, the above IDL will produce the following schema types. Discussion: RTF should make minimal fixes to problems found. RTF should not change the mapped identifiers when a collision does not occur. Propowsed Resolution: append ._. suffix to the nth arising collision with the collided ArrayOf identifier. Revised Text: add the following paragraph after the array examples. .In a case where the generated identifier for an intermediate array collides with an already mapped IDL intermediate array type definition, append the suffix ._n. to uniquely define the identifier of the nth arising name collision with a previously generated intermediate array identifier.. -- ---------------------------------------------------- Tom Rutt email: tom@coastin.com; trutt@us.fujitsu.com Tel: +1 732 801 5744 Fax: +1 732 774 5133 Reply-To: From: "Victor Giddings" To: , Cc: "'Patten, Conor'" Subject: RE: Vote 1 for Corba Wsdl RTF Date: Wed, 31 May 2006 04:50:15 -0400 Organization: Objective Interface System X-Mailer: Microsoft Office Outlook, Build 11.0.6353 Thread-Index: AcZ97PCp0lbR34+jQd+6qIaXQSh7hAGoK6sA Question on resolution for 8995: are the types with clashing names really different? For example, does the _SE_ArrayOfInt generated from "typedef long matrix [5][3];" differ from that generated from "typedef long anothermatrix [5][3];"? If not, then we don't really have a name clash, just a bit of extra work on the translator to suppress the duplicate type definitions. Objective Interface Systems votes as follows ... 8755 - YES 8806 - YES 8807 - YES 8991 - YES 8992 - YES 8994 - YES 8995 - Abstain 9600 - YES 9601 - YES 9602 - YES 9604 - YES 9611 - YES Victor Giddings mailto:victor.giddings@mail.ois.com Senior Scientist +1 703 295 6520 Objective Interface Systems Fax: +1 703 295 6501 > -----Original Message----- > From: Tom Rutt [mailto:tom@coastin.com] > Sent: Monday, May 22, 2006 6:13 PM > To: corbawsdl-rtf@omg.org; Patten, Conor; Dave Stringer > Subject: Vote 1 for Corba Wsdl RTF > > Vote 1 for CORBA/WSDL Revision Task Force > Date: March 22, 2006 > Source: RTF Chair (Tom Rutt, Fujitsu) > > Please vote YES, NO, or Abstain for each of the following issue > resolution proposals. > > This Vote closes 5:00 PM Eastern Time on Monday March 29. > > Base document(s) June 28, 2005 formal/2005-02-01, > formal/2004-04-01 > > Voting Members are: > > 2AB Mitchel Sanders > Borland Software Corporation David Stringer > Fujitsu Tom Rutt (CHAIR) > IONA Conor Patten > Objective Interface Systems Victor Giddings > > > Issue 8755: Section: 1.2.11 > Issue 8806: Section: 1.2.7.10 > Issue 8807: xsd:url type not defined in schema > Issue 8991: Section: 1.2.7.6 > Issue 8992: Section: 1.2.7.6 > Issue 8994: Section: 1.2.7.6 page 1-14 > Issue 8995: Section: 1.2.7.6 Multi-dimensional arrays in IDL > Issue 9600: Section: 1.2.7.5 and 1.2.7.6 (CorbaToWsdl) > Issue 9601: Section: 1.2.11 (CorbaToWsdl) > Issue 9602: Section: 1.2.x (CorbaToWsdl) > Issue 9604: Section: 1.2.7.6 (CorbaToWsdl) > Issue 9611: Section: 1.2.6.1 (CorbaToWsdl) > > The proposed issues resolutions are attached as a pdf file. > > I attach a Zip file with the machine readable fixes for the examples. > > -- > ---------------------------------------------------- > Tom Rutt email: tom@coastin.com; trutt@us.fujitsu.com > Tel: +1 732 801 5744 Fax: +1 732 774 5133 > > > Date: Wed, 31 May 2006 13:33:30 -0400 From: Tom Rutt Subject: Re: Vote 1 for Corba Wsdl RTF - addressing Vic's concern To: victor.giddings@mail.ois.com Cc: corbawsdl-rtf@omg.org, "'Patten, Conor'" Reply-to: tom@coastin.com X-Accept-Language: en-us, en User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923) Victor Giddings wrote: Question on resolution for 8995: are the types with clashing names really different? For example, does the _SE_ArrayOfInt generated from "typedef long matrix [5][3];" differ from that generated from "typedef long anothermatrix [5][3];"? If not, then we don't really have a name clash, just a bit of extra work on the translator to suppress the duplicate type definitions. I think the point is that there is only a type name clash if the two generated intemediate types "arrayOfInt" had different range values. If both arrayOfInt had range 5 there would be no type conflict, just the requirement to resolve two duplicate types. But if the range of one subArray was different from another subArray of the same primitive type (say anothermatrix[6][3]) there would be a type clashing collision. So I think an editorial fix to address this concern would be as follows: existing text in proposed resolution: .In a case where the generated identifier for an intermediate array collides with an already mapped IDL intermediate array type definition, append the suffix ._n. to uniquely define the identifier of the nth arising name collision with a previously generated intermediate array identifier.. I propose to add the following note: " note: A type name collision only occurs when an intermediate array generated for one multidimensional array (e.g., long matrix[5][3] -> ArrayOfInt[5]) has the same name as that generated for another mutidimensional array, and has a different array range value (e.g., long anotherMatrix[6][4] -> ArrayOfInt[6]). " If anyone disagrees with this simple editorial clarification, please reply to this mail with an alternative proposal, which we can put out for RTF vote. Tom Rutt Objective Interface Systems votes as follows ... 8755 - YES 8806 - YES 8807 - YES 8991 - YES 8992 - YES 8994 - YES 8995 - Abstain 9600 - YES 9601 - YES 9602 - YES 9604 - YES 9611 - YES Victor Giddings mailto:victor.giddings@mail.ois.com Senior Scientist +1 703 295 6520 Objective Interface Systems Fax: +1 703 295 6501 -----Original Message----- From: Tom Rutt [mailto:tom@coastin.com] Sent: Monday, May 22, 2006 6:13 PM To: corbawsdl-rtf@omg.org; Patten, Conor; Dave Stringer Subject: Vote 1 for Corba Wsdl RTF Vote 1 for CORBA/WSDL Revision Task Force Date: March 22, 2006 Source: RTF Chair (Tom Rutt, Fujitsu) Please vote YES, NO, or Abstain for each of the following issue resolution proposals. This Vote closes 5:00 PM Eastern Time on Monday March 29. Base document(s) June 28, 2005 formal/2005-02-01, formal/2004-04-01 Voting Members are: 2AB Mitchel Sanders Borland Software Corporation David Stringer Fujitsu Tom Rutt (CHAIR) IONA Conor Patten Objective Interface Systems Victor Giddings Issue 8755: Section: 1.2.11 Issue 8806: Section: 1.2.7.10 Issue 8807: xsd:url type not defined in schema Issue 8991: Section: 1.2.7.6 Issue 8992: Section: 1.2.7.6 Issue 8994: Section: 1.2.7.6 page 1-14 Issue 8995: Section: 1.2.7.6 Multi-dimensional arrays in IDL Issue 9600: Section: 1.2.7.5 and 1.2.7.6 (CorbaToWsdl) Issue 9601: Section: 1.2.11 (CorbaToWsdl) Issue 9602: Section: 1.2.x (CorbaToWsdl) Issue 9604: Section: 1.2.7.6 (CorbaToWsdl) Issue 9611: Section: 1.2.6.1 (CorbaToWsdl) The proposed issues resolutions are attached as a pdf file. I attach a Zip file with the machine readable fixes for the examples. -- ---------------------------------------------------- Tom Rutt email: tom@coastin.com; trutt@us.fujitsu.com Tel: +1 732 801 5744 Fax: +1 732 774 5133 -- ---------------------------------------------------- Tom Rutt email: tom@coastin.com; trutt@us.fujitsu.com Tel: +1 732 801 5744 Fax: +1 732 774 5133 Reply-To: From: "Victor Giddings" To: , Cc: "'Patten, Conor'" Subject: RE: Vote 1 for Corba Wsdl RTF - addressing Vic's concern Date: Thu, 1 Jun 2006 07:20:44 -0400 Organization: Objective Interface System X-Mailer: Microsoft Office Outlook, Build 11.0.6353 Thread-Index: AcaE2Fy38bIQJVXhT6mOtkt0FJWmKQAlNUmQ Thanks, Tom. Proposal looks good to me. You can change OIS's vote to YES on 8995, if it is not too late. Victor Giddings mailto:victor.giddings@mail.ois.com Senior Scientist +1 703 295 6520 Objective Interface Systems Fax: +1 703 295 6501 > -----Original Message----- > From: Tom Rutt [mailto:tom@coastin.com] > Sent: Wednesday, May 31, 2006 1:34 PM > To: victor.giddings@mail.ois.com > Cc: corbawsdl-rtf@omg.org; 'Patten, Conor' > Subject: Re: Vote 1 for Corba Wsdl RTF - addressing Vic's concern > > Victor Giddings wrote: > > >Question on resolution for 8995: are the types with clashing names > >really different? For example, does the _SE_ArrayOfInt > generated from > >"typedef long matrix [5][3];" differ from that generated > from "typedef > >long anothermatrix [5][3];"? If not, then we don't really > have a name > >clash, just a bit of extra work on the translator to > suppress the duplicate type definitions. > > > > > I think the point is that there is only a type name clash if > the two generated intemediate types "arrayOfInt" had > different range values. If both arrayOfInt had range 5 there > would be no type conflict, just the requirement to resolve > two duplicate types. > > But if the range of one subArray was different from another > subArray of the same primitive type (say anothermatrix[6][3]) > there would be a type clashing collision. > > So I think an editorial fix to address this concern would be > as follows: > existing text in proposed resolution: > .In a case where the generated identifier for an intermediate > array collides with an already mapped IDL intermediate array > type definition, append the suffix ._n. to uniquely define > the identifier of the nth arising name collision with a > previously generated intermediate array identifier.. > > I propose to add the following note: > " > note: A type name collision only occurs when an intermediate > array generated for one multidimensional array (e.g., long > matrix[5][3] -> > ArrayOfInt[5]) has the same name as that generated for > another mutidimensional array, and has a different array > range value (e.g., long anotherMatrix[6][4] -> ArrayOfInt[6]). > " > > If anyone disagrees with this simple editorial clarification, > please reply to this mail with an alternative proposal, which > we can put out for RTF vote. > > Tom Rutt > > >Objective Interface Systems votes as follows ... > > > >8755 - YES > >8806 - YES > >8807 - YES > >8991 - YES > >8992 - YES > >8994 - YES > >8995 - Abstain > >9600 - YES > >9601 - YES > >9602 - YES > >9604 - YES > >9611 - YES > > > >Victor Giddings mailto:victor.giddings@mail.ois.com > >Senior Scientist +1 703 295 6520 > >Objective Interface Systems Fax: +1 703 295 6501 > > > > > > > > > > > >>-----Original Message----- > >>From: Tom Rutt [mailto:tom@coastin.com] > >>Sent: Monday, May 22, 2006 6:13 PM > >>To: corbawsdl-rtf@omg.org; Patten, Conor; Dave Stringer > >>Subject: Vote 1 for Corba Wsdl RTF > >> > >>Vote 1 for CORBA/WSDL Revision Task Force > >>Date: March 22, 2006 > >>Source: RTF Chair (Tom Rutt, Fujitsu) > >> > >>Please vote YES, NO, or Abstain for each of the following issue > >>resolution proposals. > >> > >>This Vote closes 5:00 PM Eastern Time on Monday March 29. > >> > >>Base document(s) June 28, 2005 formal/2005-02-01, > >>formal/2004-04-01 > >> > >>Voting Members are: > >> > >>2AB Mitchel Sanders > >>Borland Software Corporation David Stringer > >>Fujitsu Tom Rutt (CHAIR) > >>IONA Conor Patten > >>Objective Interface Systems Victor Giddings > >> > >> > >>Issue 8755: Section: 1.2.11 > >>Issue 8806: Section: 1.2.7.10 > >>Issue 8807: xsd:url type not defined in schema Issue 8991: Section: > >>1.2.7.6 Issue 8992: Section: 1.2.7.6 Issue 8994: Section: > 1.2.7.6 page > >>1-14 Issue 8995: Section: 1.2.7.6 Multi-dimensional arrays in IDL > >>Issue 9600: Section: 1.2.7.5 and 1.2.7.6 (CorbaToWsdl) Issue 9601: > >>Section: 1.2.11 (CorbaToWsdl) Issue 9602: Section: 1.2.x > (CorbaToWsdl) > >>Issue 9604: Section: 1.2.7.6 (CorbaToWsdl) Issue 9611: Section: > >>1.2.6.1 (CorbaToWsdl) > >> > >>The proposed issues resolutions are attached as a pdf file. > >> > >>I attach a Zip file with the machine readable fixes for the > examples. > >> > >>-- > >>---------------------------------------------------- > >>Tom Rutt email: tom@coastin.com; trutt@us.fujitsu.com > >>Tel: +1 732 801 5744 Fax: +1 732 774 5133 > >> > >> > >> > >> > >> > > > -- > ---------------------------------------------------- > Tom Rutt email: tom@coastin.com; trutt@us.fujitsu.com > Tel: +1 732 801 5744 Fax: +1 732 774 5133 > >