code: func (s *parentStack) push(parents []string) error {
  	for i := 0; i < len(parents); i++ {
  		if err := s.p.writeStart(&StartElement{Name: Name{Local: parents[i]}}); err != nil {
  			return err
  		}
  	}
  	s.stack = append(s.stack, parents...)
  	return nil
  }
docs: // push adds parent elements to the stack and writes open tags.