Hi,
I have a collection of Schema that are organized on the File System in this manner :-
Healthcare
├───Common
│ Common.xsd
│
├───Patients
│ Patient.xsd
│
└───Shared
Shared.xsd
The Shared.xsd is a Schema shared between multiple Business Units and is referenced from Common.xsd in this manner :-
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:include schemaLocation="../Shared/Shared.xsd"/>
</xs:schema>
I am using the Oracle 11G Database :-
SQL> select * from V$VERSION
2 /
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE 11.2.0.2.0 Production
TNS for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production
SQL>
I am trying to register the Schema in this manner :-
BEGIN
dbms_xmlschema.registerSchema(
schemaurl => 'Common.xsd',
schemadoc => '<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:include schemaLocation="../Shared/Shared.xsd"/></xs:schema>');
END;
The XDB Engine doesn't seem to accept the path ../Shared/Shared.xsd at the time of registration. I see this error :-
ERROR at line 1:
ORA-31000: Resource '../Shared/Shared.xsd' is not an XDB schema document
ORA-06512: at "XDB.DBMS_XMLSCHEMA_INT", line 3
ORA-06512: at "XDB.DBMS_XMLSCHEMA", line 14
ORA-06512: at line 2
Can you please tell me how to go ahead and register my Schema ?
The facility to recognize and register " reusable " Schema is very important for us and without it, our proposed solution of using XDB Processing Capabilities vs JAXB would collapse like a house of cards.
I have been trying to scavenge the Documentation for any clues - but, I am not very conversant with XDB and I have hit a wall.
Thanks,
Sandeep