You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by je...@locus.apache.org on 2000/06/30 23:47:00 UTC
cvs commit: xml-xerces/java/src/org/apache/xerces/framework XMLDTDScanner.java
jeffreyr 00/06/30 14:46:55
Modified: java/src/org/apache/xerces/framework XMLDTDScanner.java
Log:
This fixes a problem with parameterizes entities such as:
as the one found when we have in a dtd such thing as:
<!ENTITY % FOOBAR
"'foofoo'" >
<!NOTATION test SYSTEM "">
<!ENTITY bar SYSTEM %FOOBAR; NDATA test >
<!ELEMENT FOO (BAR?)>
<!ELEMENT BAR (MOCHA*)>
<!ELEMENT FOOFOO (#PCDATA)>
This bug also cause the parsing of a Schema containing a reference
to the structures or datatype dtd to fail with the following
message:
org.xml.sax.SAXException: Stopping after fatal error: The system identifier
must begin with either a single or double quote character.
A Caveat is that the XMLDTDScanner code is very obscure and we may have more
surprises.
Revision Changes Path
1.11 +4 -1 xml-xerces/java/src/org/apache/xerces/framework/XMLDTDScanner.java
Index: XMLDTDScanner.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/framework/XMLDTDScanner.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- XMLDTDScanner.java 2000/06/26 22:48:58 1.10
+++ XMLDTDScanner.java 2000/06/30 21:46:51 1.11
@@ -90,7 +90,7 @@
* </ol>
*
* @see XMLDTDScanner.EventHandler
- * @version $Id: XMLDTDScanner.java,v 1.10 2000/06/26 22:48:58 ericye Exp $
+ * @version $Id: XMLDTDScanner.java,v 1.11 2000/06/30 21:46:51 jeffreyr Exp $
*/
public final class XMLDTDScanner {
//
@@ -1156,6 +1156,9 @@
return false;
}
fEntityReader.skipPastSpaces();
+ if( getReadingExternalEntity() == true ) { //Are we in external subset?
+ checkForPEReference(false);//If so Check for PE Ref
+ }
return scanSystemLiteral();
}
if (fEntityReader.skippedString(public_string)) {