Schema validation routine?

Hi
I have serious problems finding a (PL/SQL) validation routine that takes a piece of xml and a corresponding schema and validates the xml according to the schema. Everything (PL/SQL) seems to demand that I register my schema and define columns on that schema, and that's a problem with my application (basically, I have a "free format" xmltype column to which a schema is attached - the user may define both the xml and the schema)
I need a PL/SQL function basically like "oraxml -schema".
Can anyone help me out here, or do I need to write a Java-function to do the trick?
Regards
/John

you can pass a CLOB as a parameter by using a slightly adapted version of the example code:
package ibb.xml;
import java.net.*;
import java.io.*;
import java.util.*;
import java.sql.SQLException;
import oracle.sql.CLOB;
import oracle.xml.parser.schema.*;
import oracle.xml.parser.v2.*;
import org.w3c.dom.*;
public class XMLSchemaUtils
public static String validate(CLOB xmlDoc, CLOB xsdDoc)
throws Exception
//Build Schema Object
XSDBuilder builder = new XSDBuilder();
InputStream xsdInAsciiFormat = xsdDoc.getAsciiStream();
XMLSchema schemadoc = (XMLSchema)builder.build(xsdInAsciiFormat, null);
//Build XML Object
InputStream xmlInAsciiFormat = xmlDoc.getAsciiStream();
// Greate the DOM
DOMParser domparser_doc = new DOMParser();
// Set Schema Object for Validation
domparser_doc.setXMLSchema(schemadoc);
domparser_doc.setValidationMode(XMLParser.SCHEMA_VALIDATION);
domparser_doc.setPreserveWhitespace (true);
// New stream for the return string
StringWriter string_writer_stream = new StringWriter();
domparser_doc.setErrorStream (new PrintWriter(string_writer_stream));
String returnValue;
try {
domparser_doc.parse (xmlInAsciiFormat);
returnValue = "The input XML parsed without errors.\n";
catch (XMLParseException pe) {
returnValue = "Parser Exception: " + pe.getMessage();
catch (Exception e) {
returnValue = "NonParserException: " + e.getMessage();
return returnValue;
I don't (yet) understand the suggestion by Deepak to set an ErrorHandler on the DOMParser. This is possible as you can use setErrorHandler(handler) on any object inherited from parser (that is both for the DOMParser and the SAXParser) like:
ErrorHandler handler = new ErrorHandler();
domparser_doc.setErrorHandler(handler);
But according to the documentation the ErrorHandler is only used by the SAXParser.
At the moment this advanced Java stuff is too complex for a simple PL/SQL programmer like me... Deepak! Help!

Similar Messages

  • Getting schema validation working in Eclipse with Coherence 3.7.1.0

    Just wondered if anyone had got schema validation to work in Eclipse (3.5 - Galileo) for Coherence 3.7.1.0?
    The Coherence developer docs show that you should add sections like this:
    <pof-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.oracle.com/coherence/coherence-pof-config"
    xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-pof-config
    coherence-pof-config.xsd">
    However, if I use that "shortened" form (for cache, pof, etc. configs) Eclipse gives a warning "No grammar constraints (DTD or XML schema) detected for the document." and the schema validation fails to work (i.e. no "auto pop-ups" when entering content, and rubbish content is gladly accepted.)
    In Coherence 3.7.0, I'd used the following "extended" form (note the longer "schemaLocation") to get things working correctly:
    <pof-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.oracle.com/coherence/coherence-pof-config"
    xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-pof-config
    http://xmlns.oracle.com/coherence/coherence-pof-config/1.0/coherence-pof-config.xsd">
    Also note that entering the "http://xmlns.oracle.com/coherence/coherence-pof-config/1.0/coherence-pof-config.xsd" in a web browser opens the xsd, as you'd expect.
    Now...
    I'm looking at the PofAnnotationSerializer in 3.7.1.0 and the "auto indexing" option. The declaration in my pof file for it fails as the "class" (or fully-qualified java.lang.Class version) in the "init-params" section isn't valid. If I look at the xsd on the url above, this is indeed the case, that option does not appear.
    However, if I look at the POF xsd in the coherence.jar file for 3.7.1.0, the "class" option has been added, and has a newer 'version="1.1"' added to it's schema declaration. So I therefore tried to point my "extended" declaration to point to " http://xmlns.oracle.com/coherence/coherence-pof-config/1.1/coherence-pof-config.xsd", in order to get schema validation to work in Eclipse with this new schema. Unfortunately that url doesn't exist - you get a "Content Server Request Failed" error.
    So, I guess my question is, is there a way to get myself pointed at the 1.1 versions of the xsd's so I can have schema validation working in Ecliipse? Or is there another workaround (did a bit of Googling, but that mainly seemed to be people switching validation off to simply get rid of the error...)
    Cheers,
    Steve

    Cheers, Dave.
    I had in fact had a try at extracting the xsd and pointing to it directly, and that did indeed work (had to do this following the same steps shown below using an "entry" in the XML Catalog.)
    I had a look around at some of the other "entries" in Eclipse by default and noticed that they actually refer to xsd's directly within the jars, hence saving the extraction step and keeping screw-ups down to a minimum; a bit of playing around to get the syntax right and I finally managed to get it working.
    For those who are interested (NB. my Coherence 3.7.1.0 install is in a directory "c:\coherence3.7"), the steps are:
    In Eclipse, Go to Window->Preferences->XML->XML Catalog. Then create a "User Specified Entry".
    In the "Location", add (without the quotes): "jar:file:/C:/coherence3.7/coherence/lib/coherence.jar!/coherence-pof-config.xsd"
    In the "Key Type", add (without the quotes): "Namespace Name"
    In the "Key", add (without the quotes): "http://xmlns.oracle.com/coherence/coherence-pof-config"
    The schema validation now works fine. Eclipse shows no warnings/errors, and the auto-complete and validation are fully functional.
    Still, it would be nice to get the "1.1" urls updated to point to the schemas on the Oracle site, to avoid all our developers from having to make these changes (and of course avoid them pointing at an older, out-of-date local install of coherence.)
    Cheers,
    Steve

  • Schema Validator does not honor "nullable" attribute

    Oracle XML Schema validator v1.0 does not seem to honor "nullable" schema attribute as in:
    <xsd:element name='myelem' type='xsd:string' nullable='true'/>
    On input
    <myelem/> or <myelem></myelem>
    it reports:
    Element not completed: 'myelem'
    Thanks
    null

    My mistake. Input must be specified as:
    <myelem xsi:null="true">
    where
    xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance"
    null

  • Email notifications from Verification and Validation routines

    I am trying to generate an email notification after we run a Verification or Validation routine once we make some changes in the DRM? Is it possibe? If so how can it be implemented and what versions of DRM supports the same?

    DRM does not suppor this feature. Nowhere in the documentation does this exist. If you want to do it on demand you have 2 options:
    1) use mdm-connect to run the verification/validation process saving the output to a file and write a script to take the file and mail it
    or
    2) create a custom API workflow process
    Those are your options.

  • Error : Catalog object schema validation failed in OBIEE 11.1.1.5

    Hi all ,
    Facing the below error while accessing few reports present in a folder (Voice Tab) . But , able to access other reports present in the same folder .
    Catalog object schema validation failed: /users/weblogic/sayak/TPLAN reports/Voice Tab/Net revenue per minute (ILD\/NLD)
    Error Details
    Error Codes: AGFIXBO2:EIRWWH9E
    Location: saw.httpserver.processrequest, saw.rpc.server.responder, saw.rpc.server, saw.rpc.server.handleConnection, saw.rpc.server.dispatch, saw.threadpool, saw.threadpool, saw.threads
    Also while try to edit the analysis (Net revenue per minute (ILD\/NLD) from catalog , i am getting the above error .The Reports were fine till yesterday , What could be the issue ?
    Thanks

    Hi Devarasu ,
    Yeah .. I'm aware of this bug of 11.1.1.5 , but I'm puzzeled by the sudden impact of it . i.e , It didn't gave me the error while creating/editing the file yesterday and looked fine on dashboard as well .
    However , If there's no alternative other than applying patch , then please let me know the patch ID .
    And applying this patch means , just overwriting some configure files in the OBIEE home folder sructure ? or somthing else ?
    Thanks

  • "Schema validation found non-data type errors" error when passing a string value to date field in infopath

    Hi,
    I have an infopath web brower enabled form. In the form i have a date field.
    I am passing the data from the database to that field using the C# code.
    But, as the field from database is coming as string, i am getting an error, and i am not able to assign the value.
    I get the date value from database as "3/25/2011 12:00:00 AM"
    I used the below code:
    [CODE]
    if (objInfopathFormcData.myRecievedDate != null)
      myRoot.SelectSingleNode("/my:myFields/my:field97", NamespaceManager).SetValue(objInfopathFormcData.myRecievedDate);
    [/CODE]
    I am getting the error as "Schema validation found non-data type errors".
    How to set the value for a date field in Infopath.
    Thank you

    HI,
    I fixed it:
    Below code is used to fix:
    [CODE]
    XPathNavigator xfield = null;
    DateTime dtmyRecievedDate;
    dtmyRecievedDate = Convert.ToDateTime(objInfopathFormcData.myRecievedDate);
    if (objFormcData.FcCompletionDate != null)
    xfield = myRoot.SelectSingleNode("/my:myFields/my:field97", NamespaceManager);
    DeleteNil(xfield);
    xfield.SetValue(dtmyRecievedDate.GetDateTimeFormats().GetValue(5).ToString());
    // method to delete xsi:nil
    private void DeleteNil(XPathNavigator nav1)
    if (nav1.MoveToAttribute("nil", "http://www.w3.org/2001/XMLSchema-instance"))
       nav1.DeleteSelf();
    [/CODE]
    Thank you

  • Processing Schema Validation error in BPM?

    Hi all,
    We have a file to IDOC scenario where if the schema validation fails on the file adapter sender agreement, we want to pull the filename and send it in an error email. So, we are talking about the adapter specific message attribute "Filename".
    unfortunately, this does not seem to be available as a container element for alert catagories in ALRTCATDEF. So, we are starting to look into using BPM to send a email via the email adapter. However, since the validation happens prior to BPM being called I am at a bit of a loss. Any ideas on how to get the email with the filename out to the suport group would be appreciated.
    Thanks,
    Chris

    package com.validate;
    import com.sap.aii.mapping.api.*;
    import com.sap.aii.mappingtool.tf7.rt.Container;
    import java.io.*;
    import javax.xml.transform.stream.StreamSource;
    import javax.xml.validation.*;
    public class ValidateXML extends AbstractTransformation {
        public void transform(TransformationInput transformationInput, TransformationOutput transformationOutput) throws StreamTransformationException {
            OutputStream outputstream = null;
            try {
                InputStream inputstream = transformationInput.getInputPayload().getInputStream();
                outputstream = transformationOutput.getOutputPayload().getOutputStream();
                byte[] b = new byte[inputstream.available()];
                inputstream.read(b);
                String XMLinputFileContent = new String(b);
                // define the type of schema - we use W3C:
                String schemaLang = "http://www.w3.org/2001/XMLSchema";
                // get validation driver:
                SchemaFactory factory = SchemaFactory.newInstance(schemaLang);
                //Place XSD file in PI server same as http://help.sap.com/saphelp_nwpi711/helpdata/en/44/0bf1b3ec732d2fe10000000a11466f/frameset.htm
                //OR I think you can place any where on server.
                File XSDfile = new File("C:/xi/runtime_server/validation/schema/SchemaFile.xsd");
                // create schema by reading it from an XSD file:
                Schema schema = factory.newSchema(new StreamSource(XSDfile));
                Validator validator = schema.newValidator();
                // at last perform validation:
                validator.validate(new StreamSource(XMLinputFileContent));
                //If XML it not valid, exception will be thrown, if it is valid sent this PassOutputXML to output
                String PassOutputXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><ns:MT_OutputXML xmlns:ns=\"http://sap.com/xi\"> <Name>FileName.txt</Name><Validation>Pass</Validation> </ns:MT_OutputXML>";
                outputstream.write(PassOutputXML.getBytes());
            } catch (Exception exception) {
                //Get File name using http://help.sap.com/saphelp_nwpi711/helpdata/en/43/03612cdecc6e76e10000000a422035/frameset.htm
                Container container = null;
                DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
                DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File", "FileName");
                String inputFileName = conf.get(key);
                String FailOutputXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><ns:MT_OutputXML xmlns:ns=\"http://sap.com/xi\"> <Name>" + inputFileName + "</Name><Validation>Fail</Validation> </ns:MT_OutputXML>";
                try {
                    outputstream.write(FailOutputXML.getBytes());
                } catch (IOException ex) {
                    exception.printStackTrace();
                    ex.printStackTrace();

  • Schema Validation failure in SOA Suite 11.1.1.6.0 but not in 11.1.1.7.0

    I have a composite that is deployed on both a SOA Suite 11.1.1.6.0 and 11.1.1.7.0 server.
    The composite exposes a service that my application subscribes to and sends messages to so the BPMN process can handle the request.
    This works fine in 11.1.1.7.0.  However, in the older version, when the message gets sent out, I'm getting the error shown below.
    I've made sure that Schema Validation is disabled on all of the endpoints, but that doesn't appear to have any affect.  Any thoughts?
    <Aug 29, 2013 12:00:59 PM EDT> <Error> <oracle.webservices.service> <OWS-04115><An error occurred for port: FabricProvider: javax.xml.rpc.soap.SOAPFaultException: Schema validation failed for message part parameters. Please ensure at the message sender level that the data sent is schema compliant. Attribute 'http://schemas.xmlsoap.org/soap/envelope/:encodingStyle' not expected..>
    <Aug 29, 2013 12:01:00 PM EDT> <Error> <oracle.webservices.service> <OWS-04086>
    <javax.xml.rpc.soap.SOAPFaultException: Schema validation failed for message part parameters. Please ensure at the message sender level that the data sent is schema compliant. Attribute 'http://schemas.xmlsoap.org/soap/envelope/:encodingStyle' not expected.
            at oracle.integration.platform.blocks.soap.WebServiceEntryBindingCompone
    nt.generateSoapFaultException(WebServiceEntryBindingComponent.java:1193)
            at oracle.integration.platform.blocks.soap.WebServiceEntryBindingCompone
    nt.processIncomingMessage(WebServiceEntryBindingComponent.java:971)
            at oracle.integration.platform.blocks.soap.FabricProvider.processMessage
    (FabricProvider.java:113)
            at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing
    (ProviderProcessor.java:1187)
            at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementatio
    n(WebServiceProcessor.java:1112)
            at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(
    ProviderProcessor.java:581)
            at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServicePr
    ocessor.java:233)
            at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcess
    or.java:193)
    Thanks,
    Mike

    Any suggestions on this....

  • Differences between Oracle's and ArcSDE's validation routines

    I am having a small number of problems with valid Oracle geometries not displaying through ArcSDE.
    I have read the following on ESRI's website.
    Features stored in Oracle's SDO_GEOMETRY can be validated after storage using Oracle's validation subprograms, such as VALIDATE_GEOEMTRY_WITH_CONTEXT. The validation rules are similar to, but not the same as, ArcSDE shape validation rules.
    Does anyone know what these differences are?

    I found an example which shows a difference of ESRI's and Oracle's validation routines:
    A polygon with two holes where the holes share one point.
    Here is the Oracle version:
    SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1, 33, 2003, 1, 43,2003, 1),
    SDO_ORDINATE_ARRAY(128212.114, 395486.529, 128176.43, 395481.085, 128177.792, 395471.529,
    128178.503, 395466.629, 128178.886, 395464.634, 128179.276,395463.348, 128180.136, 395461.264,
    128180.967, 395459.722, 128183.295, 395460.172, 128184.51, 395458.984, 128186.224, 395458.298,
    128188.128, 395458.374, 128204.149, 395461.887, 128212.15, 395463.629, 128215.611, 395464.395,
    128212.114, 395486.529, 128193.512, 395475.783, 128192.739, 395480.726, 128202.224, 395482.209,
    128203.003, 395477.267, 128193.512, 395475.783, 128193.814, 395473.856, 128194.085, 395473.898,
    128194.57, 395470.854, 128195.977, 395471.074, 128196.503, 395467.712, 128195.108, 395467.493,
    128195.515, 395464.937, 128187.326, 395463.655, 128185.922, 395472.622, 128187.078, 395472.803,
    128186.778, 395474.73, 128193.512, 395475.783, 128193.814, 395473.856))
    ESRI ArcCatalog (ArcMap) 9.0 stops drawing with an error message when this geometry is in the data set.
    The 9.1.version shows the geometry and continues drawing but draws a line from the common point to the origin point (0,0)
    which looks a bit strange in a map.
    Validating by SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT gives the result: TRUE
    ESRI validation-tools show an error. After a correction by ESRI tools we
    get the following geometry:
    SDO_GEOMETRY(2007, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1, 33, 2003, 1),
    SDO_ORDINATE_ARRAY(128176.43, 395481.085, 128177.792, 395471.529, 128178.503, 395466.629,
    128178.886, 395464.634, 128179.276, 395463.348, 128180.136, 395461.264, 128180.967, 395459.722,
    128183.295, 395460.172, 128184.51, 395458.984, 128186.224, 395458.298, 128188.128, 395458.374,
    128204.149, 395461.887, 128212.15, 395463.629, 128215.611, 395464.395, 128212.114, 395486.529,
    128176.43, 395481.085, 128192.739, 395480.726, 128202.224, 395482.209, 128203.003, 395477.267,
    128193.512,395475.783, 128193.814, 395473.856, 128194.085, 395473.898, 128194.57, 395470.854,
    128195.977, 395471.074, 128196.503, 395467.712, 128195.108, 395467.493, 128195.515, 395464.937,
    128187.326, 395463.655, 128185.922, 395472.622, 128187.078, 395472.803, 128186.778, 395474.73,
    128193.512, 395475.783, 128192.739, 395480.726))
    This is a polygon with one hole.
    Now Oracle shows an error:
    The Oracle validation function gives the result:
    SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(SHAPE,DIMINFO)
    13349 [Element <1>] [Ring <2>][Edge <15>][Edge <4>]
    This is a self intersecting polygon.
    The two holes are now a self intersecting polygon.
    I didn't find any way to get a geometry that is accepted by Oracle and ESRI
    without modifications of coordinates.

  • Error in schema validation in XI. Please help!

    Hi Experts,
       I have a FILE to proxy scenario. In the sender agreement I have selected schema validation by Adapter. (Other option is by Integration Engine). Now when the file I get an error in sender file communication channel monitoring:
    Error: com.sap.engine.interfaces.messaging.api.exception.MessageFormatException: Schema DataIn.xsd not found in D:\usr\XXXXXXXXX\validation\schema\31f7c36098e411deadcae4d30a13c639\httptraining-00EIM_POC\DataIn_Async_Out\httptraining-00EIM_POC\DataIn.xsd  (validation\schema)
    Do I need to keep the schema file in some server location?  Do I need to setup this path anywhere? Where do I need to place the schema file?
    What is the difference between validation by adapter and by integration engine?
    Please help!
    Thanks
    Gopal

    >What is the difference between validation by adapter and by integration engine?
    Both are same. One in Java engine and the other in the abap engine.  If you set at one place that is good enough.  In 7.1+  this becomes one of the pipeline steps.
    >Do I need to keep the schema file in some server location? Do I need to setup this path anywhere? Where do I need to place the schema file
    Yes you have to place schema in the server location.
    Refer the Rajasekar document for the placing this file in the server location.

  • Persisting unexplained errors when parsing XML with schema validation

    Hi,
    I am trying to parse an XML file including XML schema validation. When I validate my .xml and .xsd in NetBeans 5.5 beta, I get not error. When I parse my XML in Java, I systematically get the following errors no matter what I try:
    i) Document root element "SQL_STATEMENT_LIST", must match DOCTYPE root "null".
    ii) Document is invalid: no grammar found.
    The code I use is the following:
    try {
    Document document;
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    factory.setValidating(true);
    factory.setNamespaceAware(true);
    DocumentBuilder builder = factory.newDocumentBuilder();
    document = builder.parse( new File(PathToXml) );
    My XML is:
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <!-- Defining the SQL_STATEMENT_LIST element -->
    <xs:element name="SQL_STATEMENT_LIST" type= "SQL_STATEMENT_ITEM"/>
    <xs:complexType name="SQL_STATEMENT_ITEM">
    <xs:sequence>
    <xs:element name="SQL_SCRIPT" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    <!-- Defining simple type ApplicationType with 3 possible values -->
    <xs:simpleType name="ApplicationType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="DawningStreams"/>
    <xs:enumeration value="BaseResilience"/>
    <xs:enumeration value="BackBone"/>
    </xs:restriction>
    </xs:simpleType>
    <!-- Defining the SQL_SCRIPT element -->
    <xs:element name="SQL_SCRIPT" type= "SQL_STATEMENT"/>
    <xs:complexType name="SQL_STATEMENT">
    <xs:sequence>
    <xs:element name="NAME" type="xs:string"/>
    <xs:element name="TYPE" type="xs:string"/>
    <xs:element name="APPLICATION" type="ApplicationType"/>
    <xs:element name="SCRIPT" type="xs:string"/>
    <!-- Making sure the following element can occurs any number of times -->
    <xs:element name="FOLLOWS" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    and my XML is:
    <?xml version="1.0" encoding="UTF-8"?>
    <!--
    Document : SQLStatements.xml
    Created on : 1 juillet 2006, 15:08
    Author : J�r�me Verstrynge
    Description:
    Purpose of the document follows.
    -->
    <SQL_STATEMENT_LIST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.dawningstreams.com/XML-Schemas/SQLStatements.xsd">
    <SQL_SCRIPT>
    <NAME>CREATE_PEERS_TABLE</NAME>
    <TYPE>CREATION</TYPE>
    <APPLICATION>DawningStreams</APPLICATION>
    <SCRIPT>
    CREATE CACHED TABLE PEERS (
    PEER_ID           VARCHAR(20) NOT NULL,
    PEER_KNOWN_AS      VARCHAR(30) DEFAULT ' ' ,
    PRIMARY KEY ( PEER_ID )
    </SCRIPT>
    </SQL_SCRIPT>
    <SQL_SCRIPT>
    <NAME>CREATE_COMMUNITIES_TABLE</NAME>
    <TYPE>CREATION</TYPE>
    <APPLICATION>DawningStreams</APPLICATION>
    <SCRIPT>
    CREATE CACHED TABLE COMMUNITIES (
    COMMUNITY_ID VARCHAR(20) NOT NULL,
    COMMUNITY_KNOWN_AS VARCHAR(25) DEFAULT ' ',
    PRIMARY KEY ( COMMUNITY_ID )
    </SCRIPT>
    </SQL_SCRIPT>
    <SQL_SCRIPT>
    <NAME>CREATE_COMMUNITY_MEMBERS_TABLE</NAME>
    <TYPE>CREATION</TYPE>
    <APPLICATION>DawningStreams</APPLICATION>
    <SCRIPT>
    CREATE CACHED TABLE COMMUNITY_MEMBERS (
    COMMUNITY_ID VARCHAR(20) NOT NULL,
    PEER_ID VARCHAR(20) NOT NULL,
    PRIMARY KEY ( COMMUNITY_ID, PEER_ID )
    </SCRIPT>
    </SQL_SCRIPT>
    <SQL_SCRIPT>
    <NAME>DROP_PEER_TABLE</NAME>
    <TYPE>DELETION</TYPE>
    <APPLICATION>DawningStreams</APPLICATION>
    <SCRIPT>
    DROP TABLE PEERS IF EXISTS
    </SCRIPT>
    </SQL_SCRIPT>
    <SQL_SCRIPT>
    <NAME>DROP_COMMUNITIES_TABLE</NAME>
    <TYPE>DELETION</TYPE>
    <APPLICATION>DawningStreams</APPLICATION>
    <SCRIPT>
    DROP TABLE COMMUNITIES IF EXISTS
    </SCRIPT>
    </SQL_SCRIPT>
    <SQL_SCRIPT>
    <NAME>DROP_COMMUNITY_MEMBERS_TABLE</NAME>
    <TYPE>DELETION</TYPE>
    <APPLICATION>DawningStreams</APPLICATION>
    <SCRIPT>
    DROP TABLE COMMUNITY_MEMBERS IF EXISTS
    </SCRIPT>
    </SQL_SCRIPT>
    <SQL_SCRIPT>
    <NAME>CREATE_COMMUNITY_MEMBERS_VIEW</NAME>
    <TYPE>CREATION</TYPE>
    <APPLICATION>DawningStreams</APPLICATION>
    <SCRIPT>
    CREATE VIEW COMMUNITY_MEMBERS_VW AS
    SELECT P.PEER_ID, P.PEER_KNOWN_AS, C.COMMUNITY_ID, C.COMMUNITY_KNOWN_AS
    FROM PEERS P, COMMUNITIES C, COMMUNITY_MEMBERS CM
    WHERE P.PEER_ID = CM.PEER_ID
    AND C.COMMUNITY_ID = CM.COMMUNITY_ID
    </SCRIPT>
    <FOLLOWS>CREATE_PEERS_TABLE</FOLLOWS>
    <FOLLOWS>CREATE_COMMUNITIES_TABLE</FOLLOWS>
    </SQL_SCRIPT>
    </SQL_STATEMENT_LIST>
    Any ideas? Thanks !!!
    J�r�me Verstrynge

    Hi,
    I found the solution in the following post:
    Validate xml with DOM - no grammar found
    Sep 17, 2003 10:58 AM
    The solution is to add a line of code when parsing:
    try {
    Document document;
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    factory.setValidating(true);
    factory.setNamespaceAware(true);
    factory.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema");
    DocumentBuilder builder = factory.newDocumentBuilder();
    document = builder.parse( new File(PathToXml) );
    The errors are gone !!!
    J�r�me Verstrynge

  • Help On schema validation

    Hi,
    I am a newbie in XML schema territory.
    I generates a xml using 'SELECT XMLQuery( ...)' -- This finally works after upgrading to 10.2.0.3!
    1) What methods do you recommend to validate the query result agaist the schema? The query result is first returned as 'XMLType' type, and then
    I turned it into a CLOB.
    At the end, I save the output into a file (via CLOB to String).
    2) How do I register the schema in DB? Can I install the schema on the file system, instead? I am not sure which way is simpler and easier. I'd yearn for any simpler method, if any --- a common complaint from any beginner, I guess.
    A few pointers will help me a great deal.
    Sun

    Sun,
    You can take a look at an FAQ thread on this topic: How does XML DB handle XML Schema Validation ?
    Regards,
    Geoff

  • Java Stored Procedure SAXParser XML Schema Validation

    Using Oracle XML Developers Kit 10.2.0.2.0 - Production.
    Attempting to validate using XML Schema in a Java stored procedure with the code:
                   if ( schemaDoc == null )
                        // Obtain default connection
                        Connection conn = new OracleDriver().defaultConnection();
                        OraclePreparedStatement stmt = (OraclePreparedStatement) conn.prepareStatement("SELECT XmlDocObj FROM XmlDoc WHERE XmlDocNbr = 2");
                        OracleResultSet rset = (OracleResultSet)stmt.executeQuery();
                        if ( rset.next() )
                             // get the XMLType
                             XMLType schemaXml = (XMLType)rset.getObject(1);
                             XSDBuilder builder = new XSDBuilder();
                             XMLSchema schemaDoc = (XMLSchema)builder.build(new InputSource(schemaXml.getInputStream()));
                   if ( inst == null )
                        inst = new ValidateCoreRequest();
                   ErrorHandlerImpl handler = inst.getNewErrorHandler();
    SAXParser saxParser = new SAXParser();
    saxParser.setXMLSchema(schemaDoc);
    saxParser.setValidationMode(XMLParser.SCHEMA_VALIDATION);
    saxParser.setErrorHandler(handler);
    saxParser.parse(new InputSource(new StringReader(docStr)));
    if( handler.validationError )
                        errorMsg[0] = handler.saxParseException.getMessage().substring(0, Math.min(199, handler.saxParseException.getMessage().length()));
    Never reports validation errors in the XML. Although the XDK Programmers Guide states "...you can use
    the oracle.xml.parser.schema.XSDBuilder class to build an XML schema and
    then configure the parser to use it by invoking the XMLParser.setXMLSchema()
    method. In this case, the XML parser automatically sets the validation mode to
    SCHEMA_STRICT_VALIDATION and ignores the schemaLocation and
    noNamespaceSchemaLocation attributes." No validation seems to occur. I have tried to set an xsi:noNamespaceSchemaLocation attribute on the root XML node, but this results in URL errors if the URL is not valid or schema build errors if the URL is valid, but does not point to a real location.
    It appears that without a schema location attribute, no schema validation occurs. Using setXMLSchema() with a database source does not seem to cause the schema location attributes to be ignored. At least for Java stored procedures.
    Does XML Schema validation work in the database for externally referenced schemas?
    Thank You,
    Art

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Jan Vissers ([email protected]):
    I have two schemas A and B. A contains a java stored procedure which calls a java stored procedure stored in B. Upon resolving the "A" Java Stored Procedures I get the following error:
    ORA-29545: badly formed class: at offset 3093 of Adapter.TFADPBeschikbaarheid.sendAanvraag expecting a class-oracle.xml.parser.v2.XMLDocument but encountered a class-oracle.xml.parser.v2.XMLDocument.
    ... Question:
    it is expecting something which it has in fact encountered... SO!!!! What is the error.
    Thx,
    Jan<HR></BLOCKQUOTE>
    Try this:
    Edit your XSU installation script located on lib directory of Oracle XSU's distribution:
    Find the line:
    loadjava -r -v -u $USER_PASSWORD xmlparserv2.jar
    Replace by:
    loadjava -r -v -g public -u $USER_PASSWORD xmlparserv2.jar
    And installs your Oracle XSU again.
    Best regards, Marcelo.

  • Urgent - please help with osb-service bus schema validation.

    I have a proxyService runing on osb service bus, when I send wrong input to my proxyservices it react correctly by rejecting it, becuase the requestion is not conform to the schema, but I only get the error message saying that
    the Input is does not much, is there a way to get more info about the error ?
    like witch fields that cause the error ?

    The fault variable in your stage error handler will have the approariate information. Just add a stage error handler in the stage you are doing schema validation (make sure that in validate action you are selecting "raise Error on validation failure") and the error handler log the $fault
    Also refer -
    Re: Validate each xml element against XML schema
    Regards,
    Anuj

  • DTD/ schema validation and XSLT

    Hi
    I want to do mappings from IDoc to CIDX messages. The first choice was to do XSLT mappings. But because we need DTD/schema validation we switched to Graphical mapping.
    But mapping idocs to cidx messages with graphical mapping is proving to be a difficult job with all the context problems.
    Is it possible to combine the advantages of both mapping techniques in the following way.
    Define 1 interface mapping with 2 message mappings in it:
    - The first 'source to target' with XSLT.
    - The second 'target to target' with Graphical mapping (only connecting the top node) so we can have DTD/Schema validation.
    Kind regards
    Thierry

    hi,
    Source - XSLT - Target1
    Target1 - GM - Target2
    If what I understand is correct,in your INTERFACE MAPPING , then your Source Interafce will point to messagetype of typr SOURCE and Destination Interface will point to message type TARGET2.
    If yes, then like i told use SOURCE with XSLT to create TARGET1 , then use TARGET1 as the input to your next mapping program and create the TARGET2 as the output.
    In your message mapping,
    1 SOURCE   TARGET1  will act as the source and destination message types for one mapping (XSLT>)
    2. TARGET1 TARGET2 will act as the cource and destination mesage types for the other mapping (GRAPHICAL)
    Regards,
    Bhavesh

Maybe you are looking for

  • Webdynpro testing using Ecatt from Solution Manager

    Hi Experts, I am trying to do test a Webdynpro application using Ecatt. But when i go to test script --> pattern in the following popup i am maintaing the following data group       :  UI Control Command : Webdynpro Interface  : [GENERATED] then STAR

  • CONFIGURING ORACLE 10G APPLICATION  SERVER

    HOW TO CONFIGURE 10G APPLICATION SERVER

  • What do i need to measure muscle activity

    Can some body explain what i need to  measure muscle activity? i have a 6210   so  i have to buy emg sensors  but   ,do i need amplifier for this signal ?   can i use amplifier that i use for strain gauge's? what elso on hardware side do i need?

  • Audio completely screwed up on my ipod, how can I fix this if I can?

    so, I find myself unable to hear out of the right side of any head phone set I try in the video ipod I have. I mean, this thing is only two years old (almost two, more like 1 and 3/4), but it seems to be failing pretty hard. What can I do to halt its

  • HT1918 ITunes & iCloud account change issue.

    My iTune and iCloud accounts are on 4 devices-2 mine and 2 my son's. He's now over 18 and would like a new account in his name. How should he do it without either of us losing previous purchases and data?