code: private I_CmsXmlSchemaType getSchemaTypeRecusive(String elementPath) {
  
          String path = CmsXmlUtils.getFirstXpathElement(elementPath);
  
          I_CmsXmlSchemaType type = m_types.get(path);
          if (type == null) {
              // no node with the given path defined in schema
              return null;
          }
  
          // check if recursion is required to get value from a nested schema
          if (type.isSimpleType() || !CmsXmlUtils.isDeepXpath(elementPath)) {
              // no recursion required
              return type;
          }
  
          // recursion required since the path is an xpath and the type must be a nested content definition
          CmsXmlNestedContentDefinition nestedDefinition = (CmsXmlNestedContentDefinition)type;
          path = CmsXmlUtils.removeFirstXpathElement(elementPath);
          return nestedDefinition.getNestedContentDefinition().getSchemaType(path);
      }
docs: Calculates the schema type for the given element name by recursing into the schema structure.<p>
  
  @param elementPath the element xpath to look up the type for
  @return the type for the given element name, or <code>null</code> if no
  node is defined with this name