neilg       2003/06/05 14:51:33

  Modified:    java/src/org/apache/xerces/impl/dv/dtd
                        XML11IDDatatypeValidator.java
                        XML11IDREFDatatypeValidator.java
                        IDDatatypeValidator.java
                        IDREFDatatypeValidator.java
               java/src/org/apache/xerces/impl/dtd XMLDTDValidator.java
  Log:
  when namespaces are enabled, we will now honour the namespace-validity constraint 
that states that attributes of type ID/IDREF/IDREFS must be NCNames
  
  Revision  Changes    Path
  1.2       +10 -3     
xml-xerces/java/src/org/apache/xerces/impl/dv/dtd/XML11IDDatatypeValidator.java
  
  Index: XML11IDDatatypeValidator.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/dtd/XML11IDDatatypeValidator.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XML11IDDatatypeValidator.java     7 Dec 2002 00:20:55 -0000       1.1
  +++ XML11IDDatatypeValidator.java     5 Jun 2003 21:51:32 -0000       1.2
  @@ -101,8 +101,15 @@
       public void validate(String content, ValidationContext context) throws 
InvalidDatatypeValueException {
   
           //Check if is valid key-[81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*
  -        if (!XML11Char.isXML11ValidName(content)) {
  -            throw new InvalidDatatypeValueException("IDInvalid", new 
Object[]{content});
  +        if(context.useNamespaces()) {
  +            if (!XML11Char.isXML11ValidNCName(content)) {
  +                throw new InvalidDatatypeValueException("IDInvalidWithNamespaces", 
new Object[]{content});
  +            }
  +        }
  +        else {
  +            if (!XML11Char.isXML11ValidName(content)) {
  +                throw new InvalidDatatypeValueException("IDInvalid", new 
Object[]{content});
  +            }
           }
   
           if (context.isIdDeclared(content)) {
  
  
  
  1.2       +10 -3     
xml-xerces/java/src/org/apache/xerces/impl/dv/dtd/XML11IDREFDatatypeValidator.java
  
  Index: XML11IDREFDatatypeValidator.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/dtd/XML11IDREFDatatypeValidator.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XML11IDREFDatatypeValidator.java  7 Dec 2002 00:20:55 -0000       1.1
  +++ XML11IDREFDatatypeValidator.java  5 Jun 2003 21:51:32 -0000       1.2
  @@ -98,8 +98,15 @@
       public void validate(String content, ValidationContext context) throws 
InvalidDatatypeValueException {
   
           //Check if is valid key-[81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*
  -        if (!XML11Char.isXML11ValidName(content)) {
  -            throw new InvalidDatatypeValueException("IDREFInvalid", new 
Object[]{content});
  +        if(context.useNamespaces()) {
  +            if (!XML11Char.isXML11ValidNCName(content)) {
  +                throw new 
InvalidDatatypeValueException("IDREFInvalidWithNamespaces", new Object[]{content});
  +            }
  +        }
  +        else {
  +            if (!XML11Char.isXML11ValidName(content)) {
  +                throw new InvalidDatatypeValueException("IDREFInvalid", new 
Object[]{content});
  +            }
           }
   
           context.addIdRef(content);
  
  
  
  1.7       +10 -3     
xml-xerces/java/src/org/apache/xerces/impl/dv/dtd/IDDatatypeValidator.java
  
  Index: IDDatatypeValidator.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/dtd/IDDatatypeValidator.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- IDDatatypeValidator.java  18 Jul 2002 20:48:43 -0000      1.6
  +++ IDDatatypeValidator.java  5 Jun 2003 21:51:32 -0000       1.7
  @@ -99,8 +99,15 @@
       public void validate(String content, ValidationContext context) throws 
InvalidDatatypeValueException {
   
           //Check if is valid key-[81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*
  -        if (!XMLChar.isValidName(content)) {
  -            throw new InvalidDatatypeValueException("IDInvalid", new 
Object[]{content});
  +        if(context.useNamespaces()) {
  +            if (!XMLChar.isValidNCName(content)) {
  +                throw new InvalidDatatypeValueException("IDInvalidWithNamespaces", 
new Object[]{content});
  +            }
  +        }
  +        else {
  +            if (!XMLChar.isValidName(content)) {
  +                throw new InvalidDatatypeValueException("IDInvalid", new 
Object[]{content});
  +            }
           }
   
           if (context.isIdDeclared(content)) {
  
  
  
  1.7       +10 -3     
xml-xerces/java/src/org/apache/xerces/impl/dv/dtd/IDREFDatatypeValidator.java
  
  Index: IDREFDatatypeValidator.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/dtd/IDREFDatatypeValidator.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- IDREFDatatypeValidator.java       18 Jul 2002 20:48:43 -0000      1.6
  +++ IDREFDatatypeValidator.java       5 Jun 2003 21:51:32 -0000       1.7
  @@ -96,8 +96,15 @@
       public void validate(String content, ValidationContext context) throws 
InvalidDatatypeValueException {
   
           //Check if is valid key-[81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*
  -        if (!XMLChar.isValidName(content)) {
  -            throw new InvalidDatatypeValueException("IDREFInvalid", new 
Object[]{content});
  +        if(context.useNamespaces()) {
  +            if (!XMLChar.isValidNCName(content)) {
  +                throw new 
InvalidDatatypeValueException("IDREFInvalidWithNamespaces", new Object[]{content});
  +            }
  +        }
  +        else {
  +            if (!XMLChar.isValidName(content)) {
  +                throw new InvalidDatatypeValueException("IDREFInvalid", new 
Object[]{content});
  +            }
           }
   
           context.addIdRef(content);
  
  
  
  1.49      +2 -1      
xml-xerces/java/src/org/apache/xerces/impl/dtd/XMLDTDValidator.java
  
  Index: XMLDTDValidator.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dtd/XMLDTDValidator.java,v
  retrieving revision 1.48
  retrieving revision 1.49
  diff -u -r1.48 -r1.49
  --- XMLDTDValidator.java      30 Apr 2003 20:24:48 -0000      1.48
  +++ XMLDTDValidator.java      5 Jun 2003 21:51:32 -0000       1.49
  @@ -501,6 +501,7 @@
           fValidationManager= 
(ValidationManager)componentManager.getProperty(VALIDATION_MANAGER);
           fValidationManager.addValidationState(fValidationState);
           fValidationState.resetIDTables();
  +        fValidationState.setUsingNamespaces(fNamespaces);
           
           // get needed components
           fErrorReporter = 
(XMLErrorReporter)componentManager.getProperty(Constants.XERCES_PROPERTY_PREFIX+Constants.ERROR_REPORTER_PROPERTY);
  
  
  

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

Reply via email to