MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/rdbms/xml/schema/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/rdbms/xml/schema/kusindxt.xsd

<?xml version="1.0"?>
<!--

 Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.

NAME
    kusindxt.xsd
DESCRIPTION
    XML Schema types for INDEX SXML.

MODIFIED        MM/DD/YY
    rapayne     06/16/17 - Bug 26249637: support [FILTER | ORDER]_BY clauses
                           for domain indexes.
    jjanosik    04/06/17 - Bug 24517168: Add STORAGE to SUBPARTITION_LIST_ITEM
    tbhukya     11/16/15 - Bug 22171671: Add MAXTRANS
    rapayne     07/26/15 - Bug 19241274: hash_partitions_by_quantity
    lbarton     03/08/12 - 36954_dpump_tabcluster_zonemap
    rapayne     12/25/11 - proj 37634: partial index support.
    lbarton     09/12/08 - bug 7362930: UNUSABLE index (sub)partitions
    lbarton     06/18/08 - bug 7188926: parameters in partitioned domain index
    lbarton     08/14/07 - column expressions
    lbarton     01/17/08 - Bug 6724820: table compression
    lbarton     12/19/07 - Bug 6655531: customer area
    rapayne     01/09/07 - Allow UNUSABLE and MONITORING_USAGE 
    rapayne     12/28/06 - allow PARALLEL and PARALLEL_DEGREE
    rapayne     12/13/06 - allow 'src' attribs for COL_LIST_ITEM
    lbarton     11/15/06 - diff support
    sdavidso    04/25/06 - Add INVISIBLE index attribute tag 
    sdavidso    05/02/06 - fix parameters for domain index
    lbarton     11/09/05 - Bug 4724986: reformat files for use with XMLSpy 
    lbarton     10/18/05 - lbarton_mddiff2
    lbarton     09/06/05 - 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"/>
 <xsd:include schemaLocation="kusparse.xsd"/>
 <!-- types, groups and elements -->
 <xsd:complexType name="INDEXType">
  <xsd:sequence>
   <xsd:element ref="ku:UnqBitmap" minOccurs="0"/>
   <xsd:group ref="ku:SCHEMA_NAMEGroup"/>
   <xsd:choice>
    <xsd:element name="CLUSTER_INDEX" type="ku:ClusterIndexClause"/>
    <xsd:element name="TABLE_INDEX" type="ku:TableIndexClause"/>
    <xsd:element name="BITMAP_JOIN_INDEX" type="ku:BitmapJoinIndexClause"/>
   </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 INDEX
  [ (UNIQUE | BITMAP) ]
  choice of
   CLUSTER_INDEX
   TABLE_INDEX
   BITMAP_JOIN_INDEX
  [ CUSTOMER_AREA ]
******************************************************************** -->
 </xsd:complexType>
 <!-- *******************************************************************
 optional UNIQUE or BITMAP 
