docs: protected static String validateAttribute(Element element, String attributeName, String requiredValue)
      throws CmsXmlException {
  
          Attribute attribute = element.attribute(attributeName);
          if (attribute == null) {
              throw new CmsXmlException(
                  Messages.get().container(Messages.ERR_EL_MISSING_ATTRIBUTE_2, element.getUniquePath(), attributeName));
          }
          String value = attribute.getValue();
  
          if (requiredValue == null) {
              if (CmsStringUtil.isEmptyOrWhitespaceOnly(value) || !value.equals(value.trim())) {
                  throw new CmsXmlException(
                      Messages.get().container(
                          Messages.ERR_EL_BAD_ATTRIBUTE_WS_3,
                          element.getUniquePath(),
                          attributeName,
                          value));
              }
          } else {
              if (!requiredValue.equals(value)) {
                  throw new CmsXmlException(
                      Messages.get().container(
                          Messages.ERR_EL_BAD_ATTRIBUTE_VALUE_4,
                          new Object[] {element.getUniquePath(), attributeName, requiredValue, value}));
              }
          }
          return value;
      }