Setting up default toString() in xml schema

I have an xml schema and xml file that contains info for an app I created. Inside of the app, I load the objects into a combo box for the user to select an item. I want the actual objects in the combo box to access the data directly.
Because of the nature of the combo box, it uses toString() for the actual display. In this case I have to modify the impl code to add in a toString() function for this to work correctly, and not give me the name of the object.
Is there away to setup the xsd file to default one the attributes in the xml file to be returned with toString()?
Example:
  <xsd:element name="JFeatsList" type="JFeatsType"/>
  <xsd:complexType name="JFeatsType">
    <xsd:sequence>
      <xsd:element name="JFeatItem" minOccurs="0" maxOccurs="unbounded">
        <xsd:complexType>
            <xsd:attribute name="FeatName" type="xsd:string"/>
            <xsd:attribute name="FeatType" type="xsd:string"/>
            <xsd:attribute name="Notes" type="xsd:string"/>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
...I want the FeatName to be sent back with a toString() call.
Thanks,
Mike

I'm an XML newbie myself, so I've probably just finished reinventing some wheels, but in any case, I've written some code that makes reading XML pretty easy.
Here are some useful links:
http://java.sun.com/webservices/docs/1.0/tutorial/index.html
http://java.sun.com/webservices/download.html
http://java.sun.com/webservices/downloads/webservicespack.html
The latter contains C:\jwsdp-1_0_01\samples\jaxp\DOMEcho\DOMEcho.java, which creates a DOM from the XML file, and then traverses the DOM tree. For example, if I want to read the "Company motto" from my XML file:  <GUIconstants>
    <!-- Company motto
    -->
    <MOTTO value=""There's a sucker born every minute!""/>
    <!-- ComboBox mappings; can be any of DatabaseFieldDefinitions (and if you
         really, really, really don't want so many choices, you can completely
         remove the "combo_3" entry, for example).
      0 - ORIGIN_COLUMN       -> Origin airport    (ex. alternative: TIME_COLUMN)
      1 - DESTINATION_COLUMN  -> Destination airport (or: FLIGHT_NUMBER)
      2 - CARRIER_COLUMN      -> Carrier             (or: DAY_COLUMN)
      3 - FOSTERS_BEER_COLUMN -> pROGRAMMING pRODUCTIVITY aID
    -->
    <ComboBox_DatabaseField_Mappings
      combo_0="ORIGIN_COLUMN"
      combo_1="DESTINATION_COLUMN"
      combo_2="CARRIER_COLUMN"
      combo_3="DAY_COLUMN">
    </ComboBox_DatabaseField_Mappings>I have some code like:case Node.ELEMENT_NODE:
  category += "." + node.getNodeName();
  String temp = category;
  if (temp.startsWith(".FBNconfiguration")) {
    temp = temp.substring(".FBNconfiguration".length());
    // FBNconfiguration.GUIconstants
    else if (temp.startsWith(".GUIconstants")) {
      temp = temp.substring(".GUIconstants".length());
      // FBNconfiguration.GUIconstants.MOTTO
      if (temp.equals(".MOTTO"))
        Solitaires.MOTTO = new XMLconversion(node).get(Solitaires.MOTTO);
   * A class to package what's left over
  static class Solitaires {
    static String COMMAND_LINE_OPTIONS;
    static int PORT;
    static String WEEKDAYS;
    static int LOCK_DATABASE;
    static int LOCK_LEASE_DURATION;
    static String MOTTO;
    static int SCROLLPANE_JTABLE_WIDTH_DIFFERENCE;
    static boolean BUG_4736093_WORKAROUND;
  }XMLconversion is a pretty simple class:package suncertify.fbn.xml;
import org.w3c.dom.*;
* <p>Title: Fly by Night Travels</p>
* <p>Description: Sun Certified Java Developer application</p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: Fly by Night Consultants</p>
* @author Thomas Fly
* @version 1.0
* Convert a single ("Solitaire") XML entry
public class XMLconversion {
  String value;
  public XMLconversion(Node node) {
    NamedNodeMap atts = node.getAttributes();
    value = atts.item(0).getNodeValue();
  public XMLconversion(Node node, boolean concatenate) {
    NamedNodeMap atts = node.getAttributes();
    value = "";
    for (int i = 0; i < atts.getLength(); i++) {
      Node att = atts.item(i);
      value += atts.item(i).getNodeValue() + "\n";
  public String get(String dataType) {
    return value;
  public int get(int dataType) {
    return new Integer(value).intValue();
  public boolean get(boolean dataType) {
    return value.equalsIgnoreCase("true");
}Then in my FBNconstants class, I have stuff like:// GUIconstants
    MOTTO = Solitaires.MOTTO;
    COMBO_CONTENTS = comboBox_DatabaseField_Mappings.COMBO_CONTENTS;By extension, you can read into HashMap's & ArrayList's, and retrieve the translated objects as required.

Similar Messages

  • Use SubForm Set for a choice in XML Schema

    I have questions on subformset, the parameter to the 'setInstances' method and the use of 'intial' attribute of 'occur' element of XFA. <br /><br />In XML schema, sometimes there are exclusive choice. In my example, user has to choose between a customer number and postal-address (name, address, city, state...). I use a check box in the form, so either the customer number or postal address subform can be shown, but not both at the same time. I have no problem displaying them on the form. The problem is when I export the XML data from it. It does not work after user clicks on the check box once. If I use button instead of check box, user can press the button no more than twice. Then only the data of the first element in posta-address are exported.<br /><br />I use setInstances(1) and setInstance(0), but I could not find any documentation on the description of the parameter of setInstances.<br />Anyone can take a look at it and help?<br /><br />Thanks. <br /><br />Hongwei Li<br /><br />I would like to post the XDP file. But it is too long (1000 lines) to fit here. So I post javascript and the XML Schema.<br />==========================================================================<br /><event activity="change"><br />                     <script contentType="application/x-javascript">if(this.rawValue==true){<br /><br />_customerNumber.setInstances(1);<br />_correspondenceAddress.setInstances(0);<br />}<br />else{<br /><br />_customerNumber.setInstances(0);<br />_correspondenceAddress.setInstances(1);<br />}</script>   <br /><br />          <br /><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" id="XFASchemaXSD3"><br />   <xsd:element name="us-correspondence-address"><br />      <xsd:complexType><br />         <xsd:choice><br />            <xsd:sequence><br />               <xsd:element ref="name-1"/><br />               <xsd:element ref="name-2" minOccurs="0"/><br />               <xsd:element ref="us-postal-address"/><br />            </xsd:sequence><br />            <xsd:element ref="customer-number"/><br />         </xsd:choice><br />      </xsd:complexType><br />   </xsd:element><br />   <xsd:element name="name-1" type="xsd:string"/><br />   <xsd:element name="name-2" type="xsd:string"/><br />   <xsd:element name="us-postal-address"><br />      <xsd:complexType><br />         <xsd:sequence><br />            <xsd:element ref="address-1"/><br />            <xsd:element ref="address-2" minOccurs="0"/><br />            <xsd:element ref="city"/><br />            <xsd:element ref="state" minOccurs="0"/><br />            <xsd:element ref="postcode" minOccurs="0"/><br />            <xsd:element ref="country"/><br />            <xsd:element ref="email" minOccurs="0" maxOccurs="unbounded"/><br />            <xsd:element ref="phone" minOccurs="0" maxOccurs="unbounded"/><br />            <xsd:element ref="fax" minOccurs="0" maxOccurs="unbounded"/><br />         </xsd:sequence><br />      </xsd:complexType><br />   </xsd:element><br />   <xsd:element name="customer-number" type="xsd:string"/><br />   <xsd:element name="address-1" type="xsd:string"/><br />   <xsd:element name="address-2" type="xsd:string"/><br />   <xsd:element name="city" type="xsd:string"/><br />   <xsd:element name="state" type="xsd:string"/><br />   <xsd:element name="postcode" type="xsd:string"/><br />   <xsd:element name="country" type="xsd:string"/><br />   <xsd:element name="email" type="xsd:string"/><br />   <xsd:element name="phone" type="xsd:string"/><br />   <xsd:element name="fax" type="xsd:string"/><br /></xsd:schema>

    Jimmy,
    Sorry about the negligence. Thanks a lot!
    This time I can not even export the data of member number for once. Actually I tried different hierarchies (the default by designer is using subformset and useoneof, I have to make changes in XDP to mark both of the min attribute to '0' and one of the branch intitial attribute of occur element to '1'). I had no no luck.
    I think this is an Acrobat 7.0 bug. Or in another word, Acrobat 7.0 is not ready to handle XML schema when the content model is more complex. I will have to wait until we go documentation on setInstances() method. I guess the reason of the bug (if it is) is because when you do the setInstances(0), the branch of data DOM was set to NULLType and could not recover back when you click the checkbox to reactivate this portion again.
    Hongwei li

  • 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.

  • Help needed ... Default tables in XML Schema

    Hi all,
    I got a xsd definition here that does not do as I say ... g
    Though I specified default tables for Cisco_Card and Cisco_LogicalModule, not only the default tables with the names I specified are created but also additionally tables with the default name that is used if no name is specified.
    Actually I am trying to tell it defaultTable="" so no table at all is created. But there are always two tables: Cisco_Card1529_TAB and Cisco_LogicalModule1501_TAB.
    Can someone explain to me what I am doing wrong here?
    Thanks,
    Steff
    <xs:schema xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xdb:storeVarrayAsTable="true">
         <xs:element name="InvDetails" xdb:defaultTable="XML_CISCOWORKS" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element ref="SchemaInfo" minOccurs="0"/>
                        <xs:element ref="RMEPlatform" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="SchemaInfo" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="RMEServer" type="xs:string" minOccurs="0"/>
                        <xs:element name="CreatedAt" type="xs:string" minOccurs="0"/>
                        <xs:element name="SchemaVersion" type="xs:string" minOccurs="0"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="RMEPlatform" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element ref="Cisco_Chassis" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_NetworkElement" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_ComputerSystemPackage" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_Chassis" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="InstanceID" type="xs:string"/>
                        <xs:element name="Model" type="xs:string" minOccurs="0"/>
                        <xs:element name="HardwareVersion" type="xs:string" minOccurs="0"/>
                        <xs:element name="SerialNumber" type="xs:string" minOccurs="0"/>
                        <xs:element name="ChassisSystemType" type="xs:string" minOccurs="0"/>
                        <xs:element name="NumberOfSlots" type="xs:integer" minOccurs="0"/>
                        <xs:element name="NoOfCommunicationConnectors" type="xs:integer" minOccurs="0"/>
                        <xs:element ref="Cisco_Backplane" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_Card" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="AdditionalInformation" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_Backplane" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="BackplaneType" type="xs:string" minOccurs="0"/>
                        <xs:element name="Model" type="xs:string" minOccurs="0"/>
                        <xs:element name="SerialNumber" type="xs:string" minOccurs="0"/>
                        <xs:element ref="AdditionalInformation" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_Card" xdb:defaultTable="lala" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="InstanceID" type="xs:integer"/>
                        <xs:element name="RequiresDaughterBoard" type="xs:boolean" minOccurs="0"/>
                        <xs:element name="Model" type="xs:string" minOccurs="0"/>
                        <xs:element name="SerialNumber" type="xs:string" minOccurs="0"/>
                        <xs:element name="LocationWithinContainer" type="xs:string" minOccurs="0"/>
                        <xs:element name="PartNumber" type="xs:string" minOccurs="0"/>
                        <xs:element name="CardType" type="xs:string" minOccurs="0"/>
                        <xs:element name="HardwareVersion" type="xs:string" minOccurs="0"/>
                        <xs:element name="Description" type="xs:string" minOccurs="0"/>
                        <xs:element name="OperationalStatus" type="xs:string" minOccurs="0"/>
                        <xs:element name="FWManufacturer" type="xs:string" minOccurs="0"/>
                        <xs:element name="Manufacturer" type="xs:string" minOccurs="0"/>
                        <xs:element name="NumberOfSlots" type="xs:integer" minOccurs="0"/>
                        <xs:element name="NoOfCommunicationConnectors" type="xs:integer" minOccurs="0"/>
                        <xs:element ref="SoftwareIdentity" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_CommunicationConnector" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_FlashDevice" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_PhysicalMemory" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_Card" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="AdditionalInformation" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_CommunicationConnector" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="InstanceID" type="xs:integer"/>
                        <xs:element name="ConnectorType" type="xs:string" minOccurs="0"/>
                        <xs:element name="Description" type="xs:string" minOccurs="0"/>
                        <xs:element ref="AdditionalInformation" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_FlashDevice" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="InstanceID" type="xs:integer"/>
                        <xs:element name="InstanceName" type="xs:string" minOccurs="0"/>
                        <xs:element name="FlashDeviceType" type="xs:string" minOccurs="0"/>
                        <xs:element name="Size" type="xs:string" minOccurs="0"/>
                        <xs:element name="NumberOfPartitions" type="xs:integer" minOccurs="0"/>
                        <xs:element name="ChipCount" type="xs:integer" minOccurs="0"/>
                        <xs:element name="Description" type="xs:string" minOccurs="0"/>
                        <xs:element name="Removable" type="xs:boolean" minOccurs="0"/>
                        <xs:element ref="Cisco_FlashPartition" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="AdditionalInformation" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_FlashPartition" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="InstanceID" type="xs:integer"/>
                        <xs:element name="InstanceName" type="xs:string" minOccurs="0"/>
                        <xs:element name="Upgrade" type="xs:string" minOccurs="0"/>
                        <xs:element name="NeedsErasure" type="xs:boolean" minOccurs="0"/>
                        <xs:element name="PartitionStatus" minOccurs="0">
                             <xs:simpleType>
                                  <xs:restriction base="xs:string">
                                       <xs:enumeration value="unknown"/>
                                       <xs:enumeration value="readOnly"/>
                                       <xs:enumeration value="runFromFlash"/>
                                       <xs:enumeration value="readWrite"/>
                                  </xs:restriction>
                             </xs:simpleType>
                        </xs:element>
                        <xs:element name="FileSystemSize" type="xs:string" minOccurs="0"/>
                        <xs:element name="AvailableSpace" type="xs:string" minOccurs="0"/>
                        <xs:element name="FileCount" type="xs:integer" minOccurs="0"/>
                        <xs:element ref="Cisco_FlashFile" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="AdditionalInformation" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_FlashFile" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="InstanceID" type="xs:integer"/>
                        <xs:element name="FileSize" type="xs:string" minOccurs="0"/>
                        <xs:element name="FileStatus" minOccurs="0">
                             <xs:simpleType>
                                  <xs:restriction base="xs:string">
                                       <xs:enumeration value="unknown"/>
                                       <xs:enumeration value="deleted"/>
                                       <xs:enumeration value="invalidChecksum"/>
                                       <xs:enumeration value="valid"/>
                                  </xs:restriction>
                             </xs:simpleType>
                        </xs:element>
                        <xs:element name="Checksum" type="xs:string" minOccurs="0"/>
                        <xs:element name="InstanceName" type="xs:string" minOccurs="0"/>
                        <xs:element ref="AdditionalInformation" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_PhysicalMemory" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="MemoryType" minOccurs="0">
                             <xs:simpleType>
                                  <xs:restriction base="xs:string">
                                       <xs:enumeration value="nvRam"/>
                                       <xs:enumeration value="NVRAM"/>
                                       <xs:enumeration value="processorRam"/>
                                       <xs:enumeration value="RAM"/>
                                       <xs:enumeration value="ROM"/>
                                       <xs:enumeration value="FEPROM"/>
                                       <xs:enumeration value="BRAM"/>
                                  </xs:restriction>
                             </xs:simpleType>
                        </xs:element>
                        <xs:element name="Capacity" type="xs:string" minOccurs="0"/>
                        <xs:element ref="AdditionalInformation" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_NetworkElement" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="InstanceID" type="xs:integer"/>
                        <xs:element name="Description" type="xs:string" minOccurs="0"/>
                        <xs:element name="PrimaryOwnerName" type="xs:string" minOccurs="0"/>
                        <xs:element name="InstanceName" type="xs:string" minOccurs="0"/>
                        <xs:element name="PhysicalPosition" type="xs:string" minOccurs="0"/>
                        <xs:element name="SysObjectId" type="xs:string" minOccurs="0"/>
                        <xs:element name="SysUpTime" type="xs:string" minOccurs="0"/>
                        <xs:element name="OfficialHostName" type="xs:string" minOccurs="0"/>
                        <xs:element name="NumberOfPorts" type="xs:integer" minOccurs="0"/>
                        <xs:element ref="Cisco_LogicalModule" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_Port" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_MemoryPool" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_IfEntry" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_IPProtocolEndpoint" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_PEHasIfEntry" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="AdditionalInformation" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_LogicalModule" xdb:defaultTable="lolo" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="InstanceID" type="xs:integer"/>
                        <xs:element name="ModuleNumber" type="xs:integer" minOccurs="0"/>
                        <xs:element name="ModuleType" type="xs:string" minOccurs="0"/>
                        <xs:element name="InstanceName" type="xs:string" minOccurs="0"/>
                        <xs:element name="EnabledStatus" type="xs:string" minOccurs="0"/>
                        <xs:element name="NumberOfPorts" type="xs:integer" minOccurs="0"/>
                        <xs:element ref="Cisco_Port" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_LogicalModule" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_OSElement" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="AdditionalInformation" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_Port" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="PortNumber" type="xs:integer" minOccurs="0"/>
                        <xs:element name="PortType" type="xs:string" minOccurs="0"/>
                        <xs:element name="InstanceName" type="xs:string" minOccurs="0"/>
                        <xs:element name="IfInstanceID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="AdditionalInformation" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_MemoryPool" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="InstanceName" type="xs:string" minOccurs="0"/>
                        <xs:element name="PoolType" type="xs:integer" minOccurs="0"/>
                        <xs:element name="DynamicPoolType" type="xs:string" minOccurs="0"/>
                        <xs:element name="AlternatePoolType" type="xs:string" minOccurs="0"/>
                        <xs:element name="IsValid" type="xs:boolean" minOccurs="0"/>
                        <xs:element name="Allocated" type="xs:string" minOccurs="0"/>
                        <xs:element name="Free" type="xs:string" minOccurs="0"/>
                        <xs:element name="LargestFree" type="xs:string" minOccurs="0"/>
                        <xs:element ref="AdditionalInformation" minOccurs="0" maxOccurs="unbounded"/>
                        <!--PoolType ValueMap {"0", "1", "2", "3", "4", "5", "65536"},
    Values {"Unknown", "Processor", "I/O", "PCI", "Fast", "Multibus", "Dynamic"},
    -->
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_OSElement" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="InstanceName" type="xs:string" minOccurs="0"/>
                        <xs:element name="OSFamily" type="xs:string" minOccurs="0"/>
                        <xs:element name="Version" type="xs:string" minOccurs="0"/>
                        <xs:element name="Description" type="xs:string" minOccurs="0"/>
                        <xs:element ref="AdditionalInformation" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_IfEntry" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="InstanceID" type="xs:string"/>
                        <xs:element name="InstanceName" type="xs:string" minOccurs="0"/>
                        <xs:element name="ProtocolType" type="xs:string" minOccurs="0"/>
                        <xs:element name="Speed" type="xs:string" minOccurs="0"/>
                        <xs:element name="RequestedStatus" minOccurs="0">
                             <xs:simpleType>
                                  <xs:restriction base="xs:string">
                                       <xs:enumeration value="up"/>
                                       <xs:enumeration value="down"/>
                                       <xs:enumeration value="testing"/>
                                  </xs:restriction>
                             </xs:simpleType>
                        </xs:element>
                        <xs:element name="OperationalStatus" minOccurs="0">
                             <xs:simpleType>
                                  <xs:restriction base="xs:string">
                                       <xs:enumeration value="Up"/>
                                       <xs:enumeration value="Down"/>
                                       <xs:enumeration value="Testing"/>
                                       <xs:enumeration value="Unknown"/>
                                       <xs:enumeration value="Dormant"/>
                                  </xs:restriction>
                             </xs:simpleType>
                        </xs:element>
                        <xs:element name="Description" type="xs:string" minOccurs="0"/>
                        <xs:element name="PhysicalAddress" type="xs:string" minOccurs="0"/>
                        <xs:element name="NetworkAddress" type="xs:string" minOccurs="0"/>
                        <xs:element ref="AdditionalInformation" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_IPProtocolEndpoint" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="Address" type="xs:string" minOccurs="0"/>
                        <xs:element name="SubnetMask" type="xs:string" minOccurs="0"/>
                        <xs:element name="DefaultGateway" type="xs:string" minOccurs="0"/>
                        <xs:element ref="AdditionalInformation" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_PEHasIfEntry" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="Cisco_IPProtocolEndpoint" type="xs:string" minOccurs="0"/>
                        <xs:element name="Cisco_IfEntry" type="xs:string" minOccurs="0"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="Cisco_ComputerSystemPackage" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="Antecedent" type="xs:string" minOccurs="0"/>
                        <xs:element name="Dependent" type="xs:string" minOccurs="0"/>
                        <!--
    Antecedent is the InstanceID from Cisco_Chassis Element
    Dependent is the InstanceID from Cisco_NetworkElement
    -->
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="SoftwareIdentity" xdb:defaultTable="" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="Classification" minOccurs="0">
                             <xs:simpleType>
                                  <xs:restriction base="xs:string">
                                       <xs:enumeration value="Firmware"/>
                                       <xs:enumeration value="Software"/>
                                  </xs:restriction>
                             </xs:simpleType>
                        </xs:element>
                        <xs:element name="VersionString" type="xs:string" minOccurs="0"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="AdditionalInformation" xdb:defaultTable="" xdb:maintainDOM="true">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="AD" minOccurs="0" maxOccurs="unbounded" xdb:maintainDOM="false">
                             <xs:complexType>
                                  <xs:attribute name="name" type="xs:string"/>
                                  <xs:attribute name="value" type="xs:string"/>
                             </xs:complexType>
                        </xs:element>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
    </xs:schema>

    Here's the Culprit
    <xs:element name="Cisco_Card" xdb:defaultTable="lala" xdb:maintainDOM="false">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="InstanceID" type="xs:integer"/>
                        <xs:element name="RequiresDaughterBoard" type="xs:boolean" minOccurs="0"/>
                        <xs:element name="Model" type="xs:string" minOccurs="0"/>
                        <xs:element name="SerialNumber" type="xs:string" minOccurs="0"/>
                        <xs:element name="LocationWithinContainer" type="xs:string" minOccurs="0"/>
                        <xs:element name="PartNumber" type="xs:string" minOccurs="0"/>
                        <xs:element name="CardType" type="xs:string" minOccurs="0"/>
                        <xs:element name="HardwareVersion" type="xs:string" minOccurs="0"/>
                        <xs:element name="Description" type="xs:string" minOccurs="0"/>
                        <xs:element name="OperationalStatus" type="xs:string" minOccurs="0"/>
                        <xs:element name="FWManufacturer" type="xs:string" minOccurs="0"/>
                        <xs:element name="Manufacturer" type="xs:string" minOccurs="0"/>
                        <xs:element name="NumberOfSlots" type="xs:integer" minOccurs="0"/>
                        <xs:element name="NoOfCommunicationConnectors" type="xs:integer" minOccurs="0"/>
                        <xs:element ref="SoftwareIdentity" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_CommunicationConnector" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_FlashDevice" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_PhysicalMemory" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="Cisco_Card" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="AdditionalInformation" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>Note that the element Cisco_Card contains a ref to itself. The same is true of the element Cisco_LogicalModule.
    When we encounter recursive structures we break the recursion by storing the recursive elements out-out-line is a seperate table and using a pointer (REF XMLType) column to track the relationionship..
    You can name these elements by putting an xdb:SQLInline="false" and xdb:defaultTable="YOUR_TABLE_NAME" on the recursive element.
    If you need to query accross these elements I would strongly advise upgrading to 10.2.x. In 10.2.x we implemented a number of optimizations for dealing with storing and querying this kind of structure.

  • How to set the default Excel cell format when opening XML to XLS using an existing stylesheet​?

    Hi,
    I have an XML file, which I'm opening with the Excel application. The stylesheet I use is horizontal.xsl.
    The problem arised when the XML has data in the format "1/4" or "1/16", which is translated in the Excel as date (like "01/04/2007").
    I think I have to set the default cell type to "Text" instead of "General". Does anyone know how it can be done?

    Is this the same question as idoZo, if so jigg has already answered it. If not then you should post your own query not hijack someone elses giving a clear and concise question, "how to set it??" doesn't help you or other in the forum to provide you with a solution.
    Is this relevant to TestStand? If it is then help by providing which version you are using and what software you are using with it. If not then post your question in the correct board.
    Regards
    Ray Farmer

  • Help how to create full set of nested table with given xml schema?

    Hi everyone, I am new to oracle and programming language. Recently I was asked to create nested table with given a complex xml schema. I knew that after the registration of xsd file, oracle will generate few tables( including nested table) and types for the users. But it seems to be not complete set of tables. Can anyone please help me with the problem. Really thanks a lot on the help given. I would like to give extra explanation if what I have given above is not clear enough. Thanks

    How about posting the XML Schema, the code you used to register it, the database version you are using and the list of nested tables that were generated...

  • When I register XML schema, if I set the GENTYPES=FALES.

    hi all,
    when I regist XML schema, if I set the GENTYPES=FALES. I also set xdb:storeVarrayAsTable="fales"
    do I still need to put annotation xdb:SQLType = "XXXXXX" in the .xsd file?
    when do I should set GENTYPES=FALES, when should set GENTYPES=FALES = TRUE.
    Thanks.
    Cow.

    I think you hit the wrong forum: it's about Berkeley DB XML, not Oracle DB
    Vyacheslav

  • XMLType column based on XML Schema: several questions

    Hi,
    I've a table on an oracle db version 10.1.0.4 where I stage the xml files containing orders created on a third party's system using BizTalk.
    Although the storage I opted for is based on an XML Schema, defined by this third-party, I am facing big perfomance issues with files bigger than a few hundreds of kBs.
    For instance, a 32Mb file takes more than 2 hours to be processed.
    Now, after reading other threads in this forum and the documentation, my understanding of the problem is that the whole issue is with the correct indexing of the nested tables.
    Here is my current XML Schema definition:
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema
                   xmlns:xs="http://www.w3.org/2001/XMLSchema"
                   xmlns:xdb="http://xmlns.oracle.com/xdb"
                   elementFormDefault="qualified"
                   attributeFormDefault="unqualified"
                   xdb:storeVarrayAsTable="true">
         <xs:include schemaLocation="private/Types.xsd"/>
         <xs:element name="PickData">
              <xs:complexType xdb:maintainDOM="false">
                   <xs:sequence>
                        <xs:element name="ProdRun">
                             <xs:complexType xdb:maintainDOM="false">
                                  <xs:sequence>
                                       <xs:element name="Nr" type="xs:int"/>
                                       <xs:element name="Date" type="string8"/>
                                       <xs:element name="Final" type="xs:int"/>
                                       <xs:element name="PickWave" maxOccurs="unbounded">
                                            <xs:complexType xdb:maintainDOM="false">
                                                 <xs:sequence>
                                                      <xs:element name="Nr" type="string10"/>
                                                      <xs:element name="ProdLine" type="string2"/>
                                                      <xs:element name="TourSeq" type="xs:int"/>
                                                      <xs:element name="Tour" type="string20"/>
                                                      <xs:element name="Customer" maxOccurs="unbounded">
                                                           <xs:complexType xdb:maintainDOM="false">
                                                                <xs:sequence>
                                                                     <xs:element name="Seq" type="string20"/>
                                                                     <xs:element name="Cust" type="string10"/>
                                                                     <xs:element name="Mod" type="string30"/>
                                                                     <xs:element name="Tod" type="string30"/>
                                                                     <xs:element name="InvOrder" maxOccurs="unbounded">
                                                                          <xs:complexType xdb:maintainDOM="false">
                                                                               <xs:sequence>
                                                                                    <xs:element name="Nr" type="string20"/>
                                                                                    <xs:element name="Item" type="string20"/>
                                                                                    <xs:element name="Qty" type="xs:int"/>
                                                                                    <xs:element name="Priority" type="xs:int"/>
                                                                                    <xs:element name="Reordering" type="xs:int"/>
                                                                                    <xs:element name="DelDate" type="string8"/>
                                                                                    <xs:element name="HlOrder" type="string20"/>
                                                                               </xs:sequence>
                                                                          </xs:complexType>
                                                                          <xs:unique name="InvOrderKey">
                                                                               <xs:selector xpath="InvOrder"/>
                                                                               <xs:field xpath="Nr"/>
                                                                          </xs:unique>
                                                                     </xs:element>
                                                                </xs:sequence>
                                                           </xs:complexType>
                                                           <xs:unique name="CustomerKey">
                                                                <xs:selector xpath="Customer"/>
                                                                <xs:field xpath="Seq"/>
                                                           </xs:unique>
                                                      </xs:element>
                                                 </xs:sequence>
                                            </xs:complexType>
                                            <xs:unique name="PickWaveKey">
                                                 <xs:selector xpath="PickWave"/>
                                                 <xs:field xpath="Nr"/>
                                            </xs:unique>
                                       </xs:element>
                                  </xs:sequence>
                             </xs:complexType>
                             <xs:unique name="ProdRunKey">
                                  <xs:selector xpath="ProdRun"/>
                                  <xs:field xpath="Nr"/>
                             </xs:unique>
                        </xs:element>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
    </xs:schema>
    Here is the included sub-schema:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
              <xsd:simpleType name="string2">
    <xsd:restriction base="xsd:string">
    <xsd:maxLength value="2"/>
    </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="string5">
    <xsd:restriction base="xsd:string">
    <xsd:maxLength value="5"/>
    </xsd:restriction>
    </xsd:simpleType>
              <xsd:simpleType name="string6">
    <xsd:restriction base="xsd:string">
    <xsd:maxLength value="6"/>
    </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="string8">
    <xsd:restriction base="xsd:string">
    <xsd:maxLength value="8"/>
    </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="string10">
    <xsd:restriction base="xsd:string">
    <xsd:maxLength value="10"/>
    </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="string15">
    <xsd:restriction base="xsd:string">
    <xsd:maxLength value="15"/>
    </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="string20">
    <xsd:restriction base="xsd:string">
    <xsd:maxLength value="20"/>
    </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="string30">
    <xsd:restriction base="xsd:string">
    <xsd:maxLength value="30"/>
    </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="string40">
    <xsd:restriction base="xsd:string">
    <xsd:maxLength value="40"/>
    </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="string50">
    <xsd:restriction base="xsd:string">
    <xsd:maxLength value="50"/>
    </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="string250">
                   <xsd:restriction base="xsd:string">
                        <xsd:maxLength value="250"/>
                   </xsd:restriction>
              </xsd:simpleType>
         </xsd:schema>
    The statement for creating my table is
    CREATE TABLE "XML_ORDERS"
    ("ID" NUMBER(7,0) NOT NULL ENABLE,
    "XMLFILE" "SYS"."XMLTYPE" ,
    "INSERTED" DATE DEFAULT sysdate,
    CONSTRAINT "XML_ORDERS_PK" PRIMARY KEY ("ID") USING INDEX ENABLE
    ) XMLTYPE COLUMN XMLFILE STORE AS OBJECT RELATIONAL
    XMLSCHEMA "private/PickData.xsd" ELEMENT "PickData"
    Here is a simple instance document:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <PickData xsi:noNamespaceSchemaLocation="private/PickData.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <ProdRun>
    <Nr>5</Nr>
    <Date>15112005</Date>
    <Final>1</Final>
    <PickWave>
    <Nr>IPW0000017</Nr>
    <ProdLine>01</ProdLine>
    <TourSeq>1</TourSeq>
    <Tour>00000043_078</Tour>
    <Customer>
    <Seq>5</Seq>
    <Cust>100000006</Cust>
    <Mod>FO</Mod>
    <Tod>DDU</Tod>
    <InvOrder>
    <Nr>IIO0000457</Nr>
    <Item>100000036</Item>
    <Qty>20</Qty>
    <Priority>1</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000742</HlOrder>
    </InvOrder>
    <InvOrder>
    <Nr>IIO0000459</Nr>
    <Item>100000045</Item>
    <Qty>20</Qty>
    <Priority>1</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000742</HlOrder>
    </InvOrder>
    </Customer>
    <Customer>
    <Seq>6</Seq>
    <Cust>100000013</Cust>
    <Mod>FO</Mod>
    <Tod>DDU</Tod>
    <InvOrder>
    <Nr>IIO0000461</Nr>
    <Item>100000036</Item>
    <Qty>20</Qty>
    <Priority>1</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000743</HlOrder>
    </InvOrder>
    <InvOrder>
    <Nr>IIO0000463</Nr>
    <Item>100000045</Item>
    <Qty>20</Qty>
    <Priority>1</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000743</HlOrder>
    </InvOrder>
    </Customer>
    <Customer>
    <Seq>2</Seq>
    <Cust>100000114</Cust>
    <Mod>FO</Mod>
    <Tod>DDU</Tod>
    <InvOrder>
    <Nr>IIO0000465</Nr>
    <Item>100000036</Item>
    <Qty>20</Qty>
    <Priority>1</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000744</HlOrder>
    </InvOrder>
    <InvOrder>
    <Nr>IIO0000467</Nr>
    <Item>100000045</Item>
    <Qty>20</Qty>
    <Priority>1</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000744</HlOrder>
    </InvOrder>
    </Customer>
    <Customer>
    <Seq>3</Seq>
    <Cust>100000140</Cust>
    <Mod>FO</Mod>
    <Tod>DDU</Tod>
    <InvOrder>
    <Nr>IIO0000469</Nr>
    <Item>100000036</Item>
    <Qty>20</Qty>
    <Priority>1</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000745</HlOrder>
    </InvOrder>
    <InvOrder>
    <Nr>IIO0000471</Nr>
    <Item>100000045</Item>
    <Qty>20</Qty>
    <Priority>1</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000745</HlOrder>
    </InvOrder>
    </Customer>
    <Customer>
    <Seq>7</Seq>
    <Cust>100000143</Cust>
    <Mod>FO</Mod>
    <Tod>DDU</Tod>
    <InvOrder>
    <Nr>IIO0000473</Nr>
    <Item>100000036</Item>
    <Qty>20</Qty>
    <Priority>1</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000746</HlOrder>
    </InvOrder>
    <InvOrder>
    <Nr>IIO0000475</Nr>
    <Item>100000045</Item>
    <Qty>20</Qty>
    <Priority>1</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000746</HlOrder>
    </InvOrder>
    </Customer>
    <Customer>
    <Seq>8</Seq>
    <Cust>100000145</Cust>
    <Mod>FO</Mod>
    <Tod>DDU</Tod>
    <InvOrder>
    <Nr>IIO0000477</Nr>
    <Item>100000036</Item>
    <Qty>20</Qty>
    <Priority>1</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000747</HlOrder>
    </InvOrder>
    <InvOrder>
    <Nr>IIO0000479</Nr>
    <Item>100000045</Item>
    <Qty>20</Qty>
    <Priority>1</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000747</HlOrder>
    </InvOrder>
    </Customer>
    <Customer>
    <Seq>9</Seq>
    <Cust>100000146</Cust>
    <Mod>FO</Mod>
    <Tod>DDU</Tod>
    <InvOrder>
    <Nr>IIO0000481</Nr>
    <Item>100000036</Item>
    <Qty>20</Qty>
    <Priority>0</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000748</HlOrder>
    </InvOrder>
    <InvOrder>
    <Nr>IIO0000483</Nr>
    <Item>100000045</Item>
    <Qty>20</Qty>
    <Priority>1</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000748</HlOrder>
    </InvOrder>
    </Customer>
    <Customer>
    <Seq>4</Seq>
    <Cust>100000147</Cust>
    <Mod>FO</Mod>
    <Tod>DDU</Tod>
    <InvOrder>
    <Nr>IIO0000485</Nr>
    <Item>100000036</Item>
    <Qty>20</Qty>
    <Priority>0</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000750</HlOrder>
    </InvOrder>
    <InvOrder>
    <Nr>IIO0000487</Nr>
    <Item>100000045</Item>
    <Qty>20</Qty>
    <Priority>1</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000750</HlOrder>
    </InvOrder>
    </Customer>
    <Customer>
    <Seq>10</Seq>
    <Cust>100000148</Cust>
    <Mod>FO</Mod>
    <Tod>DDU</Tod>
    <InvOrder>
    <Nr>IIO0000489</Nr>
    <Item>100000036</Item>
    <Qty>20</Qty>
    <Priority>0</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000751</HlOrder>
    </InvOrder>
    <InvOrder>
    <Nr>IIO0000491</Nr>
    <Item>100000045</Item>
    <Qty>20</Qty>
    <Priority>1</Priority>
    <Reordering>0</Reordering>
    <DelDate>15112005</DelDate>
    <HlOrder>CSO000751</HlOrder>
    </InvOrder>
    </Customer>
    </PickWave>
    </ProdRun>
    </PickData>
    When I registered the XMLSchema, the following types and tables were automatically created and you can see the hierarchy below:
    (by the way, I could not find any xdb_utilities.printNestedTables mentioned elsewhere)
    XML_ORDERS
    |_PickData381_T
    |___ProdRun382_T
    |_____PickWave388_COLL
    |_______PickWave383_T
    |_________Customer387_COLL
    |___________Customer384_T
    |_____________InvOrder386_COLL
    These objects are then used in the following nested tables:
    TABLE_NAME     TABLE_TYPE_NAME     PARENT_TABLE_NAME     PARENT_TABLE_COLUMN
    SYS_NTaK/5zar5S0WitSsgu6OKPQ==     PickWave388_COLL     PickData389_TAB     "XMLDATA"."ProdRun"."PickWave"
    SYS_NTf6QvwVm8SFKz+K/YYWq+WQ==     Item408_COLL     ProdData409_TAB     "XMLDATA"."Item"
    SYS_NTtu05ilrRQqmuEN4k+07VDA==     Customer402_COLL     OutboundParty403_TAB     "XMLDATA"."Customer"
    SYS_NTK6fhWq5uTJ+vKcgBpNm1Fg==     InvOrder386_COLL     SYS_NTIIzv7bkXQSSS43igtfi5eg==     InvOrder
    SYS_NTIIzv7bkXQSSS43igtfi5eg==     Customer387_COLL     SYS_NTaK/5zar5S0WitSsgu6OKPQ==     Customer
    I enabled sql tracing and I got the following TKPROF output
    INSERT INTO IMP_ORDERS (PICK_INVORDERNR, PICK_ITEM, PICK_QTY, PICK_PRIORITY,
    PICK_REORDERING, PICK_HLORDER, PICK_DELDATE, PICK_CUST, PICK_MOD, PICK_TOD,
    PICK_SEQ, PICK_PICKWAVENR, PICK_PICKWAVEPRODLINE, PICK_PICKWAVETOUR,
    PICK_PICKWAVETOURSEQ, PICK_ORDKEY, PICK_RUNKEY) SELECT INVORDERNR, ITEM,
    QTY, PRIORITY, REORDERING, HLORDER, DELDATE, CUST, MOD, TOD, SEQ,
    PICKWAVENR, PICKWAVEPRODLINE, PICKWAVETOUR, PICKWAVETOURSEQ, ROWNUM AS
    PICK_ORDKEY, PRODRUNID FROM (SELECT /*+ cardinality(g 15)*/
    EXTRACTVALUE(VALUE(G), '/InvOrder/Nr') AS INVORDERNR, EXTRACTVALUE(VALUE(G),
    '/InvOrder/Item') AS ITEM, EXTRACTVALUE(VALUE(G), '/InvOrder/Qty') AS QTY,
    EXTRACTVALUE(VALUE(G), '/InvOrder/Priority') AS PRIORITY,
    EXTRACTVALUE(VALUE(G), '/InvOrder/Reordering') AS REORDERING,
    EXTRACTVALUE(VALUE(G), '/InvOrder/HlOrder') AS HLORDER,
    TO_DATE(EXTRACTVALUE(VALUE(G), '/InvOrder/DelDate'),'DDMMYYYY') AS DELDATE,
    F.CUST, F.MOD, F.TOD, F.SEQ, F.PICKWAVENR, F.PICKWAVEPRODLINE,
    F.PICKWAVETOUR, F.PICKWAVETOURSEQ, F.PRODRUNNR, F.PRODRUNDATE,
    F.PRODRUNFINAL, F.PRODRUNID FROM (SELECT /*+ cardinality(e 60)*/VALUE(E) AS
    CUSTOMERNODE, EXTRACTVALUE(VALUE(E), '/Customer/Cust') AS CUST,
    EXTRACTVALUE(VALUE(E), '/Customer/Mod') AS MOD, EXTRACTVALUE(VALUE(E),
    '/Customer/Tod') AS TOD, TO_NUMBER(EXTRACTVALUE(VALUE(E), '/Customer/Seq'))
    AS SEQ, D.PICKWAVENR, D.PICKWAVEPRODLINE, D.PICKWAVETOUR, D.PICKWAVETOURSEQ,
    D.PRODRUNNR, D.PRODRUNDATE, D.PRODRUNFINAL, D.PRODRUNID FROM (SELECT /*+
    cardinality(c 100)*/VALUE(C) AS PICKWAVENODE, EXTRACTVALUE(VALUE(C),
    '/PickWave/Nr') AS PICKWAVENR, TO_NUMBER(EXTRACTVALUE(VALUE(C),
    '/PickWave/ProdLine')) AS PICKWAVEPRODLINE, EXTRACTVALUE(VALUE(C),
    '/PickWave/Tour') AS PICKWAVETOUR, TO_NUMBER(EXTRACTVALUE(VALUE(C),
    '/PickWave/TourSeq')) AS PICKWAVETOURSEQ, A.PRODRUNNR, A.PRODRUNDATE,
    A.PRODRUNFINAL, A.PRODRUNID FROM (SELECT /*+ cardinality(b 1)*/VALUE(B) AS
    PRODRUNNODE, EXTRACTVALUE(VALUE(B), '/ProdRun/Nr') AS PRODRUNNR,
    TO_DATE(EXTRACTVALUE(VALUE(B), '/ProdRun/Date'),'DDMMYYYY') AS PRODRUNDATE,
    EXTRACTVALUE(VALUE(B), '/ProdRun/Final') AS PRODRUNFINAL, X.ID PRODRUNID
    FROM XML_ORDERS X, TABLE(XMLSEQUENCE(EXTRACT(X.XMLFILE,'/PickData/ProdRun'))
    ) B WHERE X.ID = :B1 ) A, TABLE(XMLSEQUENCE(EXTRACT(A.PRODRUNNODE,
    '/ProdRun/PickWave'))) C ) D, TABLE(XMLSEQUENCE(EXTRACT(D.PICKWAVENODE,
    '/PickWave/Customer'))) E ) F, TABLE(XMLSEQUENCE(EXTRACT(F.CUSTOMERNODE,
    '/Customer/InvOrder'))) G ORDER BY PICKWAVEPRODLINE, PICKWAVETOURSEQ,
    PICKWAVENR, SEQ )
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 4324.09 9994.65 0 57193 0 0
    Fetch 0 0.00 0.00 0 0 0 0
    total 2 4324.09 9994.65 0 57193 0 0
    Misses in library cache during parse: 1
    Misses in library cache during execute: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 68 (recursive depth: 1)
    Rows Row Source Operation
    0 COUNT (cr=0 pr=0 pw=0 time=180 us)
    0 VIEW (cr=0 pr=0 pw=0 time=166 us)
    0 SORT ORDER BY (cr=0 pr=0 pw=0 time=152 us)
    40866 NESTED LOOPS (cr=54973 pr=0 pw=0 time=31065606 us)
    1363 NESTED LOOPS (cr=54937 pr=0 pw=0 time=11037183 us)
    1 NESTED LOOPS (cr=54889 pr=0 pw=0 time=10145883 us)
    1 NESTED LOOPS (cr=54841 pr=0 pw=0 time=9799012 us)
    1 TABLE ACCESS BY INDEX ROWID XML_ORDERS (cr=2 pr=0 pw=0 time=222 us)
    1 INDEX UNIQUE SCAN XML_ORDERS_PK (cr=1 pr=0 pw=0 time=126 us)(object id 58551)
    1 COLLECTION ITERATOR PICKLER FETCH (cr=54839 pr=0 pw=0 time=9798748 us)
    1 COLLECTION ITERATOR PICKLER FETCH (cr=48 pr=0 pw=0 time=346818 us)
    1363 COLLECTION ITERATOR PICKLER FETCH (cr=48 pr=0 pw=0 time=870830 us)
    40866 COLLECTION ITERATOR PICKLER FETCH (cr=36 pr=0 pw=0 time=18739302 us)
    Note that I cancelled this operation before it was over so I imagine that these figures refer to the statistics as of the time when the operation was interrupted.
    So, here are finally my questions.
    In order to create the constraints on the nested tables as shown in other threads, do I need to drop the existing xml_orders table and ancillary object types and recreate them or is there a way to add such constraints using the existing system generated object names?
    Secondly, the xml_orders table may contain severale documents, not just one and his current primary key is the column ID. So, in order to uniquely identify the deepest element in the xml document, I need first to select the relevant document by means of the id column.
    Would it be better to create the indexes containing this id column together with the nested_table_id and array_index?
    Thanks for you help.
    Flavio
    PS: I wrote a 10 lines xsl transformation that I passed on to Saxon together with the 32Mb file. It took less than 1 minute to produce a flat file that was loaded almost instantly by SQL*Loader. So, what I am looking for is a procedure loading this stuff in less than 2 minutes or possibly less.

    Does the following help
    SQL*Plus: Release 10.2.0.1.0 - Production on Tue Dec 27 21:44:53 2005
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    SQL> spool registerSchema_&4..log
    SQL> set trimspool on
    SQL> connect &1/&2
    Connected.
    SQL> --
    SQL> declare
      2    result boolean;
      3  begin
      4    result := dbms_xdb.createResource('/home/&1/xsd/&4',
      5                                      bfilename(USER,'&4'),nls_charset_id('AL32UTF8'));
      6  end;
      7  /
    old   4:   result := dbms_xdb.createResource('/home/&1/xsd/&4',
    new   4:   result := dbms_xdb.createResource('/home/OTNTEST/xsd/GetaxTypes.xsd',
    old   5:                                    bfilename(USER,'&4'),nls_charset_id('AL32UTF8'));
    new   5:                                    bfilename(USER,'GetaxTypes.xsd'),nls_charset_id('AL32UTF8'));
    PL/SQL procedure successfully completed.
    SQL> commit
      2  /
    Commit complete.
    SQL> alter session set events='31098 trace name context forever'
      2  /
    Session altered.
    SQL> begin
      2    dbms_xmlschema.registerSchema
      3    (
      4      schemaURL => '&3',
      5      schemaDoc => xdbURIType('/home/&1/xsd/&4').getClob(),
      6      local     => TRUE,
      7      genTypes  => TRUE,
      8      genBean   => FALSE,
      9      genTables => &5
    10    );
    11  end;
    12  /
    old   4:     schemaURL => '&3',
    new   4:     schemaURL => 'private/GetaxTypes.xsd',
    old   5:     schemaDoc => xdbURIType('/home/&1/xsd/&4').getClob(),
    new   5:     schemaDoc => xdbURIType('/home/OTNTEST/xsd/GetaxTypes.xsd').getClob(),
    old   9:     genTables => &5
    new   9:     genTables => TRUE
    PL/SQL procedure successfully completed.
    SQL> quit
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL*Plus: Release 10.2.0.1.0 - Production on Tue Dec 27 21:44:55 2005
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    SQL> spool registerSchema_&4..log
    SQL> set trimspool on
    SQL> connect &1/&2
    Connected.
    SQL> --
    SQL> declare
      2    result boolean;
      3  begin
      4    result := dbms_xdb.createResource('/home/&1/xsd/&4',
      5                                      bfilename(USER,'&4'),nls_charset_id('AL32UTF8'));
      6  end;
      7  /
    old   4:   result := dbms_xdb.createResource('/home/&1/xsd/&4',
    new   4:   result := dbms_xdb.createResource('/home/OTNTEST/xsd/PickData.xsd',
    old   5:                                    bfilename(USER,'&4'),nls_charset_id('AL32UTF8'));
    new   5:                                    bfilename(USER,'PickData.xsd'),nls_charset_id('AL32UTF8'));
    PL/SQL procedure successfully completed.
    SQL> commit
      2  /
    Commit complete.
    SQL> alter session set events='31098 trace name context forever'
      2  /
    Session altered.
    SQL> begin
      2    dbms_xmlschema.registerSchema
      3    (
      4      schemaURL => '&3',
      5      schemaDoc => xdbURIType('/home/&1/xsd/&4').getClob(),
      6      local     => TRUE,
      7      genTypes  => TRUE,
      8      genBean   => FALSE,
      9      genTables => &5
    10    );
    11  end;
    12  /
    old   4:     schemaURL => '&3',
    new   4:     schemaURL => 'private/PickData.xsd',
    old   5:     schemaDoc => xdbURIType('/home/&1/xsd/&4').getClob(),
    new   5:     schemaDoc => xdbURIType('/home/OTNTEST/xsd/PickData.xsd').getClob(),
    old   9:     genTables => &5
    new   9:     genTables => TRUE
    PL/SQL procedure successfully completed.
    SQL> quit
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL*Plus: Release 10.2.0.1.0 - Production on Tue Dec 27 21:44:58 2005
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    SQL> spool createTable.log
    SQL> --
    SQL> connect &1/&2
    Connected.
    SQL> --
    SQL> CREATE TABLE "XML_ORDERS"
      2     ("ID" NUMBER(7,0) NOT NULL ENABLE,
      3      "XMLFILE" "SYS"."XMLTYPE" ,
      4      "INSERTED" DATE DEFAULT sysdate,
      5       CONSTRAINT "XML_ORDERS_PK" PRIMARY KEY ("ID") USING INDEX ENABLE
      6     ) XMLTYPE COLUMN XMLFILE STORE AS OBJECT RELATIONAL
      7       XMLSCHEMA "private/PickData.xsd"
      8       ELEMENT "PickData"
      9           VARRAY XMLFILE."XMLDATA"."ProdRun"."PickWave" STORE AS TABLE PickWave_TAB
    10             (
    11                ( primary key (nested_table_id, array_index)
    12                ) organization index overflow
    13                VARRAY "Customer" STORE AS TABLE Customer_TAB
    14                  (
    15                    (primary key (nested_table_id, array_index)
    16                    ) organization index overflow
    17                    VARRAY "InvOrder" STORE AS TABLE InvOrder_TAB
    18                      (
    19                        (primary key (nested_table_id, array_index)
    20                        ) organization index overflow
    21                      )
    22                  )
    23            )
    24  /
    Table created.
    SQL> quit
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL*Plus: Release 10.2.0.1.0 - Production on Tue Dec 27 21:44:59 2005
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    SQL> spool insertFile_&3..log
    SQL> set trimspool on
    SQL> connect &1/&2
    Connected.
    SQL> --
    SQL> set timing on
    SQL> set long 10000
    SQL> --
    SQL> insert into XML_ORDERS (ID, XMLFILE) values (&4, xmltype(bfilename(USER,'&3'),nls_charset_id('AL32UTF8')))
      2  /
    old   1: insert into XML_ORDERS (ID, XMLFILE) values (&4, xmltype(bfilename(USER,'&3'),nls_charset_id('AL32UTF8')))
    new   1: insert into XML_ORDERS (ID, XMLFILE) values (10, xmltype(bfilename(USER,'testcase.xml'),nls_charset_id('AL32UT
    8')))
    1 row created.
    Elapsed: 00:00:00.11
    SQL> commit
      2  /
    Commit complete.
    Elapsed: 00:00:00.01
    SQL> quit
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL*Plus: Release 10.2.0.1.0 - Production on Tue Dec 27 21:44:59 2005
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    SQL> spool testcase.log
    SQL> set trimspool on
    SQL> connect &1/&2
    Connected.
    SQL> --
    SQL> set timing on
    SQL> set long 10000
    SQL> set pages 0 lines 140
    SQL> --
    SQL> -- Testcase code here
    SQL> --
    SQL> set autotrace on explain
    SQL> --
    SQL> create or replace view PROD_RUN_VIEW
      2  (
      3    PRODRUNNODE,
      4    PRODRUNNR,
      5    PRODRUNDATE,
      6    PRODRUNID,
      7    PRODRUNFINAL
      8  )
      9  as
    10  select EXTRACT(XMLFILE,'/PickData/ProdRun'),
    11         EXTRACTVALUE(XMLFILE , '/PickData/ProdRun/Nr'),
    12         TO_DATE(EXTRACTVALUE(XMLFILE, '/PickData/ProdRun/Date'),'DDMMYYYY'),
    13         ID,
    14         EXTRACTVALUE(XMLFILE,'/PickData/ProdRun/Final')
    15    from XML_ORDERS
    16  /
    View created.
    Elapsed: 00:00:00.09
    SQL> create or replace view PICK_WAVE_VIEW
      2  (
      3    PICKWAVENODE,
      4    PICKWAVENR,
      5    PICKWAVEPRODLINE,
      6    PICKWAVETOUR,
      7    PICKWAVETOURSEQ,
      8    PRODRUNNR,
      9    PRODRUNDATE,
    10    PRODRUNID,
    11    PRODRUNFINAL
    12  )
    13  as
    14  select value(PW),
    15         extractValue(value(PW),'/PickWave/Nr'),
    16         TO_NUMBER(EXTRACTVALUE(value(PW),'/PickWave/ProdLine')),
    17         extractValue(value(PW),'/PickWave/Tour'),
    18         TO_NUMBER(extractValue(value(PW),'/PickWave/TourSeq')),
    19         PRODRUNNR,
    20         PRODRUNDATE,
    21         PRODRUNID,
    22         PRODRUNFINAL
    23    FROM PROD_RUN_VIEW, table(xmlsequence(extract(PRODRUNNODE,'/ProdRun/PickWave'))) PW
    24  /
    View created.
    Elapsed: 00:00:00.09
    SQL> create or replace view CUSTOMER_VIEW
      2  (
      3    CUSTOMERNODE,
      4    CUST,
      5    MOD,
      6    TOD,
      7    SEQ,
      8    PICKWAVENR,
      9    PICKWAVEPRODLINE,
    10    PICKWAVETOUR,
    11    PICKWAVETOURSEQ,
    12    PRODRUNNR,
    13    PRODRUNDATE,
    14    PRODRUNFINAL,
    15    PRODRUNID
    16  )
    17  as
    18  select value(CUST),
    19         EXTRACTVALUE(VALUE(CUST), '/Customer/Cust'),
    20         EXTRACTVALUE(VALUE(CUST), '/Customer/Mod'),
    21         EXTRACTVALUE(VALUE(CUST), '/Customer/Tod'),
    22         TO_NUMBER(EXTRACTVALUE(VALUE(CUST), '/Customer/Seq')),
    23         PICKWAVENR,
    24         PICKWAVEPRODLINE,
    25         PICKWAVETOUR,
    26         PICKWAVETOURSEQ,
    27         PRODRUNNR,
    28         PRODRUNDATE,
    29         PRODRUNFINAL,
    30         PRODRUNID
    31    from PICK_WAVE_VIEW, table(xmlsequence(extract(PICKWAVENODE,'/PickWave/Customer'))) CUST
    32  /
    View created.
    Elapsed: 00:00:00.10
    SQL>
    SQL> create or replace view INVOICE_ORDER_VIEW
      2  (
      3    INVORDERNR,
      4    ITEM,
      5    QTY,
      6    PRIORITY,
      7    REORDERING,
      8    HLORDER,
      9    DELDATE,
    10    CUST,
    11    MOD,
    12    TOD,
    13    SEQ,
    14    PICKWAVENR,
    15    PICKWAVEPRODLINE,
    16    PICKWAVETOUR,
    17    PICKWAVETOURSEQ,
    18    PRODRUNNR,
    19    PRODRUNDATE,
    20    PRODRUNFINAL,
    21    PRODRUNID
    22  )
    23  as
    24  SELECT EXTRACTVALUE(VALUE(INV), '/InvOrder/Nr'),
    25         EXTRACTVALUE(VALUE(INV), '/InvOrder/Item'),
    26         EXTRACTVALUE(VALUE(INV), '/InvOrder/Qty'),
    27         EXTRACTVALUE(VALUE(INV), '/InvOrder/Priority'),
    28         EXTRACTVALUE(VALUE(INV), '/InvOrder/Reordering'),
    29         EXTRACTVALUE(VALUE(INV), '/InvOrder/HlOrder'),
    30         TO_DATE(EXTRACTVALUE(VALUE(INV), '/InvOrder/DelDate'),'DDMMYYYY'),
    31         CUST,
    32         MOD,
    33         TOD,
    34         SEQ,
    35         PICKWAVENR,
    36         PICKWAVEPRODLINE,
    37         PICKWAVETOUR,
    38         PICKWAVETOURSEQ,
    39         PRODRUNNR,
    40         PRODRUNDATE,
    41         PRODRUNFINAL,
    42         PRODRUNID
    43   FROM CUSTOMER_VIEW, table(xmlsequence(extract(CUSTOMERNODE,'Customer/InvOrder'))) INV
    44  /
    View created.
    Elapsed: 00:00:00.13
    SQL> select * from INVOICE_ORDER_VIEW
      2  /
    IIO0000461           100000036                    20          1          0 CSO000743            15-NOV-05 100000013
    FO                             DDU                                     6 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000463           100000045                    20          1          0 CSO000743            15-NOV-05 100000013
    FO                             DDU                                     6 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000473           100000036                    20          1          0 CSO000746            15-NOV-05 100000143
    FO                             DDU                                     7 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000475           100000045                    20          1          0 CSO000746            15-NOV-05 100000143
    FO                             DDU                                     7 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000469           100000036                    20          1          0 CSO000745            15-NOV-05 100000140
    FO                             DDU                                     3 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000471           100000045                    20          1          0 CSO000745            15-NOV-05 100000140
    FO                             DDU                                     3 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000489           100000036                    20          0          0 CSO000751            15-NOV-05 100000148
    FO                             DDU                                    10 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000491           100000045                    20          1          0 CSO000751            15-NOV-05 100000148
    FO                             DDU                                    10 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000481           100000036                    20          0          0 CSO000748            15-NOV-05 100000146
    FO                             DDU                                     9 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000483           100000045                    20          1          0 CSO000748            15-NOV-05 100000146
    FO                             DDU                                     9 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000485           100000036                    20          0          0 CSO000750            15-NOV-05 100000147
    FO                             DDU                                     4 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000487           100000045                    20          1          0 CSO000750            15-NOV-05 100000147
    FO                             DDU                                     4 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000457           100000036                    20          1          0 CSO000742            15-NOV-05 100000006
    FO                             DDU                                     5 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000459           100000045                    20          1          0 CSO000742            15-NOV-05 100000006
    FO                             DDU                                     5 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000477           100000036                    20          1          0 CSO000747            15-NOV-05 100000145
    FO                             DDU                                     8 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000479           100000045                    20          1          0 CSO000747            15-NOV-05 100000145
    FO                             DDU                                     8 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000465           100000036                    20          1          0 CSO000744            15-NOV-05 100000114
    FO                             DDU                                     2 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    IIO0000467           100000045                    20          1          0 CSO000744            15-NOV-05 100000114
    FO                             DDU                                     2 IPW0000017                1 00000043_078
                    1
             5 15-NOV-05            1         10
    18 rows selected.
    Elapsed: 00:00:00.22
    Execution Plan
    Plan hash value: 1730223965
    | Id  | Operation                | Name              | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT         |                   |    18 | 10278 |   877   (0)| 00:00:11 |
    |   1 |  NESTED LOOPS            |                   |    18 | 10278 |   877   (0)| 00:00:11 |
    |   2 |   NESTED LOOPS           |                   |    18 |  8424 |   841   (0)| 00:00:11 |
    |   3 |    MERGE JOIN CARTESIAN  |                   |    18 |  4680 |   805   (0)| 00:00:10 |
    |   4 |     TABLE ACCESS FULL    | XML_ORDERS        |     1 |    67 |     3   (0)| 00:00:01 |
    |   5 |     BUFFER SORT          |                   |    18 |  3474 |   802   (0)| 00:00:10 |
    |   6 |      INDEX FAST FULL SCAN| SYS_IOT_TOP_64187 |    18 |  3474 |   802   (0)| 00:00:10 |
    |*  7 |    INDEX UNIQUE SCAN     | SYS_IOT_TOP_64185 |     1 |   208 |     2   (0)| 00:00:01 |
    |*  8 |     INDEX RANGE SCAN     | SYS_C008783       |     1 |       |     0   (0)| 00:00:01 |
    |*  9 |   INDEX UNIQUE SCAN      | SYS_IOT_TOP_64183 |     1 |   103 |     2   (0)| 00:00:01 |
    |* 10 |    INDEX RANGE SCAN      | SYS_C008785       |     1 |       |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       7 - access("NESTED_TABLE_ID"="CUSTOMER_TAB"."SYS_NC0000800009$")
       8 - access("NESTED_TABLE_ID"="CUSTOMER_TAB"."SYS_NC0000800009$")
       9 - access("NESTED_TABLE_ID"="PICKWAVE_TAB"."SYS_NC0000800009$")
           filter("NESTED_TABLE_ID"="XML_ORDERS"."SYS_NC0001000011$")
      10 - access("NESTED_TABLE_ID"="PICKWAVE_TAB"."SYS_NC0000800009$")
    Note
       - dynamic sampling used for this statement
    SQL> quit
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    C:\oracle\xdb\otn\347125>You were sequencing the ProdRun node, which is a mistake. Only nodes which occur multiple times should be sequenced...

  • 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

  • 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?

  • 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.

  • Not able to pass cyclic XML schema type to a webservice method

    I have a webservice method called getData(GetDataDocument
    gDoc).
    I constructed a request with object (which exactly satisfy
    the XML schema def) to call up the getData(). [From my java client
    also I did the same; but the java classes have been generated using
    apache's xmlBeans; this works fine with the same kind of request].
    But the soap request constructed from flex does not get
    generated with all the values that I set in the request object.
    On further observation, I found out that if the schema
    involves cyclic elements, the soap request is not getting
    constructed as desired.
    My schema def:
    <complexType name="PredicateBagType">
    <sequence>
    <choice>
    <element maxOccurs="unbounded" minOccurs="0"
    name="PredicateBag" type="tns:PredicateBagType"/>
    <element maxOccurs="unbounded" minOccurs="0"
    name="BinaryPredicate" type="tns:BinaryPredicateType"/>
    <element maxOccurs="unbounded" minOccurs="0"
    name="UnaryPredicate" type="tns:UnaryPredicateType"/>
    </choice>
    </sequence>
    <attribute name="contextNode"
    type="tns:contextNodeIDType"/>
    <attribute default="false" name="negate"
    type="boolean"/>
    <attribute name="type"
    type="tns:PredicateBagTypeType"/>
    </complexType>
    Note that the PredicateBagType may contain another
    PredicateBagType.
    I have constructed my request with objects in my flex
    application . Though I have set the BinaryPredicate object in my
    PredicateBag object, the soap request constructed looks like this
    which is not desired
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="
    http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="
    http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="
    http://www.w3.org/2001/XMLSchema-instance">
    <SOAP-ENV:Body>
    <tns:get_Data maxPrograms="0" personalInfoUse="false"
    xmlns:tns="urn:tva:transport:2005">
    <tns:QueryConstraints>
    <tns:PredicateBag contextNode="1" negate="false"
    type="AND"/>
    </tns:QueryConstraints>
    <tns:RequestedTables>
    <tns:Table type="ProgramInformationTable"/>
    </tns:RequestedTables>
    </tns:get_Data>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>.
    If I comment out the PredicateBagType choice in my xsd, the
    flex application constructs the soap request looks like this.
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="
    http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="
    http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="
    http://www.w3.org/2001/XMLSchema-instance">
    <SOAP-ENV:Body>
    <tns:get_Data maxPrograms="0" personalInfoUse="false"
    xmlns:tns="urn:tva:transport:2005">
    <tns:QueryConstraints>
    <tns:PredicateBag contextNode="ProgramInformation"
    negate="false" type="AND">
    <tns:BinaryPredicate fieldID="Genre" fieldValue="Fiction"
    test="contains"/>
    </tns:PredicateBag>
    </tns:QueryConstraints>
    <tns:RequestedTables>
    <tns:Table type="ProgramInformationTable"/>
    </tns:RequestedTables>
    </tns:get_Data>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    This request holds good. But I cannot comment out the
    PredicateBagType from my choice. Is this an issue with soap request
    construction issue in Flex..?

    Yes, <choice> is just "partial" supported in Flex 2 .
    read this
    link
    for partial and not supported tags
    Partially supported XML Schema structures
    The following XML Schema structures or structure attributes
    are only partially implemented in this release:
    <choice>
    <all>
    <union>
    regards
    kcell

  • Xml schema validation problem

    Hi All
    How to tackle this xml schema validation problem
    i am using the sample code provided by ORacle technet for xml
    schema validation in the Oracle database(817).
    The sample code works perfectly fine.
    Sample as provided by http://otn.oracle.com/tech/xml/xdk_sample/archive/xdksample_093001.zip.
    It works fine for normal xml files validated against
    xml schema (xsd)
    but in this case my validation is failing . Can you let me know why
    I have this main schema
    Comany.xsd
    ===========
    <?xml version="1.0"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.company.org"
    xmlns="http://www.company.org"
    elementFormDefault="qualified">
    <xsd:include schemaLocation="Person.xsd"/>
    <xsd:include schemaLocation="Product.xsd"/>
    <xsd:element name="Company">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Person" type="PersonType" maxOccurs="unbounded"/>
    <xsd:element name="Product" type="ProductType" maxOccurs="unbounded"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    ================
    which includes the following 2 schemas
    Product.xsd
    ============
    <?xml version="1.0"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified">
    <xsd:complexType name="ProductType">
    <xsd:sequence>
    <xsd:element name="Type" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    ==============
    Person.xsd
    ===========
    <?xml version="1.0"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified">
    <xsd:complexType name="PersonType">
    <xsd:sequence>
    <xsd:element name="Name" type="xsd:string"/>
    <xsd:element name="SSN" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    =================
    now when i try to validate a xml file against Company.xsd
    it throws an error saying unable to find Person.xsd.
    no protocol error
    Now where do i place these 2 schemas(.xsd files) Person & product
    so that the java schemavalidation program running inside Oracle
    database can locate these files
    Rgrds
    Sushant

    Hi Jinyu
    This is the java code loaded in the database using loadjava called by a wrapper oracle stored procedure
    import oracle.xml.parser.schema.*;
    import oracle.xml.parser.v2.*;
    import java.net.*;
    import java.io.*;
    import org.w3c.dom.*;
    import java.util.*;
    import oracle.sql.CHAR;
    import java.sql.SQLException;
    public class SchemaUtil
    public static String validation(CHAR xml, CHAR xsd)
    throws Exception
    //Build Schema Object
    XSDBuilder builder = new XSDBuilder();
    byte [] docbytes = xsd.getBytes();
    ByteArrayInputStream in = new ByteArrayInputStream(docbytes);
    XMLSchema schemadoc = (XMLSchema)builder.build(in,null);
    //Parse the input XML document with Schema Validation
    docbytes = xml.getBytes();
    in = new ByteArrayInputStream(docbytes);
    DOMParser dp = new DOMParser();
    // Set Schema Object for Validation
    dp.setXMLSchema(schemadoc);
    dp.setValidationMode(XMLParser.SCHEMA_VALIDATION);
    dp.setPreserveWhitespace (true);
    StringWriter sw = new StringWriter();
    dp.setErrorStream (new PrintWriter(sw));
    try
    dp.parse (in);
    sw.write("The input XML parsed without errors.\n");
    catch (XMLParseException pe)
    sw.write("Parser Exception: " + pe.getMessage());
    catch (Exception e)
    sw.write("NonParserException: " + e.getMessage());
    return sw.toString();
    This is the code i used initially for validating a xml file against single xml schema (.xsd) file
    In the above code could u tell how to specify the second schema validation code for the incoming xml.
    say i create another Schemadoc for the 2nd xml schema.
    something like this with another parameter(CHAR xsd1) passing to the method
    byte [] docbytes1 = xsd1.getBytes();
    ByteArrayInputStream in1 = new ByteArrayInputStream(docbytes1);
    XMLSchema schemadoc1 = (XMLSchema)builder.build(in1,null);
    DOMParser dp = new DOMParser();
    How to set for the 2nd xml schema validation in the above code or can i combine 2 xml schemas.
    How to go about it
    Rgrds
    Sushant

  • Regarding XML Schemas

    Hi,
    BPM Implementation:
    We are having ServiceError.xsd which consists of three parameters (ErrorCode, ErrorMessage, Severity) which we have cataloged in BPM and created Heir Object named "ErrorDetails" of the same. We have created one instance variable "insExceptionDetails" of type "ErrorDetails". Now, we have set the object values in an automatic activity as below.
    insExceptionDetails.errorCode="101";
    insExceptionDetails.errorMessage="Null Pointer Exception"
    insExceptionDetails.severity="FATAL"
    PAPI Implementation:
    Now, we need to fetch the value of "insExceptionDetails" at PAPI layer. We have added Catalog.jar of the BPM project which we have used in our project.
    The requirement is to fetch the value of instance variable which is of type ErrorDetails which in turn is Heir class for ServiceError.xsd.
    Example: Sample Code at PAPI
    ProcessService processService = ProcessService.create(configuration);
    // ///////////////// Establish a session ///////////////////
    ProcessServiceSession session = processService.createSession("Administrator", "", null);
    // ///////////////// Operate with PAPI ///////////////////
    // Create Dynamic Object for Session Data
    DynamicObject obj = session     .instanceGetData("/ExceptionHandlingUsage1#Default-1.0/1/0");
    Class c = Class.forName("xobject.AKBank.Exceptions.BusinessException");
    // Initialise Business Exception for process
    BusinessException businessObject = (BusinessException) obj.getArgument("insBusinessException", c);
    Now we need to retrieve the value of businessObject.errorCode,errorMessage,severity,etc. We are unable to parse XML at PAPI layer. The values are getting properly set at BPM end but unable to retrieve them in PAPI layer.
    Please suggest the way to retrieve from the same.
    Thanks,
    Abhishek

    Hi Scott,
    Help #1: I don't understan the concept of Step 1, Step2 and Step 3 to do XML Schema, XSD.exe, and XML Schema Collection in the SQL Server 2012!!?? I just have the SQL Server 2012 Management Studio (SSMS2012) in my PC.
    Step1 and Step2 not that related to SQL Server, you can get the XSD from a given XML with an online XSD generator.
    Google search: XSD generator
    Help #2: How can I execute the xsd.exe in my C:\Program Files  (x86)\Microsoft SDKs\Windows\v7.0A\Bin\ folder?
    Please see the link in the #1
    Help #3: I just learned the basic things of creating XML SCHEMA COLLECTIONS in my SSMS2012 directly. Is the MSss2012P348.sql (I created and presented above) right for the task? How can I use clipboard to create the XML Schema Collection in
    my ScottChangDB database?
    See the syntax and example in
    create XML schema collection
    If you have any question, feel free to let me know.
    Eric Zhang
    TechNet Community Support

  • Vivado 2013.4 ERROR: [IP_Flow 19-395] Problem validating against XML schema: Invalid value format for this type spirit:order

    Hello,
    I just downloaded and installed Vivado 2013.4 on my Xubuntu 12.04 machine. But when I try to add IP from the IP catalog, as in the ug937 Lab1 step2, it fails with obscure error messages (see below).
    Here's basically what I did:
    -In the Flow Navigator, i select the IP Catalog button.
    -In the search field of the IP Catalog, I type DDS.
    -then I double-click the DDS Compiler and my error occure.
    Please Help,
    Jerome.
    [HDL 9-1061] Parsing VHDL file "/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sources/sinegen_demo.vhd" into library work ["/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sources/sinegen_demo.vhd":1]
    Analysis Results[IP_Flow 19-3378] Failed to create IP instance 'dds_compiler_0'. Error saving IP file.
    [IP_Flow 19-193] Failed to save BOM file '/home/jmassol/.Xil/Vivado-2683-ubuntu/coregen/dds_compiler_0/dds_compiler_0.xml'.
    [IP_Flow 19-193] Failed to save BOM file '/home/jmassol/.Xil/Vivado-2683-ubuntu/coregen/dds_compiler_0/dds_compiler_0.xml'.
    [HDL 9-1061] Parsing VHDL file "/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sources/sinegen.vhd" into library work ["/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sources/sinegen.vhd":1]
    [IP_Flow 19-194] Failed to save IP instance 'dds_compiler_0'.
    set_property target_language Verilog [current_project]
    [IP_Flow 19-193] Failed to save BOM file '/home/jmassol/.Xil/Vivado-2683-ubuntu/coregen/dds_compiler_0/dds_compiler_0.xml'.
    [IP_Flow 19-193] Failed to save BOM file '/home/jmassol/.Xil/Vivado-2683-ubuntu/coregen/dds_compiler_0/dds_compiler_0.xml'.
    [IP_Flow 19-395] Problem validating against XML schema: Invalid value format for this type spirit:order
    [IP_Flow 19-194] Failed to save IP instance 'dds_compiler_0'.
    [IP_Flow 19-395] Problem validating against XML schema: Invalid value format for this type spirit:order
    sources_1[IP_Flow 19-194] Failed to save IP instance 'dds_compiler_0'.
    [HDL 9-1061] Parsing VHDL file "/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sources/sinegen_demo.vhd" into library work ["/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sources/sinegen_demo.vhd":1]
    [IP_Flow 19-194] Failed to save IP instance 'dds_compiler_0'.
    [IP_Flow 19-194] Failed to save IP instance 'dds_compiler_0'.
    update_compile_order -fileset sim_1
    [IP_Flow 19-193] Failed to save BOM file '/home/jmassol/.Xil/Vivado-2683-ubuntu/coregen/dds_compiler_0/dds_compiler_0.xml'.
    [HDL 9-1061] Parsing VHDL file "/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sources/fsm.vhd" into library work ["/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sources/fsm.vhd":1]
    [IP_Flow 19-3378] Failed to create IP instance 'dds_compiler_0'. Error saving IP file.
    [IP_Flow 19-395] Problem validating against XML schema: Invalid value format for this type spirit:order
    [IP_Flow 19-3378] Failed to create IP instance 'dds_compiler_0'. Error saving IP file.
    [IP_Flow 19-395] Problem validating against XML schema: Invalid value format for this type spirit:order
    [HDL 9-1061] Parsing VHDL file "/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sources/fsm.vhd" into library work ["/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sources/fsm.vhd":1]
    [IP_Flow 19-395] Problem validating against XML schema: Invalid value format for this type spirit:order
    [IP_Flow 19-3378] Failed to create IP instance 'dds_compiler_0'. Error saving IP file.
    [HDL 9-1654] Analyzing Verilog file "/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sim/testbench.v" into library work ["/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sim/testbench.v":1]
    [IP_Flow 19-395] Problem validating against XML schema: Invalid value format for this type spirit:order
    [HDL 9-1061] Parsing VHDL file "/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sources/debounce.vhd" into library work ["/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sources/debounce.vhd":1]
    [IP_Flow 19-193] Failed to save BOM file '/home/jmassol/.Xil/Vivado-2683-ubuntu/coregen/dds_compiler_0/dds_compiler_0.xml'.
    [IP_Flow 19-2313] Loaded Vivado IP repository '/opt/Xilinx/Vivado/2013.4/data/ip'.
    [IP_Flow 19-395] Problem validating against XML schema: Invalid value format for this type spirit:order
    [IP_Flow 19-3378] Failed to create IP instance 'dds_compiler_0'. Error saving IP file.
    [IP_Flow 19-1704] No user IP repositories specified
    [IP_Flow 19-194] Failed to save IP instance 'dds_compiler_0'.
    [IP_Flow 19-193] Failed to save BOM file '/home/jmassol/.Xil/Vivado-2683-ubuntu/coregen/dds_compiler_0/dds_compiler_0.xml'.
    [IP_Flow 19-3378] Failed to create IP instance 'dds_compiler_0'. Error saving IP file.
    Vivado Commands[Project 1-11] Changing the constrs_type of fileset 'constrs_1' to 'XDC'.
    [IP_Flow 19-193] Failed to save BOM file '/home/jmassol/.Xil/Vivado-2683-ubuntu/coregen/dds_compiler_0/dds_compiler_0.xml'.
    [IP_Flow 19-3378] Failed to create IP instance 'dds_compiler_0'. Error saving IP file.
    [IP_Flow 19-193] Failed to save BOM file '/home/jmassol/.Xil/Vivado-2683-ubuntu/coregen/dds_compiler_0/dds_compiler_0.xml'.
    sim_1[IP_Flow 19-194] Failed to save IP instance 'dds_compiler_0'.
    [IP_Flow 19-395] Problem validating against XML schema: Invalid value format for this type spirit:order
    [HDL 9-1654] Analyzing Verilog file "/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sim/testbench.v" into library work ["/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sim/testbench.v":1]
    [IP_Flow 19-395] Problem validating against XML schema: Invalid value format for this type spirit:order
    [IP_Flow 19-3378] Failed to create IP instance 'dds_compiler_0'. Error saving IP file.
    [IP_Flow 19-234] Refreshing IP repositories
    [IP_Flow 19-3378] Failed to create IP instance 'dds_compiler_0'. Error saving IP file.
    [IP_Flow 19-395] Problem validating against XML schema: Invalid value format for this type spirit:order
    [IP_Flow 19-194] Failed to save IP instance 'dds_compiler_0'.
    [IP_Flow 19-193] Failed to save BOM file '/home/jmassol/.Xil/Vivado-2683-ubuntu/coregen/dds_compiler_0/dds_compiler_0.xml'.
    [IP_Flow 19-194] Failed to save IP instance 'dds_compiler_0'.
    [IP_Flow 19-395] Problem validating against XML schema: Invalid value format for this type spirit:order
    [IP_Flow 19-193] Failed to save BOM file '/home/jmassol/.Xil/Vivado-2683-ubuntu/coregen/dds_compiler_0/dds_compiler_0.xml'.
    [IP_Flow 19-194] Failed to save IP instance 'dds_compiler_0'.
    [IP_Flow 19-3378] Failed to create IP instance 'dds_compiler_0'. Error saving IP file.
    [HDL 9-1061] Parsing VHDL file "/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sources/debounce.vhd" into library work ["/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sources/debounce.vhd":1]
    [IP_Flow 19-3378] Failed to create IP instance 'dds_compiler_0'. Error saving IP file.
    [IP_Flow 19-194] Failed to save IP instance 'dds_compiler_0'.
    [HDL 9-1061] Parsing VHDL file "/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sources/sinegen.vhd" into library work ["/home/jmassol/Desktop/Vivado/vivado_debug/ug937/project_xsim/project_xsim.srcs/sources_1/imports/ug937/sources/sinegen.vhd":1]
    set_property constrs_type XDC [current_fileset -constrset]
     

    We had the same problem when switching to Ubuntu 14.04, and there actually is a solution for it: make sure your locales are set to English.
    $> env | grep LC_*
    should only show english (or C) locales, all others are known to cause parsing errors in some numbers, usually caused by wrong string-to-float conversions (e.g. 18,29 in german is 18.29 in english). You can change the locales in the file /etc/default/localesThis is not the first time we had problems with the locale settings, Xilinx does not seem to test their software with anything else than en_US, causing obscure bugs like this one.
    HTH
    Philipp

Maybe you are looking for

  • Mac Mini Mavericks 10.9.2 Crash

    I have a Mac Mini, 10.9.2. Over the last three weeks, it is crashing spontaneously and always around 50 minutes after restarting. I have changed RAM, reset the SMC, removed all peripherals. It has also done this in SAFE mode. Here is a Console log fr

  • I can't publish my quick time!

    I have tried weveral times to publish my quick time movie and it keeps telling me there is an error and not explaining the problem. The movie's only 5.8 mb so I don't know what theproblem is! Someone please help me!

  • Umlaut in Unicode System

    Hi guys. I have used data:     entity        TYPE REF TO if_http_entity,     l_content     TYPE string.         WHILE idx <= request->num_multiparts( ).           entity = request->get_multipart( idx ).           idx = idx + 1.           IF entity->g

  • Clock for Full Screen Apps

    I like everything about full screen Apps, except there is no clock. Is there a way to put a floating clock on all the screens, so when I'm in a full screen app I can see the time?

  • EPS Problem

    Hello All, My client has given me .EPS file which is a web template but when I opened in photoshop it doesn't show the layer and it opened as raster file (No layers). Can someone help me how to open this file so that I can view the layers and amend i