/**
  * Starts parsing.
  *
  * @param attrs the attributes.
  * @throws org.xml.sax.SAXException if there is a parsing error.
  */
 public void startParsing(final PropertyAttributes attrs) throws SAXException {
   super.startParsing(attrs);
   propertyType =
       CompatibilityMapperUtil.mapClassName(
           attrs.getValue(getUri(), ExpressionPropertyReadHandler.CLASS_ATT));
   propertyName = attrs.getValue(getUri(), ExpressionPropertyReadHandler.NAME_ATT);
   if (propertyName == null) {
     throw new ParseException("Required attribute 'name' is null.", getLocator());
   }
 }
  /**
   * Starts parsing.
   *
   * @param atts the attributes.
   * @throws org.xml.sax.SAXException if there is a parsing error.
   */
  protected void startParsing(final PropertyAttributes atts) throws SAXException {
    super.startParsing(atts);

    final String fieldName = atts.getValue(getUri(), "fieldname");
    if (fieldName != null) {
      elementFactory.setFieldname(fieldName);
    } else {
      final String formula = atts.getValue(getUri(), "formula");
      if (formula == null) {
        throw new ParseException(
            "Either 'fieldname' or 'formula' attribute must be given.", getLocator());
      }
      elementFactory.setFormula(formula);
    }
  }
 /**
  * Returns the handler for a child element.
  *
  * @param tagName the tag name.
  * @return the handler or null, if the tagname is invalid.
  * @throws org.xml.sax.SAXException if there is a parsing error.
  */
 protected XmlReadHandler getHandlerForChild(
     final String uri, final String tagName, final PropertyAttributes attrs) throws SAXException {
   if (isSameNamespace(uri) == false) {
     return null;
   }
   if ("property".equals(tagName)) {
     final String propertyName = attrs.getValue(getUri(), ExpressionPropertyReadHandler.NAME_ATT);
     return createReadHandler(propertyName);
   }
   return null;
 }
 /**
  * Starts parsing.
  *
  * @param atts the attributes.
  * @throws org.xml.sax.SAXException if there is a parsing error.
  */
 protected void startParsing(final PropertyAttributes atts) throws SAXException {
   super.startParsing(atts);
   final ResourceFieldElementFactory elementFactory =
       (ResourceFieldElementFactory) getElementFactory();
   elementFactory.setResourceBase(atts.getValue(getUri(), "resource-base"));
 }