// Copyright 2017 Baliance. All rights reserved. // // DO NOT EDIT: generated by gooxml ECMA-376 generator // // Use of this source code is governed by the terms of the Affero GNU General // Public License version 3.0 as published by the Free Software Foundation and // appearing in the file LICENSE included in the packaging of this file. A // commercial license can be purchased by contacting sales@baliance.com. package vml import ( "encoding/xml" "fmt" "baliance.com/gooxml" ) type ST_Ext byte const ( ST_ExtUnset ST_Ext = 0 ST_ExtView ST_Ext = 1 ST_ExtEdit ST_Ext = 2 ST_ExtBackwardCompatible ST_Ext = 3 ) func (e ST_Ext) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case ST_ExtUnset: attr.Value = "" case ST_ExtView: attr.Value = "view" case ST_ExtEdit: attr.Value = "edit" case ST_ExtBackwardCompatible: attr.Value = "backwardCompatible" } return attr, nil } func (e *ST_Ext) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "view": *e = 1 case "edit": *e = 2 case "backwardCompatible": *e = 3 } return nil } func (m ST_Ext) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *ST_Ext) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "view": *m = 1 case "edit": *m = 2 case "backwardCompatible": *m = 3 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m ST_Ext) String() string { switch m { case 0: return "" case 1: return "view" case 2: return "edit" case 3: return "backwardCompatible" } return "" } func (m ST_Ext) Validate() error { return m.ValidateWithPath("") } func (m ST_Ext) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type ST_FillType byte const ( ST_FillTypeUnset ST_FillType = 0 ST_FillTypeSolid ST_FillType = 1 ST_FillTypeGradient ST_FillType = 2 ST_FillTypeGradientRadial ST_FillType = 3 ST_FillTypeTile ST_FillType = 4 ST_FillTypePattern ST_FillType = 5 ST_FillTypeFrame ST_FillType = 6 ) func (e ST_FillType) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case ST_FillTypeUnset: attr.Value = "" case ST_FillTypeSolid: attr.Value = "solid" case ST_FillTypeGradient: attr.Value = "gradient" case ST_FillTypeGradientRadial: attr.Value = "gradientRadial" case ST_FillTypeTile: attr.Value = "tile" case ST_FillTypePattern: attr.Value = "pattern" case ST_FillTypeFrame: attr.Value = "frame" } return attr, nil } func (e *ST_FillType) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "solid": *e = 1 case "gradient": *e = 2 case "gradientRadial": *e = 3 case "tile": *e = 4 case "pattern": *e = 5 case "frame": *e = 6 } return nil } func (m ST_FillType) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *ST_FillType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "solid": *m = 1 case "gradient": *m = 2 case "gradientRadial": *m = 3 case "tile": *m = 4 case "pattern": *m = 5 case "frame": *m = 6 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m ST_FillType) String() string { switch m { case 0: return "" case 1: return "solid" case 2: return "gradient" case 3: return "gradientRadial" case 4: return "tile" case 5: return "pattern" case 6: return "frame" } return "" } func (m ST_FillType) Validate() error { return m.ValidateWithPath("") } func (m ST_FillType) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3, 4, 5, 6: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type ST_FillMethod byte const ( ST_FillMethodUnset ST_FillMethod = 0 ST_FillMethodNone ST_FillMethod = 1 ST_FillMethodLinear ST_FillMethod = 2 ST_FillMethodSigma ST_FillMethod = 3 ST_FillMethodAny ST_FillMethod = 4 ST_FillMethodLinearSigma ST_FillMethod = 5 ) func (e ST_FillMethod) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case ST_FillMethodUnset: attr.Value = "" case ST_FillMethodNone: attr.Value = "none" case ST_FillMethodLinear: attr.Value = "linear" case ST_FillMethodSigma: attr.Value = "sigma" case ST_FillMethodAny: attr.Value = "any" case ST_FillMethodLinearSigma: attr.Value = "linear sigma" } return attr, nil } func (e *ST_FillMethod) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "none": *e = 1 case "linear": *e = 2 case "sigma": *e = 3 case "any": *e = 4 case "linear sigma": *e = 5 } return nil } func (m ST_FillMethod) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *ST_FillMethod) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "none": *m = 1 case "linear": *m = 2 case "sigma": *m = 3 case "any": *m = 4 case "linear sigma": *m = 5 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m ST_FillMethod) String() string { switch m { case 0: return "" case 1: return "none" case 2: return "linear" case 3: return "sigma" case 4: return "any" case 5: return "linear sigma" } return "" } func (m ST_FillMethod) Validate() error { return m.ValidateWithPath("") } func (m ST_FillMethod) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3, 4, 5: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type ST_ShadowType byte const ( ST_ShadowTypeUnset ST_ShadowType = 0 ST_ShadowTypeSingle ST_ShadowType = 1 ST_ShadowTypeDouble ST_ShadowType = 2 ST_ShadowTypeEmboss ST_ShadowType = 3 ST_ShadowTypePerspective ST_ShadowType = 4 ) func (e ST_ShadowType) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case ST_ShadowTypeUnset: attr.Value = "" case ST_ShadowTypeSingle: attr.Value = "single" case ST_ShadowTypeDouble: attr.Value = "double" case ST_ShadowTypeEmboss: attr.Value = "emboss" case ST_ShadowTypePerspective: attr.Value = "perspective" } return attr, nil } func (e *ST_ShadowType) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "single": *e = 1 case "double": *e = 2 case "emboss": *e = 3 case "perspective": *e = 4 } return nil } func (m ST_ShadowType) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *ST_ShadowType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "single": *m = 1 case "double": *m = 2 case "emboss": *m = 3 case "perspective": *m = 4 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m ST_ShadowType) String() string { switch m { case 0: return "" case 1: return "single" case 2: return "double" case 3: return "emboss" case 4: return "perspective" } return "" } func (m ST_ShadowType) Validate() error { return m.ValidateWithPath("") } func (m ST_ShadowType) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3, 4: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type ST_StrokeLineStyle byte const ( ST_StrokeLineStyleUnset ST_StrokeLineStyle = 0 ST_StrokeLineStyleSingle ST_StrokeLineStyle = 1 ST_StrokeLineStyleThinThin ST_StrokeLineStyle = 2 ST_StrokeLineStyleThinThick ST_StrokeLineStyle = 3 ST_StrokeLineStyleThickThin ST_StrokeLineStyle = 4 ST_StrokeLineStyleThickBetweenThin ST_StrokeLineStyle = 5 ) func (e ST_StrokeLineStyle) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case ST_StrokeLineStyleUnset: attr.Value = "" case ST_StrokeLineStyleSingle: attr.Value = "single" case ST_StrokeLineStyleThinThin: attr.Value = "thinThin" case ST_StrokeLineStyleThinThick: attr.Value = "thinThick" case ST_StrokeLineStyleThickThin: attr.Value = "thickThin" case ST_StrokeLineStyleThickBetweenThin: attr.Value = "thickBetweenThin" } return attr, nil } func (e *ST_StrokeLineStyle) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "single": *e = 1 case "thinThin": *e = 2 case "thinThick": *e = 3 case "thickThin": *e = 4 case "thickBetweenThin": *e = 5 } return nil } func (m ST_StrokeLineStyle) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *ST_StrokeLineStyle) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "single": *m = 1 case "thinThin": *m = 2 case "thinThick": *m = 3 case "thickThin": *m = 4 case "thickBetweenThin": *m = 5 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m ST_StrokeLineStyle) String() string { switch m { case 0: return "" case 1: return "single" case 2: return "thinThin" case 3: return "thinThick" case 4: return "thickThin" case 5: return "thickBetweenThin" } return "" } func (m ST_StrokeLineStyle) Validate() error { return m.ValidateWithPath("") } func (m ST_StrokeLineStyle) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3, 4, 5: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type ST_StrokeJoinStyle byte const ( ST_StrokeJoinStyleUnset ST_StrokeJoinStyle = 0 ST_StrokeJoinStyleRound ST_StrokeJoinStyle = 1 ST_StrokeJoinStyleBevel ST_StrokeJoinStyle = 2 ST_StrokeJoinStyleMiter ST_StrokeJoinStyle = 3 ) func (e ST_StrokeJoinStyle) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case ST_StrokeJoinStyleUnset: attr.Value = "" case ST_StrokeJoinStyleRound: attr.Value = "round" case ST_StrokeJoinStyleBevel: attr.Value = "bevel" case ST_StrokeJoinStyleMiter: attr.Value = "miter" } return attr, nil } func (e *ST_StrokeJoinStyle) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "round": *e = 1 case "bevel": *e = 2 case "miter": *e = 3 } return nil } func (m ST_StrokeJoinStyle) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *ST_StrokeJoinStyle) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "round": *m = 1 case "bevel": *m = 2 case "miter": *m = 3 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m ST_StrokeJoinStyle) String() string { switch m { case 0: return "" case 1: return "round" case 2: return "bevel" case 3: return "miter" } return "" } func (m ST_StrokeJoinStyle) Validate() error { return m.ValidateWithPath("") } func (m ST_StrokeJoinStyle) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type ST_StrokeEndCap byte const ( ST_StrokeEndCapUnset ST_StrokeEndCap = 0 ST_StrokeEndCapFlat ST_StrokeEndCap = 1 ST_StrokeEndCapSquare ST_StrokeEndCap = 2 ST_StrokeEndCapRound ST_StrokeEndCap = 3 ) func (e ST_StrokeEndCap) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case ST_StrokeEndCapUnset: attr.Value = "" case ST_StrokeEndCapFlat: attr.Value = "flat" case ST_StrokeEndCapSquare: attr.Value = "square" case ST_StrokeEndCapRound: attr.Value = "round" } return attr, nil } func (e *ST_StrokeEndCap) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "flat": *e = 1 case "square": *e = 2 case "round": *e = 3 } return nil } func (m ST_StrokeEndCap) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *ST_StrokeEndCap) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "flat": *m = 1 case "square": *m = 2 case "round": *m = 3 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m ST_StrokeEndCap) String() string { switch m { case 0: return "" case 1: return "flat" case 2: return "square" case 3: return "round" } return "" } func (m ST_StrokeEndCap) Validate() error { return m.ValidateWithPath("") } func (m ST_StrokeEndCap) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type ST_StrokeArrowLength byte const ( ST_StrokeArrowLengthUnset ST_StrokeArrowLength = 0 ST_StrokeArrowLengthShort ST_StrokeArrowLength = 1 ST_StrokeArrowLengthMedium ST_StrokeArrowLength = 2 ST_StrokeArrowLengthLong ST_StrokeArrowLength = 3 ) func (e ST_StrokeArrowLength) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case ST_StrokeArrowLengthUnset: attr.Value = "" case ST_StrokeArrowLengthShort: attr.Value = "short" case ST_StrokeArrowLengthMedium: attr.Value = "medium" case ST_StrokeArrowLengthLong: attr.Value = "long" } return attr, nil } func (e *ST_StrokeArrowLength) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "short": *e = 1 case "medium": *e = 2 case "long": *e = 3 } return nil } func (m ST_StrokeArrowLength) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *ST_StrokeArrowLength) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "short": *m = 1 case "medium": *m = 2 case "long": *m = 3 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m ST_StrokeArrowLength) String() string { switch m { case 0: return "" case 1: return "short" case 2: return "medium" case 3: return "long" } return "" } func (m ST_StrokeArrowLength) Validate() error { return m.ValidateWithPath("") } func (m ST_StrokeArrowLength) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type ST_StrokeArrowWidth byte const ( ST_StrokeArrowWidthUnset ST_StrokeArrowWidth = 0 ST_StrokeArrowWidthNarrow ST_StrokeArrowWidth = 1 ST_StrokeArrowWidthMedium ST_StrokeArrowWidth = 2 ST_StrokeArrowWidthWide ST_StrokeArrowWidth = 3 ) func (e ST_StrokeArrowWidth) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case ST_StrokeArrowWidthUnset: attr.Value = "" case ST_StrokeArrowWidthNarrow: attr.Value = "narrow" case ST_StrokeArrowWidthMedium: attr.Value = "medium" case ST_StrokeArrowWidthWide: attr.Value = "wide" } return attr, nil } func (e *ST_StrokeArrowWidth) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "narrow": *e = 1 case "medium": *e = 2 case "wide": *e = 3 } return nil } func (m ST_StrokeArrowWidth) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *ST_StrokeArrowWidth) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "narrow": *m = 1 case "medium": *m = 2 case "wide": *m = 3 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m ST_StrokeArrowWidth) String() string { switch m { case 0: return "" case 1: return "narrow" case 2: return "medium" case 3: return "wide" } return "" } func (m ST_StrokeArrowWidth) Validate() error { return m.ValidateWithPath("") } func (m ST_StrokeArrowWidth) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type ST_StrokeArrowType byte const ( ST_StrokeArrowTypeUnset ST_StrokeArrowType = 0 ST_StrokeArrowTypeNone ST_StrokeArrowType = 1 ST_StrokeArrowTypeBlock ST_StrokeArrowType = 2 ST_StrokeArrowTypeClassic ST_StrokeArrowType = 3 ST_StrokeArrowTypeOval ST_StrokeArrowType = 4 ST_StrokeArrowTypeDiamond ST_StrokeArrowType = 5 ST_StrokeArrowTypeOpen ST_StrokeArrowType = 6 ) func (e ST_StrokeArrowType) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case ST_StrokeArrowTypeUnset: attr.Value = "" case ST_StrokeArrowTypeNone: attr.Value = "none" case ST_StrokeArrowTypeBlock: attr.Value = "block" case ST_StrokeArrowTypeClassic: attr.Value = "classic" case ST_StrokeArrowTypeOval: attr.Value = "oval" case ST_StrokeArrowTypeDiamond: attr.Value = "diamond" case ST_StrokeArrowTypeOpen: attr.Value = "open" } return attr, nil } func (e *ST_StrokeArrowType) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "none": *e = 1 case "block": *e = 2 case "classic": *e = 3 case "oval": *e = 4 case "diamond": *e = 5 case "open": *e = 6 } return nil } func (m ST_StrokeArrowType) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *ST_StrokeArrowType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "none": *m = 1 case "block": *m = 2 case "classic": *m = 3 case "oval": *m = 4 case "diamond": *m = 5 case "open": *m = 6 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m ST_StrokeArrowType) String() string { switch m { case 0: return "" case 1: return "none" case 2: return "block" case 3: return "classic" case 4: return "oval" case 5: return "diamond" case 6: return "open" } return "" } func (m ST_StrokeArrowType) Validate() error { return m.ValidateWithPath("") } func (m ST_StrokeArrowType) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3, 4, 5, 6: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type ST_ImageAspect byte const ( ST_ImageAspectUnset ST_ImageAspect = 0 ST_ImageAspectIgnore ST_ImageAspect = 1 ST_ImageAspectAtMost ST_ImageAspect = 2 ST_ImageAspectAtLeast ST_ImageAspect = 3 ) func (e ST_ImageAspect) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case ST_ImageAspectUnset: attr.Value = "" case ST_ImageAspectIgnore: attr.Value = "ignore" case ST_ImageAspectAtMost: attr.Value = "atMost" case ST_ImageAspectAtLeast: attr.Value = "atLeast" } return attr, nil } func (e *ST_ImageAspect) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "ignore": *e = 1 case "atMost": *e = 2 case "atLeast": *e = 3 } return nil } func (m ST_ImageAspect) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *ST_ImageAspect) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "ignore": *m = 1 case "atMost": *m = 2 case "atLeast": *m = 3 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m ST_ImageAspect) String() string { switch m { case 0: return "" case 1: return "ignore" case 2: return "atMost" case 3: return "atLeast" } return "" } func (m ST_ImageAspect) Validate() error { return m.ValidateWithPath("") } func (m ST_ImageAspect) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type ST_EditAs byte const ( ST_EditAsUnset ST_EditAs = 0 ST_EditAsCanvas ST_EditAs = 1 ST_EditAsOrgchart ST_EditAs = 2 ST_EditAsRadial ST_EditAs = 3 ST_EditAsCycle ST_EditAs = 4 ST_EditAsStacked ST_EditAs = 5 ST_EditAsVenn ST_EditAs = 6 ST_EditAsBullseye ST_EditAs = 7 ) func (e ST_EditAs) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case ST_EditAsUnset: attr.Value = "" case ST_EditAsCanvas: attr.Value = "canvas" case ST_EditAsOrgchart: attr.Value = "orgchart" case ST_EditAsRadial: attr.Value = "radial" case ST_EditAsCycle: attr.Value = "cycle" case ST_EditAsStacked: attr.Value = "stacked" case ST_EditAsVenn: attr.Value = "venn" case ST_EditAsBullseye: attr.Value = "bullseye" } return attr, nil } func (e *ST_EditAs) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "canvas": *e = 1 case "orgchart": *e = 2 case "radial": *e = 3 case "cycle": *e = 4 case "stacked": *e = 5 case "venn": *e = 6 case "bullseye": *e = 7 } return nil } func (m ST_EditAs) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *ST_EditAs) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "canvas": *m = 1 case "orgchart": *m = 2 case "radial": *m = 3 case "cycle": *m = 4 case "stacked": *m = 5 case "venn": *m = 6 case "bullseye": *m = 7 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m ST_EditAs) String() string { switch m { case 0: return "" case 1: return "canvas" case 2: return "orgchart" case 3: return "radial" case 4: return "cycle" case 5: return "stacked" case 6: return "venn" case 7: return "bullseye" } return "" } func (m ST_EditAs) Validate() error { return m.ValidateWithPath("") } func (m ST_EditAs) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3, 4, 5, 6, 7: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } // init registers constructor functions for dynamically creating elements based off the XML namespace and name func init() { gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Shape", NewCT_Shape) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Shapetype", NewCT_Shapetype) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Group", NewCT_Group) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Background", NewCT_Background) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Fill", NewCT_Fill) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Formulas", NewCT_Formulas) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_F", NewCT_F) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Handles", NewCT_Handles) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_H", NewCT_H) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_ImageData", NewCT_ImageData) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Path", NewCT_Path) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Shadow", NewCT_Shadow) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Stroke", NewCT_Stroke) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Textbox", NewCT_Textbox) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_TextPath", NewCT_TextPath) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Arc", NewCT_Arc) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Curve", NewCT_Curve) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Image", NewCT_Image) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Line", NewCT_Line) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Oval", NewCT_Oval) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_PolyLine", NewCT_PolyLine) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_Rect", NewCT_Rect) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "CT_RoundRect", NewCT_RoundRect) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "shape", NewShape) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "shapetype", NewShapetype) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "group", NewGroup) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "background", NewBackground) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "fill", NewFill) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "formulas", NewFormulas) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "handles", NewHandles) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "imagedata", NewImagedata) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "path", NewPath) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "textbox", NewTextbox) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "shadow", NewShadow) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "stroke", NewStroke) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "textpath", NewTextpath) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "arc", NewArc) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "curve", NewCurve) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "image", NewImage) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "line", NewLine) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "oval", NewOval) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "polyline", NewPolyline) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "rect", NewRect) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "roundrect", NewRoundrect) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "EG_ShapeElements", NewEG_ShapeElements) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "AG_Id", NewAG_Id) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "AG_Style", NewAG_Style) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "AG_Type", NewAG_Type) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "AG_Adj", NewAG_Adj) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "AG_Path", NewAG_Path) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "AG_Fill", NewAG_Fill) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "AG_Chromakey", NewAG_Chromakey) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "AG_Ext", NewAG_Ext) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "AG_CoreAttributes", NewAG_CoreAttributes) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "AG_ShapeAttributes", NewAG_ShapeAttributes) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "AG_OfficeCoreAttributes", NewAG_OfficeCoreAttributes) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "AG_OfficeShapeAttributes", NewAG_OfficeShapeAttributes) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "AG_AllCoreAttributes", NewAG_AllCoreAttributes) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "AG_AllShapeAttributes", NewAG_AllShapeAttributes) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "AG_ImageAttributes", NewAG_ImageAttributes) gooxml.RegisterConstructor("urn:schemas-microsoft-com:vml", "AG_StrokeAttributes", NewAG_StrokeAttributes) } type OfcST_RType byte const ( OfcST_RTypeUnset OfcST_RType = 0 OfcST_RTypeArc OfcST_RType = 1 OfcST_RTypeCallout OfcST_RType = 2 OfcST_RTypeConnector OfcST_RType = 3 OfcST_RTypeAlign OfcST_RType = 4 ) func (e OfcST_RType) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_RTypeUnset: attr.Value = "" case OfcST_RTypeArc: attr.Value = "arc" case OfcST_RTypeCallout: attr.Value = "callout" case OfcST_RTypeConnector: attr.Value = "connector" case OfcST_RTypeAlign: attr.Value = "align" } return attr, nil } func (e *OfcST_RType) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "arc": *e = 1 case "callout": *e = 2 case "connector": *e = 3 case "align": *e = 4 } return nil } func (m OfcST_RType) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_RType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "arc": *m = 1 case "callout": *m = 2 case "connector": *m = 3 case "align": *m = 4 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_RType) String() string { switch m { case 0: return "" case 1: return "arc" case 2: return "callout" case 3: return "connector" case 4: return "align" } return "" } func (m OfcST_RType) Validate() error { return m.ValidateWithPath("") } func (m OfcST_RType) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3, 4: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_How byte const ( OfcST_HowUnset OfcST_How = 0 OfcST_HowTop OfcST_How = 1 OfcST_HowMiddle OfcST_How = 2 OfcST_HowBottom OfcST_How = 3 OfcST_HowLeft OfcST_How = 4 OfcST_HowCenter OfcST_How = 5 OfcST_HowRight OfcST_How = 6 ) func (e OfcST_How) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_HowUnset: attr.Value = "" case OfcST_HowTop: attr.Value = "top" case OfcST_HowMiddle: attr.Value = "middle" case OfcST_HowBottom: attr.Value = "bottom" case OfcST_HowLeft: attr.Value = "left" case OfcST_HowCenter: attr.Value = "center" case OfcST_HowRight: attr.Value = "right" } return attr, nil } func (e *OfcST_How) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "top": *e = 1 case "middle": *e = 2 case "bottom": *e = 3 case "left": *e = 4 case "center": *e = 5 case "right": *e = 6 } return nil } func (m OfcST_How) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_How) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "top": *m = 1 case "middle": *m = 2 case "bottom": *m = 3 case "left": *m = 4 case "center": *m = 5 case "right": *m = 6 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_How) String() string { switch m { case 0: return "" case 1: return "top" case 2: return "middle" case 3: return "bottom" case 4: return "left" case 5: return "center" case 6: return "right" } return "" } func (m OfcST_How) Validate() error { return m.ValidateWithPath("") } func (m OfcST_How) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3, 4, 5, 6: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_BWMode byte const ( OfcST_BWModeUnset OfcST_BWMode = 0 OfcST_BWModeColor OfcST_BWMode = 1 OfcST_BWModeAuto OfcST_BWMode = 2 OfcST_BWModeGrayScale OfcST_BWMode = 3 OfcST_BWModeLightGrayscale OfcST_BWMode = 4 OfcST_BWModeInverseGray OfcST_BWMode = 5 OfcST_BWModeGrayOutline OfcST_BWMode = 6 OfcST_BWModeHighContrast OfcST_BWMode = 7 OfcST_BWModeBlack OfcST_BWMode = 8 OfcST_BWModeWhite OfcST_BWMode = 9 OfcST_BWModeHide OfcST_BWMode = 10 OfcST_BWModeUndrawn OfcST_BWMode = 11 OfcST_BWModeBlackTextAndLines OfcST_BWMode = 12 ) func (e OfcST_BWMode) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_BWModeUnset: attr.Value = "" case OfcST_BWModeColor: attr.Value = "color" case OfcST_BWModeAuto: attr.Value = "auto" case OfcST_BWModeGrayScale: attr.Value = "grayScale" case OfcST_BWModeLightGrayscale: attr.Value = "lightGrayscale" case OfcST_BWModeInverseGray: attr.Value = "inverseGray" case OfcST_BWModeGrayOutline: attr.Value = "grayOutline" case OfcST_BWModeHighContrast: attr.Value = "highContrast" case OfcST_BWModeBlack: attr.Value = "black" case OfcST_BWModeWhite: attr.Value = "white" case OfcST_BWModeHide: attr.Value = "hide" case OfcST_BWModeUndrawn: attr.Value = "undrawn" case OfcST_BWModeBlackTextAndLines: attr.Value = "blackTextAndLines" } return attr, nil } func (e *OfcST_BWMode) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "color": *e = 1 case "auto": *e = 2 case "grayScale": *e = 3 case "lightGrayscale": *e = 4 case "inverseGray": *e = 5 case "grayOutline": *e = 6 case "highContrast": *e = 7 case "black": *e = 8 case "white": *e = 9 case "hide": *e = 10 case "undrawn": *e = 11 case "blackTextAndLines": *e = 12 } return nil } func (m OfcST_BWMode) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_BWMode) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "color": *m = 1 case "auto": *m = 2 case "grayScale": *m = 3 case "lightGrayscale": *m = 4 case "inverseGray": *m = 5 case "grayOutline": *m = 6 case "highContrast": *m = 7 case "black": *m = 8 case "white": *m = 9 case "hide": *m = 10 case "undrawn": *m = 11 case "blackTextAndLines": *m = 12 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_BWMode) String() string { switch m { case 0: return "" case 1: return "color" case 2: return "auto" case 3: return "grayScale" case 4: return "lightGrayscale" case 5: return "inverseGray" case 6: return "grayOutline" case 7: return "highContrast" case 8: return "black" case 9: return "white" case 10: return "hide" case 11: return "undrawn" case 12: return "blackTextAndLines" } return "" } func (m OfcST_BWMode) Validate() error { return m.ValidateWithPath("") } func (m OfcST_BWMode) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_ScreenSize byte const ( OfcST_ScreenSizeUnset OfcST_ScreenSize = 0 OfcST_ScreenSize544x376 OfcST_ScreenSize = 1 OfcST_ScreenSize640x480 OfcST_ScreenSize = 2 OfcST_ScreenSize720x512 OfcST_ScreenSize = 3 OfcST_ScreenSize800x600 OfcST_ScreenSize = 4 OfcST_ScreenSize1024x768 OfcST_ScreenSize = 5 OfcST_ScreenSize1152x862 OfcST_ScreenSize = 6 ) func (e OfcST_ScreenSize) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_ScreenSizeUnset: attr.Value = "" case OfcST_ScreenSize544x376: attr.Value = "544,376" case OfcST_ScreenSize640x480: attr.Value = "640,480" case OfcST_ScreenSize720x512: attr.Value = "720,512" case OfcST_ScreenSize800x600: attr.Value = "800,600" case OfcST_ScreenSize1024x768: attr.Value = "1024,768" case OfcST_ScreenSize1152x862: attr.Value = "1152,862" } return attr, nil } func (e *OfcST_ScreenSize) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "544,376": *e = 1 case "640,480": *e = 2 case "720,512": *e = 3 case "800,600": *e = 4 case "1024,768": *e = 5 case "1152,862": *e = 6 } return nil } func (m OfcST_ScreenSize) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_ScreenSize) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "544,376": *m = 1 case "640,480": *m = 2 case "720,512": *m = 3 case "800,600": *m = 4 case "1024,768": *m = 5 case "1152,862": *m = 6 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_ScreenSize) String() string { switch m { case 0: return "" case 1: return "544,376" case 2: return "640,480" case 3: return "720,512" case 4: return "800,600" case 5: return "1024,768" case 6: return "1152,862" } return "" } func (m OfcST_ScreenSize) Validate() error { return m.ValidateWithPath("") } func (m OfcST_ScreenSize) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3, 4, 5, 6: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_InsetMode byte const ( OfcST_InsetModeUnset OfcST_InsetMode = 0 OfcST_InsetModeAuto OfcST_InsetMode = 1 OfcST_InsetModeCustom OfcST_InsetMode = 2 ) func (e OfcST_InsetMode) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_InsetModeUnset: attr.Value = "" case OfcST_InsetModeAuto: attr.Value = "auto" case OfcST_InsetModeCustom: attr.Value = "custom" } return attr, nil } func (e *OfcST_InsetMode) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "auto": *e = 1 case "custom": *e = 2 } return nil } func (m OfcST_InsetMode) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_InsetMode) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "auto": *m = 1 case "custom": *m = 2 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_InsetMode) String() string { switch m { case 0: return "" case 1: return "auto" case 2: return "custom" } return "" } func (m OfcST_InsetMode) Validate() error { return m.ValidateWithPath("") } func (m OfcST_InsetMode) ValidateWithPath(path string) error { switch m { case 0, 1, 2: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_ColorMode byte const ( OfcST_ColorModeUnset OfcST_ColorMode = 0 OfcST_ColorModeAuto OfcST_ColorMode = 1 OfcST_ColorModeCustom OfcST_ColorMode = 2 ) func (e OfcST_ColorMode) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_ColorModeUnset: attr.Value = "" case OfcST_ColorModeAuto: attr.Value = "auto" case OfcST_ColorModeCustom: attr.Value = "custom" } return attr, nil } func (e *OfcST_ColorMode) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "auto": *e = 1 case "custom": *e = 2 } return nil } func (m OfcST_ColorMode) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_ColorMode) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "auto": *m = 1 case "custom": *m = 2 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_ColorMode) String() string { switch m { case 0: return "" case 1: return "auto" case 2: return "custom" } return "" } func (m OfcST_ColorMode) Validate() error { return m.ValidateWithPath("") } func (m OfcST_ColorMode) ValidateWithPath(path string) error { switch m { case 0, 1, 2: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_DiagramLayout byte const ( OfcST_DiagramLayoutUnset OfcST_DiagramLayout = 0 OfcST_DiagramLayout0 OfcST_DiagramLayout = 1 OfcST_DiagramLayout1 OfcST_DiagramLayout = 2 OfcST_DiagramLayout2 OfcST_DiagramLayout = 3 OfcST_DiagramLayout3 OfcST_DiagramLayout = 4 ) func (e OfcST_DiagramLayout) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_DiagramLayoutUnset: attr.Value = "" case OfcST_DiagramLayout0: attr.Value = "0" case OfcST_DiagramLayout1: attr.Value = "1" case OfcST_DiagramLayout2: attr.Value = "2" case OfcST_DiagramLayout3: attr.Value = "3" } return attr, nil } func (e *OfcST_DiagramLayout) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "0": *e = 1 case "1": *e = 2 case "2": *e = 3 case "3": *e = 4 } return nil } func (m OfcST_DiagramLayout) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_DiagramLayout) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "0": *m = 1 case "1": *m = 2 case "2": *m = 3 case "3": *m = 4 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_DiagramLayout) String() string { switch m { case 0: return "" case 1: return "0" case 2: return "1" case 3: return "2" case 4: return "3" } return "" } func (m OfcST_DiagramLayout) Validate() error { return m.ValidateWithPath("") } func (m OfcST_DiagramLayout) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3, 4: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_ExtrusionType byte const ( OfcST_ExtrusionTypeUnset OfcST_ExtrusionType = 0 OfcST_ExtrusionTypePerspective OfcST_ExtrusionType = 1 OfcST_ExtrusionTypeParallel OfcST_ExtrusionType = 2 ) func (e OfcST_ExtrusionType) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_ExtrusionTypeUnset: attr.Value = "" case OfcST_ExtrusionTypePerspective: attr.Value = "perspective" case OfcST_ExtrusionTypeParallel: attr.Value = "parallel" } return attr, nil } func (e *OfcST_ExtrusionType) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "perspective": *e = 1 case "parallel": *e = 2 } return nil } func (m OfcST_ExtrusionType) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_ExtrusionType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "perspective": *m = 1 case "parallel": *m = 2 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_ExtrusionType) String() string { switch m { case 0: return "" case 1: return "perspective" case 2: return "parallel" } return "" } func (m OfcST_ExtrusionType) Validate() error { return m.ValidateWithPath("") } func (m OfcST_ExtrusionType) ValidateWithPath(path string) error { switch m { case 0, 1, 2: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_ExtrusionRender byte const ( OfcST_ExtrusionRenderUnset OfcST_ExtrusionRender = 0 OfcST_ExtrusionRenderSolid OfcST_ExtrusionRender = 1 OfcST_ExtrusionRenderWireFrame OfcST_ExtrusionRender = 2 OfcST_ExtrusionRenderBoundingCube OfcST_ExtrusionRender = 3 ) func (e OfcST_ExtrusionRender) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_ExtrusionRenderUnset: attr.Value = "" case OfcST_ExtrusionRenderSolid: attr.Value = "solid" case OfcST_ExtrusionRenderWireFrame: attr.Value = "wireFrame" case OfcST_ExtrusionRenderBoundingCube: attr.Value = "boundingCube" } return attr, nil } func (e *OfcST_ExtrusionRender) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "solid": *e = 1 case "wireFrame": *e = 2 case "boundingCube": *e = 3 } return nil } func (m OfcST_ExtrusionRender) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_ExtrusionRender) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "solid": *m = 1 case "wireFrame": *m = 2 case "boundingCube": *m = 3 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_ExtrusionRender) String() string { switch m { case 0: return "" case 1: return "solid" case 2: return "wireFrame" case 3: return "boundingCube" } return "" } func (m OfcST_ExtrusionRender) Validate() error { return m.ValidateWithPath("") } func (m OfcST_ExtrusionRender) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_ExtrusionPlane byte const ( OfcST_ExtrusionPlaneUnset OfcST_ExtrusionPlane = 0 OfcST_ExtrusionPlaneXY OfcST_ExtrusionPlane = 1 OfcST_ExtrusionPlaneZX OfcST_ExtrusionPlane = 2 OfcST_ExtrusionPlaneYZ OfcST_ExtrusionPlane = 3 ) func (e OfcST_ExtrusionPlane) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_ExtrusionPlaneUnset: attr.Value = "" case OfcST_ExtrusionPlaneXY: attr.Value = "XY" case OfcST_ExtrusionPlaneZX: attr.Value = "ZX" case OfcST_ExtrusionPlaneYZ: attr.Value = "YZ" } return attr, nil } func (e *OfcST_ExtrusionPlane) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "XY": *e = 1 case "ZX": *e = 2 case "YZ": *e = 3 } return nil } func (m OfcST_ExtrusionPlane) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_ExtrusionPlane) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "XY": *m = 1 case "ZX": *m = 2 case "YZ": *m = 3 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_ExtrusionPlane) String() string { switch m { case 0: return "" case 1: return "XY" case 2: return "ZX" case 3: return "YZ" } return "" } func (m OfcST_ExtrusionPlane) Validate() error { return m.ValidateWithPath("") } func (m OfcST_ExtrusionPlane) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_Angle byte const ( OfcST_AngleUnset OfcST_Angle = 0 OfcST_AngleAny OfcST_Angle = 1 OfcST_Angle30 OfcST_Angle = 2 OfcST_Angle45 OfcST_Angle = 3 OfcST_Angle60 OfcST_Angle = 4 OfcST_Angle90 OfcST_Angle = 5 OfcST_AngleAuto OfcST_Angle = 6 ) func (e OfcST_Angle) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_AngleUnset: attr.Value = "" case OfcST_AngleAny: attr.Value = "any" case OfcST_Angle30: attr.Value = "30" case OfcST_Angle45: attr.Value = "45" case OfcST_Angle60: attr.Value = "60" case OfcST_Angle90: attr.Value = "90" case OfcST_AngleAuto: attr.Value = "auto" } return attr, nil } func (e *OfcST_Angle) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "any": *e = 1 case "30": *e = 2 case "45": *e = 3 case "60": *e = 4 case "90": *e = 5 case "auto": *e = 6 } return nil } func (m OfcST_Angle) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_Angle) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "any": *m = 1 case "30": *m = 2 case "45": *m = 3 case "60": *m = 4 case "90": *m = 5 case "auto": *m = 6 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_Angle) String() string { switch m { case 0: return "" case 1: return "any" case 2: return "30" case 3: return "45" case 4: return "60" case 5: return "90" case 6: return "auto" } return "" } func (m OfcST_Angle) Validate() error { return m.ValidateWithPath("") } func (m OfcST_Angle) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3, 4, 5, 6: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_CalloutPlacement byte const ( OfcST_CalloutPlacementUnset OfcST_CalloutPlacement = 0 OfcST_CalloutPlacementTop OfcST_CalloutPlacement = 1 OfcST_CalloutPlacementCenter OfcST_CalloutPlacement = 2 OfcST_CalloutPlacementBottom OfcST_CalloutPlacement = 3 OfcST_CalloutPlacementUser OfcST_CalloutPlacement = 4 ) func (e OfcST_CalloutPlacement) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_CalloutPlacementUnset: attr.Value = "" case OfcST_CalloutPlacementTop: attr.Value = "top" case OfcST_CalloutPlacementCenter: attr.Value = "center" case OfcST_CalloutPlacementBottom: attr.Value = "bottom" case OfcST_CalloutPlacementUser: attr.Value = "user" } return attr, nil } func (e *OfcST_CalloutPlacement) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "top": *e = 1 case "center": *e = 2 case "bottom": *e = 3 case "user": *e = 4 } return nil } func (m OfcST_CalloutPlacement) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_CalloutPlacement) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "top": *m = 1 case "center": *m = 2 case "bottom": *m = 3 case "user": *m = 4 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_CalloutPlacement) String() string { switch m { case 0: return "" case 1: return "top" case 2: return "center" case 3: return "bottom" case 4: return "user" } return "" } func (m OfcST_CalloutPlacement) Validate() error { return m.ValidateWithPath("") } func (m OfcST_CalloutPlacement) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3, 4: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_ConnectorType byte const ( OfcST_ConnectorTypeUnset OfcST_ConnectorType = 0 OfcST_ConnectorTypeNone OfcST_ConnectorType = 1 OfcST_ConnectorTypeStraight OfcST_ConnectorType = 2 OfcST_ConnectorTypeElbow OfcST_ConnectorType = 3 OfcST_ConnectorTypeCurved OfcST_ConnectorType = 4 ) func (e OfcST_ConnectorType) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_ConnectorTypeUnset: attr.Value = "" case OfcST_ConnectorTypeNone: attr.Value = "none" case OfcST_ConnectorTypeStraight: attr.Value = "straight" case OfcST_ConnectorTypeElbow: attr.Value = "elbow" case OfcST_ConnectorTypeCurved: attr.Value = "curved" } return attr, nil } func (e *OfcST_ConnectorType) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "none": *e = 1 case "straight": *e = 2 case "elbow": *e = 3 case "curved": *e = 4 } return nil } func (m OfcST_ConnectorType) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_ConnectorType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "none": *m = 1 case "straight": *m = 2 case "elbow": *m = 3 case "curved": *m = 4 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_ConnectorType) String() string { switch m { case 0: return "" case 1: return "none" case 2: return "straight" case 3: return "elbow" case 4: return "curved" } return "" } func (m OfcST_ConnectorType) Validate() error { return m.ValidateWithPath("") } func (m OfcST_ConnectorType) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3, 4: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_HrAlign byte const ( OfcST_HrAlignUnset OfcST_HrAlign = 0 OfcST_HrAlignLeft OfcST_HrAlign = 1 OfcST_HrAlignRight OfcST_HrAlign = 2 OfcST_HrAlignCenter OfcST_HrAlign = 3 ) func (e OfcST_HrAlign) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_HrAlignUnset: attr.Value = "" case OfcST_HrAlignLeft: attr.Value = "left" case OfcST_HrAlignRight: attr.Value = "right" case OfcST_HrAlignCenter: attr.Value = "center" } return attr, nil } func (e *OfcST_HrAlign) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "left": *e = 1 case "right": *e = 2 case "center": *e = 3 } return nil } func (m OfcST_HrAlign) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_HrAlign) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "left": *m = 1 case "right": *m = 2 case "center": *m = 3 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_HrAlign) String() string { switch m { case 0: return "" case 1: return "left" case 2: return "right" case 3: return "center" } return "" } func (m OfcST_HrAlign) Validate() error { return m.ValidateWithPath("") } func (m OfcST_HrAlign) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_ConnectType byte const ( OfcST_ConnectTypeUnset OfcST_ConnectType = 0 OfcST_ConnectTypeNone OfcST_ConnectType = 1 OfcST_ConnectTypeRect OfcST_ConnectType = 2 OfcST_ConnectTypeSegments OfcST_ConnectType = 3 OfcST_ConnectTypeCustom OfcST_ConnectType = 4 ) func (e OfcST_ConnectType) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_ConnectTypeUnset: attr.Value = "" case OfcST_ConnectTypeNone: attr.Value = "none" case OfcST_ConnectTypeRect: attr.Value = "rect" case OfcST_ConnectTypeSegments: attr.Value = "segments" case OfcST_ConnectTypeCustom: attr.Value = "custom" } return attr, nil } func (e *OfcST_ConnectType) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "none": *e = 1 case "rect": *e = 2 case "segments": *e = 3 case "custom": *e = 4 } return nil } func (m OfcST_ConnectType) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_ConnectType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "none": *m = 1 case "rect": *m = 2 case "segments": *m = 3 case "custom": *m = 4 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_ConnectType) String() string { switch m { case 0: return "" case 1: return "none" case 2: return "rect" case 3: return "segments" case 4: return "custom" } return "" } func (m OfcST_ConnectType) Validate() error { return m.ValidateWithPath("") } func (m OfcST_ConnectType) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3, 4: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_OLEType byte const ( OfcST_OLETypeUnset OfcST_OLEType = 0 OfcST_OLETypeEmbed OfcST_OLEType = 1 OfcST_OLETypeLink OfcST_OLEType = 2 ) func (e OfcST_OLEType) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_OLETypeUnset: attr.Value = "" case OfcST_OLETypeEmbed: attr.Value = "Embed" case OfcST_OLETypeLink: attr.Value = "Link" } return attr, nil } func (e *OfcST_OLEType) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "Embed": *e = 1 case "Link": *e = 2 } return nil } func (m OfcST_OLEType) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_OLEType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "Embed": *m = 1 case "Link": *m = 2 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_OLEType) String() string { switch m { case 0: return "" case 1: return "Embed" case 2: return "Link" } return "" } func (m OfcST_OLEType) Validate() error { return m.ValidateWithPath("") } func (m OfcST_OLEType) ValidateWithPath(path string) error { switch m { case 0, 1, 2: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_OLEDrawAspect byte const ( OfcST_OLEDrawAspectUnset OfcST_OLEDrawAspect = 0 OfcST_OLEDrawAspectContent OfcST_OLEDrawAspect = 1 OfcST_OLEDrawAspectIcon OfcST_OLEDrawAspect = 2 ) func (e OfcST_OLEDrawAspect) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_OLEDrawAspectUnset: attr.Value = "" case OfcST_OLEDrawAspectContent: attr.Value = "Content" case OfcST_OLEDrawAspectIcon: attr.Value = "Icon" } return attr, nil } func (e *OfcST_OLEDrawAspect) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "Content": *e = 1 case "Icon": *e = 2 } return nil } func (m OfcST_OLEDrawAspect) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_OLEDrawAspect) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "Content": *m = 1 case "Icon": *m = 2 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_OLEDrawAspect) String() string { switch m { case 0: return "" case 1: return "Content" case 2: return "Icon" } return "" } func (m OfcST_OLEDrawAspect) Validate() error { return m.ValidateWithPath("") } func (m OfcST_OLEDrawAspect) ValidateWithPath(path string) error { switch m { case 0, 1, 2: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_OLEUpdateMode byte const ( OfcST_OLEUpdateModeUnset OfcST_OLEUpdateMode = 0 OfcST_OLEUpdateModeAlways OfcST_OLEUpdateMode = 1 OfcST_OLEUpdateModeOnCall OfcST_OLEUpdateMode = 2 ) func (e OfcST_OLEUpdateMode) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_OLEUpdateModeUnset: attr.Value = "" case OfcST_OLEUpdateModeAlways: attr.Value = "Always" case OfcST_OLEUpdateModeOnCall: attr.Value = "OnCall" } return attr, nil } func (e *OfcST_OLEUpdateMode) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "Always": *e = 1 case "OnCall": *e = 2 } return nil } func (m OfcST_OLEUpdateMode) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_OLEUpdateMode) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "Always": *m = 1 case "OnCall": *m = 2 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_OLEUpdateMode) String() string { switch m { case 0: return "" case 1: return "Always" case 2: return "OnCall" } return "" } func (m OfcST_OLEUpdateMode) Validate() error { return m.ValidateWithPath("") } func (m OfcST_OLEUpdateMode) ValidateWithPath(path string) error { switch m { case 0, 1, 2: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } type OfcST_FillType byte const ( OfcST_FillTypeUnset OfcST_FillType = 0 OfcST_FillTypeGradientCenter OfcST_FillType = 1 OfcST_FillTypeSolid OfcST_FillType = 2 OfcST_FillTypePattern OfcST_FillType = 3 OfcST_FillTypeTile OfcST_FillType = 4 OfcST_FillTypeFrame OfcST_FillType = 5 OfcST_FillTypeGradientUnscaled OfcST_FillType = 6 OfcST_FillTypeGradientRadial OfcST_FillType = 7 OfcST_FillTypeGradient OfcST_FillType = 8 OfcST_FillTypeBackground OfcST_FillType = 9 ) func (e OfcST_FillType) MarshalXMLAttr(name xml.Name) (xml.Attr, error) { attr := xml.Attr{} attr.Name = name switch e { case OfcST_FillTypeUnset: attr.Value = "" case OfcST_FillTypeGradientCenter: attr.Value = "gradientCenter" case OfcST_FillTypeSolid: attr.Value = "solid" case OfcST_FillTypePattern: attr.Value = "pattern" case OfcST_FillTypeTile: attr.Value = "tile" case OfcST_FillTypeFrame: attr.Value = "frame" case OfcST_FillTypeGradientUnscaled: attr.Value = "gradientUnscaled" case OfcST_FillTypeGradientRadial: attr.Value = "gradientRadial" case OfcST_FillTypeGradient: attr.Value = "gradient" case OfcST_FillTypeBackground: attr.Value = "background" } return attr, nil } func (e *OfcST_FillType) UnmarshalXMLAttr(attr xml.Attr) error { switch attr.Value { case "": *e = 0 case "gradientCenter": *e = 1 case "solid": *e = 2 case "pattern": *e = 3 case "tile": *e = 4 case "frame": *e = 5 case "gradientUnscaled": *e = 6 case "gradientRadial": *e = 7 case "gradient": *e = 8 case "background": *e = 9 } return nil } func (m OfcST_FillType) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return e.EncodeElement(m.String(), start) } func (m *OfcST_FillType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { tok, err := d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { *m = 1 return nil } if cd, ok := tok.(xml.CharData); !ok { return fmt.Errorf("expected char data, got %T", tok) } else { switch string(cd) { case "": *m = 0 case "gradientCenter": *m = 1 case "solid": *m = 2 case "pattern": *m = 3 case "tile": *m = 4 case "frame": *m = 5 case "gradientUnscaled": *m = 6 case "gradientRadial": *m = 7 case "gradient": *m = 8 case "background": *m = 9 } } tok, err = d.Token() if err != nil { return err } if el, ok := tok.(xml.EndElement); ok && el.Name == start.Name { return nil } return fmt.Errorf("expected end element, got %v", tok) } func (m OfcST_FillType) String() string { switch m { case 0: return "" case 1: return "gradientCenter" case 2: return "solid" case 3: return "pattern" case 4: return "tile" case 5: return "frame" case 6: return "gradientUnscaled" case 7: return "gradientRadial" case 8: return "gradient" case 9: return "background" } return "" } func (m OfcST_FillType) Validate() error { return m.ValidateWithPath("") } func (m OfcST_FillType) ValidateWithPath(path string) error { switch m { case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9: default: return fmt.Errorf("%s: out of range value %d", path, int(m)) } return nil } // init registers constructor functions for dynamically creating elements based off the XML namespace and name func init() { gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_ShapeDefaults", NewOfcCT_ShapeDefaults) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_Ink", NewOfcCT_Ink) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_SignatureLine", NewOfcCT_SignatureLine) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_ShapeLayout", NewOfcCT_ShapeLayout) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_IdMap", NewOfcCT_IdMap) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_RegroupTable", NewOfcCT_RegroupTable) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_Entry", NewOfcCT_Entry) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_Rules", NewOfcCT_Rules) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_R", NewOfcCT_R) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_Proxy", NewOfcCT_Proxy) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_Diagram", NewOfcCT_Diagram) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_EquationXml", NewOfcCT_EquationXml) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_RelationTable", NewOfcCT_RelationTable) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_Relation", NewOfcCT_Relation) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_ColorMru", NewOfcCT_ColorMru) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_ColorMenu", NewOfcCT_ColorMenu) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_Skew", NewOfcCT_Skew) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_Extrusion", NewOfcCT_Extrusion) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_Callout", NewOfcCT_Callout) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_Lock", NewOfcCT_Lock) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_OLEObject", NewOfcCT_OLEObject) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_Complex", NewOfcCT_Complex) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_StrokeChild", NewOfcCT_StrokeChild) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_ClipPath", NewOfcCT_ClipPath) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "CT_Fill", NewOfcCT_Fill) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "shapedefaults", NewOfcShapedefaults) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "shapelayout", NewOfcShapelayout) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "signatureline", NewOfcSignatureline) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "ink", NewOfcInk) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "diagram", NewOfcDiagram) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "equationxml", NewOfcEquationxml) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "skew", NewOfcSkew) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "extrusion", NewOfcExtrusion) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "callout", NewOfcCallout) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "lock", NewOfcLock) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "OLEObject", NewOfcOLEObject) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "complex", NewOfcComplex) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "left", NewOfcLeft) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "top", NewOfcTop) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "right", NewOfcRight) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "bottom", NewOfcBottom) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "column", NewOfcColumn) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "clippath", NewOfcClippath) gooxml.RegisterConstructor("urn:schemas-microsoft-com:office:office", "fill", NewOfcFill) }