To its relevant xml schema xml file validation error

Hi all

I have 3 files to schema files to xml where I generated an XML using PLSQL. I get this error when I try to validate the xml schema file:
' ' * WMWROOT ' UNDECLARED *. Can someone help me with this, I included the main schema file and also the generated XML.

XML schema file:

Itemdownload.xsd:

<? XML version = "1.0" encoding = "utf-8"? >
< xs: Schema id = "Elementtelecharger" targetNamespace = "http://www.manh.com/ILSNET/Interface" elementFormDefault = "qualified".
xmlns = "http://www.manh.com/ILSNET/Interface" xmlns: XS = "http://www.w3.org/2001/XMLSchema" version = "2007" >
< xs: include schemaLocation = "Item.xsd" / > "

< xs: element name = "WMWROOT" nillable = "true" type = "WMWROOT" / >
< name XS: complexType = "WMWROOT" >
< xs: SEQUENCE >
< xs: ELEMENT minOccurs = "0" maxOccurs = "1" name = "WMWDATA" type = "WMWDATA" / >
< / xs: SEQUENCE >
< / xs: complexType >

< xs: element name = "WMWDATA" nillable = "true" type = "WMWDATA" / >
< name XS: complexType = "WMWDATA" >
< xs: SEQUENCE >
< xs: ELEMENT minOccurs = "0" maxOccurs = "1" name = "Items" type = "ItemList" / >
< / xs: SEQUENCE >
< / xs: complexType >

< xs: element name = "Items" nillable = "false" type = "ItemList" / >
< name XS: complexType "ItemList" = >
< xs: SEQUENCE >
< xs: ELEMENT minOccurs = "1" maxOccurs = "unbounded" name = "Item" nillable = "true" type = "Item" / >
< / xs: SEQUENCE >
< / xs: complexType >
< / xs: Schema >

The generated xml file is:

<? XML version = "1.0"? >
< WMWROOT >
< WMWDATA >
elements <>
< item > < Action > save < / Action > < UserDef8 > 10074 < / UserDef8 > < Y Active > < / assets > < AvailableOnWeb > N < / AvailableOnWeb > < company > OR: ResMed Corp < / company > < cost > 285.93 < / cost > < Desc > HP DESKJET PRINTER (EMBLA) < / Desc > < HarmCode > < UserDef8 > 10074 < / UserDef8 > < / HarmCode > < point > R145-794 < / Item > < InventoryTracking > Y < / InventoryTracking > < LongDesc > HP DESKJET PRINTER (EMBLA) < / LongDesc > < LotControlled > Y < / LotControlled > < SerialNumTrackOutbound > 7 < / SerialNumTrackOutbound > < StorageTemplate > < model > each < / model > < / StorageTemplate > < xrefs > < Xref > < XRefItem > < / XRefItem > < / XRef > < / XRefs > < / Item >
< item > < Action > Save < / Action > < UserDef8 > 80862 < / UserDef8 > < Y Active > < / assets > < AvailableOnWeb > N < / AvailableOnWeb > < company > UO: ResMed Corp < / company > < cost > 54.27 < / cost > < Desc > Mirage Micro mask MED & amp; LG-Internet Pkg < / Desc > < HarmCode > < UserDef8 > 80862 < / UserDef8 > < / HarmCode > < point > 16359 < / Item > < InventoryTracking > Y < / InventoryTracking > < LongDesc > Mirage Micro mask MED & amp; LG-Internet Pkg < / LongDesc > < LotControlled > Y < / LotControlled > < SerialNumTrackOutbound > N < / SerialNumTrackOutbound > < StorageTemplate > < model > each < / model > < / StorageTemplate > < xrefs > < Xref > < XRefItem > 619498163597 < / XRefItem > < / XRef > < / XRefs > < / Item >
< / object >
< / WMWDATA >
< / WMWROOT >

I can provide you with 2 other if necessary dependent schemas. Please answer me!

I don't know how this issue applies to the XML DB, but I'll answer anyway.

Your schema resides in the
targetNamespace = "http://www.manh.com/ILSNET/Interface."
namespace, so by default, all definitions can be found in this namespace
The generated XML is in no namespace. That's why you see the error
'WMWROOT' UNDECLARED
Since the schema has no definitions in the same XML namespace uses. You must put your XML file in the same namespace as the schema in order for validation to work, through the
xmlns = "http://www.manh.com/ILSNET/Interface."

Tags: Database

