You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by er...@locus.apache.org on 2000/06/27 00:49:02 UTC

cvs commit: xml-xerces/java/src/org/apache/xerces/framework XMLDocumentScanner.java XMLDTDScanner.java

ericye      00/06/26 15:48:59

  Modified:    java/src/org/apache/xerces/framework XMLDocumentScanner.java
                        XMLDTDScanner.java
  Log:
  1. set XMLDTDScanner's fNamespacesEnbled flag.
  2. bind the prefix "xml" since it is the only known(predefined) NS .
  
  -- ericye
  
  Revision  Changes    Path
  1.6       +2 -1      xml-xerces/java/src/org/apache/xerces/framework/XMLDocumentScanner.java
  
  Index: XMLDocumentScanner.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/framework/XMLDocumentScanner.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XMLDocumentScanner.java	2000/05/26 18:59:03	1.5
  +++ XMLDocumentScanner.java	2000/06/26 22:48:57	1.6
  @@ -81,7 +81,7 @@
    * "connecting" that method to the corresponding method provided
    * by the XMLDTDScanner class.
    *
  - * @version $Id: XMLDocumentScanner.java,v 1.5 2000/05/26 18:59:03 andyc Exp $
  + * @version $Id: XMLDocumentScanner.java,v 1.6 2000/06/26 22:48:57 ericye Exp $
    */
   public final class XMLDocumentScanner {
       //
  @@ -2166,6 +2166,7 @@
           if (fDTDScanner == null) {
               fDTDScanner = new XMLDTDScanner(fStringPool, fErrorReporter, fEntityHandler, new ChunkyCharArray(fStringPool));
               fDTDScanner.setValidationEnabled(fValidationEnabled);
  +            fDTDScanner.setNamespacesEnabled(fNamespacesEnabled);
           }
           else {
               fDTDScanner.reset(fStringPool, new ChunkyCharArray(fStringPool));
  
  
  
  1.10      +31 -3     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.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- XMLDTDScanner.java	2000/05/26 18:59:00	1.9
  +++ XMLDTDScanner.java	2000/06/26 22:48:58	1.10
  @@ -90,7 +90,7 @@
    * </ol>
    *
    * @see XMLDTDScanner.EventHandler
  - * @version $Id: XMLDTDScanner.java,v 1.9 2000/05/26 18:59:00 andyc Exp $
  + * @version $Id: XMLDTDScanner.java,v 1.10 2000/06/26 22:48:58 ericye Exp $
    */
   public final class XMLDTDScanner {
       //
  @@ -214,6 +214,8 @@
       private int fDefaultAttValueMark = -1;
       private int fEntityValueReader = -1;
       private int fEntityValueMark = -1;
  +    private int fXMLSymbol = -1;
  +    private int fXMLNamespace = -1;
       private int fXMLSpace = -1;
       private int fDefault = -1;
       private int fPreserve = -1;
  @@ -252,6 +254,11 @@
           fGrammarResolver = resolver;
       }
   
  +    /** set fNamespacesEnabled  **/
  +    public void setNamespacesEnabled(boolean enabled) {
  +        fNamespacesEnabled = enabled;
  +    }
  +    
       /** set fValidationEnabled  **/
       public void setValidationEnabled(boolean enabled) {
           fValidationEnabled = enabled;
  @@ -346,6 +353,9 @@
           init();
       }
       private void init() {
  +        fXMLSymbol = fStringPool.addSymbol("xml");
  +        fXMLNamespace = fStringPool.addSymbol("http://www.w3.org/XML/1998/namespace");
  +
           fXMLSpace = fStringPool.addSymbol("xml:space");
           fDefault = fStringPool.addSymbol("default");
           fPreserve = fStringPool.addSymbol("preserve");
  @@ -2134,8 +2144,19 @@
                       attDefDefaultType = XMLAttributeDecl.DEFAULT_TYPE_FIXED;
                   } else
                       attDefDefaultType = XMLAttributeDecl.DEFAULT_TYPE_DEFAULT;
  -                fElementQName.setValues(-1, elementTypeIndex, elementTypeIndex);
  -                fAttributeQName.setValues(-1, attDefName, attDefName);
  +
  +                //fElementQName.setValues(-1, elementTypeIndex, elementTypeIndex);
  +
  +                // if attribute name has a prefix "xml", bind it to the XML Namespace.
  +                // since this is the only pre-defined namespace.
  +                /***
  +                if (fAttributeQName.prefix == fXMLSymbol) {
  +                    fAttributeQName.uri = fXMLNamespace;
  +                }
  +                else 
  +                    fAttributeQName.setValues(-1, attDefName, attDefName);
  +                ****/
  +
                   attDefDefaultValue = scanDefaultAttValue(fElementQName, fAttributeQName, 
                                                            attDefType, 
                                                            attDefEnumeration);
  @@ -2169,6 +2190,13 @@
                   }
               }
               sawSpace = checkForPEReference(true);
  +            
  +            // if attribute name has a prefix "xml", bind it to the XML Namespace.
  +            // since this is the only pre-defined namespace.
  +            if (fAttributeQName.prefix == fXMLSymbol) {
  +                fAttributeQName.uri = fXMLNamespace;
  +            }
  +            
               if (fEntityReader.lookingAtChar('>', true)) {
                   int attDefIndex = addAttDef(fElementQName, fAttributeQName, 
                                                           attDefType, attDefList, attDefEnumeration,