code: protected void initRelations(Element root, CmsXmlContentDefinition contentDefinition) throws CmsXmlException {
  
          Iterator<Element> i = CmsXmlGenericWrapper.elementIterator(root, APPINFO_RELATION);
          while (i.hasNext()) {
              // iterate all "checkrule" elements in the "checkrule" node
              Element element = i.next();
              String elementName = element.attributeValue(APPINFO_ATTR_ELEMENT);
              String invalidate = element.attributeValue(APPINFO_ATTR_INVALIDATE);
              if (invalidate != null) {
                  invalidate = invalidate.toUpperCase();
              }
              String type = element.attributeValue(APPINFO_ATTR_TYPE);
              if (type != null) {
                  type = type.toLowerCase();
              }
              if (elementName != null) {
                  // add a check rule for the element
                  addCheckRule(contentDefinition, elementName, invalidate, type);
              }
          }
      }
docs: Initializes the relation configuration for this content handler.<p>
  
  OpenCms performs link checks for all OPTIONAL links defined in XML content values of type
  OpenCmsVfsFile. However, for most projects in the real world a more fine-grained control
  over the link check process is required. For these cases, individual relation behavior can
  be defined for the appinfo node.<p>
  
  Additional here can be defined an optional type for the relations, for instance.<p>
  
  @param root the "relations" element from the appinfo node of the XML content definition
  @param contentDefinition the content definition the check rules belong to
  
  @throws CmsXmlException if something goes wrong