UpdateXML on a xmlType table
I am getting "end of file on communication channel" when I try to update an element using updateXML. This heppens when I set both genTables and storeVarrayAsTable to true.
If I set storeVarrayAsTable to false, the same updateXML works fine.
Has anyone encountered the same problem? Is updateXML supposed work with nested tables?
Here is the TAR number 3897519.994
VARRAY gives me reasonable performance overall, but I haven't seem the same level of stabitily and performance from nested tables. I realized that one of complexElement is recurrsive so that I added xdb:SQLType="CLOB" to it, but it didn't help.
I don't know if the performance which I got so far is as fast as it can go.
Thanks
Similar Messages
-
Join two xmltype table using Xquery
I am wondering how to join two xmltype tables in xml db database. both tables are schema based object-relational tables.
these are the examples:
academicProgram table contain batch of academicprogram.xml entries
<academicProgram>
<listOfCourse>
<course><id>1</id></course>
<course><id>2</id></course>
</listOfCourse>
</academicProgram>
course table contain all the course entries, each of them is an xml file based on the the course schema. for example,
course1.xml
<course>
<id>1</id>
<title>xxxxxxx</title>
<description>xxxxxxxxxxxxxx</description>
</course>
I used the following xquery code to merge the detailed course information from course table to the academic program information
select *
from XMLTable(
for $program in ora:view("HTU", "ACADEMICPROGRAM")
return <academicProgram xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"
for $node in $program/academicProgram/node()
return if (name($node) eq "listOfCourse")
then (
<listOfCourse>{
for $i in $node/course
for $j in ora:view("HTU", "COURSE")/course
where $i/id eq $j/id
return $j
}</listOfCourse>
else $node
</academicProgram>
it did return what I want, but the problem is it take more than 5 minutes to finish. is there someway to make it run faster? I have been struggling for a week, please help.
thanks in advance.
HailiDoes this work...
SQL> var schemaURL varchar2(256)
SQL> var schemaPath varchar2(256)
SQL> --
SQL> set autotrace on explain
SQL> set lines 150 pages 0 long 10000
SQL> --
SQL> begin
2 :schemaURL := 'http://aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/custom.xsd';
3 :schemaPath := '/public/custom.xsd';
4 end;
5 /
PL/SQL procedure successfully completed.
SQL> call dbms_xmlSchema.deleteSchema(:schemaURL,4)
2 /
Call completed.
SQL> declare
2 res boolean;
3 xmlSchema xmlType := xmlType(
4 '<xs:schema xmlns:apcustom="http://www.mdanderson.org/schema/APEP/custom" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="
http://www.mdanderson.org/schema/APEP/custom" elementFormDefault="qualified" attributeFormDefault="unqualified">
5 <xs:element name="CourseCatalogCustomDataType">
6 <xs:annotation>
7 <xs:documentation>Comment describing your root element</xs:documentation>
8 </xs:annotation>
9 </xs:element>
10 </xs:schema>');
11 begin
12 if (dbms_xdb.existsResource(:schemaPath)) then
13 dbms_xdb.deleteResource(:schemaPath);
14 end if;
15 res := dbms_xdb.createResource(:schemaPath,xmlSchema);
16 end;
17 /
PL/SQL procedure successfully completed.
SQL> begin
2 dbms_xmlschema.registerSchema
3 (
4 :schemaURL,
5 xdbURIType(:schemaPath).getClob(),
6 TRUE,TRUE,FALSE,TRUE
7 );
8 end;
9 /
PL/SQL procedure successfully completed.
SQL> begin
2 :schemaURL := 'http://aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/courseCatalog.xsd';
3 :schemaPath := '/public/courseCatalog.xsd';
4 end;
5 /
PL/SQL procedure successfully completed.
SQL> call dbms_xmlSchema.deleteSchema(:schemaURL,4)
2 /
Call completed.
SQL> declare
2 res boolean;
3 xmlSchema xmlType := xmlType(
4 '<?xml version="1.0" encoding="UTF-8"?>
5 <!-- edited with XMLSpy v2006 rel. 3 U (http://www.altova.com) by John Grossman (UT MD Anderson Cancer Center)
6 -->
7 <xs:schema xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog" xmlns:xs="http://www.w3.
org/2001/XMLSchema" xmlns:ns1="http://www.mdanderson.org/schema/APEP/custom" targetNamespace="http://www.mdanderson.org/schema/APEP/courseCa
talog" elementFormDefault="qualified" attributeFormDefault="unqualified" xdb:storeVarrayAsTable="true">
8 <xs:import namespace="http://www.mdanderson.org/schema/APEP/custom" schemaLocation="http://aahmb10-147:7575/public/www.mdanderson.or
g/schema/APEP/custom.xsd"/>
9 <!-- ######################################## -->
10 <!-- GLOBAL ELEMENTS -->
11 <!-- ######################################## -->
12 <xs:element name="course" type="CourseType" xdb:defaultTable="COURSE">
13 <xs:annotation>
14 <xs:documentation>Comment describing your root element</xs:documentation>
15 </xs:annotation>
16 </xs:element>
17 <xs:element name="listOfCourse" type="ListOfCourseType" xdb:defaultTable="COURSELIST"/>
18 <xs:element name="courseCatalog" type="CourseCatalogType" xdb:defaultTable="COURSECATALOG"/>
19 <!-- ######################################## -->
20 <!-- GLOBAL TYPES -->
21 <!-- ######################################## -->
22 <xs:complexType name="CompositeIDType" xdb:SQLType="COURSE_COMPOSITEID_T">
23 <xs:sequence>
24 <xs:element name="prefix" xdb:SQLName="PREFIX">
25 <xs:simpleType>
26 <xs:restriction base="xs:string">
27 <xs:length value="2"/>
28 </xs:restriction>
29 </xs:simpleType>
30 </xs:element>
31 <xs:element name="level" type="xs:positiveInteger" xdb:SQLName="COURSELEVEL"/>
32 <xs:element name="creditHours" type="xs:positiveInteger" xdb:SQLName="CREDITHOURS"/>
33 <xs:element name="identNumber" xdb:SQLName="IDENTNUMBER">
34 <xs:simpleType>
35 <xs:restriction base="xs:string">
36 <xs:length value="2"/>
37 </xs:restriction>
38 </xs:simpleType>
39 </xs:element>
40 </xs:sequence>
41 </xs:complexType>
42 <xs:complexType name="CourseType" xdb:SQLType="COURSE_T">
43 <xs:sequence>
44 <xs:element name="id" type="xs:integer" minOccurs="0" xdb:SQLName="ID"/>
45 <xs:element name="compositeID" type="CompositeIDType" minOccurs="0" xdb:SQLName="COMPOSITEID"/>
46 <xs:element name="title" type="xs:string" minOccurs="0" xdb:SQLName="TITLE"/>
47 <xs:element name="description" type="xs:string" minOccurs="0" xdb:SQLName="DESCRIPTION"/>
48 <xs:element name="corequisite" type="CompositeIDType" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="COREQUISITE"
xdb:defaultTable=""/>
49 <xs:element name="prerequisite" type="CompositeIDType" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="PREREQUISITE
" xdb:defaultTable=""/>
50 <xs:element name="availability" minOccurs="0" xdb:SQLName="AVAILABILITY">
51 <xs:complexType>
52 <xs:sequence>
53 <xs:element name="startDate" type="xs:date" minOccurs="0" xdb:SQLName="STARTDATE"/>
54 <xs:element name="endDate" type="xs:date" minOccurs="0" xdb:SQLName="ENDDATE"/>
55 </xs:sequence>
56 </xs:complexType>
57 </xs:element>
58 </xs:sequence>
59 </xs:complexType>
60 <xs:complexType name="ListOfCourseType" xdb:SQLType="COURSE_LIST_T">
61 <xs:sequence minOccurs="0" maxOccurs="unbounded">
62 <xs:element name="id" type="xs:positiveInteger" minOccurs="0" xdb:SQLName="ID"/>
63 <xs:element ref="course" minOccurs="0"/>
64 </xs:sequence>
65 </xs:complexType>
66 <xs:complexType name="CourseCatalogType" xdb:SQLType="COURSE_CATALOG_T">
67 <xs:sequence minOccurs="0">
68 <xs:element name="id" type="xs:positiveInteger" minOccurs="0" xdb:SQLName="ID"/>
69 <xs:element ref="listOfCourse" minOccurs="0"/>
70 </xs:sequence>
71 </xs:complexType>
72 </xs:schema>');
73 begin
74 if (dbms_xdb.existsResource(:schemaPath)) then
75 dbms_xdb.deleteResource(:schemaPath);
76 end if;
77 res := dbms_xdb.createResource(:schemaPath,xmlSchema);
78 end;
79 /
PL/SQL procedure successfully completed.
SQL> begin
2 dbms_xmlschema.registerSchema
3 (
4 :schemaURL,
5 xdbURIType(:schemaPath).getClob(),
6 TRUE,TRUE,FALSE,TRUE
7 );
8 end;
9 /
PL/SQL procedure successfully completed.
SQL> begin
2 :schemaURL := 'http://aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/academicProgram.xsd';
3 :schemaPath := '/public/academicProgram.xsd';
4 end;
5 /
PL/SQL procedure successfully completed.
SQL> call dbms_xmlSchema.deleteSchema(:schemaURL,4)
2 /
Call completed.
SQL> declare
2 res boolean;
3 xmlSchema xmlType := xmlType(
4 '<?xml version="1.0" encoding="WINDOWS-1252"?>
5 <!-- edited with XMLSpy v2006 rel. 3 U (http://www.altova.com) by John Grossman (UT MD Anderson Cancer Center) -->
6 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:ap="http://www.mdanderson.org/sche
ma/APEP/courseCatalog" targetNamespace="http://www.mdanderson.org/schema/APEP/courseCatalog" elementFormDefault="qualified" attributeFormDef
ault="unqualified" xdb:storeVarrayAsTable="true">
7 <xs:include schemaLocation="http://aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/courseCatalog.xsd" />
8 <!-- ######################################## -->
9 <!-- GLOBAL ELEMENTS -->
10 <!-- ######################################## -->
11 <xs:element name="academicProgram" type="ap:AcademicProgramType" xdb:defaultTable="ACADEMICPROGRAM">
12 <xs:annotation>
13 <xs:documentation>Comment describing your root element</xs:documentation>
14 </xs:annotation>
15 </xs:element>
16 <!-- ######################################## -->
17 <!-- GLOBAL Types -->
18 <!-- ######################################## -->
19 <xs:complexType name="ListOfAcademicCredentialType" xdb:SQLType="ACADEMICCREDENTIAL_LIST_T">
20 <xs:sequence minOccurs="0" maxOccurs="unbounded">
21 <xs:element name="credential" type="ap:AcademicCredentialType" minOccurs="0" xdb:SQLName="CREDENTIAL"/>
22 </xs:sequence>
23 </xs:complexType>
24 <xs:complexType name="AcademicCredentialType" xdb:SQLType="ACADEMICCREDENTIAL_T">
25 <xs:sequence minOccurs="0">
26 <xs:element name="id" type="xs:integer" minOccurs="0" xdb:SQLName="ID"/>
27 <xs:element name="field" type="xs:string" minOccurs="0" xdb:SQLName="FIELD">
28 <xs:annotation>
29 <xs:documentation>Academic or professional field for which the credential is granted. Example: Clini
ical Laboratory Science</xs:documentation>
30 </xs:annotation>
31 </xs:element>
32 <xs:element name="typeCode" minOccurs="0" xdb:SQLName="TYPECODE">
33 <xs:annotation>
34 <xs:documentation>The type of credential. Example: Bachelor of Science</xs:documentation>
35 </xs:annotation>
36 <xs:simpleType>
37 <xs:restriction base="xs:string">
38 <xs:enumeration value="Bachelor of Science Degree"/>
39 <xs:enumeration value="Certificate"/>
40 </xs:restriction>
41 </xs:simpleType>
42 </xs:element>
43 </xs:sequence>
44 </xs:complexType>
45 <xs:complexType name="RequirementType" xdb:SQLType="ACADEMICPROGRAM_REQ_T">
46 <xs:sequence minOccurs="0">
47 <xs:element name="typeCode" type="xs:string" minOccurs="0" xdb:SQLName="TYPECODE"/>
48 <xs:element name="description" type="xs:string" minOccurs="0" xdb:SQLName="DESCRIPTION"/>
49 <xs:element name="scope" type="xs:string" minOccurs="0" xdb:SQLName="SCOPE"/>
50 </xs:sequence>
51 </xs:complexType>
52 <xs:complexType name="ListOfRequirementType" xdb:SQLType="ACADEMICPROGRAM_REQ_L_T">
53 <xs:sequence minOccurs="0">
54 <xs:element name="requirement" type="ap:RequirementType" minOccurs="0" xdb:SQLName="REQUIREMENT"/>
55 </xs:sequence>
56 </xs:complexType>
57 <xs:complexType name="AcademicProgramType" xdb:SQLType="ACADEMICPROGRAM_T">
58 <xs:sequence>
59 <xs:element name="name" type="xs:string" minOccurs="0" xdb:SQLName="NAME"/>
60 <xs:element name="description" type="xs:string" minOccurs="0" xdb:SQLName="DESCRIPTION"/>
61 <xs:element name="listOfAcademicCredential" type="ap:ListOfAcademicCredentialType" minOccurs="0"/>
62 <xs:element name="listOfRelatedParty" minOccurs="0" xdb:SQLName="LISTOFRELATEDPARTY"/>
63 <xs:element name="mission" type="xs:string" minOccurs="0" xdb:SQLName="MISSION"/>
64 <xs:element name="goals" type="xs:string" minOccurs="0" xdb:SQLName="GOAL"/>
65 <xs:element name="objectives" type="xs:string" minOccurs="0" xdb:SQLName="OBJECTIVES"/>
66 <xs:element name="competencies" minOccurs="0" xdb:SQLName="COMPETENCIES"/>
67 <xs:element name="selectionProcess" minOccurs="0" xdb:SQLName="SELECTIONPROCESS"/>
68 <xs:element name="listOfRequirement" type="ap:ListOfRequirementType" minOccurs="0"/>
69 <xs:element name="evaluationCriteria" minOccurs="0" xdb:SQLName="EVALUATIONCRITERIA"/>
70 <xs:element name="postBaccDegreeInfo" minOccurs="0" xdb:SQLName="POSTBACCDEGREEINFO"/>
71 <xs:element name="postBaccCertificateInfo" minOccurs="0" xdb:SQLName="POSTBACCCERTIFICATEINFO"/>
72 <xs:element name="advancedPlacement" minOccurs="0" xdb:SQLName="ADVANCEDPLACEMENT"/>
73 <xs:element name="graduation" minOccurs="0" xdb:SQLName="GRADUATION"/>
74 <xs:element name="curriculum" minOccurs="0" xdb:SQLName="CURRICULUM"/>
75 <xs:element name="listOfCourse" type="ap:ListOfCourseType" minOccurs="0" xdb:SQLName="LISTOFCOURSE"/>
76 </xs:sequence>
77 </xs:complexType>
78 </xs:schema>
79 ');
80 begin
81 if (dbms_xdb.existsResource(:schemaPath)) then
82 dbms_xdb.deleteResource(:schemaPath);
83 end if;
84 res := dbms_xdb.createResource(:schemaPath,xmlSchema);
85 end;
86 /
PL/SQL procedure successfully completed.
SQL> begin
2 dbms_xmlschema.registerSchema
3 (
4 :schemaURL,
5 xdbURIType(:schemaPath).getClob(),
6 TRUE,TRUE,FALSE,TRUE
7 );
8 end;
9 /
PL/SQL procedure successfully completed.
SQL> insert into COURSE values ( xmltype(
2 '<?xml version="1.0" encoding="WINDOWS-1252"?>
3 <?altova_sps http://aahmb10-147:7575/public/www.mdanderson.org/template/APEP/courseInput.sps?>
4 <course xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog" xmlns:ns1="http://www.mdanderson.org/schema/APEP/custom" xmlns:xdb=
"http://xmlns.oracle.com/xdb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mdanderson.org/schema/APE
P/courseCatalog http://aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/courseCatalog.xsd">
5 <id>53</id>
6 <compositeID>
7 <prefix>CL</prefix>
8 <level>4</level>
9 <creditHours>1</creditHours>
10 <identNumber>05</identNumber>
11 </compositeID>
12 <title>Urinalysis </title>
13 <description>A review of the anatomy and physiology of the kidney and the formation, elimination, and composition of urine and body flu
ids. Interpretation of urinary elements, chemical assays, and the correlation with normal and abnormal physiology.</description>
14 </course>'))
15 /
1 row created.
Execution Plan
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | INSERT STATEMENT | | 1 | 100 | 1 (0)| 00:00:01 |
SQL> insert into COURSE values ( xmltype(
2 '<?xml version="1.0" encoding="WINDOWS-1252"?>
3 <?altova_sps http://aahmb10-147:7575/public/www.mdanderson.org/template/APEP/courseInput.sps?>
4 <course xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog" xmlns:ns1="http://www.mdanderson.org/schema/APEP/custom" xmlns:xdb=
"http://xmlns.oracle.com/xdb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mdanderson.org/schema/APE
P/courseCatalog http://aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/courseCatalog.xsd">
5 <id>54</id>
6 <compositeID>
7 <prefix>CL</prefix>
8 <level>4</level>
9 <creditHours>1</creditHours>
10 <identNumber>05</identNumber>
11 </compositeID>
12 <title>Course 54</title>
13 <description>A review of the anatomy and physiology of the kidney and the formation, elimination, and composition of urine and body flu
ids. Interpretation of urinary elements, chemical assays, and the correlation with normal and abnormal physiology.</description>
14 </course>'))
15 /
1 row created.
Execution Plan
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | INSERT STATEMENT | | 1 | 100 | 1 (0)| 00:00:01 |
SQL> insert into COURSE values ( xmltype(
2 '<?xml version="1.0" encoding="WINDOWS-1252"?>
3 <?altova_sps http://aahmb10-147:7575/public/www.mdanderson.org/template/APEP/courseInput.sps?>
4 <course xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog" xmlns:ns1="http://www.mdanderson.org/schema/APEP/custom" xmlns:xdb=
"http://xmlns.oracle.com/xdb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mdanderson.org/schema/APE
P/courseCatalog http://aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/courseCatalog.xsd">
5 <id>55</id>
6 <compositeID>
7 <prefix>CL</prefix>
8 <level>4</level>
9 <creditHours>1</creditHours>
10 <identNumber>05</identNumber>
11 </compositeID>
12 <title>Course 55</title>
13 <description>A review of the anatomy and physiology of the kidney and the formation, elimination, and composition of urine and body flu
ids. Interpretation of urinary elements, chemical assays, and the correlation with normal and abnormal physiology.</description>
14 </course>'))
15 /
1 row created.
Execution Plan
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | INSERT STATEMENT | | 1 | 100 | 1 (0)| 00:00:01 |
SQL> insert into ACADEMICPROGRAM values ( xmltype (
2 '<?xml version="1.0" encoding="WINDOWS-1252"?>
3 <!--Sample XML file generated by XMLSpy v2006 rel. 3 U (http://www.altova.com)-->
4 <academicProgram xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog" xmlns:ns1="http://www.mdanderson.org/schema/APEP/custom" x
mlns:xdb="http://xmlns.oracle.com/xdb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mdanderson.org/s
chema/APEP/courseCatalog http://aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/academicProgram.xsd">
5 <name>Clinical Laboratory Science</name>
6 <description>The clinical laboratory scientist is an essential member of the health care team, performing a myriad of laboratory proc
edures aimed at the diagnosis and treatment of disease.</description>
7 <listOfAcademicCredential>
8 <credential>
9 <id>0</id>
10 <field>String</field>
11 <typeCode>Bachelor of Science Degree</typeCode>
12 </credential>
13 <credential>
14 <id>0</id>
15 <field>String</field>
16 <typeCode>Bachelor of Science Degree</typeCode>
17 </credential>
18 <credential>
19 <id>0</id>
20 <field>String</field>
21 <typeCode>Bachelor of Science Degree</typeCode>
22 </credential>
23 </listOfAcademicCredential>
24 <listOfRelatedParty xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
25 <mission>String</mission>
26 <goals>String</goals>
27 <objectives>String</objectives>
28 <competencies xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
29 <selectionProcess xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
30 <listOfRequirement>
31 <requirement>
32 <typeCode>String</typeCode>
33 <description>String</description>
34 <scope>String</scope>
35 </requirement>
36 </listOfRequirement>
37 <evaluationCriteria xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
38 <postBaccDegreeInfo xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
39 <postBaccCertificateInfo xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
40 <advancedPlacement xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
41 <graduation xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
42 <curriculum xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
43 <listOfCourse>
44 <id>53</id>
45 <course>
46 <id>53</id>
47 <compositeID>
48 <prefix>CL</prefix>
49 <level>4</level>
50 <creditHours>1</creditHours>
51 <identNumber>05</identNumber>
52 </compositeID>
53 <title>Biochemistry</title>
54 <description>this is a test for the course biochemistry</description>
55 </course>
56 <course>
57 <id>55</id>
58 <compositeID>
59 <prefix>CL</prefix>
60 <level>4</level>
61 <creditHours>1</creditHours>
62 <identNumber>05</identNumber>
63 </compositeID>
64 <title>Something Else</title>
65 <description>this is a test for the course biochemistry</description>
66 </course>
67 </listOfCourse>
68 </academicProgram>'))
69 /
1 row created.
Execution Plan
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | INSERT STATEMENT | | 1 | 100 | 1 (0)| 00:00:01 |
SQL> select extractValue(value(c),'/course/id')
2 from ACADEMICPROGRAM ap,
3 table (xmlsequence(extract(value(ap),'/academicProgram/listOfCourse/course','xmlns="http://www.mdanderson.org/schema/APEP/courseCatalo
g"'))) c
4 /
53
55
Execution Plan
Plan hash value: 3351541143
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 2 | 126 | 804 (0)| 00:00:10 |
| 1 | NESTED LOOPS | | 2 | 126 | 804 (0)| 00:00:10 |
|* 2 | INDEX FAST FULL SCAN | SYS_IOT_TOP_177341 | 2 | 66 | 802 (0)| 00:00:10 |
|* 3 | TABLE ACCESS BY INDEX ROWID| ACADEMICPROGRAM | 1 | 30 | 1 (0)| 00:00:01 |
|* 4 | INDEX UNIQUE SCAN | SYS_C0022632 | 1 | | 0 (0)| 00:00:01 |
Predicate Information (identified by operation id):
2 - filter("SYS_NC_TYPEID$" IS NOT NULL)
3 - filter(SYS_CHECKACL("ACLOID","OWNERID",xmltype('<privilege
xmlns="http://xmlns.oracle.com/xdb/acl.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins
tance" xsi:schemaLocation="http://xmlns.oracle.com/xdb/acl.xsd
http://xmlns.oracle.com/xdb/acl.xsd DAV:http://xmlns.oracle.com/xdb/dav.xsd"><read-properti
es/><read-contents/></privilege>'))=1)
4 - access("NESTED_TABLE_ID"="ACADEMICPROGRAM"."SYS_NC0004200043$")
Note
- dynamic sampling used for this statement
SQL> select updateXML
2 (
3 ap.object_value,
4 '/academicProgram/listOfCourse',
5 ( select xmlelement
6 (
7 "listOfCourse",
8 xmlattributes('http://www.mdanderson.org/schema/APEP/courseCatalog' as "xmlns"),
9 ( select xmlagg ( xmlconcat(extract(object_value,'/course/id'), extract(object_value,'/course')) )
10 from course c,
11 table (xmlsequence(extract(ap.object_value,'/academicProgram/listOfCourse/course','xmlns="http://www.mdanders
on.org/schema/APEP/courseCatalog"'))) api
12 where extractValue(c.object_value,'/course/id') = extractValue(value(api),'/course/id')
13 )
14 ) from dual
15 ),
16 'xmlns:="http://www.mdanderson.org/schema/APEP/courseCatalog"'
17 )
18 from ACADEMICPROGRAM ap
19 /
<?xml version="1.0" encoding="WINDOWS-1252"?>
<!--Sample XML file generated by XMLSpy v2006 rel. 3 U (http://www.altova.com)--><academicProgram xmlns="http://www.mdanderson.org/schema/AP
EP/courseC
atalog" xmlns:ns1="http://www.mdanderson.org/schema/APEP/custom" xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:xsi="http://www.w3.org/2001/X
MLSchema-i
nstance" xsi:schemaLocation="http://www.mdanderson.org/schema/APEP/courseCatalog http://aahmb10-147:7575/public/www.mdanderson.org/schema/AP
EP/academi
cProgram.xsd">
<name>Clinical Laboratory Science</name>
<description>The clinical laboratory scientist is an essential member of the health care team, performing a myriad of laboratory procedure
s aimed at
the diagnosis and treatment of disease.</description>
<listOfAcademicCredential>
<credential>
<id>0</id>
<field>String</field>
<typeCode>Bachelor of Science Degree</typeCode>
</credential>
<credential>
<id>0</id>
<field>String</field>
<typeCode>Bachelor of Science Degree</typeCode>
</credential>
<credential>
<id>0</id>
<field>String</field>
<typeCode>Bachelor of Science Degree</typeCode>
</credential>
</listOfAcademicCredential>
<listOfRelatedParty xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
<mission>String</mission>
<goals>String</goals>
<objectives>String</objectives>
<competencies xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
<selectionProcess xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
<listOfRequirement>
<requirement>
<typeCode>String</typeCode>
<description>String</description>
<scope>String</scope>
</requirement>
</listOfRequirement>
<evaluationCriteria xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
<postBaccDegreeInfo xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
<postBaccCertificateInfo xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
<advancedPlacement xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
<graduation xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
<curriculum xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
<listOfCourse xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog">
<id xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog">53</id>
<course xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog" xmlns:ns1="http://www.mdanderson.org/schema/APEP/custom" xmlns:xdb="
http://xml
ns.oracle.com/xdb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mdanderson.org/schema/APEP/courseCat
alog http:
//aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/courseCatalog.xsd">
<id>53</id>
<compositeID>
<prefix>CL</prefix>
<level>4</level>
<creditHours>1</creditHours>
<identNumber>05</identNumber>
</compositeID>
<title>Urinalysis </title>
<description>A review of the anatomy and physiology of the kidney and the formation, elimination, and composition of urine and body fl
uids. Inte
rpretation of urinary elements, chemical assays, and the correlation with normal and abnormal physiology.</description>
</course>
<id xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog">55</id>
<course xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog" xmlns:ns1="http://www.mdanderson.org/schema/APEP/custom" xmlns:xdb="
http://xml
ns.oracle.com/xdb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mdanderson.org/schema/APEP/courseCat
alog http:
//aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/courseCatalog.xsd">
<id>55</id>
<compositeID>
<prefix>CL</prefix>
<level>4</level>
<creditHours>1</creditHours>
<identNumber>05</identNumber>
</compositeID>
<title>Course 55</title>
<description>A review of the anatomy and physiology of the kidney and the formation, elimination, and composition of urine and body fl
uids. Inte
rpretation of urinary elements, chemical assays, and the correlation with normal and abnormal physiology.</description>
</course>
</listOfCourse>
</academicProgram>
Execution Plan
Plan hash value: 1698158615
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 47932 | 3 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | 13818 | | |
|* 2 | HASH JOIN | | 1 | 13818 | 5 (20)| 00:00:01 |
|* 3 | INDEX RANGE SCAN | SYS_IOT_TOP_177341 | 1 | 33 | 2 (0)| 00:00:01 |
|* 4 | TABLE ACCESS FULL| COURSE | 3 | 41355 | 3 (0)| 00:00:01 |
| 5 | FAST DUAL | | 1 | | 2 (0)| 00:00:01 |
|* 6 | TABLE ACCESS FULL | ACADEMICPROGRAM | 1 | 47932 | 3 (0)| 00:00:01 |
Predicate Information (identified by operation id):
2 - access("COURSE"."SYS_NC00009$"="ID")
3 - access("NESTED_TABLE_ID"=:B1)
filter("SYS_NC_TYPEID$" IS NOT NULL)
4 - filter(SYS_CHECKACL("ACLOID","OWNERID",xmltype('<privilege
xmlns="http://xmlns.oracle.com/xdb/acl.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/xdb/acl.xsd
http://xmlns.oracle.com/xdb/acl.xsd DAV:http://xmlns.oracle.com/xdb/dav.xsd"><read
-properties/><read-contents/></privilege>'))=1)
6 - filter(SYS_CHECKACL("ACLOID","OWNERID",xmltype('<privilege
xmlns="http://xmlns.oracle.com/xdb/acl.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/xdb/acl.xsd
http://xmlns.oracle.com/xdb/acl.xsd DAV:http://xmlns.oracle.com/xdb/dav.xsd"><read
-properties/><read-contents/></privilege>'))=1)
Note
- dynamic sampling used for this statement
SQL> -
hi,
I have two xmltype tables(eg. testTableSB and testTableNSB), first one is schema-based(conforms to schemaA) and the other one is non-schema-based.
So the default storage will be object-relational and CLOB respectively.
I load the same xml document in both the tables. Each table has one row only(suppose).
Later I use the update statement with updateXML() in RHS as following:
update testTableSB x
set value(x)=updatexml(value(x),'/Company/Person[2]/@Degree','PHD');
update testTableNSB x
set value(x)=updatexml(value(x),'/Company/Person[2]/@Degree','BA');
Both updates work. From the documentation, I came to know that in the first table it only updates the node or attribute value whereas in the second update, the whole document is repalced because it is CLOB based.
My confusion is in the second update since it seems updating (in this case) only the attribute value.
Please suggest.
One more question, how to check whether the storage option for the table is object-relational or CLOB. One option is to describe the table. In this way, it gives info for object-relational only not for CLOB. what is the other way to check it? Any data_dictionary table?
SQL> create table testTableNSB of XMLType;
Table created.
SQL> describe testTableNSB;
Name Null? Type
TABLE of XMLTYPE
Thanking in advance.Hi
I as wrote I never tested this possibility... therefore I did the following test.
A table contains the following XML data:
SQL> select extract(value(o), '/optw/person')
2 from optw1_or_ot o
3 where existsnode(value(o), '/optw/person[@id=5]') = 1;
EXTRACT(VALUE(O),'/OPTW/PERSON')
<person id="5">
<lastname>String</lastname>
<firstname>String</firstname>
<sex>F</sex>
</person>
If I access the underlying structure, the query looks like this (notice that birthday is NULL):
SQL> select x.id, x.lastname, x.firstname, x.birthday, x.sex
2 from optw1_or_ot o, table(o.xmldata.persons) x
3 where x.id = 5;
ID LASTNAME FIRSTNAME BIRTHDAY SEX
5 String String F
If I update the data, it seams to work...
SQL> update table(select o.xmldata.persons
2 from optw1_or_ot o, table(o.xmldata.persons) x
3 where x.id = 5) t
4 set t.birthday = sysdate;
1 row updated.
SQL> select x.id, x.lastname, x.firstname, x.birthday, x.sex
2 from optw1_or_ot o, table(o.xmldata.persons) x
3 where x.id = 5;
ID LASTNAME FIRSTNAME BIRTHDAY SEX
5 String String 06-FEB-04 F
But if I select the XML data again, the data isn't available...
SQL> select extract(value(o), '/optw/person')
2 from optw1_or_ot o
3 where existsnode(value(o), '/optw/person[@id=5]') = 1;
EXTRACT(VALUE(O),'/OPTW/PERSON')
<person id="5">
<lastname>String</lastname>
<firstname>String</firstname>
<sex>F</sex>
</person>
It seams that Oracle also stores "control" information in another columns.
Therefore the only way to add such an element is through the updatexml() function.
Chris -
I cannot see XMLType table in sql*plus
Hi,
Although I have wokred extensively with Oracle, I am new to Oracle XMLdb. My problem is I cannot see the XMLType tables created under my schema. I can see the tables when I do a select from user_xml_tables. But if I do a 'desc' or 'select from', I get ORA-04043 or ORA-00942. I can desc an XMLType table owned by xdb. I am using Oralce 10g. Please provide a solution asap as a customer is waiting on this.
Thanks,
Jayati RayRaghu !!
GREAT!!!
It was a BUG in Oracle sql developer, I installed the new version v3.0, It WORKS like a CHARM.
Thanks a million for your help!!!
Cheers
Tony -
How to delete an .xml file from xmltype table?
Hi expert,
I am in I am in Oracle Enterprise Manager 11g 11.2.0.1.0.
SQL*Plus: Release 11.2.0.1.0 Production on Tue Feb 22 11:40:23 2011
I have inserted 3 .xml files into an xmltype table: DOCUMENT
SQL> SELECT OBJECT_VALUE FROM document;
OBJECT_VALUE
<?xml version="1.0" encoding="WINDOWS-1252"?>
<?xml-stylesheet href="http://www.accessdata.fda.gov/spl/stylesheet/spl.xsl" type="text/xsl"?>
<document xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoc
ation="urn:hl7-org:v3 http://localhost:8080/home/DEV/xsd/spl.xsd" classCode="DOC">
<id root="5ca4e3cb-7298-4948-8cc2-58e71ad32694"/>
<code code="51725-0" c
<?xml version="1.0" encoding="WINDOWS-1252"?>
<?xml-stylesheet href="http://www.accessdata.fda.gov/spl/stylesheet/spl.xsl" type="text/xsl"?>
<document xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoc
ation="urn:hl7-org:v3 http://localhost:8080/home/DEV/xsd/spl.xsd" classCode="DOC">
<id root="03d6a2cd-fdda-4fe1-865d-da0db9212f34"/>
<code code="51725-0" c
<?xml version="1.0" encoding="WINDOWS-1252"?>
<?xml-stylesheet href="http://www.accessdata.fda.gov/spl/stylesheet/spl.xsl" type="text/xsl"?>
<document xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoc
ation="urn:hl7-org:v3 http://localhost:8080/home/DEV/xsd/spl.xsd" classCode="DOC">
<id root="09ff06d6-8b85-43dd-b5cc-e22d00f02bd0"/>
<code code="51725-0" c
I tried to delete one xml file which with id root="03d6a2cd-fdda-4fe1-865d-da0db9212f34'
delete from DOCUMENT
where xmlexists('$p/document/id[@root="03d6a2cd-fdda-4fe1-865d-da0db9212f34"]'PASSING OBJECT_VALUE AS "p");
but failed.
Is there any expert can help?
Thanks a lot!
Cow
Edited by: Cow on Mar 11, 2011 7:02 PMHi,
Namespace issue.
You have to declare it in the XQuery prolog :
DELETE FROM document
WHERE XMLExists( 'declare default element namespace "urn:hl7-org:v3"; (::)
$p/document/id[@root=$root_value]'
passing object_value as "p",
'03d6a2cd-fdda-4fe1-865d-da0db9212f34' as "root_value" )
; -
The size of a XML document stored in a XMLType table
Is there a way to find out (via SQL) the size of a XML document stored in a XMLType table or XMLType column (storage OR based)?
For instance in the way you could it retrieve if the XML document was stored in an XMLType column (CLOB based)
SQL> r
1 select dbms_lob.getlength(t.gegevens.getclobval()) "SIZE"
2 from hgo.hgo010_detam t
3* where rownum < 2
SIZE
2750Is there a way to find out (via SQL) the size of a XML document stored in a XMLType table or XMLType column (storage OR based)?
For instance in the way you could it retrieve if the XML document was stored in an XMLType column (CLOB based)
SQL> r
1 select dbms_lob.getlength(t.gegevens.getclobval()) "SIZE"
2 from hgo.hgo010_detam t
3* where rownum < 2
SIZE
2750 -
How to create a relational view base on an xmltype table which included sev
Hi,
I am using oracle 11.2.0.1.0.
how to create a relational view base on an xmltype table which content several different .xml files?
Thanks.
for examle:
SQL> SELECT OBJECT_VALUE FROM document;
Edited by: Cow on Jan 6, 2011 7:57 PMFor example I already have these three xml files inserted into the document xmltype table.
These xml files have same schemas. I have attached below.
I want to show all elements/attribute values in xml files to relational view.
Is this possible to create one big relational view to show everything
or I have to create three separate relation views then use UNION to put together? Thanks a lot. Cow
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="http://www.accessdata.fda.gov/spl/stylesheet/spl.xsl" type="text/xsl"?>
<document xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 http://localhost:8080/home/DEV/xsd/spl.xsd">
<id root="5ca4e3cb-7298-4948-8cc2-58e71ad32694"/>
</component>
</document>
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="http://www.accessdata.fda.gov/spl/stylesheet/spl.xsl" type="text/xsl"?>
<document xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 http://localhost:8080/home/DEV/xsd/spl.xsd">
</component>
</document>
Edited by: Cow on Jan 4, 2011 9:51 AM -
XMLType table Core Dump using CLOB
I've created an object based XMLType table based on a valid XML Schema. The Schema has an element which has been declared as a CLOB.
<xs:element name="complete_entry" xdb:SQLType="CLOB" xdb:SQLName="complete_entry"/>
This registers ok with Oracle and the object that this element is in shows the element as a CLOB as expected.
However when performing a insert into this table, SQLPlus gives and end-of-communication error and the server core dumps.
A PL/SQL function retreives an XML file from the file system for insert, here is the code for the function:
create or replace function getClobDocument(
filename in varchar2,
charset in varchar2 default NULL)
return CLOB deterministic
is
file bfile := bfilename('DIR',filename);
charContent CLOB := ' ';
targetFile bfile;
lang_ctx number := DBMS_LOB.default_lang_ctx;
charset_id number := 0;
src_offset number := 1 ;
dst_offset number := 1 ;
warning number;
begin
if charset is not null then
charset_id := NLS_CHARSET_ID(charset);
end if;
targetFile := file;
DBMS_LOB.fileopen(targetFile, DBMS_LOB.file_readonly);
DBMS_LOB.LOADCLOBFROMFILE(charContent, targetFile,
DBMS_LOB.getLength(targetFile), src_offset, dst_offset,
charset_id, lang_ctx,warning);
DBMS_LOB.fileclose(targetFile);
return charContent;
end;
The function is called like so:
INSERT INTO boss_contracts
VALUES(XMLTYPE(getCLOBDocument('contract_82.xml','UTF8')));
This works perfectly when the element is declared as a string and Oracle converts it to a varchar2(4000), but core dumps when it is a CLOB.
I need this element to be able to handle more than 4k of data.
please help,
Paul Linney
[email protected]void print_affect(struct oci_connection* conn, OCIStmt* sh) {
sb2 rowCount;
ub4 sizep = sizeof(sb2);
OCIAttrGet(sh, OCI_HTYPE_STMT,&rowCount,
&sizep,OCI_ATTR_ROW_COUNT, conn->err);OCI_ATTR_ROW_COUNT is a ub4 attribute, not a sb2 one.
ub4 rowCount = 0;
ub4 size = sizeof(rowCount);
--DD -
Insert XML file into Relational database model without using XMLTYPE tables
Dear all,
How can I store a known complex XML file into an existing relational database WITHOUT using xmltypes in the database ?
I read the article on DBMS_XMLSTORE. DBMS_XMLSTORE indeed partially bridges the gap between XML and RDBMS to a certain extent, namely for simply structured XML (canonical structure) and simple tables.
However, when the XML structure will become arbitrary and rapidly evolving, surely there must be a way to map XML to a relational model more flexibly.
We work in a java/Oracle10 environment that receives very large XML documents from an independent data management source. These files comply with an XML schema. That is all we know. Still, all these data must be inserted/updated daily in an existing relational model. Quite an assignment isn't it ?
The database does and will not contain XMLTYPES, only plain RDBMS tables.
Are you aware of a framework/product or tool to do what DBMS_XMLSTORE does but with any format of XML file ? If not, I am doomed.
Constraints : Input via XML files defined by third party
Storage : relational database model with hundreds of tables and thousands of existing queries that can not be touched. The model must not be altered.
Target : get this XML into the database on a daily basis via an automated process.
Cheers.
Luc.Luc,
your Doomed !
If you would try something like DBMS_XMLSTORE, you probably would be into serious performance problems in your case, very fast, and it would be very difficult to manage.
If you would use a little bit of XMLType stuff, you would be able to shred the data into the relational model very fast and controlable. Take it from me, I am one of those old geezers like Mr. Tom Kyte way beyond 40 years (still joking). No seriously. I started out as a classical PL/SQL, Forms Guy that switched after two years to become a "DBA 1.0" and Mr Codd and Mr Date were for years my biggest hero's. I have the utmost respect for Mr. Tom Kyte for all his efforts for bringing the concepts manual into the development world. Just to name some off the names that influenced me. But you will have to work with UNSTRUCTURED data (as Mr Date would call it). 80% of the data out there exists off it. Stuff like XMLTABLE and XML VIEWs bridge the gap between that unstructured world and the relational world. It is very doable to drag and drop an XML file into the XMLDB database into a XMLtype table and or for instance via FTP. From that point on it is in the database. From there you could move into relational tables via XMLTABLE methods or XML Views.
You could see the described method as a filtering option so XML can be transformed into relational data. If you don't want any XML in your current database, then create an small Oracle database with XML DB installed (if doable 11.1.0.7 regarding the best performance --> all the new fast optimizer stuff etc). Use that database as a staging area that does all the XML shredding for you into relational components and ship the end result via database links and or materialized views or other probably known methodes into your relational database that isn't allowed to have XMLType.
This way you would keep your realtional Oracle database clean and have the Oracle XML DB staging database do all the filtering and shredding into relational components.
Throwing the XML DB option out off the window beforehand would be like replacing your Mercedes with a bicycle. With both you will be able to travel the distance from Paris to Rome, but it will take you a hell of lot longer.
:-) -
Problem in select of xmltype table
Hi,
i have a xmltype table with an object type/atrribute of datatype CLOB. When i now do a query i get the error ORA-22835 - what's going wrong? The datatype of the source attribute and the declared variable is CLOB.
DECLARE
vFoto CLOB;
BEGIN
SELECT SUBSTR(pe.foto_pass, 1, 100) INTO vFoto
FROM fp_epass_pass_antraege pa
, XMLTABLE('/PassAntrag'
PASSING pa.sys_nc_rowinfo$
COLUMNS antrag XMLTYPE PATH '/PassAntrag/Antrag'
, person XMLTYPE PATH '/PassAntrag/Person') paan
, XMLTABLE('/'
PASSING paan.antrag
COLUMNS uuid VARCHAR2(38) PATH 'UUID') an
, XMLTABLE('/'
PASSING paan.person
COLUMNS foto_pass CLOB PATH 'FotoPass') pe
WHERE an.uuid = '84239536904120131828493266953553299522';
END;Many thanks in advance.
Regards,
MartinHi Odie,
i thoght taht's a PL/SQL problem ;-)
Versions:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE 11.2.0.2.0 Production
TNS for IBM/AIX RISC System/6000: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production
<?xml version="1.0" encoding="ISO-8859-15" standalone='no'?>
<PassAntrag>
<Antrag>
<UUID>53075802924980786961041180181729965505</UUID>
<DocTyp>ID</DocTyp>
<Antragsgrund>EAN</Antragsgrund>
<AntragDatum>06.02.2013</AntragDatum>
<AntragOrt/>
</Antrag>
<Person>
<Name>Zillweger</Name>
<Vorname>Michel</Vorname>
<Geburtsdatum>16.06.1964</Geburtsdatum>
<Geschlecht>M</Geschlecht>
<Passtitel/>
<Groesse>178</Groesse>
<Strasse>Riverside Ave</Strasse>
<Hausnummer>4</Hausnummer>
<PLZ>23413454</PLZ>
<Ort>New York</Ort>
<LandIso316613>USA</LandIso316613>
<Telefon>2314132413</Telefon>
<Email/>
<Versand>EDA</Versand>
<Lieferadresse>Switzerland Embassy , United States
20008-3499
Washington DC
District of Columbia
USA</Lieferadresse>
<BesKennz/>
<NameVornameVater>Zillweger André</NameVornameVater>
<LedNameVornameMutter>Voirol Odile</LedNameVornameMutter>
<NameVornameEhepartner>Zillweger Françoise</NameVornameEhepartner>
<NameVornameVertreter/>
<FotoID></FotoID>
<FotoPass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<SignID>LzlqLzRBQVFTa1pKUmdBQkFnQUFBUUFCQUFELzJ3QkRBQWdHQmdjR0JRZ0hCd2NKQ1FnS0RCUU5EQXNMREJrU0V3OFVIUm9mSGgwYUhCd2dKQzRuSUNJc0l4d2NLRGNwTERBeE5EUTBIeWM1UFRneVBDNHpOREwvMndCREFRa0pDUXdMREJnTkRSZ3lJUndoTWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qTC93QUFSQ0FEWkFrOERBU0lBQWhFQkF4RUIvOFFBSHdBQUFRVUJBUUVCQVFFQUFBQUFBQUFBQUFFQ0F3UUZCZ2NJQ1FvTC84UUF0UkFBQWdFREF3SUVBd1VGQkFRQUFBRjlBUUlEQUFRUkJSSWhNVUVHRTFGaEJ5SnhGREtCa2FFSUkwS3h3UlZTMGZBa00ySnlnZ2tLRmhjWUdSb2xKaWNvS1NvME5UWTNPRGs2UTBSRlJrZElTVXBUVkZWV1YxaFpXbU5rWldabmFHbHFjM1IxZG5kNGVYcURoSVdHaDRpSmlwS1RsSldXbDVpWm1xS2pwS1dtcDZpcHFyS3p0TFcydDdpNXVzTER4TVhHeDhqSnl0TFQxTlhXMTlqWjJ1SGk0K1RsNXVmbzZlcng4dlAwOWZiMytQbjYvOFFBSHdFQUF3RUJBUUVCQVFFQkFRQUFBQUFBQUFFQ0F3UUZCZ2NJQ1FvTC84UUF0UkVBQWdFQ0JBUURCQWNGQkFRQUFRSjNBQUVDQXhFRUJTRXhCaEpCVVFkaGNSTWlNb0VJRkVLUm9iSEJDU016VXZBVlluTFJDaFlrTk9FbDhSY1lHUm9tSnlncEtqVTJOemc1T2tORVJVWkhTRWxLVTFSVlZsZFlXVnBqWkdWbVoyaHBhbk4wZFhaM2VIbDZnb09FaFlhSGlJbUtrcE9VbFphWG1KbWFvcU9rcGFhbnFLbXFzck8wdGJhM3VMbTZ3c1BFeGNiSHlNbkswdFBVMWRiWDJObmE0dVBrNWVibjZPbnE4dlAwOWZiMytQbjYvOW9BREFNQkFBSVJBeEVBUHdEMytpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQURvS2htdW9MZUNXZWVWSW9JbEx5U3lIYWlLQmtzU2VBQUIxcmovaU44UUxmd0xvOGNnakZ4cUY1dVcwaEtrb1NvRzVtSS9oRzVlT3B5QjZrZU1XZWgrTi9qUHFhWDJvUytUcGtaSml1SllXU0NOR2ZETENvKyszRGNrL3dBTXcrVTBBZXkyM3hmOENYVndrRWV1cUhkd2dNbHRNaTVQY3N5QUFlNUlBNzEzQU9hOEs4Wi9CN3czNGI4RlgrcFcxM2VpNXRjTWozTWdLdnVaQjViQlU2ZGNjRGwvbU9QdTlaOERwTHh2aDc1ZDE1bmxSWGtxV3hkTm9NZUZZNE9QbUc5cE9jbm5JenhnQUhwTkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJXUDRrOFI2WjRZMFdYVXRVdVBKaFg1VVZlWkpIT2NJZzdzY0hqMkpPQUNScmtnZFNCM3I1aThjNnZxL3hPK0l6Nk5vaG5uMDZHUllJQkh2ZUViV0t0Y3NFTEx0M09mM21QdWJlTTlRQ0xROUUxYjQxK1BiN1U3NjRrZzA2SmxNNUxCekJDeFBsd1JqR004SG5HUHZNY2s0UDAvYjI4VnJieHdRUnBIREdvU09ORkNxaWdZQUFIQUFBNlZuK0hkQnNQRE9nMm1qNmFqcmEycWJVOHh0ekhKTEVrK3BKSjQ0NTRBSEZhbEFIbmZ4Ymx1YnJSTERRclFTTlBxVjJxN0ZDNGtWU01LUzNUNXloei9zbmtWMldnYVZEb2VnV09sd2JObHJDc1pLSnNETUJ5MjNuQkp5VHllU2VUMXE4OXZCSk5GTThNYlN4Wjh0MlVGa3lNSEI3WnFRREF3T2xBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJWSFY5U2gwalJyM1VwdzdRMmNFbHhJc2VOeFZGTEVESkF6eDNJb0E4citPL2paOUswdVB3dFpFTGRhbEZ2dUpBV0RSdzdzQURBd2Q1VmxQUFFFRWZOa2F2d2Q4Qy84STE0YUYvcU5uNU9zMytXazN4NGtpaHo4c2ZKT004T2VGT1NBd3l0ZWMrR05QdS9peDhXYnJXcjkydU5Gc1poTVk3Z3J4Q1N6UVFCTUVFSGI4Mk9DQStUa2duNlRvQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVWhPS1U5SzhtK0xIeExrOE93eTZEcFJ6cXNzWDc2WFBFRWJxdzRaWERKS1BsWVpIUWc5NkFQVnc0SndNZE05YWRYekw4RHRRMUMxK0lTV2RzcnRhWGNFZ3VsRzRoVlVGbGM4NEJEYlZERWZ4a2RXcjZhb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWszRDE5cXFhaHErbTZUYkM1MUxVTFd6Z1p3Z2x1WmxqVXRnbkdXSUdjQW44S0FMRTg4VnJieVhFOHFSUXhLWGVTUmdxb29HU1NUMEFIZXZQYno0MitFYkxXbjA1M3U1RlNYeTJ1NFl3MEh1UWM1SUhxQWM0NHlNR3ZQOEE0cWZGZTExcTFoMG53NWZ5U1dMQXZjM0VmbVJNL0RLWWlyQmNwZzVPY2c1SFRhYzhEWndQNHgxSFJ2RG1pYVZCYjNPWkJMY1NTNWFlUTRMdXpZRzFGVk1oUUNSZzQzTWFBUHIrM3VJYnFDT2Uza1NXR1JROGNpTUdWMUl5R0JIQkJIZXBhcDZYcDhlazZYWjZkQThqUVdrQ1FSdElRV0lWUW9KSUE1d093RlhLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQXJ3ejQvK0xiZGJHMThNV3M1YTZNbjJpOFdLVWpZaXI4aU9BTUhjU0d3VHhzVTQ1QnIydSt2cmZUYkc0dmJ1UXgyMXZFMDBzbTBrS2lnbGp4endBYStiL0J1bm40dC9GcTkxN1U3VVFXVUpTNmxoUlBNamZac1dLRml3d2NxdVR4ODIxc0FaNEFQWC9oUDRVbDhLZUJMVzJ1ZzZYbDB4dTU0MjQ4dG5VQUxnZ0VFS0Z5RC9GdTU2VjNOSUJqclMwQUZGRkZBQlJSU0ZnQ00wQUxSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVoSUZBR0Q0eDhWV3ZnL3dBT1hHcjNTZWFJOEpGQUhDdE5JeHdxalA0azljQUU0T0s4QTBHdzhydy9ySHhJMTJiL0FFa3l1Tk15dmx2TGZGd3l6QVpWV1ZXejh1R0hFbkh5NE92NC93Qld2L2lIOFRiZndaWXp4clkyMTRZMWFOV0IzQkI1ck9HWUs1ajJTNHhqaklHY2cwdnhjdW9OT3R0RStIT2lXaVRXOW9zVW1Jc1BNMHAzS3FsVkgzanUzbmpMRjFQR2VRRGYrQW5obnlOTnVmRTg2anpMek1GcmpvSWxQemtZUDhUcUJ5QVI1ZWVqVjdQV1I0WTBHTHd6NGNzZEhnY1NKYXhoVElGMitZeDVac1pPTXNXT004WnJYb0FLS0tLQUNpaWlnQW9wQ1FDQWUvU3ZOby9qUG9OMTRyc2RIMDIzdWIyRzZuV0UzYXJzVldjZ0x0VS9NdzNIRFoyNEFKRzZnRDBxaWtWZzJjZHFXZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLQ2NEcFFBSG9hOC84QUhYeFowZndWUDloOGlUVU5TMkJqYnhPRldMSkdCSXg1VWtFa0FBbmpuQUlOY1o4ZFBIS0NNZUZOT2FaYmxaRWx2SkFTaWdiZHl4LzdXZHl0bm9NREdUbmJMOE92Z3ZOYVhVT3QrTEZqa3VGTW8vc3lVTE1wemtCcEd5eXR3V09Cbm5hZDNHS0FNZytKdmlqOFJybkdpd1hHbDZWY2pDVFFMNU1hSXN2M3ZQUHpNdzRCMkVaQ25DOVJYT2VNL2h6cmVnVzAycStLUEVkcGNYYzRDUVJyUExQUGN1Q29PUzRYNVZUSnllbTFSL0VLK29vb0lyVzBqZ2dpU0tHSkFpUnhyaFZVREFBQTZBRGdDdm4zeDllVGZFUDRxMm5oYXhiYmJXa3JXdS9nWWJPWjN3ZHBPMExqYm5COHZJKzhLQUxQd28rRkdrYTVvamEzNGhna3VFdU1wYXdpVW91Rk9Ha3lqYnM3Z3lnY0Rnbm5JSTl2MGpROU0wR3dTeTBteGhzN2RjZkpFdU54Q2hjc2VyTmhSbGprbkF5YXQyOXZGYXdSd1FScEZCRWdTT05CaFVVREFBSFlBQ3BhQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vcEQwT2FBUEl2ajU0cHQ3RHd4RjRkUmxhNjFGbGtrN21LR05nMlRnNUJMS0FDUVFkcjl4V3o4Ry9Cdi9BQWl2ZytPNXU3U2UyMWZVZjN0M0hNM0tLR2J5MTI5RitVNUlQelpZNTZZSGwrdUxEOFJQMmhGMHE2bFpkUGduTnFFZEFwTWNDbHBFQlVnNFoxZkRaeUF3UGJGZlN0QUJSUlJRQVVVVmsrSS9FZW0rRnRIbDFQVkpTa0tmS3FxTXZJMk9FVWQyT1A2bkFCSUFKdGIxaTAwSFJielZieVFMYjJrVFNQeU10aitFWklCWW5BQXp5U0JYaFd1ZkdEeEw0cDhUV2VtZUNZWnJhTi9rVkhoamtsbVlqTE0yUXlxb0dlaDZCaVQyWGl2Ry9qZldQSEY3TmZTTGRXK2xJOGFKWmh6SkZBMjFzYmlBQnVQNzBna2JzQWdaQXIwdjREK0NVUzAvNFM2OVVtVnpKRFl4c2lrS3ZBYVVISklKSVpCMHdBM1VNTUFIdDlGRkZBQlJSUlFBVVVVVUFGRkZGQUJYQ2ZGbnhjUENuZ3VmeUp0bW8zMmJlMjJ2aDB5UG5rR0NHK1VkQ000Wmt5T2E3dXZuRHhWUEw4VHZpN2JhUHBrN1hta1d6SkY1bG8zeXBCbFROS0MyVnpra2JnTU50akEzWjVBT3krQ25oaVBRUENsejRsMUpVZ252a0xMSk1ObmsyeTg1TE1BVkRFRmp5VktoRFhHZkNuVHB2SG54SXZ2RW1zR1NjV2ppOE95VGFxVGwvd0J5b3lTMndCV3dBZUFnVW5Cd2R6NDIrSXJIU2ZEdGo0SDBreGdCWTF1WWxiZVlZWXdwaWpPUVRrbmEzWElDRFBEWnIwajRjZUYvK0VTOEcydW55Z2k5a0p1THpKeVJLd0dSMUkrVUJWeURnN2M5NkFPc0hRVVVVVUFGRkZGQUJWVFU5VHNkRzA2ZlVOUnVZN2EwZ1hmSks1NFVmMUpQQUE1SjRGV21PMFpyNXY4QUZ2aXk4K0szanl5OE42RGQzVU9qeU1JZHBPMVpnRHVlWmtKWGNBRkJWVzUrVVl3V0lvQW4xZnh0NG8rSzJyeStHZERzMXQ5TW1iT3hsRzR4cXlrU1RQZzdjTW9PRnh5MjNMbkdmVXZDUHd3MEh3emJXclMyc045cVVNbm1mYm5qWldKQmJiaFN4QXdHNkRxUXA2Z0VhM2hEd2JwWGc3U2haNmZBZ21kVSsxWEFEQnAzQ2diamtrZ2NFN1FjREp4MU9laW9BUUFBWUZMUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGYzc0MzhVdytFZkNWN3E3R05wa1haYlJ1UmlTVnZ1akdRU1A0aUJ6dFZpT2xkRlh6WjhhUEV4MXZ4bkZvRVdwZVhwMWhzam5HN01RbkpKZVFoQXhPMVNGT1JsU0h3UFVBOCs4TTZSSnIzaUd3MDJOcGQxMU9zVzVFTGxGSitadG83QVpKOWhYMm1veG12bkQ0S2FMTnFYang5WWlWTGEwMDhQSThTWktocFZaRmpHNWl3R0N4Qk9UOG1DZWNuNlFvQTVmeC80b2o4SitFcnkrTXJwY3lxWUxQWWdZK2V5bmFjSGpBeHVPZU1BOWVCWG5md1A4T3RkU2FsNHIxSzFFdHhQSjVkcmN6YjJjazVNempjTUhjU0ZMQWtrcTQ0NXpVK05HcHgrSXZGV2plRDdHNGxXNVNjSmNCeVZoRWsyd1I1OVNGSk9RT0EzQis4QjdQb2VrMnVoYUxhYVZaSUZndFl4R3ZBQk9PckhBQUxIcVRqa2ttZ0RRb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUN1WStJbXNmMkg4UGRjdmxrbmprVzFhS09TQTRkSkpNUm93T1JqRE1EblBHT0s2ZXZCUDJpOWJYZm91aHJQa2Z2THllRFoySHlSdHVJLzY3REFQMUgzYUFJdjJlL0NzTXIzM2ltWlVjeE9iTzBYQWJZY0JuZmtjSERLQVFRY0Z3UnlLK2dLd1BCR2ludzk0STBiU25nTUUwRnFubnhsOTIyVmh1azVCSSsrVzZISHB4Vy9RQVVVVkZjWEVWcmJ5VHp1c2NNYWxuZDJDcWlnWkpKUFFEMW9BWmUzdHJwOW5KZFhsMURhMjZZM1RUdUVSY25BeVNRT3BBcjVxMXJYTC80d2VOb3JTR2FUVDlGaFV1Uk83R0szaWozRnA1UUcyaDhFak9RT1ZYZC9FYkhqVHhMcS93QVdQRXNPaCtIOU5sa3RiVnBaSVZqa0lFNEJ3SjMzYkFueWdBQnVSdkl5U3dGZFQ0OHVkSStHSHcxWHdubzhzWTFQVlZ4TnRZN21VcUZsbUtuZHREQmRvQUkrOGR2M1RRQjU1WjJVZnhHK0lWcm8yajJUNmJvU1NBcmJSNEJoZ1ZWRWtqRUtmM3JoUjh6WkpPeFN4QVUxOVRXRmpiNlpwOXRZMmtmbDIxdEVzTVNiaTIxRkFDako1T0FCeWE4NCtCL2hrYU40TFRWSFNSYnJWbjgyVHpGS2tSS1dFZlU4ZzhzRzR5SkIxd0RYcUZBQlJSUlFBVVVVVUFGRkZGQUJSUlFUZ1pvQTVMNGwrSkxqd3I0RTFEVTdLNGhodmdFaXRqTGc1ZG1BTzBIN3pCZHpBYy9kNUJBTmVZZkN6K3p2QS93NjFUeHBxcXFzOXl4aHM5N0tES0Y0RWFiUVdVdElIRGUwWWJBQzVxbDhadFFtOFllUE5NOE5hSVB0czFtclJtTzNCeUozUHpxeloyNFZVWDB4bHNucnRxK0pSL3duWGpPdzhGZUVQbDhQYWFWalg3Tjg4S2MvdkxnNXh1STNFWkxIY2VRY3lISUJkK0V1ajNmalh4OWZlTWRhaTN4MnNwZEF3SlF6c01xcTdnZmxqWGtESUs0aUk0cjZGQUE2Q3Nmd3Y0ZXQvREhodXcwZTJZTkhheGJTMk1iM1BMdHlUakxFbkdlTTQ2WXJab0FLS0tLQUNrTEtCa2tENm1na2djRE5lUWZHVDRseTZCQ3VnNkhjeHJxZHdwKzB5eGttUzFqd0NBT3dkZ2VEbklHRGdibElBT1grS3Z4Tms4UTNLK0dQREV0eEpBSmZMbXViVm1KdTJiY25sSUZQenB6anZ2UFRBQUxlcGZEZndERDRFMFZveko1K28zZTFyeVVINWNybmFpZFBsWGMzT01ra25nWVVZdndoK0hNZmhYVFJyRjg3dnE5OUFOeUhLL1o0MnczbGtFQTd1RkpKSEJHQmpCTGVuZ1lBRkFDMFVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFCUjFmVW90STBpOTFHY09ZclNCNTNDQUZpcUtXT0FTQm5BOVJYeDlaemFnbW42bHJSZEpIdTJOb1o1bUxUTTBuN3lSbzI3bmFOam5QM1pnQ0NIcjZMK05sN2Iydnd4MUdHZVRhOTFKRkRDdTNPOXc0a3g3ZkxHNXlmVDgvbmJ3YjRjbjhUK0piTFNvWVpaSUhsVnJsb2lGTVVHUUhiSkdCd2U0NmtER1RpZ0Q2UytFV2tuU2ZoenBwZUF4VFhtNjdrRzdkdURuNUc2a0RNWVRqOCtjMTErcTZuWmFOcGsrbzZqZEpiV2tDN3BKWE9Bb3pqOFNTUUFCeVNRQm1yU2tiVDF4azlhOG4rUEhpQ0swOEsyK2l4WGlMZFhzNlBMYnFBek5BdVRrOGNEekFtRHhuQkE3MEFjajhLTE9meHQ4VGIvQU1TNnNubmZaQ2Jsc3R1UkoyT0kxMnZrNFZkeFhISytXdlBhdmVOWjFCZEkwcTR2MlRlc0s1MkJ0dVNUNjloenlmeHJtZmhYNGRidzM0RHNiZWUzOG04dWQxMWNCdHdiZS9RTUdBSVlJRVVqQTVYdjFycE5lK3lEUU5TZStoYWEwVzFrTTBhOEZrQ2trQTlqanB6UUJtK0NQRWorS05BRjlMR3NjNlN0REtxS1FwSXdRVnlTY2JXWHIzelhTVjUvOEh6Y253VVRQNW5sbTZrOGpmbkd6QzUyNTdidC9Udm52bXZRS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0FKeFh5L2Mzc0h4SCtQMXExazV1dE9lNmk4dEwxVHNNRUtocEZDbk9GYlk1Q2tEbC9tQUpOZStlUGZFTVhoandYcWVvdmVKYVhBdDVFdEhZQWt6bFQ1WUM4N2puMk9BQ1R3RFhrL3dDemhvd0oxdlhXZ3lQa3RJSml3NC9qa1hhRC93QmNUa2oySGVnRDN0UmdVdEZSM0U4VnJieVR6eUpIREdwZDVIWUtxcUJra2s4QUFVQUpjWE1GckJKUGNTcEZERWhra2trYmFxS09TU1R3QUIzTmZQZnhGOGUzUGovVW9mQ2ZoVkpMMnlsZU5zcEc4Y2x4S054STVJSGxnYlNkeWdBcVd6Z0FsL3hIOGNUL0FCQTFhMThLZUdJN21XRVhEeHpCR1FpOFpXd3BVZ2tlV05wWU1XQUkrWWdiUWE5VThDL0QzU3ZCVm4rNlZMblU1RktUMzVRcTBpN2lRTnBadHZCVUhCK2JhQ2FBSnZBbmd1eThGK0hvclNHSlB0MHFxOTdPRHZNc29IWTdSOG9KSVVZSEhKR1N4UGdzYVgveGgrS3N6bzBxV0pjTzZNMnd3V2FNQnhrc0E1QjZBRWIySjRHU1BWZmpkNHYvQU9FZDhLalM0bFlYT3NMSkNzdVJ0U01iZk15Q0Rra01GSCs4VGtFREx2Z2Y0Vmw4UCtEcEwrN2lqVzUxVjFuUmtrTEUyKzM5MEQyQitaMjQvdkRQUEFBUFRnT2hPTSt0TFJXZHFtdmFUb2hpL3RUVTdPeTg3UGwvYVoxajM0NjQzRVp4a1orb29BMGFLS0tBQ2lpcTE5ZjJ1bTJrbDNlM0VOdGJSNDN6VFNCRVhKQUdTZUJ5UVB4RkFGZ2tEclMxODlhcjhadkZmaWpXcmZTL0IybmZaSGxtMnc1VkpaNWNGdXU3S0l1M0JJd2R1MG5kaXZvVUhJQkhTZ0FySDhVYS9iK0dmRFYvckZ3QXlXc1pZSVNSNWprNFZNZ0hHNWlGempqTmJGZUkvdERhekdtazZSb2lsRFBMT2J0OFNqTWFvcFZkeVl5UXhkc0hwbU05YUFQRDVOWHVwdFF2NytRNzd1ODNsN25KallOSVQ1allVZ2ZNQ3lrRUZkcnR4MEkrbS9oVjhQaDRPMFUzR29SMjc2MWRMaVowRzR4SnhpSU5uQndSa2tjRTRISVVHdU0rQjN3L2xoWmZGdXIycnhQcy93Q0pZalBnbEdCRFNNdU9oQnd1VHlDVGo3cHIzVURIYy9pYUFGb29vb0FLS0todWJpTzB0NWJpZVJJb0lrTHlTU050VkZBeVNTZWdBR1NhQU9TK0l2eEJzUEFtakxKS3J5NmhkTEl0bEVxYmxMcXZWeVNBRURGQWNIUHpjRHJqeTc0Uy9EMmJ4TmV5ZU52RXJRM2NGeExNOFVFa1NPdHpJeFpaSGRjWTJoaTJCZ0VubmdENXNLNHVOUytObnhPanQ0amNRNlBDUTZ3dktGTnZhcXloM0hCSG1NY2RtNVpSa3F1UjlMMkZqYjZmcHR0WTJzWml0cmFKWVlvOXhiYWlqQ2pKeVRnQWRhQUxXQjZVbTRBNHFPNG5qdG9Ibm1ramloalV2SkpJd1ZVVURKSko2QWV0ZUErTC9pTnFmeEExbUh3cjRUTnhiMk4zS2JaNXh1emRJMjNMRUJkMGFMdGNubmxTZHdIU2dEdlBHdnhlMGJ3MmJxdzA4blVOWGlMUmxFVStUREp4L3JHNHpqSitWY25LbFR0UE5jVkd2eGE4ZHlXZW9MTytsYWZjS1hnYUs0K3lSS01EcXFreXNHMjVCT2Z2WkdGUEhXZUJmZzVwdmh5NWcxVFZMZzZqcWtXSFZkb0VNTDRISUI1WmxPY01jREJCMmdnR3ZRZFUxWFR0RnMydTlTdW9yYTNYSTN5dGpKd1RoUjFMY0hBR1Nld29BOHMrSDNpSFhkRThiWDNnenhMYzNkOWNPZDBNejNCbEVUS204L01mbUtzdUNQUTQrVUV0ajJLdkdmaGJadzYzNDQ4UWVLNDRtUzJlU1EyM21SOTVXTFpEQTREQlJ5Qi9mNjg4K3pVQUZGRkZBQlJSUlFBVVVWRmNYRVZyQkpQUElrVU1hbDNra1lLcUtPU1NUd0FCUUJMU2JoNjE1SjRrK09WbmE2aStsK0d0TmJXTHJjMEN6YmlJbWw0QytXRkJhVWJpUnh0emdiU2R3TmNuQjhXL0hlbFhrZXRhM283eWFOZEJWaXR6YXRCQXhaY3FZNVNwT1RndHlXQkdjQWNFQUgwUlJWVFM5UWkxYlNyUFVZRWRJYnVCSjQxa0dHQ3VvWVp4M3dhdDBBRkZGRkFCUlJSUUI4L2Z0RTZoRkpyR2lhY3FQNXNGdkxPN25oY1NNb0FCejEvZEhJNDZqMTR0ZnMrZUhpUDdUOFJtVEs0K3dSSUd6bmxaSEo0LzNBQ0R6ODNIUTF3dnhrSC9BQmRqVytuL0FDdzdmOU1JNittUEN1Z3crR1BET242TmJuY2xwRUVNbkk4eGp5ellKT056RW5HZU00b0EyRGtJY0Ruc0JYemg0dU1QeEsrTjl0b2thUGJSMnpOWVN1ekFNNnhOSThqTHdjRWpkdHpub0NldUI3YjQ3MTUvRGZnblY5VWpaa21odHlzRG9vWXJLNTJSbkRjWURzcE9ld1BYcFhsZjdQWGgwTU5UOFJ5eWNqL1FJNGxKQS9oa2NzTWMvd0RMUEdEL0FIc2pwUUI3dGdmalhKZkU2V1NINGQ2dTBVam94UkZKVTRPR2tVRWZRZ2tIMkpycmdNQUQwcmovQUlwZjhrNDFiNlJmK2pVb0FUNFduUHc2MHJqSCt1LzlIUFhZMXgzd3MvNUp6cFgxbS84QVJ6MTJOQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJRZUJtaWc5RFFCNEorMFg0anovWlhocUpRcEgvRXdsZGdQOXVOQXB6L0FOZE04ZjNjSHFLOWI4RmVIUDhBaEZQQjJsNkswdm1TMjBYNzV3MlFaR0pkOXB3UGwzTWNjWnhqUE5mUG5pNjVYeHo4ZTRkUGxnbnViS0cvaTA4d0NQNWhERy83N2xEbmJ1ODF0MmNoVG5qR0I5UWxzSVRrWkhXZ0JTY0hGZUNmRkw0aTNtczZ2SjRJOE5NNm1TYzJsektTRWE0bExiUEpYZGpDYnNoaWV2VDd1ZDI1OFZQaVZjMlVpK0YvRFQrZHFkMW1PVzV0bkR2QVN4VHlrQ2tuemNnK2hYNWNBc1JqWCtGbnd6LzRReUNUVXRRa0w2dmRSZVc4YVA4QXU3ZU1rSFlNY00zeWpMZE9BQnhrc0FYL0FJYi9BQS90UEIra0pjU1JidFp1bzFOMU0rQ1kraDhwY1pBVWR5RDh4R2VnQUhjTjBIUFBibnJUZ01kSzRMNHQrTUY4S2VDWi9zOHdUVWIvQURiMjIxOE9tUjgwZ3dRdzJqb1JuRE1uclFCNDU0aHViLzRxL0Y0YVBCZkxGWkpQSmIyY2hmeklralFFdklnR0EyOElXR2V1Vkc3QUJIMDFiUVJXZHZGYlFSSkZERWdTT09OUXFxbzRBQUdBQVBRVjRsOEdMTFRQQ1hoQzc4WmEzcUZuYnc2aG1LQnBNYmtXTm4zS0QxTE1VSjJLQ1NFVTg5cTNpWDQ1NmhxcjIxajRQc0o0Slp3Rk10eENyeitZV0FDeHFDeW5QVG5KTzdnREhJQjJmeEYrS2RwNE9tR25XTUtYMnJzaFlvemtKYlpIeW1USFVrNE96Z2tjNVg1YytHYUJEZmZFbjRoMkZscnVxWE1qM1RTYjVpMjVrVlZhUXFnUENqZ2dBRGFwUFE5RDFGejhOMThEK0M3dnhKNGxhR1hVa0tMWTZla3FtSlpYQUE4emNwRWpJVHZLQUZTSXprc0dPT1E4QWVJdGI4TmVJRGM2RFlwZTM5ekEwSGtHM2tsTExrT2Rxb1Fjalo3OFpOQUgySFVVMXpEYlcwbHpjU0pEQkVoa2tsa1lLcUtCa2trOEFBY2sxODdSNjM4YTlYYzJDd2F1bjJnRmR6NmZIYkJSZ2svdkdSZHB3T0RrSE9NYzRxeC93b2Z4WHFtcmZhZGI4UVdVZ20vMTl6dmx1SnVGd3Yzd3U3c09XR0IrVkFIYWVLdmpoNGQwZlpEbzRHdFhJbFpKUkd6UnhvRkI1RGxTSHlRTWJjZ2pKeU9NK0srTS9HWGlueGhiV3Mrc0I0ZE9rSmt0SW9yZG83ZG1YQ015ay9mSTVHU1R0TEVER2NWN3ZwSHdYOEY2U3NiUzJNK29UTElKVmx2Sm1icGc3U3E3Vkl5TTRZSEpKem12Si9GTTl4OFV2akF1aldlb2h0UFdWb0xWbXdZNDFSY3l1b1VrTVdLTVFlNDJna0RvQWVpL0Jqd0ZGb21neCtJTGdQOEEyanFVQUtvWEcyR0FrTXVOcElPN0NzYzlPQmdZT2ZWODdWeWUxUjI4TVZyYngyOEVTUlF4SUVTTkZDcWlnWUFBSEFBQTZDdWY4YWVNTEx3Ym9NOS9kdkcwMjBtM3RmTVZYbmJLakNnbk9BV0JKQU9CazQ3RUFoOGUrT2JId05vZjIrNFZKN3AzQ1cxbVgyTk9jamNRY0hBVUhKT01kQjFJcjV3OEdXMnBlTy9pYlpTM3hOOU5KZHJkWHIzQ2wxTVNFRmd3d1FGSUd3REFIekFjQ202cFA0aThkd2FwNHcxaUVTV2VuUmVUNWtTaUJVWjMvZHhvZHAzYlhsREhPVHQ0TEFrRStpZnM2YU1DZFoxeVMzL3VXa0UvbVovMnBWMjUvd0N1SnlSOU85QUh1VnZGRGEyOFZ2YnhKRkJFb2pqampVQlVVREFVQWRBQU1ZcXRiNjVwTjVmVFdOcnFkbFBkdzd2TmdpdUVhU1BhY051VUhJd2VEbm9hNUw0cCtPQjRMOE5mNkhKczFXOURKWi91dDZyZ3J2YzhnRGFEeG5QSlhnZ0d1Qy9aNTBSMnVOVzhRU0s0UlVXeGhZTU5ybkllVEk2Z2pFZU8zSjY5Z0QzbWlrQUFBQTZDbG9BQ2NETmVML3RBK0s0YlRRYmZ3eEJMS0wyOWVPZWRBZzIrUXJOZ0ZqMEpkUVJ0NStRNTRPRDY1cTJwUTZSbzE5cWR3cnREWjI4bHhJc2VDeFZGTEVESkF6Z2V0Zk5YaGF3dS9qRDhVYmpVTlk4K1RTNGlaWjQyYzRpaUJQbDI2a0xqa24vWkxBU05uZHpRQjY5OEgvQlNlRXZDTVU5eEc2YXRxU0pOZGhpUnNBenNUYVFNRlEzUEdkeGJrakZlaEZnQmtuQTk2TUJlZUIycnp6NHcrTVArRVg4SXRiMnR6TkRxbW8vdTdSNFY1VlZLK1lkMzhQeW5HUnpsZ1IwSkFCd3Z4SytKYy9pWFVCNFE4SlRDV0c1bUZ0TmRSc1A5SlppRjhwRGtEWVNjRnY0dVJ3dVMzb1h3L3dEaG5wM2d5eGpubWpndTlaUHp5WGJSNThvNEkyUlo1VmNNUm5ndGs1d01LT2ErQ1BnUzMwL1NJL0Urb1dvL3RHNzNHMERnL3VZU051NERHQXpZUEl6bFN1RHljOWg0eCtJK2hlRHJlZGJpNlNmVUkxekhZd3R1a1pzQWdQZ0h5d1F3T1c3WkkzZEtBT2wxUFU3TFNOT24xRFVKMXQ3UzNVdkpLK2NLQitwSjZBRGtrZ0RrMThvK0pQRStvK05kZmx2THNzcUZpYmUyOHhqSGJyZ0E0QjZaQ2dzUUJrODRIQURmRm54RThRZU1FTnZxVnhFTE5aVm5TMmdnQ0pHNnFWQkRITEhxeDVZOWZZWTlUK0dQdzd0Tk8wNVBFbXZlVWthb3R4YmxwV2pFZXhpeGxmT09NS3BIT01ISjdVQWR2NFMwNnkrSHZnQ01hcGNwYmlKVGMzc3JkRmRzZkx3VGtqNVVHUHZFREF5Y1Z3L2liNDVTcnFNT24rRWRQWFVIZGxWWjVvcFAzckhqWWtRMnNUa2prNDVCQUI2MXp1cjZsclh4aThicnBPbkdTSFFMV1loSlVqZG8wWEJJbWs0SHpzRk8wTmpydDRKWW4yYndsNEgwVHdoYUdMVDdYZk8yNFNYYzREVFNBa0hhV0FHRjRIeWpBNDduSm9BOG91WVBqVnJTelQ3TG0yaHUxUmhGQmNRUWVXb1lzcWo1ZzZINWdEMFlnQU5uR0tQQW54UTFuU2RmaThJK0pJNTcyWnIvQU95ZmFKSmcwc0VoWXJ0WS93RExSZCtBRG5qSnh1K1VWNzV0WDBIclhnUHg3OEpXOXROYStLYmNsSkxtUVd0MkN4TzU5bjd0MUdNZmRqWlNNaitIamtrZ0h2eW5JelMxaCtFdkVVWGl2d3hZNjFGYnZiTGNxeE1Ua0VveXNWWVo3amNwd2UvSFRwVzVRQWg2ZHZ4cjUvOEFpMzRrdWZGdmlXejhJK0czdXJobzJraHVZb21kRmxtRGo1R1JzQWhQTDNiamtBRW5JeG12WnZGdXZRZUcvREYvcVVrMXJITEZESWJkTG1RS3Nzb1FzcWNrWkp4MEhKN1Y4dWVHUEhMZUhkVzFQeEpMWlJYL0FJaHVYekE4NktJWXk3RnBwQ0JnN3o5MWRwQXd6WjdBZ0h2WGhQNFdlRy9CZG45dnZ6RGZYMXZ1bGJVTHBRcVJLQ0dES2hKVk5vUUhlZVFkeHlBY0R5THhkcjJyL0Z6eGhGcG1oYWVseGJXRFRHek1RSU1rUjJobmtkeUFvT3dFWkM0M0JlVGpQQTNtcDNPdDYxSmY2dmV6eVQzRW02NHVBb1p3T2h3dVZIQTRDNUF3QU9BSyt0ZkJQZ3Z3OTRUMDFtMEV2TWw0cU85MjgvbUdkUnVLSGo1Y1ljZ0ZRTWpHYzBBYnVrYVpEbzJrMldtMjdPME5uYnBibzBuTE1xS0FDVDY4VmRvb29BS0tLS0FDb2JxZUcydHBKN2lhT0dDSlM4a3NqQlZSUU1ra25nQWVwcWF1QitNSGlKdkQzdzd2dHNSa2sxRC9BRUJDVnlGOHhXM0U4Zy9jRFk2OGtjRVpvQThZOEphVmErT3ZqWGR5cW4yblNqZjNHb1NmS0FHaUVoS0ZsZnFwWXFwWEdjTWVuVWZVdGVGZnM1UXpMRDRpdVdobDhsM3QwV1ZoOHJNb2tMS0Q2amNEajBZZXRlNm1nRHhyOW9YVjVyYncvcG1rUjcwanZwMmxtY1NGUVVqQStVanVDWkZQUFFvTzVHTzcrSE9neGVIdkFXa1dpVzhrRThsdWx4Y3JLbTJUem5BWjkzQU9RVHQ1NUFVRHRYaHQxZVcveEgrUEZsSlpTaTYwNTdtTFlsNGhLTkRDb1oxQUlPRmJiSVFwQUh6YzRMR3ZwcEFRT2FBSFZ3SHhpdnZzbmdLU0RadUY1Y1JRWnpqWmdtVFB2L3E4ZHV1ZTJEMzllYWZHL2p3WlpmOEFZUmovQVBSY2xBSFMvRDZ3L3M3d0ZvMFBtYjkxdUpzNHhqekQ1bVB3M1k5OFpycHF4dkNQL0ltYUgvMkQ0UDhBMFd0Yk5BQ2Joam5qNjB0ZVJlTVBFVjU4Ti9HMGQrQTl4cG1zYlh1dk9Lc3dLTjh3ajVVamFoRzNQSFBmSEhyRnZORmMyMFU4RWlTeFNJSFI0MkRLeWtaQkJIVWU5QUV0RkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVmorS1BFRnY0WDhOYWhyVnl1Nk8waUxCTWtiM09BaTVBT056RlJuSEdjbmdWc1Y0NyswSnJ6V1BoT3owWkM0YlVyamMveXFWTVVRQks1NUlPOW95TUQrRTg0NElCem43UC9BSWZuMUhYdFU4WTNyQ2ZabTNpa2x4STd6dmhwSDNFN2d3QkFKeHo1cDU0SXJyZml6OFRJTkRzTHJRTklublhYSk5xU3lSZ3A5bFJsVnM3aU9XWld3TnZJeVRrRURQR1cvaTIxK0hud25zTkEwNlZIMS9WcmMzazhzRHZpMldZWlZ5ZUNKUEsyQUt1TUVidlRmMEh3aStGb3MxaDhTK0liWi90dTRtMHNwNG1Rd0ZXSUVqcVFNdnhsZU1EaHVTUmdBcy9DUDRkUzI3eCtOTmNtZVhVYnRUTmFvWDNFTElPWlpHL2lkZ3g0N0E4OC9kOWlvd0IwRkZBR1I0bDhSV25oWFFibldMNk9WN1czMmJ4RHRMbmM0UVlCSUhWdld2bDM0bitPSXZIUGlpSzVzNHJ1UFQ3V0FReFJUa2ZlSkpkOW9PRkp5bzZuSVFFK2c5WC9BR2dkZnU5TzBEVDlKZ1pCYjZpMGhuQlVFdjVaaktxTTlCbHNudjhBS08yYXlmMmZmQ0RwOXE4VlhzUnhnMnRsdlhIL0FGMGNBcjlGREEvODlBYUFPZThQL0R6eHQ0NlRUSmRXdTU3WFJVdFFMV2E1WVBzUlZWRkNRaGg5NEtwejh1NVJ1eVNSbjNudzc0TDBMd3Rhd3hhVllRUnl4eEdJM0xScVpwQVRrN254azVJQngwNEdBQUFCMEdLYTV3UGIxb0E4Ry9hQjFHYTcxalEvRDFxTGw1dHJYRFJJQ3l5RjJDUjRWVHk0S3YxSEcvZy9NYXgvSC9oRzcrSGErR2ZFV2p5SmFYTWR2RGEzVXRvZmtGeWtlQzR6OTRPQTJSc3dkcDNaTDFTOE4zWitJbngzZzFieUo0N1kzWDJ3ZVVuTWNjS2Z1dCtOd0dTa1liM1lnRVpGZWtmSDJTQmZBTnR2REZ2N1JpRVJSOW9WdGtuM2hna2phRHdNYzRPZU1FQTlJMFRXYlB4Qm8xbnF0aSs2MnU0VmxUSkJLNTZxMkNRR0J5Q004RUVkcTBLNEw0TUJ2K0ZVNktTT29uSVB0NThtSzcyZ0RoL2k3cnE2RjhOOVRPWS9Pdmwrd3hMSXBJWXlBaGh4ME96ZVJuaklIMHJsZmdKNFkvczd3OU40am5rZ2xrMUllWEJpUE1rVVNPeXNDMyswd0J3UDdpbm5vdkkvSEx4RGM2MTR5dGZDdHJITTZXT3dtQlZZbWVlUlFSaFZKM1lWbEM4QnNzL3FLN0h4RjQ1cy9oVDRKMHZ3L1lwWXplSUliV09ONFlkclJSU0FSbDJsQVpXRzhNektjWllqSjcwQWR0NDQ4YjZYNEkwVTM5OGQ5dzVaTFcxVmdIbmZIUWRjS01nbHUzSEJKQVBnSGhYd3g0aStNdmlaOVUxdTltTmhEdGp1YjNhRjRISWlpVURhR09jOU1ESlk1SkFiUzhLL0R2eFA4VGIxdGI4Vlg5OUJaY0ZKN2hUNWx3ckhkaUpUZ0ltR1lnNDJnc0FBUmtENk5zN0cxMDZ6anRiRzBndG9JODdJb0l4R2k1Skp3QndPU1QrTkFIalB4dHQ5SjhLL0Q3VGZEK2t4SllyZDNnYzI4S2tDZU9OQ0daeVB2a0V4Y3NTU1FEempqcC9BUXMvQkh3YnROUzFIeWtqVzFmVUoyaTI3cFRKbGtHVHQzU0ZXUkFEM3d1Y0FWNVg0N21iNG1mR1NIUkxDRjdkb0gvczFuazJzVDVUeU5KSmpJR0FDNUFEWklYc1d4VnZ4L3dDSTcvNG9lTXJmdzE0ZnQzbHNMTzRhTVNJelNJN2xnaG5jcGtDTlNlRGc0R1RuNXRvQU9JOFc2N3Ezakc4dnZFRjZjMjBjcTJxQXNuN2xYTXJ4UmpBQmJBV1Q1c1pPT2NIZys4ZkFXd2xzL2h5SjVDaFcrdTVMaVBhVGtLQXNlR3ozekdlbWVDSzVuNHArRVl2Q3Z3WDAzUzdCSkowdGRTU1c2dVBLQUxNeVNneVBnY0RjeXFNOUJ0R1R4WGEvQlM0aG0rRldsUnh6SThrTHpwS3FzQ1VZek8yR0hZN1dVNFBZZzk2QVBRYVFuRlV0UjFuUzlKRVoxTFVyU3o4elBsL2FKMWozNHhuR1R6akkvT3VESGl2Vi9ITjdIYStHbzU3RFRzWXVMMjRoRzVTUHZLcEJLNXd5RVl3MmNjZ0FtZ0NoOGVmRU5uWWVDRG94dzk5cVVpYkV5UXlSbzZ1WDZIdUZVRGpPNDR6ZzFlK0NYaGg5QzhBdzNWeWtZdWRUZjdXVDVhaGhFUVBMVXNDY2pIempwamVSajE0SDQ4K0g0ZEYwcncwTEdCekdqWEtTM0xKeXpOc1pRN2dBWitWc0E5bFBvYTlaK0htdTZQZWVEdERzTFRWYkdlOGcwdTM4NjNpdVVlU0xiR2luY29KSXdjQTU3MEFkZ1Jtdm5ENHplRGZGRjc0N3VOVHR0UHZkUnNicUZGdHpiSTB3aENJb0tFQVpUNXR6ZWgzRWc1M0N2ZXJ2eE5vTmpkdGFYZXVhYmIzS1kzUXpYYUk0eU1qS2s1R1J6WEQ2bjhiUENscGtXYTNlb1NHTGVqUnhlWEh2T2NLUytDT2c1Q25nOStsQUhuVmxvWHhqMXhMR1ZYMURUclRZdHZHaTNDMkN3eHF4R1doUXF3QTUvaEp4akdSZ1ZXMVQ0ZmFMNGQxVCt4VTFHWFc5WmxkSVlZZklOdkZiczQrVXUyVHVKM0lRQXdBd1MyUjhwN0dPYng1OFRaWGoydG9taHVxc2ZrWkZrallzQmh2dlNrb2VRTUljRDd2RmVnZUdQQU9oK0ZkN1drTDNFN05rWEYwRmVSQmpHMVNBQUJna0hISnp6N0FIejc0MjhMNjU0UDFQU05ZMUcxaXViWmlzZ2hNSU50QzRrTG0zS3Fkb1UvZUlBVUhjMk00SnJwZmlWOFVUNHN0OVAwUHdzOXlJYnRWYTRNWWRaWGtjTW4yY29QdmNIa0RjR0pYQjQ1OXY4VGVIN1R4UDRmdXRGdlduUzF1UXZtRzNZSzR3NGNZSkJIVmZUdWE4OCtHL3dmazhJK0paOVcxYTVodkh0OHJwelFzeTRCM0t6dWhIREZTQUFHSUc1dXB3UUFkTjhNdkJTZURQQ2NWdkxodFJ1Y1RYYkZWeWo0LzFZSzlRdkk2bmtzUmpPQjJ0QUFBd0Jpa2J0UUF0YzM0NDBHMzhVZURkVDAxclNPN3VUQTcyaUZnQ2s0VnZMWU1mdW5QR2VtQ1FlQ1JYQS9FZjR6TG9jMTVvdmg0R1RWb0pmS2x1SFJYaGpHdzUySGRuekZZcU1NdUFRd0lPT2VMaCtGWHhGOFcyVUY1ck9vQ1BZTjBFT3JYa2p5SXJBRWtLQTIzUEdRY0hJNUZBRVh3dytLRWZnL1F0VnNkVU4xZHh4b3NtbTIwWStVUHVPNU4zVkFTUWVoSHl1UmtuRFdkYitPZmlmV3JxSzE4TzJVV21zenFGUkZGMU5LNXlBcTVYR0NTdUJ0em52emlzUHh4OE1MendGTmFYZy80bkduRTc1WkJBNktoVmxHeVRZZmxEYmdBUXdKK1lEQkF6NzU4TXRaMGpYZkIwTjdwTmphMlRGOXQ3RGEyd2hRWElWZDVBSFVIZ2c1SnhnSGtFQUE4bjA3NFcrT3ZIZHo5dThZYXJjMlVDcVpvRGN0NXpaa3dXVllndzhvWUhJTzNHRkczcmp6YVh3VjRtdDlhdDlIbTBTOGp2cm1ab29JekdRSldHTnhSajhyS001TEE3UU9jNHI3VHdNNXh6U2JWeUR0R1I3VUFlRC9FWDRTMm1pZkRTeW0wcGZQdnRISmE2bkVRVjdtTmo4N01GVWs3VGdqSndxaHNrOTluNGEvRlh3L0I0STAzVHRhMU40ZFF0RU1HMTdkanVqVS9JVktBZ2dMdFhubktucmtFK3QzTUVOMWJ5UVhFS1RReXFVa2prVU1yS1JnZ2c4RUVFZ2l1VG0rRm5nbTR1bnVXMENCSGNna1F2SkVvSTlFVmdvL0FkZWFBTmZTdkZtaTYzT0lkT3ZQdEVoWGRoSW53QjZrbFFCMUg1aXRxcTlwcDlsWVJlVloybHZiUjd0MnlHTUlNNHhuQUhYRldLQUNpaWlnQXI1My9hRzFhN2JYOUwwWHpDdG5GYWk3MmdrYjVIZDBKWVp3ZG9RWU9PTnpjODE5RVY1NTQ2K0UrbitPZFp0TlV1TlF1YlNlRlVoa1dOVlpYaFZtWWdaNVZ5Vys5a2dZKzZhQUUrQ2Vud1dud3VzSllsS1NYY3MwMDdaUHpPSkdqeU05UGxSUng2WjZtdW44WjZtK2plRGRZMUdLNFMybnQ3T1Y0SlhBd3N1dzdPdkdkMkJnOWM0NzFvNlJwME9qNk5ZNlpibHpCWjI4ZHZHWkNDeFZGQ2pKR09jRDByeXI5b1hWRmc4RzJHbHJjT2sxNWViMmpVc0JKSEdqRnQzWWdNMFJ3ZStEMnlBREUvWjAwNVhuMXpWcGJhUXVxdzIwRTVEQmNIY3pvT3hQRVpQVWpqMTU5OHJpUGhQb3gwWDRiYVBHNlFyUGNSbTdsZUpjYi9BRENYWGNjRExCQ2lrLzdPT2dGZFJxV3Q2Vm8vbC8ybHFkbFplYnU4djdUY0xGdnhqT054R2NaR2ZyUUJmcnpQNDQvOGlWWmNnZjhBRXhUci93QmM1YXl0WS9hQTBPS0M2WFJySzh1cnRReXdQTWdTQnpuRzRuZHUyNDV4dEJQQU8zcU9EMXo0eTZ0NGw4TVhPa2FocGxrcHVOdjc2QXNtMEIwWmNCaTM5MXdlZWQ0NmJUdUFQb0x3YzI3d1ZvUjQvd0NRZmJqZy93RFROYTI2NFA0TzNNTno4Tk5NRUxveGphWkhDa0hZM211MkQ2SERBL1FpdThvQTQ3NG1lSEkvRWZnZTlnMk85M2JLYnEwRWFsbU1xS1R0VlFSa3N1NWNjNDNad2NWelh3TDFuVTlROExYVmplcFBKYldNaUphWExuTzVDUDhBVmpnWjJZSFBvNEdBQUs5V0lCR0RSakZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUl6YlZ6WHlKOFhOZWs4US9FdlV6bGhGWlA5aGlEcUFVRVdRK01kUVpESXdKNXdSMDZEM3I0c2VQN0x3ajRhdUxPTzRjNnpmUVBIYXhRdnRlTGNDdm1ramxRcDVIY2tZSFFrZWIvQUFYK0dVZXFHSHhWckVOdkxwM3pwYTJraXJJSmo4eU03Z2dqQU9RQjFKR2VBQnVBTkQ0U2ZEbVcvdWs4WGE3Wm9rTE1zOWhBcStVZk1EaHhNRlFnQk1naFZ4Z2c1d0JndDcwT2xGRkFCU0U0cGE1RDRsK0pyZnd6NEYxRzVlNGxodWJpSjdhemFISWZ6MlJncEJIM2NZSnprZE9PY0NnRHhUNHdYSThaZkZLejB2dytyMzExREI5aGVKSTJCRTZ5eUYxTzdBd0J6dSs2T1RuQXlQb0h3cm9NSGhqd3hwK2kyeDNSMnNJVXZnanpISnk3NEpPTnpGbXhuak9LOE4rQlBoYWZXUEVWMTR5dnJpVnpaeXVrVGtnbTRuZFQ1aFk1SjRWd2VuSmNIUEJCK2k2QUNzN1h0VEdqYUJxR3BtTHp2c2x0TGNlVnYyK1pzVXR0ejJ6aXRHcVdyYWREckdrWHVtWEJrV0c4dDVMZVJveUF5cTZsU1JualBQb2FBUG5qNEVTV0drM3ZpSHhKcVdvUjIxcHA5b2tNcGRUajk0MjRIUHFQS3dBQVNTM0hiTkRWTlIxTDQyZkVhenRMRld0Tk9qVXJDSkM3K1JFcHkwcnFEZ094d093enNVdC9FZFAvQUlaMThSRFVQTFhXTk0rd0dYQmx6SjVnanoxMmJjYnNjN2QrTThaNzE3VDRIOEVhYjRIMFQ3RFpqemJpVWhycTdkUUhuY2QvWlJrNFhQR1QzSkpBTjZ3c2JmVExHM3NyU1B5N2EzaVdHSk1rN1VVQUFaUEo0SGVyTkZGQUh5ZDhRdFA4VjNmeFkxaVNEU3J6KzBGbEZ6Yi9BR0dPUjI4aENGaW1VcmtqaFYrWVl3MlJ3UVJYWitCUGdMdFpML3hpU1Z5eWpUSTMrZ1Zua1J2Yy9LdnQ4M1ZhOSt3UFNqQUhhZ0JBTVZpK01wNWJYd1JyOXhCSzhNMFduWER4eVJ0dFpHRWJFRUhzUWNjMXQxaWVML0RjWGk3d3JmNkZOY1NXeTNTQUNhTVpLTXJCbE9PNDNLTWpqSXlNanJRQjhlYVBkVFJSM1ZyWldyU1gxOHEya1RSbjVsVm1HNVVVREpaK0V6bkcxblhCM2NmUnZ3ZytIRGVFckdUVmRWaWROY3VWYUpvaTZsWUl0L0NqYXhERTdWT2UzQUdNSEo4TlBoSEg0TG4vQUxYMUc0anVkWTh0NDBTTERRd3FjWUtrcUczWUJHN2poaU1kejZqaWdERDhYZUdvdkZ2aGUrME9lNGUzUzZWUUpVWEpSbFlPcHdlbzNLTWpqSTR5T3RmUDBmaGI0ci9EZDVSb3EzY2xxekFmNkJpNWlrWmdDVzhvZ2tIQ2dGeWdPUmpPRHo5TzBnQUhRQVVBZUQrRC9ncHF0M2VycW5pKzc4dmRLWkpiV09VdkpPZHpidk1rQndDVGc1QllrRThnOVBjYlN5Z3NiU0MxdGwyUVFSckZHbVNkcXFNQVpQUFFDckdCNlVVQVkzaVR3dnBmaXpSWnRLMWVEenJlVDVsSXdIaWNkSFE5bUdmeEdRY2drSHg2L3dEMmN4SDlwZXc4VEFBNzJnaXVMUURvRHNWblZ2b0N3WDFJSGF2ZXFLQVBHdEYvWi8wNnp2bGsxVFc1NzYzVWgvSmhnOGplUXdPR2JleDJrWkJBd2VlQ08vb1doK0EvRFBoMjZOMXBta3d3M0pHQkt4YVJsNElPMHVTVnlDUWNZejN6WFIwVUFJQmpwakZMUlJRQVVVVVVBRkl5aGhnZ0g2MHRGQUhoSHhCK0VXdXY0bm04UStFNVhsbHVyZ3pQYnJMNVVrRDRERjBkbXdjdnVQVWJTVkFCR1NNWmRjK05WbkE4Q3c2cTYyYkNGbU5oSE16ZmV4aGloTW4zZVc1SFE1K1pTZnBDaWdENW1Id3UrSlBpYlVMT0R4QTl3dHNwSU54ZVg2M0FnQndXS2dPeHljQWNkVGpKQTVyM2Z3VjRSc3ZCWGg1TktzbmVYTG1XZVp1UE5sSUFZZ2Z3akFBQTdBRGtuSlBRN1JuT0JuMXBhQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUs4eStNM2dQVVBHT2gyVStsSVo5UXNaR3hBWFZBOGJnQnNidU53S29lU0JnTjN4WHB0RkFIekpMNEwrTWQzYnlXMDl4cThzTXFtT1NPVFdsWU1wR0NDREx5TUhHRDYxcDZMK3p6cWx4cGtjMnE2NURZWFRZUGtSVy9uN0FRRGd0dVVCZ1NRUXVSeHdUbXZvakFIYWpBOUtBT04wRDRXK0VmRDA5dmRXbWtvOTVDaXFMaTVjeXNXR0R2d1R0VnNqT1ZBeHpqQXJyWjdhSzVna2duUlpJcFZLUEc0eXJLZW9JOTZsb29BcldOaGFhYmFwYTJOdEJhMnlaMlF3UmhFWEp5Y0tPQmtrbjhhczBVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVnpYalR4dHBuZ25TUHRsODIrZVRLMnRxcCtlZHZiMFVaR1dQQXlPcElCcytLL0U5bDRUOFBYR3JYcnB0alUrVEd6YlRQSmc3WTF3Q2NuSFhCd01rOEFrZktYamp4WHFmalBWQnJsN2FtQ0p5MXZheHhxVEdpb2R4WGRnYm1HOEVuL2JCd0JnQUFwTzJ0L0VIeGxGSEpNYnJWTlJsamlNaFRhRGdCZHhDTHdxcU1rZ2NBRTE5ZytHOUVnOFBlRzlPMGlEeXlsbkFrUmVPSVJpUmdQbWZhT2hac3NldkpQSnJ5UDluM3djOXJZeitMcmlTUlpMeFh0cmFJYmRyUmhsTFNIdmt1aFVBNCs2VHprVjdpTTQ1NjBBRkZGRkFCWHpIOFp2R0V2aXp4VGJhRHBUcGQ2ZGFsUEpObktaaGRUU0JlUUY0SkdTZ0F5UWQzUE9CN3Y0KzhSeStFL0JXcDYxQkFrODl2R29pamtZaFN6dXFBbkhKd1dCd01aeGpJem12RXZnWjRDdU5TMXFMeFRxRnJ0MDYxeTFyNWdINzZiT053QkhLcjh4M2NZY0xnbkRDZ0QyN3dQNFR0UEIvaGUxMHlDSkVtTWFQZU1rak9zayt4VmR3VzV3ZHZBd0I3Q3VrcEJuSE5MUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGVnIrK3RkTnRKTHU5dW9MVzNUYUdtbmRVUmNrQVpKSUE1SUZXVHgyelh6NThidkdVMnM2dkI0UTBhZDVvWTIyM2NWc1N4dUxnc0FrV0FNc1ZPTWdFamN3QkdWRkFITCtQZkdVdnhHOFJwSmJKY1E2SHA4SmtHNk5Ga2hqSVh6WGJMaFdZa0FLdTRaT3dERE56WDhNZUdaUGlQNDFnc0xTTzZoOE82Y3BpV2NJb2todHd6TXU0azQ4MTJaajNBWm1LcnRYQVpyOXpid3gybmdYd2pPYjhTM1FqdnIySlJDdXAzQmZFU2NzZmtUSUErWUlXSllEb3grZ3ZocDRKaDhGK0VyYTJlM2pUVTdoUkxmU0JSdWFUcUVKQklJUUhhTWNIazlXT1FEckxHeHR0TjArMnNiU1B5N2EyaVdHSk54YmFpZ0JSazhuZ0RyVmlpaWdBb29vb0FRZ0hyU0tnWHBucVQxcDFGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQWN2NC84QUVpZUZmQk9wNm41NWl1ZkxNVm9SdExHZGdRbUZiZzRQekVjOEt4d2NZcjVMZzFlZTBFK3BwcU00MWlhVnRraVNTaWFMUEx6R1JXSExaS1krYklaODdTRkxkNThldkVFK29lT3pwTGZKYmFYR3FSaklJWjVGVjJicGtjRkJqSkh5NUhVMXBmQ1g0U2YybTBQaVR4SkJpdzRlMHM1Ri93Q1BqUElkeC9jOUFmdmRUOHYzd0RxUGdoOE9wTkd0bjhTNjNaN05SbjNKYXd6d3NzdHNnTEJtTzdHR2Y2ZmQ3L09SWHMxSUFCMHBhQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0E0L1gvaG40YThSK0pMWFhyK3kzWGtHTjZyZ1IzT1B1K2FwQjNZd1BxQUFkeWpGZGNpN1Z4Z1U2aWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0QvMlE9PQ==</SignID>
<SignPass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<SignVertreter/>
<FpDG3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<FpFinger1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<FpQualitaet1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<FpCaptureDevice1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<FpWSQ1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<FpFinger2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<FpQualitaet2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<FpCaptureDevice2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<FpWSQ2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</Person>
</PassAntrag>Regards,
Martin -
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? -
How to improve performance of a query that is based on an xmltype table
Dear Friends,
I have a query that is pulling records from an xmltype table with 9000 rows and it is running very slow.
I am using XMLTABLE command to retreive the rows. It is taking upto 30 minutes to finish.
Would you be able to suggest how I can make it faster. Thanks.
Below is the query.....
INSERT INTO temp_sap_po_receipt_history_t
(po_number, po_line_number, doc_year,
material_doc, material_doc_item, quantity, sap_ref_doc_no_long,
reference_doc, movement_type_code,
sap_ref_doc_no, posting_date, entry_date, entry_time, hist_type)
SELECT :pin_po_number po_number,
b.po_line_number, b.doc_year,
b.material_doc, b.material_doc_item, b.quantity, b.sap_ref_doc_no_long,
b.reference_doc, b.movement_type_code,
b.sap_ref_doc_no, to_date(b.posting_date,'rrrr-mm-dd'),
to_date(b.entry_date,'rrrr-mm-dd'), b.entry_time, b.hist_type
FROM temp_xml t,
XMLTABLE(XMLNAMESPACES('urn:sap-com:document:sap:rfc:functions' AS "n0"),
'/n0:BAPI_PO_GETDETAIL1Response/POHISTORY/item'
PASSING t.object_value
COLUMNS PO_LINE_NUMBER VARCHAR2(20) PATH 'PO_ITEM',
DOC_YEAR varchar2(4) PATH 'DOC_YEAR',
MATERIAL_DOC varchar2(30) PATH 'MAT_DOC',
MATERIAL_DOC_ITEM VARCHAR2(10) PATH 'MATDOC_ITEM',
QUANTITY NUMBER(20,6) PATH 'QUANTITY',
SAP_REF_DOC_NO_LONG VARCHAR2(20) PATH 'REF_DOC_NO_LONG',
REFERENCE_DOC VARCHAR2(20) PATH 'REF_DOC',
MOVEMENT_TYPE_CODE VARCHAR2(4) PATH 'MOVE_TYPE',
SAP_REF_DOC_NO VARCHAR2(20) PATH 'REF_DOC_NO',
POSTING_DATE VARCHAR2(10) PATH 'PSTNG_DATE',
ENTRY_DATE VARCHAR2(10) PATH 'ENTRY_DATE',
ENTRY_TIME VARCHAR2(8) PATH 'ENTRY_TIME',
HIST_TYPE VARCHAR2(5) PATH 'HIST_TYPE') b;Based on response from mdrake on this thread:
Re: XML file processing into oracle
For large XML's, you can speed up the processing of XMLTABLE by using a registered schema...
declare
SCHEMAURL VARCHAR2(256) := 'http://xmlns.example.org/xsd/testcase.xsd';
XMLSCHEMA VARCHAR2(4000) := '<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" xdb:storeVarrayAsTable="true">
<xs:element name="cust_order" type="cust_orderType" xdb:defaultTable="CUST_ORDER_TBL"/>
<xs:complexType name="groupType" xdb:maintainDOM="false">
<xs:sequence>
<xs:element name="item" type="itemType" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:byte" use="required"/>
</xs:complexType>
<xs:complexType name="itemType" xdb:maintainDOM="false">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:short" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="cust_orderType" xdb:maintainDOM="false">
<xs:sequence>
<xs:element name="group" type="groupType" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="cust_id" type="xs:short" use="required"/>
</xs:complexType>
</xs:schema>';
INSTANCE CLOB :=
'<cust_order cust_id="12345">
<group id="1">
<item id="1" name="Standard Mouse">100</item>
<item id="2" name="Keyboard">100</item>
<item id="3" name="Memory Module 2Gb">200</item>
<item id="4" name="Processor 3Ghz">25</item>
<item id="5" name="Processor 2.4Ghz">75</item>
</group>
<group id="2">
<item id="1" name="Graphics Tablet">15</item>
<item id="2" name="Keyboard">15</item>
<item id="3" name="Memory Module 4Gb">15</item>
<item id="4" name="Processor Quad Core 2.8Ghz">15</item>
</group>
<group id="3">
<item id="1" name="Optical Mouse">5</item>
<item id="2" name="Ergo Keyboard">5</item>
<item id="3" name="Memory Module 2Gb">10</item>
<item id="4" name="Processor Dual Core 2.4Ghz">5</item>
<item id="5" name="Dual Output Graphics Card">5</item>
<item id="6" name="28inch LED Monitor">10</item>
<item id="7" name="Webcam">5</item>
<item id="8" name="A3 1200dpi Laser Printer">2</item>
</group>
</cust_order>';
begin
dbms_xmlschema.registerSchema
schemaurl => SCHEMAURL
,schemadoc => XMLSCHEMA
,local => TRUE
,genTypes => TRUE
,genBean => FALSE
,genTables => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
execute immediate 'insert into CUST_ORDER_TBL values (XMLTYPE(:INSTANCE))' using INSTANCE;
end;
SQL> desc CUST_ORDER_TBL
Name Null? Type
TABLE of SYS.XMLTYPE(XMLSchema "http://xmlns.example.org/xsd/testcase.xsd" Element "cust_order") STORAGE Object-relational TYPE "cust_orderType222_T"
SQL> set autotrace on explain
SQL> set pages 60 lines 164 heading on
SQL> col cust_id format a8
SQL> select extract(object_value,'/cust_order/@cust_id') as cust_id
2 ,grp.id as group_id, itm.id as item_id, itm.inm as item_name, itm.qty as item_qty
3 from CUST_ORDER_TBL
4 ,XMLTABLE('/cust_order/group'
5 passing object_value
6 columns id number path '@id'
7 ,item xmltype path 'item'
8 ) grp
9 ,XMLTABLE('/item'
10 passing grp.item
11 columns id number path '@id'
12 ,inm varchar2(30) path '@name'
13 ,qty number path '.'
14 ) itm
15 /
CUST_ID GROUP_ID ITEM_ID ITEM_NAME ITEM_QTY
12345 1 1 Standard Mouse 100
12345 1 2 Keyboard 100
12345 1 3 Memory Module 2Gb 200
12345 1 4 Processor 3Ghz 25
12345 1 5 Processor 2.4Ghz 75
12345 2 1 Graphics Tablet 15
12345 2 2 Keyboard 15
12345 2 3 Memory Module 4Gb 15
12345 2 4 Processor Quad Core 2.8Ghz 15
12345 3 1 Optical Mouse 5
12345 3 2 Ergo Keyboard 5
12345 3 3 Memory Module 2Gb 10
12345 3 4 Processor Dual Core 2.4Ghz 5
12345 3 5 Dual Output Graphics Card 5
12345 3 6 28inch LED Monitor 10
12345 3 7 Webcam 5
12345 3 8 A3 1200dpi Laser Printer 2
17 rows selected.Need at least 10.2.0.3 for performance i.e. to avoid COLLECTION ITERATOR PICKLER FETCH in execution plan...
On 10.2.0.1:
Execution Plan
Plan hash value: 3741473841
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 24504 | 89M| 873 (1)| 00:00:11 |
| 1 | NESTED LOOPS | | 24504 | 89M| 873 (1)| 00:00:11 |
| 2 | NESTED LOOPS | | 3 | 11460 | 805 (1)| 00:00:10 |
| 3 | TABLE ACCESS FULL | CUST_ORDER_TBL | 1 | 3777 | 3 (0)| 00:00:01 |
|* 4 | INDEX RANGE SCAN | SYS_IOT_TOP_774117 | 3 | 129 | 1 (0)| 00:00:01 |
| 5 | COLLECTION ITERATOR PICKLER FETCH| XMLSEQUENCEFROMXMLTYPE | | | | |
Predicate Information (identified by operation id):
4 - access("NESTED_TABLE_ID"="CUST_ORDER_TBL"."SYS_NC0000900010$")
filter("SYS_NC_TYPEID$" IS NOT NULL)
Note
- dynamic sampling used for this statementOn 10.2.0.3:
Execution Plan
Plan hash value: 1048233240
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 17 | 132K| 839 (0)| 00:00:11 |
| 1 | NESTED LOOPS | | 17 | 132K| 839 (0)| 00:00:11 |
| 2 | MERGE JOIN CARTESIAN | | 17 | 131K| 805 (0)| 00:00:10 |
| 3 | TABLE ACCESS FULL | CUST_ORDER_TBL | 1 | 3781 | 3 (0)| 00:00:01 |
| 4 | BUFFER SORT | | 17 | 70839 | 802 (0)| 00:00:10 |
|* 5 | INDEX FAST FULL SCAN| SYS_IOT_TOP_56154 | 17 | 70839 | 802 (0)| 00:00:10 |
|* 6 | INDEX UNIQUE SCAN | SYS_IOT_TOP_56152 | 1 | 43 | 2 (0)| 00:00:01 |
|* 7 | INDEX RANGE SCAN | SYS_C006701 | 1 | | 0 (0)| 00:00:01 |
Predicate Information (identified by operation id):
5 - filter("SYS_NC_TYPEID$" IS NOT NULL)
6 - access("SYS_NTpzENS1H/RwSSC7TVzvlqmQ=="."NESTED_TABLE_ID"="SYS_NTnN5b8Q+8Txi9V
w5Ysl6x9w=="."SYS_NC0000600007$")
filter("SYS_NC_TYPEID$" IS NOT NULL AND
"NESTED_TABLE_ID"="CUST_ORDER_TBL"."SYS_NC0000900010$")
7 - access("SYS_NTpzENS1H/RwSSC7TVzvlqmQ=="."NESTED_TABLE_ID"="SYS_NTnN5b8Q+8Txi9V
w5Ysl6x9w=="."SYS_NC0000600007$")
Note
- dynamic sampling used for this statement----------------------------------------------------------------------------------------------------------
-- CLEAN UP
DROP TABLE CUST_ORDER_TBL purge;
exec dbms_xmlschema.deleteschema('http://xmlns.example.org/xsd/testcase.xsd'); -
I have successfully created (at least I think) oracle text indexes on my XMLType table:
EXEC ctx_ddl.create_section_group('contract_xmlgroup', 'XML_SECTION_GROUP');
EXEC CTX_DDL.Add_Zone_Section (group_name => 'contract_xmlgroup', section_name => 'complete_entry', tag => 'complete_entry')
CREATE INDEX complete_entry ON boss_contracts INDEXTYPE IS ctxsys.context
parameters('section group contract_xmlgroup');
however I am unsure how to now search using CONTAINS with this index, I tried this at first:
SELECT count(*) FROM boss_contracts b
WHERE CONTAINS(value(b), 'string WITHIN complete_entry') > 0;
this just gave me the error:
ERROR at line 1:
ORA-20000: Oracle Text error:
DRG-10599: column is not indexed
any help would be appreciated
PaulIt looks like you are wanting to search by sub-directory names or a combination of sub-directory names. By default, Oracle Text views the directory delimiter / as white space, so the individual sub-directories are tokenized. Therefore, you don't need the wildcards or / to do your searches. Please see the example below.
SCOTT@orcl_11g> create table files_included
2 (pid varchar2 (16) not null,
3 filename varchar2 (40) not null)
4 /
Table created.
SCOTT@orcl_11g> insert all
2 into files_included values
3 ('123456-01', '/usr/bin/ls/a')
4 into files_included values
5 ('123456-02', '/usr/bin/ls/b')
6 into files_included values
7 ('123456-03', '/usr/x/ls/a')
8 into files_included values
9 ('123456-02', '/usr/bin/x/b')
10 into files_included values
11 ('654321', '/usr/bin/other')
12 select * from dual
13 /
5 rows created.
SCOTT@orcl_11g> create index myindex
2 on files_included (filename)
3 indextype is ctxsys.context
4 /
Index created.
SCOTT@orcl_11g> select token_text
2 from dr$myindex$i
3 /
TOKEN_TEXT
B
BIN
LS
OTHER
USR
X
6 rows selected.
SCOTT@orcl_11g> select * from files_included
2 where contains (filename, 'bin ls') > 0
3 /
PID FILENAME
123456-01 /usr/bin/ls/a
123456-02 /usr/bin/ls/b
SCOTT@orcl_11g> select * from files_included
2 where contains (filename, 'bin') > 0
3 /
PID FILENAME
123456-01 /usr/bin/ls/a
123456-02 /usr/bin/ls/b
123456-02 /usr/bin/x/b
654321 /usr/bin/other
SCOTT@orcl_11g> select * from files_included
2 where contains (filename, 'ls') > 0
3 /
PID FILENAME
123456-01 /usr/bin/ls/a
123456-02 /usr/bin/ls/b
123456-03 /usr/x/ls/a
SCOTT@orcl_11g> -
I am using a xmltype table for parsing the xml file and then storing the tag values into someother tables.
The table syntax
CREATE GLOBAL TEMPORARY TABLE ATLAS.XML_PROCESS
XML_DATA XMLTYPE
ON COMMIT DELETE ROWS;
At a time i will parse only one xml file. And them the content will be deleted and then i will parse another xml file.
The parsing of the xml file is taking much CPU time and also it is taking more FETCH time. ( i have seen from the trace file)
Do i need to create any index on this table?
Please suggest me how can i imrove the performence.
ThanksHi
Why do you use a GTT? Just keep your xml in memory...
HTH
Chris -
Exporting xmltype table data into xml/txt file
I want to export data stored in oracle as xmltype table into xml format file.
I want to use alternatives to the method shown below as my xml file is large.
set long 10000000
spool c:\\StudentXMLJan08.xml
SELECT
XMLElement("Student",
XMLForest(s.studentid "studentid",
s.firstname "firstname",
s.lastname "surname"),
XMLElement("enrollments",
(SELECT XMLAGG(
XMLForest(sc.coursecode "courseid"))
FROM studentcourse sc
WHERE sc.studentid = s.studentid
and sc.is_approved='Y'
and sc.takenyear='2008'
and sc.takenterm='1')))
FROM student s
where s.statuscode in (select studentstatuscode from studentstatus where studentstatusactive=1)
order by s.studentid;
spool off
please help, thank youHow's this one for size
SQL> create or replace view DEPARTMENT_XML of xmltype
2 with object id
3 (
4 'DEPARTMENT'
5 )
6 as
7 select xmlElement
8 (
9 "Departments",
10 (
11 select xmlAgg
12 (
13 xmlElement
14 (
15 "Department",
16 xmlAttributes( d.DEPARTMENT_ID as "DepartmentId"),
17 xmlElement("Name", d.DEPARTMENT_NAME),
18 xmlElement
19 (
20 "Location",
21 xmlForest
22 (
23 STREET_ADDRESS as "Address", CITY as "City", STATE_PROVINCE as "State",
24 POSTAL_CODE as "Zip",COUNTRY_NAME as "Country"
25 )
26 ),
27 xmlElement
28 (
29 "EmployeeList",
30 (
31 select xmlAgg
32 (
33 xmlElement
34 (
35 "Employee",
36 xmlAttributes ( e.EMPLOYEE_ID as "employeeNumber" ),
37 xmlForest
38 (
39 e.FIRST_NAME as "FirstName", e.LAST_NAME as "LastName", e.EMAIL as "EmailAddre
ss",
40 e.PHONE_NUMBER as "Telephone", e.HIRE_DATE as "StartDate", j.JOB_TITLE as "Job
Title",
41 e.SALARY as "Salary", m.FIRST_NAME || ' ' || m.LAST_NAME as "Manager"
42 ),
43 xmlElement ( "Commission", e.COMMISSION_PCT )
44 )
45 )
46 from HR.EMPLOYEES e, HR.EMPLOYEES m, HR.JOBS j
47 where e.DEPARTMENT_ID = d.DEPARTMENT_ID
48 and j.JOB_ID = e.JOB_ID
49 and m.EMPLOYEE_ID = e.MANAGER_ID
50 )
51 )
52 )
53 )
54 from HR.DEPARTMENTS d, HR.COUNTRIES c, HR.LOCATIONS l
55 where d.LOCATION_ID = l.LOCATION_ID
56 and l.COUNTRY_ID = c.COUNTRY_ID
57 )
58 )
59 from dual
60 /
View created.
SQL> create or replace trigger DEPARTMENT_DML
2 instead of INSERT or UPDATE or DELETE
3 on DEPARTMENT_XML
4 begin
5 null;
6 end;
7 /
Trigger created.
SQL> declare
2 cursor getDepartments is
3 select ref(d) XMLREF
4 from DEPARTMENT_XML d;
5 res boolean;
6 targetFolder varchar2(1024) := '/public/Departments';
7 begin
8 if dbms_xdb.existsResource(targetFolder) then
9 dbms_xdb.deleteResource(targetFolder,dbms_xdb.DELETE_RECURSIVE_FORCE);
10 end if;
11 res := dbms_xdb.createFolder(targetFolder);
12 for dept in getDepartments loop
13 res := DBMS_XDB.createResource(targetFolder || '/Departments.xml', dept.XMLREF);
14 end loop;
15 end;
16 /
PL/SQL procedure successfully completed.
SQL> select path
2 from path_view
3 where equals_path(RES,'/public/Departments/Departments.xml') = 1
4 /
PATH
/public/Departments/Departments.xml
SQL> select xdburitype('/public/Departments/Departments.xml').getXML()
2 from dual
3 /
XDBURITYPE('/PUBLIC/DEPARTMENTS/DEPARTMENTS.XML').GETXML()
<Departments>
<Department DepartmentId="60">
<Name>IT</Name>
<Location
SQL> quit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
C:\Temp>ftp localhost
Connected to mdrake-lap.
220- mdrake-lap
Unauthorised use of this FTP server is prohibited and may be subject to civil and criminal prosecution.
220 mdrake-lap FTP Server (Oracle XML DB/Oracle Database) ready.
User (mdrake-lap:(none)): SCOTT
331 pass required for SCOTT
Password:
230 SCOTT logged in
ftp> cd /public/Departments
250 CWD Command successful
ftp> ls -l
200 EPRT Command successful
150 ASCII Data Connection
-rw-r--r-- 1 SCOTT oracle 0 NOV 10 20:18 Departments.xml
226 ASCII Transfer Complete
ftp: 71 bytes received in 0.01Seconds 7.10Kbytes/sec.
ftp> get Departments.xml -
200 EPRT Command successful
150 ASCII Data Connection
<Departments><Department DepartmentId="60"><Name>IT</Name><Location><Address>2014 Jabberwocky Rd</Address><City>Southlak
e</City><State>Texas</State><Zip>26192</Zip><Country>United States of America</Country></Location><EmployeeList><Employe
e employeeNumber="103"><FirstName>Alexander</FirstName><LastName>Hunold</LastName><EmailAddress>AHUNOLD</EmailAddress><T
elephone>590.423.4567</Telephone><StartDate>2006-01-03</StartDate><JobTitle>Programmer</JobTitle><Salary>9000</Salary><M
anager>Lex De Haan</Manager><Commission></Commission></Employee><Employee employeeNumber="105"><FirstName>David</FirstNa
me><LastName>Austin</LastName><EmailAddress>DAUSTIN</EmailAddress><Telephone>590.423.4569</Telephone><StartDate>2005-06-
25</StartDate><JobTitle>Programmer</JobTitle><Salary>4800</Salary><Manager>Alexander Hunold</Manager><Commission></Commi
ssion></Employee><Employee employeeNumber="106"><FirstName>Valli</FirstName><LastName>Pataballa</LastName><EmailAddress>
VPATABAL</EmailAddress><Telephone>590.423.4560</Telephone><StartDate>2006-02-05</StartDate><JobTitle>Programmer</JobTitl
e><Salary>4800</Salary><Manager>Alexander Hunold</Manager><Commission></Commission></Employee><Employee employeeNumber="
107"><FirstName>Diana</FirstName><LastName>Lorentz</LastName><EmailAddress>DLORENTZ</EmailAddress><Telephone>590.423.556
7</Telephone><StartDate>2007-02-07</StartDate><JobTitle>Programmer</JobTitle><Salary>4200</Salary><Manager>Alexander Hun
old</Manager><Commission></Commission></Employee><Employee employeeNumber="104"><FirstName>Bruce</FirstName><LastName>Er
nst</LastName><EmailAddress>BERNST</EmailAddress><Telephone>590.423.4568</Telephone><StartDate>2007-05-21</StartDate><Jo
bTitle>Programmer</JobTitle><Salary>6000</Salary><Manager>Alexander Hunold</Manager><Commission></Commission></Employee>
</EmployeeList></Department><Department DepartmentId="50"><Name>Shipping</Name><Location><Address>2011 Interiors Blvd</A
ddress><City>South San Francisco</City><State>California</State><Zip>99236</Zip><Country>United States of America</Count
ry></Location><EmployeeList><Employee employeeNumber="120"><FirstName>Matthew</FirstName><LastName>Weiss</LastName><Emai
lAddress>MWEISS</EmailAddress><Telephone>650.123.1234</Telephone><StartDate>2004-07-18</StartDate><JobTitle>Stock Manage
r</JobTitle><Salary>8000</Salary><Manager>Steven King</Manager><Commission></Commission></Employee><Employee employeeNum
ber="122"><FirstName>Payam</FirstName><LastName>Kaufling</LastName><EmailAddress>PKAUFLIN</EmailAddress><Telephone>650.1
23.3234</Telephone><StartDate>2003-05-01</StartDate><JobTitle>Stock Manager</JobTitle><Salary>7900</Salary><Manager>Stev
en King</Manager><Commission></Commission></Employee><Employee employeeNumber="121"><FirstName>Adam</FirstName><LastName
Fripp</LastName><EmailAddress>AFRIPP</EmailAddress><Telephone>650.123.2234</Telephone><StartDate>2005-04-10</StartDate><JobTitle>Stock Manager</JobTitle><Salary>8200</Salary><Manager>Steven King</Manager><Commission></Commission></Employee
<Employee employeeNumber="124"><FirstName>Kevin</FirstName><LastName>Mourgos</LastName><EmailAddress>KMOURGOS</EmailAddress><Telephone>650.123.5234</Telephone><StartDate>2007-11-16</StartDate><JobTitle>Stock Manager</JobTitle><Salary>5800<
/Salary><Manager>Steven King</Manager><Commission></Commission></Employee><Employee employeeNumber="123"><FirstName>Shan
ta</FirstName><LastName>Vollman</LastName><EmailAddress>SVOLLMAN</EmailAddress><Telephone>650.123.4234</Telephone><Start
Date>2005-10-10</StartDate><JobTitle>Stock Manager</JobTitle><Salary>6500</Salary><Manager>Steven King</Manager><Commiss
ion></Commission></Employee><Employee employeeNumber="128"><FirstName>Steven</FirstName><LastName>Markle</LastName><Emai
lAddress>SMARKLE</EmailAddress><Telephone>650.124.1434</Telephone><StartDate>2008-03-08</StartDate><JobTitle>Stock Clerk
</JobTitle><Salary>2200</Salary><Manager>Matthew Weiss</Manager><Commission></Commission></Employee><Employee employeeNu
mber="127"><FirstName>James</FirstName><LastName>Landry</LastName><EmailAddress>JLANDRY</EmailAddress><Telephone>650.124
.1334</Telephone><StartDate>2007-01-14</StartDate><JobTitle>Stock Clerk</JobTitle><Salary>2400</Salary><Manager>Matthew
Weiss</Manager><Commission></Commission></Employee><Employee employeeNumber="126"><FirstName>Irene</FirstName><LastName>
Mikkilineni</LastName><EmailAddress>IMIKKILI</EmailAddress><Telephone>650.124.1224</Telephone>
<StartDate>2002-06-07</St
artDate><JobTitle>Public Relations Representative</JobTitle><Salary>10000</Salary><Manager>Neena Kochhar</Manager><Commi
ssion></Commission></Employee></EmployeeList></Department></Departments>226 ASCII Transfer Complete
ftp: 40392 bytes received in 0.08Seconds 480.86Kbytes/sec.
ftp>
Maybe you are looking for
-
Allowing Spanish characters in PDF forms
I'd like to develop a PDF form primarily for Spanish speaking users. Is it possible to allow Spanish characters in a PDF form? I know setting the "default locale" in LC has nothing to do with this, so is it a matter of system settings (ie. keyboard s
-
Problems with Friday the 13th update.
First of all, it's rather an odd date for Verizon to update the Thunderbolt firmware, don't you think? Secondly, I have had nothing but bugs since I did the update and am a bit perturbed by the fact that Verizon has released this. It appears to me th
-
hi there, i have managed to get my mipd program talking 2 a tomcat server, but i have run into the following problem: the servlet has at initiation a buffer called int l = 0; and increment the l value by 1 , this is fine but when i get another phone
-
I am trying to imbed a formula that will look pull in the current date, then subtract 91 days from it. I am wondering if anyone can help me with it? Tried: timestampadd(SQL_TSI_DAY, -91,Date) ADDDATE(CURRENT_DATE, INTERVAL 91 DAY); Thanks,
-
Hi , I am trying to implement an idoc to RNIF scenario. Please help me to know how to configure it. I have loaded the Rosetanet package in Integration repository . How should I proceed further Thanks in advance, Hemanthika