type Settings = class(OpenXmlElement) public function Create();overload; function Create(_node: XmlNode);overload; function Create(_parent: tslobj; _prefix: string; _local_name: string);overload; function Init();override; function InitAttributes();override; function InitChildren();override; function InitNode(_node: XmlNode);override; function Copy(_obj: Settings);override; property XmlnsO read ReadXmlAttrXmlnsO write WriteXmlAttrXmlnsO; property XmlnsR read ReadXmlAttrXmlnsR write WriteXmlAttrXmlnsR; property XmlnsM read ReadXmlAttrXmlnsM write WriteXmlAttrXmlnsM; property XmlnsV read ReadXmlAttrXmlnsV write WriteXmlAttrXmlnsV; property XmlnsW read ReadXmlAttrXmlnsW write WriteXmlAttrXmlnsW; property XmlnsW14 read ReadXmlAttrXmlnsW14 write WriteXmlAttrXmlnsW14; property XmlnsW15 read ReadXmlAttrXmlnsW15 write WriteXmlAttrXmlnsW15; property XmlnsW16Cex read ReadXmlAttrXmlnsW16Cex write WriteXmlAttrXmlnsW16Cex; property XmlnsW16Cid read ReadXmlAttrXmlnsW16Cid write WriteXmlAttrXmlnsW16Cid; property XmlnsW16 read ReadXmlAttrXmlnsW16 write WriteXmlAttrXmlnsW16; property XmlnsW16Du read ReadXmlAttrXmlnsW16Du write WriteXmlAttrXmlnsW16Du; property XmlnsW16se read ReadXmlAttrXmlnsW16se write WriteXmlAttrXmlnsW16se; property XmlnsSl read ReadXmlAttrXmlnsSl write WriteXmlAttrXmlnsSl; property McIgnorable read ReadXmlAttrMcIgnorable write WriteXmlAttrMcIgnorable; function ReadXmlAttrXmlnsO(); function WriteXmlAttrXmlnsO(_value); function ReadXmlAttrXmlnsR(); function WriteXmlAttrXmlnsR(_value); function ReadXmlAttrXmlnsM(); function WriteXmlAttrXmlnsM(_value); function ReadXmlAttrXmlnsV(); function WriteXmlAttrXmlnsV(_value); function ReadXmlAttrXmlnsW(); function WriteXmlAttrXmlnsW(_value); function ReadXmlAttrXmlnsW14(); function WriteXmlAttrXmlnsW14(_value); function ReadXmlAttrXmlnsW15(); function WriteXmlAttrXmlnsW15(_value); function ReadXmlAttrXmlnsW16Cex(); function WriteXmlAttrXmlnsW16Cex(_value); function ReadXmlAttrXmlnsW16Cid(); function WriteXmlAttrXmlnsW16Cid(_value); function ReadXmlAttrXmlnsW16(); function WriteXmlAttrXmlnsW16(_value); function ReadXmlAttrXmlnsW16Du(); function WriteXmlAttrXmlnsW16Du(_value); function ReadXmlAttrXmlnsW16se(); function WriteXmlAttrXmlnsW16se(_value); function ReadXmlAttrXmlnsSl(); function WriteXmlAttrXmlnsSl(_value); function ReadXmlAttrMcIgnorable(); function WriteXmlAttrMcIgnorable(_value); property BordersDoNotSurroundHeader read ReadXmlChildBordersDoNotSurroundHeader write WriteXmlChildBordersDoNotSurroundHeader; property BordersDoNotSurroundFooter read ReadXmlChildBordersDoNotSurroundFooter write WriteXmlChildBordersDoNotSurroundFooter; property DoNotIncludeSubdocsInStats read ReadXmlChildDoNotIncludeSubdocsInStats write WriteXmlChildDoNotIncludeSubdocsInStats; property W15ChartTrackingRefBased read ReadXmlChildW15ChartTrackingRefBased write WriteXmlChildW15ChartTrackingRefBased; function ReadXmlChildBordersDoNotSurroundHeader(); function WriteXmlChildBordersDoNotSurroundHeader(_value); function ReadXmlChildBordersDoNotSurroundFooter(); function WriteXmlChildBordersDoNotSurroundFooter(_value); function ReadXmlChildDoNotIncludeSubdocsInStats(); function WriteXmlChildDoNotIncludeSubdocsInStats(_value); function ReadXmlChildW15ChartTrackingRefBased(); function WriteXmlChildW15ChartTrackingRefBased(_value); public // Attributes XmlAttrXmlnsO: OpenXmlAttribute; XmlAttrXmlnsR: OpenXmlAttribute; XmlAttrXmlnsM: OpenXmlAttribute; XmlAttrXmlnsV: OpenXmlAttribute; XmlAttrXmlnsW: OpenXmlAttribute; XmlAttrXmlnsW14: OpenXmlAttribute; XmlAttrXmlnsW15: OpenXmlAttribute; XmlAttrXmlnsW16Cex: OpenXmlAttribute; XmlAttrXmlnsW16Cid: OpenXmlAttribute; XmlAttrXmlnsW16: OpenXmlAttribute; XmlAttrXmlnsW16Du: OpenXmlAttribute; XmlAttrXmlnsW16se: OpenXmlAttribute; XmlAttrXmlnsSl: OpenXmlAttribute; XmlAttrMcIgnorable: OpenXmlAttribute; // Children Zoom: Zoom; XmlChildBordersDoNotSurroundHeader: OpenXmlEmpty; XmlChildBordersDoNotSurroundFooter: OpenXmlEmpty; DefaultTabStop: PureWVal; DrawingGridVerticalSpacing: PureWVal; DisplayHorizontalDrawingGridEvery: PureWVal; DisplayVerticalDrawingGridEvery: PureWVal; CharacterSpacingControl: PureWVal; HdrShapeDefaults: HdrShapeDefaults; FootnotePr: FootnotePr; EndnotePr: EndnotePr; Compat: Compat; Rsids: Rsids; MathPr: MathPr; ThemeFontLang: ThemeFontLang; ClrSchemeMapping: ClrSchemeMapping; XmlChildDoNotIncludeSubdocsInStats: OpenXmlEmpty; ShapeDefaults: ShapeDefaults2; DecimalSymbol: PureWVal; ListSeparator: PureWVal; W14DocId: PureWVal; XmlChildW15ChartTrackingRefBased: OpenXmlEmpty; W15DocId: PureWVal; end; function Settings.Create();overload; begin self.Create(nil, "w", "settings"); end; function Settings.Create(_node: XmlNode);overload; begin class(OpenXmlElement).Create(_node: XmlNode); end; function Settings.Create(_parent: tslobj; _prefix: string; _local_name: string);overload; begin class(OpenXmlElement).Create(_parent, _prefix, _local_name); end; function Settings.Init();override; begin self.XmlAttrXmlnsO := new OpenXmlAttribute("xmlns", "o", nil); self.XmlAttrXmlnsR := new OpenXmlAttribute("xmlns", "r", nil); self.XmlAttrXmlnsM := new OpenXmlAttribute("xmlns", "m", nil); self.XmlAttrXmlnsV := new OpenXmlAttribute("xmlns", "v", nil); self.XmlAttrXmlnsW := new OpenXmlAttribute("xmlns", "w", nil); self.XmlAttrXmlnsW14 := new OpenXmlAttribute("xmlns", "w14", nil); self.XmlAttrXmlnsW15 := new OpenXmlAttribute("xmlns", "w15", nil); self.XmlAttrXmlnsW16Cex := new OpenXmlAttribute("xmlns", "w16cex", nil); self.XmlAttrXmlnsW16Cid := new OpenXmlAttribute("xmlns", "w16cid", nil); self.XmlAttrXmlnsW16 := new OpenXmlAttribute("xmlns", "w16", nil); self.XmlAttrXmlnsW16Du := new OpenXmlAttribute("xmlns", "w16du", nil); self.XmlAttrXmlnsW16se := new OpenXmlAttribute("xmlns", "w16se", nil); self.XmlAttrXmlnsSl := new OpenXmlAttribute("xmlns", "sl", nil); self.XmlAttrMcIgnorable := new OpenXmlAttribute("mc", "Ignorable", nil); self.Zoom := new Zoom(self, self.Prefix, "zoom"); self.XmlChildBordersDoNotSurroundHeader := new OpenXmlEmpty(self, self.Prefix, "bordersDoNotSurroundHeader"); self.XmlChildBordersDoNotSurroundFooter := new OpenXmlEmpty(self, self.Prefix, "bordersDoNotSurroundFooter"); self.DefaultTabStop := new PureWVal(self, self.Prefix, "defaultTabStop"); self.DrawingGridVerticalSpacing := new PureWVal(self, self.Prefix, "drawingGridVerticalSpacing"); self.DisplayHorizontalDrawingGridEvery := new PureWVal(self, self.Prefix, "displayHorizontalDrawingGridEvery"); self.DisplayVerticalDrawingGridEvery := new PureWVal(self, self.Prefix, "DisplayVerticalDrawingGridEvery"); self.CharacterSpacingControl := new PureWVal(self, self.Prefix, "characterSpacingControl"); self.HdrShapeDefaults := new HdrShapeDefaults(self, self.Prefix, "hdrShapeDefaults"); self.FootnotePr := new FootnotePr(self, self.Prefix, "footnotePr"); self.EndnotePr := new EndnotePr(self, self.Prefix, "endnotePr"); self.Compat := new Compat(self, self.Prefix, "Compat"); self.Rsids := new Rsids(self, self.Prefix, "rsids"); self.MathPr := new MathPr(self, "m", "mathPr"); self.ThemeFontLang := new ThemeFontLang(self, self.Prefix, "themeFontLang"); self.ClrSchemeMapping := new ClrSchemeMapping(self, self.Prefix, "clrSchemeMapping"); self.XmlChildDoNotIncludeSubdocsInStats := new OpenXmlEmpty(self, self.Prefix, "doNotIncludeSubdocsInStats"); self.ShapeDefaults := new ShapeDefaults2(self, self.Prefix, "shapeDefaults"); self.DecimalSymbol := new PureWVal(self, self.Prefix, "decimalSymbol"); self.ListSeparator := new PureWVal(self, self.Prefix, "listSeparator"); self.W14DocId := new PureWVal(self, "w14", "docId"); self.XmlChildW15ChartTrackingRefBased := new OpenXmlEmpty(self, "w15", "chartTrackingRefBased"); self.W15DocId := new PureWVal(self, "w15", "docId"); end; function Settings.InitAttributes();override; begin attributes_ := array( self.XmlAttrXmlnsO, self.XmlAttrXmlnsR, self.XmlAttrXmlnsM, self.XmlAttrXmlnsV, self.XmlAttrXmlnsW, self.XmlAttrXmlnsW14, self.XmlAttrXmlnsW15, self.XmlAttrXmlnsW16Cex, self.XmlAttrXmlnsW16Cid, self.XmlAttrXmlnsW16, self.XmlAttrXmlnsW16Du, self.XmlAttrXmlnsW16se, self.XmlAttrXmlnsSl, self.XmlAttrMcIgnorable, ); end; function Settings.InitChildren();override; begin child_elements_ := array( 0: self.Zoom, 1: self.XmlChildBordersDoNotSurroundHeader, 2: self.XmlChildBordersDoNotSurroundFooter, 3: self.DefaultTabStop, 4: self.DrawingGridVerticalSpacing, 5: self.DisplayHorizontalDrawingGridEvery, 6: self.DisplayVerticalDrawingGridEvery, 7: self.CharacterSpacingControl, 8: self.HdrShapeDefaults, 9: self.FootnotePr, 10: self.EndnotePr, 11: self.Compat, 12: self.Rsids, 13: self.MathPr, 14: self.ThemeFontLang, 15: self.ClrSchemeMapping, 16: self.XmlChildDoNotIncludeSubdocsInStats, 17: self.ShapeDefaults, 18: self.DecimalSymbol, 19: self.ListSeparator, 20: self.W14DocId, 21: self.XmlChildW15ChartTrackingRefBased, 22: self.W15DocId, ); sorted_child_ := array( "": -1, self.Zoom.ElementName: 0, self.XmlChildBordersDoNotSurroundHeader.ElementName: 1, self.XmlChildBordersDoNotSurroundFooter.ElementName: 2, self.DefaultTabStop.ElementName: 3, self.DrawingGridVerticalSpacing.ElementName: 4, self.DisplayHorizontalDrawingGridEvery.ElementName: 5, self.DisplayVerticalDrawingGridEvery.ElementName: 6, self.CharacterSpacingControl.ElementName: 7, self.HdrShapeDefaults.ElementName: 8, self.FootnotePr.ElementName: 9, self.EndnotePr.ElementName: 10, self.Compat.ElementName: 11, self.Rsids.ElementName: 12, self.MathPr.ElementName: 13, self.ThemeFontLang.ElementName: 14, self.ClrSchemeMapping.ElementName: 15, self.XmlChildDoNotIncludeSubdocsInStats.ElementName: 16, self.ShapeDefaults.ElementName: 17, self.DecimalSymbol.ElementName: 18, self.ListSeparator.ElementName: 19, self.W14DocId.ElementName: 20, self.XmlChildW15ChartTrackingRefBased.ElementName: 21, self.W15DocId.ElementName: 22, ); end; function Settings.InitNode(_node: XmlNode);override; begin if ifObj(self.XmlNode) then for k,v in child_elements_ do v.InitNode(nil); self.XmlNode := ifObj(_node) ? _node : nil; node := ifObj(_node) ? _node.FirstChild() : nil; flag := false; if ifnil(child_elements_[0]) and length(child_elements_) > 0 then begin flag := true; arr := child_elements_; child_elements_ := array(); end pre := ifString(self.Prefix) ? self.Prefix + ":" : ""; while ifObj(node) do begin node_name := node.GetName(); pos := sorted_child_[node_name]; if ifnil(pos) or pos = -1 then begin obj := nil; case node_name of end; if ifObj(obj) then obj.InitNode(node); end else if flag then begin obj := arr[pos]; obj.InitNode(node); child_elements_[length(child_elements_)] := obj; end else begin child_elements_[pos].InitNode(node); end node := node.NextElement(); end end; function Settings.Copy(_obj: Settings);override; begin if not ifnil(_obj.XmlAttrXmlnsO.Value) then self.XmlAttrXmlnsO.Value := _obj.XmlAttrXmlnsO.Value; if not ifnil(_obj.XmlAttrXmlnsR.Value) then self.XmlAttrXmlnsR.Value := _obj.XmlAttrXmlnsR.Value; if not ifnil(_obj.XmlAttrXmlnsM.Value) then self.XmlAttrXmlnsM.Value := _obj.XmlAttrXmlnsM.Value; if not ifnil(_obj.XmlAttrXmlnsV.Value) then self.XmlAttrXmlnsV.Value := _obj.XmlAttrXmlnsV.Value; if not ifnil(_obj.XmlAttrXmlnsW.Value) then self.XmlAttrXmlnsW.Value := _obj.XmlAttrXmlnsW.Value; if not ifnil(_obj.XmlAttrXmlnsW14.Value) then self.XmlAttrXmlnsW14.Value := _obj.XmlAttrXmlnsW14.Value; if not ifnil(_obj.XmlAttrXmlnsW15.Value) then self.XmlAttrXmlnsW15.Value := _obj.XmlAttrXmlnsW15.Value; if not ifnil(_obj.XmlAttrXmlnsW16Cex.Value) then self.XmlAttrXmlnsW16Cex.Value := _obj.XmlAttrXmlnsW16Cex.Value; if not ifnil(_obj.XmlAttrXmlnsW16Cid.Value) then self.XmlAttrXmlnsW16Cid.Value := _obj.XmlAttrXmlnsW16Cid.Value; if not ifnil(_obj.XmlAttrXmlnsW16.Value) then self.XmlAttrXmlnsW16.Value := _obj.XmlAttrXmlnsW16.Value; if not ifnil(_obj.XmlAttrXmlnsW16Du.Value) then self.XmlAttrXmlnsW16Du.Value := _obj.XmlAttrXmlnsW16Du.Value; if not ifnil(_obj.XmlAttrXmlnsW16se.Value) then self.XmlAttrXmlnsW16se.Value := _obj.XmlAttrXmlnsW16se.Value; if not ifnil(_obj.XmlAttrXmlnsSl.Value) then self.XmlAttrXmlnsSl.Value := _obj.XmlAttrXmlnsSl.Value; if not ifnil(_obj.XmlAttrMcIgnorable.Value) then self.XmlAttrMcIgnorable.Value := _obj.XmlAttrMcIgnorable.Value; self.Zoom.Copy(_obj.Zoom); self.XmlChildBordersDoNotSurroundHeader.Copy(_obj.XmlChildBordersDoNotSurroundHeader); self.XmlChildBordersDoNotSurroundFooter.Copy(_obj.XmlChildBordersDoNotSurroundFooter); self.DefaultTabStop.Copy(_obj.DefaultTabStop); self.DrawingGridVerticalSpacing.Copy(_obj.DrawingGridVerticalSpacing); self.DisplayHorizontalDrawingGridEvery.Copy(_obj.DisplayHorizontalDrawingGridEvery); self.DisplayVerticalDrawingGridEvery.Copy(_obj.DisplayVerticalDrawingGridEvery); self.CharacterSpacingControl.Copy(_obj.CharacterSpacingControl); self.HdrShapeDefaults.Copy(_obj.HdrShapeDefaults); self.FootnotePr.Copy(_obj.FootnotePr); self.EndnotePr.Copy(_obj.EndnotePr); self.Compat.Copy(_obj.Compat); self.Rsids.Copy(_obj.Rsids); self.MathPr.Copy(_obj.MathPr); self.ThemeFontLang.Copy(_obj.ThemeFontLang); self.ClrSchemeMapping.Copy(_obj.ClrSchemeMapping); self.XmlChildDoNotIncludeSubdocsInStats.Copy(_obj.XmlChildDoNotIncludeSubdocsInStats); self.ShapeDefaults.Copy(_obj.ShapeDefaults); self.DecimalSymbol.Copy(_obj.DecimalSymbol); self.ListSeparator.Copy(_obj.ListSeparator); self.W14DocId.Copy(_obj.W14DocId); self.XmlChildW15ChartTrackingRefBased.Copy(_obj.XmlChildW15ChartTrackingRefBased); self.W15DocId.Copy(_obj.W15DocId); end; function Settings.ReadXmlAttrXmlnsO(); begin return self.XmlAttrXmlnsO.Value; end; function Settings.WriteXmlAttrXmlnsO(_value); begin self.XmlAttrXmlnsO.Value := _value; end; function Settings.ReadXmlAttrXmlnsR(); begin return self.XmlAttrXmlnsR.Value; end; function Settings.WriteXmlAttrXmlnsR(_value); begin self.XmlAttrXmlnsR.Value := _value; end; function Settings.ReadXmlAttrXmlnsM(); begin return self.XmlAttrXmlnsM.Value; end; function Settings.WriteXmlAttrXmlnsM(_value); begin self.XmlAttrXmlnsM.Value := _value; end; function Settings.ReadXmlAttrXmlnsV(); begin return self.XmlAttrXmlnsV.Value; end; function Settings.WriteXmlAttrXmlnsV(_value); begin self.XmlAttrXmlnsV.Value := _value; end; function Settings.ReadXmlAttrXmlnsW(); begin return self.XmlAttrXmlnsW.Value; end; function Settings.WriteXmlAttrXmlnsW(_value); begin self.XmlAttrXmlnsW.Value := _value; end; function Settings.ReadXmlAttrXmlnsW14(); begin return self.XmlAttrXmlnsW14.Value; end; function Settings.WriteXmlAttrXmlnsW14(_value); begin self.XmlAttrXmlnsW14.Value := _value; end; function Settings.ReadXmlAttrXmlnsW15(); begin return self.XmlAttrXmlnsW15.Value; end; function Settings.WriteXmlAttrXmlnsW15(_value); begin self.XmlAttrXmlnsW15.Value := _value; end; function Settings.ReadXmlAttrXmlnsW16Cex(); begin return self.XmlAttrXmlnsW16Cex.Value; end; function Settings.WriteXmlAttrXmlnsW16Cex(_value); begin self.XmlAttrXmlnsW16Cex.Value := _value; end; function Settings.ReadXmlAttrXmlnsW16Cid(); begin return self.XmlAttrXmlnsW16Cid.Value; end; function Settings.WriteXmlAttrXmlnsW16Cid(_value); begin self.XmlAttrXmlnsW16Cid.Value := _value; end; function Settings.ReadXmlAttrXmlnsW16(); begin return self.XmlAttrXmlnsW16.Value; end; function Settings.WriteXmlAttrXmlnsW16(_value); begin self.XmlAttrXmlnsW16.Value := _value; end; function Settings.ReadXmlAttrXmlnsW16Du(); begin return self.XmlAttrXmlnsW16Du.Value; end; function Settings.WriteXmlAttrXmlnsW16Du(_value); begin self.XmlAttrXmlnsW16Du.Value := _value; end; function Settings.ReadXmlAttrXmlnsW16se(); begin return self.XmlAttrXmlnsW16se.Value; end; function Settings.WriteXmlAttrXmlnsW16se(_value); begin self.XmlAttrXmlnsW16se.Value := _value; end; function Settings.ReadXmlAttrXmlnsSl(); begin return self.XmlAttrXmlnsSl.Value; end; function Settings.WriteXmlAttrXmlnsSl(_value); begin self.XmlAttrXmlnsSl.Value := _value; end; function Settings.ReadXmlAttrMcIgnorable(); begin return self.XmlAttrMcIgnorable.Value; end; function Settings.WriteXmlAttrMcIgnorable(_value); begin self.XmlAttrMcIgnorable.Value := _value; end; function Settings.ReadXmlChildBordersDoNotSurroundHeader(); begin return ifnil(self.XmlChildBordersDoNotSurroundHeader.Value) ? false : true; end; function Settings.WriteXmlChildBordersDoNotSurroundHeader(_value); begin self.XmlChildBordersDoNotSurroundHeader.Value := _value; end; function Settings.ReadXmlChildBordersDoNotSurroundFooter(); begin return ifnil(self.XmlChildBordersDoNotSurroundFooter.Value) ? false : true; end; function Settings.WriteXmlChildBordersDoNotSurroundFooter(_value); begin self.XmlChildBordersDoNotSurroundFooter.Value := _value; end; function Settings.ReadXmlChildDoNotIncludeSubdocsInStats(); begin return ifnil(self.XmlChildDoNotIncludeSubdocsInStats.Value) ? false : true; end; function Settings.WriteXmlChildDoNotIncludeSubdocsInStats(_value); begin self.XmlChildDoNotIncludeSubdocsInStats.Value := _value; end; function Settings.ReadXmlChildW15ChartTrackingRefBased(); begin return ifnil(self.XmlChildW15ChartTrackingRefBased.Value) ? false : true; end; function Settings.WriteXmlChildW15ChartTrackingRefBased(_value); begin self.XmlChildW15ChartTrackingRefBased.Value := _value; end;