| <?xml version='1.0' encoding='UTF-8'?> |
| <!DOCTYPE faqs SYSTEM 'dtd/faqs.dtd'> |
| <faqs title='Using XInclude'> |
| |
| <faq title="Usage"> |
| <q>How do I enable XInclude processing?</q> |
| <a> |
| <p> |
| The simplest way to enable XInclude processing is to use a |
| <code>org.apache.xerces.parsers.XIncludeParserConfiguration</code> as your |
| parser configuration. This configuration includes a DTD validator, a namespace |
| binder, and a Schema validator, in addition to a handler for XInclude. See |
| <link idref="faq-xni" anchor="override-default-config">this FAQ</link> for |
| instructions about how to change your parser configuration. |
| </p> |
| <p> |
| If <code>XIncludeParserConfiguration</code> doesn't meet your needs, then you'll |
| have to write your own parser configuration. Make sure that this configuration |
| includes a <code>org.apache.xerces.xinclude.XIncludeHandler</code>, and that the |
| property "http://apache.org/xml/properties/internal/namespace-context" is an instance of |
| <code>org.apache.xerces.xinclude.XIncludeNamespaceSupport</code>. It is strongly |
| recommended that the <code>XIncludeHandler</code> be placed in the pipeline |
| before the Schema validator, if there is one. PSVI information cannot be |
| guaranteed to be valid after XInclude processing. |
| </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> |
| The 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. |
| If this solution is really unappealing to you, voice your concerns on the |
| xerces-j-user mailing list. |
| </p> |
| </a> |
| </faq> |
| |
| <faq title="XML Base Support"> |
| <q>Does the Xerces 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 IURIs to compute the |
| <jump href="http://www.w3.org/TR/xinclude#include-location">include location</jump>. |
| Support for XML Base was added to the XInclude implementation in Xerces 2.6.0. |
| </p> |
| </a> |
| </faq> |
| |
| <faq title="Document Fragments"> |
| <q>Why doesn't including document fragments work?</q> |
| <a> |
| <p> |
| Currently, our implementation of XInclude is not fully complete, and we do |
| not support <jump href="http://www.w3.org/TR/xinclude/">XPointer</jump> |
| references. We hope that in the future we will have a |
| fully compliant XInclude processor that can handle this feature. |
| </p> |
| </a> |
| </faq> |
| |
| </faqs> |