示例#1
0
func (elm *Error) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.SetPrefix("stream", "http://etherx.jabber.org/streams"); err != nil {
		return err
	}
	if err = e.StartElement(NS, "error"); err != nil {
		return err
	}
	if elm.Text != nil {
		elm.Text.Encode(e, NS, "text")
	}
	if err = e.StartElement(NS, string(*elm.Condition.Name)); err != nil {
		return err
	}
	if elm.Condition.Name != nil {
	}
	if elm.Condition.Extra != nil {
		if err = e.Text(*elm.Condition.Extra); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#2
0
func (elm *Start) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.SetPrefix("stream", "http://etherx.jabber.org/streams"); err != nil {
		return err
	}
	if err = e.StartElement(NS, "stream"); err != nil {
		return err
	}
	if elm.To != nil {
		if err = e.Attribute("", "to", elm.To.String()); err != nil {
			return err
		}
	}
	if elm.From != nil {
		if err = e.Attribute("", "from", elm.From.String()); err != nil {
			return err
		}
	}
	if elm.Id != nil {
		if err = e.Attribute("", "id", *elm.Id); err != nil {
			return err
		}
	}
	if elm.Version != nil {
		if err = e.Attribute("", "version", *elm.Version); err != nil {
			return err
		}
	}
	if elm.Lang != nil {
		if err = e.Attribute("http://www.w3.org/XML/1998/namespace", "lang", string(*elm.Lang)); err != nil {
			return err
		}
	}
	return nil
}
示例#3
0
func (elm *Features) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.SetPrefix("stream", "http://etherx.jabber.org/streams"); err != nil {
		return err
	}
	if err = e.StartElement(NS, "features"); err != nil {
		return err
	}
	for _, x := range *elm {
		if err = x.(xmlencoder.Extension).Encode(e); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}