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.AWE60
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
VaibhaviCreate 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> -
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 ChangHi 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 FranklinThanks 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,
aLiHi 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 PMCannot 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!
IKHi 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
-
Hyperlinks (a href) have been outdated for a very long time
I have felt that "a href" hyprlinks have been outdated for a very long time. so much so that they should no longer be known to most developers (like frames and html based hyperlink maps) the only thing they can do is cause a new page to load. The eve
-
How can I resolve itunes not connecting to the itunes store? The diagnosis result is as follows Microsoft Windows 7 Enterprise Edition Service Pack 1 (Build 7601) LENOVO 74695HG iTunes 11.0.1.12 QuickTime 7.7.3 FairPlay 2.2.32 Apple Application Suppo
-
Dynamic Default value of variable in query
Hi, I would like to set current date as default value (e.g. system date 'SY-DATE') for a variable on selection screen in query. How to do that? Thanks, Helen
-
DivX in Safari 3.0.3
For me Safari will freeze everytime I try to play a DivX Video in an embeded player. DivX is listed in my plugins folder but it still won't play any files. DivX Stage6 has never worked and I was wondering if anyone else had this problem. Message was
-
Z1 bluetooth and network problem after updating to 1.136
Hi, Last week I updated my phone via PC companion when it notified me a new system update was available. The update took me from Android 4.2.2 to 4.3, and the biuld number is now 14.2.A.1.136. I use my phone with a SmartWatch 2 all the time, and a SB