func insertCollation(builder *build.Builder, locale string, c *Collation) { t := builder.Tailoring(locale) for _, r := range c.Rules.Any { switch r.XMLName.Local { case "reset": if r.Before == "" { failOnError(t.SetAnchor(r.Value)) } else { failOnError(t.SetAnchorBefore(r.Value)) } case "x": var context, extend string for _, r1 := range r.Any { switch r1.XMLName.Local { case "context": context = r1.Value case "extend": extend = r1.Value } } for _, r1 := range r.Any { if t := r1.XMLName.Local; t == "context" || t == "extend" { continue } insertTailoring(t, r1, context, extend) } default: insertTailoring(t, r, "", "") } } }