
xerces-2_12_0.docs.faq-xinclude.xml Maven / Gradle / Ivy
Go to download
Xerces2 is the next generation of high performance, fully compliant XML parsers in the Apache Xerces family. This new version of Xerces introduces the Xerces Native Interface (XNI), a complete framework for building parser components and configurations that is extremely modular and easy to program.
The Apache Xerces2 parser is the reference implementation of XNI but other parser components, configurations, and parsers can be written using the Xerces Native Interface. For complete design and implementation documents, refer to the XNI Manual.
Xerces2 is a fully conforming XML Schema 1.0 processor. A partial experimental implementation of the XML Schema 1.1 Structures and Datatypes Working Drafts (December 2009) and an experimental implementation of the XML Schema Definition Language (XSD): Component Designators (SCD) Candidate Recommendation (January 2010) are provided for evaluation. For more information, refer to the XML Schema page.
Xerces2 also provides a complete implementation of the Document Object Model Level 3 Core and Load/Save W3C Recommendations and provides a complete implementation of the XML Inclusions (XInclude) W3C Recommendation. It also provides support for OASIS XML Catalogs v1.1.
Xerces2 is able to parse documents written according to the XML 1.1 Recommendation, except that it does not yet provide an option to enable normalization checking as described in section 2.13 of this specification. It also handles namespaces according to the XML Namespaces 1.1 Recommendation, and will correctly serialize XML 1.1 documents if the DOM level 3 load/save APIs are in use.
The newest version!
<?xml version='1.0' encoding='UTF-8'?> <!-- * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. --> <!DOCTYPE faqs SYSTEM 'dtd/faqs.dtd'> <faqs title='Using XInclude'> <faq title="Usage"> <q>How do I enable XInclude processing?</q> <a> <p> Applications using JAXP 1.3 (and above) can enable XInclude processing by setting XInclude awareness on the parser factory. The following demonstrates how to accomplish this with SAX: </p> <source>import javax.xml.parsers.SAXParserFactory; SAXParserFactory spf = SAXParserFactory.newInstance(); spf.setNamespaceAware(true); spf.setXIncludeAware(true); ... </source> <p> You can also enable XInclude processing by turning on the <link idref='features' anchor="xinclude">XInclude feature</link>. </p> </a> </faq> <faq title="XInclude and validation"> <q>How do the validation features interact with XInclude processing?</q> <a> <p> If the <link idref='features' anchor="validation">validation feature</link> is turned on then DTD validation will be performed on each source document (to the XInclude processor) against their respective DTDs. </p> <p> If both the <link idref='features' anchor="validation">validation feature</link> and the <link idref='features' anchor="validation.schema">schema validation feature</link> are turned on then schema validation will be performed on the result infoset generated by the XInclude processor. DTD validation will be performed on each source document which contains a DTD. No DTD validation errors will be reported for source documents which have no DTD. </p> </a> </faq> <faq title="xml:base attributes and XML Schema validation"> <q>Why are xml:base attributes added, which make Schema validation fail?</q> <a> <p> According to the specification for XInclude, processors must add an <code>xml:base</code> attribute to elements included from locations with a different base URI. Without these attributes, the resulting infoset information would be incorrect. Unfortunately, these attributes make XInclude processing not transparent to Schema validation. </p> <p> One solution to this is to modify your schema to allow <code>xml:base</code> attributes to appear on elements that might be included from different base URIs. There is a similar problem with <code>xml:lang</code> attributes that are added as a result of language fixup. If the addition of <code>xml:base</code> and/or <code>xml:lang</code> is undesired by your application, you can disable <link idref='features' anchor='xinclude.fixup-base-uris'>base URI fixup</link> and <link idref='features' anchor='xinclude.fixup-language'>language fixup</link> so that these attributes will not be added. </p> </a> </faq> <faq title="XML Base Support"> <q>Does the XInclude processor recognize xml:base attributes?</q> <a> <p> Yes. The XInclude specification requires processors to use the base URI (as specified in the <jump href="http://www.w3.org/TR/xmlbase/">XML Base</jump> recommendation) to resolve relative IRIs to compute the <jump href="http://www.w3.org/TR/2006/REC-xinclude-20061115/#include-location">include location</jump>. Support for XML Base was added to the XInclude implementation in Xerces-J 2.6.0. </p> </a> </faq> <faq title="Language Fixup"> <q>Does the XInclude processor perform language fixup?</q> <a> <p> Yes. The XInclude processor will preserve language information on a top-level included element by adding an <code>xml:lang</code> attribute if its include parent has a different [language] property. Support for language fixup was added to the XInclude implementation in Xerces-J 2.7.0. </p> </a> </faq> <faq title="References Property Fixup"> <q>Does the XInclude processor perform references property fixup?</q> <a> <p> Section <jump href="http://www.w3.org/TR/2006/REC-xinclude-20061115/#references-property">4.5.3</jump> of the XInclude 1.0 W3C Recommendation describes fixup of the [references] property of an attribute information item. For IDREF/IDREFS the property contains an ordered list of element information items. Xerces provides no mechanism for accessing this property nor does it keep an internal representation. It should be noted that neither the SAX or DOM APIs have native support for the [references] property. For Xerces, references property fixup is a no-op. </p> </a> </faq> <faq title="Document Fragments"> <q>Does the XInclude processor support XPointer?</q> <a> <p> Yes. The XInclude processor supports the <jump href="http://www.w3.org/TR/2003/REC-xptr-framework-20030325/">XPointer Framework</jump> and the <jump href="http://www.w3.org/TR/2003/REC-xptr-element-20030325/">XPointer element() Scheme</jump>. The XPointer xpointer() Scheme is currently not supported. </p> </a> </faq> <faq title="XPointer and IDs"> <q>What types of IDs are currently supported for XPointers?</q> <a> <p> For shorthand pointers and element() XPointers, currently only <jump href="http://www.w3.org/TR/xptr-framework/#term-ddi">DTD-determined ID</jump>s are supported. <jump href="http://www.w3.org/TR/xptr-framework/#term-sdi">schema-determined ID</jump>s may be supported in a future release. </p> </a> </faq> <faq title="Content Negotiation"> <q>Are the values of the content negotiation attributes used in an HTTP request?</q> <a> <p> Yes, the values of the <code>accept</code> and <code>accept-language</code> attributes from an <jump href="http://www.w3.org/TR/2006/REC-xinclude-20061115/#include_element">include</jump> element are included as request properties in an HTTP request. Support for content negotiation when parse="xml" was added to the XInclude implementation in Xerces-J 2.7.0. </p> </a> </faq> <faq title="The Namespace: 'http://www.w3.org/2003/XInclude'"> <q>Will the XInclude processor process include elements from the 'http://www.w3.org/2003/XInclude' namespace?</q> <a> <p> No. The namespace for XInclude was changed back to <code>http://www.w3.org/2001/XInclude</code> in the <jump href="http://www.w3.org/TR/2004/CR-xinclude-20040413/">Candidate Recommendation (April 2004)</jump>. The <code>http://www.w3.org/2003/XInclude</code> namespace is no longer recognized. </p> </a> </faq> </faqs>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy