You can also use the Web Logic XML Streaming API to parse your XML documents.The Streaming API is based on the SAX API, but provides a more procedural, stream-based handling of XML documents rather than having to write SAX event handlers, which can get complicated when dealing with complex XML documents. Is there an XSLT processor included in Web Logic Server 8.1? Yes, the one that ships in the JDK 1.4.1_02: Apache's Xalan 2.2D11. Using these methods in a Servlet, however, is a Web Logic-specific feature.This is the built-in XSLT processor for Web Logic Server 8.1. The built-in XML parser is based on Apache's Xerces 2.1.0. To upgrade to version 2.2.0, 2.3.0, or 2.4.0 of Apache's Xerces, follow these steps: Endorsed Standards Override Mechanism. This means that the Servlet may not be fully portable to other Servlet engines, so use the feature with caution. How do I identify the document type of an XML document? If the XML document has a Public ID, then that is its document type.

xerces non validating-36

E [Xerces] cos-nonambig: List and List (or elements from their substitution group) violate "Unique Particle Attribution".

During validation against this schema, ambiguity would be created for those two when a parser will encounter C as the first element it will not be able to match that against only one particle because both C will from your model will match it so the model is ambiguous.

You can write that in non ambiguous way as below: As you can see these rewrites are not always easy in in some cases it is impossible to obtain a non ambiguous schema.

You can disable this check from the o Xygen options [1] but that will not solve anything with the schema, only that you will not see these errors.[1]Options -You may want to review also Tim Bray comments on this basically the spec says that if ambiguous content models are created some parsers may report an error.

Web Logic Server itself uses this transformer when processing Web Service attachments and for the JSP XSLT tag library. What version of the JAXP API specification is implemented in Web Logic Server 8.1? Note: The System ID is of the DTD, not of the XML document itself.

It can, however, still be used as a way to identify the XML document. The problem might have to do with Ant classloading.If the XML document does not specify a DOCTYPE declaration, then the document type can be either the root element name or the namespace URI, if it has one. I get a exception when I use Ant to run a client application that uses the Web Logic JAXP implementation. The workaround is to fork the VM by setting the [java] Linkage Error: loader constraints violated when linking org /xml/sax/Input Source class [java] at jaxp.As an alternative you may want to explore also Relax NGSchematronor maybe XML Schema 1.1Relax NG allows ambiguous content and you can express that content model directly.Schematron can be used in addition to XML Schema and you can have a simple model in the XML Schema that will say (A | B | C)+ and add a Schematron rule that asserts that both A and B are not present, otherwise it will fail rising an error.XML Schema 1.1 adds some features of Schematron and you can have assertions directly in XML Schema 1.1.