code: protected void initDefaultValues(Element root, CmsXmlContentDefinition contentDefinition) throws CmsXmlException {
  
          Iterator<Element> i = CmsXmlGenericWrapper.elementIterator(root, APPINFO_DEFAULT);
          while (i.hasNext()) {
              // iterate all "default" elements in the "defaults" node
              Element element = i.next();
              String elementName = element.attributeValue(APPINFO_ATTR_ELEMENT);
              String defaultValue = element.attributeValue(APPINFO_ATTR_VALUE);
              String resolveMacrosValue = element.attributeValue(APPINFO_ATTR_RESOLVE_MACROS);
              if ((elementName != null) && (defaultValue != null)) {
                  // add a default value mapping for the element
                  addDefault(contentDefinition, elementName, defaultValue, resolveMacrosValue);
              }
          }
      }
docs: Initializes the default values for this content handler.<p>
  
  Using the default values from the appinfo node, it's possible to have more
  sophisticated logic for generating the defaults then just using the XML schema "default"
  attribute.<p>
  
  @param root the "defaults" element from the appinfo node of the XML content definition
  @param contentDefinition the content definition the default values belong to
  @throws CmsXmlException if something goes wrong