mrglavas    2004/01/05 13:54:28

  Modified:    java/src/org/apache/xerces/impl
                        XMLDocumentFragmentScannerImpl.java
  Log:
  Fixing an edge case. We should reject PIs at the start of an entity
  whose targets are of the form 'xml:foo' when namespace support
  is enabled.
  
  Revision  Changes    Path
  1.42      +11 -4     
xml-xerces/java/src/org/apache/xerces/impl/XMLDocumentFragmentScannerImpl.java
  
  Index: XMLDocumentFragmentScannerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/XMLDocumentFragmentScannerImpl.java,v
  retrieving revision 1.41
  retrieving revision 1.42
  diff -u -r1.41 -r1.42
  --- XMLDocumentFragmentScannerImpl.java       16 Dec 2003 21:37:10 -0000      1.41
  +++ XMLDocumentFragmentScannerImpl.java       5 Jan 2004 21:54:28 -0000       1.42
  @@ -2,7 +2,7 @@
    * The Apache Software License, Version 1.1
    *
    *
  - * Copyright (c) 1999-2002 The Apache Software Foundation.  
  + * Copyright (c) 1999-2004 The Apache Software Foundation.  
    * All rights reserved.
    *
    * Redistribution and use in source and binary forms, with or without
  @@ -1605,8 +1605,15 @@
                                   if (isValidNameChar(fEntityScanner.peekChar())) {
                                       fStringBuffer.clear();
                                       fStringBuffer.append("xml");
  -                                    while 
(isValidNameChar(fEntityScanner.peekChar())) {
  -                                        
fStringBuffer.append((char)fEntityScanner.scanChar());
  +                                    if (fNamespaces) {
  +                                        while 
(isValidNCName(fEntityScanner.peekChar())) {
  +                                            
fStringBuffer.append((char)fEntityScanner.scanChar());
  +                                        }
  +                                    }
  +                                    else {
  +                                        while 
(isValidNameChar(fEntityScanner.peekChar())) {
  +                                            
fStringBuffer.append((char)fEntityScanner.scanChar());
  +                                        }
                                       }
                                       String target = 
fSymbolTable.addSymbol(fStringBuffer.ch, fStringBuffer.offset, fStringBuffer.length);
                                       scanPIData(target, fTempString);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to