Similar Questions

  • Noob XML - XML files validation attempt

    Versions of the databases: 10.2.0.4 on 11.2.0.3.

    I am currently on a site that has very little experience with XMLDB (0%). I myself have about 0.1% experience

    This would save a lot (!) time if XML files could be validated in the database, so I'll try from there to achieve, however, so far I can't work.

    I keep on running in:

    ORA-19007: pattern string does not match expected string.

    Question: The given XML document was consistent with a different schema than expected.

    Action: Insert/update only this particular scheme-compliant XML documents.

    I followed the steps in this article: www.xmldb.nl & amp; raquo; HOWTO: Validate the XML data

    (the examples in the article using ROOT_TABLE worked fine, by the way and have been my POC)

    and read the Oracle documentation on this topic.

    Currently, after several adjustments, XMLSpy said that the xsd and xml are valid.

    But Oracle is apparently still not convinced.

    Maybe it's something obvious, but I don't know where to look now, so any pointer is more than welcome.

    My next testcase (after the CPO ROOT_TABLE) was:

    Save a schema (using dbms_xmlschema.registerschema) in the following form:

    <? XML version = "1.0" encoding = "UTF-8"? >

    <!--

    XSD schema

    ->

    " < xs: schema xmlns: XS =" http://www.w3.org/2001/XMLSchema "         

    elementFormDefault = "qualified" >

    < xs: element name = "Kwijtscheldingen" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: ELEMENT ref = "Header" / >

    < xs: ELEMENT ref = "Kwijtschelding" maxOccurs = "unbounded" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < xs: element name = "Header" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "Assuré" type = "xs: String" / >

    < xs: element name = "Aanleverdatum" type = "Référence" / >

    < xs: element name = "Rapportagedatum" type = "Référence" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < xs: element name = "Kwijtschelding" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: ELEMENT ref = 'Algemeen' / >

    < xs: ELEMENT ref = "Inkomen" / >

    < xs: ELEMENT ref = "VermogenBD" / >

    < xs: ELEMENT ref = "Voertuigbezit" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < xs: element name = 'Algemeen' >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "BSN" type = "BSN" / >

    < xs: element name = "BelemmeringEindoordeel" type = "Jore" / >

    < xs: element name = "Geslachtsnaam" type = "xs: String" / >

    < xs: element name = "Geboortedatum" type = "Référence" / >

    < xs: element name = "Student" type = "Jore" / >

    < xs: element name = "BSNPartner" type = "BSN" minOccurs = "0" / >

    < xs: element name = "GeslachtsnaamPartner" type = "xs: String" minOccurs = "0" / >

    < xs: element name = "GeboortedatumPartner" type = "Reference" minOccurs = "0" / >

    < xs: element name = "StudentPartner" type = "Jore" minOccurs = "0" / >

    < xs: ELEMENT ref = "Leefvorm" / >

    < xs: ELEMENT ref = "BetrouwbaarheidLeefvorm" minOccurs = "0" / >

    < xs: element name = "AantalMeerderjarigeBewoners" type = "xs: unsignedByte" minOccurs = "0" / >

    < xs: element name = "AantalMinderjarigeBewoners" type = "xs: unsignedByte" minOccurs = "0" / >

    < xs: element name = "BSNTevensAangeleverdGemeente" type = "xs: String" minOccurs = "0" maxOccurs = "unbounded" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < xs: element name = "Inkomen" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "Belemmering" type = "Jore" / >

    < xs: element name = "TotaalNettoInkomen" type = "History" / >

    < xs: ELEMENT ref = "Inkomstenverhouding" minOccurs = "0" maxOccurs = "unbounded" / >

    < xs: element name = "BedragHuurtoeslag" type = "History" minOccurs = "0" / >

    < xs: element name = "BedragZorgtoeslag" type = "History" minOccurs = "0" / >

    < xs: ELEMENT ref = "Heffingskorting" minOccurs = "0" maxOccurs = "unbounded" / >

    < xs: ELEMENT ref = "StudentInkomen" minOccurs = "0" / >

    < xs: ELEMENT ref = "StudentPartnerInkomen" minOccurs = "0" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < xs: element name = "VermogenBD" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "Belemmering" type = "Jore" / >

    < xs: element name = "SaldoTotaal" type = "History" / >

    < xs: element name = "RenteTotaal" type = "History" / >

    < xs: ELEMENT ref = "Free" maxOccurs = "unbounded" minOccurs = "0" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < xs: element name = "Voertuigbezit" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "Belemmering" type = "Jore" / >

    < xs: ELEMENT ref = "Con" minOccurs = "0" maxOccurs = "unbounded" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    <! - Algemeen Ref Prioritaten - >

    < xs: element name = "Leefvorm" >

    < xs:simpleType >

    < xs:restriction base = "XS: String" >

    < xs:enumeration value = "1" >

    < xs: annotation >

    < intention > Gehuwd/Samenwonend < / intention >

    < / xs: annotation >

    < / xs:enumeration >

    < xs:enumeration value = "2" >

    < xs: annotation >

    < intention > Alleenstaand < / intention >

    < / xs: annotation >

    < / xs:enumeration >

    < xs:enumeration value = "3" >

    < xs: annotation >

    older < intention > Alleenstaande < / intention >

    < / xs: annotation >

    < / xs:enumeration >

    < / xs:restriction >

    < / xs:simpleType >

    < / xs: element >

    < xs: element name = "BetrouwbaarheidLeefvorm" >

    < xs:simpleType >

    < xs:restriction base = "XS: String" >

    < value pattern = "Laag |" Midden | Hoog "/ >"

    < / xs:restriction >

    < / xs:simpleType >

    < / xs: element >

    <! - Inkomen - Ref Prioritaten->

    < xs: element name = "Inkomstenverhouding" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "BSN" type = "BSN" / >

    < xs: element name = "werkgeverUitkeringsinstantie" type = "xs: String" / >

    < xs: element name = "BedragInkomsten" type = "History" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < xs: element name = "Heffingskorting" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "BSN" type = "BSN" / >

    < xs: element name = "description" type = "xs: String" / >

    < xs: element name = "Kortingsbedrag" type = "History" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < xs: element name = "StudentInkomen" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "BedragBasisbeurs" type = "History" / >

    < xs: element name = "BedragAanvullendeBeurs" type = "History" / >

    < xs: element name = "BedragLening" type = "History" / >

    < xs: element name = "BedragLeningCollegegeld" type = "History" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < xs: element name = "StudentPartnerInkomen" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "BedragBasisbeurs" type = "History" / >

    < xs: element name = "BedragAanvullendeBeurs" type = "History" / >

    < xs: element name = "BedragLening" type = "History" / >

    < xs: element name = "BedragLeningCollegegeld" type = "History" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    <! - Fortune - elements->

    < xs: element name = "Free" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "BSN" type = "BSN" / >

    < xs: element name = "NaamRekeninghouder" type = "xs: String" / >

    < xs: element name = "Rekeningnummer" type = "xs: String" / >

    < xs: element name = "Saldo" type = "History" / >

    < xs: element name = "Rent" type = "History" / >

    < xs: element name = "Banknaam" type = "xs: String" / >

    < xs: element name = "NaamBankproduct" type = "xs: String" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < xs: element name = "Con" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "BSN" type = "BSN" / >

    < xs: element name = "Kenteken" type = "xs: String" / >

    < xs: element name = "Bouwjaar" type = "Jaar" minOccurs = "0" / >

    < xs: element name = "Soort" type = "xs: String" minOccurs = "0" / >

    < xs: element name = "Me" type = "xs: String" minOccurs = "0" / >

    < xs: element name = "Type" type = "xs: String" minOccurs = "0" / >

    < xs: element name = "Kokonaispainolla" type = "xs: int" minOccurs = "0" / >

    < xs: element name = "BrandstofSoort1" type = "xs: String" minOccurs = "0" / >

    < xs: element name = "BrandstofSoort2" type = "xs: String" minOccurs = "0" / >

    < xs: element name = "Also" type = "xs: String" minOccurs = "0" / >

    < xs: element name = "BijzondereCondities" type = "xs: String" minOccurs = "0" / >

    < xs: element name = "Status" type = "xs: String" minOccurs = "0" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    <! - Generieke Typen - >

    < xs:simpleType name = "BSN" >

    < xs:restriction base = "XS: String" >

    < value pattern = "\d {9}" / > "

    < / xs:restriction >

    < / xs:simpleType >

    < xs:simpleType name = "Datum" >

    < xs: annotation >

    < intention > Datum als jjjjmmdd < / intention >

    < / xs: annotation >

    < xs:restriction base = "XS: String" >

    < xs:length value = "8" / >

    XS: pattern < value="[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]"/ >

    < / xs:restriction >

    < / xs:simpleType >

    < xs:simpleType name = "Bed" >

    < xs:restriction base = "XS: Decimal ' >

    < xs:fractionDigits value = "2" / >

    < / xs:restriction >

    < / xs:simpleType >

    < xs:simpleType name = "Crislover" >

    < xs:restriction base = "XS: String" >

    "< value pattern = ' J | N "/ >"

    < / xs:restriction >

    < / xs:simpleType >

    < xs:simpleType name = "Year" >

    < xs:restriction base = "XS: positiveInteger" >

    < xs:totalDigits value = "4" / >

    < / xs:restriction >

    < / xs:simpleType >

    < / xs: Schema >

    I used when creating the table 'Kwijtscheldingen' element.

    The last test XML file, which has no problem with validation XMLSpy, is facing ORA-19007.

    Here is the content of the XML test file:

    <? XML version = "1.0" encoding = "utf-8"? >

    " < Kwijtscheldingen xmlns: xsi =" http://www.w3.org/2001/XMLSchema-instance "xsi: noNamespaceSchemaLocation ="KWS2_Schema_Concept1.1.xsd"> ".

    < header >

    Organisatienaam < assuré > < / assuré >

    < Aanleverdatum > 20140701 < / Aanleverdatum >

    < Rapportagedatum > 20140715 < / Rapportagedatum >

    < / header >

    < Kwijtschelding >

    < Algemeen >

    < BSN > 111111111 < / BSN >

    < BelemmeringEindoordeel > J < / BelemmeringEindoordeel >

    < Geslachtsnaam > Geslachtsnaambsn111111111 < / Geslachtsnaam >

    < Geboortedatum > 19700707 < / Geboortedatum >

    < student > N < / student >

    < BSNPartner > 222222222 < / BSNPartner >

    < GeslachtsnaamPartner > GeslachtsnaamPartnerbsn222222222 < / GeslachtsnaamPartner >

    < GeboortedatumPartner > 19710709 < / GeboortedatumPartner >

    < StudentPartner > N < / StudentPartner >

    < Leefvorm > 1 < / Leefvorm >

    Hoog < BetrouwbaarheidLeefvorm > < / BetrouwbaarheidLeefvorm >

    < AantalMeerderjarigeBewoners > 2 < / AantalMeerderjarigeBewoners >

    < AantalMinderjarigeBewoners > 0 < / AantalMinderjarigeBewoners >

    < BSNTevensAangeleverdGemeente > AanleverGemeente1 < / BSNTevensAangeleverdGemeente >

    < BSNTevensAangeleverdGemeente > AanleverGemeente2 < / BSNTevensAangeleverdGemeente >

    < / Algemeen >

    < Inkomen >

    < Belemmering > J < / Belemmering >

    < TotaalNettoInkomen > 1000000 < / TotaalNettoInkomen >

    < Inkomstenverhouding >

    < BSN > 111111111 < / BSN >

    < werkgeverUitkeringsinstantie > werkgeverUitkeringsinstantie1 < / werkgeverUitkeringsinstantie >

    < BedragInkomsten > 800000 < / BedragInkomsten >

    < / Inkomstenverhouding >

    < Inkomstenverhouding >

    < BSN > 111111111 < / BSN >

    < werkgeverUitkeringsinstantie > werkgeverUitkeringsinstantie2 < / werkgeverUitkeringsinstantie >

    < BedragInkomsten > 200000 < / BedragInkomsten >

    < / Inkomstenverhouding >

    < BedragHuurtoeslag > 1100 < / BedragHuurtoeslag >

    < BedragZorgtoeslag > 2200 < / BedragZorgtoeslag >

    < Heffingskorting >

    < BSN > 111111111 < / BSN >

    < Description > Heffingskortingomschrijving1 < / Description >

    < Kortingsbedrag > 1000 < / Kortingsbedrag >

    < / Heffingskorting >

    < Heffingskorting >

    < BSN > 111111111 < / BSN >

    < Description > Heffingskortingomschrijving2 < / Description >

    < Kortingsbedrag > 7000 < / Kortingsbedrag >

    < / Heffingskorting >

    < StudentInkomen >

    < BedragBasisbeurs > 15000 < / BedragBasisbeurs >

    < BedragAanvullendeBeurs > 5000 < / BedragAanvullendeBeurs >

    < BedragLening > 4000000 < / BedragLening >

    < BedragLeningCollegegeld > 1000000 < / BedragLeningCollegegeld >

    < / StudentInkomen >

    < StudentPartnerInkomen >

    < BedragBasisbeurs > 80000 < / BedragBasisbeurs >

    < BedragAanvullendeBeurs > 20000 < / BedragAanvullendeBeurs >

    < BedragLening > 5000000 < / BedragLening >

    < BedragLeningCollegegeld > 1000000 < / BedragLeningCollegegeld >

    < / StudentPartnerInkomen >

    < / Inkomen >

    < VermogenBD >

    < Belemmering > J < / Belemmering >

    < SaldoTotaal > 3000000 < / SaldoTotaal >

    < RenteTotaal > 50000 < / RenteTotaal >

    < Location >

    < BSN > 111111111 < / BSN >

    < NaamRekeninghouder > Geslachtsnaambsn111111111 < / NaamRekeninghouder >

    < Rekeningnummer > 837476976 < / Rekeningnummer >

    < Saldo > 2000000 < / Saldo >

    < Pension > 30000 < / pension >

    < Banknaam > ABN AMRO < / Banknaam >

    < NaamBankproduct > Spaarrekening < / NaamBankproduct >

    < / Location >

    < Location >

    < BSN > 111111111 < / BSN >

    < NaamRekeninghouder > Geslachtsnaambsn111111111 < / NaamRekeninghouder >

    < Rekeningnummer > 845666037 < / Rekeningnummer >

    < Saldo > 1000000 < / Saldo >

    < Pension > 20000 < / pension >

    < Banknaam > ABN AMRO < / Banknaam >

    Deposito < NaamBankproduct > < / NaamBankproduct >

    < / Location >

    < / VermogenBD >

    < Voertuigbezit >

    < Belemmering > J < / Belemmering >

    < con >

    < BSN > 111111111 < / BSN >

    22GR 44 < Kenteken > < / Kenteken >

    < > 1988 Bouwjaar < / Bouwjaar >

    Personenauto < Soort > < / Soort >

    Renault < Merk > < / Merk >

    Clio < type > < / Type >

    < Weight > 1020 < / weight >

    Benzine < BrandstofSoort1 > < / BrandstofSoort1 >

    Inrichtingauto1 < also > < / also >

    < BijzondereCondities > Bijzonderhedenauto1 < / BijzondereCondities >

    < Status > Statusauto1 < / status >

    < / con >

    < con >

    < BSN > 111111111 < / BSN >

    33PL66 < Kenteken > < / Kenteken >

    < > 1991 Bouwjaar < / Bouwjaar >

    Personenauto < Soort > < / Soort >

    Opel < Merk > < / Merk >

    Omega < type > < / Type >

    < Weight > 1550 < / weight >

    Benzine < BrandstofSoort1 > < / BrandstofSoort1 >

    LPG < BrandstofSoort2 > < / BrandstofSoort2 >

    Inrichtingauto2 < also > < / also >

    < BijzondereCondities > Bijzonderhedenauto2 < / BijzondereCondities >

    < Status > Statusauto2 < / status >

    < / con >

    < / Voertuigbezit >

    < / Kwijtschelding >

    < / Kwijtscheldingen >

    If more input is needed, then I'll be happy to provide.

    Thanks in advance!

    Hello

    Maybe that is part of your condition, but you don't actually create a table to validate an XML document on a diagram.

    If this is the case, could you post the DBMS_XMLSCHEMA.registerSchema as well as the used CREATE TABLE and INSERT statements?

    For example, it works fine for me:

    Start

    () dbms_xmlschema.registerSchema

    schemaURL-online "KWS2_Schema_Concept1.1.xsd."

    schemaDoc-online xmltype (bfilename('TEST_DIR','KWS2_Schema_Concept1.1.xsd'), nls_charset_id ('AL32UTF8'))

    local-online true

    genTypes-online fake

    genTables-online fake

    enableHierarchy-online dbms_xmlschema. ENABLE_HIERARCHY_NONE

    );

    end;

    /

    declare

    doc xmltype: = xmltype (bfilename('TEST_DIR','test.xml'), nls_charset_id ('AL32UTF8'));

    Start

    doc.schemaValidate ();

    end;

    /

  • The data in the XML file validation

    Hi gang...

    Just got a project (not) I have to analyze and validate an xml document... the work is as follows:

    1. gather xml

    2 analyze the data

    3. validate the data

    4 insert data into db

    5 send the message to the browser

    I don't know what is the best way to go about this problem in a productive way, using everything that's out there.

    Any help would be appreciated.  (the xml file is included)

    Netpagino

    I don't know exactly what you mean by "validation of the data in an XML file.  At first glance, I interpreted your request that means you have to check that the XML file is well-formed,... that is to say, according to the DTD or schema.  But on re-reading your post, I'm not sure.

    Of course, you want to use full construction CF XML processing and querying capabilities.  (You want to use an XPath search to find the nodes, for example...)  As for the later task then check the data contained in these nodes against various business rules, well, who would take more thought.  But remember (a) that it is very much ground (so "do not re-invent the wheel"), and (b) you have all Java at your disposal if you need it.

  • XML file too large or too large XML element

    I try to import an xml file into the repository and have it shred in the object-relational tables. I signed up a diagram and it created types, triggers and object-relational xml_tables. The complete xml file is > 80 MB. XDB created all fields VARCHAR2 (4000).

    error code when you import the complete XML file. That's what I need to fix in the end.
    DECLARE
      res BOOLEAN;
    BEGIN
      res := DBMS_XDB.createResource('/home/pharma/drugbank.xml', 
                    bfilename('XMLPHARMA', 'drugbank.xml'),
                    nls_charset_id('AL32UTF8'));
    END;
    /
    COMMIT;
    
    XML file encounters errors on the import.
    An error was encountered performing the requested operation
    ORA-30951: Element or attribute at Xpath references exceeds maximum length
    ORA-06512 at "XDB.DBMS_XDB", line 315
    ORA-06512 at line 4
    30951.00000 - "Element or attribute at Xpath %x exceeds maximum length"
    *Cause: An attempt was made to insert a node of length exceeding the maximum length (specified by the maxLength facet) into an XML document.
    *Action: Do not attempt to add a node exceeding the maximum length to XML documents.
    Vendor code 30951Error at Line:18
    I guess that some fields have lengths > 4000 max. I intend to annotate the schema with SQLType = 'CLOB', but there are fields to change. I could copy the xml file and reduce this xml file to a record of any in the tables. My plan was to write a review on the bfile to get the lengths of some fields, annotate the .xsd with CLOB when needed and then import it again. To do this, I have a 1 imported in a table and as a bfile type recording file.

    Here is my code selection length in a generated object-relational table as a single folder.
    CREATE OR REPLACE VIEW pharma.drugs_vw AS
    SELECT d.*
    FROM drugs, XMLTABLE
      ('/drugs' PASSING OBJECT_VALUE COLUMNS
        drugbank_id        VARCHAR2(20)   PATH 'drug/drugbank-id',
        name               VARCHAR2(50)   PATH 'drug/name',
        description        VARCHAR2(4000) PATH 'drug/description'    
      ) d
    /
    
    select max(length(drugbank_id)) as dbidlen,
          max(length(name)) as nmlen,
          max(length(description)) as desclen
    from drugs_vw;
    
            DBIDLEN           NMLEN         DESCLEN
    --------------- --------------- ---------------
                  7               9             229
    
    1 row selected.
    Here's the code for the bfile. Same results, but using deprecated functions. I read the white paper, Oracle XML DB: best practices for optimal performance of queries XML. It is said that the function extract(), extractvalue(), Table (XMLSequence ()) and XMLType() are deprecated in 11 GR 2.
    -- Note extractvalue is deprecated in 11gr2 replaced by W3C standard
    --                                          XMLCast(XMLQuery())
    -- TABLE(XMLSequence) is replaced by XMLTable
    -- XMLType() is replaced by XMLParse()
    SELECT max(length(extractvalue(column_value, '/drug/drugbank-id'))) dbidlen,
           max(length(extractvalue(column_value, '/drug/name'))) nmlen,
           max(length(extractvalue(column_value, '/drug/description'))) desclen
    FROM TABLE(XMLSequence(XMLTYPE(bfilename('XMLPHARMA',
    'db00001.xml'),nls_charset_id('AL32UTF8')).extract('/drugs/drug'))) d
    WHERE ROWNUM <= 5;
    
            DBIDLEN           NMLEN         DESCLEN
    --------------- --------------- ---------------
                  7               9             229
    Is this better code to get the maximum length of a bfile type xml fields? Here's what I have so far. It works on a simple drugbank id.
    SELECT max(length(drugbank_id)) AS dbidlen,
           max(length(name)) AS nmlen,
           max(length(description)) AS desclen
    FROM (XMLTABLE('*'
                    PASSING (XMLType(bfilename('XMLPHARMA', 'db00001.xml'),nls_charset_id('AL32UTF8')))
                    COLUMNS
        drugbank_id        VARCHAR2(20)   PATH 'drug/drugbank-id',
        name               VARCHAR2(50)   PATH 'drug/name',
        description        VARCHAR2(4000) PATH 'drug/description'
      )
    );
    I try to run it on the full file and get this error
    Error report:
    SQL Error: ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00007: unexpected end-of-file encountered
    31011. 00000 -  "XML parsing failed"
    *Cause:    XML parser returned an error while trying to parse the document.
    *Action:   Check if the document to be parsed is valid.
    The code to create patterns and object-relational tables. It worked well.
    set serveroutput on
    -- Create resource file for schema
    DECLARE
      res BOOLEAN;
    BEGIN
      res := DBMS_XDB.createResource('/home/pharma/drugbank.xsd', 
                    bfilename('XMLPHARMA', 'drugbank.xsd'),
                    nls_charset_id('AL32UTF8'));
      COMMIT;
    END;
    /
    
    -- optional debugging of create types and tables if you want a trace
    ALTER SESSION SET EVENTS = '31098 TRACE NAME CONTEXT FOREVER';
    
    BEGIN
      DBMS_XMLSCHEMA.registerSchema(
          SCHEMAURL => 'http://localhost:8080/home/pharma/drugbank.xsd',
          SCHEMADOC => bfilename('XMLPHARMA', 'drugbank.xsd'),
          CSID      => nls_charset_id('AL32UTF8'),
          LOCAL     => TRUE,
          GENTYPES  => TRUE,
          GENTABLES => TRUE,
          OWNER     => 'PHARMA');
      COMMIT;
    END;
    /
    SQL> select * from v$version;
    BANNER
    ---------------------------------------------------------------
    Oracle Database 11g Release 11.2.0.2.0 - Production
    PL/SQL Release 11.2.0.2.0 - Production
    CORE    11.2.0.2.0      Production
    TNS for 32-bit Windows: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 - Production
    Follows the xml schema. Sorry for the length, but I think I might break something if I he snipped.
    <?xml version="1.0" encoding="UTF-8"?>
         <xs:schema  
         xmlns:xs="http://www.w3.org/2001/XMLSchema"  
         xmlns:xdb="http://xmlns.oracle.com/xdb"
         >
    
         <!-- General type definitions -->
         <xs:simpleType name="DecimalOrEmptyType">
              <xs:union memberTypes="xs:decimal EmptyStringType"/>
         </xs:simpleType>
         <xs:simpleType name="EmptyStringType">
              <xs:restriction base="xs:string">
                   <xs:enumeration value=""/>
              </xs:restriction>
         </xs:simpleType>
    
         <!-- Element Definitions -->
         <!-- Drug secondary accession number definition begins -->
         <xs:element name="secondary-accession-numbers" xdb:defaultTable="SECONDARY_ACCESSION_NUMBERS">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element name="secondary-accession-number" type="xs:string"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug secondary accession number definition ends -->
         <!-- Drug groups definition begins -->
         <xs:element name="groups" xdb:defaultTable="GROUPS">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element name="group">
                             <xs:simpleType>
                                  <xs:restriction base="xs:string">
                                       <xs:enumeration value="approved"/>
                                       <xs:enumeration value="illicit"/>
                                       <xs:enumeration value="experimental"/>
                                       <xs:enumeration value="withdrawn"/>
                                       <xs:enumeration value="nutraceutical"/>
                                  </xs:restriction>
                             </xs:simpleType>
                        </xs:element>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug groups definition ends -->
         <!-- Drug taxonomy definition begins -->
         <xs:element name="substructure">
              <xs:complexType>
                   <xs:simpleContent>
                        <xs:extension base="xs:string">
                             <xs:attribute name="class" type="xs:string" use="required"/>
                        </xs:extension>
                   </xs:simpleContent>
              </xs:complexType>
         </xs:element>
         <xs:element name="substructures" xdb:defaultTable="SUBSTRUCTURES">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="substructure"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="taxonomy" xdb:defaultTable="TAXONOMY">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="kingdom" type="xs:string"/>
                        <xs:element ref="substructures"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug taxonomy definition ends -->
         <!-- Drug brands definition begins -->
         <xs:element name="brands" xdb:defaultTable="BRANDS">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element name="brand" type="xs:string"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug brands definition ends -->
         <!-- Drug mixtures definition begins -->
         <xs:element name="mixture">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="name" type="xs:string"/>
                        <xs:element name="ingredients" type="xs:string"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="mixtures" xdb:defaultTable="MIXTURES">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="mixture"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug mixtures definition ends -->
         <!-- Drug packagers definition begins -->
         <xs:element name="packager">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="name" type="xs:string"/>
                        <xs:element name="url" type="xs:string"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="packagers" xdb:defaultTable="PACKAGERS">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="packager"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug packagers definition ends -->
         <!-- Drug manufacturers definition begins -->
         <xs:element name="manufacturer">
              <xs:complexType>
                   <xs:simpleContent>
                        <xs:extension base="xs:string">
                             <xs:attribute name="generic" type="xs:string" use="required"/>
                        </xs:extension>
                   </xs:simpleContent>
              </xs:complexType>
         </xs:element>
         <xs:element name="manufacturers" xdb:defaultTable="MANUFACTURERS">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="manufacturer"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug manufactures definition ends -->
         <!-- Drug pricing definition begins -->
         <xs:element name="cost">
              <xs:complexType>
                   <xs:simpleContent>
                        <xs:extension base="xs:string">
                             <xs:attribute name="currency" type="xs:string" use="required"/>
                        </xs:extension>
                   </xs:simpleContent>
              </xs:complexType>
         </xs:element>
         <xs:element name="price">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="description" type="xs:string"/>
                        <xs:element ref="cost"/>
                        <xs:element name="unit" type="xs:string"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="prices" xdb:defaultTable="PRICES">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="price"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug pricing definition ends -->
         <!-- Drug categories definition begins -->
         <xs:element name="categories" xdb:defaultTable="CATEGORIES">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element name="category" type="xs:string"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug categories definition ends -->
         <!-- Drug affected orgainsms definition begins -->
         <xs:element name="affected-organisms" xdb:defaultTable="AFFECTED_ORGANISMS">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element name="affected-organism" type="xs:string"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug affected organisms definition ends -->
         <!-- Drug dosage definition begins -->
         <xs:element name="dosage">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="form" type="xs:string"/>
                        <xs:element name="route" type="xs:string"/>
                        <xs:element name="strength" type="xs:string"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="dosages" xdb:defaultTable="DOSAGES">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="dosage"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug dosages definition ends -->
         <!-- Drug ATC codes definition begins -->
         <xs:element name="atc-codes" xdb:defaultTable="ATC_CODES">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element name="atc-code" type="xs:string"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug ATC codes definition ends -->
         <!-- Drug AHFS codes definition begins -->
         <xs:element name="ahfs-codes" xdb:defaultTable="AHFS_CODES">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element name="ahfs-code" type="xs:string"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug AHFS codes definition ends -->
         <!-- Drug Patent definition begins -->
         <xs:element name="patent">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="number" type="xs:string"/>
                        <xs:element name="country" type="xs:string"/>
                        <xs:element name="approved" type="xs:string"/>
                        <xs:element name="expires" type="xs:string"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="patents" xdb:defaultTable="PATENTS">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="patent"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug patent definition ends -->
         <!-- Drug food interactions definition begins -->
         <xs:element name="food-interactions" xdb:defaultTable="FOOD_INTERACTIONS">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="food-interaction" type="xs:string" maxOccurs="unbounded" minOccurs="0"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug food interactions definition ends -->
         <!-- Drug drug interactions definition begins -->
         <xs:element name="drug-interaction">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="drug" type="xs:integer"/>
                        <xs:element name="description" type="xs:string"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="drug-interactions" xdb:defaultTable="DRUG_INTERACTIONS">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="drug-interaction"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug drug interactions definition ends -->
         <!-- Drug protein sequences (biotech) definition begins -->
         <xs:element name="protein-sequences" xdb:defaultTable="PROTEIN_SEQUENCES">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element name="protein-sequence" type="SequenceType"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug protein sequences (biotech) definition ends-->
         <!-- Drug external links definition begins -->
         <xs:element name="external-link">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="resource" type="xs:string"/>
                        <xs:element name="url" type="xs:string"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="external-links" xdb:defaultTable="EXTERNAL_LINKS">
              <xs:complexType>
                   <xs:sequence maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="external-link"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug external links definition ends -->
         <!-- Drug targets definition begins -->
         <xs:element name="targets" xdb:defaultTable="TARGETS">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="target" type="TargetBondType" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug targets definition ends -->
         <!-- Drug enzymes definition begins -->
         <xs:element name="enzymes" xdb:defaultTable="ENZYMES">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="enzyme" type="BondType" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug enzmes definition ends -->
         <!-- Drug transporters definition begins -->
         <xs:element name="transporters" xdb:defaultTable="TRANSPORTERS">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="transporter" type="BondType" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug transporters definition ends -->
         <!-- Drug carriers definition begins -->
         <xs:element name="carriers" xdb:defaultTable="CARRIERS">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="carrier" type="BondType" minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Drug carriers definition ends -->
         <!-- Partner  Pfams definition begins -->
         <xs:element name="pfam">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="identifier" type="xs:string"/>
                        <xs:element name="name" type="xs:string"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="pfams" xdb:defaultTable="PFAMS">
              <xs:complexType>
                   <xs:sequence minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="pfam"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Partner  Pfams definition end -->
         <!-- Partner  GO Classification definition begins -->
         <xs:element name="go-classifier">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="category" type="xs:string"/>
                        <xs:element name="description" type="xs:string"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="go-classifiers" xdb:defaultTable="GO_CLASSIFIERS">
              <xs:complexType>
                   <xs:sequence minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="go-classifier"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Partner  GO Classification definition ends -->
         <!-- Partner Essentiality definition begins -->
         <xs:element name="essentiality">
              <xs:simpleType>
                   <xs:restriction base="xs:string">
                        <xs:enumeration value="Essential"/>
                        <xs:enumeration value="Non-Essential"/>
                   </xs:restriction>
              </xs:simpleType>
         </xs:element>
         <!-- Partner Essentiality definition ends -->
         
         <!-- Complex Type Definitions -->
         <xs:complexType name="SequenceType">
              <xs:sequence>
                   <xs:element name="header" type="xs:string"/>
                   <xs:element name="chain" type="xs:string"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="PropertyType">
              <xs:sequence>
                   <xs:element name="kind">
                        <xs:simpleType>
                             <xs:restriction base="xs:string">
                                  <xs:enumeration value="logP"/>
                                  <xs:enumeration value="logS"/>
                                  <xs:enumeration value="logP/hydrophobicity"/>
                                  <xs:enumeration value="Water Solubility"/>
                                  <xs:enumeration value="caco2 Permeability"/>
                                  <xs:enumeration value="pKa"/>
                                  <xs:enumeration value="IUPAC Name"/>
                                  <xs:enumeration value="Molecular Weight"/>
                                  <xs:enumeration value="Monoisotopic Weight"/>
                                  <xs:enumeration value="SMILES"/>
                                  <xs:enumeration value="Molecular Formula"/>
                                  <xs:enumeration value="InChI"/>
                                  <xs:enumeration value="InChIKey"/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:element>
                   <xs:element name="value" type="xs:string"/>
                   <xs:element name="source">
                        <xs:simpleType>
                             <xs:restriction base="xs:string">
                                  <xs:enumeration value="JChem"/>
                                  <xs:enumeration value="ALOGPS"/>
                                  <xs:enumeration value=""/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:element>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="PropertiesType">
              <xs:sequence>
                   <xs:element name="property" type="PropertyType" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="SynonymsType">
              <xs:sequence maxOccurs="unbounded" minOccurs="0">
                   <xs:element name="synonym" type="xs:string"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="IdentifiersType">
              <xs:sequence maxOccurs="unbounded" minOccurs="0">
                   <xs:element name="external-identifier">
                        <xs:complexType>
                             <xs:sequence>
                                  <xs:element name="resource" type="xs:string"/>
                                  <xs:element name="identifier" type="xs:string"/>
                             </xs:sequence>
                        </xs:complexType>
                   </xs:element>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="BondActionsType">
              <xs:sequence maxOccurs="unbounded" minOccurs="0">
                   <xs:element name="action" type="xs:string"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="BondType">
              <xs:sequence>
                   <xs:element name="actions" type="BondActionsType"/>
                   <xs:element name="references" type="xs:string"/>
              </xs:sequence>
              <xs:attribute name="position" type="xs:integer" use="optional"/>
              <xs:attribute name="partner" type="xs:integer"/>
         </xs:complexType>
         <xs:complexType name="TargetBondType">
              <xs:complexContent>
                   <xs:extension base="BondType">
                        <xs:sequence>
                             <xs:element name="known-action">
                                  <xs:simpleType>
                                       <xs:restriction base="xs:string">
                                            <xs:enumeration value="yes"/>
                                            <xs:enumeration value="no"/>
                                            <xs:enumeration value="unknown"/>
                                       </xs:restriction>
                                  </xs:simpleType>
                             </xs:element>
                        </xs:sequence>
                   </xs:extension>
              </xs:complexContent>
         </xs:complexType>
         
         <xs:complexType name="PartnerType">
              <xs:sequence>
                   <xs:element name="name" type="xs:string"/>
                   <xs:element name="general-function" type="xs:string"/>
                   <xs:element name="specific-function" type="xs:string"/>
                   <xs:element name="gene-name" type="xs:string"/>
                   <xs:element name="locus" type="xs:string"/>
                   <xs:element name="reaction" type="xs:string"/>
                   <xs:element name="signals" type="xs:string"/>
                   <xs:element name="cellular-location" type="xs:string"/>
                   <xs:element name="transmembrane-regions" type="xs:string"/>
                   <xs:element name="theoretical-pi" type="DecimalOrEmptyType"/>
                   <xs:element name="molecular-weight" type="DecimalOrEmptyType"/>
                   <xs:element name="chromosome" type="xs:string"/>
                   <xs:element ref="essentiality"/>
                   <xs:element name="references" type="xs:string"/>
                   <xs:element name="external-identifiers" type="IdentifiersType"/>
                   <xs:element name="synonyms" type="SynonymsType"/>
                   <xs:element name="protein-sequence" type="SequenceType" minOccurs="0"/>
                   <xs:element name="gene-sequence" type="SequenceType" minOccurs="0"/>
                   <xs:element ref="pfams"/>
                   <xs:element ref="go-classifiers"/>
              </xs:sequence>
              <xs:attribute name="id" type="xs:integer" use="required"/>
         </xs:complexType>
         <xs:complexType name="DrugType">
              <xs:sequence>
                   <xs:element name="drugbank-id" type="xs:string"/>
                   <xs:element name="name" type="xs:string"/>
                   <xs:element name="description" type="xs:string"/>
                   <xs:element name="cas-number" type="xs:string"/>
                   <xs:element name="general-references" type="xs:string"/>
                   <xs:element name="synthesis-reference" type="xs:string"/>
                   <xs:element name="indication" type="xs:string"/>
                   <xs:element name="pharmacology" type="xs:string"/>
                   <xs:element name="mechanism-of-action" type="xs:string"/>
                   <xs:element name="toxicity" type="xs:string"/>
                   <xs:element name="biotransformation" type="xs:string"/>
                   <xs:element name="absorption" type="xs:string"/>
                   <xs:element name="half-life" type="xs:string"/>
                   <xs:element name="protein-binding" type="xs:string"/>
                   <xs:element name="route-of-elimination" type="xs:string"/>
                   <xs:element name="volume-of-distribution" type="xs:string"/>
                   <xs:element name="clearance" type="xs:string"/>
                   <xs:element ref="secondary-accession-numbers"/>
                   <xs:element ref="groups"/>
                   <xs:element ref="taxonomy"/>
                   <xs:element name="synonyms" type="SynonymsType"/>
                   <xs:element ref="brands"/>
                   <xs:element ref="mixtures"/>
                   <xs:element ref="packagers"/>
                   <xs:element ref="manufacturers"/>
                   <xs:element ref="prices"/>
                   <xs:element ref="categories"/>
                   <xs:element ref="affected-organisms"/>
                   <xs:element ref="dosages"/>
                   <xs:element ref="atc-codes"/>
                   <xs:element ref="ahfs-codes"/>
                   <xs:element ref="patents"/>
                   <xs:element ref="food-interactions"/>
                   <xs:element ref="drug-interactions"/>
                   <xs:element ref="protein-sequences" minOccurs="0"/><!-- Only present for biotech drugs -->
                   <xs:element name="calculated-properties" type="PropertiesType" minOccurs="0"/><!-- Only present for small molecule drugs -->
                   <xs:element name="experimental-properties" type="PropertiesType"/>
                   <xs:element name="external-identifiers" type="IdentifiersType"/>
                   <xs:element ref="external-links"/>
                   <xs:element ref="targets"/>
                   <xs:element ref="enzymes"/>
                   <xs:element ref="transporters"/>
                   <xs:element ref="carriers"/>
              </xs:sequence>
              <xs:attribute name="type" use="required">
                   <xs:simpleType>
                        <xs:restriction base="xs:string">
                             <xs:enumeration value="small molecule"/>
                             <xs:enumeration value="biotech"/>
                        </xs:restriction>
                   </xs:simpleType>
              </xs:attribute>
              <xs:attribute name="updated" type="xs:string" use="required"/>
              <xs:attribute name="created" type="xs:string" use="required"/>
              <xs:attribute name="version" type="xs:decimal" use="required"/>
         </xs:complexType>
         
         <xs:element name="drugs"  xdb:defaultTable="DRUGS">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="drug" type="DrugType" minOccurs="0" maxOccurs="unbounded" />
                        <xs:element name="partners">
                             <xs:complexType>
                                  <xs:sequence>
                                       <xs:element name="partner" type="PartnerType" minOccurs="0" maxOccurs="unbounded" />
                                  </xs:sequence>
                             </xs:complexType>
                        </xs:element>
                   </xs:sequence>
              </xs:complexType>
         
              <xs:keyref name="targetPartnerIdKeyRef" refer="partnerIdKey">
                   <xs:selector xpath="drug/targets/*"/>
                   <xs:field xpath="@partner"/>
              </xs:keyref>
              <xs:keyref name="enzymePartnerIdKeyRef" refer="partnerIdKey">
                   <xs:selector xpath="drug/enzymes/*"/>
                   <xs:field xpath="@partner"/>
              </xs:keyref>
              <xs:keyref name="transporterPartnerIdKeyRef" refer="partnerIdKey">
                   <xs:selector xpath="drug/transporters/*"/>
                   <xs:field xpath="@partner"/>
              </xs:keyref>
              <xs:keyref name="carrierPartnerIdKeyRef" refer="partnerIdKey">
                   <xs:selector xpath="drug/carriers/*"/>
                   <xs:field xpath="@partner"/>
              </xs:keyref>
              <xs:key name="partnerIdKey">
                   <xs:selector xpath=".//partner"/>
                   <xs:field xpath="@id"/>
              </xs:key>
         </xs:element>     
    </xs:schema>
    Optimization white paper request
    http://www.Oracle.com/technetwork/database/features/xmldb/xmlqueryoptimize11gr2-168036.PDF

    Well Yes... You need not put GENTABLES-online TRUE when recording object relational. There are no structures in XML schema that require tables on online storage...

    SQL> DECLARE
      2    V_XMLSCHEMA XMLTYPE := xmltype(bfilename('&USERNAME', 'drugbank.xsd'),nls_charset_id('AL32UTF8'));
      3  BEGIN
      4          DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XMLSCHEMA);
      5          DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDOM(V_XMLSCHEMA);
      6          DBMS_XMLSCHEMA_ANNOTATE.setSQLType(V_XMLSCHEMA,DBMS_XDB_CONSTANTS.XSD_COMPLEX_TYPE,'BondType',DBMS_XDB_CONSTANTS.XSD_ELEMENT,'references','CLOB',TRUE);
      7          DBMS_XMLSCHEMA_ANNOTATE.setSQLType(V_XMLSCHEMA,DBMS_XDB_CONSTANTS.XSD_COMPLEX_TYPE,'PartnerType',DBMS_XDB_CONSTANTS.XSD_ELEMENT,'references','CLOB',TRUE);
      8          DBMS_XMLSCHEMA_ANNOTATE.setSQLType(V_XMLSCHEMA,DBMS_XDB_CONSTANTS.XSD_COMPLEX_TYPE,'DrugType',DBMS_XDB_CONSTANTS.XSD_ELEMENT,'general-references','CLOB',TRUE);
      9          DBMS_XMLSCHEMA_ANNOTATE.setSQLType(V_XMLSCHEMA,DBMS_XDB_CONSTANTS.XSD_COMPLEX_TYPE,'SequenceType',DBMS_XDB_CONSTANTS.XSD_ELEMENT,'chain','CLOB',TRUE);
     10    DBMS_XMLSCHEMA.registerSchema(
     11        SCHEMAURL => :SCHEMAURL,
     12        SCHEMADOC => V_XMLSCHEMA,
     13        LOCAL     => TRUE,
     14        GENTYPES  => TRUE,
     15        GENTABLES => TRUE);
     16  END;
     17  /
    old   2:   V_XMLSCHEMA XMLTYPE := xmltype(bfilename('&USERNAME', 'drugbank.xsd'),nls_charset_id('AL32UTF8'));
    new   2:   V_XMLSCHEMA XMLTYPE := xmltype(bfilename('PHARMA', 'drugbank.xsd'),nls_charset_id('AL32UTF8'));
    
    PL/SQL procedure successfully completed.
    
    Elapsed: 00:00:01.65
    SQL> CREATE TABLE drugs_xmltype OF XMLTYPE
      2  XMLSCHEMA "http://lims.drugbank.ca/docs/drugbank.xsd"
      3  ELEMENT "drugs"
      4  /
    
    Table created.
    

    results in

    SQL*Plus: Release 11.2.0.3.0 Production on Fri Apr 29 16:14:00 2011
    
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    
    SQL> select table_name from user_xml_tables;
    
    TABLE_NAME
    ------------------------------
    DRUGS_XMLTYPE
    
    SQL> select count(*) from user_nested_tables;
    
      COUNT(*)
    ----------
            36
    
    SQL>
    
  • How to use FM OmegaT processed XML files?

    How to convert files in XML (or any other file format that supports the file format that can be used in T Omega) FM so that it can be imported into the translation software open source OmegaT?

    I have a use [Save as] create an XML file, an error message appears when I try to import in Omega T and but I'm unable to translate the file.

    I am trying to use XML files for translation into Omega T, is because in the past, the person who is in charge of editing the file FM would create a text file with sentences to be translated. I would then import the text file in OmegaT to translate and send the text file with the phrases translated to the editor. This could then be edited in a file of FM.

    It would not be a problem if the content to be translated was small. But in some cases there is a large amount of content that must be translated which would take more time to change the FM files.

    What I want to know is if I could use a file format that can be used in Omega T and then be able to convert this file to FM without the Publisher re - edit the file.

    Concerning

    Denjiba-manual

    With regard to the function "Save as XML" in FrameMaker:

    You may know that in FrameMaker, you can work with 'structured' and regular documents.

    When you use "Save as XML" with a document ordinary FM, the resulting XML is simply an output format and are not suitable for reopening in FM. You can translate the XML resulting, but once you return to the FM file, you need to reapply the formatting and the initial numbers back into place. (At least this is what I know of FM8.)

    Otherwise, when you work with an application of structure in FM, you can save documents structured FM in XML format for editing. This means, you can change (translate) the XML document outside FM and open the (translated) XML file published in FM.

    OmegaT regarding:

    I see two ways of translating a document of FM with OmegaT. For both, you will need the Okapi Framework to convert your files into an intermediate format.

    One way requires that your document is a document structured in FM, you can save in XML format for editing. The XML document has probably none of the types of documents that can be translated immediately OmegaT. You can, however, use a utility of the framework of the Okapi to extract translatable text in the XML document in a XLIFF file. Later, you can merge the translated text in the original XML file, which you can bring in FM.

    The other way is similar, but starts with an of FrameMaker MIF file. In this case, regardless of whether or not the document of FM is structured. Of course, there is a MIF Filter for the frame of the Okapi, which allows you to extract the translatable text of MIF in an XLIFF file. Just like above, you can later merge the translated text in the original MIF file. However, the MIF Filter is in beta state, so don't expect it to work perfectly.

    More on the Okapi Framework can be found at http://okapi.opentag.com.

    All that being said, I only played a bit with OmegaT and Okapi. At work, I use an old version of Trados.

    Johannes

  • LSX-00204 error when validating an XML file on a registered scheme

    Hello

    When I want to validate an XML file against the registered scheme I get the following error:

    ORA-31154: Ungultiges XML-Dokument ORA-19202: Fehler bei XML-Verarbeitung LSX-00204: additional data am Ende von komplexem aufgetreten element

    Here is the schema snippet:

    <! - the address of a given party in fixed or free form possibly the two forms - >

    < xsd: complexType name = 'Subscription_type' xdb:SQLType = "ITX_FTC_ADDRESS_TYPE_O" xdb:maintainDOM = "false" >

    < xsd: annotation >

    < xsd: documentation XML: lang = "fr" >

    The user has the possibility to enter the data concerning the address of a party, either in a single long field or to distribute data on items up to eight or even to use both formats. If the user chooses the option to enter the necessary data in separate elements, the container for this item will be "AddressFix". If the user chooses the option to enter the necessary data in a way less structured in "AddressFree" all the available coordinates must be submitted as a string of bytes, empty or ' / ' (slash) or trolley line break return used as a delimiter between the parts of the address. PLEASE NOTE that the country code address is outside these two elements. The use of the fixed form is recommended as a general rule, to allow an easy match. However, the use of the free form is recommended if the sending State can surely identify and distinguish the different parts of the address. The user wants to use both formats for example if in addition which separates the logical part of the address he also wants to show a decent breakdown in print-lines of delimiters in the form of free text. In this case, "AddressFix" must precede the 'AddressFree '.

    < / xsd: documentation >

    < / xsd: annotation >

    < xsd: SEQUENCE >

    < xsd: element name = "PostalCode" type = "iso: CountryCode_Type ' xdb:SQLName = 'COUNTRY_CODE' / >

    < xsd: Choice >

    < xsd: element name = "AddressFree" type = "xsd: String" xdb:SQLName = "ADDRESS_FREE" / >

    < xsd: SEQUENCE >

    < xsd: element name = "AddressFix" type = "sfa:AddressFix_Type" xdb:SQLName = "ADDRESS_FIX" / >

    < xsd: element name = "AddressFree" type = "xsd: String" minOccurs = "0" xdb:SQLName = "ADDRESS_FREE" / >

    < / xsd: SEQUENCE >

    < / xsd: Choice >

    < / xsd: SEQUENCE >

    < xsd: attribute name = "legalAddressType" type = "stf:OECDLegalAddressType_EnumType" use = "optional" / >

    < / xsd: complexType >

    The problem occurs only when the second choice (when: "AddressFix" and "AddressFree") was given in the XML file. When only the first choice ("AddressFree") gave then the validation against schema very well recorded works.

    I think that the problem is based on the generation of all objects in the database of dbms_xmlschema.registerSchema.

    BTW, how is possible to get a more meaningful error message because the error I get is very common, and I can't imagine in which the problem occurs.

    Thanks in advance.

    Best regards

    Martin

    I have reproduced the issue on 11.2.0.4 using the Schémas XML FATCA.

    declare
    
      l_schemas  sys.odcivarchar2list :=
                sys.odcivarchar2list('isofatcatypes_v1.0.xsd',
                                     'oecdtypes_v4.1.xsd',
                                     'stffatcatypes_v1.1.xsd',
                                     'FatcaXML_v1.1.xsd');
    begin
    
      for i in 1 .. l_schemas.count loop
    
        dbms_xmlschema.registerSchema(
          schemaURL       => l_schemas(i)
        , schemaDoc       => xmltype(bfilename('FATCA_DIR', l_schemas(i)), nls_charset_id('AL32UTF8'))
        , genTypes        => true
        , genTables       => false
        , enableHierarchy => dbms_xmlschema.ENABLE_HIERARCHY_NONE
        );
    
      end loop;
    
    end;
    /
    

    As in schema extract that you provided, I've annotated subscription_type complexType with xdb:maintainDOM = "false".

    Then tried to validate the example NilFIReport.xml file after adding an AddressFix element:

    JP

    String

    String

    SQL> declare
      2    doc  xmltype := xmltype(bfilename('FATCA_DIR', 'NilFIReport.xml'), nls_charset_id('AL32UTF8'));
      3  begin
      4    doc.schemaValidate();
      5  end;
      6  /
    declare
    *
    ERROR at line 1:
    ORA-31154: invalid XML document
    ORA-19202: Error occurred in XML processing
    LSX-00204: extra data at end of complex element
    ORA-06512: at "SYS.XMLTYPE", line 354
    ORA-06512: at line 4
    

    Now, let's abandon patterns, remove the xdb:maintainDOM annotation (or set to true, the default) and re - register:

    SQL> declare
      2    doc  xmltype := xmltype(bfilename('FATCA_DIR', 'NilFIReport.xml'), nls_charset_id('AL32UTF8'));
      3  begin
      4    doc.schemaValidate();
      5  end;
      6  /
    
    PL/SQL procedure successfully completed.
    

    Works.

    Conclusion: set maintainDOM to false when using XS: Choice.

    There is probably a mess when the positional descriptor (attribute "$SYS_XDBPD") is missing in this case.

  • In the Studio of BEA WorkSpace XML schema Validation error

    When I validate my XML schemas through the BEA WorkSpace Studio Version: version 1.1: 1090602 identifier the track happens error:

    Reference file contains errors (file:/MyPath/MyXMLSchema1.xsd).
    For more information, click with the right button on the message and select "show details...". »

    See details:
    The below errors were detected during the validation of the 'MyXMLSchema1.xsd' file via the file 'MyXMLSchema2.xsd '.
    In most cases, these errors can be detected by validating 'MyXMLSchema1.xsd' directly.
    However, it is possible that errors occur only when MyXMLSchema1.xsd is posted under MyXMLSchema2.xsd.

    CBC-resolve: could not resolve the name 'srv:Services' component 'type definition' a (e)

    When I validate my XML schemas through the oepe_11gR1PS4 (Eclipse platform Version: 3.6.2 Build id: M20110210-1200) no errors not found.

    My project is a (project ALSB) OSB.

    What is happen?

    BEA WorkSpace Studio Version: version 1.1: 1090602 identifier use xerces bea\alsb3.0\tools\eclipse_pkgs\1.1\eclipse_3.2.2\eclipse\plugins\org.apache.xerces_2.8.0.v200606131651

    oepe_11gR1PS4 (Eclipse platform Version: 3.6.2 Build id: M20110210-1200) use xerces Oracle\Middleware_10.3.5\oepe_11gR1PS4\plugins\org.apache.xerces_2.9.0.v201005080400.jar

    If you replace the follow-up files:
    bea\alsb3.0\tools\eclipse_pkgs\1.1\eclipse_3.2.2\eclipse\plugins\org. Apache.xerces_2.8.0.v200606131651\resolver.jar
    bea\alsb3.0\tools\eclipse_pkgs\1.1\eclipse_3.2.2\eclipse\plugins\org. Apache.xerces_2.8.0.v200606131651\xercesImpl.jar
    bea\alsb3.0\tools\eclipse_pkgs\1.1\eclipse_3.2.2\eclipse\plugins\org. Apache.xerces_2.8.0.v200606131651\xml-APIs.jar

    for:
    Oracle\Middleware_10.3.5\oepe_11gR1PS4\plugins\org. Apache.xerces_2.9.0.v201005080400.jar

    BEA WorkSpace Studio Version: version 1.1: 1090602 identifier is validated without errors (the same oepe_11gR1PS4 behavior)

  • "The document is not valid. The index.xml file is missing.

    I suddenly can't open one of my docs of numbers. I get a msg "'name of the doc' document is not valid. The index.xml file is missing.  I literally had the open document this morning without problem, closed, tried to reopen and now I get this msg... all in the same session of the computer. It began not after an update or anything like that, right in the middle of a session of the computer.  You seem to affect all the docs of numbers.  I can't open an any of them now.  I am running OS X El Capitan Version 10.11 and numbers 09, Version 2.1.

    Hi jg,.

    The case usual this message, it is that the document has been opened in numbers version 3.xx, which converts it into a new file version that uses the file index.xml internal requested by Numbers ' 09.

    You have 3 numbers installed on your machine? This file has already been opened in this application?

    The file was saved to iCloud or opened by the iOS version numbers or numbers for iCloud?

    Recommended 'cure' is to open the file using the 3 numbers, then save as... or export to format Numbers ' 09. As a result, remember numbers to quit smoking (v3) - menu numbers > numbers to quit smoking; by clicking on the red light closed the file, but doesn't end numbers. So avoid open numbers files by double-clicking on the file itself.

    Instead, start Numbers ' 09 (v2.3) and open the file in the application.

    Kind regards

    Barry

  • Error 25004 config.xml not specified as a configuration xml file is valid must be created during deployment (null)

    Error 25004 config.xml not specified as a configuration xml file is valid must be created during deployment (null)

    Hello niecy1963,

    Thanks for posting on the Microsoft answers Forum.

    If you get this error when you try to install Office 2007, then be sure that you have uninstalled the trial versions of Office from your computer.
    It may be a software problem with an uninstall of Office add-in Microsoft any component snap-in via the control panel. Reset. Then you can reinstall the add-in.

    You can also follow the article below for assistance.
    KB Article ID: 928218 -how do I uninstall manually Office system 2007 if you cannot uninstall it by using the function "Add or Remove Programs".

    If you experience this error with another program and not Office 2007, with more details please reply and we will be happy to help.

    If please give an update and let us know your status.

    Thank you

    Marilyn
    Microsoft Answers Support Engineer
    Visit our Microsoft answers feedback Forum and let us know what you think

  • Creation of XML file using blackberry waterfalls

    Hi all

    I use blackberry stunts to create a xml file, which will consist of data QMessage.

    The code that I am by train is as below: -.

       foreach (const Message &message, inboxMessages) {
    
        // Creating QVariant Map for each Message object
    
        QVariantMap messageMap;
        messageMap["address"] = QVariant();
        messageMap["date"]
        messageMap["subject"] = QVariant(message.subject());
        messageMap["body"] = ...........
    
        / Adding this object to Qvariant List
        QVariantList messageList= QVariantList() << QVariant(messageMap);
    
        }  // end of for each loop
    
    QVariantMap topLevelMessageMap;
    topLevelMessageMap[".root"] = QVariant("messages");
    topLevelMessageMap["message"] = QVariant(messageList);
    QVariant myData = QVariant(topLevelMessageMap);
    
    // Retrieve the working directory, and create a temporary .xml file in that
    // location
    QDir home = QDir::home();
    QTemporaryFile file(home.absoluteFilePath("myXMLFile.xml"));
    
    // Open the file that was created
    if (file.open()) {
        // Create an XmlDataAccess object and save the data to the file
        XmlDataAccess xda;
        xda.save(myData, &file);
    

    IN the above code, I create mannualy xml tags using the QVariant class.

    However is it possible where xml schema can be used from xslt/xsd and it may be analyzed to generate xml data with data to fill the Message class in accordance with the business logic.

    Please suggest

    What would you win? in my opinion this isn't a valid usecase for xslas you must complete all the values manually in any case.
    You can use xsl with qxmlquery xmldataaccess has no support in his favor.

  • How to import the xml file into bcc?

    My input to atg file is xml containing assets of category or products.

    I want the Scheduler to run to auto create a project and send an e-mail to the customer for approval.

    When the client approves the xml file, and then run the Scheduler to get the data from the xml file into bcc.

    I use: SingletonSchedulableService for this

    Give me a direction for the same thing.

    Thanks in advance.

    I want to implement this in bcc.

    What listener will listen to the authorization of the client for email (that contains the XML to import) we sent to him?

    You will need to do a custom development to hang your workflow customized with incoming e-mail. To send notifications by mail electronic action is already there, and while creating his element within the ACC, you can specify a JSP page for the email template. You can view the rest of the relevant documents:

    Oracle, Web ATG Commerce - Workflows

    Oracle, ATG trade Web - action workflow items

    I recommend you to consult the existing source of DeploymentEmailer in \Publishing\samples\Java and see different types of DeploymentEvent and States can be used, based on your requirement in your custom component. See also these API javadocs for the process and the events of deployment available:

    DeploymentEvent (ATG Java API)

    DeploymentServer (ATG Java API)

    ATG has a component/atg/dynamo/service/POP3Service to retrieve messages from a POP3 e-mail server, but it is mainly used to detect the bounced email. Not too sure if it helps or adjustment in your case, but still you can go through all the details to know what is already there:

    Bounced from Oracle ATG Web Commerce - E-mail

    You can also check the event InboundEmail and API javadocs for InboundEmailMessage which are used in this function of rebound detection E-mail:

    Oracle, ATG trade Web - InboundEmail event

    InboundEmailMessage (ATG Java API)

    Now based on all this, if you extend and customize a lot of things, that it would be little complex and tedious detect mail incoming approval based on its content and then advance your workflow. Another approach may be to put a URL in the e-mail template of your notification by e-mail that the approver will click and on the landing page, you can authenticate and advance your workflow to the needs.

  • Retrieve / search a specific node of the XML file

    Hello

    I have a question about reading the XML (search) in PL SQL file:

    There is an XML file with the following structure:
    <root>
      <Hnode1 attr1="value1" />
      <Hnode2 attr1="value1" /> 
         <node1_of_Hnode2 id="10" personname="Steven"/>
         <node2_of_Hnode2 id="20" personname="Christian"/>
         <node3_of_Hnode2 id="30" personname="Arnold"/>
         .
         .
      <Hnode2/>
    <root/>
    How it is possible to filter a node by one of its attribute value. For example:
    The id of a person - I guess that id = 20. In this case I would like to get the whole node (in this case node2_of_Hnode2) to get the personname = > 'Christian '.
    Just like a SELECT statement (WHERE ID = 20)

    Is it possible to get it in a single order or should it be buckled on all the lines in the Document. Can you please provide an example for me.

    Thank you for advice!

    The basic version is 10.

    Sorry, this is not a version.
    For example:

    SQL> select * from v$version;
    
    BANNER
    ----------------------------------------------------------------
    Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
    PL/SQL Release 10.2.0.5.0 - Production
    CORE     10.2.0.5.0     Production
    TNS for 64-bit Windows: Version 10.2.0.5.0 - Production
    NLSRTL Version 10.2.0.5.0 - Production
     
    

    The use of the extraction of the values?
    1. better in a Select statement. assignment directli in a variable, or by using the xmlquery function?

    PL/SQL or SQL calls to the XMLType methods such as getStringVal() or extract() function should be equivalent (save the change of context).
    However, none of them are the right way to retrieve a scalar value of a given node.
    You must use the rather extractValue() function (SQL only) for immediate release< 11.2="" and="" xmlcast/xmlquery="" starting="" with="">

    Another Question:

    I've seen a lot of options for dealing with XML files.

    In my case only query data in XML files is relevant.

    I've seen to many API called XMLDOM, DMBS_XMLDOM, XMLTYPE...

    When to use these APIs. Can you give me feedback on this please?

    It is a broad topic.
    An appropriate response will depend on your condition.

    -You have to deal with large files and if so what size?
    -Performance/memory management is a concern for you?
    -You want to extract unique values or process the XML content in the form of relational data?

    If you have any specific test cases to show us, please post in the {forum: id = 34} forum and make sure to include all the necessary details (see the FAQ).

    Published by: odie_63 on 23 Feb. 2012 11:35

  • Loading nested XML file to a table

    Hi I have the following XML code.

    -< protocols >
    -Protocol of <>
    < name > SampleAddition_Outer < / name >
    < revision > 0 < / revision >
    -< ProtocolSteps >
    -< ProtocolStep >
    < name > SampleAddition < / name >
    < EnumProtocolStep > SampleAddition < / EnumProtocolStep >
    SampleProbe < action > < / Action >
    -< ParameterList >
    < string > SampleDispVol < / string >
    < string > SampleOverAspVol < / string >
    < string > LeadAirGap < / string >
    < string > TrailAirGap < / string >
    < string > SPPumpAspSpeed < / string >
    < string > SPPumpDispSpeed < / string >
    < string > SPPumpDispHeight < / string >
    < / ParameterList >
    < IntAction > 0 < / IntAction >
    < IntProtocolStep > 0 < / IntProtocolStep >
    < SequenceName > EmptySequence < / SequenceName >
    < / ProtocolStep >
    < / ProtocolSteps >

    This XML file is repeated over and over again in the large file.
    This is a nested structure and I want to store in a table so that the columns as follows

    Nom_protocole = SampleAddition_Outer, review = 0, ProtocolStep_Name = SampleAddition, EnumProtocolStep = SampleAddition, SampleProbe = Action, ParameterList is SampleDispVol
    Nom_protocole = SampleAddition_Outer, review = 0, ProtocolStep_Name = SampleAddition, EnumProtocolStep = SampleAddition, SampleProbe = Action, ParameterList is SampleOverAspVol
    Nom_protocole = SampleAddition_Outer, review = 0, ProtocolStep_Name = SampleAddition, EnumProtocolStep = SampleAddition, SampleProbe = Action, ParameterList is LeadAirGap
    Nom_protocole = SampleAddition_Outer, review = 0, ProtocolStep_Name = SampleAddition, EnumProtocolStep = SampleAddition, SampleProbe = Action, ParameterList is TrailAirGap
    Nom_protocole = SampleAddition_Outer, review = 0, ProtocolStep_Name = SampleAddition, EnumProtocolStep = SampleAddition, SampleProbe = Action, ParameterList is SPPumpAspSpeed
    Nom_protocole = SampleAddition_Outer, review = 0, ProtocolStep_Name = SampleAddition, EnumProtocolStep = SampleAddition, SampleProbe = Action, ParameterList is SPPumpDispSpeed
    Nom_protocole = SampleAddition_Outer, review = 0, ProtocolStep_Name = SampleAddition, EnumProtocolStep = SampleAddition, SampleProbe = Action, ParameterList is SPPumpDispHeight

    I understand that this table would be very standard but its OK for me now.

    I use oracle 10g.

    I loaded the entire xml in the unique xmltype column and used the following query to retrieve it.

    Select extractvalue (value (x), ' / Protocol/Name ") Nom_protocole,.
    ExtractValue (value (x), ' / ProtocolSteps/protocol/name of the Protocol / ") protocolstep_name
    of gt_xmltype_tab1 gt, TABLE (XMLSequence (extract (gt.xmlfile1, ' / Protocols/Protocol/ProtocolSettings '))) x;


    But it shows only Nom_protocole in the output. There is no error in the execution, but the output is not good either.
    I use Oracle 10 g

    Could someone help out here?

    If I understand correctly, you have three levels unnest here, so you need three nested XMLSequence:

    SQL> create table tmp_xml of xmltype;
    
    Table created
    
    SQL>
    SQL> insert into tmp_xml values(
      2  xmltype(
      3  '
      4    
      5      SampleAddition_Outer
      6      0
      7      
      8        
      9          SampleAddition
     10          SampleAddition
     11          SampleProbe
     12          
     13            SampleDispVol
     14            SampleOverAspVol
     15            LeadAirGap
     16            TrailAirGap
     17            SPPumpAspSpeed
     18            SPPumpDispSpeed
     19            SPPumpDispHeight
     20          
     21          0
     22          0
     23          EmptySequence
     24        
     25      
     26    
     27  ')
     28  );
    
    1 row inserted
    
    SQL>
    SQL> select extractValue(value(x1), '/Protocol/Name') as Protocol_Name
      2       , extractValue(value(x1), '/Protocol/Revision') as Revision
      3       , extractValue(value(x2), '/ProtocolStep/Name') as ProtocolStep_Name
      4       , extractValue(value(x2), '/ProtocolStep/EnumProtocolStep') as EnumProtocolStep
      5       , extractValue(value(x2), '/ProtocolStep/Action') as Action
      6       , extractValue(value(x3), '/string') as ParameterList
      7  from tmp_xml t
      8     , table(xmlsequence(extract(t.object_value, '/Protocols/Protocol'))) x1
      9     , table(xmlsequence(extract(value(x1), '/Protocol/ProtocolSteps/ProtocolStep'))) x2
     10     , table(xmlsequence(extract(value(x2), '/ProtocolStep/ParameterList/string'))) x3
     11  ;
    
    PROTOCOL_NAME             REVISION   PROTOCOLSTEP_NAME  ENUMPROTOCOLSTEP   ACTION         PARAMETERLIST
    ------------------------- ---------- ------------------ ------------------ -------------- -------------------
    SampleAddition_Outer      0          SampleAddition     SampleAddition     SampleProbe    SampleDispVol
    SampleAddition_Outer      0          SampleAddition     SampleAddition     SampleProbe    SampleOverAspVol
    SampleAddition_Outer      0          SampleAddition     SampleAddition     SampleProbe    LeadAirGap
    SampleAddition_Outer      0          SampleAddition     SampleAddition     SampleProbe    TrailAirGap
    SampleAddition_Outer      0          SampleAddition     SampleAddition     SampleProbe    SPPumpAspSpeed
    SampleAddition_Outer      0          SampleAddition     SampleAddition     SampleProbe    SPPumpDispSpeed
    SampleAddition_Outer      0          SampleAddition     SampleAddition     SampleProbe    SPPumpDispHeight
    
    7 rows selected
     
    

    Assuming you're on 10.2 you can use XMLTable as well, easier to implement IMO, but on a large XML document may not perform as well as XMLSequence if the XMLType table is not based on a schema.
    Major improvements in the treatment of the XQuery were made from 11 g when using tables not based on a schema.

  • Problem with Framemaker 9 Dita XML Files in Framemaker 10

    I just upgraded to Framemaker 10. I meet a number of problems when trying to work with my help of Dita XML topics, that were last saved in Framemaker 9.

    1. using the default Dita model

    When I open one of my documents in Framemaker 10, the Dita 1.2 model ditabase.fm is automatically applied. Everything seems fine. But then when I convert the XML using Eclipse (which is essentially the html, so we go from XML to HTML format) using Dita Open Toolkit ant scripts, I see this message:

    [pipeline] [DOTJ013E] [ERROR] failed to parse the referenced file 'html\c_licensing.xml' cause from under exception. Please correct the base on the exception message reference.
    [pipeline] c_licensing.xml 25:Attribute 'xmlns:ditaarch' of the line must be declared for the element type "dita".

    Then, I opened the xml file in a text editor, and I saw this on line 25:

    < dita xmlns:ditaarch = "http://dita.oasis-open.org/architecture/2005/" > ""

    25 line seems to me. Am I missing something?

    2 go to a model of Dita 1.1

    I tried to get around the above problem. In Framemaker, I tried to put another structured as the default application. I closed all files and choose the structured Dita 1.1 application default (it defaults to the Dita 1.1. Composite app.)

    Then I tried to open my file: I got this message inside Framemaker:

    'Failed XML validation. Continue?
    Error to the [path of ACCESS], line 25, tank 72, Message: attribute ' {http://www.w3.org/2000/xmlns/} ditaarch' is not declared for the element "dita"

    Sounds familiar, isn't?

    I went from Dita 1.1 by default. Composite application structured with the Dita 1.1. Application of structured theme. Then I messed the source file and saved. The messages that I got in the FrameMaker log window included one above, plus I had a variety of messages to unknown element, things like:

    Element unknown dita.

    notion of unknown element,

    various attributes are not reported for concept,

    element unknown conbody.

    If I go to the Dita 1.1 mash all these messages diappear except this one:

    Attribute ' {http://www.w3.org/2000/xmlns/} ditaarch' is not declared for the element "dita"


    My conversion scripts of Ant in the Dita Open Toolkit are still unable to process this file. They give the same message as above in (1) and the file is not converted to HTML.


    Can someone help me with this problem? I also posted this question in the Group of users of Dita on Yahoo Groups. If I get an answer in one place, I'll post it in the other.

    Thank you

    Nina P.

    [transferred to dita-users]

    Hi Nina...

    The xmlns:ditaarch attribute must be the "topic" not dita root element. If demand for FM10 structure is the award that it is wrong. You create composite themes (multiple topics in a single file under the root of dita)? If this isn't the case, you can get rid of the total dita element and who can "solve" the problem.

    The first mistake you get (#1) says that the xmlns:ditaarch attribute must be declared (that is, defined in the DTD)... It's not (because it is not supposed to be there (as I know). This is not to say that it must be declared in the DITA file.

    Even for the #2 error... the composite 1.1 app is apparently set up correctly, so it's saying the same thing that the Old Testament said... "you have this attribute in the XML file, but it is not declared in the DTD.

    Your subsequent error on the missing items is because you spent in the "topic" DTD, who does not know the dita element or elements based on concepts.

    If you can unpack your files dita element (because you are just using a topic in each file), which can solve the problem. But you probably need to do is open these files in a text editor and remove the attribute of xmlns:ditaarch of them (he not really needs on the elements of the topic either since it is the default value). Then, I turn to the composite 1.1 as a default app. I'll take a look at the FM10 1.2 default app and see what happens. (I have not seen this problem since I was on DITA-FMx, which has its own structure of apps).

    See you soon,.

    .. .Scott

    Scott Prentice

    Leximation, Inc..

    www.leximation.com

  • The analysis via an XML file

    Hello

    I work with an XML file that is generated through the API of Google Books.  I'll apologize in advance if I don't get quite accurate XML terminology - it's my first foray into some of the tags XML see  I'm reading a XML file in and attempt to send data:

    "< cfhttp url = 'http://www.google.com/books/feeds/volumes?q=john+grisham+the+firm & min-viewability biased =" method = "GET" > "

    < CFSET xmlfile = xmlparse (cfhttp.filecontent) >


    < cfset xmlsize = arraylen (xmlfile.feed.entry) >


    < cfloop from = "1" = "" #xmlsize # "index ="a">"

    < b > title: #xmlfile.feed.entry [a].title.xmlText # < /b > < br >
    < b > Format: #xmlfile.feed.entry [a].format.xmlText # < /b > < br >
    < b > author: #xmlfile.feed.entry [a].creator.xmlText # < /b > < br >
    < b > identifier1: #xmlfile.feed.entry [a].identifier.xmlText # < /b > < br >
    < b > identifier2: #xmlfile.feed.entry [a] .identify [2] .xmlText # < /b > < br >

    < / cfoutput >
    < / cfloop >

    It works pretty well.  Here's the problem: there is often a third identifier field (xmlfile.feed.entry [a] .identify [3] .xmlText)- but not always.

    I'm testing the existence of this field before you post.  I tried the following:

    < CFIF isdefined("xmlfile.feed.entry[a].identifier[3].xmlText") >
    is defined

    < CFELSE >

    is not defined
    < / cfif >

    Gives the typical error:

    Parameter 1 of function IsDefined, which is now xmlfile.feed.entry [a] .identify [3] .xmlText, must be a valid variable name syntactically.

    I would use structkeyExists, but I can't understand how the third node (?) using the reference code:

    < cfif structKeyExists(xmlfile.feed.entry[a],"identifier") > only works for xmlfile.feed.entry [a] .identify [1] .xmlText

    < cfif structKeyExists(xmlfile.feed.entry[a],"identifier[3]") > is not valid.

    So with strucktkeyexists, I can not understand how to properly reference the name of the variable...

    Any help?  Or the best ideas to verify the existence of this variable?

    The node you are looking at is an array, so:

    you need to do. At the present time, you test for the attribute 'xmltext' rather than to check its node parent exists.

    HTH.

Maybe you are looking for