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