@Override
 protected void extractValidationRules(Element validationElement) {
   super.extractValidationRules(validationElement);
   String maxLength = this.extractValue(validationElement, "maxlength");
   if (null != maxLength) {
     this.setMaxLength(Integer.parseInt(maxLength));
   }
   String minLength = this.extractValue(validationElement, "minlength");
   if (null != minLength) {
     this.setMinLength(Integer.parseInt(minLength));
   }
   String regexp = this.extractValue(validationElement, "regexp");
   if (null != regexp && regexp.trim().length() > 0) {
     this.setRegexp(regexp);
   }
   Element valueElement = validationElement.getChild("value");
   if (null != valueElement) {
     this.setValue(valueElement.getText());
     this.setValueAttribute(valueElement.getAttributeValue("attribute"));
   }
   Element rangeStartElement = validationElement.getChild("rangestart");
   if (null != rangeStartElement) {
     this.setRangeStart(rangeStartElement.getText());
     this.setRangeStartAttribute(rangeStartElement.getAttributeValue("attribute"));
   }
   Element rangeEndElement = validationElement.getChild("rangeend");
   if (null != rangeEndElement) {
     this.setRangeEnd(rangeEndElement.getText());
     this.setRangeEndAttribute(rangeEndElement.getAttributeValue("attribute"));
   }
 }
 protected void extractValidationRules(Element validationElement) {
   super.extractValidationRules(validationElement);
   Element valueElement = validationElement.getChild("value");
   if (null != valueElement) {
     this.setValue(DateConverter.parseDate(valueElement.getText(), DATE_PATTERN));
     this.setValueAttribute(valueElement.getAttributeValue("attribute"));
   }
   Element rangeStartElement = validationElement.getChild("rangestart");
   if (null != rangeStartElement) {
     this.setRangeStart(DateConverter.parseDate(rangeStartElement.getText(), DATE_PATTERN));
     this.setRangeStartAttribute(rangeStartElement.getAttributeValue("attribute"));
   }
   Element rangeEndElement = validationElement.getChild("rangeend");
   if (null != rangeEndElement) {
     this.setRangeEnd(DateConverter.parseDate(rangeEndElement.getText(), DATE_PATTERN));
     this.setRangeEndAttribute(rangeEndElement.getAttributeValue("attribute"));
   }
 }
 @Override
 protected void extractValidationRules(Element validationElement) {
   super.extractValidationRules(validationElement);
   Element valueElement = validationElement.getChild("value");
   if (null != valueElement) {
     this.setValue(this.getIntegerValue(valueElement.getText()));
     this.setValueAttribute(valueElement.getAttributeValue("attribute"));
   }
   Element rangeStartElement = validationElement.getChild("rangestart");
   if (null != rangeStartElement) {
     this.setRangeStart(this.getIntegerValue(rangeStartElement.getText()));
     this.setRangeStartAttribute(rangeStartElement.getAttributeValue("attribute"));
   }
   Element rangeEndElement = validationElement.getChild("rangeend");
   if (null != rangeEndElement) {
     this.setRangeEnd(this.getIntegerValue(rangeEndElement.getText()));
     this.setRangeEndAttribute(rangeEndElement.getAttributeValue("attribute"));
   }
 }