func (this *Feed) GetVersionInfo(doc *xmlx.Document) (ftype string, fversion [2]int) { var node *xmlx.Node if node = doc.SelectNode("http://www.w3.org/2005/Atom", "feed"); node == nil { goto rss } ftype = "atom" fversion = [2]int{1, 0} return rss: if node = doc.SelectNode("", "rss"); node != nil { ftype = "rss" version := node.As("", "version") p := strings.Index(version, ".") major, _ := strconv.Atoi(version[0:p]) minor, _ := strconv.Atoi(version[p+1 : len(version)]) fversion = [2]int{major, minor} return } // issue#5: Some documents have an RDF root node instead of rss. if node = doc.SelectNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#", "RDF"); node != nil { ftype = "rss" fversion = [2]int{1, 1} return } ftype = "unknown" fversion = [2]int{0, 0} return }