You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ne...@apache.org on 2003/06/05 23:51:33 UTC

cvs commit: xml-xerces/java/src/org/apache/xerces/impl/dtd XMLDTDValidator.java

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: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org