code: func NSBuildParentContext(el *etree.Element) (NSContext, error) {
  	parent := el.Parent()
  	if parent == nil {
  		return DefaultNSContext, nil
  	}
  
  	ctx, err := NSBuildParentContext(parent)
  
  	if err != nil {
  		return ctx, err
  	}
  
  	return ctx.SubContext(parent)
  }
docs: // NSBuildParentContext recurses upward from an element in order to build an NSContext
  // for its immediate parent. If the element has no parent DefaultNSContext
  // is returned.