What is targetNamespace in XML Schema

Hello All,
I am new to XML schema. I just want to know what does targetNamespace and defaultNamespace mean in XML schema ? I will be grateful if someone gives me few links to good documents on net.
Thank you

targetNamespace is the namespace of the elements of an XML document based on the schema.
defaultNamespace is the namespace if no namespace prefix is specified.
http://www.ibiblio.org/xml/books/bible2/chapters/ch24.html#d1e8500

Similar Messages

  • What is the t.code for convert Idoc into XML schema

    Hi all,
       How to convert IDOC as XML schema?
    there is one T.code is there for convert IDOC into Xml schem ,I  forgot that,
    plz tell me if anybody knows that t.code. Very Urgent
    Thanks in Advance
    rambabu.A

    WE60
    Let me know if you need any other help with that.
    Best Regards,
    Steve Hardeman

  • What is the right Management Pack XML Schema?

    hi ,when i use VSAE to create a console task (there was no template to generate  console task),so i use 2007 r2 authoring tool to generate the xml, then i paste the code in VSAE,but VSAE can not build the management pack , and i also tried
     sample code here http://msdn.microsoft.com/en-us/library/jj130203.aspx ,VSAE can not validate the XML file
    the error was:
    The 'Category' attribute is not declared
    The element 'ConsoleTask' has invalid child element 'Application'. List of possible elements expected: 'Criteria, Assembly'.
    The 'Category' attribute is not declared
    the project was operation manager 2007 r2 management pack.
    I find the XML schema in 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Xml\Schemas\SystemCenter\FragmentSchemaOM10.xsd' was defferent from the one here 'C:\Program Files\System Center MP Authoring Console
    2007\MP Schema\ManagementPackSchema.xsd' ,
    the ConsoleTask which defined in the schema of 2007 r2 authoring tool was:
    The ConsoleTask which defined in the schema of  in VSAE:
    So , is this a bug? or which schema was the right one ?
    yoke88
    IM:[email protected]

    I've run into a similar problem with reporting in the past - I asked the question here, but don't have a thread id for you. The answer I received from the VSAE developer was
    basically, VSAE automatically performs a conversion to schema 2.0 during build time, and if it is actually version 1.0 that you are working with you may (will) receive validation errors.
    This doesn't help you much, but my solution was to write the pack using version 2.0 schema requirements, regardless if it was for SCOM 2007 or 2012...
    Is it a bug??? In my opinion, it is a design flaw.
    Jonathan Almquist | SCOMskills, LLC (http://scomskills.com)

  • Urgent: Help required for fetching CHILDNODE from an XML schema.

    Hi All,
    Good Morning to all, i have problem in extracting the child node name. I have created a xml schema say "emrxmlsample3.xsd" based on this schema i have created a xmltype table and inserted a value to the table. I have a problem in fetching the "CHILDNODE" name. Kindly help me in solving this problem. Here by i am posting all the workings i have done...
    I am using the following client:
    SQL*Plus: Release 10.2.0.1.0 - Production on Mon Jan 31 11:44:59 2011
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    ////////////////////////////////// XML Schema ///////////////////////
    begin
    dbms_xmlschema.registerSchema(
    'http://www.oradev.com/emrxmlsample3.xsd',
    '<schema xmlns="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.oradev.com/emrxmlsample3.xsd"
    xmlns:samp="http://www.oradev.com/emrxmlsample3.xsd"
    version="1.0">
         <element name="HISTORY">
              <complexType>
                   <sequence>
                        <element name="HPI">
                             <complexType>
                                  <sequence>
                                       <element name = "PAIN">
                                            <complexType>
                                                 <sequence>
                                                      <element name = "SET">
                                                           <complexType>
                                                                <sequence>
                                                                     <element name = "LOCATION">
                                                                          <complexType>
                                                                               <sequence>
                                                                                    <element name = "HEAD" type = "string"/>
                                                                                    <element name = "NECK" type = "string"/>
                                                                                    <element name = "BACK" type = "string"/>                                                       
                                                                                    <element name = "CHEST" type = "string"/>                                                       
                                                                                    <element name = "ABDOMEN" type = "string"/>     
                                                                                    <element name = "JOINTS" type = "string"/>     
                                                                                    <element name = "OTHERS" type = "string"/>
                                                                               </sequence>
                                                                          </complexType>
                                                                     </element>
                                                                     <element name = "SEVERITY">
                                                                          <complexType>
                                                                               <sequence>
                                                                                    <element name = "MILD" type = "string"/>
                                                                                    <element name = "MODERATE" type = "string"/>
                                                                                    <element name = "SEVERE" type = "string"/>                                                       
                                                                                    <element name = "VERYSEVERE" type = "string"/>                                                       
                                                                               </sequence>
                                                                          </complexType>
                                                                     </element>     
                                                                     <element name = "CHARACTER">
                                                                          <complexType>
                                                                               <sequence>
                                                                                    <element name = "DIFFUSE" type = "string"/>
                                                                                    <element name = "PRICKING" type = "string"/>
                                                                                    <element name = "CUTTING" type = "string"/>                                                       
                                                                                    <element name = "PIERCING" type = "string"/>                                                       
                                                                               </sequence>
                                                                          </complexType>
                                                                     </element>                                                                      
                                                                </sequence>
                                                           </complexType>      
                                                      </element>
                                                 </sequence>     
                                            </complexType>
                                       </element>
                                  </sequence>
                             </complexType>
                        </element>
                   </sequence>
              </complexType>
         </element>
         </schema>',
    TRUE, TRUE, FALSE, FALSE);
    end;
    ////////////////////////// Table which has multiple Column //////////////////////////
    CREATE TABLE chipsemr3 (
    id number, CHIPSEMR XmlType)
    XMLTYPE CHIPSEMR STORE AS OBJECT RELATIONAL
    XMLSCHEMA "http://www.oradev.com/emrxmlsample3.xsd"
    ELEMENT "HISTORY";
    ///////////////////////////////// Insert Query in chipsxmltable //////////////////////////
    INSERT INTO chipsemr3 VALUES(1,
    xmltype.createxml('<?xml version="1.0"?>
    <samp:HISTORY xmlns:samp="http://www.oradev.com/emrxmlsample3.xsd" >
              <HPI>
                   <PAIN>
                        <SET>
                             <LOCATION>
                                  <HEAD> YES </HEAD>
                                  <NECK> NO </NECK>
                                  <BACK> N </BACK>
                                  <CHEST> N </CHEST>
                                  <ABDOMEN> N </ABDOMEN>
                                  <JOINTS> N </JOINTS>
                                  <OTHERS> N </OTHERS>
                             </LOCATION>
                             <SEVERITY>
                                  <MILD> N </MILD>
                                  <MODERATE> N </MODERATE>
                                  <SEVERE> N </SEVERE>
                                  <VERYSEVERE> N </VERYSEVERE>
                             </SEVERITY>
                             <CHARACTER>
                                  <DIFFUSE> N </DIFFUSE>
                                  <PRICKING> N </PRICKING>
                                  <CUTTING> N </CUTTING>
                                  <PIERCING> N </PIERCING>
                             </CHARACTER>
                        </SET>
                   </PAIN>
              </HPI>
    </samp:HISTORY>'));
    To show the Root Node Name:
    1. Query
    select x.CHIPSEMR.getrootelement() CHIPSNODES from chipsemr3 x, table(xmlsequence(x.CHIPSEMR.extract('//node()'))) x
    Apologies if the description is not clear. Kindly let me know if further details are needed. Many thanks for your help.
    Very best regards,
    Godwin Jebakumar C.V.

    Hi,
    I'm not sure what you want actually.
    You can get all elements names with :
    SELECT value(x).getRootElement() chipsnodes
    FROM chipsemr3 t,
         TABLE(
           XMLSequence(
             Extract(t.chipsemr, '//*')
         ) x
    ;or, starting with 10.2 :
    SELECT x.*
    FROM chipsemr3 t,
         XMLTable(
          'for $i in //* return local-name($i)'
          passing t.chipsemr
          columns chipsnode varchar2(30) path '.'
         ) x
    ;

  • PL/SQL web service - how to use XML schema to define inputs/outputs?

    Hello,
    let us say I want to publish a PL/SQL web service. The package spec that I want to expose is:
    CREATE OR REPLACE PACKAGE myWebService AS
      FUNCTION loadResults(
        username   IN VARCHAR2,
        password   IN VARCHAR2,
        resultData IN XMLType)
      RETURN XMLType;
    END;When I use JDeveloper's wizard to publish my PL/SQL web service, the resulting WSDL contains this:
    <schema
        xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
        xmlns:tns="http://uk/co/weatherbys/aapws/AAPWS.wsdl/types/"
        targetNamespace="http://uk/co/weatherbys/aapws/AAPWS.wsdl/types/"
        elementFormDefault="qualified">
        <element name="loadresultsElement">
            <complexType>
                <sequence>
                    <element name="username" type="string" nillable="true"/>
                    <element name="password" type="string" nillable="true"/>
                    <element name="resultdata" nillable="true">
                        <complexType>
                           <sequence>
                                <any/>
                             </sequence>
                        </complexType>
                    </element>
                </sequence>
            </complexType>
        </element>
        <element name="loadresultsResponseElement">
            <complexType>
                <sequence>
                    <element name="result" nillable="true">
                       <complexType>
                            <sequence>
                                <any/>
                            </sequence>
                        </complexType>
                    </element>
                </sequence>
            </complexType>
        </element>
    </schema>It is specifying that anything at all can be passed in and out from the two XMLType arguments, which is fair enough: it has no way of knowing what I am expecting and what I shall return.
    My question is, how do I tell JDeveloper that actually I want either or both of those XMLTypes to conform to a particular XML schema?

    You cannot format the date as a string, unless you do the conversion on the PL-SQL side, before you use it in your WebService mapping. It should be handled as a string.
    The only way to convert the XML from SOAP, using this encoding, into literal XML is to apply XSLT to the payload. Not sure why you would like to do this, as the payload should be consumed by another SOAP-awared stack.
    Hope this helps,
    Eric

  • Error while Registering XML Schema

    Hi Team,
    The mail purpose of my project is to load data from XML feed file into Oracle tables. I did following steps which went perfectly fine ...
    I did following steps.
    1)create DIRECTORY xml_dir as 'c:\xmldata';
    2) create table xmltab of XMLType;
    3) Following packages are executed through "Sys" Schema
    1)dbmslob.sql;
    2)prvtlob.plb;
    4) An xmldata folder is created under "c:\" and file with data_file.xml is stored in it.
    5) insert into xmltab values(XMLType(bfilename('XML_DIR ','data_file.xml'), nls_charset_id('AL32UTF8')));
    When I try to execute following select statment "No Rows Selected" message is displayed; although there is one element in xml data file.
    SELECT OBJECT_VALUE
    FROM xmltab
    WHERE existsNode(OBJECT_VALUE, '/ConsolidatedAssetHeader[AssetSourceSystem= "CAPS"]')=1
    Now I think in order to use all functions like existsNode and exctractValue I will have to register Schema in DB.
    Following is the XML Schema file.
    <xsd:schema targetNamespace="schemas-dart-com:sql:ConsolidatedAssetHeader" xmlns:schema="schemas-dart-com:sql:ConsolidatedAssetHeader" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sqltypes="http://schemas.microsoft.com/sqlserver/2004/sqltypes" elementFormDefault="qualified">
    <xsd:import namespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes" schemaLocation="http://schemas.microsoft.com/sqlserver/2004/sqltypes/sqltypes.xsd" />
    - <xsd:element name="ConsolidatedAssetHeader">
    - <xsd:complexType>
    - <xsd:sequence>
    <xsd:element name="InternalId" type="sqltypes:int" />
    - <xsd:element name="DCN">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="30" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="EventDateLastChanged" type="sqltypes:datetime" minOccurs="0" />
    - <xsd:element name="FinancialStatusIndicator" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="InScopeIndicator" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationPriorityIndicator" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="PhysicalInstallDate" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetComment" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="255" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetContractExtension" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetContractNumber" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetDescription" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="AssetFinancialInstallDate" type="sqltypes:datetime" minOccurs="0" />
    <xsd:element name="AssetFinancialRemovalDate" type="sqltypes:datetime" minOccurs="0" />
    - <xsd:element name="AssetFinancialStatus" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetName" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="255" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetParentSource" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetParentSourceID" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="AssetPhysicalInstallDate" type="sqltypes:datetime" minOccurs="0" />
    <xsd:element name="AssetPhysicalRemovalDate" type="sqltypes:datetime" minOccurs="0" />
    - <xsd:element name="AssetPhysicalStatus" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetPhysicalStatusIndicator" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetSerialIndicator" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetSerialNumber" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetSource" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetSourceID" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetSourceIndicator" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetSourceSystem" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetSourceType" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetTag" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="BillabilityIndicator" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="InScopeFlag" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="IPAddress" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="NetworkNumber" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="SubnetAddress" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element ref="schema:ConsolidatedAssetLocation" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    + <xsd:element name="ConsolidatedAssetLocation">
    - <xsd:complexType>
    - <xsd:sequence>
    <xsd:element name="InternalId" type="sqltypes:int" minOccurs="0" />
    <xsd:element name="ParentId" type="sqltypes:int" minOccurs="0" />
    - <xsd:element name="AssetLocationIDBillTo" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetLocationIDShipTo" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetLocationIDSoldTo" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetSourceDt" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetSourceIDDt" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="AssetSourceSystemDt" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="ContractNumberExtensionDt" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationBillToAddress" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationBillToAddressLine2" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationBillToAddressLine3" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationBillToCity" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationBillToCountry" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationBillToAddressLine4" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationBillToState" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationBillToZip" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationPriorityIndicator" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationShipToAddress" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationShipToAddressLine2" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationShipToAddressLine3" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationShipToAddressLine4" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationShipToCity" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationShipToCountry" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationShipToState" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationShipToZip" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationSoldToAddress" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationSoldToAddressLine2" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationSoldToAddressLine3" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationSoldToAddressLine4" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationSoldToCity" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationSoldToCountry" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationSoldToState" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="LocationSoldToZip" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="PartySource" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    - <xsd:element name="PartySourceID" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="RowCreateDateTime" type="sqltypes:datetime" minOccurs="0" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    I use following package to register schema, which is giving error
    BEGIN
    DBMS_XMLSCHEMA.registerSchema(
    'schemas-dart-com:sql:ConsolidatedAssetHeader',
    XDBURIType('http://schemas.microsoft.com/sqlserver/2004/sqltypes/sqltypes.xsd').getClob(),
    TRUE,
    TRUE,
    FALSE,
    TRUE);
    END;
    Following Error is displayed.
    BEGIN
    ERROR at line 1:
    ORA-31001: Invalid resource handle or path name
    "http://schemas.microsoft.com/sqlserver/2004/sqltypes/sqltypes.xsd"
    ORA-06512: at "SYS.XDBURITYPE", line 4
    ORA-06512: at line 2
    Can you please tell me what changes I need to make in order to resolve this error?Is there any specific location where I should put my schema file?
    Thanks in Advance
    Vaibhavi

    Create a file in c:\xmldata with the name my_xmlschema.xsd with the following content
    <xsd:schema targetNamespace="schemas-dart-com:sql:ConsolidatedAssetHeader" xmlns:schema="schemas-dart-com:sql:ConsolidatedAssetHeader" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sqltypes="http://schemas.microsoft.com/sqlserver/2004/sqltypes" elementFormDefault="qualified">
    <xsd:import namespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes" schemaLocation="http://schemas.microsoft.com/sqlserver/2004/sqltypes/sqltypes.xsd" />
      <xsd:element name="ConsolidatedAssetHeader">
      <xsd:complexType>
      <xsd:sequence>
    <xsd:element name="InternalId" type="sqltypes:int" />
      <xsd:element name="DCN">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="30" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="EventDateLastChanged" type="sqltypes:datetime" minOccurs="0" />
      <xsd:element name="FinancialStatusIndicator" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="InScopeIndicator" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationPriorityIndicator" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="PhysicalInstallDate" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetComment" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="255" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetContractExtension" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetContractNumber" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetDescription" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="AssetFinancialInstallDate" type="sqltypes:datetime" minOccurs="0" />
    <xsd:element name="AssetFinancialRemovalDate" type="sqltypes:datetime" minOccurs="0" />
      <xsd:element name="AssetFinancialStatus" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetName" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="255" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetParentSource" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetParentSourceID" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="AssetPhysicalInstallDate" type="sqltypes:datetime" minOccurs="0" />
    <xsd:element name="AssetPhysicalRemovalDate" type="sqltypes:datetime" minOccurs="0" />
      <xsd:element name="AssetPhysicalStatus" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetPhysicalStatusIndicator" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetSerialIndicator" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetSerialNumber" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetSource" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetSourceID" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetSourceIndicator" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetSourceSystem" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetSourceType" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetTag" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="BillabilityIndicator" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="InScopeFlag" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="IPAddress" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="NetworkNumber" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="SubnetAddress" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element ref="schema:ConsolidatedAssetLocation" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    + <xsd:element name="ConsolidatedAssetLocation">
      <xsd:complexType>
      <xsd:sequence>
    <xsd:element name="InternalId" type="sqltypes:int" minOccurs="0" />
    <xsd:element name="ParentId" type="sqltypes:int" minOccurs="0" />
      <xsd:element name="AssetLocationIDBillTo" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetLocationIDShipTo" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetLocationIDSoldTo" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetSourceDt" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetSourceIDDt" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="AssetSourceSystemDt" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="ContractNumberExtensionDt" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationBillToAddress" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationBillToAddressLine2" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationBillToAddressLine3" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationBillToCity" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationBillToCountry" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationBillToAddressLine4" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationBillToState" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationBillToZip" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationPriorityIndicator" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationShipToAddress" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationShipToAddressLine2" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationShipToAddressLine3" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationShipToAddressLine4" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationShipToCity" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationShipToCountry" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationShipToState" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationShipToZip" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationSoldToAddress" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationSoldToAddressLine2" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationSoldToAddressLine3" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationSoldToAddressLine4" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="150" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationSoldToCity" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationSoldToCountry" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationSoldToState" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="LocationSoldToZip" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="PartySource" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
      <xsd:element name="PartySourceID" minOccurs="0">
      <xsd:simpleType>
      <xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
    <xsd:maxLength value="50" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="RowCreateDateTime" type="sqltypes:datetime" minOccurs="0" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>

  • Try to do my first XML Schema in SQL Server 2012 Mangement Studio(SSMS2012)-How to execute the xsd and xml files in SSMS2012?

    Hi all,
    I learmed the basic stuff of XML, DTD, DOM, etc. long time ago. Now, I came back to resume my XML journey and try to learn the XML Schemas, XPath and XQuery. I have Microsoft SQL Server 2012 Management Studio (SSMS2012) in our computer network. From
    Page 221 of the old Book "Beginning XML 2nd Edition" written by David Hunter, et.al., (published by Wrox), I copied the name5.xsd and name5.xml :
    <?xml version="1.0"?>
    <schema xmlns=http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.wrox.com/name" xmlns:target="http://www.wrox.com/name"
    elementFormDefault="qualified">
    <element name="name">
    <complexType>
    <sequence>
    <element name="first" type="string"/>
    <element name="middle" type="string"/>
    <element name="last" type="string"/>
    </sequence>
    </complexType>
    </element>
    </schema>
    <?xml version="1.0"?>
    <name
    xmlns=http://www.wrox.com/name"
    xmlns:xsi="http://www.wrox.org/2001XMLSchema-instance"
    xsi:schemaLocation="http://www.wrox.com/name name5.xsd"
    title="Mr.">
    <first>John</first>
    <middle>Frizgerald</middle>
    <last>Doe</last>
    </name>
    How can I execute these two files in my SSMS2012 for doing my first XML Schema trial?
    Please kindly help, advise and respond.
    Thanks in advance,
    Scott Chang

    Hi Eric Zhang, Thanks for your nice response.
    1) I saw the CREATE XML SCHEMA COLLECTION (Transact-SQL) and tried  its first example "Create XML schema collection in the database" in my SQL Server 2012 Management Studio (SSMS2012):
    -- Create a sample database in which to load the XML schema collection.
    -- Copied this set of code stsments from Microsoft Library (ms176009)
    -- ColesMS12_20a.sql (saved in C:/Documents/SQL Server Management Studio)
    -- 19 March 2015 1145 AM
    CREATE DATABASE SampleDB
    GO
    USE SampleDB
    GO
    CREATE XML SCHEMA COLLECTION ManuInstructionsSchemaCollection AS
    N'<?xml version="1.0" encoding="UTF-16"?>
    <xsd:schema targetNamespace="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions"
    xmlns ="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
    <xsd:complexType name="StepType" mixed="true" >
    <xsd:choice minOccurs="0" maxOccurs="unbounded" >
    <xsd:element name="tool" type="xsd:string" />
    <xsd:element name="material" type="xsd:string" />
    <xsd:element name="blueprint" type="xsd:string" />
    <xsd:element name="specs" type="xsd:string" />
    <xsd:element name="diag" type="xsd:string" />
    </xsd:choice>
    </xsd:complexType>
    <xsd:element name="root">
    <xsd:complexType mixed="true">
    <xsd:sequence>
    <xsd:element name="Location" minOccurs="1" maxOccurs="unbounded">
    <xsd:complexType mixed="true">
    <xsd:sequence>
    <xsd:element name="step" type="StepType" minOccurs="1" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:attribute name="LocationID" type="xsd:integer" use="required"/>
    <xsd:attribute name="SetupHours" type="xsd:decimal" use="optional"/>
    <xsd:attribute name="MachineHours" type="xsd:decimal" use="optional"/>
    <xsd:attribute name="LaborHours" type="xsd:decimal" use="optional"/>
    <xsd:attribute name="LotSize" type="xsd:decimal" use="optional"/>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>' ;
    GO
    -- Verify - list of collections in the database.
    select *
    from sys.xml_schema_collections
    -- Verify - list of namespaces in the database.
    select name
    from sys.xml_schema_namespaces
    -- Use it. Create a typed xml variable. Note collection name specified.
    DECLARE @x xml (ManuInstructionsSchemaCollection)
    GO
    --Or create a typed xml column.
    CREATE TABLE T (
    i int primary key,
    x xml (ManuInstructionsSchemaCollection))
    GO
    -- ////The following code statements are not used in order to create SampleDB
    -- Clean up
    ---DROP TABLE T
    ---GO
    ---DROP XML SCHEMA COLLECTION ManuInstructionsSchemaCollection
    ---Go
    ---USE Master
    ---GO
    ---DROP DATABASE SampleDB
    It worked and I got the following results:
    1 4 NULL sys 2009-04-13 12:59:13.390 2012-02-10 20:16:02.097
    65536 1 NULL ManuInstructionsSchemaCollection 2015-03-19 11:47:17.660 2015-03-19 11:47:17.660
    http://www.w3.org/2001/XMLSchema
    http://schemas.microsoft.com/sqlserver/2004/sqltypes
    http://www.w3.org/XML/1998/namespace
    http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions
    But, I don't undertand (i) what SCHEMA COECTION is, (ii) what <xsd:schema targetNamespace=.....</xsd:complexType> are, (iii) How I can specify my "project specific" schema in the Microsoft SCHEMA COLLECTION to check my xml file.
    2) I dived in the XQuery programmimng in SSMS2012 in the last few weeks. I used the examles of Ad-Hoc XML File Query by Seth Delconte (in
    httpS://www.simple-talk.com/content/print.aspx?article=1756) in my SSMS2012. They worked. But I don't understand the (i) Importing XML data using a function, (ii) Using the XQuery contans()
    function to find substrings, (iii)Efficiency comparisons in the article.
    Please kindly help me in enlightening me to resolve the difficulties listed in 1) and 2).
    Thanks,
    Scott Chang

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

  • "key" specifying in xml schema

    hi,
    i created an xml schema with the following namespace.
    <xsd:schema
    xmlns:xsd="http://ww.w3c.org/2001/XMLSchema"
    xmlns ="http://ww.w3c.org/2001/XMLSchema"
    targetNamespace ="http://ww.w3c.org/2001/XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified">
    but when i use key & keyref, it gives following warning :
    "The 'http://ww.w3c.org/2001/XMLSchema:key'element is not supported in this context."
    example of my key usage :
    <xsd:key name = "PK_CounterParty">
    <xsd:selecter xpath =".//Counter_Party_CID"/>
    <xsd:field xpath = "CompID"/>
    </xsd:key>
    what can be the problem?
    Can anyone please help.
    Thanks in advance.

    Also remove the 'xsd' in front of the 'schema' tag.
    <schema xmlns:xsd="http://www.w3c.org/2001/XMLSchema" xmlns="http://www.w3c.org/2001/XMLSchema"
         targetNamespace="http://www.w3c.org/2001/XMLSchema" elementFormDefault="qualified"
         attributeFormDefault="unqualified">
         <xsd:key name="PK_CounterParty">
              <xsd:selecter xpath=".//Counter_Party_CID" />
              <xsd:field xpath="CompID" />
         </xsd:key>
    </schema>- Roy

  • JAXP API provides no way to enable XML Schema validation mode

    I am evaluating XDK 9.2.0.5.0 for Java and have encountered another
    problem with XML Schema support when using the JAXP API.
    Using the classes in oracle.xml.jaxp.*, it appears to be impossible to
    enable XML Schema validation mode. I can set the schema object, but
    the parser does not use it for validation.
    If I use DOMParser directly, I can call the setValidationMode(int)
    method to turn on schema validation mode. There is no equivalient
    means to enable XML Schema validation when using the JAXP API.
    Test case for JAXP API:
    === begin OracleJAXPSchemaTest.java ======
    package dfranklin;
    import java.io.*;
    import javax.xml.parsers.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;
    import oracle.xml.parser.schema.XMLSchema;
    import oracle.xml.parser.schema.XSDBuilder;
    import org.w3c.dom.*;
    import org.xml.sax.*;
    public class OracleJAXPSchemaTest
    private final static String xsd = ""
    +"<xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"urn:dfranklin:test\">"
    +" <xsd:element name=\"amount\" type=\"xsd:integer\"/>"
    +"</xsd:schema>";
    private final static String xml =
    "<amount xmlns=\"urn:dfranklin:test\">1</amount>";
    public static void main(String[] args)
    throws Exception
    System.setProperty("javax.xml.parsers.DocumentBuilderFactory",
              "oracle.xml.jaxp.JXDocumentBuilderFactory");
    new OracleJAXPSchemaTest().run();
    public void run()
    throws Exception
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    dbf.setValidating(true);
    dbf.setNamespaceAware(true);
    XMLSchema xmlSchema = buildXMLSchema(new StringReader(xsd));
    dbf.setAttribute("oracle.xml.parser.XMLParser.SchemaObject",
              xmlSchema);
    DocumentBuilder docbldr = dbf.newDocumentBuilder();
    Document doc = docbldr.parse(new InputSource(new StringReader(xml)));
    print(doc);
    private XMLSchema buildXMLSchema(Reader xsdin)
    throws Exception
    XSDBuilder xsdBuilder = new XSDBuilder();
    XMLSchema xmlSchema = (XMLSchema)xsdBuilder.build(xsdin, null);
    return xmlSchema;
    private void print(Document doc)
    throws
    javax.xml.transform.TransformerConfigurationException,
    javax.xml.transform.TransformerException
    Transformer xformer = TransformerFactory.newInstance().newTransformer();
    xformer.transform(new DOMSource(doc), new StreamResult(System.out));
    System.out.println();
    === end OracleJAXPSchemaTest.java ======
    Running that program:
    java dfranklin.OracleJAXPSchemaTest
    produces this output
    Exception in thread "main" oracle.xml.parser.v2.XMLParseException: Element 'amount' used but not declared.
    at oracle.xml.parser.v2.XMLError.flushErrors(XMLError.java:148)
    at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:269)
    at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:149)
    at oracle.xml.jaxp.JXDocumentBuilder.parse(JXDocumentBuilder.java:96)
    at dfranklin.OracleJAXPSchemaTest.run(OracleJAXPSchemaTest.java:40)
    at dfranklin.OracleJAXPSchemaTest.main(OracleJAXPSchemaTest.java:27)
    This shows that the parser is not using the XML Schema to validate the
    document. I think it's expecting to find a DTD.
    Here is the equivalent program using DOMParser directly, and setting
    validation mode to SCHEMA_VALIDATION.
    === begin OracleParserTest.java ====
    package dfranklin;
    import java.io.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;
    import oracle.xml.parser.schema.XMLSchema;
    import oracle.xml.parser.schema.XSDBuilder;
    import oracle.xml.parser.v2.DOMParser;
    import oracle.xml.parser.v2.XMLParser;
    import org.w3c.dom.*;
    import org.xml.sax.*;
    public class OracleParserTest
    private final static String xsd = ""
    +"<xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"urn:dfranklin:test\">"
    +" <xsd:element name=\"amount\" type=\"xsd:integer\"/>"
    +"</xsd:schema>";
    private final static String xml =
    "<amount xmlns=\"urn:dfranklin:test\">1</amount>";
    public static void main(String[] args)
    throws Exception
    new OracleParserTest().run();
    public void run()
    throws Exception
    DOMParser dp = new DOMParser();
    XMLSchema xmlSchema = buildXMLSchema(new StringReader(xsd));
    dp.setXMLSchema(xmlSchema);
    dp.setValidationMode(XMLParser.SCHEMA_VALIDATION);
    dp.parse(new InputSource(new StringReader(xml)));
    Document doc = dp.getDocument();
    print(doc);
    private XMLSchema buildXMLSchema(Reader xsdin)
    throws Exception
    XSDBuilder xsdBuilder = new XSDBuilder();
    XMLSchema xmlSchema = (XMLSchema)xsdBuilder.build(xsdin, null);
    return xmlSchema;
    private void print(Document doc)
    throws
    javax.xml.transform.TransformerConfigurationException,
    javax.xml.transform.TransformerException
    Transformer xformer = TransformerFactory.newInstance().newTransformer();
    xformer.transform(new DOMSource(doc), new StreamResult(System.out));
    System.out.println();
    === end OracleParserTest.java ====
    Running that program
    java dfranklin.OracleParserTest
    produces this output
    <?xml version = '1.0'?>
    <amount xmlns="urn:dfranklin:test">1</amount>
    In this case, the parser has validated the document.
    I also tried this with version 10.1.0.0.0 beta, and got the same
    error.
    Darin Franklin

    Thanks for posting that. I tried that code and still got my problem. The big difference is that I'm reading a group of XML files each of which uses a large number of schema files. There are over 50 schema files organized so they can be included as needed. Each of the XML files has a noNamespaceSchemaLocation attribute specifying one of the ten top schma files, that includes many others.
    However, I did solve the problem. I added one line --
           saxb.setFeature( "http://apache.org/xml/features/validation/schema",
                    true);
            // next line is new
            saxb.setProperty( JAXPConstants.JAXP_SCHEMA_LANGUAGE,
                    JAXPConstants.W3C_XML_SCHEMA );after the setFeature to turn on schema validation.
    (It needs an import org.apache.xerces.jaxp.JAXPConstants; statement.)
    Note:With the feature set to true and the setProperty commented out, the EntityResolver is called at construction tiem, and for each schema file, but each element is flagged as needing to be declared.
    With the feature commented out, and the setProperty in place, the EntityResolver is not called, and there is no validation performed. (I added invalid content to one of the files and there were no errors listed.)
    With both the setFeature and the setProperty in place, however, I get the calls from the EntityResolver indicating that it is processing the schema files, and for the good files, I get no errror, but for the bad file, I get an error indicating a bad validation.
    Now I can make the EntityResolver quiet and get what I wanted. Maybe there are other ways to do this, but I've got one that works. :-)
    Thanks to all who have helped.
    Dave Patterson

  • Autotype from XML schema problems

    Hello,
    I am trying to autotype the following Xml schema:
    http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-3
    My build.xml contains:
    <target name="autotype" >
         <autotype
              schemaFile="REL-5-MM7-1-3.xsd"
              targetNamespace="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-3"
              packageName="com.foo"
              keepGenerated = "True"
              destDir="output" />
    </target>
    1.
    I run using ant but it fails..
    SubmitRspTypeCodec.java:15: cannot resolve symbol
    [autotype] symbol : class GenericResponseTypeCodec
    [autotype] location: package soap
    [autotype] extends javax.xml.soap.GenericResponseTypeCodec
    weblogic.webservice.tools.build.WSBuildException: Failed to do type mapping -
    with nested exception:
    [weblogic.xml.schema.binding.BindingException: ERROR: during code compilation
    - with nested exception:
    [java.io.IOException: Compiler failed executable.exec]]
    The interesting point is when i deleted following 3 lines from schema (line 413
    to 415 in REL-5-MM7-1-3.xsd),
    <xs:sequence>
         <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    no compile error is thrown.
    2.
    But the weird thing is that some of classes are not generated, for example SubmitReqType,
    ReplaceReqType. This is because they reference RelativeOrAbsoluteDateType (line
    367). And RelativeOrAbsoluteDateType contains the following union definition:
    <xs:union memberTypes="xs:dateTime xs:duration"/>
    i think that this union definition might cause problem but neither an error nor
    a warning message is submitted from ant. It says successful but missing classes.
    I am struggling with these 2 problems for days, any help would be appreciated.
    Thanks,
    aLi

    Hi Ali,
    I suspect that the reason you are having this problem is covered in the following
    link:
    http://e-docs.bea.com/wls/docs81/webserv/overview.html#1074641
    I guess my question is, what else do you have in the build.xml that uses (or attempts
    to use) the autotype Ant task? Are you trying to build a client (i.e. a JAX-RPC
    static stub) for a web service? Is this for a WebLogic Web Service you want to
    build? Or are you just trying to see if autotype can process the .xsd file, in
    question? If so, the above link states why it currently won't work.
    One alternative option, is to use a Workshop Schema project (or XMLBeans) to process
    the .xsd file. I just did that, and it worked fine :-)
    Regards,
    Mike Wooten
    "Ali Pakkan" <[email protected]> wrote:
    >
    Hello,
    I am trying to autotype the following Xml schema:
    http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-3
    My build.xml contains:
    <target name="autotype" >
         <autotype
              schemaFile="REL-5-MM7-1-3.xsd"
              targetNamespace="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-3"
              packageName="com.foo"
              keepGenerated = "True"
              destDir="output" />
    </target>
    1.
    I run using ant but it fails..
    SubmitRspTypeCodec.java:15: cannot resolve symbol
    [autotype] symbol : class GenericResponseTypeCodec
    [autotype] location: package soap
    [autotype] extends javax.xml.soap.GenericResponseTypeCodec
    weblogic.webservice.tools.build.WSBuildException: Failed to do type mapping
    with nested exception:
    [weblogic.xml.schema.binding.BindingException: ERROR: during code compilation
    - with nested exception:
    [java.io.IOException: Compiler failed executable.exec]]
    The interesting point is when i deleted following 3 lines from schema
    (line 413
    to 415 in REL-5-MM7-1-3.xsd),
    <xs:sequence>
         <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    no compile error is thrown.
    2.
    But the weird thing is that some of classes are not generated, for example
    SubmitReqType,
    ReplaceReqType. This is because they reference RelativeOrAbsoluteDateType
    (line
    367). And RelativeOrAbsoluteDateType contains the following union definition:
    <xs:union memberTypes="xs:dateTime xs:duration"/>
    i think that this union definition might cause problem but neither an
    error nor
    a warning message is submitted from ant. It says successful but missing
    classes.
    I am struggling with these 2 problems for days, any help would be appreciated.
    Thanks,
    aLi

  • Trouble including registered XML Schema in generated XML

    Hello,
    I'm new to XMLDB, and find myself wanting to build an XML document that conforms
    to a paricular XML schema. I'm looking for help in "passing" the shema into the
    xml query, and for advice (i may not be going about things in the best way possible).
    my data comes from three different sources: deliveries, origin of deliveries (warehouse),
    and a user-defined parameter (number of vehicles). I am putting the xml data together via union statements.
    this is slightly undesireable due to the limitations on union (no xmltypes, no clobs)
    and the size limitation of the varchar datatype. If there is a better way of structuring
    the end XML document (all three sources, one output record) then please advise me.
    I am having issues "passing" the registered XML schema to the SYS_XMLGEN function,
    so if you see where I've made a mistake, please point it out.
    Last thing, Oracle version: 9.2.0.4.0 (aka 9iR2)
    --Register a new XML schema
    --Since this is a GLOBAL schema, register it as privileged user (SYS).
    DECLARE
           vrp varchar2(10000) :=
    '<xs:schema targetNamespace="http://example.com/vrp.xsd"
        xmlns:vrp="http://example.com/vrp.xsd"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        elementFormDefault="qualified">
        <xs:complexType name="VehicleRoute">
            <xs:sequence>
                <xs:element name="Stops" type="vrp:Stops" minOccurs="1" maxOccurs="1" />
                <xs:element name="Vehicles" type="xs:string" minOccurs="1" maxOccurs="1" />
                <xs:element name="Warehouse" type="vrp:Warehouse" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
        <xs:complexType name="Stops">
            <xs:sequence>
                <xs:element name="Stop" type="vrp:Stop" minOccurs="1" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
        <xs:complexType name="Stop">
            <xs:sequence>
                <xs:element name="Documents" type="vrp:Documents" minOccurs="1" maxOccurs="1" />
                <xs:element name="Stop_Address" type="xs:string" minOccurs="1" maxOccurs="1" />
                <xs:element name="Stop_Minutes" type="xs:double" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
        <xs:complexType name="Documents">
            <xs:sequence>
                <xs:element name="Document" type="xs:string" minOccurs="1" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
        <xs:complexType name="Warehouse">
            <xs:sequence>
                <xs:element name="Warehouse_Address" type="xs:string" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
        <xs:element name="Vehicle_Route" type="vrp:VehicleRoute" />
    </xs:schema>';  
    begin
      --"CUSTOM" is the name of my database user - the SCHEMA in which this development should occur.
         dbms_xmlschema.registerschema('http://example.com/vrp.xsd', vrp, false, false, false, false, false, 'CUSTOM');
    END;Here is the XML schema (as viewed by the 'CUSTOM' user):
    <xs:schema targetNamespace="http://example.com/vrp.xsd" xmlns:vrp="http://example.com/vrp.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:oraxdb="http://xmlns.oracle.com/xdb" oraxdb:flags="17" oraxdb:schemaURL="http://example.com/vrp.xsd" oraxdb:schemaOwner="CUSTOM" oraxdb:numProps="10">
      <xs:complexType name="VehicleRoute" oraxdb:SQLType="CLOB">
        <xs:sequence>
          <xs:element name="Stops" type="vrp:Stops" minOccurs="1" maxOccurs="1" oraxdb:propNumber="2225" oraxdb:global="false" oraxdb:memType="258" oraxdb:SQLInline="true" oraxdb:MemInline="false" oraxdb:JavaInline="false"/>
          <xs:element name="Vehicles" type="xs:string" minOccurs="1" maxOccurs="1" oraxdb:propNumber="2226" oraxdb:global="false" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true"/>
          <xs:element name="Warehouse" type="vrp:Warehouse" minOccurs="1" maxOccurs="1" oraxdb:propNumber="2227" oraxdb:global="false" oraxdb:memType="258" oraxdb:SQLInline="true" oraxdb:MemInline="false" oraxdb:JavaInline="false"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="Stops" oraxdb:SQLType="CLOB">
        <xs:sequence>
          <xs:element name="Stop" type="vrp:Stop" minOccurs="1" maxOccurs="unbounded" oraxdb:propNumber="2228" oraxdb:global="false" oraxdb:memType="258" oraxdb:SQLInline="true" oraxdb:MemInline="false" oraxdb:JavaInline="false"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="Stop" oraxdb:SQLType="CLOB">
        <xs:sequence>
          <xs:element name="Documents" type="vrp:Documents" minOccurs="1" maxOccurs="1" oraxdb:propNumber="2229" oraxdb:global="false" oraxdb:memType="258" oraxdb:SQLInline="true" oraxdb:MemInline="false" oraxdb:JavaInline="false"/>
          <xs:element name="Stop_Address" type="xs:string" minOccurs="1" maxOccurs="1" oraxdb:propNumber="2230" oraxdb:global="false" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true"/>
          <xs:element name="Stop_Minutes" type="xs:double" minOccurs="1" maxOccurs="1" oraxdb:propNumber="2231" oraxdb:global="false" oraxdb:memType="2" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="Documents" oraxdb:SQLType="CLOB">
        <xs:sequence>
          <xs:element name="Document" type="xs:string" minOccurs="1" maxOccurs="unbounded" oraxdb:propNumber="2232" oraxdb:global="false" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="Warehouse" oraxdb:SQLType="CLOB">
        <xs:sequence>
          <xs:element name="Warehouse_Address" type="xs:string" minOccurs="1" maxOccurs="1" oraxdb:propNumber="2233" oraxdb:global="false" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="Vehicle_Route" type="vrp:VehicleRoute" oraxdb:propNumber="2224" oraxdb:global="true" oraxdb:SQLType="CLOB" oraxdb:SQLName="Vehicle_Route" oraxdb:memType="258"/>
    </xs:schema>Here is sample data for reproducing what I'm seeing:
    --Create the "document" table
    create table vrp_document
    (document_num varchar2(10),
    document_minutes number(10),
    document_address varchar2(30));
    --Sample "document" data
    insert into vrp_document (document_num, document_minutes, document_address)
    values ('TEST1', 30, '1234 ELM ST');
    insert into vrp_document (document_num, document_minutes, document_address)
    values ('TEST2', 20, '1234 ELM ST');
    insert into vrp_document (document_num, document_minutes, document_address)
    values ('TEST3', 40, '1234 MAPLE ST');
    insert into vrp_document (document_num, document_minutes, document_address)
    values ('TEST3', 15, '1234 YEW ST');
    --Create the "warehouse" table
    create table vrp_warehouse
    (warehouse_id varchar2(3),
    warehouse_address varchar2(30));
    --Sample "warehouse" data
    insert into vrp_warehouse (warehouse_id, warehouse_address)
    values ('100', '900 MY OWN WAY');Query to produce XML
    Please note, I realize that for the data provided, the aggregations (and sub queries)
    are a little over the top. They are however necessary for my actual data set.
    SELECT SYS_XMLGEN(xmlagg(XMLTYPE(xmlroute)),  xmlformat.createFormat('Vehicle_Route')).getStringVal() Delivery_XML_Data
    FROM (SELECT XMLELEMENT("Stops",
              XMLAGG(XMLELEMENT("Stop",    
              XMLCONCAT(
                XMLELEMENT("Documents",
                    xmlagg(xmlelement("Document", t.document))),
                  xmlforest(t.document_address "Stop_Address",  
                 SUM(t.document_minutes) "Stop_Minutes"))))).getStringVal() AS xmlroute
    from     (select   s.document_num document, 
                       s.document_address,
                       sum(s.document_minutes) document_minutes
              from     vrp_document s       
              group by s.document_num, s.document_address) t
    GROUP BY t.document_address
    UNION
    SELECT   XMLELEMENT("Warehouse",
             xmlforest(
              w.warehouse_address "Warehouse_Address")).getstringval()
    from     vrp_warehouse w
    WHERE    w.warehouse_id = '100'
    union
    select   xmlelement("Vehicles", '&Number_Of_Vehicles').getstringval()
    FROM     dual) g;This query produces the following (Note. Answer "1" or any other integer for &Number_Of_Vehicles):
    The only other thing I want is to mention the above schema (that is, xmlns:http://example.com/vrp) or however that goes.
    I realize I can "fudge" this by assigning the attribute for various elements, but I think the "right" way would be to modify that call to createFormat().
    <?xml version="1.0"?>
    <Vehicle_Route>
    <Stops>
      <Stop>
        <Documents>
          <Document>TEST1</Document>
          <Document>TEST2</Document>
        </Documents>
        <Stop_Address>1234 ELM ST</Stop_Address>
        <Stop_Minutes>50</Stop_Minutes>
      </Stop>
      <Stop>
        <Documents>
          <Document>TEST3</Document>
        </Documents>
        <Stop_Address>1234 MAPLE ST</Stop_Address>
        <Stop_Minutes>40</Stop_Minutes>
      </Stop>
      <Stop>
        <Documents>
          <Document>TEST3</Document>
        </Documents>
        <Stop_Address>1234 YEW ST</Stop_Address>
        <Stop_Minutes>15</Stop_Minutes>
      </Stop>
    </Stops>
    <Vehicles>1</Vehicles>
    <Warehouse>
      <Warehouse_Address>900 MY OWN WAY</Warehouse_Address>
    </Warehouse>
    </Vehicle_Route>I have tried various permutation of the following with no success:
    Currently, the error is something serious:
    ORA-00600: internal error code, arguments: [kkdotat1], [], [], [], [], [], [], []
    00600. 00000 - "internal error code, arguments: [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s]"
    *Cause:    This is the generic internal error number for Oracle program
    exceptions.     This indicates that a process has encountered an
    exceptional condition.
    *Action:   Report as a bug - the first argument is the internal error number
    SELECT SYS_XMLGEN(xmlagg(XMLTYPE(xmlroute)),  xmlformat.createFormat('Vehicle_Route', 'USE_GIVEN_SCHEMA', 'http://example.com/vrp.xsd', 'http://example.com/vrp.xsd')).getStringVal() Delivery_XML_Data
    . . .Edited by: user2316919 on Jan 21, 2010 3:46 PM

    Cannot find a cleanest solution:
    SQL>  select xmltype('<?xml version="1.0"?>'||
      2                  xmlelement("Vehicle_Route",
      3                     xmlattributes('http://www.w3.org/2001/XMLSchema-instance' AS "xmlns:xsi",
      4                                   'http://example.com/vrp.xsd' AS "xsi:schemaLocation"
      5                                   ),
      6                     xmlagg(xmltype(xmlroute))
      7                     ).extract('/*')
      8                  ) Delivery_XML_Data
      9   FROM (SELECT XMLELEMENT("Stops",
    10             XMLAGG(XMLELEMENT("Stop",    
    11             XMLCONCAT(
    12               XMLELEMENT("Documents",
    13                   xmlagg(xmlelement("Document", t.document))),
    14             xmlforest(t.document_address "Stop_Address",  
    15                SUM(t.document_minutes) "Stop_Minutes"))))).getStringVal() AS xmlroute
    16   from     (select   s.document_num document, 
    17                      s.document_address,
    18                      sum(s.document_minutes) document_minutes
    19             from     vrp_document s       
    20             group by s.document_num, s.document_address) t
    21   GROUP BY t.document_address
    22   UNION
    23   SELECT   XMLELEMENT("Warehouse",
    24             xmlforest(
    25              w.warehouse_address "Warehouse_Address")).getstringval()
    26    from     vrp_warehouse w
    27    WHERE    w.warehouse_id = '100'
    28    union
    29    select   xmlelement("Vehicles", '&Number_Of_Vehicles').getstringval()
    30    FROM     dual) g;
    Immettere un valore per number_of_vehicles: 1
    vecchio  29:   select   xmlelement("Vehicles", '&Number_Of_Vehicles').getstringval()
    nuovo  29:   select   xmlelement("Vehicles", '1').getstringval()
    DELIVERY_XML_DATA
    <?xml version="1.0"?><Vehicle_Route xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema
    http://example.com/vrp.xsd">
      <Stops>
        <Stop>
          <Documents>
            <Document>TEST1</Document>
            <Document>TEST2</Document>
          </Documents>
          <Stop_Address>1234 ELM ST</Stop_Address>
          <Stop_Minutes>50</Stop_Minutes>
        </Stop>
        <Stop>
          <Documents>
            <Document>TEST3</Document>
          </Documents>
          <Stop_Address>1234 MAPLE ST</Stop_Address>
          <Stop_Minutes>40</Stop_Minutes>
        </Stop>
        <Stop>
          <Documents>
            <Document>TEST3</Document>
          </Documents>
          <Stop_Address>1234 YEW ST</Stop_Address>
          <Stop_Minutes>15</Stop_Minutes>
        </Stop>
      </Stops>
      <Vehicles>1</Vehicles>
      <Warehouse>
        <Warehouse_Address>900 MY OWN WAY</Warehouse_Address>
      </Warehouse>
    </Vehicle_Route>
    {code}
    Max
    [My Italian Oracle blog|http://oracleitalia.wordpress.com/2010/01/17/supporto-di-xml-schema-in-oracle-xmldb/]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • How can I  refer an xml  Schema that was registred in Oracle xml DB

    How can I refer an xml Schema that was registred in Oracle xml DB, from other xml schema?
    I have the follow schema,:
    <?xml version="1.0" encoding="AL32UTF8"?>
    <xsd:schema targetNamespace="schemastipostasa.xsd"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xdb="http://xmlns.oracle.com/xdb/XDBSchema.xsd"
    elementFormDefault="unqualified" version="1.0"
    attributeFormDefault="unqualified">
    <xsd:simpleType name="codigosType" xdb:SQLType="NUMBER(4)">
    <xsd:restriction base="xsd:positiveInteger" >
    <xsd:totalDigits value="4" />
    </xsd:restriction>
    </xsd:simpleType >
    <xsd:simpleType name="integerUnoType" xdb:SQLType="NUMBER(1)">
    <xsd:restriction base="xsd:int" >
    <xsd:totalDigits value="1" />
    </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="condicionType" xdb:SQLType="VARCHAR2(1)">
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="S" >
    <xsd:annotation>
    <xsd:documentation>Condicion si es S</xsd:documentation>
    </xsd:annotation>
    </xsd:enumeration>
    <xsd:enumeration value="N" >
    <xsd:annotation>
    <xsd:documentation>Condicion no es N</xsd:documentation>
    </xsd:annotation>
    </xsd:enumeration>
    </xsd:restriction>
    </xsd:simpleType >
    </xsd:schema>
    I registred the schema written above with the folowwing pl*sql :
    DECLARE
    direc varchar2(2000);
    nombreArch BFILE;
    mens varchar2(2000);
    BEGIN
    direc:=uso_comun.pack_mail.fun_valor_param('TASA','DIR_DBSERVER');
    nombreArch:=bfilename(direc,'schemas_tipos_tasa.xsd');
    DBMS_XMLSCHEMA.registerSchema(
    SCHEMAURL => 'http://xmlns.oracle.com/tasa/schemas.tipos.tasa.xsd',
    SCHEMADOC => nombreArch,
    LOCAL => TRUE,
    CSID => nls_charset_id('AL32UTF8'));
    dbms_lob.CLOSE(nombreArch);
    dbms_output.put_line('salio sin cancelar');
    exception
    when others then
    mens:=sqlerrm;
    dbms_lob.CLOSE(nombreArch);
    rollback;
    raise_application_error (-20001,'en registro shcema='||mens);
    END;
    Then, I want to register the following schema, that mention de schema above:
    <?xml version="1.0" encoding="AL32UTF8"?>
    <xsd:schema targetNamespace="schema.repuesto.xsd"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xdb="http://xmlns.oracle.com/xdb/XDBSchema.xsd"
    xmlns:tns="http://xmlns.oracle.com/tasa/schemas.tipos.tasa.xsd"
    elementFormDefault="qualified" version="1.0"
    attributeFormDefault="unqualified" >
    <xsd:element name="PRECIORENG" type="preciorepType" />
    <xsd:complexType name="preciorepType" >
    <xsd:sequence minOccurs="1" maxOccurs="unbounded">
    <xsd:element name="CODIGO_MARCA" type="tns:codigosType" />
    <xsd:element name="ORIGEN_PRECIO" type="tns:integerUnoType" />
    <xsd:element name="INGRESO_POR_FALTANTE" type="tns:condicionType" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    But when a run the following script whith the same db-user:
    DECLARE
    direc varchar2(2000);
    nombreArch BFILE;
    mens varchar2(2000);
    BEGIN
    direc:=uso_comun.pack_mail.fun_valor_param('TASA','DIR_DBSERVER');
    -- nombreArch:=bfilename(direc,'prueba_schema_seis.xsd');
    nombreArch:=bfilename(direc,'Schema_repuesto_nuevo.xsd');
    DBMS_XMLSCHEMA.registerSchema(
    SCHEMAURL =>'http://xmlns.oracle.com/tasa/schema.repuesto.xsd',
    SCHEMADOC => nombreArch,
    LOCAL => TRUE,
    CSID => nls_charset_id('AL32UTF8'));
    dbms_lob.CLOSE(nombreArch);
    dbms_output.put_line('salio sin cancelar');
    --commit;
    exception
    when others then
    mens:=sqlerrm;
    dbms_lob.CLOSE(nombreArch);
    rollback;
    raise_application_error (-20001,'en registro shcema='||mens);
    END;
    tell me the error: ORA: 01031, insufficient privileges!!!!, what’s wrong??,

    Hi,
    To register schema, you require XDBADMIN system privilege granted to the user.
    Please verify this and retry.
    Rgds,
    Rakesh Tripathi

  • Can't create defaultTable when registering XML Schema

    Hi,
    when registering an XML Schema with a xdb:defaultTable Attribute the default table is not created. The user owns role XDBADMIN!
    What goes wrong with my example??
    <code>
    <?xml version='1.0'?>
    <xsd:schema xmlns:xdb="http://xmlns.oracle.com/xdb"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element name="Invoice" xdb:defaultTable="INVOICE_SIMPLE">
    <xsd:complexType >
    <xsd:sequence>
    <xsd:element name="CustomerRef" type="xsd:integer" />
    <xsd:element name="Supplier" type="xsd:string" />
    <xsd:element name="TotalAmount" type="xsd:decimal" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    begin
    dbms_xmlschema.registerSchema('invoice_simple.xsd', getDocument('invoice_simple.xsd'),
    FALSE, TRUE, FALSE, FALSE);
    end;
    </code>
    Any hint is wellcome!
    Thanx.

    this works fine for me:
    declare
    doc varchar2(2000) := '<xsd:schema xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="_new"
    xmlns="_new">
    <xsd:element name="Invoice" xdb:defaultTable="INVOICE_SIMPLE">
              <xsd:complexType>
                   <xsd:sequence>
                        <xsd:element name="CustomerRef" type="xsd:integer"/>
                        <xsd:element name="Supplier" type="xsd:string"/>
                        <xsd:element name="TotalAmount" type="xsd:decimal"/>
                   </xsd:sequence>
              </xsd:complexType>
         </xsd:element>
    </xsd:schema>';
    begin
    dbms_xmlschema.registerSchema('invoice_simple.xsd', doc);
    end;

  • Maximum length for an XML schema

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

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

Maybe you are looking for