summaryrefslogtreecommitdiffstats
path: root/interop/src/main/resources/sdoJava.xsd
blob: 00a93dd406f9dec2d1fea9f191a4e9bac0080c34 (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
<?xml version="1.0" encoding="UTF-8"?>

<!--
/**
 * <copyright>
 *
 * Service Data Objects
 * Version 2.0
 * Licensed Materials - Property of BEA and IBM
 *
 * (c) Copyright BEA Systems, Inc. and International Business Machines Corp 2005.  All rights reserved.
 *
 * </copyright>
 * 
 */
-->

<xsd:schema
  targetNamespace="commonj.sdo/java"
  xmlns:sdoJava="commonj.sdo/java"
  xmlns:sdo="commonj.sdo"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:import namespace="commonj.sdo" schemaLocation="sdoModel.xsd"/>

<!--
   These attributes are used to customize the Java mapping of 
   XSD to SDO Types and Properties.
-->

<xsd:attribute name="package" type="xsd:string" />
<xsd:attribute name="instanceClass" type="xsd:string" />
<xsd:attribute name="extendedInstanceClass" type="xsd:string" />
<xsd:attribute name="nestedInterfaces" type="xsd:boolean" />

<!--
   JavaInfo declares properties used in open content for 
   the Java binding of SDO Types and Properties.
-->

<!-- FIXME need this global attribute because as per spec Type's with JavaInfo.javaClass cannot be (de)serialized -->
<xsd:attribute name="javaClass" type="sdo:String"/>

<xsd:complexType name="JavaInfo">
  <xsd:attribute ref="sdoJava:javaClass"/>
</xsd:complexType>

<!--
   The Java object data types.
-->

<xsd:simpleType name="BooleanObject" sdoJava:instanceClass="java.lang.Boolean">
  <xsd:restriction base="xsd:boolean"/>
</xsd:simpleType>

<xsd:simpleType name="ByteObject" sdoJava:instanceClass="java.lang.Byte">
  <xsd:restriction base="xsd:byte"/>
</xsd:simpleType>

<xsd:simpleType name="CharacterObject" sdoJava:instanceClass="java.lang.Character">
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

<xsd:simpleType name="DoubleObject" sdoJava:instanceClass="java.lang.Double">
  <xsd:restriction base="xsd:double"/>
</xsd:simpleType>

<xsd:simpleType name="FloatObject" sdoJava:instanceClass="java.lang.Float">
  <xsd:restriction base="xsd:float"/>
</xsd:simpleType>

<xsd:simpleType name="IntObject" sdoJava:instanceClass="java.lang.Integer">
  <xsd:restriction base="xsd:int"/>
</xsd:simpleType>

<xsd:simpleType name="LongObject" sdoJava:instanceClass="java.lang.Long">
  <xsd:restriction base="xsd:long"/>
</xsd:simpleType>

<xsd:simpleType name="ShortObject" sdoJava:instanceClass="java.lang.Short">
  <xsd:restriction base="xsd:short"/>
</xsd:simpleType>

</xsd:schema>