28 lines
		
	
	
		
			870 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			870 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package atom
 | |
| 
 | |
| import (
 | |
| 	"encoding/xml"
 | |
| )
 | |
| 
 | |
| type CommonAttributes struct {
 | |
| 	Base                IRI         `xml:"base,attr,omitempty"`
 | |
| 	Lang                LanguageTag `xml:"lang,attr,omitempty"`
 | |
| 	UndefinedAttributes []*xml.Attr `xml:",attr,omitempty"`
 | |
| }
 | |
| 
 | |
| // NewCommonAttributes creates a new set of CommonAttributes. It returns a
 | |
| // *CommonAttributes.
 | |
| func NewCommonAttributes() *CommonAttributes {
 | |
| 	return new(CommonAttributes)
 | |
| }
 | |
| 
 | |
| // AddExtensionAttribute adds the ExtensionAttribute to the CommonAttributes.
 | |
| func (c *CommonAttributes) AddExtensionAttribute(name, value string) {
 | |
| 	if c.UndefinedAttributes == nil {
 | |
| 		c.UndefinedAttributes = make([]*xml.Attr, 1)
 | |
| 		c.UndefinedAttributes[0] = &xml.Attr{Name: xml.Name{Local: name}, Value: value}
 | |
| 	} else {
 | |
| 		c.UndefinedAttributes = append(c.UndefinedAttributes, &xml.Attr{Name: xml.Name{Local: name}, Value: value})
 | |
| 	}
 | |
| }
 |