MINI MINI MANI MO
<?xml version="1.0"?>
<!--
Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
NAME
kustypt.xsd
DESCRIPTION
XML Schema types for TYPE SXML.
MODIFIED MM/DD/YY
jjanosik 04/18/17 - Bug 25225298: Add NOT_PERSISTABLE
rapayne 10/30/08 - bug 7506545: make [attribute/element]_lists optional
- make CONSTRUCTOR_FUNCTION's param_list and call_spec
optional.
rapayne 10/07/08 - bug 7438241: fix RETURN definition
rapayne 10/07/08 - bug 7413914: add CHAR_SEMANTICS
bug 7438241: fix RETURNType definition to align with spec.
rapayne 01/13/08 - Initial version.
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ku="http://xmlns.oracle.com/ku" targetNamespace="http://xmlns.oracle.com/ku" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- include files -->
<xsd:include schemaLocation="kuscomm.xsd"/>
<!-- types, groups and elements -->
<xsd:complexType name="TYPEType">
<xsd:sequence>
<xsd:group ref="ku:SCHEMA_NAMEGroup"/>
<xsd:element name="OID" type="ku:OIDTypeWithValue1" minOccurs="0"/>
<!-- sxml diff doc can contain one of each -->
<xsd:choice maxOccurs="2">
<xsd:element name="OBJECT" type="ku:ObjectTypeClause"/>
<xsd:element name="VARRAY" type="ku:VarrayTypeClause"/>
<xsd:element name="NESTED_TABLE" type="ku:NestedTableClause"/>
<xsd:element name="INCOMPLETE" type="ku:EmptyType"/>
</xsd:choice>
<xsd:element name="CUSTOMER_AREA" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="version" type="ku:vsn" use="required"/>
<xsd:attribute name="version2" type="ku:vsn"/>
<!-- *******************************************************************
complexType for TYPE
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="ObjectTypeClause">
<xsd:sequence>
<xsd:element name="AUTHID_CURRENT_USER" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="SQLJ_OBJECT_TYPE" type="ku:SQLJ_OBJECT_TYPEType" minOccurs="0"/>
<xsd:element name="UNDER" type="ku:optSCHEMA_NAMEType" minOccurs="0"/>
<xsd:element name="ATTRIBUTE_LIST" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ATTRIBUTE_LIST_ITEM" type="ku:ATTRIBUTE_LIST_ITEMType" maxOccurs="1000"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ELEMENT_LIST" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ELEMENT_LIST_ITEM" type="ku:ELEMENT_LIST_ITEMType" minOccurs="0" maxOccurs="1000"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="NOT_FINAL" minOccurs="0"/>
<xsd:element name="NOT_INSTANTIABLE" minOccurs="0"/>
<xsd:element name="NOT_PERSISTABLE" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complex type for ObjectTypeClause
[ AUTHID_CURRENT_USER ]
[ UNDER ]
[ SQL_OBJECT_TYPE ]
[ ATTRIBUTE_LIST ]
[ ELEMENT_LIST ]
[ NOT_FINAL ]
[ NOT_INSTANTIABLE ]
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="VarrayTypeClause">
<xsd:sequence>
<xsd:element name="LIMIT" type="ku:intElementWithValue1"/>
<xsd:element name="DATATYPE" type="ku:TypeNameElementWithValue1"/>
<xsd:element name="TYPE_PROPERTIES" type="ku:SCHEMA_NAMEType" minOccurs="0"/>
<xsd:element name="LENGTH" type="ku:intElementWithValue1" minOccurs="0"/>
<xsd:element name="CHAR_SEMANTICS" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="PRECISION" type="ku:intElementWithValue1" minOccurs="0"/>
<xsd:element name="SCALE" type="ku:intElementWithValue1" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complex type for VarraryTypeClause
LIMIT
DATATYPE
[ TYPE_PROPERTIES ]
[ LENGTH ]
[ CHAR_SEMANTICS ]
[ PRECISION ]
[ SCALE ]
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="NestedTableClause">
<xsd:sequence>
<xsd:element name="DATATYPE" type="ku:TypeNameElementWithValue1"/>
<xsd:element name="TYPE_PROPERTIES" type="ku:SCHEMA_NAMEType" minOccurs="0"/>
<xsd:element name="LENGTH" type="ku:intElementWithValue1" minOccurs="0"/>
<xsd:element name="CHAR_SEMANTICS" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="PRECISION" type="ku:intElementWithValue1" minOccurs="0"/>
<xsd:element name="SCALE" type="ku:intElementWithValue1" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complex type for NestedTableTypeClause
DATATYPE
[ TYPE_PROPERTIES ]
[ LENGTH ]
[ CHAR_SEMANTICS ]
[ PRECISION ]
[ SCALE ]
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="UnderType">
<xsd:sequence>
<xsd:element name="NAME" type="ku:char30ElementWithValue1" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complexType for UNDER
NAME
constraint state
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="SQLJ_OBJECT_TYPEType">
<xsd:sequence>
<xsd:element name="NAME" type="ku:char30ElementWithValue1"/>
<xsd:choice minOccurs="1">
<xsd:element name="SQLDATA" type="ku:EmptyType"/>
<xsd:element name="CUSTOMDATUM" type="ku:EmptyType"/>
<xsd:element name="ORADATA" type="ku:EmptyType"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complex type for SQLJ_OBJECT_TYPEType
NAME
SQLDATA | CUSTOMDATUM | ORADATA
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="ATTRIBUTE_LIST_ITEMType">
<xsd:sequence>
<xsd:element name="NAME" type="ku:char30ElementWithValue1"/>
<xsd:element name="DATATYPE" type="ku:TypeNameElementWithValue1"/>
<xsd:element name="TYPE_PROPERTIES" type="ku:SCHEMA_NAMEType" minOccurs="0"/>
<xsd:element name="LENGTH" type="ku:intElementWithValue1" minOccurs="0"/>
<xsd:element name="CHAR_SEMANTICS" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="PRECISION" type="ku:intElementWithValue1" minOccurs="0"/>
<xsd:element name="SCALE" type="ku:intElementWithValue1" minOccurs="0"/>
<xsd:element name="EXTERNAL_NAME" type="ku:char30ElementWithValue1" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complex type for ATTRIBUTE_LIST_ITEM
NAME
DATATYPE
[ EXTERNAL_NAME ]
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="ELEMENT_LIST_ITEMType">
<xsd:sequence>
<xsd:element name="OVERRIDING" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="FINAL" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="NOT_INSTANTIABLE" type="ku:EmptyType" minOccurs="0"/>
<xsd:choice>
<xsd:element name="STATIC" type="ku:SubprogramType" minOccurs="0"/>
<xsd:element name="MEMBER" type="ku:SubprogramType" minOccurs="0"/>
<xsd:element name="ORDER_MEMBER" type="ku:OnlyFunctionType" minOccurs="0"/>
<xsd:element name="MAP_MEMBER" type="ku:OnlyFunctionType" minOccurs="0"/>
<xsd:element name="CONSTRUCTOR_FUNCTION" type="ku:CONSTRUCTOR_FUNCTIONType" minOccurs="0"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complex type for ELEMENT_LIST_ITEM
[ OVERRIDING ]
[ FINAL ]
[ NOT_INSTANTIABLE ]
[ subprogram_spec ] | [ constructor_spec ] | [ map_order_function_spec ]
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="SubprogramType">
<xsd:sequence>
<xsd:choice>
<xsd:element name="FUNCTION" type="ku:FUNCTIONType" minOccurs="0"/>
<xsd:element name="PROCEDURE" type="ku:PROCEDUREType" minOccurs="0"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complex type for OnlyFunctionType
[ PROCEDURE | FUNCTION ]
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="OnlyFunctionType">
<xsd:sequence>
<xsd:element name="FUNCTION" type="ku:FUNCTIONType" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complex type for OnlyFuntionType
[ FUNCTION ]
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="FUNCTIONType">
<xsd:sequence>
<xsd:element name="NAME" type="ku:char30ElementWithValue1" minOccurs="0"/>
<xsd:element name="PARAMETER_LIST" type="ku:PARAMETER_LISTType" minOccurs="0"/>
<xsd:choice minOccurs="1">
<xsd:element name="RETURN" type="ku:RETURNType"/>
<xsd:element name="RETURN_SELF" type="ku:EmptyType"/>
</xsd:choice>
<xsd:choice>
<xsd:element name="CALL_SPEC" type="ku:CALL_SPECType" minOccurs="0"/>
<xsd:element name="EXTERNAL_NAME" type="ku:char4000ElementWithValue1" minOccurs="0"/>
<xsd:element name="EXTERNAL_VARIABLE_NAME" type="ku:char4000ElementWithValue1" minOccurs="0"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complex type for FunctionType
NAME
[ PARAMETER_LIST ]
[ RETURN | RETURN_SELF ]
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="PROCEDUREType">
<xsd:sequence>
<xsd:element name="NAME" type="ku:char30ElementWithValue1" minOccurs="0"/>
<xsd:element name="PARAMETER_LIST" type="ku:PARAMETER_LISTType" minOccurs="0"/>
<xsd:element name="CALL_SPEC" type="ku:CALL_SPECType" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complex type for PROCEDUREType
NAME
[ PARAMETER_LIST ]
[ CALL_SPEC ]
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="RETURNType" mixed="true">
<xsd:sequence>
<xsd:element name="DATATYPE" type="ku:TypeNameElementWithValue1"/>
<xsd:element name="LENGTH" type="ku:intElementWithValue1" minOccurs="0"/>
<xsd:element name="CHAR_SEMANTICS" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="PRECISION" type="ku:intElementWithValue1" minOccurs="0"/>
<xsd:element name="SCALE" type="ku:intElementWithValue1" minOccurs="0"/>
<xsd:element name="TYPE_PROPERTIES" type="ku:optSCHEMA_NAMEType" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complex type for RETURNType
DATATYPE
[ LENGTH ]
[ CHAR_SEMANTICS ]
[ PRECISION ]
[ SCALE ]
[ TYPE_PROPERTIES ]
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="PARAMETER_LISTType">
<xsd:sequence>
<xsd:element name="PARAMETER_LIST_ITEM" type="ku:PARAMETER_LIST_ITEMType" maxOccurs="1000"/>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complex type for PARAMETER_LISTType
PARAMETER_LIST_ITEM
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="PARAMETER_LIST_ITEMType">
<xsd:sequence>
<xsd:element name="NAME" type="ku:char30ElementWithValue1" minOccurs="0"/>
<xsd:element name="OUT" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="IN_OUT" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="NO_COPY" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="DATATYPE" type="ku:TypeNameElementWithValue1"/>
<xsd:element name="TYPE_PROPERTIES" type="ku:SCHEMA_NAMEType" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complex type for PARAMETER_LIST_ITEMType
NAME
[ OUT ]
[ IN_OUT ]
[ NO_COPY ]
DATATYPE
[ TYPE_PROPERTIES ]
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="CALL_SPECType">
<xsd:sequence>
<xsd:element name="LANGUAGE" type="ku:LANGUAGEType"/>
<xsd:element name="NAME" type="ku:char4000ElementWithValue1" minOccurs="0"/>
<xsd:element name="LIBRARY" type="ku:char30ElementWithValue1" minOccurs="0"/>
<xsd:element name="WITH_CONTEXT" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="PARAMETER_LIST" type="ku:PARAMETER_LISTType" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complex type for CALL_SPECType
LANGUAGE [ JAVA | C ]
NAME
[ LIBRARY ]
[ WITH_CONTEXT ]
[ PARAMETER_LIST ]
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="LANGUAGEType">
<xsd:sequence>
<xsd:choice minOccurs="1">
<xsd:element name="JAVA" type="ku:EmptyType"/>
<xsd:element name="C" type="ku:EmptyType"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complex type for LANGUAGEType
C | JAVA
******************************************************************** -->
</xsd:complexType>
<xsd:complexType name="CONSTRUCTOR_FUNCTIONType">
<xsd:sequence>
<xsd:element name="DATATYPE" type="ku:TypeNameElementWithValue1"/>
<xsd:element name="PARAMETER_LIST" type="ku:PARAMETER_LISTType" minOccurs="0"/>
<xsd:element name="RETURN_SELF" type="ku:EmptyType"/>
<xsd:element name="CALL_SPEC" type="ku:CALL_SPECType" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="src" type="ku:srcType"/>
<!-- *******************************************************************
complex type for CONSTRUCTOR_FUNCTIONType
DATATYPE
[ PARAMETER_LIST ]
RETURN_SELF
[ CALL_SPEC ]
******************************************************************** -->
</xsd:complexType>
</xsd:schema>
OHA YOOOO