******************************************************************** -->
 <xsd:element name="UnqBitmap" type="ku:EmptyType" abstract="true"/>
 <xsd:element name="UNIQUE" type="ku:EmptyType" substitutionGroup="ku:UnqBitmap"/>
 <xsd:element name="BITMAP" type="ku:EmptyType" substitutionGroup="ku:UnqBitmap"/>
 <xsd:complexType name="ClusterIndexClause">
  <xsd:sequence>
   <xsd:element name="ON_CLUSTER" type="ku:SCHEMA_NAMEType"/>
   <xsd:element name="INDEX_ATTRIBUTES" type="ku:INDEX_ATTRIBUTESType" minOccurs="0"/>
   <xsd:element name="UNUSABLE" type="ku:EmptyType" minOccurs="0"/>
   <xsd:element name="MONITORING_USAGE" type="ku:EmptyType" minOccurs="0"/>
  </xsd:sequence>
  <!-- *******************************************************************
 complexType: cluster index clause
   ON_CLUSTER
   [ INDEX_ATTRIBUTES ]
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="TableIndexClause">
  <xsd:sequence>
   <xsd:element name="ON_TABLE" type="ku:SCHEMA_NAMEType"/>
   <xsd:element name="COL_LIST">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="COL_LIST_ITEM" type="ku:IndexCOL_LIST_ITEMType" maxOccurs="1000"/>
     </xsd:sequence>
     <xsd:attribute name="src" type="ku:srcType"/>
    </xsd:complexType>
   </xsd:element>
   <xsd:group ref="ku:IndexProperties" minOccurs="0"/>
   <xsd:element name="UNUSABLE" type="ku:EmptyType" minOccurs="0"/>
   <xsd:element name="MONITORING_USAGE" type="ku:EmptyType" minOccurs="0"/>
  </xsd:sequence>
  <!-- *******************************************************************
 complexType: table index clause 
   ON_TABLE
   COL_LIST (up to 1000 elements of IndexCOL_LIST_ITEMType)
   [ IndexProperties ]
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="IndexCOL_LIST_ITEMType">
  <xsd:sequence>
   <xsd:choice>
    <xsd:element name="NAME" type="ku:char4000ElementWithValue1"/>
    <xsd:element name="COLUMN_EXPRESSION" type="ku:PrsColExpressionType"/>
   </xsd:choice>
   <xsd:element name="DESC" type="ku:EmptyType" minOccurs="0"/>
  </xsd:sequence>
  <xsd:attribute name="src" type="ku:srcType"/>
  <!-- *******************************************************************
  complexType for IndexCOL_LIST_ITEM - these are COL_LIST_ITEMs for
    normal indexes (not bitmap join indexes)
  NAME - column name: can be up to 4000 bytes (index expression)
  [ DESC ]
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="DomainCOL_LIST_ITEMType">
  <xsd:sequence>
   <xsd:element name="NAME" type="ku:char4000ElementWithValue1"/>
   <xsd:element name="DESC" type="ku:EmptyType" minOccurs="0"/>
  </xsd:sequence>
  <xsd:attribute name="src" type="ku:srcType"/>
  <!-- *******************************************************************
  complexType for DomainCOL_LIST_ITEM - these are COL_LIST_ITEMs for
    domain indexes [FILTER | ORDER] BY clauses.
  NAME - column name: can be up to 4000 bytes (index expression)
  [ DESC ]
******************************************************************** -->
 </xsd:complexType>
 <xsd:group name="IndexProperties">
  <!-- *******************************************************************
 group: IndexProperties
  choice:

    [ INDEX_ATTRIBUTES ]
    optional choice
      GLOBAL_PARTITIONING
      LOCAL_PARTITIONING

          or

    DOMAIN_INDEX_PROPERTIES
      INDEXTYPE
      etc.

