Problem using Extract in xml
My problem,
declare
v_clob clob;
begin
select extract(xml_details,'/ROWSET/ROW/CTRY_CODE').getStringVal() into v_clob from xml_tab where xml_name='GRN.XML';
end;
xml_tab description
column
xml_details clob
xml_name VARCHAR2(2000)
This block works fine for smaller xmls...but not working for large xmls.Clob can store a very large xml but using getStringVal() it cannot return large string size,how could i get large xml values from a xml.
Error shown: ORA-06502-String size too small
Hi,
you can use .getClobVal()
Ants
Similar Messages
-
Problem using namespace of XML docs gerenrated by XMLForm
Hi community!
I am facing a problem using namespace within a XSL stylsheet. Let me describe my problem:
I am using the SAP XMLFormsBuilder within the SAP EnterprisePortal in order to provide a HTML based form for creating and editing specific XML documents. The data in the generated documents is finally presented as HTML using XSL Transformation.
In the XMLFormsBuilder you define the Schema of the XML document and the HTML GUI of the form. The Schema document looks like below (extract):
<?xml version="1.0" encoding="utf-8"?>
<schema targetNamespace="http://www.xmlspy.com/schemas/orgchart"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xyz="http://www.xmlspy.com/schemas/orgchart" Version="6.3.0">
<element name="commodity"
default=""
minOccurs="1"
maxOccurs="1"
ns="p2p"
xmlns:p2p="http://www.portal.p2p.com">
<complexType>
<sequence>
<element name="administrative_information"
default=""
minOccurs="1"
maxOccurs="1"
ns="p2p">
<complexType>
<sequence>
<element name="creation_date"
default=""
minOccurs="1"
maxOccurs="1"
type="date"
ns="p2p"/>
As far as I understand, each element defined in the Schama belongs to the namespace "p2p" and this is exactly what I want.
The XML document generated by the form looks like below (extract):
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="show_card.xsl"?>
<commodity xmlns:xf="http://www.sapportals.com/wcm/app/xmlforms"
xmlns:xsi="http//www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="/etc/xmlforms/P2PCategoryCard_TEST/P2PCategoryCard_TEST-Schema.xml">
<administrative_information>
<creation_date>2005-07-04</creation_date>
Consequently, the file "show_card.xsl" is the responsible XSLT stylesheet, which looks like this:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:p2p="http://www.portal.p2p.com">
<xsl:output method="html"/>
<xsl:template match="p2p:commodity">
<html>
<body>
<h2>XSLT Test</h2>
Creation Date: <xsl:value-of select="p2p:administrative_information/p2p:creation_date"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
The problem in the XSLT stylesheet is, that I want to access the XML document elements using their namespace. And this is exactly what does not work for me. On the other hand, if I remove the reference to the namespace:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:p2p="http://www.portal.p2p.com">
<xsl:output method="html"/>
<xsl:template match="commodity">
<html>
<body>
<h2>XSLT Test</h2>
Creation Date: <xsl:value-of select="administrative_information/creation_date"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
the stylesheet works fine, but for some technical reasons, which I don't want to explain here, I have to use the namespace when accessing the XML document elements.
For technical reasons, I cannot change the format of the Schema document and also cannot change the format of the generated XML document. The only file I can change and control is the XSLT stylsheet.
My question is now, in the case described above, if there is any way to use the namespace in the sytlesheet when accessing the XML elements?
Any help is appreciated.
Cheers,
Adam Kreuschnerduggal.ashish wrote:
3. Some XML files contain a "iso-8859-1" character with character code 146 which appears like apostrophes but actually it is : - ’ and the problem is that words like can’t are shown as can?t by database.http://en.wikipedia.org/wiki/ISO8859-1
Scroll down in that page and you'll see that the character code 146 -- which would be 92 in hexadecimal -- is in the "unused" area of ISO8859-1. I don't know where you got the idea that it represents some kind of apostrophe-like character but it doesn't.
Edit: Actually, I do know where you got that idea. You got it from Windows-1252:
http://en.wikipedia.org/wiki/Windows-1252
Not the same charset at all. -
Problem using extract function (PL/SQL) with "&#34"
Hi,
When I use extract function (PL/SQL), it does not transform well """. Insted of returning ' " ' , it returns ' " '.
I know this works changing the code replacing xml.extract for SELECT extractvalue(xml,'//A/text()') into v from dual;
But Is there another way to do this using PL/SQL? any patch, option..?
RegardsHad to use my website to demonstrate the code...
As said, whatever I try here the code gets automatically converted...
See for answer on your question: http://www.liberidu.com/blog/?p=635 -
Problem using Extract Function
My problem,
declare
v_clob clob;
begin
select extract(xml_details,'/ROWSET/ROW/CTRY_CODE').getStringVal() into v_clob from xml_tab where xml_name='GRN.XML';
end;
xml_tab description
column
xml_details clob
xml_name VARCHAR2(2000)
This block works fine for smaller xmls...but not working for large xmls.Clob can store a very large xml but using getStringVal() it cannot return large string size,how could i get large xml values from a xml.
Error shown: ORA-06502-String size too smallselect extract(xml_details,'/ROWSET/ROW/CTRY_CODE').getClobVal()
Without knowing your version, you may still run into an issue if the length of the data is > 64K. 9i truncs the data and goes on happily. 10g throws an error. 11g should handle correctly. -
[Digester] Problem using recursion in xml rule file
Hi!
I am trying to parse an XML file using digester but getting a problem. The file has a recursive tag. The format of the file given below:
<dpr-domain name="AircraftPerformances">
<dpr-data-category name="AircraftClass" systemOption="FULLOLDI">
<dpr-attribute name="landingSpeed" systemOption="HALFOLDI"/>
<dpr-data-category name="holdingParameters" systemOption="HALFOLDI">
<dpr-attribute name="maximumspeed1" systemOption="FULLOLDI"/>
</dpr-data-category>
<dpr-data-category name="turnRate" systemOption="FULLOLDI,HALFOLDI">
<dpr-attribute name="maximumspeed2" systemOption="FULLOLDI"/>
<dpr-data-category name="accelerateRate" systemOption="HALFOLDI">
<dpr-attribute name="maximumspeed21" systemOption="FULLOLDI"/>
<dpr-data-category name="descendRate" systemOption="HALFOLDI">
<dpr-attribute name="maximumspeed211" systemOption="FULLOLDI"/>
</dpr-data-category>
</dpr-data-category>
</dpr-data-category>
</dpr-data-category>
</dpr-domain>
The rule file I have written for this is:
<digester-rules>
<pattern value="dpr-domain">
<object-create-rule classname="check.Domain"/>
<pattern value="*/dpr-data-category">
<object-create-rule classname="check.DataCategory"/>
<set-properties-rule/>
<pattern value="dpr-attribute">
<object-create-rule classname="check.Attribute"/>
<set-properties-rule/>
<set-next-rule methodname="addAttributes" />
</pattern>
<set-next-rule methodname="addDataCategory" paramtype="check.DataCategory"/>
</pattern>
</pattern>
</digester-rules>
But this is not working. If the "dpr-domain" tag is removed, then it works. Please help me by giving a solution for this problem.
Regards,
ArshikaFor this scenario,
First I have used FCC for the same structure and CSV is also generated, but the CSV when opened with NOTEPAD it is not showing endSeparator , i.e my first row last element is concatenated with second row first element,there is no row seperator.
But the same when opened with WordPad,we can see the data, row wise
now the destination system open the file in notepad only.
for that i tried using this Bean specified above but it is not fulfilling the requirement.
The parameters I have mentioned in FCC are as follows:
Recordset Structure : E1WBB01,E1WBB03,EAN_MASTER
NAME VALUE
EAN_MASTER.fieldSeparator , (comma)
EAN_MASTER.endSeparator 'nl'
E1WBB03.fieldSeparator ,
E1WBB03.endSeparator 'nl'
E1WBB01.fieldSeparator ,
E1WBB01.endSeparator 'nl'
Please provide a solution,why thr endSeparator is not shown in notepad.
Thanks -
Using Extract Single Tone Information to detect phase
Dear all,
I have problem using Extract Single Tone Information vi to detect phase angle of a sine wave.
I posted similar question a few days ago regarding using the same vi to determine phase angle of a square wave and realised it couldn't be done because square wave is not single tone. I modified my program slightly and use it to examine a sine wave but I still couldn't get reliable results.
Please find the attached for the program code. When I set frequency to 5 Hz, everything worked fine but when I set it to 5.17 Hz with 20 degree phase, the detected phase value keeps changing. Appreciate if you could help me on this matter. Thank you very much!
Best regards
Attachments:
SineWavePhaseAngleTest.vi 28 KBHi looloo,
Sorry for slow response! Here's the VI back-saved to LV8.2
(in case It's not too late to help...)
The "phase" output reflects the "angle" associated with the beginning value in the Y-array (when Y = amplitude, Phase is 90deg.)
Phase is changing because sine-wave (Y-input) is shifting each time single-tone is called...
Cheers!
"Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)
Attachments:
SineWavePhaseAngleTest[1,LV8.21].vi 38 KB -
Problem In Extracting xml file from Zip File
Hi,
In my application I am creating a zip file which contains some xml files. I am using Weblogic 8.1 for my application.
When I try to extract the xml file from the zip file it displays error and those xml files are not extracted from the zip file.
Otherwise on tomcat it works absolutely fine.
Is there any support issues of using the zip files with weblogic?
Please respond.
Thanks in Advance.Friends
I resolved the problem
just to add the jars of
mail.jar and activation.jar in the client side.
regards
ashok -
Problems using java.xml.xpath - How to get values from DTMNodeList?
Sorry for the waffle in the subject title, but I was unsure what to call it. I hope this thread is in the correct forum.
I'm having problems using xpath to parse some data from an XML file. I am able to create an expression which obtains the elements I wish to retreive, but I'm unsure on how to go about getting their values. So far I have..
public int getTerms(int PMID)
String uri = "http://www.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&id="
+ PMID + "&retmode=xml";
// Create an XPath object with the XPathFactory class
XPathFactory factory = XPathFactory.newInstance();
XPath xPath = factory.newXPath();
// Define an InputSource for the XML article
InputSource inputSource = new InputSource(uri);
// Create the expression
String expression = "/PubmedArticleSet/PubmedArticle/MedlineCitation/MeshHeadingList/MeshHeading/DescriptorName";
// Use this expression to obtain a NodeSet of all the MeSH Headings for the article
try
DTMNodeList nodes = (DTMNodeList) xPath.evaluate(expression,
inputSource, XPathConstants.NODESET);
int length = nodes.getLength();
String[] terms = new String[length];
// Test mesh terms are being stored.
*for (int i=0; i<length; i++)*
* System.out.println(i + ": " + nodes.item(i).getNodeValue());*
return nodes.getLength();
catch (XPathExpressionException e2)
{ System.out.println("Article with PMID " + PMID + " has no associated MeSH terms");}
// return a default
return 0;
} The part in bold is the problematic code. I wish to retreive the values of each of the nodes I have taken into my DTMNodeList using a for loop to iterate through each node, and use the getNodeValue() method from the Node class which should return a string. However, the values I retreive are NULL. In the test document I use, the elements do have values.
Here is a snippet of the XML file I am reading in:
<MeshHeadingList>
<MeshHeading>
<DescriptorName MajorTopicYN="N">Binding Sites</DescriptorName>
</MeshHeading>
- <MeshHeading>
<DescriptorName MajorTopicYN="N">Chromatium</DescriptorName>
<QualifierName MajorTopicYN="Y">enzymology</QualifierName>
</MeshHeading>
- <MeshHeading>
<DescriptorName MajorTopicYN="Y">Cytochrome c Group</DescriptorName>
</MeshHeading>
- <MeshHeading>
<DescriptorName MajorTopicYN="N">Electron Spin Resonance Spectroscopy</DescriptorName>
</MeshHeading>
- <MeshHeading>
<DescriptorName MajorTopicYN="N">Flavins</DescriptorName>
</MeshHeading>
- <MeshHeading>
<DescriptorName MajorTopicYN="N">Heme</DescriptorName>
</MeshHeading>
- <MeshHeading>
<DescriptorName MajorTopicYN="N">Hydrogen-Ion Concentration</DescriptorName>
</MeshHeading>
- <MeshHeading>
<DescriptorName MajorTopicYN="N">Iron</DescriptorName>
<QualifierName MajorTopicYN="N">analysis</QualifierName>
</MeshHeading>
- <MeshHeading>
<DescriptorName MajorTopicYN="N">Magnetics</DescriptorName>
</MeshHeading>
- <MeshHeading>
<DescriptorName MajorTopicYN="N">Oxidation-Reduction</DescriptorName>
</MeshHeading>
- <MeshHeading>
<DescriptorName MajorTopicYN="N">Protein Binding</DescriptorName>
</MeshHeading>
- <MeshHeading>
<DescriptorName MajorTopicYN="N">Protein Conformation</DescriptorName>
</MeshHeading>
- <MeshHeading>
<DescriptorName MajorTopicYN="N">Temperature</DescriptorName>
</MeshHeading>
</MeshHeadingList>Any help would be appreciated.. thanks :-)Answered my own question....
The element value is actually the child of the node I am current at, so instead of doing:
i + ": " + nodes.item(i).getNodeValue()); I should have really done:
i + ": " + nodes.item(i).getChildNode().getNodeValue()); -
Problem in parsing an XML using SAX parser
Hai All,
I have got a problem in parsing an XML using SAX parser.
I have an XML (sample below) which need to be parsed
<line-items>
<item num="1">
<part-number>PN1234</part-number>
<quantity uom="ea">10</quantity>
<lpn>LPN1060</lpn>
<reference num="1">Line ref 1</reference>
<reference num="2">Line ref 2</reference>
<reference num="3">Line ref 3</reference>
</item>
<item num="2">
<part-number>PN1527</part-number>
<quantity uom="lbs">5</quantity>
<lpn>LPN2152</lpn>
<reference num="1">Line ref 1</reference>
<reference num="2">Line ref 2</reference>
<reference num="3">Line ref 3</reference>
</item>
<item num="n">
</item>
</line-items>
There can be any number of items( 1 to n). I need to parse these
item values using SAX parser and invoke a stored procedure for
each item with its
values(partnumber,qty,lpn,refnum1,refnum2,refnum3).
Suppose if there are 100 items, i need to invoke the stored
procedure sp1() 100 times for each item.
I need to invoke the stored procedure in endDocument() method of
SAX event handler and not in endelement() method.
What is the best way to store those values and invoke the stored
procedure in enddocument() method.
Any help would br greatly appreciated.
Thanks in advance
Pooja.VO or ValueObject is a trendy new name for Beans.
So just create an item class with variables for each of the sub elements.
<item>
<part-number>PN1234</part-number>
<quantity uom="ea">10</quantity>
<lpn>LPN1060</lpn>
<reference num="1">Line ref 1</reference>
<reference num="2">Line ref 2</reference>
<reference num="3">Line ref 3</reference>
</item>
public class ItemVO
String partNumber;
int quantity;
String quantityType;
String lpn;
List references = new ArrayList();
* @return Returns the lpn.
public String getLpn()
return this.lpn;
* @param lpn The lpn to set.
public void setLpn(String lpn)
this.lpn = lpn;
* @return Returns the partNumber.
public String getPartNumber()
return this.partNumber;
* @param partNumber The partNumber to set.
public void setPartNumber(String partNumber)
this.partNumber = partNumber;
* @return Returns the quantity.
public int getQuantity()
return this.quantity;
* @param quantity The quantity to set.
public void setQuantity(int quantity)
this.quantity = quantity;
* @return Returns the quantityType.
public String getQuantityType()
return this.quantityType;
* @param quantityType The quantityType to set.
public void setQuantityType(String quantityType)
this.quantityType = quantityType;
* @return Returns the references.
public List getReferences()
return this.references;
* @param references The references to set.
public void setReferences(List references)
this.references = references; -
Problem in rendering the XML using XSLT in Netscape 7
Hi there,
I have used the XSLT to generate HTML codes from the XML datafiles.
It works fine in Internet Explorer, but when I tried it on Netscape
7.0 , it just displayed the xml data, without the tags..
For example,
In the xml ,I have the following :
<id>11111111111111112</id>
<name>adegf1</name>
<date>Mar 24 2003Jan 01</date>
In the IE, it was transformed into the html perfectly but
when i used Netscape 7.0, it was displayed as the following in a single
line:
11111111111111112adegf1Mar 24 2003Jan 01
Can anybody tell me how to overcome this ? Does the problem lie in the xml or the xslt ? I am using XSL Transform version 1.0 and XML version 1.0.
Thanks in advance !
KirkHello,
The generated XML refers to the XSLT which is in the server.
So, the browser's parsers affects the output..
Any sugestions ?
Thanks ! -
A doubt in xml ..should i use extract or make my own plsql function..
I am using apex.. and fetchiNG data in xml format..
Now in plsql ..There are functions ..like extract which can be used to extract the values..
But i find it difficult to understand
since i find making a function which shall use substring and instr to find the value .. .
Wait let me show you the example of xml..data
<?xml version="1.0" encoding="WINDOWS-1252"?>
<CraftyResponse>
<address_data_paf_compact>
<thoroughfare_count>1</thoroughfare_count>
<thoroughfare>
<delivery_point_count>5</delivery_point_count>
<delivery_point>
<organisation_name>THE BAKERY</organisation_name>
<department_name/>
<po_box_number/>
<building_number>1</building_number>
<sub_building_name/>
<building_name/>
<udprn>12345678</udprn>
</delivery_point>
<delivery_point>
<organisation_name>FILMS R US</organisation_name>
<department_name/>
<po_box_number/>
<building_number>3</building_number>
<sub_building_name/>
<building_name/>
<udprn>12345679</udprn>
</delivery_point>
<delivery_point>
<organisation_name>FAMILY BUTCHER</organisation_name>
<department_name/>
<po_box_number/>
<building_number>7</building_number>
<sub_building_name/>
<building_name/>
<udprn>12345680</udprn>
</delivery_point>
<delivery_point>
<organisation_name/>
<department_name/>
<po_box_number/>
<building_number/>
<sub_building_name/>
<building_name>BIG HOUSE</building_name>
<udprn>12345681</udprn>
</delivery_point>
<delivery_point>
<organisation_name/>
<department_name/>
<po_box_number/>
<building_number>17</building_number>
<sub_building_name/>
<building_name>LITTLE COTTAGE</building_name>
<udprn>12345682</udprn>
</delivery_point>
<dependent_thoroughfare_name/>
<dependent_thoroughfare_descriptor/>
<thoroughfare_name>HIGH</thoroughfare_name>
<thoroughfare_descriptor>STREET</thoroughfare_descriptor>
</thoroughfare>
<double_dependent_locality/>
<dependent_locality>CRAFTY VALLEY</dependent_locality>
<town>BIG CITY</town>
<postal_county>POSTAL COUNTY</postal_county>
<traditional_county>TRADITIONAL COUNTY</traditional_county>
<postcode>AA1 1AA</postcode>
</address_data_paf_compact>
</CraftyResponse>
Now how do i extract values of town, postal_country building_name,
I know we can use extract to get the result ..But how exactly to use extract here I dotn know..
The other method is a easier method.. which involves creating your own function which uses substr ..and instr
It shal lsearch for <organisation_name> and find the orgonizatio..
I dont know which approch is betTER .. I find making my own customised function a easier and better way..
But any one has idea on extract function ..please let me know..
Db version is 11g
Any information shall be appreciated
ThanksHi Thanks Marco, and odie
Tried it.. some synatx issues..
Was trying to understand about these functions..
This is the structure of my table ..
desc xml_data_tab
Name Null Type
XML_DATA XMLTYPE()
This is the xml data
<?xml version = '1.0' encoding = 'UTF-8'?><CraftyResponse>
<address_data_paf_compact>
<thoroughfare_count>1</thoroughfare_count>
<thoroughfare>
<delivery_point_count>5</delivery_point_count>
<delivery_point>
<organisation_name>THE BAKERY</organisation_name>
<department_name></department_name>
<po_box_number></po_box_number>
<building_number>1</building_number>
<sub_building_name></sub_building_name>
<building_name></building_name>
<udprn>12345678</udprn>
</delivery_point>
<delivery_point>
<organisation_name>FILMS R US</organisation_name>
<department_name></department_name>
<po_box_number></po_box_number>
<building_number>3</building_number>
<sub_building_name></sub_building_name>
<building_name></building_name>
<udprn>12345679</udprn>
</delivery_point>
<delivery_point>
<organisation_name>FAMILY BUTCHER</organisation_name>
<department_name></department_name>
<po_box_number></po_box_number>
<building_number>7</building_number>
<sub_building_name></sub_building_name>
<building_name></building_name>
<udprn>12345680</udprn>
</delivery_point>
<delivery_point>
<organisation_name></organisation_name>
<department_name></department_name>
<po_box_number></po_box_number>
<building_number></building_number>
<sub_building_name></sub_building_name>
<building_name>BIG HOUSE</building_name>
<udprn>12345681</udprn>
</delivery_point>
<delivery_point>
<organisation_name></organisation_name>
<department_name></department_name>
<po_box_number></po_box_number>
<building_number>17</building_number>
<sub_building_name></sub_building_name>
<building_name>LITTLE COTTAGE</building_name>
<udprn>12345682</udprn>
</delivery_point>
<dependent_thoroughfare_name></dependent_thoroughfare_name>
<dependent_thoroughfare_descriptor></dependent_thoroughfare_descriptor>
<thoroughfare_name>HIGH</thoroughfare_name>
<thoroughfare_descriptor>STREET</thoroughfare_descriptor>
</thoroughfare>
<double_dependent_locality></double_dependent_locality>
<dependent_locality>CRAFTY VALLEY</dependent_locality>
<town>BIG CITY</town>
<postal_county>POSTAL COUNTY</postal_county>
<traditional_county>TRADITIONAL COUNTY</traditional_county>
<postcode>AA1 1AA</postcode>
</address_data_paf_compact>
</CraftyResponse>
Edited by: susf on Aug 29, 2012 7:00 PM -
Hi,
I've tried to criete an IFS user using a createUser.xml but executing the command line ifsput i receive the following error:
Error: PUT: IFS-12649:ClassSelectionParser: Cannot envoke without the Parse.CURRENT_PATH_OPTION and Parse.CURRENT_NAME_OPTION
Even if I think about a configuration problem I don't know what to do. Can anyone help me?
THANKSDoes the createUser.xml file work when imported via SMB (MS Explorer)?
Please include the content of the createUser.xml file.
Also, it appears that you have created a mapping between the .xml extension and the ClassSelectionParser. This would circumvent the XimpleXMLParser which is responsible for creating the user from an xml configuration file. -
Problem using saxparser(reading japanese xml file)
Hi everybody,
I hav a problem while reading japanese xml file.(UTF-8 charset)
I have to read the file and process it.
But in the characters function of the saxparser(defaulthandler) the japanese chatracters are not read properly and the program is
displaying some junk values(????) instead of the actual japanese characters.
I am also usind xsd validation.
I am not able to where the characters manipulation is being done.
Please help me as soon as possible .
Thanks in advance,
Charan.There are a couple of things probably going on.
1) When I've done things using Unicode unusual characters, they do not print properly if you do System.out.println( ). If you have a Gui panel and can put them into a JTextArea or JEditorPane, they may show up properly if you have set the font for that object to one that can display the characters.
2) Many people starting with SAX write their code assuming that the characters method is only called once for each element that has text content. This is incorrect. The characters method can be called many times, and it is your responsibility to catch all of the data. In 1.4 you can use a StringBuffer, or in 1.5 there is a StringBuilder. You use these to accumulate the data from all of the calls to charactrers() between the startElement and endElement.
Each parser can decide how often it calls characters, so you have to be able to process data from several calls.
Dave Patterson -
Problem using XMLNode class with schema registered XML
Hello,
I'm working on an XML document management system that currently uses CLOB storage of XML data. I'm trying to switch over to a schema registered/object-relational approach to increase performance.
However, the code (which I didn't write) uses the XMLNode class and its methods such as selectSingleNode which work when used against unregisterd xml, but breaks when used against registered xml. I don't know if this is a namespace issue or what.
Here's a sample.
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true); // don't know if this is neccessary
newICD = (XMLDocument) dbf.newDocumentBuilder().parse(icdFile);
docNode = (XMLNode) newICD.getDocumentElement();
//this works with CLOB storage, but returns null with registered schema/O-R storage
tempNode = docNode.selectSingleNode("/sw_icd/TITLEPAGE/DocNum");
Any ideas would be greatly appreciated.
Thanks<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!--W3C Schema generated by XMLSpy v2006 sp2 U (http://www.altova.com)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="AffectedComponents">
<xs:complexType>
<xs:sequence>
<xs:element ref="COMPONENT" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CHANGE" type="xs:string" />
<xs:element name="COMPONENT">
<xs:complexType>
<xs:sequence>
<xs:element ref="SectionString" />
<xs:element ref="RevisionType" />
<xs:element ref="SectionType" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Change">
<xs:complexType>
<xs:sequence>
<xs:element ref="CHANGE" />
<xs:element ref="SSCN" />
<xs:element ref="PIRNS" />
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="DESCRIPTION" type="xs:string" />
<xs:element name="PIRN">
<xs:complexType>
<xs:sequence>
<xs:element ref="PIRN_NUMBER" />
<xs:element ref="AffectedComponents" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PIRNS">
<xs:complexType>
<xs:sequence>
<xs:element ref="PIRN" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PIRN_NUMBER" type="xs:string" />
<xs:element name="PUBDATE" type="xs:string" />
<xs:element name="REV" type="xs:string" />
<xs:element name="RevItem">
<xs:complexType>
<xs:sequence>
<xs:element ref="REV" />
<xs:element ref="DESCRIPTION" />
<xs:element ref="PUBDATE" />
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="RevisionType" type="xs:string" />
<xs:element name="SSCN" type="xs:string" />
<xs:element name="SectNum">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="SectNumTitle" />
<xs:element ref="t" />
<xs:element ref="list" />
<xs:element ref="figure" />
<xs:element ref="tbl" />
</xs:choice>
<xs:attribute name="id" type="xs:string" use="required" />
<xs:attribute name="val" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="SectNumTitle" type="xs:string" />
<xs:element name="SectionString" type="xs:string" />
<xs:element name="SectionType" type="xs:string" />
<xs:element name="SigDate" type="xs:string" />
<xs:element name="SigElectronic" type="xs:string" />
<xs:element name="SigName" type="xs:string" />
<xs:element name="SigOrganization" type="xs:string" />
<xs:element name="SigType" type="xs:string" />
<xs:element name="Signature">
<xs:complexType>
<xs:sequence>
<xs:element ref="SigType" />
<xs:element ref="SigName" />
<xs:element ref="SigElectronic" minOccurs="0" />
<xs:element ref="SigOrganization" />
<xs:element ref="SigDate" />
</xs:sequence>
<xs:attribute name="id" type="xs:string" />
</xs:complexType>
</xs:element>
<xs:element name="Signatures">
<xs:complexType>
<xs:sequence>
<xs:element ref="colspec" maxOccurs="unbounded" />
<xs:element ref="Signature" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="type" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="TblHdg">
<xs:complexType mixed="true">
<xs:attribute name="num" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="bindata">
<xs:complexType>
<xs:attribute name="src" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="caption" type="xs:string" />
<xs:element name="cell">
<xs:complexType mixed="true">
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="colspec">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required" />
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="width" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="figure">
<xs:complexType>
<xs:sequence>
<xs:element ref="width" />
<xs:element ref="height" />
<xs:element ref="caption" />
<xs:element ref="bindata" />
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required" />
<xs:attribute name="val" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="height" type="xs:string" />
<xs:element name="list">
<xs:complexType>
<xs:sequence>
<xs:element ref="list1" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="list1">
<xs:complexType>
<xs:sequence>
<xs:element ref="t" />
<xs:element ref="list2" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required" />
<xs:attribute name="val" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="list2">
<xs:complexType>
<xs:sequence>
<xs:element ref="t" />
<xs:element name="list3" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element ref="t" />
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required" />
<xs:attribute name="val" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required" />
<xs:attribute name="val" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="pui" type="xs:string" />
<xs:element name="sect">
<xs:complexType>
<xs:sequence>
<xs:element ref="SectNum" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="sw_icd">
<xs:complexType>
<xs:sequence>
<xs:element name="TITLEPAGE">
<xs:complexType>
<xs:sequence>
<xs:element name="Title1" type="xs:string" />
<xs:element name="Title2" type="xs:string" />
<xs:element name="Group" type="xs:string" />
<xs:element name="Rev" type="xs:string" />
<xs:element name="DrafDate" type="xs:string" />
<xs:element name="DocumentType" type="xs:string" />
<xs:element name="Org1" type="xs:string" />
<xs:element name="Org2" type="xs:string" />
<xs:element name="Org3" type="xs:string" />
<xs:element name="Location" type="xs:string" />
<xs:element name="ContractNo" type="xs:string" />
<xs:element name="DocNum" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="REVHISTPAGE">
<xs:complexType>
<xs:sequence>
<xs:element name="RevItems">
<xs:complexType>
<xs:sequence>
<xs:element ref="colspec" maxOccurs="unbounded" />
<xs:element ref="RevItem" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="t" />
<xs:element name="ERU" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PREFACE">
<xs:complexType>
<xs:sequence>
<xs:element ref="t" />
<xs:element ref="Signature" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CONCURRENCE">
<xs:complexType>
<xs:sequence>
<xs:element ref="Signatures" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CHANGES">
<xs:complexType>
<xs:sequence>
<xs:element name="ChangeItems">
<xs:complexType>
<xs:sequence>
<xs:element ref="colspec" maxOccurs="unbounded" />
<xs:element ref="Change" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element ref="sect" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="t">
<xs:complexType mixed="true">
<xs:attribute name="id" type="xs:string" />
</xs:complexType>
</xs:element>
<xs:element name="tbl">
<xs:complexType>
<xs:sequence>
<xs:element ref="pui" minOccurs="0" />
<xs:element ref="TblHdg" maxOccurs="unbounded" />
<xs:element ref="colspec" maxOccurs="unbounded" />
<xs:element ref="tr" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required" />
<xs:attribute name="val" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="tr">
<xs:complexType>
<xs:sequence>
<xs:element ref="cell" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="width" type="xs:string" />
</xs:schema> -
Problem using existsnode from view
I am having a problem using existsnode from a view. I am currently using 10.2.0.3
example
CREATE OR REPLACE VIEW XML_PERSON_ASSOCIATION
(PERSON)
AS
select
xmlelement("Person",
xmlforest(
extractvalue(value(p),'/Person/PersonID') "PersonID",
extractvalue(value(p),'/Person/Prefix') "Prefix",
extractvalue(value(p),'/Person/FirstName') "FirstName",
extractvalue(value(p),'/Person/MiddleName') "MiddleName",
extractvalue(value(p),'/Person/LastName') "LastName",
extractvalue(value(p),'/Person/Suffix') "Suffix",
extractvalue(value(p),'/Person/PreferredName') "PreferredName",
extractvalue(value(p),'/Person/Gender') "Gender",
extractvalue(value(p),'/Person/PrimaryLanguage') "PrimaryLanguage",
extractvalue(value(p),'/Person/RecordStatus') "RecordStatus",
extractvalue(value(p),'/Person/ImportedDate') "ImportedDate",
(select
xmlagg(
xmlelement("Association",
xmlforest(
extractvalue(value(oa),'/OrganizationPersonAssoc/Name') "Name",
extractvalue(value(ot),'/OrganizationType/OrganizationID') "OrganizationID",
extractvalue(value(ot),'/OrganizationType/Type') "OrganizationType",
extractvalue(value(a),'/Association/Role') "Role",
extractvalue(value(a),'/Association/RecordStatus') "RecordStatus",
extractvalue(value(oa),'/OrganizationPersonAssoc/ImportedDate') "ImportedDate"
xmlelement("PersonTypes",
extract(value(per),'/Person/PersonTypes/PersonType')
xmlelement("Addresses",
extract(value(a),'/Association/Addresses/Address')
xmlelement("ContactMechanisms",
extract(value(a),'/Association/ContactMechanisms/ContactMechanism')
from org_person_assoc oa,
table(xmlsequence(extract(value(oa),'/OrganizationPersonAssoc/OrganizationTypes/OrganizationType'))) ot,
table(xmlsequence(extract(value(ot),'/OrganizationType/Associations/Association'))) a,
table(xmlsequence(extract(value(a),'/Association/Persons/Person'))) per
where extractvalue(value(per),'/Person/PersonID') = extractvalue(value(p),'/Person/PersonID')
) "Associations"
) person
from person p
/When I run the following statment
select person
from xml_person_association o
where existsnode(person,'/Person/Associations/Association[OrganizationID=30097]')=1;
I get no records returned. Now if I used the extract function and use the same path that's in the existsnode clause I get a record returned.
select extract(person,'/Person/Associations/Association')
from xml_person_association o
where existsnode(person,'/Person/Associations/Association[OrganizationID=30097]')=1;
<Association>
<Name>TEST DATA</Name>
<OrganizationID>30097</OrganizationID>
</Association>
If I run the same style of existsnode statment against a table directly instead of a view I am not required to use an extract caluse that has the same path that is used in the existsnode clause.
Thanks for the help.
Message was edited by:
mdrakeTesting in 11g I get
SQL>
SQL>
SQL> set echo on
SQL> spool testcase.log
SQL> --
SQL> connect sys/ as sysdba
Enter password:
Connected.
SQL> set define on
SQL> set timing on
SQL> --
SQL> define USERNAME = XDBTEST
SQL> --
SQL> def PASSWORD = XDBTEST
SQL> --
SQL> def USER_TABLESPACE = USERS
SQL> --
SQL> def TEMP_TABLESPACE = TEMP
SQL> --
SQL> drop user &USERNAME cascade
2 /
old 1: drop user &USERNAME cascade
new 1: drop user XDBTEST cascade
User dropped.
Elapsed: 00:00:09.42
SQL> grant connect, resource to &USERNAME identified by &PASSWORD
2 /
old 1: grant connect, resource to &USERNAME identified by &PASSWORD
new 1: grant connect, resource to XDBTEST identified by XDBTEST
Grant succeeded.
Elapsed: 00:00:00.03
SQL> grant create any directory, drop any directory to &USERNAME
2 /
old 1: grant create any directory, drop any directory to &USERNAME
new 1: grant create any directory, drop any directory to XDBTEST
Grant succeeded.
Elapsed: 00:00:00.00
SQL> grant alter session, create view to &USERNAME
2 /
old 1: grant alter session, create view to &USERNAME
new 1: grant alter session, create view to XDBTEST
Grant succeeded.
Elapsed: 00:00:00.00
SQL> alter user &USERNAME default tablespace &USER_TABLESPACE temporary tablespace &TEMP_TABLESPACE
2 /
old 1: alter user &USERNAME default tablespace &USER_TABLESPACE temporary tablespace &TEMP_TABLESPACE
new 1: alter user XDBTEST default tablespace USERS temporary tablespace TEMP
User altered.
Elapsed: 00:00:00.00
SQL> connect &USERNAME/&PASSWORD
Connected.
SQL> --
SQL> alter session set events ='19027 trace name context forever, level 0x800'
2 /
Session altered.
Elapsed: 00:00:00.00
SQL> var xmlText1 clob
SQL> var xmlText2 clob
SQL> var xmlSchema clob
SQL> var schemaURL varchar2(256)
SQL> --
SQL> begin
2 :schemaURL := 'mcs.xsd';
3 :xmlSchema :=
4 '<!-- edited with XMLSpy v2007 sp2 (http://www.altova.com) by Shaun (PPD Inc) --> <s:schema xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:xdb=
"http://xmlns.oracle.com/xdb" elementFormDefault="qualified" xdb:storeVarrayAsTable="true">
5 <s:element name="Organization" type="Organization" xdb:defaultTable="ORG"/>
6 <s:element name="Person" type="Person" xdb:defaultTable="PERSON"/>
7 <s:element name="OrganizationPersonAssoc" type="Organization" xdb:defaultTable="ORG_PERSON_ASSOC"/>
8 <s:complexType name="Organization" xdb:SQLType="Organization">
9 <s:sequence minOccurs="0">
10 <s:element name="Name" type="s:string" nillable="true"/>
11 <s:element name="LongName" type="s:string" nillable="true"/>
12 <s:element name="Description" type="s:string" nillable="true"/>
13 <s:element name="FWANumber" type="s:string" nillable="true"/>
14 <s:element name="GUID" type="s:string" nillable="true"/>
15 <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
16 <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
17 <s:element name="RecordStatus" type="s:string" nillable="true"/>
18 <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
19 <s:element name="OrganizationTypes" type="ArrayOfOrganizationType" minOccurs="0"/>
20 <s:element name="OrganizationSynonyms" type="ArrayOfOrganizationSynonym"/>
21 <s:element name="ImportedDate" type="s:date"/>
22 </s:sequence>
23 </s:complexType>
24 <s:complexType name="ArrayOfOrganizationType" xdb:SQLType="ArrayOfOrganizationType">
25 <s:sequence minOccurs="0">
26 <s:element name="OrganizationType" type="OrganizationType" minOccurs="0" maxOccurs="unbounded"/>
27 </s:sequence>
28 </s:complexType>
29 <s:complexType name="OrganizationType" xdb:SQLType="OrganizationType">
30 <s:sequence minOccurs="0">
31 <s:element name="OrganizationID" type="s:string"/>
32 <s:element name="Type" type="s:string" nillable="true"/>
33 <s:element name="QCDoneStatus" type="s:string" nillable="true"/>
34 <s:element name="QCDoneStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
35 <s:element name="SiteEstablishmentStatus" type="s:string" nillable="true"/>
36 <s:element name="SiteEstablishmentStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
37 <s:element name="IPFNumber" type="s:int"/>
38 <s:element name="DUNSNumber" type="s:int"/>
39 <s:element name="GUID" type="s:string" nillable="true"/>
40 <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
41 <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
42 <s:element name="RecordStatus" type="s:string" nillable="true"/>
43 <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
44 <s:element name="LegacyCodes" type="ArrayOfLegacyCode" minOccurs="0"/>
45 <s:element name="Addresses" type="ArrayOfAddress" minOccurs="0"/>
46 <s:element name="ContactMechanisms" type="ArrayOfContactMechanism" minOccurs="0"/>
47 <s:element name="Associations" type="ArrayOfAssociation" minOccurs="0"/>
48 </s:sequence>
49 </s:complexType>
50 <s:complexType name="ArrayOfLegacyCode" xdb:SQLType="ArrayOfLegacyCode">
51 <s:sequence minOccurs="0">
52 <s:element name="LegacyCode" type="LegacyCode" minOccurs="0" maxOccurs="unbounded"/>
53 </s:sequence>
54 </s:complexType>
55 <s:complexType name="LegacyCode" xdb:SQLType="LegacyCode">
56 <s:sequence minOccurs="0">
57 <s:element name="Code" type="s:string" nillable="true"/>
58 <s:element name="NetworkID" type="s:string"/>
59 <s:element name="GUID" type="s:string" nillable="true"/>
60 <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
61 <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
62 <s:element name="RecordStatus" type="s:string" nillable="true"/>
63 <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
64 </s:sequence>
65 </s:complexType>
66 <s:complexType name="ArrayOfAddress" xdb:SQLType="ArrayOfAddress">
67 <s:sequence minOccurs="0">
68 <s:element name="Address" type="Address" minOccurs="0" maxOccurs="unbounded"/>
69 </s:sequence>
70 </s:complexType>
71 <s:complexType name="Address" xdb:SQLType="Address">
72 <s:sequence minOccurs="0">
73 <s:element name="StreetName1" type="s:string" nillable="true"/>
74 <s:element name="StreetName2" type="s:string" nillable="true"/>
75 <s:element name="StreetName3" type="s:string" nillable="true"/>
76 <s:element name="StreetName4" type="s:string" nillable="true"/>
77 <s:element name="CityName" type="s:string" nillable="true"/>
78 <s:element name="CityGUID" type="s:string" nillable="true"/>
79 <s:element name="CityCreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
80 <s:element name="CityLastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
81 <s:element name="CityRecordStatus" type="s:string" nillable="true"/>
82 <s:element name="CityRecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
83 <s:element name="StateName" type="s:string" nillable="true"/>
84 <s:element name="StateGUID" type="s:string" nillable="true"/>
85 <s:element name="StateCreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
86 <s:element name="StateLastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
87 <s:element name="StateRecordStatus" type="s:string" nillable="true"/>
88 <s:element name="StateRecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
89 <s:element name="CountryName" type="s:string" nillable="true"/>
90 <s:element name="CountryCode" type="s:string" nillable="true"/>
91 <s:element name="CountryGUID" type="s:string" nillable="true"/>
92 <s:element name="CountryCreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
93 <s:element name="CountryLastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
94 <s:element name="CountryRecordStatus" type="s:string" nillable="true"/>
95 <s:element name="CountryRecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
96 <s:element name="ZipPostalCode" type="s:string" nillable="true"/>
97 <s:element name="GUID" type="s:string" nillable="true"/>
98 <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
99 <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
100 <s:element name="RecordStatus" type="s:string" nillable="true"/>
101 <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
102 <s:element name="Type" type="s:string" nillable="true"/>
103 <s:element name="TypeOtherSpecify" type="s:string" nillable="true"/>
104 <s:element name="InternalOffice" type="s:string" nillable="true"/>
105 <s:element name="MailStopCode" type="s:string" nillable="true"/>
106 <s:element name="PreferredFlag" type="s:string" nillable="true"/>
107 <s:element name="ActiveFromDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
108 <s:element name="QCDoneStatus" type="s:string" nillable="true"/>
109 <s:element name="QCDoneStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
110 </s:sequence>
111 </s:complexType>
112 <s:complexType name="ArrayOfContactMechanism" xdb:SQLType="ArrayOfContactMechanism">
113 <s:sequence minOccurs="0">
114 <s:element name="ContactMechanism" type="ContactMechanism" minOccurs="0" maxOccurs="unbounded"/>
115 </s:sequence>
116 </s:complexType>
117 <s:complexType name="ContactMechanism" xdb:SQLType="ContactMechanism">
118 <s:sequence minOccurs="0">
119 <s:element name="ContactType" type="s:string" nillable="true"/>
120 <s:element name="ContactTypeOtherSpecify" type="s:string" nillable="true"/>
121 <s:element name="ContactValue" type="s:string" nillable="true"/>
122 <s:element name="ContactAreaCode" type="s:string" nillable="true"/>
123 <s:element name="ContactCountryCallingCode" type="s:int"/>
124 <s:element name="ContactTollFreeFlag" type="s:string" nillable="true"/>
125 <s:element name="ContactGUID" type="s:string" nillable="true"/>
126 <s:element name="ContactCreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
127 <s:element name="ContactLastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
128 <s:element name="ContactRecordStatus" type="s:string" nillable="true"/>
129 <s:element name="ContactRecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
130 <s:element name="Role" type="s:string" nillable="true"/>
131 <s:element name="PhoneExtension" type="s:string" nillable="true"/>
132 <s:element name="QCDoneStatus" type="s:string" nillable="true"/>
133 <s:element name="QCDoneStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
134 <s:element name="ActiveFromDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
135 <s:element name="GUID" type="s:string" nillable="true"/>
136 <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
137 <s:element name="ModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
138 <s:element name="PreferredFlag" type="s:string" nillable="true"/>
139 <s:element name="RecordStatus" type="s:string" nillable="true"/>
140 <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
141 </s:sequence>
142 </s:complexType>
143 <s:complexType name="ArrayOfAssociation" xdb:SQLType="ArrayOfAssociation">
144 <s:sequence minOccurs="0">
145 <s:element name="Association" type="Association" minOccurs="0" maxOccurs="unbounded"/>
146 </s:sequence>
147 </s:complexType>
148 <s:complexType name="Association" xdb:SQLType="Association">
149 <s:sequence minOccurs="0">
150 <s:element name="Role" type="s:string" nillable="true"/>
151 <s:element name="GUID" type="s:string" nillable="true"/>
152 <s:element name="QCDoneStatus" type="s:string" nillable="true"/>
153 <s:element name="QCDoneStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
154 <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
155 <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
156 <s:element name="RecordStatus" type="s:string" nillable="true"/>
157 <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
158 <s:element name="Addresses" type="ArrayOfAddress" minOccurs="0"/>
159 <s:element name="ContactMechanisms" type="ArrayOfContactMechanism" minOccurs="0"/>
160 <s:element name="Persons" type="ArrayOfPerson" minOccurs="0"/>
161 </s:sequence>
162 </s:complexType>
163 <s:complexType name="ArrayOfPerson" xdb:SQLType="ArrayOfPerson">
164 <s:sequence minOccurs="0">
165 <s:element name="Person" type="Person" minOccurs="0" maxOccurs="unbounded"/>
166 </s:sequence>
167 </s:complexType>
168 <s:complexType name="Person" xdb:SQLType="Person">
169 <s:sequence minOccurs="0">
170 <s:element name="PersonID" type="s:int"/>
171 <s:element name="Prefix" type="s:string" nillable="true"/>
172 <s:element name="FirstName" type="s:string" nillable="true"/>
173 <s:element name="MiddleName" type="s:string" nillable="true"/>
174 <s:element name="LastName" type="s:string" nillable="true"/>
175 <s:element name="Suffix" type="s:string" nillable="true"/>
176 <s:element name="PreferredName" type="s:string" nillable="true"/>
177 <s:element name="Gender" type="s:string" nillable="true"/>
178 <s:element name="PrimaryLanguage" type="s:string" nillable="true"/>
179 <s:element name="GUID" type="s:string" nillable="true"/>
180 <s:element name="RecordStatus" type="s:string" nillable="true"/>
181 <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
182 <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
183 <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
184 <s:element name="QCDoneStatus" type="s:string" nillable="true"/>
185 <s:element name="QCDoneStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
186 <s:element name="PersonDegrees" type="ArrayOfPersonDegree" minOccurs="0"/>
187 <s:element name="PersonSpecialties" type="ArrayOfPersonSpecialty" minOccurs="0"/>
188 <s:element name="PersonTypes" type="ArrayOfPersonType" minOccurs="0"/>
189 <s:element name="Addresses" type="ArrayOfAddress" minOccurs="0"/>
190 <s:element name="ContactMechanisms" type="ArrayOfContactMechanism" minOccurs="0"/>
191 <s:element name="ImportedDate" type="s:date"/>
192 </s:sequence>
193 </s:complexType>
194 <s:complexType name="ArrayOfPersonDegree" xdb:SQLType="ArrayOfPersonDegree">
195 <s:sequence minOccurs="0">
196 <s:element name="PersonDegree" type="PersonDegree" minOccurs="0" maxOccurs="unbounded"/>
197 </s:sequence>
198 </s:complexType>
199 <s:complexType name="PersonDegree" xdb:SQLType="PersonDegree">
200 <s:sequence minOccurs="0">
201 <s:element name="Code" type="s:string" nillable="true"/>
202 <s:element name="Major" type="s:string" nillable="true"/>
203 <s:element name="ListingOrder" type="s:int"/>
204 <s:element name="GUID" type="s:string" nillable="true"/>
205 <s:element name="RecordStatus" type="s:string" nillable="true"/>
206 <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
207 <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
208 <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
209 </s:sequence>
210 </s:complexType>
211 <s:complexType name="ArrayOfPersonSpecialty" xdb:SQLType="ArrayOfPersonSpecialty">
212 <s:sequence minOccurs="0">
213 <s:element name="PersonSpecialty" type="PersonSpecialty" minOccurs="0" maxOccurs="unbounded"/>
214 </s:sequence>
215 </s:complexType>
216 <s:complexType name="PersonSpecialty" xdb:SQLType="PersonSpecialty">
217 <s:sequence minOccurs="0">
218 <s:element name="Name" type="s:string" nillable="true"/>
219 <s:element name="GUID" type="s:string" nillable="true"/>
220 <s:element name="RecordStatus" type="s:string" nillable="true"/>
221 <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
222 <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
223 <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
224 </s:sequence>
225 </s:complexType>
226 <s:complexType name="ArrayOfPersonType" xdb:SQLType="ArrayOfPersonType">
227 <s:sequence minOccurs="0">
228 <s:element name="PersonType" type="PersonType" minOccurs="0" maxOccurs="unbounded"/>
229 </s:sequence>
230 </s:complexType>
231 <s:complexType name="PersonType" xdb:SQLType="PersonType">
232 <s:sequence minOccurs="0">
233 <s:element name="Type" type="s:string" nillable="true"/>
234 <s:element name="GUID" type="s:string" nillable="true"/>
235 <s:element name="RecordStatus" type="s:string" nillable="true"/>
236 <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
237 <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
238 <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
239 <s:element name="QCDoneStatus" type="s:string" nillable="true"/>
240 <s:element name="QCDoneStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
241 </s:sequence>
242 </s:complexType>
243 <s:complexType name="ArrayOfOrganizationSynonym" xdb:SQLType="ArrayOfOrganizationSynonym">
244 <s:sequence minOccurs="0">
245 <s:element name="OrganizationSynonym" type="OrganizationSynonym" minOccurs="0" maxOccurs="unbounded"/>
246 </s:sequence>
247 </s:complexType>
248 <s:complexType name="OrganizationSynonym" xdb:SQLType="OrganizationSynonym">
249 <s:sequence minOccurs="0">
250 <s:element name="Name" type="s:string" nillable="true"/>
251 <s:element name="GUID" type="s:string" nillable="true"/>
252 <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
253 <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
254 <s:element name="RecordStatus" type="s:string" nillable="true"/>
255 <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
256 </s:sequence>
257 </s:complexType>
258 </s:schema>';
259 :xmltext1 :=
260 '<?xml version="1.0" encoding="WINDOWS-1252"?> <Person xsi:noNamespaceSchemaLocation="mcs.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns
:xsi="http://www.w3.org/2001/XMLSchema-instance">
261 <PersonID>100448</PersonID>
262 <Prefix/>
263 <FirstName>John</FirstName>
264 <MiddleName/>
265 <LastName>Doe</LastName>
266 <Suffix/>
267 <PreferredName/>
268 <Gender/>
269 <PrimaryLanguage xsi:nil="true"/>
270 <GUID>ffff-ffff-ffff</GUID>
271 <RecordStatus>Active</RecordStatus>
272 <RecordStatusDate>2007-04-29T00:11:50.750000-04:00</RecordStatusDate>
273 <CreatedDate>2006-06-13T00:57:21.090000-04:00</CreatedDate>
274 <LastModifiedDate>2007-04-29T00:11:50.770000-04:00</LastModifiedDate>
275 <QCDoneStatus>Yes</QCDoneStatus>
276 <QCDoneStatusDate>2006-06-13T00:57:22.977000-04:00</QCDoneStatusDate>
277 <PersonDegrees>
278 <PersonDegree>
279 <Code>B.S.</Code>
280 <Major xsi:nil="true"/>
281 <ListingOrder>1</ListingOrder>
282 <GUID>d01bbcfd-9d48-47bf-818d-9957b907a664</GUID>
283 <RecordStatus>Active</RecordStatus>
284 <RecordStatusDate>2006-10-05T10:48:04.430000-04:00</RecordStatusDate>
285 <CreatedDate>2006-10-05T10:48:06.520000-04:00</CreatedDate>
286 <LastModifiedDate>2006-10-05T10:48:06.520000-04:00</LastModifiedDate>
287 </PersonDegree>
288 </PersonDegrees>
289 <PersonSpecialties/>
290 <PersonTypes>
291 <PersonType>
292 <Type>Resource Personnel</Type>
293 <GUID>3049ddcd-3590-4fd9-a534-e2cea5b82c09</GUID>
294 <RecordStatus>Active</RecordStatus>
295 <RecordStatusDate>2006-06-13T00:57:22.977000-04:00</RecordStatusDate>
296 <CreatedDate>2006-06-13T00:57:21.090000-04:00</CreatedDate>
297 <LastModifiedDate>2007-04-29T00:11:50.817000-04:00</LastModifiedDate>
298 <QCDoneStatus>Yes</QCDoneStatus>
299 <QCDoneStatusDate>2006-06-13T00:57:22.977000-04:00</QCDoneStatusDate>
300 </PersonType>
301 </PersonTypes>
302 <Addresses/>
303 <ContactMechanisms/>
304 <ImportedDate>2007-04-30</ImportedDate>
305 </Person>';
306 :xmltext2 :=
307 '<?xml version="1.0" encoding="WINDOWS-1252"?> <OrganizationPersonAssoc xsi:noNamespaceSchemaLocation="mcs.xsd" xmlns:xsd="http://www.w3.org/2001
/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
308 <Name>Org Name Office</Name>
309 <LongName>Long Name</LongName>
310 <Description xsi:nil="true"/>
311 <FWANumber xsi:nil="true"/>
312 <GUID>dddd-dddd</GUID>
313 <CreatedDate>2006-05-18T18:59:01.500000-04:00</CreatedDate>
314 <LastModifiedDate>2006-05-18T18:59:01.500000-04:00</LastModifiedDate>
315 <RecordStatus>Active</RecordStatus>
316 <RecordStatusDate>2006-05-18T18:59:01.500000-04:00</RecordStatusDate>
317 <OrganizationTypes>
318 <OrganizationType>
319 <OrganizationID>30097</OrganizationID>
320 <Type>Agency</Type>
321 <QCDoneStatus>Yes</QCDoneStatus>
322 <QCDoneStatusDate>2006-05-18T18:59:01.513000-04:00</QCDoneStatusDate>
323 <SiteEstablishmentStatus xsi:nil="true"/>
324 <SiteEstablishmentStatusDate>0001-01-01T00:00:00.000000-05:00</SiteEstablishmentStatusDate>
325 <IPFNumber>0</IPFNumber>
326 <DUNSNumber>0</DUNSNumber>
327 <GUID>cfe9e9e0-68a3-45c9-81c0-74848523133b</GUID>
328 <CreatedDate>2006-05-18T18:59:01.513000-04:00</CreatedDate>
329 <LastModifiedDate>2006-05-18T18:59:01.513000-04:00</LastModifiedDate>
330 <RecordStatus>Active</RecordStatus>
331 <RecordStatusDate>2006-05-18T18:59:01.513000-04:00</RecordStatusDate>
332 <Associations>
333 <Association>
334 <Role>Employee</Role>
335 <GUID>9a9a9a-ababab</GUID>
336 <QCDoneStatus>Yes</QCDoneStatus>
337 <QCDoneStatusDate>2006-06-13T01:29:09.030000-04:00</QCDoneStatusDate>
338 <CreatedDate>2006-06-13T01:29:09.030000-04:00</CreatedDate>
339 <LastModifiedDate>2006-07-25T15:27:23.783000-04:00</LastModifiedDate>
340 <RecordStatus>Active</RecordStatus>
341 <RecordStatusDate>2006-06-13T01:29:09.030000-04:00</RecordStatusDate>
342 <Addresses>
343 <Address>
344 <StreetName1>123 Front St.</StreetName1>
345 <StreetName2 xsi:nil="true"/>
346 <StreetName3 xsi:nil="true"/>
347 <StreetName4 xsi:nil="true"/>
348 <CityName>City</CityName>
349 <CityGUID>234234</CityGUID>
350 <CityCreatedDate>2006-05-08T20:06:45.143000-04:00</CityCreatedDate>
351 <CityLastModifiedDate>2006-05-08T20:06:45.143000-04:00</CityLastModifiedDate>
352 <CityRecordStatus>Active</CityRecordStatus>
353 <CityRecordStatusDate>2006-05-08T20:06:45.143000-04:00</CityRecordStatusDate>
354 <StateName>New York</StateName>
355 <StateGUID>9fd469e1-4d4a-4f38-9def-50038e5ecca2</StateGUID>
356 <StateCreatedDate>2006-04-22T16:09:35.830000-04:00</StateCreatedDate>
357 <StateLastModifiedDate>2006-04-22T16:09:35.830000-04:00</StateLastModifiedDate>
358 <StateRecordStatus>Active</StateRecordStatus>
359 <StateRecordStatusDate>2006-04-22T16:09:35.830000-04:00</StateRecordStatusDate>
360 <CountryName>United States</CountryName>
361 <CountryCode>USA</CountryCode>
362 <CountryGUID>532d35dd-3a49-408a-a416-20c41e9c7997</CountryGUID>
363 <CountryCreatedDate>2006-04-22T15:30:47.000000-04:00</CountryCreatedDate>
364 <CountryLastModifiedDate>2006-04-22T15:30:47.000000-04:00</CountryLastModifiedDate>
365 <CountryRecordStatus>Active</CountryRecordStatus>
366 <CountryRecordStatusDate>2006-04-22T15:30:47.000000-04:00</CountryRecordStatusDate>
367 <ZipPostalCode>12345</ZipPostalCode>
368 <GUID>b2414fa9-7375-4d26-8d76-89a6915d6751</GUID>
369 <CreatedDate>2006-06-13T01:29:09.030000-04:00</CreatedDate>
370 <LastModifiedDate>2006-07-29T23:45:17.670000-04:00</LastModifiedDate>
371 <RecordStatus>Active</RecordStatus>
372 <RecordStatusDate>2006-06-13T01:29:09.030000-04:00</RecordStatusDate>
373 <Type>Office</Type>
374 <TypeOtherSpecify/>
375 <InternalOffice></InternalOffice>
376 <MailStopCode/>
377 <PreferredFlag>Yes</PreferredFlag>
378 <ActiveFromDate>2006-06-13T01:29:09.000000-04:00</ActiveFromDate>
379 <QCDoneStatus>Yes</QCDoneStatus>
380 <QCDoneStatusDate>2006-06-13T01:29:09.030000-04:00</QCDoneStatusDate>
381 </Address>
382 </Addresses>
383 <ContactMechanisms>
384 <ContactMechanism>
385 <ContactType>Phone</ContactType>
386 <ContactTypeOtherSpecify xsi:nil="true"/>
387 <ContactValue>555-5555</ContactValue>
388 <ContactAreaCode>555</ContactAreaCode>
389 <ContactCountryCallingCode>1</ContactCountryCallingCode>
390 <ContactTollFreeFlag xsi:nil="true"/>
391 <ContactGUID>123</ContactGUID>
392 <ContactCreatedDate>2006-06-13T01:29:09.047000-04:00</ContactCreatedDate>
393 <ContactLastModifiedDate>2007-02-23T16:36:10.260000-05:00</ContactLastModifiedDate>
394 <ContactRecordStatus>Active</ContactRecordStatus>
395 <ContactRecordStatusDate>2006-06-13T01:29:09.047000-04:00</ContactRecordStatusDate>
396 <Role>Business</Role>
397 <PhoneExtension/>
398 <QCDoneStatus>Yes</QCDoneStatus>
399 <QCDoneStatusDate>2006-06-13T01:29:09.047000-04:00</QCDoneStatusDate>
400 <ActiveFromDate>2006-06-13T01:29:09.000000-04:00</ActiveFromDate>
401 <GUID>321</GUID>
402 <CreatedDate>2006-06-13T01:29:09.047000-04:00</CreatedDate>
403 <ModifiedDate>2006-07-29T23:53:03.323000-04:00</ModifiedDate>
404 <PreferredFlag>Yes</PreferredFlag>
405 <RecordStatus>Inactive</RecordStatus>
406 <RecordStatusDate>2006-07-29T23:53:03.393000-04:00</RecordStatusDate>
407 </ContactMechanism>
408 <ContactMechanism>
409 <ContactType>Email</ContactType>
410 <ContactTypeOtherSpecify xsi:nil="true"/>
411 <ContactValue>[email protected]</ContactValue>
412 <ContactAreaCode xsi:nil="true"/>
413 <ContactCountryCallingCode>0</ContactCountryCallingCode>
414 <ContactTollFreeFlag xsi:nil="true"/>
415 <ContactGUID>ddd</ContactGUID>
416 <ContactCreatedDate>2006-06-13T01:29:09.047000-04:00</ContactCreatedDate>
417 <ContactLastModifiedDate>2006-06-13T01:29:09.047000-04:00</ContactLastModifiedDate>
418 <ContactRecordStatus>Active</ContactRecordStatus>
419 <ContactRecordStatusDate>2006-06-13T01:29:09.047000-04:00</ContactRecordStatusDate>
420 <Role>Business</Role>
421 <PhoneExtension xsi:nil="true"/>
422 <QCDoneStatus>Yes</QCDoneStatus>
423 <QCDoneStatusDate>2006-06-13T01:29:09.063000-04:00</QCDoneStatusDate>
424 <ActiveFromDate>2006-06-13T01:29:09.063000-04:00</ActiveFromDate>
425 <GUID>111</GUID>
426 <CreatedDate>2006-06-13T01:29:09.063000-04:00</CreatedDate>
427 <ModifiedDate>2006-06-13T01:29:09.063000-04:00</ModifiedDate>
428 <PreferredFlag>Yes</PreferredFlag>
429 <RecordStatus>Active</RecordStatus>
430 <RecordStatusDate>2006-06-13T01:29:09.063000-04:00</RecordStatusDate>
431 </ContactMechanism>
432 </ContactMechanisms>
433 <Persons>
434 <Person>
435 <PersonID>100448</PersonID>
436 <Prefix/>
437 <FirstName>John</FirstName>
438 <MiddleName/>
439 <LastName>Doe</LastName>
440 <Suffix/>
441 <PreferredName/>
442 <Gender/>
443 <PrimaryLanguage xsi:nil="true"/>
444 <GUID>123</GUID>
445 <RecordStatus>Active</RecordStatus>
446 <RecordStatusDate>2007-04-29T00:11:50.750000-04:00</RecordStatusDate>
447 <CreatedDate>2006-06-13T00:57:21.090000-04:00</CreatedDate>
448 <LastModifiedDate>2007-04-29T00:11:50.770000-04:00</LastModifiedDate>
449 <QCDoneStatus>Yes</QCDoneStatus>
450 <QCDoneStatusDate>2006-06-13T00:57:22.977000-04:00</QCDoneStatusDate>
451 <PersonTypes>
452 <PersonType>
453 <Type>Resource Personnel</Type>
454 <GUID>3049ddcd-3590-4fd9-a534-e2cea5b82c09</GUID>
455 <RecordStatus>Active</RecordStatus>
456 <RecordStatusDate>2006-06-13T00:57:22.977000-04:00</RecordStatusDate>
457 <CreatedDate>2006-06-13T00:57:21.090000-04:00</CreatedDate>
458 <LastModifiedDate>2007-04-29T00:11:50.817000-04:00</LastModifiedDate>
459 <QCDoneStatus>Yes</QCDoneStatus>
460 <QCDoneStatusDate>2006-06-13T00:57:22.977000-04:00</QCDoneStatusDate>
461 </PersonType>
462 </PersonTypes>
463 </Person>
464 </Persons>
465 </Association>
466 </Associations>
467 </OrganizationType>
468 </OrganizationTypes>
469 <ImportedDate>2007-04-30</ImportedDate>
470 </OrganizationPersonAssoc>
471 ';
472 end;
473 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.00
SQL> begin
2 dbms_xmlschema.registerSchema
3 (
4 schemaURL => :schemaURL
5 ,schemaDoc => :xmlSchema
6 ,local => TRUE
7 ,genBean => false
8 ,genTypes => TRUE
9 ,genTables => TRUE
10 ,enableHierarchy => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
11 );
12 end;
13 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:03.67
SQL> insert into Person values ( xmltype (:xmltext1))
2 /
1 row created.
Elapsed: 00:00:00.07
SQL> insert into org_person_assoc values ( xmltype (:xmltext2))
2 /
1 row created.
Elapsed: 00:00:00.03
SQL> commit
2 /
Commit complete.
Elapsed: 00:00:00.00
SQL> CREATE OR REPLACE VIEW XML_PERSON_ASSOCIATION
2 (PERSON)
3 AS
4 select
5 xmlelement("Person",
6 xmlforest(
7 extractvalue(value(p),'/Person/PersonID') "PersonID",
8 extractvalue(value(p),'/Person/Prefix') "Prefix",
9 extractvalue(value(p),'/Person/FirstName') "FirstName",
10 extractvalue(value(p),'/Person/MiddleName') "MiddleName",
11 extractvalue(value(p),'/Person/LastName') "LastName",
12 extractvalue(value(p),'/Person/Suffix') "Suffix",
13 extractvalue(value(p),'/Person/PreferredName') "PreferredName",
14 extractvalue(value(p),'/Person/Gender') "Gender",
15 extractvalue(value(p),'/Person/PrimaryLanguage') "PrimaryLanguage",
16 extractvalue(value(p),'/Person/RecordStatus') "RecordStatus",
17 extractvalue(value(p),'/Person/ImportedDate') "ImportedDate",
18 (select
19 xmlagg(
20 xmlelement("Association",
21 xmlforest(
22 extractvalue(value(oa),'/OrganizationPersonAssoc/Name') "Name",
23 extractvalue(value(ot),'/OrganizationType/OrganizationID') "OrganizationID",
24 extractvalue(value(ot),'/OrganizationType/Type') "OrganizationType",
25 extractvalue(value(a),'/Association/Role') "Role",
26 extractvalue(value(a),'/Association/RecordStatus') "RecordStatus",
27 extractvalue(value(oa),'/OrganizationPersonAssoc/ImportedDate') "ImportedDate"
28 ),
29 xmlelement("PersonTypes",
30 extract(value(per),'/Person/PersonTypes/PersonType')
31 ),
32 xmlelement("Addresses",
33 extract(value(a),'/Association/Addresses/Address')
34 ),
35 xmlelement("ContactMechanisms",
36 extract(value(a),'/Association/ContactMechanisms/ContactMechanism')
37 )
38 )
39 )
40 from org_person_assoc oa,
41 table(xmlsequence(extract(value(oa),'/OrganizationPersonAssoc/OrganizationTypes/OrganizationType'))) ot,
42 table(xmlsequence(extract(value(ot),'/OrganizationType/Associations/Association'))) a,
43 table(xmlsequence(extract(value(a),'/Association/Persons/Person'))) per
44 where extractvalue(value(per),'/Person/PersonID') = extractvalue(value(p),'/Person/PersonID')
45 ) "Associations"
46 )
47 ) person
48 from person p
49 /
View created.
Elapsed: 00:00:00.06
SQL> set autotrace on explain
SQL> --
SQL> set long 10000 pages 0 lines 150
SQL> --
SQL> select person
2 from xml_person_association o
3 where existsnode(person,'/Person/Associations/Association[OrganizationID=30097]')=1
4 /
<Person><PersonID>100448</PersonID><FirstName>John</FirstName><LastName>Doe</LastName><RecordStatus>Active</RecordStatus><ImportedDate>2007-04-30</Imp
ortedDate><Associations><Association><Name>Org Name Office</Name><OrganizationID>30097</OrganizationID><OrganizationType>Agency</OrganizationType><Rol
e>Employee</Role><RecordStatus>Active</RecordStatus><ImportedDate>2007-04-30</ImportedDate><PersonTypes><PersonType>
<Type>Resource Personnel</Type>
<GUID>3049ddcd-3590-4fd9-a534-e2cea5b82c09</GUID>
<RecordStatus>Active</RecordStatus>
<RecordStatusDate>2006-06-13T00:57:22.977000-04:00</RecordStatusDate>
<CreatedDate>2006-06-13T00:57:21.090000-04:00</CreatedDate>
<LastModifiedDate>2007-04-29T00:11:50.817000-04:00</LastModifiedDate>
<QCDoneStatus>Yes</QCDoneStatus>
<QCDoneStatusDate>2006-06-13T00:57:22.977000-04:00</QCDoneStatusDate>
</PersonType>
</PersonTypes><Addresses><Address>
<StreetName1>123 Front St.</StreetName1>
<StreetName2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<StreetName3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<StreetName4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<CityName>City</CityName>
<CityGUID>234234</CityGUID>
<CityCreatedDate>2006-05-08T20:06:45.143000-04:00</CityCreatedDate>
<CityLastModifiedDate>2006-05-08T20:06:45.143000-04:00</CityLastModifiedDate>
<CityRecordStatus>Active</CityRecordStatus>
<CityRecordStatusDate>2006-05-08T20:06:45.143000-04:00</CityRecordStatusDate>
<StateName>New York</StateName>
<StateGUID>9fd469e1-4d4a-4f38-9def-50038e5ecca2</StateGUID>
<StateCreatedDate>2006-04-22T16:09:35.830000-04:00</StateCreatedDate>
<StateLastModifiedDate>2006-04-22T16:09:35.830000-04:00</StateLastModifiedDate>
<StateRecordStatus>Active</StateRecordStatus>
<StateRecordStatusDate>2006-04-22T16:09:35.830000-04:00</StateRecordStatusDate>
<CountryName>United States</CountryName>
<CountryCode>USA</CountryCode>
<CountryGUID>532d35dd-3a49-408a-a416-20c41e9c7997</CountryGUID>
<CountryCreatedDate>2006-04-22T15:30:47.000000-04:00</CountryCreatedDate>
<CountryLastModifiedDate>2006-04-22T15:30:47.000000-04:00</CountryLastModifiedDate>
<CountryRecordStatus>Active</CountryRecordStatus>
<CountryRecordStatusDate>2006-04-22T15:30:47.000000-04:00</CountryRecordStatusDate>
<ZipPostalCode>12345</ZipPostalCode>
<GUID>b2414fa9-7375-4d26-8d76-89a6915d6751</GUID>
<CreatedDate>2006-06-13T01:29:09.030000-04:00</CreatedDate>
<LastModifiedDate>2006-07-29T23:45:17.670000-04:00</LastModifiedDate>
<RecordStatus>Active</RecordStatus>
<RecordStatusDate>2006-06-13T01:29:09.030000-04:00</RecordStatusDate>
<Type>Office</Type>
<TypeOtherSpecify/>
<InternalOffice/>
<MailStopCode/>
<PreferredFlag>Yes</PreferredFlag>
<ActiveFromDate>2006-06-13T01:29:09.000000-04:00</ActiveFromDate>
<QCDoneStatus>Yes</QCDoneStatus>
<QCDoneStatusDate>2006-06-13T01:29:09.030000-04:00</QCDoneStatusDate>
</Address>
</Addresses><ContactMechanisms><ContactMechanism>
<ContactType>Phone</ContactType>
<ContactTypeOtherSpecify xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ContactValue>555-5555</ContactValue>
<ContactAreaCode>555</ContactAreaCode>
<ContactCountryCallingCode>1</ContactCountryCallingCode>
<ContactTollFreeFlag xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ContactGUID>123</ContactGUID>
<ContactCreatedDate>2006-06-13T01:29:09.047000-04:00</ContactCreatedDate>
<ContactLastModifiedDate>2007-02-23T16:36:10.260000-05:00</ContactLastModifiedDate>
<ContactRecordStatus>Active</ContactRecordStatus>
<ContactRecordStatusDate>2006-06-13T01:29:09.047000-04:00</ContactRecordStatusDate>
<Role>Business</Role>
<PhoneExtension/>
<QCDoneStatus>Yes</QCDoneStatus>
<QCDoneStatusDate>2006-06-13T01:29:09.047000-04:00</QCDoneStatusDate>
<ActiveFromDate>2006-06-13T01:29:09.000000-04:00</ActiveFromDate>
<GUID>321</GUID>
<CreatedDate>2006-06-13T01:29:09.047000-04:00</CreatedDate>
<ModifiedDate>2006-07-29T23:53:03.323000-04:00</ModifiedDate>
<PreferredFlag>Yes</PreferredFlag>
<RecordStatus>Inactive</RecordStatus>
<RecordStatusDate>2006-07-29T23:53:03.393000-04:00</RecordStatusDate>
</ContactMechanism>
<ContactMechanism>
<ContactType>Email</ContactType>
<ContactTypeOtherSpecify xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ContactValue>[email protected]</ContactValue>
<ContactAreaCode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ContactCountryCallingCode>0</ContactCountryCallingCode>
<ContactTollFreeFlag xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ContactGUID>ddd</ContactGUID>
<ContactCreatedDate>2006-06-13T01:29:09.047000-04:00</ContactCreatedDate>
<ContactLastModifiedDate>2006-06-13T01:29:09.047000-04:00</ContactLastModifiedDate>
<ContactRecordStatus>Active</ContactRecordStatus>
<ContactRecordStatusDate>2006-06-13T01:29:09.047000-04:00</ContactRecordStatusDate>
<Role>Business</Role>
<PhoneExtension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<QCDoneStatus>Yes</QCDoneStatus>
<QCDoneStatusDate>2006-06-13T01:29:09.063000-04:00</QCDoneStatusDate>
<ActiveFromDate>2006-06-13T01:29:09.063000-04:00</ActiveFromDate>
<GUID>111</GUID>
<CreatedDate>2006-06-13T01:29:09.063000-04:00</CreatedDate>
<ModifiedDate>2006-06-13T01:29:09.063000-04:00</ModifiedDate>
<PreferredFlag>Yes</PreferredFlag>
<RecordStatus>Active</RecordStatus>
<RecordStatusDate>2006-06-13T01:29:09.063000-04:00</RecordStatusDate>
</ContactMechanism>
</ContactMechanisms></Association></Associations></Person>
Elapsed: 00:00:00.42
Execution Plan
Plan hash value: 95656148
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 18040 | 9 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | 10096 | | |
| 2 | TABLE ACCESS BY INDEX ROWID | SYS_NT32zHSpCZQ9ynComtqqKsrw== | 1 | 10096 | 2 (0)| 00:00:01 |
|* 3 | INDEX RANGE SCAN | SYS_C009300 | 1 | | 2 (0)| 00:00:01 |
| 4 | SORT AGGREGATE | | 1 | 48284 | | |
| 5 | TABLE ACCESS BY INDEX ROWID | SYS_NTjbkXqKq3S96fbEOM3Qs5Gg== | 1 | 48284 | 2 (0)| 00:00:01 |
|* 6 | INDEX RANGE SCAN | SYS_C009296 | 1 | | 2 (0)| 00:00:01 |
| 7 | SORT AGGREGATE | | 1 | 28187 | | |
| 8 | TABLE ACCESS BY INDEX ROWID| SYS_NTm2nBfKKNSGm6hs2e1Z0w/A== | 1 | 28187 | 2 (0)| 00:00:01 |
|* 9 | INDEX RANGE SCAN | SYS_C009297 | 1 | | 2 (0)| 00:00:01 |
| 10 | SORT AGGREGATE | | 1 | 13910 | | |
| 11 | NESTED LOOPS | | 1 | 13910 | 6 (0)| 00:00:01 |
| 12 | NESTED LOOPS | | 1 | 8131 | 5 (0)| 00:00:01 |
| 13 | NESTED LOOPS | | 1 | 4097 | 4 (0)| 00:00:01 |
|* 14 | TABLE ACCESS FULL | SYS_NT7Erd/G5iSPWX9w20Z5cNRg== | 1 | 43 | 3 (0)| 00:00:01 |
|* 15 | TABLE ACCESS BY INDEX ROWID | SYS_NTQWY/m3uES5GM7AByRclr8A== | 1 | 4054 | 1 (0)| 00:00:01 |
|* 16 | INDEX UNIQUE SCAN | SYS_C009310 | 1 | | 0 (0)| 00:00:01 |
|* 17 | TABLE ACCESS BY INDEX ROWID | SYS_NTTiDHMvB7RbSEfNxho66yQg== | 1 | 4034 | 1 (0)| 00:00:01 |
|* 18 | INDEX UNIQUE SCAN | SYS_C009314 | 1 | | 0 (0)| 00:00:01 |
| 19 | TABLE ACCESS BY INDEX ROWID | ORG_PERSON_ASSOC | 1 | 5779 | 1 (0)| 00:00:01 |
|* 20 | INDEX UNIQUE SCAN | SYS_C009320 | 1 | | 0 (0)| 00:00:01 |
|* 21 | FILTER | | | | | |
| 22 | TABLE ACCESS FULL | PERSON | 1 | 18040 | 3 (0)| 00:00:01 |
| 23 | NESTED LOOPS | | | | | |
| 24 | NESTED LOOPS | | 1 | 5893 | 6 (0)| 00:00:01 |
| 25 | NESTED LOOPS | | 1 | 2125 | 5 (0)| 00:00:01 |
| 26 | NESTED LOOPS | | 1 | 93 | 4 (0)| 00:00:01 |
|* 27 | TABLE ACCESS FULL | SYS_NT7Erd/G5iSPWX9w20Z5cNRg== | 1 | 43 | 3 (0)| 00:00:01 |
|* 28 | TABLE ACCESS BY INDEX ROWID| SYS_NTQWY/m3uES5GM7AByRclr8A== | 1 | 50 | 1 (0)| 00:00:01 |
|* 29 | INDEX UNIQUE SCAN | SYS_C009310 | 1 | | 0 (0)| 00:00:01 |
|* 30 | TABLE ACCESS BY INDEX ROWID | SYS_NTTiDHMvB7RbSEfNxho66yQg== | 1 | 2032 | 1 (0)| 00:00:01 |
|* 31 | INDEX UNIQUE SCAN | SYS_C009314 | 1 | | 0 (0)| 00:00:01 |
|* 32 | INDEX UNIQUE SCAN | SYS_C009320 | 1 | | 0 (0)| 00:00:01 |
| 33 | TABLE ACCESS BY INDEX ROWID | ORG_PERSON_ASSOC | 1 | 3768 | 1 (0)| 00:00:01 |
Predicate Information (identified by operation id):
3 - access("NESTED_TABLE_ID"=:B1)
6 - access("NESTED_TABLE_ID"=:B1)
9 - access("NESTED_TABLE_ID"=:B1)
14 - filter("SYS_NC_TYPEID$" IS NOT NULL AND "PersonID"=:B1)
15 - filter("SYS_NC_TYPEID$" IS NOT NULL)
16 - access("NESTED_TABLE_ID"="SYS_ALIAS_1"."SYS_NC0002700028$")
17 - filter("SYS_NC_TYPEID$" IS NOT NULL)
18 - access("NESTED_TABLE_ID"="SYS_ALIAS_0"."SYS_NC0003700038$")
20 - access("NESTED_TABLE_ID"="OA"."SYS_NC0002100022$")
21 - filter( EXISTS (SELECT 0 FROM "XDBTEST"."SYS_NT7Erd/G5iSPWX9w20Z5cNRg=="
"SYS_ALIAS_1","XDBTEST"."SYS_NTQWY/m3uES5GM7AByRclr8A=="
"SYS_ALIAS_3","XDBTEST"."SYS_NTTiDHMvB7RbSEfNxho66yQg==" "SYS_ALIAS_0","XDBTEST"."ORG_PERSON_ASSOC" "OA"
WHERE "SYS_ALIAS_0"."NESTED_TABLE_ID"="OA"."SYS_NC0002100022$" AND
"SYS_ALIAS_1"."NESTED_TABLE_ID"="SYS_ALIAS_0"."SYS_NC0003700038$" AND "SYS_ALIAS_0"."SYS_NC_TYPEID$" IS
NOT NULL AND TO_NUMBER("SYS_ALIAS_0"."OrganizationID")=30097 AND
"SYS_ALIAS_4"."NESTED_TABLE_ID"="SYS_ALIAS_1"."SYS_NC0002700028$" AND "SYS_ALIAS_1"."SYS_NC_TYPEID$" IS
NOT NULL AND "SYS_ALIAS_4"."SYS_NC_TYPEID$" IS NOT NULL AND "SYS_ALIAS_4"."PersonID"=:B1))
27 - filter("SYS_ALIAS_4"."SYS_NC_TYPEID$" IS NOT NULL AND "SYS_ALIAS_4"."PersonID"=:B1)
28 - filter("SYS_ALIAS_1"."SYS_NC_TYPEID$" IS NOT NULL)
29 - access("SYS_ALIAS_4"."NESTED_TABLE_ID"="SYS_ALIAS_1"."SYS_NC0002700028$")
30 - filter("SYS_ALIAS_0"."SYS_NC_TYPEID$" IS NOT NULL AND
TO_NUMBER("SYS_ALIAS_0"."OrganizationID")=30097)
31 - access("SYS_ALIAS_1"."NESTED_TABLE_ID"="SYS_ALIAS_0"."SYS_NC0003700038$")
32 - access("SYS_ALIAS_0"."NESTED_TABLE_ID"="OA"."SYS_NC0002100022$")
Note
- dynamic sampling used for this statement
SQL> select extract(person,'/Person/Associations/Association')
2 from xml_person_association o
3 where existsnode(person,'/Person/Associations/Association[OrganizationID=30097]')=1
4 /
<Association><Name>Org Name Office</Name><OrganizationID>30097</OrganizationID><OrganizationType>Agency</OrganizationType><Role>Employee</Role><Record
Status>Active</RecordStatus><ImportedDate>2007-04-30</ImportedDate><PersonTypes><PersonType><Type>Resource Personnel</Type><GUID>3049ddcd-3590-4fd9-a5
34-e2cea5b82c09</GUID><RecordStatus>Active</RecordStatus><RecordStatusDate>2006-06-13T00:57:22.977000-04:00</RecordStatusDate><CreatedDate>2006-06-13T
00:
Maybe you are looking for
-
Table of Contents & Index: Which Acrobat 9 Product?
I would like to create a document in Microsoft Word that will have a table of contents as well as an index. When I convert this document into a PDF format, I would like the table of contents as well as the index to be "active", in that the user will
-
I use abapProxy to invoke an external webservice via SOAP adapter but i get an error "invalid http response: null" in sxmb_moni so i thought that there might be an mistake in request SOAP message and I installed TCPGateway to see logs about sending
-
Call outside function with same name in a package
I created a function as follows: create or replace function f1 return number is begin return 1; end; This f1 is to be called in a package created below. Then I create a package with a function in it, as follows: create or replace package pack1 as fun
-
i have purchased an ipodtouch 5th generation. but i set it up as new instead of backup profile from my old ipod. how do i now get my itunes onto the new device?
-
Compressor Cluster - Error message when attaching .scc caption files
Hello, We have a 3 XServer Cluster controlled by a 4'th XServer (Our FCServer machine). My workflow is: Source Video: 1920X1080 ProRes Video (28:30min) Resized to 640X360 ProRes LT (also de interlaced and some black restore and sharpening applied her