blob: 4d274ee5e4e8fc396e5587176c4cef644e5a8bc6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
|
SDO Interoperability Testing
============================
Current SDO Implementations
---------------------------
Java - M1
C++ - M1
PHP - v1.0.1
Features
--------
There are various approaches to getting data in and out of SDO and various levels of
support for these approaches across the current SDO implementations:
Feature Java C++ PHP
....... .... ... ...
XML (DAS) Y Y Y
RDB DAS Y N Y
Serialize to/from WS Y (1) Y (1) N
Serialize to/from session Via java serialize? N via serialize()
(1) - SDO->XMLHelper->String->Axiom
Given these features there are a number of basic but useful tests to demonstrate that
SDO implementations can interoperate to a reasonable degree
Tests
-----
# Test Java C++ PHP
. .... .... ... ...
1 XML->SDO-XML Y Y Y
2 XML->SDO->AddData->XML - Dynamic Y Y Y
3 XML->SDO->AddData->XML - Generated Y Not Supported Y (By Name/By Index)
4 XSD->SDO-XSD Not Supported Y Only supported via serialize
5 RDB->SDO->AddData->RDB - Dynamic Y Not Supported Y
6 RDB->SDO->AddData->RDB - Generated Y Not Supported Y
7 XML->SDO->Axiom->SOAP->Axiom->SDO->XML Y Y Not Supported
8 XML->SDO->Session->SDO->XML Via java serializable? N Stores SDO state (XML+XSD) in PHP session
Test 1
------
The test involved reading and XML file and writing it out again. The output should be compared with the input for change. The test convers all of the XML
schema features that SDO is expected to support. Each feature is described in a separate XSD as shown below. Input XML files include the test number (#)
using the following pattern: interop#-in.xml.
Feature XSD
....... ...
xsd <include> interop1.xsd
xsd <import> interop2.xsd
With target namespace interop3.xsd
Without target namespace interop4.xsd
With sdoJava``:package interop5.xsd
Global Element of simple type interop6.xsd
Global Element of complex type interop7.xsd
Element of simple type see interop10.xsd
Element of complex type see interop19.xsd
Annotation interop8.xsd
Notation interop9.xsd
SimpleTypeWithName interop10.xsd
SimpleTypeAnonymous interop11.xsd
Element Ref interop11.xsd
SimpleTypeWithSDOName interop12.xsd
SimpleTypeWithAbstract interop13.xsd
SimpleTypeWithInstanceClass interop14.xsd
SimpleTypeWithExtendedInstanceClass interop15.xsd
SimpleTypeWithList interop16.xsd
SimpleTypeWithUnion interop17.xsd
ComplexTypeNoContent interop18.xsd
ComplexTypeContent interop19.xsd
ComplexTypeAnonymous interop20.xsd
ComplexTypeWithSDOName interop21.xsd
ComplexTypeWithAbstract interop22.xsd
ComplexTypeWithSDOAliasName interop23.xsd
ComplexTypeExtendingComplexType interop24.xsd
ComplexTypeExtendingSimpeType interop25.xsd
ComplexTypeComplexContentRestrictingComplexType interop26.xsd
ComplexTypeSimpleContentRestrictingComplexType interop27.xsd
ComplexTypeWithMixed interop28.xsd
ComplexTypeWithSDOSequence interop29.xsd
ComplexTypeOpenContent interop30.xsd
ComplexTypeOpenAttributes interop31.xsd
ComplexTypeOppositeProperty interop32.xsd
Attribute interop33.xsd
AttributeWithSDOName interop33.xsd
AttributeWithSDOAliasName interop33.xsd
AttributeWithDefaultValue interop33.xsd
AttributeWithFixedValue interop33.xsd
AttributeReference interop33.xsd
Global Attribute interop33.xsd
AttributeWithSDOString interop33.xsd
AttributeWithSDOPropertyType interop33.xsd
AttributeWithSDOPropertySDOOppositePropertyType interop33.xsd
AttributeWithSDODataType interop33.xsd
ElementWithSDOName interop34.xsd
ElementWithSDOAliasName interop35.xsd
ElementWithMaxOccurs interop36.xsd
Element in sequence see interop10.xsd
ElementInChoice interop37.xsd
ElementInAll interop38.xsd
ElementWithNillable interop39.xsd
ElementSubstitutionGroupBase interop40.xsd
ElementOfSimpleTypeWithDefault interop41.xsd
ElementOfSimpleTypeWithFixed interop42.xsd
ElementOfSimpleTypeWithSDOString interop43.xsd
ElementOfSimpleTypeWithSDOPropertyType interop44.xsd
ElementOfSimpleTypeWithSDOOppositePropertyType interop45.xsd
ElementOfSimpleTypeWithSDODataType interop46.xsd
ElementOfSDOChangeSummaryType interop47.xsd
anySimpleType interop50.xsd
anyType interop50.xsd
anyURI interop50.xsd
base64Binary interop50.xsd
boolean interop50.xsd
byte interop50.xsd
date interop50.xsd
dateTime interop50.xsd
decimal interop50.xsd
double interop50.xsd
duration interop50.xsd
float interop50.xsd
gDay interop50.xsd
gMonth interop50.xsd
gMonthDay interop50.xsd
gYear interop50.xsd
gYearMonth interop50.xsd
hexBinary interop50.xsd
ID interop50.xsd
IDREF interop50.xsd
IDREFS interop50.xsd
int interop50.xsd
integer interop50.xsd
language interop50.xsd
long interop50.xsd
Name interop50.xsd
NCName interop50.xsd
negativeInteger interop50.xsd
NMTOKEN interop50.xsd
NMTOKENS interop50.xsd
nonNegativeInteger interop50.xsd
nonPositiveInteger interop50.xsd
normalizedString interop50.xsd
NOTATION interop50.xsd
positiveInteger interop50.xsd
QName interop50.xsd
short interop50.xsd
string interop50.xsd
time interop50.xsd
token interop50.xsd
unsignedByte interop50.xsd
unsignedInt interop50.xsd
unsignedLong interop50.xsd
unsignedShort interop50.xsd
ENTITIES TBD
ENTITY TBD
Test 2
------
TBD
Test 3
------
Generated interfaces are currently only supported in Java so no testing is defined.
Test 4
------
This is only supported by C++ currently so not testing is performed
Test 5
------
The test checks that the row added to the database matches the previous row in the alltype table
Loading schema and data into DB2:
From command line within the DB2 environment (you can set the DB2 environment on windows by
starting the DB2 CLP and "quit"ing from the DB2 command prompt).
db2 -tvf create-db2.ddl
db2 -tvf insertdata-db2.ddl
Loading schema and data into MySQL
mysql < createdb-mysql.ddl
mysql < insertdata-mysql.ddl
Test 6
------
Generated interfaces are only supported in Java so no testing is defined.
Test 7
------
TBD
Test 8
------
There is no consistent format for serialization across the implementations currently so no testing is performed
|