******************************************************************** -->
  <xsd:choice>
   <xsd:sequence>
    <xsd:element name="INDEXING" type="ku:PartialTypeWithValue1" minOccurs="0"/>
    <xsd:element name="INDEX_ATTRIBUTES" type="ku:INDEX_ATTRIBUTESType"/>
    <xsd:choice id="IndexPartitioning" minOccurs="0">
     <xsd:element name="GLOBAL_PARTITIONING" type="ku:GlobalPartitionedIndexType"/>
     <xsd:element name="LOCAL_PARTITIONING" type="ku:LocalPartitionedIndexType"/>
    </xsd:choice>
   </xsd:sequence>
   <!-- Domain index -->
   <xsd:sequence>
    <xsd:element name="DOMAIN_INDEX_PROPERTIES">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element name="INDEXTYPE">
        <xsd:complexType>
         <xsd:sequence>
          <xsd:element name="SCHEMA" type="ku:char30ElementWithValue1" minOccurs="0"/>
          <xsd:element name="NAME" type="ku:char30ElementWithValue1"/>
         </xsd:sequence>
        </xsd:complexType>
       </xsd:element>
       <xsd:choice minOccurs="0" maxOccurs="2">
        <xsd:element name="PARALLEL" type="ku:PARALLELTypeWithValue1"/>
        <xsd:element name="PARALLEL_DEGREE" type="ku:OldPARALLELType"/>
       </xsd:choice>
       <xsd:sequence>
        <xsd:element name="PARAMETERS" type="ku:char1000ElementWithValue1" minOccurs="0"/>
        <xsd:element name="LOCAL_PARTITIONING" type="ku:DomidxLocalPartitioningType" minOccurs="0"/>
        <xsd:element name="FILTER_BY_LIST" minOccurs="0">
         <xsd:complexType>
          <xsd:sequence>
           <xsd:element name="COL_LIST_ITEM" type="ku:DomainCOL_LIST_ITEMType" maxOccurs="1000"/>
          </xsd:sequence>
          <xsd:attribute name="src" type="ku:srcType"/>
         </xsd:complexType>
        </xsd:element>
        <xsd:element name="ORDER_BY_LIST" minOccurs="0">
         <xsd:complexType>
          <xsd:sequence>
           <xsd:element name="COL_LIST_ITEM" type="ku:DomainCOL_LIST_ITEMType" maxOccurs="1000"/>
          </xsd:sequence>
          <xsd:attribute name="src" type="ku:srcType"/>
         </xsd:complexType>
        </xsd:element>
       </xsd:sequence>
      </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:choice>
 </xsd:group>
 <xsd:complexType name="BitmapJoinIndexClause">
  <xsd:sequence>
   <xsd:element name="ON_TABLE" type="ku:SCHEMA_NAMEType"/>
   <xsd:element name="COL_LIST">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="COL_LIST_ITEM" type="ku:BJIndexCOL_LIST_ITEMType" maxOccurs="1000"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="JOIN_TABLE_LIST">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="JOIN_TABLE_LIST_ITEM" type="ku:SCHEMA_NAMEType" maxOccurs="unbounded"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="WHERE_LIST">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="WHERE_LIST_ITEM" type="ku:WHERE_LIST_ITEMType" maxOccurs="unbounded"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="INDEX_ATTRIBUTES" type="ku:INDEX_ATTRIBUTESType" minOccurs="0"/>
   <xsd:element name="UNUSABLE" type="ku:EmptyType" minOccurs="0"/>
   <xsd:element name="MONITORING_USAGE" type="ku:EmptyType" minOccurs="0"/>
  </xsd:sequence>
  <!-- *******************************************************************
 complexType: bitmap join index clause
   ON_TABLE
   COL_LIST (up to 1000 elements of BJIndexCOL_LIST_ITEMType)
   JOIN_TABLE_LIST
   WHERE_LIST
   [ INDEX_ATTRIBUTES ]
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="BJIndexCOL_LIST_ITEMType">
  <xsd:sequence>
   <xsd:element name="SCHEMA" type="ku:char30ElementWithValue1" minOccurs="0"/>
   <xsd:element name="NAME" type="ku:char30ElementWithValue1" minOccurs="0"/>
   <xsd:element name="COL" type="ku:char30ElementWithValue1"/>
   <xsd:element name="DESC" type="ku:EmptyType" minOccurs="0"/>
  </xsd:sequence>
  <xsd:attribute name="src" type="ku:srcType"/>
  <!-- *******************************************************************
  complexType for BJIndexCOL_LIST_ITEM - these are COL_LIST_ITEMs for
    bitmap join indexes. They have more elements
    than normal index col list items
  [ SCHEMA ] - schema of table from which the column comes
  [ NAME ]   - name   of table from which the column comes
  COL        - col name
  [ DESC ]
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="WHERE_LIST_ITEMType">
  <xsd:sequence>
   <xsd:element name="JOIN_LIST" type="ku:JOIN_LISTType"/>
  </xsd:sequence>
  <!-- *******************************************************************
 complexType for WHERE_LIST_ITEM
  each WHERE_LIST_ITEM contains a JOIN_LIST of exactly 2 JOIN_LIST_ITEMS
  each JOIN_LIST_ITEM contains SCHEMA, NAME (of table), COL
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="INDEX_ATTRIBUTESType">
  <xsd:sequence>
   <xsd:element name="PCTFREE" type="ku:pctElementWithValue1" minOccurs="0"/>
   <xsd:element name="INITRANS" type="ku:int255ElementWithValue1" minOccurs="0"/>
   <xsd:element name="MAXTRANS" type="ku:max255ElementWithValue1" minOccurs="0"/>
   <xsd:element name="STORAGE" type="ku:STORAGEType" minOccurs="0"/>
   <xsd:element name="TABLESPACE" type="ku:char30ElementWithValue1" minOccurs="0"/>
   <xsd:element name="LOGGING" type="ku:YNElementWithValue1" minOccurs="0"/>
   <xsd:element name="KEYCOMPRESS" type="ku:KeyCompressTypeWithValue1" minOccurs="0"/>
   <xsd:element name="REVERSE" type="ku:EmptyType" minOccurs="0"/>
   <xsd:element name="INVISIBLE" type="ku:EmptyType" minOccurs="0"/>
   <xsd:choice minOccurs="0" maxOccurs="2">
    <xsd:element name="PARALLEL" type="ku:PARALLELTypeWithValue1"/>
    <xsd:element name="PARALLEL_DEGREE" type="ku:OldPARALLELType"/>
   </xsd:choice>
   <xsd:element name="NOSEGMENT" type="ku:EmptyType" minOccurs="0"/>
  </xsd:sequence>
  <!-- *******************************************************************
 complexType for INDEX_ATTRIBUTES
  [ PCTFREE ]
  [ INITRANS ]
  [ STORAGE ]
  [ TABLESPACE ]
  [ LOGGING ]
  [ COMPRESS ]
  [ REVERSE ]
  [ INVISIBLE ]
  [ ( PARALLEL | PARALLEL_DEGREE ) ]
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="GlobalPartitionedIndexType">
  <xsd:choice>
   <xsd:element name="RANGE_PARTITIONING" type="ku:IndexRangePartitioningType"/>
   <xsd:element name="HASH_PARTITIONING" type="ku:IndexHashPartitioningType"/>
  </xsd:choice>
  <!-- *******************************************************************
 complexType for GlobalPartitioning clauses, a choice of
  RANGE_PARTITIONING
  HASH_PARTITIONING
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="IndexRangePartitioningType">
  <xsd:sequence>
   <xsd:element name="COL_LIST" type="ku:SimpleCOL_LISTType"/>
   <xsd:element name="PARTITION_LIST">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="PARTITION_LIST_ITEM" type="ku:IndexRangePartitionClauseType" maxOccurs="unbounded"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
  </xsd:sequence>
  <!-- *******************************************************************
 complexType for IndexRangePartitioningType
  COL_LIST
  PARTITION_LIST - list of PARTITION_LIST_ITEMS
                    of IndexRangePartitionClauseType
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="IndexRangePartitionClauseType">
  <xsd:sequence>
   <xsd:element name="NAME" type="ku:char30ElementWithValue1"/>
   <xsd:element name="VALUES" type="ku:char4000ElementWithValue1"/>
   <xsd:element name="SEGMENT_ATTRIBUTES" type="ku:SEGMENT_ATTRIBUTESType" minOccurs="0"/>
   <xsd:element name="KEYCOMPRESS" type="ku:KeyCompressTypeWithValue1" minOccurs="0"/>
  </xsd:sequence>
  <!-- *******************************************************************
 complexType for IndexRangePartitionClauseType
  NAME
  VALUES
  [ SEGMENT_ATTRIBUTES ]
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="IdxpartitionListType">
     <xsd:sequence>
      <xsd:element name="PARTITION_LIST_ITEM" type="ku:IndexHashPartitionClauseType" maxOccurs="unbounded"/>
     </xsd:sequence>
  <!-- *******************************************************************
  complexType for IDXPARTITIONLISTTYPE
    List of Partitions
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="IndexHashPartitioningType">
  <xsd:sequence>
   <xsd:element name="COL_LIST" type="ku:SimpleCOL_LISTType"/>
   <xsd:choice>
    <xsd:element name="PARTITIONS_BY_QUANTITY" type="ku:partitionByQuantityType"/>
    <xsd:element name="PARTITION_LIST" type="ku:IdxpartitionListType"/>
   </xsd:choice>
  </xsd:sequence>
  <!-- *******************************************************************
 complexType for IndexHashPartitioningType
  COL_LIST
  PARTITION_LIST - list of PARTITION_LIST_ITEMS
                    of IndexHashPartitionClauseType
  PARTITIONS_BY_QUANTITY - auto partitioning.
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="IndexHashPartitionClauseType">
  <xsd:sequence>
   <xsd:element name="NAME" type="ku:char30ElementWithValue1"/>
   <xsd:element name="TABLESPACE" type="ku:char30ElementWithValue1" minOccurs="0"/>
  </xsd:sequence>
  <!-- *******************************************************************
 complexType for IndexHashPartitionClauseType
  NAME
  [ TABLESPACE ]
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="LocalPartitionedIndexType">
  <xsd:sequence>
   <xsd:element name="PARTITION_LIST">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="PARTITION_LIST_ITEM" type="ku:IndexLocalPartitionClauseType" maxOccurs="unbounded"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
  </xsd:sequence>
  <!-- *******************************************************************
 complexType for LocalPartitioning 
  PARTITION_LIST - list of PARTITION_LIST_ITEMS
                    of IndexLocalPartitionClauseType
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="IndexLocalPartitionClauseType">
  <xsd:sequence>
   <xsd:element name="NAME" type="ku:char30ElementWithValue1"/>
   <xsd:choice minOccurs="0">
    <xsd:element name="SEGMENT_ATTRIBUTES" type="ku:SEGMENT_ATTRIBUTESType"/>
    <!-- for index on hash partitioned table only TABLESPACE is ok
             SQL Reference p. 14-82 -->
    <xsd:element name="TABLESPACE" type="ku:char30ElementWithValue1"/>
   </xsd:choice>
   <xsd:element name="KEYCOMPRESS" type="ku:KeyCompressTypeWithValue1" minOccurs="0"/>
   <xsd:element name="UNUSABLE" type="ku:EmptyType" minOccurs="0"/>
   <xsd:element name="SUBPARTITION_LIST" minOccurs="0">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="SUBPARTITION_LIST_ITEM" type="ku:IndexSubpartitionClauseType" maxOccurs="unbounded"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
  </xsd:sequence>
  <!-- *******************************************************************
 complexType for IndexLocalPartitionClauseType
  NAME
  optional choice of
   SEGMENT_ATTRIBUTES
   TABLESPACE (see note below)
  [ COMPRESS ]
  optional SUBPARTITION_LIST, a list of SUBPARTITION_LIST_ITEMs of
     IndexSubpartitionClauseType
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="IndexSubpartitionClauseType">
  <xsd:sequence>
   <xsd:element name="NAME" type="ku:char30ElementWithValue1"/>
   <xsd:element name="STORAGE" type="ku:STORAGEType" minOccurs="0"/>
   <xsd:element name="TABLESPACE" type="ku:char30ElementWithValue1" minOccurs="0"/>
   <xsd:element name="UNUSABLE" type="ku:EmptyType" minOccurs="0"/>
  </xsd:sequence>
  <!-- *******************************************************************
 complexType for IndexSubpartitionClauseType
  NAME
  [ TABLESPACE ]
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="DomidxLocalPartitioningType">
  <xsd:sequence>
   <xsd:element name="PARTITION_LIST">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="PARTITION_LIST_ITEM" type="ku:DomidxPARTITION_LIST_ITEMType" maxOccurs="unbounded"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
  </xsd:sequence>
  <!-- *******************************************************************
     Domain index partitioning clauses 

  complexType for DomidxLocalPartitioning
    PARTITION_LIST - a list of PARTITION_LIST_ITEMS of type 
        DomidxPARTITION_LIST_ITEMType
         NAME
         PARAMETERS
******************************************************************** -->
 </xsd:complexType>
 <xsd:complexType name="DomidxPARTITION_LIST_ITEMType">
  <xsd:sequence>
   <xsd:element name="NAME" type="ku:char30ElementWithValue1"/>
   <xsd:element name="PARAMETERS" type="ku:char1000ElementWithValue1" minOccurs="0"/>
  </xsd:sequence>
 </xsd:complexType>
</xsd:schema>

OHA YOOOO