mirror of
https://github.com/unidoc/unioffice.git
synced 2025-05-02 22:17:07 +08:00
3498 lines
80 KiB
Go
3498 lines
80 KiB
Go
// Copyright 2017 Baliance. All rights reserved.
|
|
//
|
|
// 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 chart
|
|
|
|
import (
|
|
"encoding/xml"
|
|
"fmt"
|
|
"regexp"
|
|
|
|
"baliance.com/gooxml"
|
|
)
|
|
|
|
const ST_HPercentWithSymbolPattern = `0*(([5-9])|([1-9][0-9])|([1-4][0-9][0-9])|500)%`
|
|
|
|
var ST_HPercentWithSymbolPatternRe = regexp.MustCompile(ST_HPercentWithSymbolPattern)
|
|
|
|
const ST_DepthPercentWithSymbolPattern = `0*(([2-9][0-9])|([1-9][0-9][0-9])|(1[0-9][0-9][0-9])|2000)%`
|
|
|
|
var ST_DepthPercentWithSymbolPatternRe = regexp.MustCompile(ST_DepthPercentWithSymbolPattern)
|
|
|
|
const ST_ThicknessPercentPattern = `([0-9]+)%`
|
|
|
|
var ST_ThicknessPercentPatternRe = regexp.MustCompile(ST_ThicknessPercentPattern)
|
|
|
|
const ST_GapAmountPercentPattern = `0*(([0-9])|([1-9][0-9])|([1-4][0-9][0-9])|500)%`
|
|
|
|
var ST_GapAmountPercentPatternRe = regexp.MustCompile(ST_GapAmountPercentPattern)
|
|
|
|
const ST_OverlapPercentPattern = `(-?0*(([0-9])|([1-9][0-9])|100))%`
|
|
|
|
var ST_OverlapPercentPatternRe = regexp.MustCompile(ST_OverlapPercentPattern)
|
|
|
|
const ST_BubbleScalePercentPattern = `0*(([0-9])|([1-9][0-9])|([1-2][0-9][0-9])|300)%`
|
|
|
|
var ST_BubbleScalePercentPatternRe = regexp.MustCompile(ST_BubbleScalePercentPattern)
|
|
|
|
const ST_HoleSizePercentPattern = `0*([1-9]|([1-8][0-9])|90)%`
|
|
|
|
var ST_HoleSizePercentPatternRe = regexp.MustCompile(ST_HoleSizePercentPattern)
|
|
|
|
const ST_SecondPieSizePercentPattern = `0*(([5-9])|([1-9][0-9])|(1[0-9][0-9])|200)%`
|
|
|
|
var ST_SecondPieSizePercentPatternRe = regexp.MustCompile(ST_SecondPieSizePercentPattern)
|
|
|
|
const ST_LblOffsetPercentPattern = `0*(([0-9])|([1-9][0-9])|([1-9][0-9][0-9])|1000)%`
|
|
|
|
var ST_LblOffsetPercentPatternRe = regexp.MustCompile(ST_LblOffsetPercentPattern)
|
|
|
|
func ParseUnionST_HPercent(s string) (ST_HPercent, error) {
|
|
return ST_HPercent{}, nil
|
|
}
|
|
func ParseUnionST_DepthPercent(s string) (ST_DepthPercent, error) {
|
|
return ST_DepthPercent{}, nil
|
|
}
|
|
func ParseUnionST_Thickness(s string) (ST_Thickness, error) {
|
|
return ST_Thickness{}, nil
|
|
}
|
|
func ParseUnionST_GapAmount(s string) (ST_GapAmount, error) {
|
|
return ST_GapAmount{}, nil
|
|
}
|
|
func ParseUnionST_Overlap(s string) (ST_Overlap, error) {
|
|
return ST_Overlap{}, nil
|
|
}
|
|
func ParseUnionST_BubbleScale(s string) (ST_BubbleScale, error) {
|
|
return ST_BubbleScale{}, nil
|
|
}
|
|
func ParseUnionST_HoleSize(s string) (ST_HoleSize, error) {
|
|
return ST_HoleSize{}, nil
|
|
}
|
|
func ParseUnionST_SecondPieSize(s string) (ST_SecondPieSize, error) {
|
|
return ST_SecondPieSize{}, nil
|
|
}
|
|
func ParseUnionST_LblOffset(s string) (ST_LblOffset, error) {
|
|
return ST_LblOffset{}, nil
|
|
}
|
|
|
|
type Any interface {
|
|
MarshalXML(e *xml.Encoder, start xml.StartElement) error
|
|
UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
|
|
}
|
|
|
|
type ST_LayoutTarget byte
|
|
|
|
const (
|
|
ST_LayoutTargetUnset ST_LayoutTarget = 0
|
|
ST_LayoutTargetInner ST_LayoutTarget = 1
|
|
ST_LayoutTargetOuter ST_LayoutTarget = 2
|
|
)
|
|
|
|
func (e ST_LayoutTarget) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_LayoutTargetUnset:
|
|
attr.Value = ""
|
|
case ST_LayoutTargetInner:
|
|
attr.Value = "inner"
|
|
case ST_LayoutTargetOuter:
|
|
attr.Value = "outer"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_LayoutTarget) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "inner":
|
|
*e = 1
|
|
case "outer":
|
|
*e = 2
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_LayoutTarget) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_LayoutTarget) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "inner":
|
|
*m = 1
|
|
case "outer":
|
|
*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 ST_LayoutTarget) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "inner"
|
|
case 2:
|
|
return "outer"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_LayoutTarget) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_LayoutTarget) 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 ST_LayoutMode byte
|
|
|
|
const (
|
|
ST_LayoutModeUnset ST_LayoutMode = 0
|
|
ST_LayoutModeEdge ST_LayoutMode = 1
|
|
ST_LayoutModeFactor ST_LayoutMode = 2
|
|
)
|
|
|
|
func (e ST_LayoutMode) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_LayoutModeUnset:
|
|
attr.Value = ""
|
|
case ST_LayoutModeEdge:
|
|
attr.Value = "edge"
|
|
case ST_LayoutModeFactor:
|
|
attr.Value = "factor"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_LayoutMode) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "edge":
|
|
*e = 1
|
|
case "factor":
|
|
*e = 2
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_LayoutMode) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_LayoutMode) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "edge":
|
|
*m = 1
|
|
case "factor":
|
|
*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 ST_LayoutMode) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "edge"
|
|
case 2:
|
|
return "factor"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_LayoutMode) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_LayoutMode) 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 ST_SizeRepresents byte
|
|
|
|
const (
|
|
ST_SizeRepresentsUnset ST_SizeRepresents = 0
|
|
ST_SizeRepresentsArea ST_SizeRepresents = 1
|
|
ST_SizeRepresentsW ST_SizeRepresents = 2
|
|
)
|
|
|
|
func (e ST_SizeRepresents) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_SizeRepresentsUnset:
|
|
attr.Value = ""
|
|
case ST_SizeRepresentsArea:
|
|
attr.Value = "area"
|
|
case ST_SizeRepresentsW:
|
|
attr.Value = "w"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_SizeRepresents) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "area":
|
|
*e = 1
|
|
case "w":
|
|
*e = 2
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_SizeRepresents) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_SizeRepresents) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "area":
|
|
*m = 1
|
|
case "w":
|
|
*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 ST_SizeRepresents) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "area"
|
|
case 2:
|
|
return "w"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_SizeRepresents) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_SizeRepresents) 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 ST_SplitType byte
|
|
|
|
const (
|
|
ST_SplitTypeUnset ST_SplitType = 0
|
|
ST_SplitTypeAuto ST_SplitType = 1
|
|
ST_SplitTypeCust ST_SplitType = 2
|
|
ST_SplitTypePercent ST_SplitType = 3
|
|
ST_SplitTypePos ST_SplitType = 4
|
|
ST_SplitTypeVal ST_SplitType = 5
|
|
)
|
|
|
|
func (e ST_SplitType) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_SplitTypeUnset:
|
|
attr.Value = ""
|
|
case ST_SplitTypeAuto:
|
|
attr.Value = "auto"
|
|
case ST_SplitTypeCust:
|
|
attr.Value = "cust"
|
|
case ST_SplitTypePercent:
|
|
attr.Value = "percent"
|
|
case ST_SplitTypePos:
|
|
attr.Value = "pos"
|
|
case ST_SplitTypeVal:
|
|
attr.Value = "val"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_SplitType) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "auto":
|
|
*e = 1
|
|
case "cust":
|
|
*e = 2
|
|
case "percent":
|
|
*e = 3
|
|
case "pos":
|
|
*e = 4
|
|
case "val":
|
|
*e = 5
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_SplitType) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_SplitType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
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 "cust":
|
|
*m = 2
|
|
case "percent":
|
|
*m = 3
|
|
case "pos":
|
|
*m = 4
|
|
case "val":
|
|
*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_SplitType) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "auto"
|
|
case 2:
|
|
return "cust"
|
|
case 3:
|
|
return "percent"
|
|
case 4:
|
|
return "pos"
|
|
case 5:
|
|
return "val"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_SplitType) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_SplitType) 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_LblAlgn byte
|
|
|
|
const (
|
|
ST_LblAlgnUnset ST_LblAlgn = 0
|
|
ST_LblAlgnCtr ST_LblAlgn = 1
|
|
ST_LblAlgnL ST_LblAlgn = 2
|
|
ST_LblAlgnR ST_LblAlgn = 3
|
|
)
|
|
|
|
func (e ST_LblAlgn) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_LblAlgnUnset:
|
|
attr.Value = ""
|
|
case ST_LblAlgnCtr:
|
|
attr.Value = "ctr"
|
|
case ST_LblAlgnL:
|
|
attr.Value = "l"
|
|
case ST_LblAlgnR:
|
|
attr.Value = "r"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_LblAlgn) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "ctr":
|
|
*e = 1
|
|
case "l":
|
|
*e = 2
|
|
case "r":
|
|
*e = 3
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_LblAlgn) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_LblAlgn) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "ctr":
|
|
*m = 1
|
|
case "l":
|
|
*m = 2
|
|
case "r":
|
|
*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_LblAlgn) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "ctr"
|
|
case 2:
|
|
return "l"
|
|
case 3:
|
|
return "r"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_LblAlgn) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_LblAlgn) 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_DLblPos byte
|
|
|
|
const (
|
|
ST_DLblPosUnset ST_DLblPos = 0
|
|
ST_DLblPosBestFit ST_DLblPos = 1
|
|
ST_DLblPosB ST_DLblPos = 2
|
|
ST_DLblPosCtr ST_DLblPos = 3
|
|
ST_DLblPosInBase ST_DLblPos = 4
|
|
ST_DLblPosInEnd ST_DLblPos = 5
|
|
ST_DLblPosL ST_DLblPos = 6
|
|
ST_DLblPosOutEnd ST_DLblPos = 7
|
|
ST_DLblPosR ST_DLblPos = 8
|
|
ST_DLblPosT ST_DLblPos = 9
|
|
)
|
|
|
|
func (e ST_DLblPos) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_DLblPosUnset:
|
|
attr.Value = ""
|
|
case ST_DLblPosBestFit:
|
|
attr.Value = "bestFit"
|
|
case ST_DLblPosB:
|
|
attr.Value = "b"
|
|
case ST_DLblPosCtr:
|
|
attr.Value = "ctr"
|
|
case ST_DLblPosInBase:
|
|
attr.Value = "inBase"
|
|
case ST_DLblPosInEnd:
|
|
attr.Value = "inEnd"
|
|
case ST_DLblPosL:
|
|
attr.Value = "l"
|
|
case ST_DLblPosOutEnd:
|
|
attr.Value = "outEnd"
|
|
case ST_DLblPosR:
|
|
attr.Value = "r"
|
|
case ST_DLblPosT:
|
|
attr.Value = "t"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_DLblPos) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "bestFit":
|
|
*e = 1
|
|
case "b":
|
|
*e = 2
|
|
case "ctr":
|
|
*e = 3
|
|
case "inBase":
|
|
*e = 4
|
|
case "inEnd":
|
|
*e = 5
|
|
case "l":
|
|
*e = 6
|
|
case "outEnd":
|
|
*e = 7
|
|
case "r":
|
|
*e = 8
|
|
case "t":
|
|
*e = 9
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_DLblPos) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_DLblPos) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "bestFit":
|
|
*m = 1
|
|
case "b":
|
|
*m = 2
|
|
case "ctr":
|
|
*m = 3
|
|
case "inBase":
|
|
*m = 4
|
|
case "inEnd":
|
|
*m = 5
|
|
case "l":
|
|
*m = 6
|
|
case "outEnd":
|
|
*m = 7
|
|
case "r":
|
|
*m = 8
|
|
case "t":
|
|
*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 ST_DLblPos) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "bestFit"
|
|
case 2:
|
|
return "b"
|
|
case 3:
|
|
return "ctr"
|
|
case 4:
|
|
return "inBase"
|
|
case 5:
|
|
return "inEnd"
|
|
case 6:
|
|
return "l"
|
|
case 7:
|
|
return "outEnd"
|
|
case 8:
|
|
return "r"
|
|
case 9:
|
|
return "t"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_DLblPos) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_DLblPos) 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
|
|
}
|
|
|
|
type ST_MarkerStyle byte
|
|
|
|
const (
|
|
ST_MarkerStyleUnset ST_MarkerStyle = 0
|
|
ST_MarkerStyleCircle ST_MarkerStyle = 1
|
|
ST_MarkerStyleDash ST_MarkerStyle = 2
|
|
ST_MarkerStyleDiamond ST_MarkerStyle = 3
|
|
ST_MarkerStyleDot ST_MarkerStyle = 4
|
|
ST_MarkerStyleNone ST_MarkerStyle = 5
|
|
ST_MarkerStylePicture ST_MarkerStyle = 6
|
|
ST_MarkerStylePlus ST_MarkerStyle = 7
|
|
ST_MarkerStyleSquare ST_MarkerStyle = 8
|
|
ST_MarkerStyleStar ST_MarkerStyle = 9
|
|
ST_MarkerStyleTriangle ST_MarkerStyle = 10
|
|
ST_MarkerStyleX ST_MarkerStyle = 11
|
|
ST_MarkerStyleAuto ST_MarkerStyle = 12
|
|
)
|
|
|
|
func (e ST_MarkerStyle) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_MarkerStyleUnset:
|
|
attr.Value = ""
|
|
case ST_MarkerStyleCircle:
|
|
attr.Value = "circle"
|
|
case ST_MarkerStyleDash:
|
|
attr.Value = "dash"
|
|
case ST_MarkerStyleDiamond:
|
|
attr.Value = "diamond"
|
|
case ST_MarkerStyleDot:
|
|
attr.Value = "dot"
|
|
case ST_MarkerStyleNone:
|
|
attr.Value = "none"
|
|
case ST_MarkerStylePicture:
|
|
attr.Value = "picture"
|
|
case ST_MarkerStylePlus:
|
|
attr.Value = "plus"
|
|
case ST_MarkerStyleSquare:
|
|
attr.Value = "square"
|
|
case ST_MarkerStyleStar:
|
|
attr.Value = "star"
|
|
case ST_MarkerStyleTriangle:
|
|
attr.Value = "triangle"
|
|
case ST_MarkerStyleX:
|
|
attr.Value = "x"
|
|
case ST_MarkerStyleAuto:
|
|
attr.Value = "auto"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_MarkerStyle) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "circle":
|
|
*e = 1
|
|
case "dash":
|
|
*e = 2
|
|
case "diamond":
|
|
*e = 3
|
|
case "dot":
|
|
*e = 4
|
|
case "none":
|
|
*e = 5
|
|
case "picture":
|
|
*e = 6
|
|
case "plus":
|
|
*e = 7
|
|
case "square":
|
|
*e = 8
|
|
case "star":
|
|
*e = 9
|
|
case "triangle":
|
|
*e = 10
|
|
case "x":
|
|
*e = 11
|
|
case "auto":
|
|
*e = 12
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_MarkerStyle) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_MarkerStyle) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "circle":
|
|
*m = 1
|
|
case "dash":
|
|
*m = 2
|
|
case "diamond":
|
|
*m = 3
|
|
case "dot":
|
|
*m = 4
|
|
case "none":
|
|
*m = 5
|
|
case "picture":
|
|
*m = 6
|
|
case "plus":
|
|
*m = 7
|
|
case "square":
|
|
*m = 8
|
|
case "star":
|
|
*m = 9
|
|
case "triangle":
|
|
*m = 10
|
|
case "x":
|
|
*m = 11
|
|
case "auto":
|
|
*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 ST_MarkerStyle) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "circle"
|
|
case 2:
|
|
return "dash"
|
|
case 3:
|
|
return "diamond"
|
|
case 4:
|
|
return "dot"
|
|
case 5:
|
|
return "none"
|
|
case 6:
|
|
return "picture"
|
|
case 7:
|
|
return "plus"
|
|
case 8:
|
|
return "square"
|
|
case 9:
|
|
return "star"
|
|
case 10:
|
|
return "triangle"
|
|
case 11:
|
|
return "x"
|
|
case 12:
|
|
return "auto"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_MarkerStyle) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_MarkerStyle) 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 ST_TrendlineType byte
|
|
|
|
const (
|
|
ST_TrendlineTypeUnset ST_TrendlineType = 0
|
|
ST_TrendlineTypeExp ST_TrendlineType = 1
|
|
ST_TrendlineTypeLinear ST_TrendlineType = 2
|
|
ST_TrendlineTypeLog ST_TrendlineType = 3
|
|
ST_TrendlineTypeMovingAvg ST_TrendlineType = 4
|
|
ST_TrendlineTypePoly ST_TrendlineType = 5
|
|
ST_TrendlineTypePower ST_TrendlineType = 6
|
|
)
|
|
|
|
func (e ST_TrendlineType) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_TrendlineTypeUnset:
|
|
attr.Value = ""
|
|
case ST_TrendlineTypeExp:
|
|
attr.Value = "exp"
|
|
case ST_TrendlineTypeLinear:
|
|
attr.Value = "linear"
|
|
case ST_TrendlineTypeLog:
|
|
attr.Value = "log"
|
|
case ST_TrendlineTypeMovingAvg:
|
|
attr.Value = "movingAvg"
|
|
case ST_TrendlineTypePoly:
|
|
attr.Value = "poly"
|
|
case ST_TrendlineTypePower:
|
|
attr.Value = "power"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_TrendlineType) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "exp":
|
|
*e = 1
|
|
case "linear":
|
|
*e = 2
|
|
case "log":
|
|
*e = 3
|
|
case "movingAvg":
|
|
*e = 4
|
|
case "poly":
|
|
*e = 5
|
|
case "power":
|
|
*e = 6
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_TrendlineType) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_TrendlineType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "exp":
|
|
*m = 1
|
|
case "linear":
|
|
*m = 2
|
|
case "log":
|
|
*m = 3
|
|
case "movingAvg":
|
|
*m = 4
|
|
case "poly":
|
|
*m = 5
|
|
case "power":
|
|
*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_TrendlineType) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "exp"
|
|
case 2:
|
|
return "linear"
|
|
case 3:
|
|
return "log"
|
|
case 4:
|
|
return "movingAvg"
|
|
case 5:
|
|
return "poly"
|
|
case 6:
|
|
return "power"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_TrendlineType) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_TrendlineType) 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_ErrDir byte
|
|
|
|
const (
|
|
ST_ErrDirUnset ST_ErrDir = 0
|
|
ST_ErrDirX ST_ErrDir = 1
|
|
ST_ErrDirY ST_ErrDir = 2
|
|
)
|
|
|
|
func (e ST_ErrDir) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_ErrDirUnset:
|
|
attr.Value = ""
|
|
case ST_ErrDirX:
|
|
attr.Value = "x"
|
|
case ST_ErrDirY:
|
|
attr.Value = "y"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_ErrDir) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "x":
|
|
*e = 1
|
|
case "y":
|
|
*e = 2
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_ErrDir) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_ErrDir) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "x":
|
|
*m = 1
|
|
case "y":
|
|
*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 ST_ErrDir) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "x"
|
|
case 2:
|
|
return "y"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_ErrDir) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_ErrDir) 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 ST_ErrBarType byte
|
|
|
|
const (
|
|
ST_ErrBarTypeUnset ST_ErrBarType = 0
|
|
ST_ErrBarTypeBoth ST_ErrBarType = 1
|
|
ST_ErrBarTypeMinus ST_ErrBarType = 2
|
|
ST_ErrBarTypePlus ST_ErrBarType = 3
|
|
)
|
|
|
|
func (e ST_ErrBarType) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_ErrBarTypeUnset:
|
|
attr.Value = ""
|
|
case ST_ErrBarTypeBoth:
|
|
attr.Value = "both"
|
|
case ST_ErrBarTypeMinus:
|
|
attr.Value = "minus"
|
|
case ST_ErrBarTypePlus:
|
|
attr.Value = "plus"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_ErrBarType) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "both":
|
|
*e = 1
|
|
case "minus":
|
|
*e = 2
|
|
case "plus":
|
|
*e = 3
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_ErrBarType) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_ErrBarType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "both":
|
|
*m = 1
|
|
case "minus":
|
|
*m = 2
|
|
case "plus":
|
|
*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_ErrBarType) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "both"
|
|
case 2:
|
|
return "minus"
|
|
case 3:
|
|
return "plus"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_ErrBarType) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_ErrBarType) 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_ErrValType byte
|
|
|
|
const (
|
|
ST_ErrValTypeUnset ST_ErrValType = 0
|
|
ST_ErrValTypeCust ST_ErrValType = 1
|
|
ST_ErrValTypeFixedVal ST_ErrValType = 2
|
|
ST_ErrValTypePercentage ST_ErrValType = 3
|
|
ST_ErrValTypeStdDev ST_ErrValType = 4
|
|
ST_ErrValTypeStdErr ST_ErrValType = 5
|
|
)
|
|
|
|
func (e ST_ErrValType) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_ErrValTypeUnset:
|
|
attr.Value = ""
|
|
case ST_ErrValTypeCust:
|
|
attr.Value = "cust"
|
|
case ST_ErrValTypeFixedVal:
|
|
attr.Value = "fixedVal"
|
|
case ST_ErrValTypePercentage:
|
|
attr.Value = "percentage"
|
|
case ST_ErrValTypeStdDev:
|
|
attr.Value = "stdDev"
|
|
case ST_ErrValTypeStdErr:
|
|
attr.Value = "stdErr"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_ErrValType) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "cust":
|
|
*e = 1
|
|
case "fixedVal":
|
|
*e = 2
|
|
case "percentage":
|
|
*e = 3
|
|
case "stdDev":
|
|
*e = 4
|
|
case "stdErr":
|
|
*e = 5
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_ErrValType) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_ErrValType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "cust":
|
|
*m = 1
|
|
case "fixedVal":
|
|
*m = 2
|
|
case "percentage":
|
|
*m = 3
|
|
case "stdDev":
|
|
*m = 4
|
|
case "stdErr":
|
|
*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_ErrValType) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "cust"
|
|
case 2:
|
|
return "fixedVal"
|
|
case 3:
|
|
return "percentage"
|
|
case 4:
|
|
return "stdDev"
|
|
case 5:
|
|
return "stdErr"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_ErrValType) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_ErrValType) 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_Grouping byte
|
|
|
|
const (
|
|
ST_GroupingUnset ST_Grouping = 0
|
|
ST_GroupingPercentStacked ST_Grouping = 1
|
|
ST_GroupingStandard ST_Grouping = 2
|
|
ST_GroupingStacked ST_Grouping = 3
|
|
)
|
|
|
|
func (e ST_Grouping) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_GroupingUnset:
|
|
attr.Value = ""
|
|
case ST_GroupingPercentStacked:
|
|
attr.Value = "percentStacked"
|
|
case ST_GroupingStandard:
|
|
attr.Value = "standard"
|
|
case ST_GroupingStacked:
|
|
attr.Value = "stacked"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_Grouping) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "percentStacked":
|
|
*e = 1
|
|
case "standard":
|
|
*e = 2
|
|
case "stacked":
|
|
*e = 3
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_Grouping) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_Grouping) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "percentStacked":
|
|
*m = 1
|
|
case "standard":
|
|
*m = 2
|
|
case "stacked":
|
|
*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_Grouping) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "percentStacked"
|
|
case 2:
|
|
return "standard"
|
|
case 3:
|
|
return "stacked"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_Grouping) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_Grouping) 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_ScatterStyle byte
|
|
|
|
const (
|
|
ST_ScatterStyleUnset ST_ScatterStyle = 0
|
|
ST_ScatterStyleNone ST_ScatterStyle = 1
|
|
ST_ScatterStyleLine ST_ScatterStyle = 2
|
|
ST_ScatterStyleLineMarker ST_ScatterStyle = 3
|
|
ST_ScatterStyleMarker ST_ScatterStyle = 4
|
|
ST_ScatterStyleSmooth ST_ScatterStyle = 5
|
|
ST_ScatterStyleSmoothMarker ST_ScatterStyle = 6
|
|
)
|
|
|
|
func (e ST_ScatterStyle) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_ScatterStyleUnset:
|
|
attr.Value = ""
|
|
case ST_ScatterStyleNone:
|
|
attr.Value = "none"
|
|
case ST_ScatterStyleLine:
|
|
attr.Value = "line"
|
|
case ST_ScatterStyleLineMarker:
|
|
attr.Value = "lineMarker"
|
|
case ST_ScatterStyleMarker:
|
|
attr.Value = "marker"
|
|
case ST_ScatterStyleSmooth:
|
|
attr.Value = "smooth"
|
|
case ST_ScatterStyleSmoothMarker:
|
|
attr.Value = "smoothMarker"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_ScatterStyle) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "none":
|
|
*e = 1
|
|
case "line":
|
|
*e = 2
|
|
case "lineMarker":
|
|
*e = 3
|
|
case "marker":
|
|
*e = 4
|
|
case "smooth":
|
|
*e = 5
|
|
case "smoothMarker":
|
|
*e = 6
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_ScatterStyle) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_ScatterStyle) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
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 "line":
|
|
*m = 2
|
|
case "lineMarker":
|
|
*m = 3
|
|
case "marker":
|
|
*m = 4
|
|
case "smooth":
|
|
*m = 5
|
|
case "smoothMarker":
|
|
*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_ScatterStyle) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "none"
|
|
case 2:
|
|
return "line"
|
|
case 3:
|
|
return "lineMarker"
|
|
case 4:
|
|
return "marker"
|
|
case 5:
|
|
return "smooth"
|
|
case 6:
|
|
return "smoothMarker"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_ScatterStyle) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_ScatterStyle) 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_RadarStyle byte
|
|
|
|
const (
|
|
ST_RadarStyleUnset ST_RadarStyle = 0
|
|
ST_RadarStyleStandard ST_RadarStyle = 1
|
|
ST_RadarStyleMarker ST_RadarStyle = 2
|
|
ST_RadarStyleFilled ST_RadarStyle = 3
|
|
)
|
|
|
|
func (e ST_RadarStyle) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_RadarStyleUnset:
|
|
attr.Value = ""
|
|
case ST_RadarStyleStandard:
|
|
attr.Value = "standard"
|
|
case ST_RadarStyleMarker:
|
|
attr.Value = "marker"
|
|
case ST_RadarStyleFilled:
|
|
attr.Value = "filled"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_RadarStyle) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "standard":
|
|
*e = 1
|
|
case "marker":
|
|
*e = 2
|
|
case "filled":
|
|
*e = 3
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_RadarStyle) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_RadarStyle) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "standard":
|
|
*m = 1
|
|
case "marker":
|
|
*m = 2
|
|
case "filled":
|
|
*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_RadarStyle) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "standard"
|
|
case 2:
|
|
return "marker"
|
|
case 3:
|
|
return "filled"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_RadarStyle) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_RadarStyle) 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_BarGrouping byte
|
|
|
|
const (
|
|
ST_BarGroupingUnset ST_BarGrouping = 0
|
|
ST_BarGroupingPercentStacked ST_BarGrouping = 1
|
|
ST_BarGroupingClustered ST_BarGrouping = 2
|
|
ST_BarGroupingStandard ST_BarGrouping = 3
|
|
ST_BarGroupingStacked ST_BarGrouping = 4
|
|
)
|
|
|
|
func (e ST_BarGrouping) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_BarGroupingUnset:
|
|
attr.Value = ""
|
|
case ST_BarGroupingPercentStacked:
|
|
attr.Value = "percentStacked"
|
|
case ST_BarGroupingClustered:
|
|
attr.Value = "clustered"
|
|
case ST_BarGroupingStandard:
|
|
attr.Value = "standard"
|
|
case ST_BarGroupingStacked:
|
|
attr.Value = "stacked"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_BarGrouping) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "percentStacked":
|
|
*e = 1
|
|
case "clustered":
|
|
*e = 2
|
|
case "standard":
|
|
*e = 3
|
|
case "stacked":
|
|
*e = 4
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_BarGrouping) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_BarGrouping) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "percentStacked":
|
|
*m = 1
|
|
case "clustered":
|
|
*m = 2
|
|
case "standard":
|
|
*m = 3
|
|
case "stacked":
|
|
*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_BarGrouping) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "percentStacked"
|
|
case 2:
|
|
return "clustered"
|
|
case 3:
|
|
return "standard"
|
|
case 4:
|
|
return "stacked"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_BarGrouping) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_BarGrouping) 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_BarDir byte
|
|
|
|
const (
|
|
ST_BarDirUnset ST_BarDir = 0
|
|
ST_BarDirBar ST_BarDir = 1
|
|
ST_BarDirCol ST_BarDir = 2
|
|
)
|
|
|
|
func (e ST_BarDir) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_BarDirUnset:
|
|
attr.Value = ""
|
|
case ST_BarDirBar:
|
|
attr.Value = "bar"
|
|
case ST_BarDirCol:
|
|
attr.Value = "col"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_BarDir) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "bar":
|
|
*e = 1
|
|
case "col":
|
|
*e = 2
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_BarDir) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_BarDir) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "bar":
|
|
*m = 1
|
|
case "col":
|
|
*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 ST_BarDir) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "bar"
|
|
case 2:
|
|
return "col"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_BarDir) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_BarDir) 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 ST_Shape byte
|
|
|
|
const (
|
|
ST_ShapeUnset ST_Shape = 0
|
|
ST_ShapeCone ST_Shape = 1
|
|
ST_ShapeConeToMax ST_Shape = 2
|
|
ST_ShapeBox ST_Shape = 3
|
|
ST_ShapeCylinder ST_Shape = 4
|
|
ST_ShapePyramid ST_Shape = 5
|
|
ST_ShapePyramidToMax ST_Shape = 6
|
|
)
|
|
|
|
func (e ST_Shape) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_ShapeUnset:
|
|
attr.Value = ""
|
|
case ST_ShapeCone:
|
|
attr.Value = "cone"
|
|
case ST_ShapeConeToMax:
|
|
attr.Value = "coneToMax"
|
|
case ST_ShapeBox:
|
|
attr.Value = "box"
|
|
case ST_ShapeCylinder:
|
|
attr.Value = "cylinder"
|
|
case ST_ShapePyramid:
|
|
attr.Value = "pyramid"
|
|
case ST_ShapePyramidToMax:
|
|
attr.Value = "pyramidToMax"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_Shape) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "cone":
|
|
*e = 1
|
|
case "coneToMax":
|
|
*e = 2
|
|
case "box":
|
|
*e = 3
|
|
case "cylinder":
|
|
*e = 4
|
|
case "pyramid":
|
|
*e = 5
|
|
case "pyramidToMax":
|
|
*e = 6
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_Shape) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_Shape) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "cone":
|
|
*m = 1
|
|
case "coneToMax":
|
|
*m = 2
|
|
case "box":
|
|
*m = 3
|
|
case "cylinder":
|
|
*m = 4
|
|
case "pyramid":
|
|
*m = 5
|
|
case "pyramidToMax":
|
|
*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_Shape) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "cone"
|
|
case 2:
|
|
return "coneToMax"
|
|
case 3:
|
|
return "box"
|
|
case 4:
|
|
return "cylinder"
|
|
case 5:
|
|
return "pyramid"
|
|
case 6:
|
|
return "pyramidToMax"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_Shape) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_Shape) 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_OfPieType byte
|
|
|
|
const (
|
|
ST_OfPieTypeUnset ST_OfPieType = 0
|
|
ST_OfPieTypePie ST_OfPieType = 1
|
|
ST_OfPieTypeBar ST_OfPieType = 2
|
|
)
|
|
|
|
func (e ST_OfPieType) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_OfPieTypeUnset:
|
|
attr.Value = ""
|
|
case ST_OfPieTypePie:
|
|
attr.Value = "pie"
|
|
case ST_OfPieTypeBar:
|
|
attr.Value = "bar"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_OfPieType) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "pie":
|
|
*e = 1
|
|
case "bar":
|
|
*e = 2
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_OfPieType) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_OfPieType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "pie":
|
|
*m = 1
|
|
case "bar":
|
|
*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 ST_OfPieType) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "pie"
|
|
case 2:
|
|
return "bar"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_OfPieType) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_OfPieType) 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 ST_AxPos byte
|
|
|
|
const (
|
|
ST_AxPosUnset ST_AxPos = 0
|
|
ST_AxPosB ST_AxPos = 1
|
|
ST_AxPosL ST_AxPos = 2
|
|
ST_AxPosR ST_AxPos = 3
|
|
ST_AxPosT ST_AxPos = 4
|
|
)
|
|
|
|
func (e ST_AxPos) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_AxPosUnset:
|
|
attr.Value = ""
|
|
case ST_AxPosB:
|
|
attr.Value = "b"
|
|
case ST_AxPosL:
|
|
attr.Value = "l"
|
|
case ST_AxPosR:
|
|
attr.Value = "r"
|
|
case ST_AxPosT:
|
|
attr.Value = "t"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_AxPos) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "b":
|
|
*e = 1
|
|
case "l":
|
|
*e = 2
|
|
case "r":
|
|
*e = 3
|
|
case "t":
|
|
*e = 4
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_AxPos) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_AxPos) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "b":
|
|
*m = 1
|
|
case "l":
|
|
*m = 2
|
|
case "r":
|
|
*m = 3
|
|
case "t":
|
|
*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_AxPos) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "b"
|
|
case 2:
|
|
return "l"
|
|
case 3:
|
|
return "r"
|
|
case 4:
|
|
return "t"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_AxPos) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_AxPos) 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_Crosses byte
|
|
|
|
const (
|
|
ST_CrossesUnset ST_Crosses = 0
|
|
ST_CrossesAutoZero ST_Crosses = 1
|
|
ST_CrossesMax ST_Crosses = 2
|
|
ST_CrossesMin ST_Crosses = 3
|
|
)
|
|
|
|
func (e ST_Crosses) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_CrossesUnset:
|
|
attr.Value = ""
|
|
case ST_CrossesAutoZero:
|
|
attr.Value = "autoZero"
|
|
case ST_CrossesMax:
|
|
attr.Value = "max"
|
|
case ST_CrossesMin:
|
|
attr.Value = "min"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_Crosses) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "autoZero":
|
|
*e = 1
|
|
case "max":
|
|
*e = 2
|
|
case "min":
|
|
*e = 3
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_Crosses) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_Crosses) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "autoZero":
|
|
*m = 1
|
|
case "max":
|
|
*m = 2
|
|
case "min":
|
|
*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_Crosses) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "autoZero"
|
|
case 2:
|
|
return "max"
|
|
case 3:
|
|
return "min"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_Crosses) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_Crosses) 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_CrossBetween byte
|
|
|
|
const (
|
|
ST_CrossBetweenUnset ST_CrossBetween = 0
|
|
ST_CrossBetweenBetween ST_CrossBetween = 1
|
|
ST_CrossBetweenMidCat ST_CrossBetween = 2
|
|
)
|
|
|
|
func (e ST_CrossBetween) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_CrossBetweenUnset:
|
|
attr.Value = ""
|
|
case ST_CrossBetweenBetween:
|
|
attr.Value = "between"
|
|
case ST_CrossBetweenMidCat:
|
|
attr.Value = "midCat"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_CrossBetween) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "between":
|
|
*e = 1
|
|
case "midCat":
|
|
*e = 2
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_CrossBetween) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_CrossBetween) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "between":
|
|
*m = 1
|
|
case "midCat":
|
|
*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 ST_CrossBetween) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "between"
|
|
case 2:
|
|
return "midCat"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_CrossBetween) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_CrossBetween) 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 ST_TickMark byte
|
|
|
|
const (
|
|
ST_TickMarkUnset ST_TickMark = 0
|
|
ST_TickMarkCross ST_TickMark = 1
|
|
ST_TickMarkIn ST_TickMark = 2
|
|
ST_TickMarkNone ST_TickMark = 3
|
|
ST_TickMarkOut ST_TickMark = 4
|
|
)
|
|
|
|
func (e ST_TickMark) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_TickMarkUnset:
|
|
attr.Value = ""
|
|
case ST_TickMarkCross:
|
|
attr.Value = "cross"
|
|
case ST_TickMarkIn:
|
|
attr.Value = "in"
|
|
case ST_TickMarkNone:
|
|
attr.Value = "none"
|
|
case ST_TickMarkOut:
|
|
attr.Value = "out"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_TickMark) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "cross":
|
|
*e = 1
|
|
case "in":
|
|
*e = 2
|
|
case "none":
|
|
*e = 3
|
|
case "out":
|
|
*e = 4
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_TickMark) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_TickMark) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "cross":
|
|
*m = 1
|
|
case "in":
|
|
*m = 2
|
|
case "none":
|
|
*m = 3
|
|
case "out":
|
|
*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_TickMark) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "cross"
|
|
case 2:
|
|
return "in"
|
|
case 3:
|
|
return "none"
|
|
case 4:
|
|
return "out"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_TickMark) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_TickMark) 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_TickLblPos byte
|
|
|
|
const (
|
|
ST_TickLblPosUnset ST_TickLblPos = 0
|
|
ST_TickLblPosHigh ST_TickLblPos = 1
|
|
ST_TickLblPosLow ST_TickLblPos = 2
|
|
ST_TickLblPosNextTo ST_TickLblPos = 3
|
|
ST_TickLblPosNone ST_TickLblPos = 4
|
|
)
|
|
|
|
func (e ST_TickLblPos) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_TickLblPosUnset:
|
|
attr.Value = ""
|
|
case ST_TickLblPosHigh:
|
|
attr.Value = "high"
|
|
case ST_TickLblPosLow:
|
|
attr.Value = "low"
|
|
case ST_TickLblPosNextTo:
|
|
attr.Value = "nextTo"
|
|
case ST_TickLblPosNone:
|
|
attr.Value = "none"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_TickLblPos) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "high":
|
|
*e = 1
|
|
case "low":
|
|
*e = 2
|
|
case "nextTo":
|
|
*e = 3
|
|
case "none":
|
|
*e = 4
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_TickLblPos) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_TickLblPos) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "high":
|
|
*m = 1
|
|
case "low":
|
|
*m = 2
|
|
case "nextTo":
|
|
*m = 3
|
|
case "none":
|
|
*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_TickLblPos) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "high"
|
|
case 2:
|
|
return "low"
|
|
case 3:
|
|
return "nextTo"
|
|
case 4:
|
|
return "none"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_TickLblPos) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_TickLblPos) 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_TimeUnit byte
|
|
|
|
const (
|
|
ST_TimeUnitUnset ST_TimeUnit = 0
|
|
ST_TimeUnitDays ST_TimeUnit = 1
|
|
ST_TimeUnitMonths ST_TimeUnit = 2
|
|
ST_TimeUnitYears ST_TimeUnit = 3
|
|
)
|
|
|
|
func (e ST_TimeUnit) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_TimeUnitUnset:
|
|
attr.Value = ""
|
|
case ST_TimeUnitDays:
|
|
attr.Value = "days"
|
|
case ST_TimeUnitMonths:
|
|
attr.Value = "months"
|
|
case ST_TimeUnitYears:
|
|
attr.Value = "years"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_TimeUnit) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "days":
|
|
*e = 1
|
|
case "months":
|
|
*e = 2
|
|
case "years":
|
|
*e = 3
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_TimeUnit) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_TimeUnit) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "days":
|
|
*m = 1
|
|
case "months":
|
|
*m = 2
|
|
case "years":
|
|
*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_TimeUnit) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "days"
|
|
case 2:
|
|
return "months"
|
|
case 3:
|
|
return "years"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_TimeUnit) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_TimeUnit) 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_BuiltInUnit byte
|
|
|
|
const (
|
|
ST_BuiltInUnitUnset ST_BuiltInUnit = 0
|
|
ST_BuiltInUnitHundreds ST_BuiltInUnit = 1
|
|
ST_BuiltInUnitThousands ST_BuiltInUnit = 2
|
|
ST_BuiltInUnitTenThousands ST_BuiltInUnit = 3
|
|
ST_BuiltInUnitHundredThousands ST_BuiltInUnit = 4
|
|
ST_BuiltInUnitMillions ST_BuiltInUnit = 5
|
|
ST_BuiltInUnitTenMillions ST_BuiltInUnit = 6
|
|
ST_BuiltInUnitHundredMillions ST_BuiltInUnit = 7
|
|
ST_BuiltInUnitBillions ST_BuiltInUnit = 8
|
|
ST_BuiltInUnitTrillions ST_BuiltInUnit = 9
|
|
)
|
|
|
|
func (e ST_BuiltInUnit) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_BuiltInUnitUnset:
|
|
attr.Value = ""
|
|
case ST_BuiltInUnitHundreds:
|
|
attr.Value = "hundreds"
|
|
case ST_BuiltInUnitThousands:
|
|
attr.Value = "thousands"
|
|
case ST_BuiltInUnitTenThousands:
|
|
attr.Value = "tenThousands"
|
|
case ST_BuiltInUnitHundredThousands:
|
|
attr.Value = "hundredThousands"
|
|
case ST_BuiltInUnitMillions:
|
|
attr.Value = "millions"
|
|
case ST_BuiltInUnitTenMillions:
|
|
attr.Value = "tenMillions"
|
|
case ST_BuiltInUnitHundredMillions:
|
|
attr.Value = "hundredMillions"
|
|
case ST_BuiltInUnitBillions:
|
|
attr.Value = "billions"
|
|
case ST_BuiltInUnitTrillions:
|
|
attr.Value = "trillions"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_BuiltInUnit) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "hundreds":
|
|
*e = 1
|
|
case "thousands":
|
|
*e = 2
|
|
case "tenThousands":
|
|
*e = 3
|
|
case "hundredThousands":
|
|
*e = 4
|
|
case "millions":
|
|
*e = 5
|
|
case "tenMillions":
|
|
*e = 6
|
|
case "hundredMillions":
|
|
*e = 7
|
|
case "billions":
|
|
*e = 8
|
|
case "trillions":
|
|
*e = 9
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_BuiltInUnit) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_BuiltInUnit) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "hundreds":
|
|
*m = 1
|
|
case "thousands":
|
|
*m = 2
|
|
case "tenThousands":
|
|
*m = 3
|
|
case "hundredThousands":
|
|
*m = 4
|
|
case "millions":
|
|
*m = 5
|
|
case "tenMillions":
|
|
*m = 6
|
|
case "hundredMillions":
|
|
*m = 7
|
|
case "billions":
|
|
*m = 8
|
|
case "trillions":
|
|
*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 ST_BuiltInUnit) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "hundreds"
|
|
case 2:
|
|
return "thousands"
|
|
case 3:
|
|
return "tenThousands"
|
|
case 4:
|
|
return "hundredThousands"
|
|
case 5:
|
|
return "millions"
|
|
case 6:
|
|
return "tenMillions"
|
|
case 7:
|
|
return "hundredMillions"
|
|
case 8:
|
|
return "billions"
|
|
case 9:
|
|
return "trillions"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_BuiltInUnit) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_BuiltInUnit) 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
|
|
}
|
|
|
|
type ST_PictureFormat byte
|
|
|
|
const (
|
|
ST_PictureFormatUnset ST_PictureFormat = 0
|
|
ST_PictureFormatStretch ST_PictureFormat = 1
|
|
ST_PictureFormatStack ST_PictureFormat = 2
|
|
ST_PictureFormatStackScale ST_PictureFormat = 3
|
|
)
|
|
|
|
func (e ST_PictureFormat) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_PictureFormatUnset:
|
|
attr.Value = ""
|
|
case ST_PictureFormatStretch:
|
|
attr.Value = "stretch"
|
|
case ST_PictureFormatStack:
|
|
attr.Value = "stack"
|
|
case ST_PictureFormatStackScale:
|
|
attr.Value = "stackScale"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_PictureFormat) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "stretch":
|
|
*e = 1
|
|
case "stack":
|
|
*e = 2
|
|
case "stackScale":
|
|
*e = 3
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_PictureFormat) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_PictureFormat) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "stretch":
|
|
*m = 1
|
|
case "stack":
|
|
*m = 2
|
|
case "stackScale":
|
|
*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_PictureFormat) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "stretch"
|
|
case 2:
|
|
return "stack"
|
|
case 3:
|
|
return "stackScale"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_PictureFormat) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_PictureFormat) 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_Orientation byte
|
|
|
|
const (
|
|
ST_OrientationUnset ST_Orientation = 0
|
|
ST_OrientationMaxMin ST_Orientation = 1
|
|
ST_OrientationMinMax ST_Orientation = 2
|
|
)
|
|
|
|
func (e ST_Orientation) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_OrientationUnset:
|
|
attr.Value = ""
|
|
case ST_OrientationMaxMin:
|
|
attr.Value = "maxMin"
|
|
case ST_OrientationMinMax:
|
|
attr.Value = "minMax"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_Orientation) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "maxMin":
|
|
*e = 1
|
|
case "minMax":
|
|
*e = 2
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_Orientation) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_Orientation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "maxMin":
|
|
*m = 1
|
|
case "minMax":
|
|
*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 ST_Orientation) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "maxMin"
|
|
case 2:
|
|
return "minMax"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_Orientation) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_Orientation) 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 ST_LegendPos byte
|
|
|
|
const (
|
|
ST_LegendPosUnset ST_LegendPos = 0
|
|
ST_LegendPosB ST_LegendPos = 1
|
|
ST_LegendPosTr ST_LegendPos = 2
|
|
ST_LegendPosL ST_LegendPos = 3
|
|
ST_LegendPosR ST_LegendPos = 4
|
|
ST_LegendPosT ST_LegendPos = 5
|
|
)
|
|
|
|
func (e ST_LegendPos) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_LegendPosUnset:
|
|
attr.Value = ""
|
|
case ST_LegendPosB:
|
|
attr.Value = "b"
|
|
case ST_LegendPosTr:
|
|
attr.Value = "tr"
|
|
case ST_LegendPosL:
|
|
attr.Value = "l"
|
|
case ST_LegendPosR:
|
|
attr.Value = "r"
|
|
case ST_LegendPosT:
|
|
attr.Value = "t"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_LegendPos) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "b":
|
|
*e = 1
|
|
case "tr":
|
|
*e = 2
|
|
case "l":
|
|
*e = 3
|
|
case "r":
|
|
*e = 4
|
|
case "t":
|
|
*e = 5
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_LegendPos) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_LegendPos) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "b":
|
|
*m = 1
|
|
case "tr":
|
|
*m = 2
|
|
case "l":
|
|
*m = 3
|
|
case "r":
|
|
*m = 4
|
|
case "t":
|
|
*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_LegendPos) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "b"
|
|
case 2:
|
|
return "tr"
|
|
case 3:
|
|
return "l"
|
|
case 4:
|
|
return "r"
|
|
case 5:
|
|
return "t"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_LegendPos) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_LegendPos) 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_DispBlanksAs byte
|
|
|
|
const (
|
|
ST_DispBlanksAsUnset ST_DispBlanksAs = 0
|
|
ST_DispBlanksAsSpan ST_DispBlanksAs = 1
|
|
ST_DispBlanksAsGap ST_DispBlanksAs = 2
|
|
ST_DispBlanksAsZero ST_DispBlanksAs = 3
|
|
)
|
|
|
|
func (e ST_DispBlanksAs) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_DispBlanksAsUnset:
|
|
attr.Value = ""
|
|
case ST_DispBlanksAsSpan:
|
|
attr.Value = "span"
|
|
case ST_DispBlanksAsGap:
|
|
attr.Value = "gap"
|
|
case ST_DispBlanksAsZero:
|
|
attr.Value = "zero"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_DispBlanksAs) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "span":
|
|
*e = 1
|
|
case "gap":
|
|
*e = 2
|
|
case "zero":
|
|
*e = 3
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_DispBlanksAs) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_DispBlanksAs) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "span":
|
|
*m = 1
|
|
case "gap":
|
|
*m = 2
|
|
case "zero":
|
|
*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_DispBlanksAs) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "span"
|
|
case 2:
|
|
return "gap"
|
|
case 3:
|
|
return "zero"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_DispBlanksAs) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_DispBlanksAs) 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_PageSetupOrientation byte
|
|
|
|
const (
|
|
ST_PageSetupOrientationUnset ST_PageSetupOrientation = 0
|
|
ST_PageSetupOrientationDefault ST_PageSetupOrientation = 1
|
|
ST_PageSetupOrientationPortrait ST_PageSetupOrientation = 2
|
|
ST_PageSetupOrientationLandscape ST_PageSetupOrientation = 3
|
|
)
|
|
|
|
func (e ST_PageSetupOrientation) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
|
|
attr := xml.Attr{}
|
|
attr.Name = name
|
|
switch e {
|
|
case ST_PageSetupOrientationUnset:
|
|
attr.Value = ""
|
|
case ST_PageSetupOrientationDefault:
|
|
attr.Value = "default"
|
|
case ST_PageSetupOrientationPortrait:
|
|
attr.Value = "portrait"
|
|
case ST_PageSetupOrientationLandscape:
|
|
attr.Value = "landscape"
|
|
}
|
|
return attr, nil
|
|
}
|
|
|
|
func (e *ST_PageSetupOrientation) UnmarshalXMLAttr(attr xml.Attr) error {
|
|
switch attr.Value {
|
|
case "":
|
|
*e = 0
|
|
case "default":
|
|
*e = 1
|
|
case "portrait":
|
|
*e = 2
|
|
case "landscape":
|
|
*e = 3
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m ST_PageSetupOrientation) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|
return e.EncodeElement(m.String(), start)
|
|
}
|
|
|
|
func (m *ST_PageSetupOrientation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|
tok, err := d.Token()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if cd, ok := tok.(xml.CharData); !ok {
|
|
return fmt.Errorf("expected char data, got %T", tok)
|
|
} else {
|
|
switch string(cd) {
|
|
case "":
|
|
*m = 0
|
|
case "default":
|
|
*m = 1
|
|
case "portrait":
|
|
*m = 2
|
|
case "landscape":
|
|
*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_PageSetupOrientation) String() string {
|
|
switch m {
|
|
case 0:
|
|
return ""
|
|
case 1:
|
|
return "default"
|
|
case 2:
|
|
return "portrait"
|
|
case 3:
|
|
return "landscape"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m ST_PageSetupOrientation) Validate() error {
|
|
return m.ValidateWithPath("")
|
|
}
|
|
|
|
func (m ST_PageSetupOrientation) 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
|
|
}
|
|
|
|
// init registers constructor functions for dynamically creating elements based off the XML namespace and name
|
|
func init() {
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Boolean", NewCT_Boolean)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Double", NewCT_Double)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_UnsignedInt", NewCT_UnsignedInt)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_RelId", NewCT_RelId)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Extension", NewCT_Extension)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_ExtensionList", NewCT_ExtensionList)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_NumVal", NewCT_NumVal)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_NumData", NewCT_NumData)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_NumRef", NewCT_NumRef)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_NumDataSource", NewCT_NumDataSource)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_StrVal", NewCT_StrVal)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_StrData", NewCT_StrData)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_StrRef", NewCT_StrRef)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Tx", NewCT_Tx)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_TextLanguageID", NewCT_TextLanguageID)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Lvl", NewCT_Lvl)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_MultiLvlStrData", NewCT_MultiLvlStrData)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_MultiLvlStrRef", NewCT_MultiLvlStrRef)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_AxDataSource", NewCT_AxDataSource)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_SerTx", NewCT_SerTx)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_LayoutTarget", NewCT_LayoutTarget)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_LayoutMode", NewCT_LayoutMode)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_ManualLayout", NewCT_ManualLayout)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Layout", NewCT_Layout)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Title", NewCT_Title)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_RotX", NewCT_RotX)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_HPercent", NewCT_HPercent)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_RotY", NewCT_RotY)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_DepthPercent", NewCT_DepthPercent)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Perspective", NewCT_Perspective)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_View3D", NewCT_View3D)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Surface", NewCT_Surface)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Thickness", NewCT_Thickness)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_DTable", NewCT_DTable)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_GapAmount", NewCT_GapAmount)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Overlap", NewCT_Overlap)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_BubbleScale", NewCT_BubbleScale)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_SizeRepresents", NewCT_SizeRepresents)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_FirstSliceAng", NewCT_FirstSliceAng)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_HoleSize", NewCT_HoleSize)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_SplitType", NewCT_SplitType)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_CustSplit", NewCT_CustSplit)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_SecondPieSize", NewCT_SecondPieSize)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_NumFmt", NewCT_NumFmt)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_LblAlgn", NewCT_LblAlgn)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_DLblPos", NewCT_DLblPos)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_DLbl", NewCT_DLbl)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_DLbls", NewCT_DLbls)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_MarkerStyle", NewCT_MarkerStyle)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_MarkerSize", NewCT_MarkerSize)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Marker", NewCT_Marker)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_DPt", NewCT_DPt)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_TrendlineType", NewCT_TrendlineType)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Order", NewCT_Order)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Period", NewCT_Period)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_TrendlineLbl", NewCT_TrendlineLbl)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Trendline", NewCT_Trendline)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_ErrDir", NewCT_ErrDir)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_ErrBarType", NewCT_ErrBarType)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_ErrValType", NewCT_ErrValType)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_ErrBars", NewCT_ErrBars)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_UpDownBar", NewCT_UpDownBar)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_UpDownBars", NewCT_UpDownBars)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_LineSer", NewCT_LineSer)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_ScatterSer", NewCT_ScatterSer)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_RadarSer", NewCT_RadarSer)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_BarSer", NewCT_BarSer)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_AreaSer", NewCT_AreaSer)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_PieSer", NewCT_PieSer)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_BubbleSer", NewCT_BubbleSer)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_SurfaceSer", NewCT_SurfaceSer)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Grouping", NewCT_Grouping)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_ChartLines", NewCT_ChartLines)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_LineChart", NewCT_LineChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Line3DChart", NewCT_Line3DChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_StockChart", NewCT_StockChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_ScatterStyle", NewCT_ScatterStyle)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_ScatterChart", NewCT_ScatterChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_RadarStyle", NewCT_RadarStyle)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_RadarChart", NewCT_RadarChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_BarGrouping", NewCT_BarGrouping)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_BarDir", NewCT_BarDir)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Shape", NewCT_Shape)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_BarChart", NewCT_BarChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Bar3DChart", NewCT_Bar3DChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_AreaChart", NewCT_AreaChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Area3DChart", NewCT_Area3DChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_PieChart", NewCT_PieChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Pie3DChart", NewCT_Pie3DChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_DoughnutChart", NewCT_DoughnutChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_OfPieType", NewCT_OfPieType)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_OfPieChart", NewCT_OfPieChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_BubbleChart", NewCT_BubbleChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_BandFmt", NewCT_BandFmt)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_BandFmts", NewCT_BandFmts)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_SurfaceChart", NewCT_SurfaceChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Surface3DChart", NewCT_Surface3DChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_AxPos", NewCT_AxPos)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Crosses", NewCT_Crosses)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_CrossBetween", NewCT_CrossBetween)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_TickMark", NewCT_TickMark)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_TickLblPos", NewCT_TickLblPos)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Skip", NewCT_Skip)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_TimeUnit", NewCT_TimeUnit)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_AxisUnit", NewCT_AxisUnit)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_BuiltInUnit", NewCT_BuiltInUnit)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_PictureFormat", NewCT_PictureFormat)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_PictureStackUnit", NewCT_PictureStackUnit)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_PictureOptions", NewCT_PictureOptions)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_DispUnitsLbl", NewCT_DispUnitsLbl)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_DispUnits", NewCT_DispUnits)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Orientation", NewCT_Orientation)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_LogBase", NewCT_LogBase)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Scaling", NewCT_Scaling)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_LblOffset", NewCT_LblOffset)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_CatAx", NewCT_CatAx)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_DateAx", NewCT_DateAx)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_SerAx", NewCT_SerAx)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_ValAx", NewCT_ValAx)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_PlotArea", NewCT_PlotArea)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_PivotFmt", NewCT_PivotFmt)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_PivotFmts", NewCT_PivotFmts)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_LegendPos", NewCT_LegendPos)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_LegendEntry", NewCT_LegendEntry)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Legend", NewCT_Legend)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_DispBlanksAs", NewCT_DispBlanksAs)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Chart", NewCT_Chart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Style", NewCT_Style)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_PivotSource", NewCT_PivotSource)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_Protection", NewCT_Protection)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_HeaderFooter", NewCT_HeaderFooter)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_PageMargins", NewCT_PageMargins)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_ExternalData", NewCT_ExternalData)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_PageSetup", NewCT_PageSetup)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_PrintSettings", NewCT_PrintSettings)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "CT_ChartSpace", NewCT_ChartSpace)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "chartSpace", NewChartSpace)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "userShapes", NewUserShapes)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "chart", NewChart)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "EG_DLblShared", NewEG_DLblShared)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "Group_DLbl", NewGroup_DLbl)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "Group_DLbls", NewGroup_DLbls)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "EG_SerShared", NewEG_SerShared)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "EG_LineChartShared", NewEG_LineChartShared)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "EG_BarChartShared", NewEG_BarChartShared)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "EG_AreaChartShared", NewEG_AreaChartShared)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "EG_PieChartShared", NewEG_PieChartShared)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "EG_SurfaceChartShared", NewEG_SurfaceChartShared)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "EG_AxShared", NewEG_AxShared)
|
|
gooxml.RegisterConstructor("http://schemas.openxmlformats.org/drawingml/2006/chart", "EG_LegendEntryData", NewEG_LegendEntryData)
|
|
}
|