code: protected String getRequiredAttributeValue(StartElement start,
                                                 QName attributeName)
              throws JournalException {
          Attribute mapNameAttribute = start.getAttributeByName(attributeName);
          if (mapNameAttribute == null) {
              throw new JournalException("Start tag '" + start
                      + "' must contain a '" + attributeName + "' attribute.");
          }
          return mapNameAttribute.getValue();
      }
docs: Get the value of a given attribute from this start tag, or complain if
  it's not there.