mrglavas 2004/07/19 21:07:17 Modified: java/src/org/apache/xerces/xinclude XIncludeHandler.java Log: Applying a few bug fixes.
An xi:include element must not contain any elements from the XInclude namespace other than xi:fallback. An xi:fallback element must not contain any elements from the XInclude namespace other than xi:include. Revision Changes Path 1.29 +30 -1 xml-xerces/java/src/org/apache/xerces/xinclude/XIncludeHandler.java Index: XIncludeHandler.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/xinclude/XIncludeHandler.java,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- XIncludeHandler.java 19 Jul 2004 02:22:50 -0000 1.28 +++ XIncludeHandler.java 20 Jul 2004 04:07:17 -0000 1.29 @@ -722,6 +722,24 @@ else if (isFallbackElement(element)) { this.handleFallbackElement(); } + else if (hasXIncludeNamespace(element)) { + if (getSawInclude(fDepth - 1)) { + reportFatalError( + "IncludeChild", + new Object[] { element.rawname }); + } + if (getSawFallback(fDepth - 1)) { + reportFatalError( + "FallbackChild", + new Object[] { element.rawname }); + } + if (fDocumentHandler != null + && getState() == STATE_NORMAL_PROCESSING) { + augs = modifyAugmentations(augs); + attributes = processAttributes(attributes); + fDocumentHandler.emptyElement(element, attributes, augs); + } + } else if ( fDocumentHandler != null && getState() == STATE_NORMAL_PROCESSING) { @@ -759,6 +777,17 @@ reportFatalError( "IncludeChild", new Object[] { element.rawname }); + } + if (getSawFallback(fDepth - 1)) { + reportFatalError( + "FallbackChild", + new Object[] { element.rawname }); + } + if (fDocumentHandler != null + && getState() == STATE_NORMAL_PROCESSING) { + augs = modifyAugmentations(augs); + attributes = processAttributes(attributes); + fDocumentHandler.emptyElement(element, attributes, augs); } } else if ( --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]