Length of enumerations in xml-schema always 4000?

Hi, I have a question regarding enumerations in a xml-schema.
All simpletypes containing enumerations in my xml-schema are created with a length of 4000 instead of the specified length:
eg: <xs:simpleType name="YesNo">
<xs:restriction base="xs:string">
<xs:minLength value="2"/>
<xs:maxLength value="3"/>
<xs:enumeration value="Yes"/>
<xs:enumeration value="No"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="Radio" type="YesNo" fixed="Yes" xdb:SQLName="RADIO_IND" xdb:SQLType="VARCHAR2">
</xs:element>
the element Radio is created as VARCHAR2(4000) instead of VARCHAR(3), if I remove the enumerations it is created correctly!
Any suggestions?
Thx!
Bart Houben

I'm using 9.2.0.3.0 (on Win 2000 Server).
Can you test the following schema?
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
     <xs:simpleType name="YesNo">
          <xs:annotation>
               <xs:documentation>Data type that contains a boolean Yes or No.</xs:documentation>
          </xs:annotation>
          <xs:restriction base="xs:string">
               <xs:minLength value="2"/>
               <xs:maxLength value="3"/>
               <xs:enumeration value="Yes"/>
               <xs:enumeration value="No"/>
          </xs:restriction>
     </xs:simpleType>
     <xs:element name="ROOT" xdb:SQLType="ROOT_TYPE" xdb:defaultTable="ROOT">
          <xs:annotation>
               <xs:documentation>This is the root element.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
               <xs:sequence>
                    <xs:element name="TEST" type="YesNo" xdb:SQLName="TEST_IND" xdb:SQLType="VARCHAR2">
                         <xs:annotation>
                              <xs:documentation>element </xs:documentation>
                         </xs:annotation>
                    </xs:element>
               </xs:sequence>
          </xs:complexType>
     </xs:element>
</xs:schema>
This is how I register the schema:
begin
dbms_xmlschema.registerSchema
'TEST.xsd',
xdbURIType('/home/Schema/TEST.xsd').getClob(),
True,True,False,True
End;
SQL> desc root_type
root_type is NOT FINAL
Name Null? Type
SYS_XDBPD$ XDB.XDB$RAW_LIST_T
TEST_IND VARCHAR2(4000)
As you see I get a VARCHAR2(4000) for test_ind.
Thank you very much for your help!

