You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by sa...@apache.org on 2001/07/05 16:53:05 UTC
cvs commit: xml-xerces/java/src/org/apache/xerces/validators/common XMLValidator.java
sandygao 01/07/05 07:53:05
Modified: java/src/org/apache/xerces/validators/common
XMLValidator.java
Log:
fixing bug [2318]: corrected the error message
Revision Changes Path
1.173 +51 -7 xml-xerces/java/src/org/apache/xerces/validators/common/XMLValidator.java
Index: XMLValidator.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/common/XMLValidator.java,v
retrieving revision 1.172
retrieving revision 1.173
diff -u -r1.172 -r1.173
--- XMLValidator.java 2001/06/28 22:34:47 1.172
+++ XMLValidator.java 2001/07/05 14:53:04 1.173
@@ -125,7 +125,7 @@
/**
* This class is the super all-in-one validator used by the parser.
*
- * @version $Id: XMLValidator.java,v 1.172 2001/06/28 22:34:47 sandygao Exp $
+ * @version $Id: XMLValidator.java,v 1.173 2001/07/05 14:53:04 sandygao Exp $
*/
public final class XMLValidator
implements DefaultEntityHandler.EventHandler,
@@ -1161,7 +1161,20 @@
validateElementAndAttributes(element, fAttrList);
if (fAttrListHandle != -1) {
- fAttrList.endAttrList();
+ //fAttrList.endAttrList();
+ int dupAttrs[];
+ if ((dupAttrs = fAttrList.endAttrList()) != null) {
+ Object[] args = {fStringPool.toString(element.rawname), null};
+ for (int i = 0; i < dupAttrs.length; i++) {
+ args[1] = fStringPool.toString(dupAttrs[i]);
+ fErrorReporter.reportError(fErrorReporter.getLocator(),
+ XMLMessages.XMLNS_DOMAIN,
+ XMLMessages.MSG_ATTRIBUTE_NOT_UNIQUE,
+ XMLMessages.WFC_UNIQUE_ATT_SPEC,
+ args,
+ XMLErrorReporter.ERRORTYPE_RECOVERABLE_ERROR);
+ }
+ }
}
// activate identity constraints
@@ -3013,7 +3026,20 @@
fCurrentContentSpecType = -1;
fInElementContent = false;
if (fAttrListHandle != -1) {
- fAttrList.endAttrList();
+ //fAttrList.endAttrList();
+ int dupAttrs[];
+ if ((dupAttrs = fAttrList.endAttrList()) != null) {
+ Object[] args = {fStringPool.toString(element.rawname), null};
+ for (int i = 0; i < dupAttrs.length; i++) {
+ args[1] = fStringPool.toString(dupAttrs[i]);
+ fErrorReporter.reportError(fErrorReporter.getLocator(),
+ XMLMessages.XMLNS_DOMAIN,
+ XMLMessages.MSG_ATTRIBUTE_NOT_UNIQUE,
+ XMLMessages.WFC_UNIQUE_ATT_SPEC,
+ args,
+ XMLErrorReporter.ERRORTYPE_RECOVERABLE_ERROR);
+ }
+ }
int index = fAttrList.getFirstAttr(fAttrListHandle);
while (index != -1) {
if (fStringPool.equalNames(fAttrList.getAttrName(index), fXMLLang)) {
@@ -3499,7 +3525,20 @@
fAttrListHandle = addDefaultAttributes(elementIndex, attrList, fAttrListHandle, fValidating, fStandaloneReader != -1);
}
if (fAttrListHandle != -1) {
- fAttrList.endAttrList();
+ //fAttrList.endAttrList();
+ int dupAttrs[];
+ if ((dupAttrs = fAttrList.endAttrList()) != null) {
+ Object[] args = {fStringPool.toString(element.rawname), null};
+ for (int i = 0; i < dupAttrs.length; i++) {
+ args[1] = fStringPool.toString(dupAttrs[i]);
+ fErrorReporter.reportError(fErrorReporter.getLocator(),
+ XMLMessages.XMLNS_DOMAIN,
+ XMLMessages.MSG_ATTRIBUTE_NOT_UNIQUE,
+ XMLMessages.WFC_UNIQUE_ATT_SPEC,
+ args,
+ XMLErrorReporter.ERRORTYPE_RECOVERABLE_ERROR);
+ }
+ }
}
if (DEBUG_PRINT_ATTRIBUTES) {
@@ -3849,9 +3888,14 @@
fValID.validate( value, fIdDefs );
fValIDRef.validate( value, this.fValidateIDRef ); //just in case we called id after IDREF
} catch ( InvalidDatatypeValueException ex ) {
- reportRecoverableXMLError(XMLMessages.MSG_ID_INVALID,
- XMLMessages.VC_ID,
- fStringPool.toString( attributeDecl.name.rawname), value );
+ int major = ex.getMajorCode(), minor = ex.getMinorCode();
+ if (major == -1) {
+ major = XMLMessages.MSG_ID_INVALID;
+ minor = XMLMessages.VC_ID;
+ }
+ reportRecoverableXMLError(major, minor,
+ fStringPool.toString( attributeDecl.name.rawname),
+ value );
}
if (fNormalizeAttributeValues && value != unTrimValue) {
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org