unit DocxMLAdapters; interface type Tabs = class public function create(_obj: Tabs); function Init(); function GetTabByVal(_key: string); function AddTab(_value: Tab); property TabCount: uinteger read tab_count_; private object_: Tabs; tab_val_hash_: hash; tab_count_: uinteger; end; type SectPr = class public function create(_obj: SectPr); function Init(); function GetHeaderReferenceByType(_key: string); function AddHeaderReference(_value: HeaderReference); function GetFooterReferenceByType(_key: string); function AddFooterReference(_value: FooterReference); property HeaderReferenceCount: uinteger read headerreference_count_; property FooterReferenceCount: uinteger read footerreference_count_; private object_: SectPr; headerreference_type_hash_: hash; headerreference_count_: uinteger; footerreference_type_hash_: hash; footerreference_count_: uinteger; end; type Endnotes = class public function create(_obj: Endnotes); function Init(); function GetEndnoteById(_key: string); function AddEndnote(_value: Endnote); property EndnoteCount: uinteger read endnote_count_; private object_: Endnotes; endnote_id_hash_: hash; endnote_count_: uinteger; end; type Footnotes = class public function create(_obj: Footnotes); function Init(); function GetFootnoteById(_key: string); function AddFootnote(_value: Footnote); property FootnoteCount: uinteger read footnote_count_; private object_: Footnotes; footnote_id_hash_: hash; footnote_count_: uinteger; end; type FootnotePr = class public function create(_obj: FootnotePr); function Init(); function GetFootnoteById(_key: string); function AddFootnote(_value: Footnote); property FootnoteCount: uinteger read footnote_count_; private object_: FootnotePr; footnote_id_hash_: hash; footnote_count_: uinteger; end; type EndnotePr = class public function create(_obj: EndnotePr); function Init(); function GetFootnoteById(_key: string); function AddFootnote(_value: Footnote); property FootnoteCount: uinteger read footnote_count_; private object_: EndnotePr; footnote_id_hash_: hash; footnote_count_: uinteger; end; type Styles = class public function create(_obj: Styles); function Init(); function GetStyleByStyleId(_key: string); function GetStyleByName(_key: string); function AddStyle(_value: Style); property StyleCount: uinteger read style_count_; private object_: Styles; style_styleid_hash_: hash; style_name_hash_: hash; style_count_: uinteger; end; type Style = class public function create(_obj: Style); function Init(); function GetTblStylePrByType(_key: string); function AddTblStylePr(_value: TblStylePr); property TblStylePrCount: uinteger read tblstylepr_count_; private object_: Style; tblstylepr_type_hash_: hash; tblstylepr_count_: uinteger; end; type Numbering = class public function create(_obj: Numbering); function Init(); function GetAbstractNumByAbstractNumId(_key: string); function AddAbstractNum(_value: AbstractNum); function GetNumByNumId(_key: string); function AddNum(_value: Num); property AbstractNumCount: uinteger read abstractnum_count_; property NumCount: uinteger read num_count_; private object_: Numbering; abstractnum_abstractnumid_hash_: hash; abstractnum_count_: uinteger; num_numid_hash_: hash; num_count_: uinteger; end; implementation function Tabs.create(_obj: Tabs); begin object_ := _obj; tab_count_ := 0; tab_val_hash_ := array(); {self.}Init(); end; function Tabs.Init(); begin elements := object_.Tabs(); for k,v in elements do tab_val_hash_[v.Val] := v; tab_count_++; end; function Tabs.GetTabByVal(_key: string); begin return tab_val_hash_[_key]; end; function Tabs.AddTab(_value: Tab); begin tab_val_hash_[_value.Val] := _value; tab_count_++; end; function SectPr.create(_obj: SectPr); begin object_ := _obj; headerreference_count_ := 0; headerreference_type_hash_ := array(); footerreference_count_ := 0; footerreference_type_hash_ := array(); {self.}Init(); end; function SectPr.Init(); begin elements := object_.HeaderReferences(); for k,v in elements do headerreference_type_hash_[v.Type] := v; headerreference_count_++; elements := object_.FooterReferences(); for k,v in elements do footerreference_type_hash_[v.Type] := v; footerreference_count_++; end; function SectPr.GetHeaderReferenceByType(_key: string); begin return headerreference_type_hash_[_key]; end; function SectPr.AddHeaderReference(_value: HeaderReference); begin headerreference_type_hash_[_value.Type] := _value; headerreference_count_++; end; function SectPr.GetFooterReferenceByType(_key: string); begin return footerreference_type_hash_[_key]; end; function SectPr.AddFooterReference(_value: FooterReference); begin footerreference_type_hash_[_value.Type] := _value; footerreference_count_++; end; function Endnotes.create(_obj: Endnotes); begin object_ := _obj; endnote_count_ := 0; endnote_id_hash_ := array(); {self.}Init(); end; function Endnotes.Init(); begin elements := object_.Endnotes(); for k,v in elements do endnote_id_hash_[v.Id] := v; endnote_count_++; end; function Endnotes.GetEndnoteById(_key: string); begin return endnote_id_hash_[_key]; end; function Endnotes.AddEndnote(_value: Endnote); begin endnote_id_hash_[_value.Id] := _value; endnote_count_++; end; function Footnotes.create(_obj: Footnotes); begin object_ := _obj; footnote_count_ := 0; footnote_id_hash_ := array(); {self.}Init(); end; function Footnotes.Init(); begin elements := object_.Footnotes(); for k,v in elements do footnote_id_hash_[v.Id] := v; footnote_count_++; end; function Footnotes.GetFootnoteById(_key: string); begin return footnote_id_hash_[_key]; end; function Footnotes.AddFootnote(_value: Footnote); begin footnote_id_hash_[_value.Id] := _value; footnote_count_++; end; function FootnotePr.create(_obj: FootnotePr); begin object_ := _obj; footnote_count_ := 0; footnote_id_hash_ := array(); {self.}Init(); end; function FootnotePr.Init(); begin elements := object_.Footnotes(); for k,v in elements do footnote_id_hash_[v.Id] := v; footnote_count_++; end; function FootnotePr.GetFootnoteById(_key: string); begin return footnote_id_hash_[_key]; end; function FootnotePr.AddFootnote(_value: Footnote); begin footnote_id_hash_[_value.Id] := _value; footnote_count_++; end; function EndnotePr.create(_obj: EndnotePr); begin object_ := _obj; footnote_count_ := 0; footnote_id_hash_ := array(); {self.}Init(); end; function EndnotePr.Init(); begin elements := object_.Footnotes(); for k,v in elements do footnote_id_hash_[v.Id] := v; footnote_count_++; end; function EndnotePr.GetFootnoteById(_key: string); begin return footnote_id_hash_[_key]; end; function EndnotePr.AddFootnote(_value: Footnote); begin footnote_id_hash_[_value.Id] := _value; footnote_count_++; end; function Styles.create(_obj: Styles); begin object_ := _obj; style_count_ := 0; style_styleid_hash_ := array(); style_name_hash_ := array(); {self.}Init(); end; function Styles.Init(); begin elements := object_.Styles(); for k,v in elements do begin style_styleid_hash_[v.StyleId] := v; style_name_hash_[v.Name.Val] := v; style_count_++; end end; function Styles.GetStyleByStyleId(_key: string); begin return style_styleid_hash_[_key]; end; function Styles.GetStyleByName(_key: string); begin return style_name_hash_[_key]; end; function Styles.AddStyle(_value: Style); begin style_styleid_hash_[_value.StyleId] := _value; style_name_hash_[_value.Name.Val] := _value; style_count_++; end; function Style.create(_obj: Style); begin object_ := _obj; tblstylepr_count_ := 0; tblstylepr_type_hash_ := array(); {self.}Init(); end; function Style.Init(); begin elements := object_.TblStylePrs(); for k,v in elements do tblstylepr_type_hash_[v.Type] := v; tblstylepr_count_++; end; function Style.GetTblStylePrByType(_key: string); begin return tblstylepr_type_hash_[_key]; end; function Style.AddTblStylePr(_value: TblStylePr); begin tblstylepr_type_hash_[_value.Type] := _value; tblstylepr_count_++; end; function Numbering.create(_obj: Numbering); begin object_ := _obj; abstractnum_count_ := 0; abstractnum_abstractnumid_hash_ := array(); num_count_ := 0; num_numid_hash_ := array(); {self.}Init(); end; function Numbering.Init(); begin elements := object_.AbstractNums(); for k,v in elements do abstractnum_abstractnumid_hash_[v.AbstractNumId] := v; abstractnum_count_++; elements := object_.Nums(); for k,v in elements do num_numid_hash_[v.NumId] := v; num_count_++; end; function Numbering.GetAbstractNumByAbstractNumId(_key: string); begin return abstractnum_abstractnumid_hash_[_key]; end; function Numbering.AddAbstractNum(_value: AbstractNum); begin abstractnum_abstractnumid_hash_[_value.AbstractNumId] := _value; abstractnum_count_++; end; function Numbering.GetNumByNumId(_key: string); begin return num_numid_hash_[_key]; end; function Numbering.AddNum(_value: Num); begin num_numid_hash_[_value.NumId] := _value; num_count_++; end; end.