Similar Messages

  • Ora-06502: variable length too long on report query xml schema download

    on shared components/report queries/edit report query/
    and downloading my queries in xml schema format (radio button).
    Get
    ORA-06502: PL/SQL: numeric or value error: raw variable length too long
    when i click the download button.
    EDIT:
    i want to add that i recently changed several columns in the database from 150 to 3000 chars long.
    Edited by: Manny Rodriguez on Oct 11, 2011 7:19 AM

    "4000 bytes is the ultimate maximum. you can say 4000 *characters* , but it'll always be limited to 4000 *bytes* . "
    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:1224836384599#201073000346459201\
    "The maximum length of the column is determined by the national character set definition. Width specifications of character data type NVARCHAR2 refer to the number of characters. The maximum column size allowed is 4000 bytes."
    http://docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements001.htm#SQLRF50976
    By the way, you're treating your numbers as STRINGS, remove the quotes around your zero's.

  • Maximum length for an XML schema

    Hi everybody,
    Is there a limit on the maximum length for an XML schema? I am trying to register an XML schema using dbms_xmlschema.registerSchema(). The schema registration process seems to go fine when the length of the schema is short. But the registration process always hangs when I increase the XML schema with additional types/elements. Is there a limit on the maximum length of the XML schema with regards to registering it to Oracle?
    Thanks!
    IK

    Hi Erhan,
    Let's say I have a really big XML schema in file "schemaA.xsd", like so:
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sampleA="http://abc.com/schemaA" targetNamespace="http://abc.com/schemaA">
    <xsd:element name="Employee">
    <xsd:sequence>
    <xsd:element name="Address" type="sampleA:AddressType"/>
    <xsd:element name="Contact" type="sampleA:ContactInfoType"/>
    </xsd:element>
    <xsd:complexType name="AddressType">......</xsd:complexType>
    <xsd:complexType name="ContactInfoType">....</xsd:complexType>
    </xsd:schema>
    I can separate this schema into multiple smaller schemas (<32KB) by using the proper imports:
    In file "sampleA.xsd":
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sampleB="http://abc.com/schemaB"
    xmlns:sampleA="http://abc.com/schemaA" targetNamespace="http://abc.com/schemaA">
    <xsd:import namespace="http://abc.com/schemaB" schemaLocation="schemaB.xsd"/>
    <xsd:element name="Employee">
    <xsd:sequence>
    <xsd:element name="Address" type="sampleB:AddressType"/>
    <xsd:element name="Contact" type="sampleB:ContactInfoType"/>
    </xsd:element>
    </xsd:schema>
    And in file "sampleB.xsd", I might have something like this:
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sampleB="http://abc.com/schemaB" targetNamespace="http://abc.com/schemaB">
    <xsd:complexType name="AddressType">......</xsd:complexType>
    <xsd:complexType name="ContactInfoType">....</xsd:complexType>
    </xsd:schema>
    So, you see how I have separated that one really big XML schema in file "schemaA.xsd" into two XML schema files: "schemaA.xsd" and "schemaB.xsd". Also, I have added <import> tags in schemaA.xsd to refer to elements, complext types, etc. defined in schemaB.xsd. So long as these schema files are < 32KB, I can register them (using dbms_xmlschema.registerSchema()) without any problems into Oracle.
    Let me know if what I said above is not too clear. Hope you find your solution soon!
    Thanks!
    Irene

  • Insert data into the xml schema-based xmltype table problem!

    Hello, there,
    I got problem in inserting data into the xmltype table after registered XML schema and created table. details see below:
    1) xml schema:
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XMLSpy v2007 sp2 (http://www.altova.com) by Constantin Ilea (EMERGIS INC) -->
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.emergis.com/eHealth/EHIP/data/meta/profile:v1" targetNamespace="http://www.emergis.com/eHealth/EHIP/data/meta/profile:v1" elementFormDefault="qualified">
         <!-- ************** PART I: BEGIN SIMPLE OBJECT TYPE DEFINITIONS ********************************** -->
         <xs:simpleType name="RoutingType">
              <xs:restriction base="xs:string">
                   <xs:enumeration value="Synch"/>
                   <xs:enumeration value="Asynch"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="StatusType">
              <xs:restriction base="xs:string">
                   <xs:enumeration value="ACTIVE"/>
                   <xs:enumeration value="VOID"/>
                   <xs:enumeration value="PENDING"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="SenderApplicationType">
              <xs:restriction base="xs:string">
                   <xs:enumeration value="PR"/>
                   <xs:enumeration value="CR"/>
                   <xs:enumeration value="POS"/>
                   <xs:enumeration value="CPP"/>
                   <xs:enumeration value="Other"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="ServiceTypeType">
              <xs:restriction base="xs:string">
                   <xs:enumeration value="IS"/>
                   <xs:enumeration value="WS"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="RouteDirect">
              <xs:restriction base="xs:string">
                   <xs:enumeration value="Request"/>
                   <xs:enumeration value="Reply"/>
                   <xs:enumeration value="None"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="Indicator">
              <xs:annotation>
                   <xs:documentation>can we also change the value to "ON" and "OFF" instead? in this way this cn be shared by all type of switch indicator</xs:documentation>
              </xs:annotation>
              <xs:restriction base="xs:string">
                   <xs:enumeration value="YES"/>
                   <xs:enumeration value="NO"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="RuleType">
              <xs:restriction base="xs:string">
                   <xs:enumeration value="ControlAct"/>
                   <xs:enumeration value="WSPolicy"/>
                   <xs:enumeration value="AccessControl"/>
                   <xs:enumeration value="Certification"/>
                   <xs:enumeration value="MessageConformance"/>
                   <xs:enumeration value="Variant"/>
                   <xs:enumeration value="Routing"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="HL7Result">
              <xs:restriction base="xs:string">
                   <xs:enumeration value="ACCEPT"/>
                   <xs:enumeration value="REFUSE"/>
                   <xs:enumeration value="REJECT"/>
                   <xs:enumeration value="ACK"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="IIPType">
              <xs:restriction base="xs:string">
                   <xs:enumeration value="PUT"/>
                   <xs:enumeration value="GET/LIST"/>
                   <xs:enumeration value="NOTIF"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="ProfileTypeType">
              <xs:restriction base="xs:string">
                   <xs:enumeration value="IIPProfile"/>
                   <xs:enumeration value="BizOperationProfile"/>
                   <xs:enumeration value="OrchestrationProfile"/>
                   <xs:enumeration value="DomainObjectProfile"/>
                   <xs:enumeration value="ServiceProfile"/>
                   <xs:enumeration value="ExceptionProfile"/>
                   <xs:enumeration value="CustomizedProfile"/>
                   <xs:enumeration value="SystemProfile"/>
                   <xs:enumeration value="HL7XMLSchemaProfile"/>
                   <xs:enumeration value="EnricherParametersProfile"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="ParameterType">
              <xs:restriction base="xs:string">
                   <xs:enumeration value="String"/>
                   <xs:enumeration value="Object"/>
                   <xs:enumeration value="Number"/>
                   <xs:enumeration value="Document"/>
              </xs:restriction>
         </xs:simpleType>
         <!-- ************** PART I: END SIMPLE OBJECT TYPE DEFINITIONS ********************************** -->
         <!-- ************** PART II: BEGIN COMPLEX OBJECT TYPE DEFINITIONS ********************************** -->
         <!-- *********************** begin new added objects, by rshan *************************************** -->
         <xs:complexType name="ProfileType">
              <xs:annotation>
                   <xs:documentation>
              1.Profile IS USED TO BE AN WRAPPER ELEMENT FOR ALL KIND OF PROFILES NO MATTER WHAT KIND OF PROFILE IT IS
              2.ProfileID used to uniquely identify the current profile
              3.ProfileData used to hold all the necessary profile related data
              </xs:documentation>
              </xs:annotation>
              <xs:sequence>
                   <xs:element name="ProfileID" type="ProfileIDType">
                        <xs:annotation>
                             <xs:documentation>this will hold all the common attributes, espically the global unique identifier to the profile, no matter what type of profile is</xs:documentation>
                        </xs:annotation>
                   </xs:element>
                   <xs:element name="ProfileData" type="ProfileDataType">
                        <xs:annotation>
                             <xs:documentation>all the non-common profile meta data that attached to each specific profile type such as IIPProfile, OrchestrationProfile, and BizOperationProfile will be placed here</xs:documentation>
                        </xs:annotation>
                   </xs:element>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="ProfileIDType">
              <xs:annotation>
                   <xs:documentation>global unique identifier and all the common attributes across all different profiles, the @ID and @Type together will be used as the primary key to identify the profile data</xs:documentation>
              </xs:annotation>
              <xs:attribute name="ID" type="xs:ID" use="required">
                   <xs:annotation>
                        <xs:documentation>ID is the global unique identifier to the profile, no matter what type of profile it is</xs:documentation>
                   </xs:annotation>
              </xs:attribute>
              <xs:attribute name="Name"/>
              <xs:attribute name="Description"/>
              <xs:attribute name="Version">
                   <xs:annotation>
                        <xs:documentation>version of the profile data</xs:documentation>
                   </xs:annotation>
              </xs:attribute>
              <xs:attribute name="Type" type="ProfileTypeType" use="required">
                   <xs:annotation>
                        <xs:documentation>value to identify the ProfileType type within
                        IIPProfile,BizOperationProfile,OrchestrationProfile,DomainObjectProfile
                        ServiceProfile,ExceptionProfile,SystemProfile,HL7XMLSchemaProfile,
                        EnricherParametersProfile,CustomizedProfile
                        </xs:documentation>
                   </xs:annotation>
              </xs:attribute>
              <xs:attribute name="Status" type="StatusType" default="ACTIVE">
                   <xs:annotation>
                        <xs:documentation>used to show the related profile data status like "ACTIVE","PENDING","VOID"...</xs:documentation>
                   </xs:annotation>
              </xs:attribute>
              <!--
              <xs:sequence>
                   <xs:element name="ProfileReference" type="ProfileIDType" minOccurs="0" maxOccurs="unbounded">
                        <xs:annotation>
                             <xs:documentation>this will be the place to hold the integrity relationship with other profiles like foreign key if existed and necessary to show up</xs:documentation>
                        </xs:annotation>
                   </xs:element>
              </xs:sequence>
              -->
         </xs:complexType>
         <xs:complexType name="ProfileDataType">
              <xs:annotation>
                   <xs:documentation>meta data associated tightly to each specific type of profile</xs:documentation>
              </xs:annotation>
              <xs:choice>
                   <xs:element name="EnricherParametersProfileData" type="EnricherParametersDataType">
                        <xs:annotation>
                             <xs:documentation>Enricher Parameters related profile data
                   1. one instance of this type may contains all the related System metadata.
                   2. idType part may use to identify different version/release/status
                   </xs:documentation>
                        </xs:annotation>
                   </xs:element>
                   <xs:element name="ExtendProfileData" type="ExtendProfileDataType">
                        <xs:annotation>
                             <xs:documentation>If needed, any profile data not defined within the current release scope can be added here </xs:documentation>
                        </xs:annotation>
                   </xs:element>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="ExtendProfileDataType">
              <xs:sequence>
                   <xs:element name="ExtendProfile" type="xs:anyType" minOccurs="0"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="EnricherParametersDataType">
              <xs:sequence>
                   <xs:element name="EnricherParameter" type="EnricherParameter" maxOccurs="unbounded"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="EnricherParameter">
              <xs:sequence>
                   <xs:element ref="Enricher"/>
              </xs:sequence>
              <xs:attribute name="serviceName" type="xs:string" use="required"/>
              <xs:attribute name="interactionID" type="xs:string"/>
         </xs:complexType>
         <xs:element name="Enricher">
              <xs:annotation>
                   <xs:documentation>Comment describing your root element</xs:documentation>
              </xs:annotation>
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="Parameters" type="Parameters"/>
                        <xs:element ref="Section" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:complexType name="ValueType">
              <xs:attribute name="field" use="required"/>
              <xs:attribute name="value"/>
              <xs:attribute name="action"/>
         </xs:complexType>
         <xs:element name="Section">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="Value" type="ValueType" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Section" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
                   <xs:attribute name="path" use="required"/>
              </xs:complexType>
         </xs:element>
         <xs:complexType name="Parameters">
              <xs:sequence>
                   <xs:element name="Parameter" minOccurs="0" maxOccurs="unbounded">
                        <xs:complexType>
                             <xs:attribute name="name" use="required"/>
                             <xs:attribute name="reference"/>
                        </xs:complexType>
                   </xs:element>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="RuleList">
              <xs:annotation>
                   <xs:documentation>an array of rules</xs:documentation>
              </xs:annotation>
              <xs:sequence>
                   <xs:element name="Rule" type="RuleProfile" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="RuleProfile">
              <xs:attribute name="RName" use="required"/>
              <xs:attribute name="RType" type="RuleType" use="required"/>
              <xs:attribute name="Status" default="ON">
                   <xs:annotation>
                        <xs:documentation>By default is ON (or if is missing)</xs:documentation>
                   </xs:annotation>
              </xs:attribute>
              <xs:attribute name="Order"/>
              <xs:attribute name="Direction" type="RouteDirect">
                   <xs:annotation>
                        <xs:documentation>Request / Reply</xs:documentation>
                   </xs:annotation>
              </xs:attribute>
         </xs:complexType>
         <!-- ************** PART II: END COMPLEX OBJECT TYPE DEFINITIONS *********************************** -->
         <!-- ************** PART III: BEGIN ROOT ELEMENTS DEFINITIONS ********************************* -->
         <!-- 0) Profile wrapper root element
    Profile IS USED TO BE AN WRAPPER ELEMENT FOR ALL KIND OF PROFILES NO MATTER WHAT KIND OF PROFILE IT IS
    -->
         <xs:element name="Profile" type="ProfileType">
              <xs:annotation>
                   <xs:documentation>Profile IS USED TO BE AN WRAPPER ELEMENT FOR ALL KIND OF PROFILES NO MATTER WHAT KIND OF PROFILE IT IS</xs:documentation>
              </xs:annotation>
         </xs:element>
    </xs:schema>
    2)register xml schema:
    SQL> begin
    2 dbms_xmlschema.registerSchema
    3 (
    4 schemaurl=>'http://rac3-1-vip:8080/home/'||USER||'/xsd/EHIPProfile_v00.xsd',
    5 schemadoc=>xdbURIType('/home/'||USER||'/xsd/EHIPProfile_v00.xsd').getClob(),
    6 local=>True,
    7 gentypes=>True,
    8 genbean=>False,
    9 gentables=>False
    10 );
    11 End;
    12 /
    PL/SQL procedure successfully completed.
    SQL>
    SQL>
    3) xml data:
    <?xml version="1.0" encoding="UTF-8"?>
    <!--Sample XML file generated by XMLSpy v2007 sp2 (http://www.altova.com)-->
    <Profile xmlns="http://www.emergis.com/eHealth/EHIP/data/meta/profile:v1">
         <ProfileID Type="EnricherParametersProfile" Status="ACTIVE" ID="EnricherPP.ID.0001" Name="EnricherPP.ID.0001" Description="EnricherPP.ID.0001" Version="01"/>
         <ProfileData>
              <EnricherParametersProfileData>
                   <EnricherParameter serviceName="LRS_BusinessDomainObject.lrs.businessDomainObject.domainObjectBuilder.concrete.ExceptionCreators:createExceptionV50CategoryCanonicalPart" interactionID="">
                   <Enricher>
                        <Parameters>
                             <Parameter name="MESSAGE_ID" reference="test"/>
                        </Parameters>
                        <Section path="HEADER">
                             <Section path="RESPONSE_TYPE">
                                  <Value field="value" value="I"/>
                             </Section>
                             <Section path="HL7_STANDARD_VERSION">
                                  <Value field="value" value="HL7V3"/>
                             </Section>
                             <Section path="DESIRED_ACKNOWLEDGMENT_TYPE">
                                  <Value field="value" value="NE"/>
                             </Section>
                             <Section path="SENDING_NETWORK_ADDRESS">
                                  <Value field="value" value=""/>
                             </Section>
                             <Section path="SENDING_APPLICATION_IDENTIFIER">
                                  <Value field="root" value="2.16.840.1.113883.3.133.1.3"/>
                                  <Value field="extension" value=""/>
                             </Section>
                             <Section path="SENDING_APPLICATION_NAME">
                                  <Value field="value" value="NL HIAL"/>
                             </Section>
                        </Section>
                   </Enricher>
         </EnricherParameter>
              <EnricherParameter serviceName="LRS_BusinessDomainObject.lrs.businessDomainObject.domainObjectBuilder.concrete.DomainObjectCreators:createFindClientsAssociatedIdentifersRequestObject" interactionID="PRPA_IN101105CA">
                   <Enricher>
                        <Parameters>
                             <Parameter name="MESSAGE_ID" reference="test"/>
                        </Parameters>
                        <Section path="HEADER">
                             <Section path="RESPONSE_TYPE">
                                  <Value field="value" value="I"/>
                             </Section>
                             <Section path="HL7_STANDARD_VERSION">
                                  <Value field="value" value="HL7V3"/>
                             </Section>
                             <Section path="PROCESSING_CODE">
                                  <Value field="value" value="T"/>
                             </Section>
                             <!--
                             <Section path="PROCESSING_MODE_CODE">
                                  <Value field="value" value="T"/>
                             </Section>
                             -->                         
                             <Section path="DESIRED_ACKNOWLEDGMENT_TYPE">
                                  <Value field="value" value="NE"/>
                             </Section>
                             <Section path="RECEIVER_NETWORK_ADDRESS">
                                  <Value field="value" value="prsunew.moh.hnet.bc.ca"/>
                             </Section>
                             <Section path="RECEIVER_APPLICATION_IDENTIFIER">
                                  <Value field="root" value="2.16.840.1.113883.3.40.5.1"/>
                                  <Value field="extension" value=""/>
                             </Section>
                             <Section path="SENDING_NETWORK_ADDRESS">
                                  <Value field="value" value=""/>
                             </Section>
                             <Section path="SENDING_APPLICATION_IDENTIFIER">
                                  <Value field="root" value="2.16.840.1.113883.3.133.1.3"/>
                                  <Value field="extension" value=""/>
                             </Section>
                             <Section path="SENDING_APPLICATION_NAME">
                                  <Value field="value" value="NL HIAL"/>
                             </Section>
                        </Section>
                   </Enricher>
         </EnricherParameter>
              <EnricherParameter serviceName="LRS_BusinessDomainObject.lrs.businessDomainObject.domainObjectBuilder.concrete.DomainObjectContentEnrichers:enrichPRRequest" interactionID="">
    <!--Sample XML file generated by XMLSpy v2007 sp2 (http://www.altova.com)-->
    <Enricher>
         <Parameters>
              <Parameter name="MESSAGE_IDENTIFIER" reference="test"/>
         </Parameters>
         <Section path="HEADER">
              <Section path="HL7_STANDARD_VERSION">
                   <Value field="value" value="V3PR2"/>
              </Section>
              <!--POS/CPP populated ?-->
              <!--Not sure if this should be set as a variance within EHIP or if we expect the POS/CPP to provide this value-->
              <Section path="PROCESSING_CODE">
                   <Value field="value" value="T"/>
              </Section>
              <!--POS/CPP populated ?-->
              <Section path="PROCESSING_MODE_CODE">
                   <Value field="value" value="T"/>
              </Section>
              <!--POS/CPP populated ?-->
              <Section path="DESIRED_ACKNOWLEDGMENT_TYPE">
                   <Value field="value" value="NE"/>
              </Section>
              <!-- note:We Expect PRS to give us a web service address -->                    
              <!--<Section path="RECEIVER_NETWORK_ADDRESS">
                   <Value field="value" value="_http://PRSServer/svcName"/>
              </Section>
              -->
              <Section path="RECEIVER_APPLICATION_IDENTIFIER[0]">
                   <Value field="root" value="2.16.840.1.113883.3.40.1.14"/>
                   <Value field="extension" value="SIT1"/>
              </Section>
              <!-- note: values of the fields to be provided by PRS -->
              <Section path="RECEIVER_APPLICATION_NAME[0]">
                   <Value field="value" value="receiverAppName"/>
              </Section>
              <!-- note: RECEIVER_ORGANIZATION has an extra trailing space, as in the Excel mapping spreadsheet -->
              <!-- note: values of the fields to be specified by PRS later -->
              <Section path="RECEIVER_AGENT/RECEIVER_ORGANIZATION/RECEIVER_ORGANIZATION_IDENTIFIER[0]">
                   <Value field="root" value="2.16.840.1.113883.3.40.4.1"/>
                   <Value field="extension" value="receiverOrgId"/>
              </Section>
              <Section path="SENDING_APPLICATION_NAME[0]">
                   <Value field="value" value="NLPRSCLNT"/>
              </Section>
              <!-- note: SENDING_ORGANIZATION has an extra trailing space, as in the Excel mapping spreadsheet -->
              <!-- note: values of the fields to be specified by PRS later -->
              <Section path="SENDING_AGENT/SENDING_ORGANIZATION/SENDING_ORGANIZATION_IDENTIFIER[0]">
                   <Value field="root" value="2.16.840.1.113883.4.3.57"/>
                   <Value field="extension" value="3001"/>
              </Section>
              <Section path="PERFORMER/HEALTHCARE_WORKER_IDENTIFIER[0]">
                   <Value field="root" value="2.16.840.1.113883.4.3.57"/>
                   <Value field="extension" value="HIAL_USR"/>
              </Section>          
         </Section>
         <Section path="PAYLOAD">
              <!--<Section path="QUERY_STATUS_CODE">
                   <Value field="value" value="New"/>
              </Section>-->
              <!-- note: AUDIT has an extra trailing space, as in the Excel mapping spreadsheet -->
              <Section path="AUDIT[0]/AUDIT_INFORMATION">
                   <Value field="code" value="LATEST"/>
                   <Value field="codeSystem" value="PRSAuditParameters"/>
              </Section>
              <!-- note: CONFIDENCE has an extra trailing space, as in the Excel mapping spreadsheet -->
              <Section path="CONFIDENCE/CONFIDENCE_VALUE">
                   <Value field="value" value="100"/>
              </Section>
              <!-- note: HISTORY has an extra trailing space, as in the Excel mapping spreadsheet -->
              <Section path="HISTORY/INCLUDE_HISTORY_INDICATOR">
                   <Value field="value" value="false"/>
              </Section>
              <!-- note: JURISDICTION has an extra trailing space, as in the Excel mapping spreadsheet -->
              <Section path="JURISDICTION/JURISDICTION_TYPE">
                   <Value field="value" value="NL"/>
              </Section>
              <!-- note: RESPONSE_OBJECT has an extra trailing space, as in the Excel mapping spreadsheet -->
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[0]">
                   <Value field="code" value="GRS_ADDRESS"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[1]">
                   <Value field="code" value="GRS_ELECTRONIC_ADDRESS"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[2]">
                   <Value field="code" value="GRS_IDENTIFIER"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[3]">
                   <Value field="code" value="GRS_ORGANIZATION_NAME"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[4]">
                   <Value field="code" value="GRS_PERSONAL_NAME"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[5]">
                   <Value field="code" value="GRS_REGISTRY_IDENTIFIER"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[6]">
                   <Value field="code" value="GRS_TELEPHONE"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[7]">
                   <Value field="code" value="PRS_CONDITION"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[8]">
                   <Value field="code" value="PRS_CONFIDENTIALITY_INDICATOR"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[9]">
                   <Value field="code" value="PRS_DEMOGRAPHIC_DETAIL"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[10]">
                   <Value field="code" value="PRS_DISCIPLINARY_ACTION"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[11]">
                   <Value field="code" value="PRS_INFORMATION_ROUTE"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[12]">
                   <Value field="code" value="PRS_NOTE"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[13]">
                   <Value field="code" value="PRS_PROVIDER_CREDENTIAL"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[14]">
                   <Value field="code" value="PRS_PROVIDER_EXPERTISE"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[15]">
                   <Value field="code" value="PRS_PROVIDER_RELATIONSHIP"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[16]">
                   <Value field="code" value="PRS_STATUS"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[17]">
                   <Value field="code" value="PRS_WORK_LOCATION"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[18]">
                   <Value field="code" value="PRS_WORK_LOCATION_ADDRESS"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[19]">
                   <Value field="code" value="PRS_WORK_LOCATION_DETAIL"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[20]">
                   <Value field="code" value="PRS_WORK_LOCATION_ELECTRONIC_ADDRESS"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[21]">
                   <Value field="code" value="PRS_WORK_LOCATION_INFORMATION_ROUTE"/>
              </Section>
              <Section path="RESPONSE_OBJECT[0]/PROVIDER_QUERY_RESPONSE_OBJECT[22]">
                   <Value field="code" value="PRS_WORK_LOCATION_TELEPHONE"/>
              </Section>
              <!-- note: ROLE_CLASS has an extra trailing space, as in the Excel mapping spreadsheet -->
              <Section path="ROLE_CLASS /ROLE_CLASS_VALUE">
                   <Value field="value" value="LIC"/>
              </Section>
              <Section path="SORT_CONTROL[0]/SORT_CONTROL_ELEMENT_NAME">
                   <Value field="code" value="PrincipalPerson.name.value.family"/>
              </Section>
              <Section path="SORT_CONTROL[0]/SORT_CONTROL_DIRECTION_CODE">
                   <Value field="value" value="A"/>
              </Section>
         </Section>
    </Enricher>
         </EnricherParameter>
              </EnricherParametersProfileData>
         </ProfileData>
    </Profile>
    the data is valid against the schema through XML Spy tool... and loaded into the XDB repository...
    4) create table and insert data:
    SQL> CREATE TABLE EHIP_PROFILE OF SYS.XMLTYPE
    2 XMLSCHEMA "http://rac3-1-vip:8080/home/EHIPSBUSER1/xsd/EHIPProfile_v00.xsd" ELEMENT "Profile"
    3 ;
    Table created.
    SQL>
    SQL> alter table EHIP_PROFILE
    2 add CONSTRAINT EHIP_PROF_PK PRIMARY KEY(XMLDATA."ProfileID"."ID",XMLDATA."ProfileID"."Type");
    Table altered.
    SQL>
    SQL>
    SQL>
    SQL>
    SQL> select xdbURIType('/home/'||USER||'/ProfileData/EnricherPP.ID.0001.xml').getClob() from dual;
    XDBURITYPE('/HOME/'||USER||'/PROFILEDATA/ENRICHERPP.ID.0001.XML').GETCLOB()
    <?xml version="1.0" encoding="UTF-8"?>
    <!--Sample XML file generated by XMLSpy
    SQL>
    SQL>
    SQL> insert into ehip_profile values(xmltype.createXML(xdbURIType('/home/'||USER||'/ProfileData/EnricherPP.ID.0001.xml').getClob()));
    insert into ehip_profile values(xmltype.createXML(xdbURIType('/home/'||USER||'/ProfileData/EnricherPP.ID.0001.xml').getClob()))
    ERROR at line 1:
    ORA-21700: object does not exist or is marked for delete
    what's the problem caused the "ORA-21700: object does not exist or is marked for delete" error?
    Thanks in advance for your help?

    Thanks Marco,
    Here're my environment:
    SQL> select INSTANCE_NUMBER, INSTANCE_NAME,HOST_NAME,VERSION from v$instance;
    INSTANCE_NUMBER INSTANCE_NAME HOST_NAME VERSION
    2 rac32 RAC3-2 10.2.0.3.0
    I followed your suggested in the above, and always purge recyclebin, but still got the same problem. because in 10gr2, there's no dbms_xmlschema.purge_schema available,
    and I did checked the recyclebin after force the delete of schema, nothing inside. any other recommendation?

  • Problem inserting and querying XML data with a recursive XML schema

    Hello,
    I'm facing a problem with querying XML data that is valid against a recursive XML Schema. I have got a table category that stores data as binary XML using Oracle 11g Rel 2 on Windows XP. The XML Schema is the following:
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:complexType name="bold_type" mixed="true">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="bold" type="bold_type"/>
                   <xs:element name="keyword" type="keyword_type"/>
                   <xs:element name="emph" type="emph_type"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="keyword_type" mixed="true">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="bold" type="bold_type"/>
                   <xs:element name="keyword" type="keyword_type"/>
                   <xs:element name="emph" type="emph_type"/>
                   <xs:element name="plain_text" type="xs:string"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="emph_type" mixed="true">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="bold" type="bold_type"/>
                   <xs:element name="keyword" type="keyword_type"/>
                   <xs:element name="emph" type="emph_type"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="text_type" mixed="true">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="bold" type="bold_type"/>
                   <xs:element name="keyword" type="keyword_type"/>
                   <xs:element name="emph" type="emph_type"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="parlist_type">
              <xs:sequence>
                   <xs:element name="listitem" minOccurs="0" maxOccurs="unbounded" type="listitem_type"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="listitem_type">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="parlist" type="parlist_type"/>
                   <xs:element name="text" type="text_type"/>
              </xs:choice>
         </xs:complexType>
         <xs:element name="category">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="name"/>
                        <xs:element name="description">
                                  <xs:complexType>
                                            <xs:choice>
                                                           <xs:element name="text" type="text_type"/>
                                                           <xs:element name="parlist" type="parlist_type"/>
                                            </xs:choice>
                                  </xs:complexType>
                        </xs:element>
                                                                </xs:sequence>
                                                                <xs:attribute name="id"/>
                                            </xs:complexType>
                        </xs:element>
    </xs:schema>I registered this schema and created the category table. Then I inserted a new row using the code below:
    insert into category_a values
    (XMlElement("category",
          xmlattributes('categoryAAA' as "id"),
          xmlforest ('ma categ' as "name"),
          (xmlelement("description", (xmlelement("text", 'find doors blest now whiles favours carriage tailor spacious senses defect threat ope willow please exeunt truest assembly <keyword> staring travels <bold> balthasar parts attach </bold> enshelter two <emph> inconsiderate ways preventions </emph> preventions clasps better affections comes perish </keyword> lucretia permit street full meddle yond general nature whipp <emph> lowness </emph> grievous pedro')))    
    The row is successfully inserted as witnessed by the results of row counting. However, I cannot extract data from the table. First, I tried using SqlPlus* which hangs up and quits after a while. I then tried to use SQL Developer, but haven't got any result. Here follow some examples of queries and their results in SQL Developer:
    Query 1
    select * from category
    Result : the whole row is returned
    Query 2
    select xmlquery('$p/category/description' passing object_value as "p" returning content) from category
    Result: "SYS.XMLTYPE"
    now I tried to fully respect the nested structure of description element in order to extract the text portion of <bold> using this query
    Query 3
    select  xmlquery('$p/category/description/text/keyword/bold/text()' passing object_value as "p" returning content) from  category_a
    Result: null
    and also tried to extract the text portion of element <text> using this query
    Query 4
    select  xmlquery('$p/category/description/text/text()' passing object_value as "p" returning content) from  category_a
    Result: "SYS.XMLTYPE".
    On the other hand, I noticed, from the result of query 1, that the opening tags of elements keyword and bold are encoded as the less than operator "&lt;". This explains why query 3 returns NULL. However, query 4 should display the text content of <text>, which is not the case.
    My questions are about
    1. How to properly insert the XML data while preserving the tags (especially the opening tag).
    2. How to display the data (the text portion of the main Element or of the nested elements).
    The problem about question 1 is that it is quite unfeasible to write a unique insert statement because the structure of <description> is recursive. In other words, if the structure of <description> was not recursive, it would be possible to embed the elements using the xmlelement function during the insertion.
    In fact, I need to insert the content of <description> from a source table (called category_a) into a target table (+category_b+) automatically .
    I filled category_a using the Saxloader utility from an flat XML file that I have generated from a benchmark. The content of <description> is different from one row to another but it is always valid with regards to the XML Schema. The data is properly inserted as witnessed by the "select * from category_a" instruction (500 row inserted). Besides, the opening tags of the nested elements under <description> are preserved (no "&lt;"). Then I wrote a PL/SQL procedure in which a cursor extracts the category id and category name into varchar2 variables and description into an XMLtype variable from category_a. When I try to insert the values into a category_b, I get the follwing error:
    LSX-00213: only 0 occurrences of particle "text", minimum is 1which tells that the <text> element is absent (actually it is present in the source table).
    So, my third question is why are not the tags recognized during the insertion?
    Can anyone help please?

    Hello,
    indded, I was using an old version of Sqlplus* (8.0.60.0.0) because I had a previous installation (oracle 10g XE). Instead, I used the Sqlplus* shipped with the 11g2database (version 11.2.0.1.0). All the queries that I wrote work fine and display the data correctly.
    I also used the XMLSERIALIZE function and can now display the description content in SQL Developer.
    Thank you very much.
    To answer your question Marco, I registered the XML Schema using the following code
    declare
      doc varchar2(4000) := '<?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:complexType name="bold_type" mixed="true">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="bold" type="bold_type"/>
                   <xs:element name="keyword" type="keyword_type"/>
                   <xs:element name="emph" type="emph_type"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="keyword_type" mixed="true">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="bold" type="bold_type"/>
                   <xs:element name="keyword" type="keyword_type"/>
                   <xs:element name="emph" type="emph_type"/>
                   <xs:element name="plain_text" type="xs:string"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="emph_type" mixed="true">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="bold" type="bold_type"/>
                   <xs:element name="keyword" type="keyword_type"/>
                   <xs:element name="emph" type="emph_type"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="text_type" mixed="true">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="bold" type="bold_type"/>
                   <xs:element name="keyword" type="keyword_type"/>
                   <xs:element name="emph" type="emph_type"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="parlist_type">
              <xs:sequence>
                   <xs:element name="listitem" minOccurs="0" maxOccurs="unbounded" type="listitem_type"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="listitem_type">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="parlist" type="parlist_type"/>
                   <xs:element name="text" type="text_type"/>
              </xs:choice>
         </xs:complexType>
         <xs:element name="category">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="name"/>
                        <xs:element name="description">
                                  <xs:complexType>
                                            <xs:choice>
                                                           <xs:element name="text" type="text_type"/>
                                                           <xs:element name="parlist" type="parlist_type"/>
                                            </xs:choice>
                                  </xs:complexType>
                        </xs:element>
                                                                </xs:sequence>
                                                                <xs:attribute name="id"/>
                                            </xs:complexType>
                        </xs:element>
    </xs:schema>';
    begin
      dbms_xmlschema.registerSchema('/xmldb/category_auction.xsd', doc,     LOCAL      => FALSE, 
            GENTYPES   => FALSE,  GENBEAN    => FALSE,   GENTABLES  => FALSE,
             FORCE      => FALSE,
             OPTIONS    => DBMS_XMLSCHEMA.REGISTER_BINARYXML,
             OWNER      => USER);
    end;then, I created the Category table as follows:
    CREATE TABLE category_a of XMLType XMLTYPE store AS BINARY XML
        XMLSCHEMA "xmldb/category_auction.xsd" ELEMENT "category";Now, there still remains a problem of how to insert the "description" content which I serialized as a CLOB data into another table as XML. To this purpose, I wrote a view over the Category_a table as follows:
    CREATE OR REPLACE FORCE VIEW "AUCTION_XWH"."CATEGORY_V" ("CATEGORY_ID", "CNAME", "DESCRIPTION") AS
      select category_v."CATEGORY_ID",category_v."CNAME",
      XMLSerialize(content ( xmlquery('$p/category/description/*' passing object_value as "p" returning content)) as clob) as "DESCRIPTION"
      from  auction.category_a p, 
    xmltable ('$a/category' passing p.Object_Value as "a"
    columns  category_id varchar2(15) path '@id',
              cname varchar2(20) path 'name') category_v;Then, I wrote a procedure to insert data into the Category_xwh table (the source and target tables are slightly different: the common elements are just copied wereas new elements are created in the target table). The code of the procedure is the following:
    create or replace PROCEDURE I_CATEGORY AS
    v_cname VARCHAR2(30);
    v_description clob ;
    v_category_id VARCHAR2(15);
    cursor mycursor is select category_id, cname, description from category_v;
    BEGIN
    open mycursor;
      loop
      /*retrieving the columns*/
      fetch mycursor into v_category_id, v_cname, v_description ;
      exit when mycursor%notfound;
      insert into category_xwh values
      (XMlElement("category",
          xmlattributes(v_category_id as "category_id"),
          xmlelement("Hierarchies", xmlelement("ObjHierarchy", xmlelement ("H_Cat"),
                                                               xmlelement ("Rollsup",
                                                                                  (xmlelement("all_categories",
                                                                                   xmlattributes('allcategories' as "all_category_id")))
        xmlforest (
                  v_cname as "cat_name",
                  v_description as "description")    
    end loop;
      commit;
      close mycursor;
    END I_CATEGORY;When I execute the procedure, I get the following error:
    LSX-00201: contents of "description" should be elements onlyso, I just wonder if this is because v_description is considered as plain text and not as XML text, even if its content is XML. Do I need to use a special function to cast the CLOB as XML?
    Thanks for your help.
    Doulkifli

  • XDB annotations on complex XML Schema

    I am currently testing this in 11gr2 Express, while I wait for our DBA to upgrade our main AIX dev instance to 11gr2 enterprise edition.
    I have a fairly complex xmlschema, provided by the IPTC and trying to annotate it to override some of the default sqltype mappings, but running into problems with how/where to annotate.
    From what I have learned so far, annotations to override the sqltype mappings can only be done on complexType and simpleTypes. ComplexTypes must map to a sql object type, and simpleTypes map to a basic atomic sqlType.
    How would you handle an instance where a complex type extends an xs:string.. but need to have this string map to a CLOB and not a varchar2(4000)?
    <xs:element name="inlineData">
                                                      <xs:annotation>
                                                           <xs:documentation>A rendition of the content using plain-text or encoded inline data</xs:documentation>
                                                      </xs:annotation>
                                                      <xs:complexType>
                                                           <xs:simpleContent>
                                                                <xs:extension base="xs:string">
                                                                     <xs:attributeGroup ref="newsContentAttributes" />
                                                                     <xs:attributeGroup ref="newsContentTypeAttributes" />
                                                                     <xs:attribute name="encoding" type="QCodeType">
                                                                          <xs:annotation>
                                                                               <xs:documentation>The encoding applied to the content before inclusion</xs:documentation>
                                                                          </xs:annotation>
                                                                     </xs:attribute>
                                                                     <xs:attributeGroup ref="newsContentCharacteristics" />
                                                                     <xs:attributeGroup ref="i18nAttributes" />
                                                                     <xs:anyAttribute namespace="##other" processContents="lax" />
                                                                </xs:extension>
                                                           </xs:simpleContent>
                                                      </xs:complexType>
                                                 </xs:element>Adding the xdb: mapUnboundedStringToLob annotation to element "inlineData" fails... not valid... and can't add it to the extension either.. so would a viable valid option in this case, be to create a simpleType, call it say "LargeStringToClob"..with a restriction of type xs:String... then annotate this simpleType to map it to a CLOB.
    Then change the inlineData element extension from xs:string to "LargeStringToClob" ? I plan to use an XMLType column with BinaryXML storage...
    I was hoping to not have to modify the xml schema too much, but I guess its to be expected when trying to map it into Oracle.
    I am faced with a similar issue when trying to annotate for Timestamp with time zone...
    some elements are declared as unions of other types. From what I have read, Oracle maps these to varchar2(4000)
    Example:
    <xs:simpleType name="DateOptTimeType">
              <xs:annotation>
                   <xs:documentation>The type of a date (required) and a time (optional).</xs:documentation>
              </xs:annotation>
              <xs:union memberTypes="xs:date xs:dateTime" />
         </xs:simpleType>Even though this is a simpleType... I cannot annotate it to map it to a TimeStamp with Timezone ... would I have to again... create simpleTypes for each of the memberTypes in the union, annotate each one to map to Timestampt with time zone.. then use these new simpleTypes in the union?
    Thanks for any tips or advice!

    odie_63 wrote:
    so if using Binary XML, you are stuck with what Oracle gives you? for instance, the inlineData element is an unbounded string in the schema... Oracle maps it to varchar2(4000).No, Binary XML stores data differently.
    Consider this simple example :
    SQL> begin
    2   dbms_xmlschema.registerSchema(
    3   schemaURL => 'test.xsd',
    4   schemaDoc => '<?xml version="1.0"?>
    5  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb">
    6  <xs:element name="note" xdb:defaultTable="NOTES_TABLE">
    7    <xs:complexType>
    8      <xs:sequence>
    9        <xs:element name="content" type="xs:string"/>
    10        <xs:element name="dt" type="xs:dateTime"/>
    11      </xs:sequence>
    12    </xs:complexType>
    13  </xs:element>
    14  </xs:schema>',
    15   local => true,
    16   genTypes => false,
    17   genTables => false,
    18   enableHierarchy => dbms_xmlschema.ENABLE_HIERARCHY_NONE,
    19   options => dbms_xmlschema.REGISTER_BINARYXML
    20   );
    21  end;
    22  /
    PL/SQL procedure successfully completed
    SQL> CREATE TABLE notes_table OF XMLTYPE
    2  XMLTYPE STORE AS binary xml
    3  XMLSCHEMA "test.xsd"
    4  ELEMENT "note"
    5  ;
    Table created
    SQL> insert into notes_table values(xmltype(
    2  '<note>
    3  <content>'||lpad(to_clob('X'),8000,'X')||'</content>
    4  <dt>2011-11-16T11:56:23+01:00</dt>
    5  </note>'));
    1 row inserted
    SQL> select x.dt
    2       , x.content
    3       , length(x.content)
    4  from notes_table t
    5     , xmltable('/note' passing t.object_value
    6       columns dt      timestamp with time zone  path 'dt'
    7             , content clob                      path 'content'
    8       ) x
    9  ;
    DT                                CONTENT                                                                          LENGTH(X.CONTENT)
    16/11/11 11:56:23,000000 +01:00   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX              8000No issue in storing large strings.Very cool... that works... .. the string limit exceeded expcetion I got earlier was no fault to Binary XML.. but me pasting in too much text in SQLDeveloper insert statement.
    I think I may have been on this for too long... brain is getting fuzzy ;-)
    The approach you outline shows promise and I will go with BinaryXML storage option.
    I need to decide whether to use virtual columns or non-trivial columns at this point, to enforce integrity constraints and possibly some partitioning. We do have a few relational lookup tables to tie into this as well... and will also need to implement VPD.

  • XML Schema causing an ORA-00600 error

    Hi,
    I have an xml schema that generates an ORA-00600 error when I try to create a table containing an XMLType column that references the schema.
    Here's an extract from my xmlschema with the offending bit in bold:
    <xs:simpleType name="PrintIndicator">
              <xs:restriction base="xs:string">
                   <xs:length value="1"/>
                   <xs:enumeration value="0"/>
                   <xs:enumeration value="1"/>
                   <xs:enumeration value="2"/>
                   <xs:enumeration value="3"/>
                   <xs:enumeration value="4"/>
                   <xs:enumeration value="5"/>
              </xs:restriction>
         </xs:simpleType>
    <xs:complexType name="ISCDBankOffices">
              <xs:sequence>
                   <xs:element name="BankOfficeTitle" type="BACS:BankOfficeTitle"/>
                   <xs:element name="PrintIndicator">
                        <xs:simpleType>
                             <xs:restriction base="BACS:PrintIndicator"/>                    </xs:simpleType>
                   </xs:element>
              </xs:sequence>
    </xs:complexType>
    Does anyone know why this causes Oracle a problem. The schema originates from an external third-party so I can't easily change it.
    Thanks
    John

    Problem seems to be the colon in the type name.
    <xs:simpleType name="PrintIndicator">
    <xs:restriction base="xs:string">
    <xs:length value="1"/>
    <xs:enumeration value="0"/>
    <xs:enumeration value="1"/>
    <xs:enumeration value="2"/>
    <xs:enumeration value="3"/>
    <xs:enumeration value="4"/>
    <xs:enumeration value="5"/>
    </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="ISCDBankOffices">
    <xs:sequence>
    <xs:element name="BankOfficeTitle" type="BACSBankOfficeTitle"/>
    <xs:element name="PrintIndicator">
    <xs:simpleType>
    <xs:restriction base="BACSPrintIndicator"/> </xs:simpleType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    try this one. I removed the colons.
    Normally column names in Oracle cannot have such special characters.
    Hope This helps.

  • Pulling validation pattern from XML schema in LCD

    Hi team,
    We have deisgned a fillable PDF form uding Live Cycle Designer ES2.
    The form contains fields of different data types.
    We have created a data connection on the form (using LCD) to bind it to a XML Schema
    The XML schema has different types of validations for different data types.
    When we treid to bind the XML schema to PDF form using LCD, most of the validations were pulled in. Example, numeric lenghth check, string length check, minoccurs , maxoccurs
    But few validations were not pulled from Schema like Pattern validations on string.
    Please guide us on how to achieve this using LiveCycle Designer ES2.
    Cheers,
    Kavi

    Hi Kavi,
    The pattern from the XML Schema can not be automatically copied across, I assume because of the differences in the XML Schema pattern regex and a JavaScript regex.  If you did use a compatible subset I you could write a macro to add the pattern to the validation event.  One difference is a XML Schema pattern always assumes a ^  and $ to match the beginning and end.  Have you seen this document http://partners.adobe.com/public/developer/en/livecycle/lc_designer_XML_schemas.pdf,
    Regards
    Bruce

  • How does XML DB handle XML Schema Validation ?

    In order to validate an XML document against an XML Schema using Oracle XML DB the XML Schema must first be registered with XML DB using the method registerSchema provided by the package DBMS_XMLSCHEMA.
    XDB provides two types of schema validation, 'Lax' Validation and 'Strict' Validation.
    'Lax' validation takes place whenever a schema based document is converted from it's textual representation into the XML DB internal object model. Errors caught by this validation will be prefixed with 'ORA'.
    'Stict' validation takes place when the XMLType methods schemaValidate() or isSchemaValid() are invoked.
    The schemaValidate() method throws an exception with an error message indicating what is wrong it encounteres an invalid document. The error message associated with the exception will be prefixed with LSX.
    The isSchemaValid() method returns true or false, depending on whether or not the document is valid. It cannot return any information about why the document is invalid.
    The reason for having both the Lax and Strict validation models is that Strict validation is much more expensive in terms of CPU and memory usage than Lax validation.

    Here are some examples of what is caught by Lax validation (ORA errors) and what is only caught by Strict validation (LSX errors).
    SQL> begin
      2     dbms_xmlschema.registerSchema('test',xmltype(
      3  '<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.co
    eFormDefault="unqualified">
      4     <xs:complexType name="RootType">
      5             <xs:sequence>
      6                     <xs:element name="Mandatory"/>
      7                     <xs:element name="Enumeration">
      8                             <xs:simpleType>
      9                                     <xs:restriction base="xs:string">
    10                                             <xs:enumeration value="A"/>
    11                                             <xs:enumeration value="B"/>
    12                                             <xs:enumeration value="C"/>
    13                                     </xs:restriction>
    14                             </xs:simpleType>
    15                     </xs:element>
    16                     <xs:element name="MinLength">
    17                             <xs:simpleType>
    18                                     <xs:restriction base="xs:string">
    19                                             <xs:minLength value="4"/>
    20                                             <xs:maxLength value="20"/>
    21                                     </xs:restriction>
    22                             </xs:simpleType>
    23                     </xs:element>
    24                     <xs:element name="MaxLength">
    25                             <xs:simpleType>
    26                                     <xs:restriction base="xs:string">
    27                                             <xs:minLength value="1"/>
    28                                             <xs:maxLength value="4"/>
    29                                     </xs:restriction>
    30                             </xs:simpleType>
    31                     </xs:element>
    32                     <xs:element name="MaxOccurs" type="xs:string" maxOccurs="2"/>
    33                     <xs:element name="MinOccurs" minOccurs="2" maxOccurs="2"/>
    34                     <xs:element name="Optional" type="xs:string" minOccurs="0"/>
    35             </xs:sequence>
    36     </xs:complexType>
    37     <xs:element name="Root" type="RootType" xdb:defaultTable="ROOT_TABLE"/>
    38  </xs:schema>'));
    39  end;
    40  /
    PL/SQL procedure successfully completed.
    SQL> --
    SQL> -- Valid Document
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Enumeration>A</Enumeration>
      5     <MinLength>ABCD</MinLength>
      6     <MaxLength>WXYZ</MaxLength>
      7     <MaxOccurs>1</MaxOccurs>
      8     <MaxOccurs>2</MaxOccurs>
      9     <MinOccurs>1</MinOccurs>
    10     <MinOccurs>2</MinOccurs>
    11     <Optional>Goodbye</Optional>
    12  </Root>'
    13  ))
    14  /
    1 row created.
    SQL> --
    SQL> -- Undefined element 'Illegal'
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Illegal>Hello World</Illegal>
      5     <Enumeration>A</Enumeration>
      6     <MinLength>ABCD</MinLength>
      7     <MaxLength>WXYZ</MaxLength>
      8     <MaxOccurs>1</MaxOccurs>
      9     <MaxOccurs>2</MaxOccurs>
    10     <MinOccurs>1</MinOccurs>
    11     <MinOccurs>2</MinOccurs>
    12     <Optional>Goodbye</Optional>
    13  </Root>'
    14  ))
    15  /
    insert into ROOT_TABLE values (xmltype(
    ERROR at line 1:
    ORA-30937: No schema definition for 'Illegal' (namespace '##local') in parent
    '/Root'
    SQL> --
    SQL> -- Multiple occurences of 'Optional'
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Enumeration>A</Enumeration>
      5     <MinLength>ABCD</MinLength>
      6     <MaxLength>WXYZ</MaxLength>
      7     <MaxOccurs>1</MaxOccurs>
      8     <MaxOccurs>2</MaxOccurs>
      9     <MinOccurs>1</MinOccurs>
    10     <MinOccurs>2</MinOccurs>
    11     <Optional>Goodbye</Optional>
    12     <Optional>Goodbye</Optional>
    13  </Root>'
    14  ))
    15  /
    insert into ROOT_TABLE values (xmltype(
    ERROR at line 1:
    ORA-30936: Maximum number (1) of 'Optional' XML node elements exceeded
    SQL> --
    SQL> -- Missing element 'Manadatory'
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Enumeration>A</Enumeration>
      4     <MinLength>ABCD</MinLength>
      5     <MaxLength>WXYZ</MaxLength>
      6     <MaxOccurs>1</MaxOccurs>
      7     <MaxOccurs>2</MaxOccurs>
      8     <MinOccurs>1</MinOccurs>
      9     <MinOccurs>2</MinOccurs>
    10     <Optional>Goodbye</Optional>
    11  </Root>'
    12  ))
    13  /
    1 row created.
    SQL> --
    SQL> -- Invalid Enumeration Value
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Enumeration>Z</Enumeration>
      5     <MinLength>ABCD</MinLength>
      6     <MaxLength>WXYZ</MaxLength>
      7     <MaxOccurs>1</MaxOccurs>
      8     <MaxOccurs>2</MaxOccurs>
      9     <MinOccurs>1</MinOccurs>
    10     <MinOccurs>2</MinOccurs>
    11     <Optional>Goodbye</Optional>
    12  </Root>'
    13  ))
    14  /
    insert into ROOT_TABLE values (xmltype(
    ERROR at line 1:
    ORA-31038: Invalid enumeration value: "Z"
    SQL> --
    SQL> -- MinLength Violation
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Enumeration>A</Enumeration>
      5     <MinLength>ABC</MinLength>
      6     <MaxLength>WXYZ</MaxLength>
      7     <MaxOccurs>1</MaxOccurs>
      8     <MaxOccurs>2</MaxOccurs>
      9     <MinOccurs>1</MinOccurs>
    10     <MinOccurs>2</MinOccurs>
    11     <Optional>Goodbye</Optional>
    12  </Root>'
    13  ))
    14  --
    15  -- MaxLength Violation
    16  --
    17  /
    1 row created.
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Enumeration>A</Enumeration>
      5     <MinLength>ABCD</MinLength>
      6     <MaxLength>VWXYZ</MaxLength>
      7     <MaxOccurs>1</MaxOccurs>
      8     <MaxOccurs>2</MaxOccurs>
      9     <MinOccurs>1</MinOccurs>
    10     <MinOccurs>2</MinOccurs>
    11     <Optional>Goodbye</Optional>
    12  </Root>'
    13  ))
    14  /
    insert into ROOT_TABLE values (xmltype(
    ERROR at line 1:
    ORA-30951: Element or attribute at Xpath /Root/MaxLength exceeds maximum length
    SQL> --
    SQL> -- Missing element Optional - Valid Document
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Enumeration>A</Enumeration>
      5     <MinLength>ABCD</MinLength>
      6     <MaxLength>WXYZ</MaxLength>
      7     <MaxOccurs>1</MaxOccurs>
      8     <MaxOccurs>2</MaxOccurs>
      9     <MinOccurs>1</MinOccurs>
    10     <MinOccurs>2</MinOccurs>
    11  </Root>'
    12  ))
    13  /
    1 row created.
    SQL> --
    SQL> -- Too many instances of 'MaxOccurs'
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Enumeration>A</Enumeration>
      5     <MinLength>ABCD</MinLength>
      6     <MaxLength>WXYZ</MaxLength>
      7     <MaxOccurs>1</MaxOccurs>
      8     <MaxOccurs>2</MaxOccurs>
      9     <MaxOccurs>3</MaxOccurs>
    10     <MinOccurs>1</MinOccurs>
    11     <MinOccurs>2</MinOccurs>
    12     <Optional>Goodbye</Optional>
    13  </Root>'
    14  ))
    15  /
    insert into ROOT_TABLE values (xmltype(
    ERROR at line 1:
    ORA-30936: Maximum number (2) of 'MaxOccurs' XML node elements exceeded
    SQL> --
    SQL> -- Too few instances of 'MinOccurs'
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Enumeration>A</Enumeration>
      5     <MinLength>ABCD</MinLength>
      6     <MaxLength>WXYZ</MaxLength>
      7     <MaxOccurs>1</MaxOccurs>
      8     <MaxOccurs>2</MaxOccurs>
      9     <MinOccurs>1</MinOccurs>
    10     <Optional>Goodbye</Optional>
    11  </Root>'
    12  ))
    13  /
    1 row created.
    SQL> create trigger validateSchema
      2  before insert on ROOT_TABLE
      3  for each row
      4  begin
      5     :new.object_value.schemaValidate();
      6  end;
      7  /
    Trigger created.
    SQL> --
    SQL> -- Valid Document
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Enumeration>A</Enumeration>
      5     <MinLength>ABCD</MinLength>
      6     <MaxLength>WXYZ</MaxLength>
      7     <MaxOccurs>1</MaxOccurs>
      8     <MaxOccurs>2</MaxOccurs>
      9     <MinOccurs>1</MinOccurs>
    10     <MinOccurs>2</MinOccurs>
    11     <Optional>Goodbye</Optional>
    12  </Root>'
    13  ))
    14  /
    1 row created.
    SQL> --
    SQL> -- Undefined element 'Illegal'
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Illegal>Hello World</Illegal>
      5     <Enumeration>A</Enumeration>
      6     <MinLength>ABCD</MinLength>
      7     <MaxLength>WXYZ</MaxLength>
      8     <MaxOccurs>1</MaxOccurs>
      9     <MaxOccurs>2</MaxOccurs>
    10     <MinOccurs>1</MinOccurs>
    11     <MinOccurs>2</MinOccurs>
    12     <Optional>Goodbye</Optional>
    13  </Root>'
    14  ))
    15  /
    insert into ROOT_TABLE values (xmltype(
    ERROR at line 1:
    ORA-30937: No schema definition for 'Illegal' (namespace '##local') in parent
    '/Root'
    SQL> --
    SQL> -- Multiple occurences of 'Optional'
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Enumeration>A</Enumeration>
      5     <MinLength>ABCD</MinLength>
      6     <MaxLength>WXYZ</MaxLength>
      7     <MaxOccurs>1</MaxOccurs>
      8     <MaxOccurs>2</MaxOccurs>
      9     <MinOccurs>1</MinOccurs>
    10     <MinOccurs>2</MinOccurs>
    11     <Optional>Goodbye</Optional>
    12     <Optional>Goodbye</Optional>
    13  </Root>'
    14  ))
    15  /
    insert into ROOT_TABLE values (xmltype(
    ERROR at line 1:
    ORA-30936: Maximum number (1) of 'Optional' XML node elements exceeded
    SQL> --
    SQL> -- Missing element 'Manadatory'
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Enumeration>A</Enumeration>
      4     <MinLength>ABCD</MinLength>
      5     <MaxLength>WXYZ</MaxLength>
      6     <MaxOccurs>1</MaxOccurs>
      7     <MaxOccurs>2</MaxOccurs>
      8     <MinOccurs>1</MinOccurs>
      9     <MinOccurs>2</MinOccurs>
    10     <Optional>Goodbye</Optional>
    11  </Root>'
    12  ))
    13  /
    insert into ROOT_TABLE values (xmltype(
    ERROR at line 1:
    ORA-31154: invalid XML document
    ORA-19202: Error occurred in XML processing
    LSX-00213: only 0 occurrences of particle "Mandatory", minimum is 1
    ORA-06512: at "SYS.XMLTYPE", line 345
    ORA-06512: at "XDBTEST.VALIDATESCHEMA", line 2
    ORA-04088: error during execution of trigger 'XDBTEST.VALIDATESCHEMA'
    SQL> --
    SQL> -- Invalid Enumeration Value
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Enumeration>Z</Enumeration>
      5     <MinLength>ABCD</MinLength>
      6     <MaxLength>WXYZ</MaxLength>
      7     <MaxOccurs>1</MaxOccurs>
      8     <MaxOccurs>2</MaxOccurs>
      9     <MinOccurs>1</MinOccurs>
    10     <MinOccurs>2</MinOccurs>
    11     <Optional>Goodbye</Optional>
    12  </Root>'
    13  ))
    14  /
    insert into ROOT_TABLE values (xmltype(
    ERROR at line 1:
    ORA-31038: Invalid enumeration value: "Z"
    SQL> --
    SQL> -- MinLength Violation
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Enumeration>A</Enumeration>
      5     <MinLength>ABC</MinLength>
      6     <MaxLength>WXYZ</MaxLength>
      7     <MaxOccurs>1</MaxOccurs>
      8     <MaxOccurs>2</MaxOccurs>
      9     <MinOccurs>1</MinOccurs>
    10     <MinOccurs>2</MinOccurs>
    11     <Optional>Goodbye</Optional>
    12  </Root>'
    13  ))
    14  --
    15  -- MaxLength Violation
    16  --
    17  /
    insert into ROOT_TABLE values (xmltype(
    ERROR at line 1:
    ORA-31154: invalid XML document
    ORA-19202: Error occurred in XML processing
    LSX-00221: "ABC" is too short (minimum length is 4)
    ORA-06512: at "SYS.XMLTYPE", line 345
    ORA-06512: at "XDBTEST.VALIDATESCHEMA", line 2
    ORA-04088: error during execution of trigger 'XDBTEST.VALIDATESCHEMA'
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Enumeration>A</Enumeration>
      5     <MinLength>ABCD</MinLength>
      6     <MaxLength>VWXYZ</MaxLength>
      7     <MaxOccurs>1</MaxOccurs>
      8     <MaxOccurs>2</MaxOccurs>
      9     <MinOccurs>1</MinOccurs>
    10     <MinOccurs>2</MinOccurs>
    11     <Optional>Goodbye</Optional>
    12  </Root>'
    13  ))
    14  /
    insert into ROOT_TABLE values (xmltype(
    ERROR at line 1:
    ORA-30951: Element or attribute at Xpath /Root/MaxLength exceeds maximum length
    SQL> --
    SQL> -- Missing element Optional - Valid Document
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Enumeration>A</Enumeration>
      5     <MinLength>ABCD</MinLength>
      6     <MaxLength>WXYZ</MaxLength>
      7     <MaxOccurs>1</MaxOccurs>
      8     <MaxOccurs>2</MaxOccurs>
      9     <MinOccurs>1</MinOccurs>
    10     <MinOccurs>2</MinOccurs>
    11  </Root>'
    12  ))
    13  /
    1 row created.
    SQL> --
    SQL> -- Too many instances of 'MaxOccurs'
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Enumeration>A</Enumeration>
      5     <MinLength>ABCD</MinLength>
      6     <MaxLength>WXYZ</MaxLength>
      7     <MaxOccurs>1</MaxOccurs>
      8     <MaxOccurs>2</MaxOccurs>
      9     <MaxOccurs>3</MaxOccurs>
    10     <MinOccurs>1</MinOccurs>
    11     <MinOccurs>2</MinOccurs>
    12     <Optional>Goodbye</Optional>
    13  </Root>'
    14  ))
    15  /
    insert into ROOT_TABLE values (xmltype(
    ERROR at line 1:
    ORA-30936: Maximum number (2) of 'MaxOccurs' XML node elements exceeded
    SQL> --
    SQL> -- Too few instances of 'MinOccurs'
    SQL> --
    SQL> insert into ROOT_TABLE values (xmltype(
      2  '<Root>
      3     <Mandatory>Hello World</Mandatory>
      4     <Enumeration>A</Enumeration>
      5     <MinLength>ABCD</MinLength>
      6     <MaxLength>WXYZ</MaxLength>
      7     <MaxOccurs>1</MaxOccurs>
      8     <MaxOccurs>2</MaxOccurs>
      9     <MinOccurs>1</MinOccurs>
    10     <Optional>Goodbye</Optional>
    11  </Root>'
    12  ))
    13  /
    insert into ROOT_TABLE values (xmltype(
    ERROR at line 1:
    ORA-31154: invalid XML document
    ORA-19202: Error occurred in XML processing
    LSX-00213: only 1 occurrences of particle "MinOccurs", minimum is 2
    ORA-06512: at "SYS.XMLTYPE", line 345
    ORA-06512: at "XDBTEST.VALIDATESCHEMA", line 2
    ORA-04088: error during execution of trigger 'XDBTEST.VALIDATESCHEMA'
    SQL>

  • How to create default column in XML schema ?

    Hi All,
    I would like to define a default column let's say Run_Date as Date datatype in XML schema definition (XSD) and would like to populate SYSDATE to the column Run_Date, When XML records are parsed to that schema.
    Please let me know, how we can achieve?
    Thanks in Advance.

    Hi,
    Thanks for the update. Please find below my responses and let me know your thoughts.
    The Existing schema definition is as follows
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" version="1.0" xdb:storeVarrayAsTable="true">
    <xs:element name="Emp" type="EmpType" xdb:defaultTable="EMPLOYEES" xdb:columnProps="CONSTRAINT emp_pk PRIMARY KEY (XMLDATA.EMP_NO)" />
    <xs:complexType name="EmpType" xdb:SQLType="EMPLOYEES_T">
    <xs:sequence>
    <xs:element name="EmpNo" xdb:SQLName="EMP_NO">
    <xs:simpleType>
    <xs:restriction base="xs:positiveInteger">
    <xs:totalDigits value="10"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="FirstName" xdb:SQLName="FIRST_NAME">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="30"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="LastName" xdb:SQLName="LAST_NAME">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="30"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="EmployeeType" xdb:SQLName="EMPLOYEE_TYPE">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:length value="25"/>
    <xs:enumeration value="Permanent"/>     
    <xs:enumeration value="Consultant"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="EmpLocation" xdb:SQLName="EMP_LOCATION">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="25"/>
    <xs:enumeration value="NewYork"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="EmpExperience" xdb:SQLName="EMP_EXPERIENCE">
    <xs:simpleType>
    <xs:restriction base="xs:positiveInteger">
    <xs:totalDigits value="10"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    The sample XML file is as follows
    <?xml version="1.0"?>
    <Emp xsi:noNamespaceSchemaLocation="EMP.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xdb="http://xmlns.oracle.com/xdb">
    <EmpNo>1001</EmpNo>
    <FirstName>William</FirstName>
    <LastName>Don</LastName>
    <EmployeeType>Permanent</EmployeeType>
    <EmpLocation>NewYork</EmpLocation>
    <EmpExperience>10</EmpExperience>
    </Emp>
    The modified schema definition is as follows
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" version="1.0" xdb:storeVarrayAsTable="true">
    <xs:element name="Emp" type="EmpType" xdb:defaultTable="EMPLOYEES" xdb:columnProps="CONSTRAINT emp_pk PRIMARY KEY (XMLDATA.EMP_NO)" />
    <xs:complexType name="EmpType" xdb:SQLType="EMPLOYEES_T">
    <xs:sequence>
    <xs:element name="EmpNo" xdb:SQLName="EMP_NO">
    <xs:simpleType>
    <xs:restriction base="xs:positiveInteger">
    <xs:totalDigits value="10"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="FirstName" xdb:SQLName="FIRST_NAME">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="30"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="LastName" xdb:SQLName="LAST_NAME">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="30"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="EmployeeType" xdb:SQLName="EMPLOYEE_TYPE">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:length value="25"/>
    <xs:enumeration value="Permanent"/>     
    <xs:enumeration value="Consultant"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="EmpLocation" xdb:SQLName="EMP_LOCATION">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="25"/>
    <xs:enumeration value="NewYork"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="EmpExperience" xdb:SQLName="EMP_EXPERIENCE">
    <xs:simpleType>
    <xs:restriction base="xs:positiveInteger">
    <xs:totalDigits value="10"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="WorkHrs" maxOccurs="100" xdb:SQLName="WorkHrs" xdb:propNumber="3280" xdb:global="false" xdb:SQLType="WorkHrs_T" xdb:SQLSchema="APPS" xdb:memType="258" xdb:SQLInline="true" xdb:MemInline="false" xdb:JavaInline="false" xdb:SQLCollType="WORKHRS330_COLL" xdb:SQLCollSchema="APPS">
    <xs:complexType xdb:SQLType="WORKHRS_T" xdb:SQLSchema="APPS">
    <xs:attribute name="Day" xdb:SQLName="DAY" xdb:propNumber="3273" xdb:global="false" xdb:SQLType="VARCHAR2" xdb:memType="2">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="20"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="Hrs" xdb:SQLName="HRS" xdb:propNumber="3274" xdb:global="false" xdb:SQLType="NUMBER" xdb:memType="2">
    <xs:simpleType>
    <xs:restriction base="xs:decimal"/>
    </xs:simpleType>
    </xs:attribute>
    </xs:schema>
    The sample XML file is as follows
    <?xml version="1.0"?>
    <Emp xsi:noNamespaceSchemaLocation="EMP.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xdb="http://xmlns.oracle.com/xdb">
    <EmpNo>1001</EmpNo>
    <FirstName>William</FirstName>
    <LastName>Don</LastName>
    <EmployeeType>Permanent</EmployeeType>
    <EmpLocation>NewYork</EmpLocation>
    <EmpExperience>10</EmpExperience>
    <WorkHrs Day="Monday" Hrs="8.0"/>
    <WorkHrs Day="Tuesday" Hrs="6.5"/>
    <WorkHrs Day="Wednesday" Hrs="8.5"/>
    <WorkHrs Day="Thursday" Hrs="10.5"/>
    <WorkHrs Day="Friday" Hrs="5.5"/>
    </Emp>
    The Copy Evolve Procedure is as follows (I have added attributes to the above schema definition)
    DECLARE
    SCHEMA_TO_EVOLVE     XDB$STRING_LIST_T;
    NEW_SCHEMA               XMLSEQUENCETYPE;
    OLD_SCHEMA_URL          VARCHAR2(100) := 'EMP.xsd';
    V_NEW_XML_DOC          CLOB := '<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" version="1.0" xdb:storeVarrayAsTable="true">
    <xs:element name="Emp" type="EmpType" xdb:defaultTable="EMPLOYEES" xdb:columnProps="CONSTRAINT emp_pk PRIMARY KEY (XMLDATA.EMP_NO)" />
    <xs:complexType name="EmpType" xdb:SQLType="EMPLOYEES_T">
    <xs:sequence>
    <xs:element name="EmpNo" xdb:SQLName="EMP_NO">
    <xs:simpleType>
    <xs:restriction base="xs:positiveInteger">
    <xs:totalDigits value="10"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="FirstName" xdb:SQLName="FIRST_NAME">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="30"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="LastName" xdb:SQLName="LAST_NAME">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="30"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="EmployeeType" xdb:SQLName="EMPLOYEE_TYPE">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:length value="25"/>
    <xs:enumeration value="Permanent"/>     
    <xs:enumeration value="Consultant"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="EmpLocation" xdb:SQLName="EMP_LOCATION">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="25"/>
    <xs:enumeration value="NewYork"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="EmpExperience" xdb:SQLName="EMP_EXPERIENCE">
    <xs:simpleType>
    <xs:restriction base="xs:positiveInteger">
    <xs:totalDigits value="10"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="WorkHrs" maxOccurs="100" xdb:SQLName="WorkHrs" xdb:propNumber="3280" xdb:global="false" xdb:SQLType="WorkHrs_T" xdb:SQLSchema="APPS" xdb:memType="258" xdb:SQLInline="true" xdb:MemInline="false" xdb:JavaInline="false" xdb:SQLCollType="WORKHRS330_COLL" xdb:SQLCollSchema="APPS">
    <xs:complexType xdb:SQLType="WORKHRS_T" xdb:SQLSchema="APPS">
    <xs:attribute name="Day" xdb:SQLName="DAY" xdb:propNumber="3273" xdb:global="false" xdb:SQLType="VARCHAR2" xdb:memType="2">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="20"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="Hrs" xdb:SQLName="HRS" xdb:propNumber="3274" xdb:global="false" xdb:SQLType="NUMBER" xdb:memType="2">
    <xs:simpleType>
    <xs:restriction base="xs:decimal"/>
    </xs:simpleType>
    </xs:attribute>
    </xs:schema>';
    BEGIN
    DBMS_OUTPUT.PUT_LINE('B4 GETTING FILE FROM OS');
    EXECUTE IMMEDIATE 'DROP TABLE EMPLOYEES_TEMP';
    -- Getting file from the file system
    --V_NEW_XML_DOC           := XXTIF_EDI_UTL.GET_CLOB_DOCUMENT('COIL_1.1.xsd','UTF8');
    SCHEMA_TO_EVOLVE     := XDB$STRING_LIST_T(OLD_SCHEMA_URL);
    NEW_SCHEMA           := XMLSEQUENCETYPE(XMLTYPE(V_NEW_XML_DOC));
    DBMS_XMLSCHEMA.COPYEVOLVE(SCHEMA_TO_EVOLVE,NEW_SCHEMA, preserveOldDocs => TRUE, mapTabName => 'EMPLOYEES_TEMP', generateTables => FALSE);
    COMMIT;
    DBMS_OUTPUT.PUT_LINE('SUCCESSFULLY COPIED');
    EXCEPTION
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('THE ERROR IS '||SQLERRM);
    END;
    The Table Creation is as follows
    CREATE TABLE EMPLOYEES (XMLDOC XMLTYPE,
                   CREATE_DATE DATE DEFAULT SYSDATE NOT NULL ,
    CONSTRAINT emp_pk PRIMARY KEY (XMLDOC."XMLDATA".EMP_NO)
    XMLTYPE COLUMN XMLDOC STORE AS OBJECT RELATIONAL
    XMLSCHEMA "EMP.xsd" ELEMENT "Emp"
    DECLARE
    TABLENAME VARCHAR2(2000) := 'EMPLOYEES1128';
    BEGIN
    SELECT TEMP_TABNAME
    INTO TABLENAME
    FROM EMPLOYEES_TEMP
    WHERE TABLE_NAME = USER || '.' || UPPER('RELATIE_DOCUMENTEN');
    EXECUTE IMMEDIATE 'INSERT INTO EMPLOYEES(XMLDOC) SELECT XMLTYPE(DATA) FROM ' || TABLENAME;
    COMMIT;
    END;
    When I executed the above SQL, It only populates main data(Perosnal Details such as EmpNo,FirstName,LastName) but not attributes (Workhrs.Day,WOrkhrs.Hrs).
    Please let me know, how can I move those attributes data?
    Again Oracle & XML versions are as follows
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
    PL/SQL Release 10.2.0.3.0 - Production
    CORE 10.2.0.3.0 Production
    Oracle XML Database 10.2.0.3.0
    Thanks in Advance.

  • Defining entities with XML schema

    Hi,
    I came across a problem with XML schema's apparent lack of support for entities. e.g. we define an entity like this:
    <!ENTITY le "&#x2264;" >.
    First off I was trying in my XML instance to include an external entity file like this:
    <!DOCTYPE wpi [
    <!ENTITY % DerwentXmlEntities PUBLIC "-//Derwent//Derwent XML General ENTITIES 20000214//EN"
    "derwent-xml-entities.ent">
    %DerwentXmlEntities;
    ]>
    <WPI xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.derwent.co.uk/wpi.xsd">
    but I am not clear on where I should place the file derwent-xml-entities.ent. Everything I tried ended up with:
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00202: could not open file "derwent-xml-entities.ent"
    Is it possible to include a file like this?
    So I tried just defining an entity like this:
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE wpi [
    <!ENTITY times "&#x00D7;">
    <!ENTITY le "&#x2264;">
    ]>
    The "times" seems OK, but for "le" I get:
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00217: invalid character 8804 (\u2264)
    What sort of encoding should I use?
    Thanks
    Pete

    <xsd:element name="PsL">
    <xsd:annotation>
    <xsd:documentation>
    **Pseudo List, required as in D-types, the editors often used the
    {H control sequence to force an indent to make lists of compounds more
                    legible.  We can't be sure that they are always lists but there is
                    useful mark-up there that we wouldn't want to lose**
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="PsE" minOccurs="1" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="PsE">
            <xsd:annotation>
                <xsd:documentation>
                Pseudo List Entry
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence minOccurs="1" maxOccurs="1">
                    <xsd:element ref="PsP" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="PsS" minOccurs="1" maxOccurs="1"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="PsP">
            <xsd:annotation>
                <xsd:documentation>
                Pseudo List Prefix
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:choice minOccurs="0" maxOccurs="unbounded">
                    <xsd:element name="PsP" type="xsd:string"/>
                    <xsd:element ref="Sub" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="Sup" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="Em" minOccurs="1" maxOccurs="1"/>
                </xsd:choice>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="PsS">
            <xsd:annotation>
                <xsd:documentation>
                Pseudo List Suffix
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:choice minOccurs="0" maxOccurs="unbounded">
                    <xsd:element name="PsS" type="xsd:string"/>
                    <xsd:element ref="Sub" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="Sup" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="Em" minOccurs="1" maxOccurs="1"/>
                </xsd:choice>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="Prt">
            <xsd:annotation>
                <xsd:documentation>
                ************************ Part Container Element **************
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence minOccurs="1" maxOccurs="1">
                    <xsd:element ref="PrtNo" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="PrtNm" minOccurs="1" maxOccurs="1"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="PrtNo">
            <xsd:annotation>
                <xsd:documentation>
                PartNo
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:choice minOccurs="0" maxOccurs="unbounded">
                    <xsd:element name="PrtNo" type="xsd:string"/>
                    <xsd:element ref="Sub" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="Sup" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="Em" minOccurs="1" maxOccurs="1"/>
                </xsd:choice>
            </xsd:complexType>
        </xsd:element>
    xsd:element name="PrtNm">
            <xsd:annotation>
                <xsd:documentation>
                PartName
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:choice minOccurs="0" maxOccurs="unbounded">
                    <xsd:element name="PrtNm" type="xsd:string"/>
                    <xsd:element ref="Sub" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="Sup" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="Em" minOccurs="1" maxOccurs="1"/>
                </xsd:choice>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="L">
            <xsd:annotation>
                <xsd:documentation>
                ************************ List  Container Element *************
            Attribute typ=used by the composition software to decide how to prefix
                                    the list entries, e.g. (a), (A), (i), (1), etc.
                                    AL for AlphaLower
                                    AU for AlphaUpper
                                    RL for RomanLower
                                    RU for RomanUpper
                                    No for Number
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence minOccurs="1" maxOccurs="unbounded">
                    <xsd:element ref="LP" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="LS" minOccurs="0" maxOccurs="1"/>
                </xsd:sequence>
                <xsd:attribute name="typ" use="optional">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:enumeration value="AL"/>
                            <xsd:enumeration value="AU"/>
                            <xsd:enumeration value="RL"/>
                            <xsd:enumeration value="RU"/>
                            <xsd:enumeration value="No"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:attribute>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="LP">
            <xsd:annotation>
                <xsd:documentation>
                List Paragraph
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:choice minOccurs="0" maxOccurs="unbounded">
                    <xsd:element name="LP" type="xsd:string"/>
                    <xsd:element ref="Sub" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="Sup" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="Em" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="RefD" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="RefF" minOccurs="1" maxOccurs="1"/>
                </xsd:choice>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="LS">
            <xsd:annotation>
                <xsd:documentation>
                1st level sublist
            Attribute typ=used by the composition software to decide how to prefix
                                    the list entries, e.g. (a), (A), (i), (1), etc.
                                    AL for AlphaLower
                                    AU for AlphaUpper
                                    RL for RomanLower
                                    RU for RomanUpper
                                    No for Number
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence minOccurs="1" maxOccurs="unbounded">
                    <xsd:element ref="LP" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="LSS" minOccurs="0" maxOccurs="1"/>
                </xsd:sequence>
                <xsd:attribute name="typ" use="optional">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:enumeration value="AL"/>
                            <xsd:enumeration value="AU"/>
                           <xsd:enumeration value="RL"/>
                            <xsd:enumeration value="RU"/>
                            <xsd:enumeration value="No"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:attribute>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="LSS">
            <xsd:annotation>
                <xsd:documentation>
                2nd level list
            Attribute typ=used by the composition software to decide how to prefix
                                    the list entries, e.g. (a), (A), (i), (1), etc.
                                    AL for AlphaLower
                                    AU for AlphaUpper
                                    RL for RomanLower
                                    RU for RomanUpper
                                    No for Number
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="LP" minOccurs="1" maxOccurs="unbounded"/>
                </xsd:sequence>
                <xsd:attribute name="typ" use="optional">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:enumeration value="AL"/>
                            <xsd:enumeration value="AU"/>
                            <xsd:enumeration value="RL"/>
                            <xsd:enumeration value="RU"/>
                            <xsd:enumeration value="No"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:attribute>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="IndexingCorePt">
            <xsd:annotation>
                <xsd:documentation>
                ******** ROOT ELEMENT for Core Patent Indexing   *********
                ** Indexing is composed of Derwent Classification (DC),IPCs,
                    Fragmentation Coding (Frags), Polymer Indexing, Unlinked Registry numbers
                    and Keyword Indexing (KI).
                    Any combination is these three elements is allowed.
                Attribute vs        =Version number starting at 0
                    Attribute co    =Patent country
                    Attribute se    =Patent serial
                    Attribute ki    =Patent Kind
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence minOccurs="1" maxOccurs="1">
                    <xsd:element ref="DC" minOccurs="0" maxOccurs="1"/>
                    <xsd:element ref="IPCs" minOccurs="0" maxOccurs="1"/>
                    <xsd:element ref="Frag" minOccurs="0" maxOccurs="1"/>
                    <xsd:element ref="Polymer" minOccurs="0" maxOccurs="1"/>
                    <xsd:element ref="IdxU" minOccurs="0" maxOccurs="1"/>
                    <xsd:element ref="KI" minOccurs="0" maxOccurs="1"/>
                </xsd:sequence>
                <xsd:attribute name="vs" type ="xsd:NMTOKEN" use="optional"/>
                <xsd:attribute name="co" type ="xsd:NMTOKEN" use="required"/>
                <xsd:attribute name="se" type ="xsd:NMTOKEN" use="required"/>
                <xsd:attribute name="ki" type ="xsd:NMTOKEN" use="required"/>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="DC">
            <xsd:annotation>
                <xsd:documentation>
                ************* DERWENT CLASSIFICATION *******************
                ** Derwent Classification is divided in 3 main areas:
                    Chemical(CPI),General &amp; Mechanical (EngPI),
                    Electronic &amp; Electronical (EPI)
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:choice minOccurs="1" maxOccurs="1">
                    <xsd:sequence minOccurs="1" maxOccurs="1">
                        <xsd:element ref="CPIs" minOccurs="1" maxOccurs="1"/>
                        <xsd:element ref="EngPIs" minOccurs="0" maxOccurs="1"/>
                        <xsd:element ref="EPIs" minOccurs="0" maxOccurs="1"/>
                    </xsd:sequence>
                    <xsd:sequence minOccurs="1" maxOccurs="1">
                        <xsd:element ref="EngPIs" minOccurs="1" maxOccurs="1"/>
                        <xsd:element ref="EPIs" minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
                    <xsd:element ref="EPIs" minOccurs="1" maxOccurs="1"/>
                </xsd:choice>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="CPIs">
            <xsd:annotation>
                <xsd:documentation>
                UNIQUE ELEMENT DC
                ** Container element for CPI**
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="CPI" minOccurs="1" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="CPI">
            <xsd:annotation>
                <xsd:documentation>
                UNIQUE ELEMENT CPIs
                ** CPI is composed of sections A to N (no section I)
                    Any combination is allowed, there has to be at least one section.
                    No section can appear twice. The DTD does not enforce this.
                    Section N can't be on his own. The DTD does not enforce this.
                    Each single Chemical section is composed of one main class (DCCM)
                    and zero to many secondary classes (DCCSs). One to many Manual
                    code (MCCs) has to be applied to a given chemical section.
                    Attribute section= an allowed Derwent CPI section    **
                Note that content MCCs is optional as its optional in the backfile
                    before 19??
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:choice minOccurs="1" maxOccurs="1">
                    <xsd:sequence minOccurs="1" maxOccurs="1">
                        <xsd:element ref="DCCM" minOccurs="1" maxOccurs="1"/>
                        <xsd:element ref="DCCSs" minOccurs="0" maxOccurs="1"/>
                        <xsd:element ref="MCCs" minOccurs="0" maxOccurs="1"/>
                    </xsd:sequence>
                    <xsd:element ref="MCCs" minOccurs="1" maxOccurs="1"/>
                </xsd:choice>
                <xsd:attribute name="sct" use="required">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:enumeration value="A"/>
                            <xsd:enumeration value="B"/>
                            <xsd:enumeration value="C"/>
                            <xsd:enumeration value="D"/>
                            <xsd:enumeration value="E"/>
                            <xsd:enumeration value="F"/>
                            <xsd:enumeration value="G"/>
                            <xsd:enumeration value="H"/>
                            <xsd:enumeration value="J"/>
                            <xsd:enumeration value="K"/>
                            <xsd:enumeration value="L"/>
                            <xsd:enumeration value="M"/>
                            <xsd:enumeration value="N"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:attribute>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="DCCM" type="xsd:string">
            <xsd:annotation>
                <xsd:documentation>
                ** Derwent Class Chemical Main element **
                </xsd:documentation>
            </xsd:annotation>
        </xsd:element>
        <xsd:element name="DCCSs">
            <xsd:annotation>
                <xsd:documentation>
                ** Derwent Classes Chemical Secondary Container element**
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="DCCS" minOccurs="1" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
    <xsd:element name="DCCS" type="xsd:string">
            <xsd:annotation>
                <xsd:documentation>
                ** A Derwent Class Chemical Secondary (DCCS) **
                </xsd:documentation>
            </xsd:annotation>
        </xsd:element>
        <xsd:element name="MCCs">
            <xsd:annotation>
                <xsd:documentation>
                ** Manual Codes CPI Container Element **
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="MCC" minOccurs="1" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="MCC" type="xsd:string">
            <xsd:annotation>
                <xsd:documentation>
                ** A Manual Code CPI **
                </xsd:documentation>
            </xsd:annotation>
        </xsd:element>
        <xsd:element name="EngPIs">
            <xsd:annotation>
                <xsd:documentation>
                **General &amp; Mechanical Sections Container element**
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="EngPI" minOccurs="1" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="EngPI">
            <xsd:annotation>
                <xsd:documentation>
                UNIQUE ELEMENT EngPIs
                ** General &amp; Mechanical Sections EngPI is composed of sections
                    P and Q. Any combination is allowed, with at least one section.
                    There are no manual codes for these sections.
                    Each single EngPI section is composed of
                    one or more Derwent Class Engineering (DCEng) elements.
                    No section can appear twice. The DTD does not enforce this.
                    Attribute section= an allowed Derwent EngPI section         **
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="DCEngs" minOccurs="1" maxOccurs="1"/>
                </xsd:sequence>
                <xsd:attribute name="sct" use="required">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:enumeration value="P"/>
                            <xsd:enumeration value="Q"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:attribute>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="DCEngs">
            <xsd:annotation>
                <xsd:documentation>
                ** Derwent Class Engineering Container eement **
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="DCEng" minOccurs="1" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
    <xsd:element name="DCEng" type="xsd:string">
            <xsd:annotation>
                <xsd:documentation>
                ** Derwent Class Engineering  **
                </xsd:documentation>
            </xsd:annotation>
        </xsd:element>
        <xsd:element name="EPIs">
            <xsd:annotation>
                <xsd:documentation>
                ** Electronic &amp; Electrical Sections EPI **
                Container element for EPI
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="EPI" minOccurs="1" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="EPI">
            <xsd:annotation>
                <xsd:documentation>
                UNIQUE ELEMENT EPIs
                ** EPI is composed of sections R to X. Any combination is allowed,
                      with at least one section.
                     Section R can't be on his own. The DTD does not enforce this.
                     Each single is composed of one or more Derwent Class Electronic
                     and Electrical (DCE) elements.
                     No section can appear twice. The DTD does not enforce this. **
         Attribute sct = an allowed Derwent EPI section        
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="EPIgp" minOccurs="1" maxOccurs="unbounded"/>
                </xsd:sequence>
                <xsd:attribute name="sct" use="required">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:enumeration value="R"/>
                            <xsd:enumeration value="S"/>
                            <xsd:enumeration value="T"/>
                            <xsd:enumeration value="U"/>
                            <xsd:enumeration value="V"/>
                            <xsd:enumeration value="W"/>
                            <xsd:enumeration value="X"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:attribute>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="EPIgp">
            <xsd:annotation>
                <xsd:documentation>
                ** A Container element to group the related DCE &amp; MCEs elements **
                Note that content MCEs is optional as its optional in the backfile
                     before 19??
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence minOccurs="1" maxOccurs="1">
                    <xsd:element ref="DCE" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="MCEs" minOccurs="0" maxOccurs="1"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="DCE" type="xsd:string">
            <xsd:annotation>
                <xsd:documentation>
                ** Derwent Class Electronic &amp; Electrical (DCE) contains
                     Manual Codes Electronic &amp; Electrical (MCE)              **
                ** Derwent Class EPI **
                </xsd:documentation>
            </xsd:annotation>
        </xsd:element>
        <xsd:element name="MCEs">
            <xsd:annotation>
                <xsd:documentation>
                ** Manual Codes EPI container element **
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="MCE" minOccurs="1" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="MCE" type="xsd:string">
            <xsd:annotation>
                <xsd:documentation>
                ** A Manual Code EPI **
                </xsd:documentation>
            </xsd:annotation>
        </xsd:element>
        <xsd:element name="IPCs">
            <xsd:annotation>
                <xsd:documentation>
                ********************IPCs Container element *************
                ** The following xlink construct is a link to the IPC codes on
                     the WIPO site, this could be added to the DTD to provide the link
                     without adding any thing to the individual instances
                     xlink:type   (locator)  #FIXED     "locator"
                     xlink:rl   NMTOKEN       #FIXED     "IPCs"
                     xlink:href CDATA #FIXED "http://classifications.wipo.int/fulltext/new_ipc/"
                     xlink:title  CDATA       #FIXED     "IPC Codes"            **
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="IPC" minOccurs="1" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="IPC">
            <xsd:annotation>
                <xsd:documentation>
                UNIQUE ELEMENT IPCs
                ** An IPC Code **
                ** Attribute rnk= Derwent assigned character to indicate type
                     of IPC:
                          A= Main IPC
                          B= Other, unlinked IPCs
                          C to Y = Linked IPCs and Index Terms
                          Z= IPC Index Terms
                          -= Additional terms                       **
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
             <xsd:simpleContent>
              <xsd:extension base="xsd:string">
                <xsd:attribute name="rnk" use="required">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:enumeration value="A"/>
                            <xsd:enumeration value="B"/>
                            <xsd:enumeration value="C"/>
                            <xsd:enumeration value="D"/>
                            <xsd:enumeration value="E"/>
                            <xsd:enumeration value="F"/>
                            <xsd:enumeration value="G"/>
                            <xsd:enumeration value="H"/>
                            <xsd:enumeration value="I"/>
                            <xsd:enumeration value="J"/>
                            <xsd:enumeration value="K"/>
                            <xsd:enumeration value="L"/>
                            <xsd:enumeration value="M"/>
                            <xsd:enumeration value="N"/>
                            <xsd:enumeration value="O"/>
                            <xsd:enumeration value="P"/>
                            <xsd:enumeration value="Q"/>
                            <xsd:enumeration value="R"/>
                            <xsd:enumeration value="S"/>
                            <xsd:enumeration value="T"/>
                            <xsd:enumeration value="U"/>
                            <xsd:enumeration value="V"/>
                            <xsd:enumeration value="W"/>
                            <xsd:enumeration value="X"/>
                            <xsd:enumeration value="Y"/>
                            <xsd:enumeration value="Z"/>
                            <xsd:enumeration value="-"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:attribute>
               </xsd:extension>
             </xsd:simpleContent>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="Frag">
            <xsd:annotation>
                <xsd:documentation>
                ***************BCE INDEXING OR FRAGMENTATION ************
                ** Fragmentation Container element**
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="FragSub" minOccurs="1" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="FragSub">
            <xsd:annotation>
                <xsd:documentation>
                UNIQUE ELEMENT Frag
                ** Fragmentation Sub heading **
                ** Attribute sjct=The main BCE chemical subject categories
                     defined by Derwent as subsets. The subsets are designated by the
                     subheadings MO through M6:
                          MO  Agricultural, pharmaceutical     1963-1969
                          M1  Agricultural, pharmaceutical natural products
                                         and polymers     1970 to present
                          M2  Agricultural, pharmaceutical         1970 to present
                          M3  General chemicals                    1970 to present
                          M4  Dyes                                 1970 to present
                          M5  Steroids                             1963 to present
                          M6  Galenicals                           1976 to present"**
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="CardRec" minOccurs="1" maxOccurs="unbounded"/>
                </xsd:sequence>
                <xsd:attribute name="sjct" use="required">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:enumeration value="M0"/>
                            <xsd:enumeration value="M1"/>
                            <xsd:enumeration value="M2"/>
                            <xsd:enumeration value="M3"/>
                            <xsd:enumeration value="M4"/>
                            <xsd:enumeration value="M5"/>
                            <xsd:enumeration value="M6"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:attribute>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="CardRec">
            <xsd:annotation>
                <xsd:documentation>
                ** Card Record **
                     Attribute no     =Derwent assigned record number
                     Attribute mc     = Markush DARC Control Code
                     Attribute trc     = Fragmentaion Control Time ranging codes:
                                    M900     Pre-1970
                                    M901     1970-1971
                                    M902     1972-1981 (8126)
                                    M903     1981 (8127) onward
                                    M905
                     Attribute rn      = 910 Codes generated from registry numbers.
                                    Only searchable from 1981
                     Attribute wd = 911 Wide Disclosure. Only searchable from 1981
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence minOccurs="1" maxOccurs="1">
                    <xsd:element ref="FCodes" minOccurs="1" maxOccurs="1"/>
                    <xsd:element ref="RINs" minOccurs="0" maxOccurs="1"/>
                    <xsd:element ref="SCNs" minOccurs="0" maxOccurs="1"/>
                    <xsd:element ref="MCNs" minOccurs="0" maxOccurs="1"/>
                    <xsd:element ref="DRNs" minOccurs="0" maxOccurs="1"/>
                    <xsd:element ref="DCRs" minOccurs="0" maxOccurs="1"/>
                </xsd:sequence>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

  • Exp XML Schema (.xsd) to another schema on same instance

    Hello,
    I hope someone on this forum can help me or point me in the correct direction. I want to export a schema which contains a table (EQUIPMENT) which has a XMLType column defined against a registered .xsd. I would then like to restored this schema to another schema on the same instance (development instance) and also onto another db instance.
    I have been trying to do this with the help of "Chapter 30 Importing and Exporting XMLType Tables" from the Oracle® XML DB Developer's Guide
    10g Release 2 (10.2). Unfortunately without success. At the end of this message I have encluded sample error messages that I am receiving for creation of TYPES which is causing my import to fail.
    I cannot find any examples on the web on how to achieve an exp from one schema and imp in another either on the same instance or another one.
    DDL for my table is :
    create table EQUIPMENT
    ID number(7) not null,
    STATUSID number(7) not null,
    ATTRIBUTEDATA xmltype
    xmltype column ATTRIBUTEDATA xmlschema "EQUIPMENT.xsd" element EQUIPMENT_XML
    tablespace TBS_DATA1;
    Three test runs as follows:
    1. Using an empty u2 schema and I register the .xsd file. Then I try to import (FROMUSER - TOUSER imp mode) my dump file which leads to the following error:
    IMP-00017: following statement failed with ORACLE error 2304:
    "CREATE TYPE "MTA1440_T" TIMESTAMP '2007-11-14:14:42:16' OID '3EE57B10307317"
    "74E044080020C94102' AS OBJECT ("SYS_XDBPD$" "XDB"."XDB$RAW_LIST_T",""
    "ATTRIBUTE_01" NUMBER(38),"ATTRIBUTE_02" VARCHAR2(4000 CHAR),"ATTRIBUTE_03" "
    "VARCHAR2(4000 CHAR),"ATTRIBUTE_04" NUMBER(38),"ATTRIBUTE_05" VARCHAR2(4000 "
    "CHAR))FINAL INSTANTIABLE "
    IMP-00003: ORACLE error 2304 encountered
    NOTE: Even though import failed, I now see a new TYPE created called "MTA1526_T".
    2. If I try to create the TYPE as is from the error above I get the following error:
    SQL> CREATE TYPE MTA1440_T
    2 OID '3EE57B1030731774E044080020C94102'
    3 AS OBJECT (SYS_XDBPD$ XDB.XDB$RAW_LIST_T,
    4 ATTRIBUTE_01 NUMBER(38),
    5 ATTRIBUTE_02 VARCHAR2(4000 CHAR),
    6 ATTRIBUTE_03 VARCHAR2(4000 CHAR),
    7 ATTRIBUTE_04 NUMBER(38),
    8 ATTRIBUTE_05 VARCHAR2(4000 CHAR)) FINAL INSTANTIABLE;
    9 /
    CREATE TYPE MTA1440_T
    ERROR at line 1:
    ORA-02304: invalid object identifier literal
    3. So now I create the "MTA1440_T" type without the OID value and retry the import.
    IMP-00061: Warning: Object type "U2"."MTA1440_T" already exists with a different identifier
    "CREATE TYPE "MTA1440_T" TIMESTAMP '2007-11-14:14:42:16' OID '3EE57B10307317"
    "74E044080020C94102' AS OBJECT ("SYS_XDBPD$" "XDB"."XDB$RAW_LIST_T",""
    "ATTRIBUTE_01" NUMBER(38),"ATTRIBUTE_02" VARCHAR2(4000 CHAR),"ATTRIBUTE_03" "
    "VARCHAR2(4000 CHAR),"ATTRIBUTE_04" NUMBER(38),"ATTRIBUTE_05" VARCHAR2(4000 "
    "CHAR))FINAL INSTANTIABLE "
    Questions from me:
    A. Can I export TYPES only as suggested by the online documentation ?
    B. If importing onto same instance in another schema surely the OID for the TYPE will always fail - so then why can the import not create the required TYPE name itself during the import ?
    C. Should I use global TYPES and Register the .XSD globally for all schema's in an instance to validate against .. would this prevent me from having errors on an import ?
    I would appreciate any insight any one could provide me. Many thanks in advance.
    Dom

    Hi Guys,
    Thank you all for the replies. I am dissappointed to hear that in 10g does not support exp/imp of schema's structured XML. However I am a little confused or should I say mislead by the "" documentation I
    Here is an extract from chapter "30 - Importing and Exporting XMLType Tables" from the Oracle XML DB 10g Developers Guide documentation:
    "..... Oracle Database supports the import and export of XML schema-based XMLType tables. An XMLType table depends on the XML schema used to define it. Similarly the XML schema has dependencies on the SQL object types created or specified for it. Thus, exporting a user with XML schema-based XMLType tables, consists of the following steps:
    1. Exporting SQL Types During XML Schema Registration. As a part of the XML
    schema registration process .....
    2. Exporting XML Schemas. After all the types are exported, XML schemas are
    exported as XML text .....
    3. Exporting XML Tables. The next step is to export the tables. Export of each table consists of two steps:
    A. The table definition is exported as a part of the CREATE TABLE statement....
    B. The data in the table is exported as XML text. Note that data for out-of-line
    tables is.....
    From this documentation I was under the impression that the exp/imp of XML Schema-Based XMLType Tables was supported.
    Regarding the backup mechanism/strategy for database schema's containing tables with Schema-Based XMLTypes what would you recommend the best online backup method to use - tablespace backups ?
    What I need to be able to do in day-to-day work is to have the ability to be able to take a copy of a customers UAT or production database schema and apply it to a dev or test db instance here for bug testing etc. Do you have any advice on best to achieve this without the use of an exp/imp when the schema will contain Schema-Based XMLType tables.
    Thank you all for your assistance so far.

  • Reregister modified XML Schema

    I have some XML Schemas registered with my oracle 10g database. The types are created, but not the tables.
    Now I have a change in field length in one of the Schemas and I need to reregister it. All the other schemas are dependent on this modified schema.
    I used the following approach to delete the schema and register it.
    dbms_xmlschema.deleteschema(schemaurl => 'my url',
    delete_option => dbms_xmlschema.DELETE_CASCADE_FORCE);
    dbms_xmlschema.registerschema(schemaurl => 'my url',
    schemadoc => BFILENAME(SCHEMADIR, 'schema_name'),
    local=>true,
    genTypes=>true,
    genbean=>false,
    genTables=>false,
    force=>false);
    This successfully registered the schema.
    But whenever the database is restarted, I face a dangling ref error whenever I try to access the OOT created for the Schema.
    Any pointers on this will be of great help. Is this the right approach?
    Also I read about dbms_xmlschema.copyevolve() procedure. I only need the types, so I am not interested in any transformations as I dont have any instance documents.

    The last problem regarding dangling ref's on this forum ended up in creating an SR with support...
    Before you register the schema you could set an event that will trace all statements that are executed in the "background" and stored in a trace file in the UDUMP directory
    ALTER session SET events = '31098 trace name context forever';It is also always useful to check the database alert.log for errors...
    Edited by: Marco Gralike on Nov 19, 2008 9:23 PM

  • Error when registering XML Schema

    When I try to register a schema with XDB I keep getting an ORA-31000 error. It says that the schema it references is not a valid XDB schema, but when I try to register that one it says the first one isn't valid.

    Testing with 11g I get
    I assume you have registered 'http://www.w3.org/2005/08/addressing/ws-addr.xsd'
    SQL> set echo on
    SQL> spool testcase.log
    SQL> --
    SQL> connect sys/ as sysdba
    Enter password:
    Connected.
    SQL> set define on
    SQL> set timing on
    SQL> --
    SQL> define USERNAME = IXSEMF01
    SQL> --
    SQL> def PASSWORD = IXSEMF01
    SQL> --
    SQL> def USER_TABLESPACE = USERS
    SQL> --
    SQL> def TEMP_TABLESPACE = TEMP
    SQL> --
    SQL> drop user &USERNAME cascade
      2  /
    old   1: drop user &USERNAME cascade
    new   1: drop user IXSEMF01 cascade
    drop user IXSEMF01 cascade
    ERROR at line 1:
    ORA-01918: user 'IXSEMF01' does not exist
    Elapsed: 00:00:00.03
    SQL> grant connect, resource to &USERNAME identified by &PASSWORD
      2  /
    old   1: grant connect, resource to &USERNAME identified by &PASSWORD
    new   1: grant connect, resource to IXSEMF01 identified by IXSEMF01
    Grant succeeded.
    Elapsed: 00:00:00.01
    SQL> grant create any directory, drop any directory to &USERNAME
      2  /
    old   1: grant create any directory, drop any directory to &USERNAME
    new   1: grant create any directory, drop any directory to IXSEMF01
    Grant succeeded.
    Elapsed: 00:00:00.00
    SQL> grant alter session, create view to &USERNAME
      2  /
    old   1: grant alter session, create view to &USERNAME
    new   1: grant alter session, create view to IXSEMF01
    Grant succeeded.
    Elapsed: 00:00:00.00
    SQL> alter user &USERNAME default tablespace &USER_TABLESPACE temporary tablespace &TEMP_TABLESPACE
      2  /
    old   1: alter user &USERNAME default tablespace &USER_TABLESPACE temporary tablespace &TEMP_TABLESPACE
    new   1: alter user IXSEMF01 default tablespace USERS temporary tablespace TEMP
    User altered.
    Elapsed: 00:00:00.00
    SQL> connect &USERNAME/&PASSWORD
    Connected.
    SQL> --
    SQL> alter session set events ='19027 trace name context forever, level 0x800'
      2  /
    Session altered.
    Elapsed: 00:00:00.00
    SQL> var schemaURL  varchar2(700)
    SQL> var schemaURL1 varchar2(700)
    SQL> var schemaURL2 varchar2(700)
    SQL> var xmlschema CLOB
    SQL> --
    SQL> begin
      2    :schemaURL := 'http://www.w3.org/2005/08/addressing/ws-addr.xsd';
      3    :xmlSchema :=
      4  '<?xml version="1.0" encoding="utf-8"?>
      5  <!--
      6  <!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd">
      7      W3C XML Schema defined in the Web Services Addressing 1.0 specification
      8      http://www.w3.org/TR/ws-addr-core
      9
    10     Copyright c 2005 World Wide Web Consortium,
    11
    12     (Massachusetts Institute of Technology, European Research Consortium for
    13     Informatics and Mathematics, Keio University). All Rights Reserved. This
    14     work is distributed under the W3Cr Software License [1] in the hope that
    15     it will be useful, but WITHOUT ANY WARRANTY; without even the implied
    16     warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    17
    18     [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
    19
    20     $Id: ws-addr.xsd,v 1.3 2005/08/09 13:17:35 hugo Exp $
    21  -->
    22  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.w3.org/2005/08/addressing" targetNamespace="http://www.w3.
    org/2005/08/addressing" blockDefault="#all" elementFormDefault="qualified" finalDefault="" attributeFormDefault="unqualified">
    23
    24     <!-- Constructs from the WS-Addressing Core -->
    25
    26     <xs:element name="EndpointReference" type="tns:EndpointReferenceType"/>
    27     <xs:complexType name="EndpointReferenceType" mixed="false">
    28             <xs:sequence>
    29                     <xs:element name="Address" type="tns:AttributedURIType"/>
    30                     <xs:element name="ReferenceParameters" type="tns:ReferenceParametersType" minOccurs="0"/>
    31                     <xs:element ref="tns:Metadata" minOccurs="0"/>
    32                     <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    33             </xs:sequence>
    34             <xs:anyAttribute namespace="##other" processContents="lax"/>
    35     </xs:complexType>
    36
    37     <xs:complexType name="ReferenceParametersType" mixed="false">
    38             <xs:sequence>
    39                     <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    40             </xs:sequence>
    41             <xs:anyAttribute namespace="##other" processContents="lax"/>
    42     </xs:complexType>
    43
    44     <xs:element name="Metadata" type="tns:MetadataType"/>
    45     <xs:complexType name="MetadataType" mixed="false">
    46             <xs:sequence>
    47                     <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    48             </xs:sequence>
    49             <xs:anyAttribute namespace="##other" processContents="lax"/>
    50     </xs:complexType>
    51
    52     <xs:element name="MessageID" type="tns:AttributedURIType"/>
    53     <xs:element name="RelatesTo" type="tns:RelatesToType"/>
    54     <xs:complexType name="RelatesToType" mixed="false">
    55             <xs:simpleContent>
    56                     <xs:extension base="xs:anyURI">
    57                             <xs:attribute name="RelationshipType" type="tns:RelationshipTypeOpenEnum" use="optional" default="http://www
    .w3.org/2005/08/addressing/reply"/>
    58                             <xs:anyAttribute namespace="##other" processContents="lax"/>
    59                     </xs:extension>
    60             </xs:simpleContent>
    61     </xs:complexType>
    62
    63     <xs:simpleType name="RelationshipTypeOpenEnum">
    64             <xs:union memberTypes="tns:RelationshipType xs:anyURI"/>
    65     </xs:simpleType>
    66
    67     <xs:simpleType name="RelationshipType">
    68             <xs:restriction base="xs:anyURI">
    69                     <xs:enumeration value="http://www.w3.org/2005/08/addressing/reply"/>
    70             </xs:restriction>
    71     </xs:simpleType>
    72
    73     <xs:element name="ReplyTo" type="tns:EndpointReferenceType"/>
    74     <xs:element name="From" type="tns:EndpointReferenceType"/>
    75     <xs:element name="FaultTo" type="tns:EndpointReferenceType"/>
    76     <xs:element name="To" type="tns:AttributedURIType"/>
    77     <xs:element name="Action" type="tns:AttributedURIType"/>
    78
    79     <xs:complexType name="AttributedURIType" mixed="false">
    80             <xs:simpleContent>
    81                     <xs:extension base="xs:anyURI">
    82                             <xs:anyAttribute namespace="##other" processContents="lax"/>
    83                     </xs:extension>
    84             </xs:simpleContent>
    85     </xs:complexType>
    86
    87     <!-- Constructs from the WS-Addressing SOAP binding -->
    88
    89     <xs:attribute name="IsReferenceParameter" type="xs:boolean"/>
    90
    91     <xs:simpleType name="FaultCodesOpenEnumType">
    92             <xs:union memberTypes="tns:FaultCodesType xs:QName"/>
    93     </xs:simpleType>
    94
    95     <xs:simpleType name="FaultCodesType">
    96             <xs:restriction base="xs:QName">
    97                     <xs:enumeration value="tns:InvalidAddressingHeader"/>
    98                     <xs:enumeration value="tns:InvalidAddress"/>
    99                     <xs:enumeration value="tns:InvalidEPR"/>
    100                     <xs:enumeration value="tns:InvalidCardinality"/>
    101                     <xs:enumeration value="tns:MissingAddressInEPR"/>
    102                     <xs:enumeration value="tns:DuplicateMessageID"/>
    103                     <xs:enumeration value="tns:ActionMismatch"/>
    104                     <xs:enumeration value="tns:MessageAddressingHeaderRequired"/>
    105                     <xs:enumeration value="tns:DestinationUnreachable"/>
    106                     <xs:enumeration value="tns:ActionNotSupported"/>
    107                     <xs:enumeration value="tns:EndpointUnavailable"/>
    108             </xs:restriction>
    109     </xs:simpleType>
    110
    111     <xs:element name="RetryAfter" type="tns:AttributedUnsignedLongType"/>
    112     <xs:complexType name="AttributedUnsignedLongType" mixed="false">
    113             <xs:simpleContent>
    114                     <xs:extension base="xs:unsignedLong">
    115                             <xs:anyAttribute namespace="##other" processContents="lax"/>
    116                     </xs:extension>
    117             </xs:simpleContent>
    118     </xs:complexType>
    119
    120     <xs:element name="ProblemHeaderQName" type="tns:AttributedQNameType"/>
    121     <xs:complexType name="AttributedQNameType" mixed="false">
    122             <xs:simpleContent>
    123                     <xs:extension base="xs:QName">
    124                             <xs:anyAttribute namespace="##other" processContents="lax"/>
    125                     </xs:extension>
    126             </xs:simpleContent>
    127     </xs:complexType>
    128
    129     <xs:element name="ProblemHeader" type="tns:AttributedAnyType"/>
    130     <xs:complexType name="AttributedAnyType" mixed="false">
    131             <xs:sequence>
    132                     <xs:any namespace="##any" processContents="lax" minOccurs="1" maxOccurs="1"/>
    133             </xs:sequence>
    134             <xs:anyAttribute namespace="##other" processContents="lax"/>
    135     </xs:complexType>
    136
    137     <xs:element name="ProblemIRI" type="tns:AttributedURIType"/>
    138
    139     <xs:element name="ProblemAction" type="tns:ProblemActionType"/>
    140     <xs:complexType name="ProblemActionType" mixed="false">
    141             <xs:sequence>
    142                     <xs:element ref="tns:Action" minOccurs="0"/>
    143                     <xs:element name="SoapAction" minOccurs="0" type="xs:anyURI"/>
    144             </xs:sequence>
    145             <xs:anyAttribute namespace="##other" processContents="lax"/>
    146     </xs:complexType>
    147
    148  </xs:schema>';
    149  end;
    150  /
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.00
    SQL> declare
      2    xmlschema xmltype := xmltype(:xmlschema);
      3  begin
      4    dbms_xmlschema.registerSchema
      5    (
      6        schemaURL => :schemaURL
      7       ,schemaDoc => xmlschema
      8       ,local     => TRUE
      9       ,genBean   => false
    10       ,genTypes  => TRUE
    11       ,genTables => TRUE
    12    );
    13  end;
    14  /
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:03.07
    SQL>
    SQL> begin
      2    :schemaURL1 := 'muws1-2.xsd';
      3    :xmlSchema :=
      4  '<?xml version="1.0" encoding="utf-8"?>
      5  <!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by Dirk Grissett (Oracle Corp.) --> <xs:schema xmlns:muws1="http://docs.
    oasis-open.org/wsdm/muws1-2.xsd" xmlns:muws2="http://docs.oasis-open.org/wsdm/muws2-2.xsd" xmlns:wsa="http://www.w3.org/2005/08/addressing"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://docs.oasis-open.org/wsdm/muws1-2.xsd" elementFormDefault="qualified" att
    ributeFormDefault="unqualified">
      6     <xs:import namespace="http://docs.oasis-open.org/wsdm/muws2-2.xsd" schemaLocation="muws2-2.xsd"/>
      7     <xs:import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="http://www.w3.org/2005/08/addressing/ws-addr.xsd"/>
      8     <xs:element name="ResourceId" type="xs:anyURI"/>
      9     <xs:element name="ManageabilityCapability" type="xs:anyURI"/>
    10     <xs:complexType name="CorrelatablePropertiesType">
    11             <xs:sequence>
    12                     <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    13             </xs:sequence>
    14             <xs:attribute name="Dialect" type="xs:anyURI"/>
    15             <xs:attribute name="NegativeAssertionPossible" type="xs:boolean"/>
    16             <xs:anyAttribute namespace="##other"/>
    17     </xs:complexType>
    18     <xs:element name="CorrelatableProperties" type="muws1:CorrelatablePropertiesType"/>
    19     <xs:complexType name="ComponentAddressType">
    20             <xs:sequence>
    21                     <xs:element name="ManagementURL" type="xs:string"/>
    22                     <xs:any namespace="##any" processContents="lax"/>
    23             </xs:sequence>
    24     </xs:complexType>
    25     <xs:complexType name="ComponentType">
    26             <xs:sequence>
    27                     <xs:element name="ResourceId" type="xs:anyURI" minOccurs="0"/>
    28                     <xs:element name="ComponentAddress" type="muws1:ComponentAddressType" minOccurs="0"/>
    29                     <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    30             </xs:sequence>
    31             <xs:anyAttribute namespace="##other"/>
    32     </xs:complexType>
    33     <xs:complexType name="ManagementEventType">
    34             <xs:sequence>
    35                     <xs:element name="EventId" type="xs:anyURI"/>
    36                     <xs:element name="SourceComponent" type="muws1:ComponentType"/>
    37                     <xs:element name="ReporterComponent" type="muws1:ComponentType" minOccurs="0"/>
    38                     <xs:element ref="muws2:Situation"/>
    39                     <xs:element name="ExtendedData" type="muws1:ExtendedDataType" minOccurs="0" maxOccurs="unbounded"/>
    40                     <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    41             </xs:sequence>
    42             <xs:attribute name="ReportTime" type="xs:dateTime" use="optional"/>
    43             <xs:anyAttribute namespace="##other"/>
    44     </xs:complexType>
    45     <xs:element name="ManagementEvent" type="muws1:ManagementEventType"/>
    46     <xs:element name="ManageabilityEndpointReference" type="wsa:EndpointReferenceType"/>
    47     <xs:complexType name="ExtendedDataElementType">
    48             <xs:sequence>
    49                     <xs:choice>
    50                             <xs:element name="values" minOccurs="0">
    51                                     <xs:simpleType>
    52                                             <xs:restriction base="xs:string">
    53                                                     <xs:maxLength value="1024"/>
    54                                             </xs:restriction>
    55                                     </xs:simpleType>
    56                             </xs:element>
    57                             <xs:element name="hexValue" type="xs:hexBinary" minOccurs="0"/>
    58                             <xs:element name="intValues" type="xs:int" minOccurs="0"/>
    59                             <xs:element name="longValues" type="xs:long" minOccurs="0"/>
    60                             <xs:element name="shortValues" type="xs:short" minOccurs="0"/>
    61                             <xs:element name="dateTimeValues" type="xs:dateTime" minOccurs="0"/>
    62                             <xs:element name="byteValues" type="xs:byte" minOccurs="0"/>
    63                             <xs:element name="booleanValues" type="xs:boolean" minOccurs="0"/>
    64                             <xs:element name="floatValues" type="xs:float" minOccurs="0"/>
    65                             <xs:element name="doubleValues" type="xs:double" minOccurs="0"/>
    66                             <xs:element name="largeStringValue" type="xs:string" minOccurs="0"/>
    67                     </xs:choice>
    68             </xs:sequence>
    69             <xs:attribute name="name" use="required">
    70                     <xs:simpleType>
    71                             <xs:restriction base="xs:Name">
    72                                     <xs:maxLength value="64"/>
    73                             </xs:restriction>
    74                     </xs:simpleType>
    75             </xs:attribute>
    76             <xs:attribute name="type" use="required">
    77                     <xs:simpleType>
    78                             <xs:restriction base="xs:string">
    79                                     <xs:enumeration value="noValue"/>
    80                                     <xs:enumeration value="byte"/>
    81                                     <xs:enumeration value="short"/>
    82                                     <xs:enumeration value="int"/>
    83                                     <xs:enumeration value="long"/>
    84                                     <xs:enumeration value="float"/>
    85                                     <xs:enumeration value="double"/>
    86                                     <xs:enumeration value="string"/>
    87                                     <xs:enumeration value="dateTime"/>
    88                                     <xs:enumeration value="boolean"/>
    89                                     <xs:enumeration value="byteArray"/>
    90                                     <xs:enumeration value="shortArray"/>
    91                                     <xs:enumeration value="intArray"/>
    92                                     <xs:enumeration value="longArray"/>
    93                                     <xs:enumeration value="floatArray"/>
    94                                     <xs:enumeration value="doubleArray"/>
    95                                     <xs:enumeration value="stringArray"/>
    96                                     <xs:enumeration value="dateTimeArray"/>
    97                                     <xs:enumeration value="booleanArray"/>
    98                                     <xs:enumeration value="hexBinary"/>
    99                                     <xs:enumeration value="largeStringValue"/>
    100                             </xs:restriction>
    101                     </xs:simpleType>
    102             </xs:attribute>
    103     </xs:complexType>
    104     <xs:complexType name="ExtendedDataType">
    105             <xs:sequence>
    106                     <xs:element name="ExtendedDataElement" type="muws1:ExtendedDataElementType" minOccurs="0" maxOccurs="unbounded"/>
    107             </xs:sequence>
    108             <xs:attribute name="profile" type="xs:ID"/>
    109     </xs:complexType>
    110     <!--
    111                                         SCHEMA COPY Material Copy and paste element references below into the schema of a resource prope
    rties document.
    112  These references are provide to insure that the correct minOccurs/maxOccurs attributes are specified in a resource property document sc
    hema.
    113
    114  NOTE: You must import the MUWS Part 1 schema namespace (MUWS1).
    115
    116          **    Identity Properties    **
    117            <xs:element ref="muws1:ResourceId"/>
    118
    119
    120          **    ManageabilityCharacteristics Properties    **
    121            <xs:element ref="muws1:ManageabilityCapability"
    122                        minOccurs="0" maxOccurs="unbounded"/>
    123
    124          **    Correlatable Properties    **
    125            <xs:element ref="muws1:CorrelatableProperties"
    126                        minOccurs="0" maxOccurs="unbounded"/>
    127
    128  -->
    129  </xs:schema>';
    130  end;
    131  /
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.00
    SQL> declare
      2    xmlschema xmltype := xmltype(:xmlschema);
      3  begin
      4    dbms_xmlschema.registerSchema
      5    (
      6        schemaURL => :schemaURL1
      7       ,schemaDoc => xmlschema
      8       ,local     => TRUE
      9       ,genBean   => false
    10       ,genTypes  => TRUE
    11       ,genTables => TRUE
    12       ,force => TRUE
    13    );
    14  end;
    15  /
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.35
    SQL> begin
      2    :schemaURL2 := 'muws2-2.xsd';
      3    :xmlSchema :=
      4  '<?xml version="1.0" encoding="utf-8"?>
      5  <!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by Dirk Grissett (Oracle Corp.) -->
      6  <xs:schema xmlns:muws2="http://docs.oasis-open.org/wsdm/muws2-2.xsd" xmlns:muws1="http://docs.oasis-open.org/wsdm/muws1-2.xsd" xmlns:ws
    a="http://www.w3.org/2005/08/addressing" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://docs.oasis-open.org/wsdm/muws2-
    2.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified">
      7     <xs:import namespace="http://docs.oasis-open.org/wsdm/muws1-2.xsd" schemaLocation="muws1-2.xsd"/>
      8     <xs:import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="http://www.w3.org/2005/08/addressing/ws-addr.xsd"/>
      9     <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
    10     <xs:complexType name="LangString">
    11             <xs:simpleContent>
    12                     <xs:extension base="xs:string">
    13                             <xs:attribute ref="xml:lang" use="required"/>
    14                             <xs:anyAttribute namespace="##other"/>
    15                     </xs:extension>
    16             </xs:simpleContent>
    17     </xs:complexType>
    18     <!-- Begin properties for the Description capability -->
    19     <xs:element name="Caption" type="muws2:LangString"/>
    20     <xs:element name="Description" type="muws2:LangString"/>
    21     <xs:element name="Version" type="xs:string"/>
    22     <!-- End   properties for the Description capability -->
    23     <xs:complexType name="CategoryType">
    24             <xs:sequence>
    25                     <xs:any namespace="##any" processContents="lax" minOccurs="0"/>
    26             </xs:sequence>
    27     </xs:complexType>
    28     <xs:complexType name="StateType">
    29             <xs:complexContent>
    30                     <xs:extension base="muws2:CategoryType"/>
    31             </xs:complexContent>
    32     </xs:complexType>
    33     <xs:element name="State" type="muws2:StateType"/>
    34     <xs:element name="EnteredState" type="muws2:StateType"/>
    35     <xs:element name="PreviousState" type="muws2:StateType"/>
    36     <xs:complexType name="StateTransitionType">
    37             <xs:sequence>
    38                     <xs:element ref="muws2:EnteredState"/>
    39                     <xs:element ref="muws2:PreviousState" minOccurs="0"/>
    40                     <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    41             </xs:sequence>
    42             <xs:attribute name="TransitionIdentifier" type="xs:anyURI" use="optional"/>
    43             <xs:attribute name="Time" type="xs:dateTime" use="required"/>
    44             <xs:anyAttribute namespace="##other"/>
    45     </xs:complexType>
    46     <xs:element name="StateTransition" type="muws2:StateTransitionType"/>
    47     <!-- Begin properties for the OperationalStatus capability -->
    48     <xs:element name="OperationalStatus">
    49             <xs:simpleType>
    50                     <xs:restriction base="xs:string">
    51                             <xs:enumeration value="Available"/>
    52                             <xs:enumeration value="PartiallyAvailable"/>
    53                             <xs:enumeration value="Unavailable"/>
    54                             <xs:enumeration value="Unknown"/>
    55                     </xs:restriction>
    56             </xs:simpleType>
    57     </xs:element>
    58     <!-- End   properties for the OperationalStatus capability -->
    59     <xs:attributeGroup name="MetricAttributes">
    60             <xs:attribute name="ResetAt" type="xs:dateTime"/>
    61             <xs:attribute name="LastUpdated" type="xs:dateTime"/>
    62             <xs:attribute name="Duration" type="xs:duration"/>
    63     </xs:attributeGroup>
    64     <!-- Begin properties for the Metrics capability -->
    65     <xs:element name="CurrentTime" type="xs:dateTime"/>
    66     <!-- End   properties for the Metrics capability -->
    67     <xs:complexType name="RelationshipTypeType">
    68             <xs:complexContent>
    69                     <xs:extension base="muws2:CategoryType"/>
    70             </xs:complexContent>
    71     </xs:complexType>
    72     <xs:element name="Self">
    73             <xs:complexType/>
    74     </xs:element>
    75     <xs:complexType name="RelationshipParticipantType">
    76             <xs:sequence>
    77                     <xs:element ref="muws2:Self" minOccurs="0"/>
    78                     <xs:element ref="muws1:ManageabilityEndpointReference" minOccurs="0" maxOccurs="unbounded"/>
    79                     <xs:element ref="wsa:EndpointReference" minOccurs="0" maxOccurs="unbounded"/>
    80                     <xs:element ref="muws1:ResourceId" minOccurs="0"/>
    81                     <xs:element name="Role" type="xs:anyURI"/>
    82                     <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    83             </xs:sequence>
    84             <xs:anyAttribute namespace="##other"/>
    85     </xs:complexType>
    86     <!-- Begin properties for the RelationshipResource capability -->
    87     <xs:element name="Name" type="xs:string"/>
    88     <xs:element name="Type" type="muws2:RelationshipTypeType"/>
    89     <xs:element name="Participant" type="muws2:RelationshipParticipantType"/>
    90     <!-- End   properties for the RelationshipResource capability -->
    91     <xs:complexType name="RelationshipType">
    92             <xs:sequence>
    93                     <xs:element ref="muws2:Name" minOccurs="0"/>
    94                     <xs:element ref="muws2:Type"/>
    95                     <xs:element ref="muws2:Participant" minOccurs="2" maxOccurs="unbounded"/>
    96                     <xs:element name="AccessEndpointReference" type="wsa:EndpointReferenceType" minOccurs="0"/>
    97                     <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    98             </xs:sequence>
    99             <xs:anyAttribute namespace="##other"/>
    100     </xs:complexType>
    101     <!-- Begin properties for the Relationship capability -->
    102     <xs:element name="Relationship" type="muws2:RelationshipType"/>
    103     <!-- End   properties for the Relationship capability -->
    104     <xs:element name="RelationshipCreatedNotification">
    105             <xs:complexType>
    106                     <xs:sequence>
    107                             <xs:element ref="muws2:Relationship"/>
    108                             <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    109                     </xs:sequence>
    110                     <xs:anyAttribute namespace="##other"/>
    111             </xs:complexType>
    112     </xs:element>
    113     <xs:element name="RelationshipDeletedNotification">
    114             <xs:complexType>
    115                     <xs:sequence>
    116                             <xs:element ref="muws2:Relationship"/>
    117                             <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    118                     </xs:sequence>
    119                     <xs:anyAttribute namespace="##other"/>
    120             </xs:complexType>
    121     </xs:element>
    122     <xs:element name="QueryRelationshipsByType">
    123             <xs:complexType>
    124                     <xs:sequence>
    125                             <xs:element name="RequestedType" type="xs:QName"/>
    126                     </xs:sequence>
    127             </xs:complexType>
    128     </xs:element>
    129     <xs:element name="QueryRelationshipsByTypeResponse">
    130             <xs:complexType>
    131                     <xs:sequence>
    132                             <xs:element ref="muws2:Relationship" minOccurs="0" maxOccurs="unbounded"/>
    133                     </xs:sequence>
    134             </xs:complexType>
    135     </xs:element>
    136     <xs:element name="CreationNotification">
    137             <xs:complexType>
    138                     <xs:sequence>
    139                             <xs:element ref="muws1:ManageabilityEndpointReference" minOccurs="0" maxOccurs="unbounded"/>
    140                     </xs:sequence>
    141                     <xs:anyAttribute namespace="##other"/>
    142             </xs:complexType>
    143     </xs:element>
    144     <xs:element name="DestructionNotification">
    145             <xs:complexType>
    146                     <xs:sequence>
    147                             <xs:element ref="muws1:ResourceId" minOccurs="0"/>
    148                     </xs:sequence>
    149                     <xs:anyAttribute namespace="##other"/>
    150             </xs:complexType>
    151     </xs:element>
    152     <xs:complexType name="SituationCategoryType">
    153             <xs:complexContent>
    154                     <xs:extension base="muws2:CategoryType">
    155                             <xs:sequence>
    156                                     <xs:element name="SituationName" minOccurs="0"/>
    157                             </xs:sequence>
    158                     </xs:extension>
    159             </xs:complexContent>
    160     </xs:complexType>
    161     <xs:element name="fred" type="xs:string"/>
    162     <xs:complexType name="SubstitutableMsgType">
    163             <xs:sequence>
    164                     <xs:element name="Value" type="xs:anySimpleType" minOccurs="0" maxOccurs="unbounded"/>
    165             </xs:sequence>
    166             <xs:attribute name="MsgId" type="xs:string" use="required"/>
    167             <xs:attribute name="MsgIdType" type="xs:anyURI" use="required"/>
    168     </xs:complexType>
    169     <xs:complexType name="SituationType">
    170             <xs:sequence>
    171                     <xs:element name="SituationCategory" type="muws2:SituationCategoryType"/>
    172                     <xs:element name="SuccessDisposition" minOccurs="0">
    173                             <xs:simpleType>
    174                                     <xs:restriction base="xs:string">
    175                                             <xs:enumeration value="Successful"/>
    176                                             <xs:enumeration value="Unsuccessful"/>
    177                                     </xs:restriction>
    178                             </xs:simpleType>
    179                     </xs:element>
    180                     <xs:element name="SituationTime" type="xs:dateTime"/>
    181                     <xs:element name="Priority" type="xs:short" minOccurs="0"/>
    182                     <xs:element name="Severity" type="xs:short" minOccurs="0"/>
    183                     <xs:element name="Message" type="muws2:LangString" minOccurs="0"/>
    184                     <xs:element name="SubstitutableMsg" type="muws2:SubstitutableMsgType" minOccurs="0"/>
    185             </xs:sequence>
    186     </xs:complexType>
    187     <xs:element name="Situation" type="muws2:SituationType"/>
    188     <xs:complexType name="EventCorrelationPropertiesType">
    189             <xs:sequence>
    190                     <xs:element name="repeatCount" minOccurs="0">
    191                             <xs:simpleType>
    192                                     <xs:restriction base="xs:short">
    193                                             <xs:minInclusive value="0"/>
    194                                     </xs:restriction>
    195                             </xs:simpleType>
    196                     </xs:element>
    197                     <xs:element name="elapsedTime" minOccurs="0">
    198                             <xs:simpleType>
    199                                     <xs:restriction base="xs:long">
    200                                             <xs:minInclusive value="0"/>
    201                                     </xs:restriction>
    202                             </xs:simpleType>
    203                     </xs:element>
    204             </xs:sequence>
    205             <xs:attribute name="sequenceNumber" type="xs:unsignedLong"/>
    206     </xs:complexType>
    207     <xs:element name="EventCorrelationProperties" type="muws2:EventCorrelationPropertiesType"/>
    208     <xs:complexType name="MsgCatalogInformationType">
    209             <xs:sequence>
    210                     <xs:element name="msgCatalog" type="xs:anyURI"/>
    211                     <xs:element name="msgCatalogType" type="xs:anyURI" minOccurs="0"/>
    212             </xs:sequence>
    213     </xs:complexType>
    214     <xs:element name="MsgCatalogInformation" type="muws2:MsgCatalogInformationType"/>
    215     <!-- #####   Metadata description elements   ##### -->
    216     <xs:element name="Capability" type="xs:anyURI"/>
    217     <xs:complexType name="DialectableExpressionType" mixed="true">
    218             <xs:sequence>
    219                     <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    220             </xs:sequence>
    221             <xs:attribute name="Dialect" type="xs:anyURI" use="required"/>
    222             <xs:anyAttribute namespace="##other"/>
    223     </xs:complexType>
    224     <xs:element name="ValidWhile" type="muws2:DialectableExpressionType"/>
    225     <xs:element name="Units" type="xs:string"/>
    226     <xs:element name="ChangeType">
    227             <xs:simpleType>
    228                     <xs:restriction base="xs:string">
    229                             <xs:enumeration value="Counter"/>
    230                             <xs:enumeration value="Gauge"/>
    231                             <xs:enumeration value="Unknown"/>
    232                     </xs:restriction>
    233             </xs:simpleType>
    234     </xs:element>
    235     <xs:element name="TimeScope">
    236             <xs:simpleType>
    237                     <xs:restriction base="xs:string">
    238                             <xs:enumeration value="Interval"/>
    239                             <xs:enumeration value="PointInTime"/>
    240                             <xs:enumeration value="SinceReset"/>
    241                     </xs:restriction>
    242             </xs:simpleType>
    243     </xs:element>
    244     <xs:element name="GatheringTime">
    245             <xs:simpleType>
    246                     <xs:restriction base="xs:string">
    247                             <xs:enumeration value="OnChange"/>
    248                             <xs:enumeration value="Periodic"/>
    249                             <xs:enumeration value="OnDemand"/>
    250                             <xs:enumeration value="Unknown"/>
    251                     </xs:restriction>
    252             </xs:simpleType>
    253     </xs:element>
    254     <xs:element name="CalculationInterval" type="xs:duration"/>
    255     <xs:element name="MetricGroup" type="xs:anyURI"/>
    256     <xs:element name="PostCondition" type="muws2:DialectableExpressionType"/>
    257     <!-- =========   StartSituation   ============  -->
    258     <xs:element name="StartSituation">
    259             <xs:complexType>
    260                     <xs:complexContent>
    261                             <xs:restriction base="muws2:SituationCategoryType"/>
    262                     </xs:complexContent>
    263             </xs:complexType>
    264     </xs:element>
    265     <xs:element name="StartInitiated">
    266             <xs:complexType>
    267                     <xs:complexContent>
    268                             <xs:restriction base="muws2:SituationCategoryType">
    269                                     <xs:sequence>
    270                                             <xs:element ref="muws2:StartSituation"/>
    271                                     </xs:sequence>
    272                             </xs:restriction>
    273                     </xs:complexContent>
    274             </xs:complexType>
    275     </xs:element>
    276     <xs:element name="RestartInitiated">
    277             <xs:complexType>
    278                     <xs:complexContent>
    279                             <xs:restriction base="muws2:SituationCategoryType">
    280                                     <xs:sequence>
    281                                             <xs:element ref="muws2:StartSituation"/>
    282                                     </xs:sequence>
    283                             </xs:restriction>
    284                     </xs:complexContent>
    285             </xs:complexType>
    286     </xs:element>
    287     <xs:element name="StartCompleted">
    288             <xs:complexType>
    289                     <xs:complexContent>
    290                             <xs:restriction base="muws2:SituationCategoryType">
    291                                     <xs:sequence>
    292                                             <xs:element ref="muws2:StartSituation"/>
    293                                     </xs:sequence>
    294                             </xs:restriction>
    295                     </xs:complexContent>
    296             </xs:complexType>
    297     </xs:element>
    298     <!-- =========   StopSituation   ============  -->
    299     <xs:element name="StopSituation">
    300             <xs:complexType>
    301                     <xs:complexContent>
    302                             <xs:restriction base="muws2:SituationCategoryType"/>
    303                     </xs:complexContent>
    304             </xs:complexType>
    305     </xs:element>
    306     <xs:element name="StopInitiated">
    307             <xs:complexType>
    308                     <xs:complexContent>
    309                             <xs:restriction base="muws2:SituationCategoryType">
    310                                     <xs:sequence>
    311                                             <xs:element ref="muws2:StopSituation"/>
    312                                     </xs:sequence>
    313                             </xs:restriction>
    314                     </xs:complexContent>
    315             </xs:complexType>
    316     </xs:element>
    317     <xs:element name="AbortInitiated">
    318             <xs:complexType>
    319                     <xs:complexContent>
    320                             <xs:restriction base="muws2:SituationCategoryType">
    321                                     <xs:sequence>
    322                                             <xs:element ref="muws2:StopSituation"/>
    323                                     </xs:sequence>
    324                             </xs:restriction>
    325                     </xs:complexContent>
    326             </xs:complexType>
    327     </xs:element>
    328     <xs:element name="PauseInitiated">
    329             <xs:complexType>
    330                     <xs:complexContent>
    331                             <xs:restriction base="muws2:SituationCategoryType">
    332                                     <xs:sequence>
    333                                             <xs:element ref="muws2:StopSituation"/>
    334                                     </xs:sequence>
    335                             </xs:restriction>
    336                     </xs:complexContent>
    337             </xs:complexType>
    338     </xs:element>
    339     <xs:element name="StopCompleted">
    340             <xs:complexType>
    341                     <xs:complexContent>
    342                             <xs:restriction base="muws2:SituationCategoryType">
    343                                     <xs:sequence>
    344                                             <xs:element ref="muws2:StopSituation"/>
    345                                     </xs:sequence>
    346                             </xs:restriction>
    347                     </xs:complexContent>
    348             </xs:complexType>
    349     </xs:element>
    350     <!-- =========   RequestSituation   ============  -->
    351     <xs:element name="RequestSituation">
    352             <xs:complexType>
    353                     <xs:complexContent>
    354                             <xs:restriction base="muws2:SituationCategoryType"/>
    355                     </xs:complexContent>
    356             </xs:complexType>
    357     </xs:element>
    358     <xs:element name="RequestInitiated">
    359             <xs:complexType>
    360                     <xs:complexContent>
    361                             <xs:restriction base="muws2:SituationCategoryType">
    362                                     <xs:sequence>
    363                                             <xs:element ref="muws2:RequestSituation"/>
    364                                     </xs:sequence>
    365                             </xs:restriction>
    366                     </xs:complexContent>
    367             </xs:complexType>
    368     </xs:element>
    369     <xs:element name="RequestCompleted">
    370             <xs:complexType>
    371                     <xs:complexContent>
    372                             <xs:restriction base="muws2:SituationCategoryType">
    373                                     <xs:sequence>
    374                                             <xs:element ref="muws2:RequestSituation"/>
    375                                     </xs:sequence>
    376                             </xs:restriction>
    377                     </xs:complexContent>
    378             </xs:complexType>
    379     </xs:element>
    380     <!-- =========   DestroySituation   ============  -->
    381     <xs:element name="DestroySituation">
    382             <xs:complexType>
    383                     <xs:complexContent>
    384                             <xs:restriction base="muws2:SituationCategoryType"/>
    385                     </xs:complexContent>
    386             </xs:complexType>
    387     </xs:element>
    388     <xs:element name="DestroyInitiated">
    389             <xs:complexType>
    390                     <xs:complexContent>
    391                             <xs:restriction base="muws2:SituationCategoryType">
    392                                     <xs:sequence>
    393                                             <xs:element ref="muws2:DestroySituation"/>
    394                                     </xs:sequence>
    395                             </xs:restriction>
    396                     </xs:complexContent>
    397             </xs:complexType>
    398     </xs:element>
    399     <xs:element name="DestroyCompleted">
    400             <xs:complexType>
    401                     <xs:complexContent>
    402                             <xs:restriction base="muws2:SituationCategoryType">
    403                                     <xs:sequence>
    404                                             <xs:element ref="muws2:DestroySituation"/>
    405                                     </xs:sequence>
    406                             </xs:restriction>
    407                     </xs:complexContent>
    408             </xs:complexType>
    409     </xs:element>
    410     <!-- =========   CreateSituation   ============  -->
    411     <xs:element name="CreateSituation">
    412             <xs:complexType>
    413                     <xs:complexContent>
    414                             <xs:restriction base="muws2:SituationCategoryType"/>
    415                     </xs:complexContent>
    416             </xs:complexType>
    417     </xs:element>
    418     <xs:element name="CreateInitiated">
    419             <xs:complexType>
    420                     <xs:complexContent>
    421                             <xs:restriction base="muws2:SituationCategoryType">
    422                                     <xs:sequence>
    423                                             <xs:element ref="muws2:CreateSituation"/>
    424                                     </xs:sequence>
    425                             </xs:restriction>
    426                     </xs:complexContent>
    427             </xs:complexType>
    428     </xs:element>
    429     <xs:element name="CreateCompleted">
    430             <xs:complexType>
    431                     <xs:complexContent>
    432                             <xs:restriction base="muws2:SituationCategoryType">
    433                                     <xs:sequence>
    434                                             <xs:element ref="muws2:CreateSituation"/>
    435                                     </xs:sequence>
    436                             </xs:restriction>
    437                     </xs:complexContent>
    438             </xs:complexType>
    439     </xs:element>
    440     <!-- =========   ConnectSituation   ============  -->
    441     <xs:element name="ConnectSituation">
    442             <xs:complexType>
    443                     <xs:complexContent>
    444                             <xs:restriction base="muws2:SituationCategoryType"/>
    445                     </xs:complexContent>
    446             </xs:complexType>
    447     </xs:element>
    448     <xs:element name="ConnectInitiated">
    449             <xs:complexType>
    450                     <xs:complexContent>
    451                             <xs:restriction base="muws2:SituationCategoryType">
    452                                     <xs:sequence>
    453                                             <xs:element ref="muws2:ConnectSituation"/>
    454                                     </xs:sequence>
    455                             </xs:restriction>
    456                     </xs:complexContent>
    457             </xs:complexType>
    458     </xs:element>
    459     <xs:element name="ReconnectInitiated">
    460             <xs:complexType>
    461                     <xs:complexContent>
    462                             <xs:restriction base="muws2:SituationCategoryType">
    463                                     <xs:sequence>
    464                                             <xs:element ref="muws2:ConnectSituation"/>
    465                                     </xs:sequence>
    466                             </xs:restriction>
    467                     </xs:complexContent>
    468             </xs:complexType>
    469     </xs:element>
    470     <xs:element name="ConnectCompleted">
    471             <xs:complexType>
    472                     <xs:complexContent>
    473                             <xs:restriction base="muws2:SituationCategoryType">
    474                                     <xs:sequence>
    475                                             <xs:element ref="muws2:ConnectSituation"/>
    476                                     </xs:sequence>
    477                             </xs:restriction>
    478                     </xs:complexContent>
    479             </xs:complexType>
    480     </xs:element>
    481     <!-- =========   ReportSituation   ============  -->
    482     <xs:element name="ReportSituation">
    483             <xs:complexType>
    484                     <xs:complexContent>
    485                             <xs:restriction base="muws2:SituationCategoryType"/>
    486                     </xs:complexContent>
    487             </xs:complexType>
    488     </xs:element>
    489     <xs:element name="PerformanceReport">
    490             <xs:complexType>
    491                     <xs:complexContent>
    492                             <xs:restriction base="muws2:SituationCategoryType">
    493                                     <xs:sequence>
    494                                             <xs:element ref="muws2:ReportSituation"/>
    495                                     </xs:sequence>
    496                             </xs:restriction>
    497                     </xs:complexContent>
    498             </xs:complexType>
    499     </xs:element>
    500     <xs:element name="SecurityReport">
    501             <xs:complexType>
    502                     <xs:complexContent>
    503                             <xs:restriction base="muws2:SituationCategoryType">
    504                                     <xs:sequence>
    505                                             <xs:element ref="muws2:ReportSituation"/>
    506                                     </xs:sequence>
    507                             </xs:restriction>
    508                     </xs:complexContent>
    509             </xs:complexType>
    510     </xs:element>
    511     <xs:element name="HeartbeatReport">
    512             <xs:complexType>
    513                     <xs:complexContent>
    514                             <xs:restriction base="muws2:SituationCategoryType">
    515                                     <xs:sequence>
    516                                             <xs:element ref="muws2:ReportSituation"/>
    517                                     </xs:sequence>
    518                             </xs:restriction>
    519                     </xs:complexContent>
    520             </xs:complexType>
    521     </xs:element>
    522     <xs:element name="StatusReport">
    523             <xs:complexType>
    524                     <xs:complexContent>
    525                             <xs:restriction base="muws2:SituationCategoryType">
    526                                     <xs:sequence>
    527                                             <xs:element ref="muws2:ReportSituation"/>
    528                                     </xs:sequence>
    529                             </xs:restriction>
    530                     </xs:complexContent>
    531             </xs:complexType>
    532     </xs:element>
    533     <xs:element name="TraceReport">
    534             <xs:complexType>
    535                     <xs:complexContent>
    536                             <xs:restriction base="muws2:SituationCategoryType"&g

  • Java Stored Procedure SAXParser XML Schema Validation

    Using Oracle XML Developers Kit 10.2.0.2.0 - Production.
    Attempting to validate using XML Schema in a Java stored procedure with the code:
                   if ( schemaDoc == null )
                        // Obtain default connection
                        Connection conn = new OracleDriver().defaultConnection();
                        OraclePreparedStatement stmt = (OraclePreparedStatement) conn.prepareStatement("SELECT XmlDocObj FROM XmlDoc WHERE XmlDocNbr = 2");
                        OracleResultSet rset = (OracleResultSet)stmt.executeQuery();
                        if ( rset.next() )
                             // get the XMLType
                             XMLType schemaXml = (XMLType)rset.getObject(1);
                             XSDBuilder builder = new XSDBuilder();
                             XMLSchema schemaDoc = (XMLSchema)builder.build(new InputSource(schemaXml.getInputStream()));
                   if ( inst == null )
                        inst = new ValidateCoreRequest();
                   ErrorHandlerImpl handler = inst.getNewErrorHandler();
    SAXParser saxParser = new SAXParser();
    saxParser.setXMLSchema(schemaDoc);
    saxParser.setValidationMode(XMLParser.SCHEMA_VALIDATION);
    saxParser.setErrorHandler(handler);
    saxParser.parse(new InputSource(new StringReader(docStr)));
    if( handler.validationError )
                        errorMsg[0] = handler.saxParseException.getMessage().substring(0, Math.min(199, handler.saxParseException.getMessage().length()));
    Never reports validation errors in the XML. Although the XDK Programmers Guide states "...you can use
    the oracle.xml.parser.schema.XSDBuilder class to build an XML schema and
    then configure the parser to use it by invoking the XMLParser.setXMLSchema()
    method. In this case, the XML parser automatically sets the validation mode to
    SCHEMA_STRICT_VALIDATION and ignores the schemaLocation and
    noNamespaceSchemaLocation attributes." No validation seems to occur. I have tried to set an xsi:noNamespaceSchemaLocation attribute on the root XML node, but this results in URL errors if the URL is not valid or schema build errors if the URL is valid, but does not point to a real location.
    It appears that without a schema location attribute, no schema validation occurs. Using setXMLSchema() with a database source does not seem to cause the schema location attributes to be ignored. At least for Java stored procedures.
    Does XML Schema validation work in the database for externally referenced schemas?
    Thank You,
    Art

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Jan Vissers ([email protected]):
    I have two schemas A and B. A contains a java stored procedure which calls a java stored procedure stored in B. Upon resolving the "A" Java Stored Procedures I get the following error:
    ORA-29545: badly formed class: at offset 3093 of Adapter.TFADPBeschikbaarheid.sendAanvraag expecting a class-oracle.xml.parser.v2.XMLDocument but encountered a class-oracle.xml.parser.v2.XMLDocument.
    ... Question:
    it is expecting something which it has in fact encountered... SO!!!! What is the error.
    Thx,
    Jan<HR></BLOCKQUOTE>
    Try this:
    Edit your XSU installation script located on lib directory of Oracle XSU's distribution:
    Find the line:
    loadjava -r -v -u $USER_PASSWORD xmlparserv2.jar
    Replace by:
    loadjava -r -v -g public -u $USER_PASSWORD xmlparserv2.jar
    And installs your Oracle XSU again.
    Best regards, Marcelo.

Maybe you are looking for