npoi
1918 строк · 68.2 Кб
1
2using System;3using System.Collections.Generic;4using System.Xml;5using System.Xml.Serialization;6using NPOI.OpenXmlFormats.Shared;7using System.Xml.Schema;8using System.IO;9using NPOI.OpenXml4Net.Util;10using System.Collections;11
12namespace NPOI.OpenXmlFormats.Wordprocessing13{
14
15[Serializable]16[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main")]17public class CT_HdrFtr18{19
20private ArrayList itemsField;21
22private List<ItemsChoiceType8> itemsElementNameField;23
24public CT_HdrFtr()25{26this.itemsElementNameField = new List<ItemsChoiceType8>();27this.itemsField = new ArrayList();28}29public static CT_HdrFtr Parse(CT_HdrFtr ctObj,XmlNode node, XmlNamespaceManager namespaceManager)30{31if (node == null)32return null;33foreach (XmlNode childNode in node.ChildNodes)34{35if (childNode.LocalName == "customXmlInsRangeStart")36{37ctObj.Items.Add(CT_TrackChange.Parse(childNode, namespaceManager));38ctObj.ItemsElementName.Add(ItemsChoiceType8.customXmlInsRangeStart);39}40else if (childNode.LocalName == "customXmlMoveFromRangeStart")41{42ctObj.Items.Add(CT_TrackChange.Parse(childNode, namespaceManager));43ctObj.ItemsElementName.Add(ItemsChoiceType8.customXmlMoveFromRangeStart);44}45else if (childNode.LocalName == "customXmlMoveToRangeEnd")46{47ctObj.Items.Add(CT_Markup.Parse(childNode, namespaceManager));48ctObj.ItemsElementName.Add(ItemsChoiceType8.customXmlMoveToRangeEnd);49}50else if (childNode.LocalName == "customXmlMoveToRangeStart")51{52ctObj.Items.Add(CT_TrackChange.Parse(childNode, namespaceManager));53ctObj.ItemsElementName.Add(ItemsChoiceType8.customXmlMoveToRangeStart);54}55else if (childNode.LocalName == "del")56{57ctObj.Items.Add(CT_RunTrackChange.Parse(childNode, namespaceManager));58ctObj.ItemsElementName.Add(ItemsChoiceType8.del);59}60else if (childNode.LocalName == "ins")61{62ctObj.Items.Add(CT_RunTrackChange.Parse(childNode, namespaceManager));63ctObj.ItemsElementName.Add(ItemsChoiceType8.ins);64}65else if (childNode.LocalName == "moveFrom")66{67ctObj.Items.Add(CT_RunTrackChange.Parse(childNode, namespaceManager));68ctObj.ItemsElementName.Add(ItemsChoiceType8.moveFrom);69}70else if (childNode.LocalName == "moveFromRangeEnd")71{72ctObj.Items.Add(CT_MarkupRange.Parse(childNode, namespaceManager));73ctObj.ItemsElementName.Add(ItemsChoiceType8.moveFromRangeEnd);74}75else if (childNode.LocalName == "moveFromRangeStart")76{77ctObj.Items.Add(CT_MoveBookmark.Parse(childNode, namespaceManager));78ctObj.ItemsElementName.Add(ItemsChoiceType8.moveFromRangeStart);79}80else if (childNode.LocalName == "moveTo")81{82ctObj.Items.Add(CT_RunTrackChange.Parse(childNode, namespaceManager));83ctObj.ItemsElementName.Add(ItemsChoiceType8.moveTo);84}85else if (childNode.LocalName == "moveToRangeEnd")86{87ctObj.Items.Add(CT_MarkupRange.Parse(childNode, namespaceManager));88ctObj.ItemsElementName.Add(ItemsChoiceType8.moveToRangeEnd);89}90else if (childNode.LocalName == "moveToRangeStart")91{92ctObj.Items.Add(CT_MoveBookmark.Parse(childNode, namespaceManager));93ctObj.ItemsElementName.Add(ItemsChoiceType8.moveToRangeStart);94}95else if (childNode.LocalName == "p")96{97ctObj.Items.Add(CT_P.Parse(childNode, namespaceManager));98ctObj.ItemsElementName.Add(ItemsChoiceType8.p);99}100else if (childNode.LocalName == "permEnd")101{102ctObj.Items.Add(CT_Perm.Parse(childNode, namespaceManager));103ctObj.ItemsElementName.Add(ItemsChoiceType8.permEnd);104}105else if (childNode.LocalName == "permStart")106{107ctObj.Items.Add(CT_PermStart.Parse(childNode, namespaceManager));108ctObj.ItemsElementName.Add(ItemsChoiceType8.permStart);109}110else if (childNode.LocalName == "proofErr")111{112ctObj.Items.Add(CT_ProofErr.Parse(childNode, namespaceManager));113ctObj.ItemsElementName.Add(ItemsChoiceType8.proofErr);114}115else if (childNode.LocalName == "sdt")116{117ctObj.Items.Add(CT_SdtBlock.Parse(childNode, namespaceManager));118ctObj.ItemsElementName.Add(ItemsChoiceType8.sdt);119}120else if (childNode.LocalName == "tbl")121{122ctObj.Items.Add(CT_Tbl.Parse(childNode, namespaceManager));123ctObj.ItemsElementName.Add(ItemsChoiceType8.tbl);124}125else if (childNode.LocalName == "customXmlMoveFromRangeEnd")126{127ctObj.Items.Add(CT_Markup.Parse(childNode, namespaceManager));128ctObj.ItemsElementName.Add(ItemsChoiceType8.customXmlMoveFromRangeEnd);129}130else if (childNode.LocalName == "oMath")131{132ctObj.Items.Add(CT_OMath.Parse(childNode, namespaceManager));133ctObj.ItemsElementName.Add(ItemsChoiceType8.oMath);134}135else if (childNode.LocalName == "oMathPara")136{137ctObj.Items.Add(CT_OMathPara.Parse(childNode, namespaceManager));138ctObj.ItemsElementName.Add(ItemsChoiceType8.oMathPara);139}140else if (childNode.LocalName == "altChunk")141{142ctObj.Items.Add(CT_AltChunk.Parse(childNode, namespaceManager));143ctObj.ItemsElementName.Add(ItemsChoiceType8.altChunk);144}145else if (childNode.LocalName == "bookmarkEnd")146{147ctObj.Items.Add(CT_MarkupRange.Parse(childNode, namespaceManager));148ctObj.ItemsElementName.Add(ItemsChoiceType8.bookmarkEnd);149}150else if (childNode.LocalName == "bookmarkStart")151{152ctObj.Items.Add(CT_Bookmark.Parse(childNode, namespaceManager));153ctObj.ItemsElementName.Add(ItemsChoiceType8.bookmarkStart);154}155else if (childNode.LocalName == "commentRangeEnd")156{157ctObj.Items.Add(CT_MarkupRange.Parse(childNode, namespaceManager));158ctObj.ItemsElementName.Add(ItemsChoiceType8.commentRangeEnd);159}160else if (childNode.LocalName == "commentRangeStart")161{162ctObj.Items.Add(CT_MarkupRange.Parse(childNode, namespaceManager));163ctObj.ItemsElementName.Add(ItemsChoiceType8.commentRangeStart);164}165else if (childNode.LocalName == "customXml")166{167ctObj.Items.Add(CT_CustomXmlBlock.Parse(childNode, namespaceManager));168ctObj.ItemsElementName.Add(ItemsChoiceType8.customXml);169}170else if (childNode.LocalName == "customXmlDelRangeEnd")171{172ctObj.Items.Add(CT_Markup.Parse(childNode, namespaceManager));173ctObj.ItemsElementName.Add(ItemsChoiceType8.customXmlDelRangeEnd);174}175else if (childNode.LocalName == "customXmlDelRangeStart")176{177ctObj.Items.Add(CT_TrackChange.Parse(childNode, namespaceManager));178ctObj.ItemsElementName.Add(ItemsChoiceType8.customXmlDelRangeStart);179}180else if (childNode.LocalName == "customXmlInsRangeEnd")181{182ctObj.Items.Add(CT_Markup.Parse(childNode, namespaceManager));183ctObj.ItemsElementName.Add(ItemsChoiceType8.customXmlInsRangeEnd);184}185}186return ctObj;187}188
189internal void Write(StreamWriter sw, string nodeName)190{191sw.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>");192sw.Write(string.Format("<w:{0} ", nodeName));193sw.Write("xmlns:wpc=\"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\" xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" ");194sw.Write("xmlns:cx=\"http://schemas.microsoft.com/office/drawing/2014/chartex\" xmlns:cx1=\"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex\" xmlns:cx2=\"http://schemas.microsoft.com/office/drawing/2015/10/21/chartex\" xmlns:cx3=\"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex\" xmlns:cx4=\"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex\" xmlns:cx5=\"http://schemas.microsoft.com/office/drawing/2016/5/11/chartex\" xmlns:cx6=\"http://schemas.microsoft.com/office/drawing/2016/5/12/chartex\" xmlns:cx7=\"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex\" xmlns:cx8=\"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex\" ");195sw.Write("xmlns:aink=\"http://schemas.microsoft.com/office/drawing/2016/ink\" xmlns:am3d=\"http://schemas.microsoft.com/office/drawing/2017/model3d\" ");196//sw.Write("xmlns:ve=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" ");197sw.Write("xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:oel=\"http://schemas.microsoft.com/office/2019/extlst\" ");198sw.Write("xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" ");199sw.Write("xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:wp14=\"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\" xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" ");200sw.Write("xmlns:w10=\"urn:schemas-microsoft-com:office:word\" xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" ");201sw.Write("xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" xmlns:w15=\"http://schemas.microsoft.com/office/word/2012/wordml\" ");202sw.Write("xmlns:w16cex=\"http://schemas.microsoft.com/office/word/2018/wordml/cex\" xmlns:w16cid=\"http://schemas.microsoft.com/office/word/2016/wordml/cid\" xmlns:w16=\"http://schemas.microsoft.com/office/word/2018/wordml\" xmlns:w16du=\"http://schemas.microsoft.com/office/word/2023/wordml/word16du\" xmlns:w16sdtdh=\"http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash\" xmlns:w16se=\"http://schemas.microsoft.com/office/word/2015/wordml/symex\" ");203sw.Write("xmlns:wpg=\"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\" xmlns:wpi=\"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\" xmlns:wne=\"http://schemas.microsoft.com/office/word/2006/wordml\" xmlns:wps=\"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\" ");204sw.Write("mc:Ignorable=\"w14 w15 w16se w16cid w16 w16cex w16sdtdh wp14\">");205foreach (object o in this.Items)206{207if (o is CT_TrackChange)208((CT_TrackChange)o).Write(sw, "customXmlInsRangeStart");209else if (o is CT_TrackChange)210((CT_TrackChange)o).Write(sw, "customXmlMoveFromRangeStart");211else if (o is CT_Markup)212((CT_Markup)o).Write(sw, "customXmlMoveToRangeEnd");213else if (o is CT_TrackChange)214((CT_TrackChange)o).Write(sw, "customXmlMoveToRangeStart");215else if (o is CT_RunTrackChange)216((CT_RunTrackChange)o).Write(sw, "del");217else if (o is CT_RunTrackChange)218((CT_RunTrackChange)o).Write(sw, "ins");219else if (o is CT_RunTrackChange)220((CT_RunTrackChange)o).Write(sw, "moveFrom");221else if (o is CT_MarkupRange)222((CT_MarkupRange)o).Write(sw, "moveFromRangeEnd");223else if (o is CT_MoveBookmark)224((CT_MoveBookmark)o).Write(sw, "moveFromRangeStart");225else if (o is CT_RunTrackChange)226((CT_RunTrackChange)o).Write(sw, "moveTo");227else if (o is CT_MarkupRange)228((CT_MarkupRange)o).Write(sw, "moveToRangeEnd");229else if (o is CT_MoveBookmark)230((CT_MoveBookmark)o).Write(sw, "moveToRangeStart");231else if (o is CT_P)232((CT_P)o).Write(sw, "p");233else if (o is CT_Perm)234((CT_Perm)o).Write(sw, "permEnd");235else if (o is CT_PermStart)236((CT_PermStart)o).Write(sw, "permStart");237else if (o is CT_ProofErr)238((CT_ProofErr)o).Write(sw, "proofErr");239else if (o is CT_SdtBlock)240((CT_SdtBlock)o).Write(sw, "sdt");241else if (o is CT_Tbl)242((CT_Tbl)o).Write(sw, "tbl");243else if (o is CT_Markup)244((CT_Markup)o).Write(sw, "customXmlMoveFromRangeEnd");245else if (o is CT_OMath)246((CT_OMath)o).Write(sw, "oMath");247else if (o is CT_OMathPara)248((CT_OMathPara)o).Write(sw, "oMathPara");249else if (o is CT_AltChunk)250((CT_AltChunk)o).Write(sw, "altChunk");251else if (o is CT_MarkupRange)252((CT_MarkupRange)o).Write(sw, "bookmarkEnd");253else if (o is CT_Bookmark)254((CT_Bookmark)o).Write(sw, "bookmarkStart");255else if (o is CT_MarkupRange)256((CT_MarkupRange)o).Write(sw, "commentRangeEnd");257else if (o is CT_MarkupRange)258((CT_MarkupRange)o).Write(sw, "commentRangeStart");259else if (o is CT_CustomXmlBlock)260((CT_CustomXmlBlock)o).Write(sw, "customXml");261else if (o is CT_Markup)262((CT_Markup)o).Write(sw, "customXmlDelRangeEnd");263else if (o is CT_TrackChange)264((CT_TrackChange)o).Write(sw, "customXmlDelRangeStart");265else if (o is CT_Markup)266((CT_Markup)o).Write(sw, "customXmlInsRangeEnd");267}268sw.WriteEndW(nodeName);269}270
271public ArrayList Items272{273get274{275return this.itemsField;276}277set278{279this.itemsField =value;280}281}282
283[XmlElement("ItemsElementName", Order = 1)]284[XmlIgnore]285public List<ItemsChoiceType8> ItemsElementName286{287get288{289return this.itemsElementNameField;290}291set292{293this.itemsElementNameField = value;294}295}296
297public CT_Tbl GetTblArray(int i)298{299return GetObjectArray<CT_Tbl>(i, ItemsChoiceType8.tbl);300}301
302public IList<CT_Tbl> GetTblList()303{304return GetObjectList<CT_Tbl>(ItemsChoiceType8.tbl);305}306
307public CT_P AddNewP()308{309return AddNewObject<CT_P>(ItemsChoiceType8.p);310}311
312public CT_Tbl AddNewTbl()313{314return AddNewObject<CT_Tbl>(ItemsChoiceType8.tbl);315}316
317public void SetPArray(int i, CT_P cT_P)318{319SetObject<CT_P>(ItemsChoiceType8.p, i, cT_P);320}321#region Generic methods for object operation322
323private List<T> GetObjectList<T>(ItemsChoiceType8 type) where T : class324{325lock (this)326{327List<T> list = new List<T>();328for (int i = 0; i < itemsElementNameField.Count; i++)329{330if (itemsElementNameField[i] == type)331list.Add(itemsField[i] as T);332}333return list;334}335}336private int SizeOfArray(ItemsChoiceType8 type)337{338lock (this)339{340int size = 0;341for (int i = 0; i < itemsElementNameField.Count; i++)342{343if (itemsElementNameField[i] == type)344size++;345}346return size;347}348}349private T GetObjectArray<T>(int p, ItemsChoiceType8 type) where T : class350{351lock (this)352{353int pos = GetObjectIndex(type, p);354if (pos < 0 || pos >= this.itemsField.Count)355return null;356return itemsField[pos] as T;357}358}359private T AddNewObject<T>(ItemsChoiceType8 type) where T : class, new()360{361T t = new T();362lock (this)363{364this.itemsElementNameField.Add(type);365this.itemsField.Add(t);366}367return t;368}369private void SetObject<T>(ItemsChoiceType8 type, int p, T obj) where T : class370{371lock (this)372{373int pos = GetObjectIndex(type, p);374if (pos < 0 || pos >= this.itemsField.Count)375return;376if (this.itemsField[pos] is T)377this.itemsField[pos] = obj;378else379throw new Exception(string.Format(@"object types are difference, itemsField[{0}] is {1}, and parameter obj is {2}",380pos, this.itemsField[pos].GetType().Name, typeof(T).Name));381}382}383private int GetObjectIndex(ItemsChoiceType8 type, int p)384{385int index = -1;386int pos = 0;387for (int i = 0; i < itemsElementNameField.Count; i++)388{389if (itemsElementNameField[i] == type)390{391if (pos == p)392{393//return itemsField[p] as T;394index = i;395break;396}397else398pos++;399}400}401return index;402}403private void RemoveObject(ItemsChoiceType8 type, int p)404{405lock (this)406{407int pos = GetObjectIndex(type, p);408if (pos < 0 || pos >= this.itemsField.Count)409return;410itemsElementNameField.RemoveAt(pos);411itemsField.RemoveAt(pos);412}413}414#endregion415
416}417[XmlRoot("ftr", Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", IsNullable = false)]418public class CT_Ftr : CT_HdrFtr419{420public static CT_Ftr Parse(XmlNode node, XmlNamespaceManager namespaceManager)421{422CT_Ftr ctObj= new CT_Ftr();423return (CT_Ftr)CT_HdrFtr.Parse(ctObj, node, namespaceManager);424}425internal void Write(StreamWriter sw)426{427base.Write(sw, "ftr");428}429}430[XmlRoot("hdr", Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", IsNullable = false)]431public class CT_Hdr : CT_HdrFtr432{433public static CT_Hdr Parse(XmlNode node, XmlNamespaceManager namespaceManager)434{435CT_Hdr ctObj = new CT_Hdr();436return (CT_Hdr)CT_HdrFtr.Parse(ctObj, node, namespaceManager);437}438internal void Write(StreamWriter sw)439{440base.Write(sw, "hdr");441}442}443[Serializable]444[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", IncludeInSchema = false)]445public enum ItemsChoiceType8446{447
448
449[XmlEnum("http://schemas.openxmlformats.org/officeDocument/2006/math:oMath")]450oMath,451
452
453[XmlEnum("http://schemas.openxmlformats.org/officeDocument/2006/math:oMathPara")]454oMathPara,455
456
457altChunk,458
459
460bookmarkEnd,461
462
463bookmarkStart,464
465
466commentRangeEnd,467
468
469commentRangeStart,470
471
472customXml,473
474
475customXmlDelRangeEnd,476
477
478customXmlDelRangeStart,479
480
481customXmlInsRangeEnd,482
483
484customXmlInsRangeStart,485
486
487customXmlMoveFromRangeEnd,488
489
490customXmlMoveFromRangeStart,491
492
493customXmlMoveToRangeEnd,494
495
496customXmlMoveToRangeStart,497
498
499del,500
501
502ins,503
504
505moveFrom,506
507
508moveFromRangeEnd,509
510
511moveFromRangeStart,512
513
514moveTo,515
516
517moveToRangeEnd,518
519
520moveToRangeStart,521
522
523p,524
525
526permEnd,527
528
529permStart,530
531
532proofErr,533
534
535sdt,536
537
538tbl,539}540
541[Serializable]542
543[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main")]544[XmlRoot(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", IsNullable = true)]545public class CT_HdrFtrRef : CT_Rel546{547public static new CT_HdrFtrRef Parse(XmlNode node, XmlNamespaceManager namespaceManager)548{549if (node == null)550return null;551CT_HdrFtrRef ctObj = new CT_HdrFtrRef();552if (node.Attributes["w:type"] != null)553{554try555{556ctObj.type = (ST_HdrFtr)Enum.Parse(typeof(ST_HdrFtr), node.Attributes["w:type"].Value);557}558catch (ArgumentException)559{560ctObj.type = ST_HdrFtr.@default;561}562}563ctObj.id = XmlHelper.ReadString(node.Attributes["r:id"]);564return ctObj;565}566
567
568
569internal new void Write(StreamWriter sw, string nodeName)570{571sw.Write(string.Format("<w:{0}", nodeName));572XmlHelper.WriteAttribute(sw, "w:type", this.type.ToString());573XmlHelper.WriteAttribute(sw, "r:id", this.id);574sw.Write("/>");575}576
577private ST_HdrFtr typeField;578
579[XmlAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]580public ST_HdrFtr type581{582get583{584return this.typeField;585}586set587{588this.typeField = value;589}590}591}592
593
594[Serializable]595[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main")]596public enum ST_HdrFtr597{598
599
600[XmlEnum("even")]601even,602
603[XmlEnum("default")]604@default,605
606[XmlEnum("first")]607first,608}609
610
611[XmlInclude(typeof(CT_FtnDocProps))]612
613[Serializable]614
615[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main")]616[XmlRoot(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", IsNullable = true)]617public class CT_FtnProps618{619
620private CT_FtnPos posField;621
622private CT_NumFmt numFmtField;623
624private CT_DecimalNumber numStartField;625
626private CT_NumRestart numRestartField;627
628public CT_FtnProps()629{630//this.numRestartField = new CT_NumRestart();631//this.numStartField = new CT_DecimalNumber();632//this.numFmtField = new CT_NumFmt();633//this.posField = new CT_FtnPos();634}635public static CT_FtnProps Parse(XmlNode node, XmlNamespaceManager namespaceManager)636{637if (node == null)638return null;639CT_FtnProps ctObj = new CT_FtnProps();640foreach (XmlNode childNode in node.ChildNodes)641{642if (childNode.LocalName == "pos")643ctObj.pos = CT_FtnPos.Parse(childNode, namespaceManager);644else if (childNode.LocalName == "numFmt")645ctObj.numFmt = CT_NumFmt.Parse(childNode, namespaceManager);646else if (childNode.LocalName == "numStart")647ctObj.numStart = CT_DecimalNumber.Parse(childNode, namespaceManager);648else if (childNode.LocalName == "numRestart")649ctObj.numRestart = CT_NumRestart.Parse(childNode, namespaceManager);650}651return ctObj;652}653
654
655
656internal void Write(StreamWriter sw, string nodeName)657{658sw.Write(string.Format("<w:{0}", nodeName));659sw.Write(">");660if (this.pos != null)661this.pos.Write(sw, "pos");662if (this.numFmt != null)663this.numFmt.Write(sw, "numFmt");664if (this.numStart != null)665this.numStart.Write(sw, "numStart");666if (this.numRestart != null)667this.numRestart.Write(sw, "numRestart");668sw.WriteEndW(nodeName);669}670
671[XmlElement(Order = 0)]672public CT_FtnPos pos673{674get675{676return this.posField;677}678set679{680this.posField = value;681}682}683
684[XmlElement(Order = 1)]685public CT_NumFmt numFmt686{687get688{689return this.numFmtField;690}691set692{693this.numFmtField = value;694}695}696
697[XmlElement(Order = 2)]698public CT_DecimalNumber numStart699{700get701{702return this.numStartField;703}704set705{706this.numStartField = value;707}708}709
710[XmlElement(Order = 3)]711public CT_NumRestart numRestart712{713get714{715return this.numRestartField;716}717set718{719this.numRestartField = value;720}721}722}723
724
725[Serializable]726
727[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main")]728[XmlRoot(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", IsNullable = true)]729public class CT_FtnPos730{731public static CT_FtnPos Parse(XmlNode node, XmlNamespaceManager namespaceManager)732{733if (node == null)734return null;735CT_FtnPos ctObj = new CT_FtnPos();736if (node.Attributes["w:val"] != null)737ctObj.val = (ST_FtnPos)Enum.Parse(typeof(ST_FtnPos), node.Attributes["w:val"].Value);738return ctObj;739}740
741
742
743internal void Write(StreamWriter sw, string nodeName)744{745sw.Write(string.Format("<w:{0}", nodeName));746XmlHelper.WriteAttribute(sw, "w:val", this.val.ToString());747sw.Write(">");748sw.WriteEndW(nodeName);749}750
751private ST_FtnPos valField;752
753[XmlAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]754public ST_FtnPos val755{756get757{758return this.valField;759}760set761{762this.valField = value;763}764}765}766
767
768[Serializable]769[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main")]770public enum ST_FtnPos771{772
773
774pageBottom,775
776
777beneathText,778
779
780sectEnd,781
782
783docEnd,784}785
786public class CT_Footnotes787{788
789private List<CT_FtnEdn> footnoteField;790
791public CT_Footnotes()792{793//this.footnoteField = new List<CT_FtnEdn>();794}795public static CT_Footnotes Parse(XmlNode node, XmlNamespaceManager namespaceManager)796{797if (node == null)798return null;799CT_Footnotes ctObj = new CT_Footnotes();800ctObj.footnote = new List<CT_FtnEdn>();801foreach (XmlNode childNode in node.ChildNodes)802{803if (childNode.LocalName == "footnote")804ctObj.footnote.Add(CT_FtnEdn.Parse(childNode, namespaceManager));805}806return ctObj;807}808
809internal void Write(StreamWriter sw)810{811sw.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>");812sw.Write("<w:footnotes xmlns:wpc=\"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\" xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" ");813//sw.Write("xmlns:ve=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" ");814sw.Write("xmlns:o=\"urn:schemas-microsoft-com:office:office\" ");815sw.Write("xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" ");816sw.Write("xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:wp14=\"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\" ");817sw.Write("xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" ");818sw.Write("xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" xmlns:w15=\"http://schemas.microsoft.com/office/word/2012/wordml\" xmlns:w10=\"urn:schemas-microsoft-com:office:word\" ");819sw.Write("xmlns:wpg=\"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\" xmlns:wpi=\"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\" ");820sw.Write("xmlns:wne=\"http://schemas.microsoft.com/office/word/2006/wordml\" xmlns:wps=\"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\" ");821sw.Write("mc:Ignorable=\"w14 w15 wp14\">");822if (this.footnote != null)823{824foreach (CT_FtnEdn x in this.footnote)825{826x.Write(sw, "footnote");827}828}829sw.Write("</w:footnotes>");830}831
832[XmlElement("footnote", Order = 0)]833public List<CT_FtnEdn> footnote834{835get836{837return this.footnoteField;838}839set840{841this.footnoteField = value;842}843}844public CT_FtnEdn AddNewFootnote()845{846CT_FtnEdn f = new CT_FtnEdn();847if (footnoteField == null)848footnoteField = new List<CT_FtnEdn>();849footnoteField.Add(f);850return f;851}852public void RemoveFootnote(int pos)853{854this.footnoteField.RemoveAt(pos);855}856public int SizeOfFootnoteArray857{858get859{860return this.footnoteField.Count;861}862}863}864
865
866[Serializable]867[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main")]868[XmlRoot("endnote", Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", IsNullable = true)]869public class CT_FtnEdn870{871
872private ArrayList itemsField = new ArrayList();873
874private List<ItemsChoiceType7> itemsElementNameField = new List<ItemsChoiceType7>();875
876private ST_FtnEdn typeField;877
878private bool typeFieldSpecified;879
880private int idField = -1;881
882public static CT_FtnEdn Parse(XmlNode node, XmlNamespaceManager namespaceManager)883{884if (node == null)885return null;886CT_FtnEdn ctObj = new CT_FtnEdn();887if (node.Attributes["w:type"] != null)888ctObj.type = (ST_FtnEdn)Enum.Parse(typeof(ST_FtnEdn), node.Attributes["w:type"].Value);889ctObj.id = XmlHelper.ReadInt(node.Attributes["w:id"]);890
891foreach (XmlNode childNode in node.ChildNodes)892{893if (childNode.LocalName == "customXmlDelRangeStart")894{895ctObj.Items.Add(CT_TrackChange.Parse(childNode, namespaceManager));896ctObj.ItemsElementName.Add(ItemsChoiceType7.customXmlDelRangeStart);897}898else if (childNode.LocalName == "moveToRangeEnd")899{900ctObj.Items.Add(CT_MarkupRange.Parse(childNode, namespaceManager));901ctObj.ItemsElementName.Add(ItemsChoiceType7.moveToRangeEnd);902}903else if (childNode.LocalName == "customXmlMoveFromRangeEnd")904{905ctObj.Items.Add(CT_Markup.Parse(childNode, namespaceManager));906ctObj.ItemsElementName.Add(ItemsChoiceType7.customXmlMoveFromRangeEnd);907}908else if (childNode.LocalName == "ins")909{910ctObj.Items.Add(CT_RunTrackChange.Parse(childNode, namespaceManager));911ctObj.ItemsElementName.Add(ItemsChoiceType7.ins);912}913else if (childNode.LocalName == "customXmlDelRangeEnd")914{915ctObj.Items.Add(CT_Markup.Parse(childNode, namespaceManager));916ctObj.ItemsElementName.Add(ItemsChoiceType7.customXmlDelRangeEnd);917}918else if (childNode.LocalName == "customXmlInsRangeEnd")919{920ctObj.Items.Add(CT_Markup.Parse(childNode, namespaceManager));921ctObj.ItemsElementName.Add(ItemsChoiceType7.customXmlInsRangeEnd);922}923else if (childNode.LocalName == "customXmlInsRangeStart")924{925ctObj.Items.Add(CT_TrackChange.Parse(childNode, namespaceManager));926ctObj.ItemsElementName.Add(ItemsChoiceType7.customXmlInsRangeStart);927}928else if (childNode.LocalName == "moveTo")929{930ctObj.Items.Add(CT_RunTrackChange.Parse(childNode, namespaceManager));931ctObj.ItemsElementName.Add(ItemsChoiceType7.moveTo);932}933else if (childNode.LocalName == "moveToRangeStart")934{935ctObj.Items.Add(CT_MoveBookmark.Parse(childNode, namespaceManager));936ctObj.ItemsElementName.Add(ItemsChoiceType7.moveToRangeStart);937}938else if (childNode.LocalName == "customXmlMoveFromRangeStart")939{940ctObj.Items.Add(CT_TrackChange.Parse(childNode, namespaceManager));941ctObj.ItemsElementName.Add(ItemsChoiceType7.customXmlMoveFromRangeStart);942}943else if (childNode.LocalName == "customXmlMoveToRangeEnd")944{945ctObj.Items.Add(CT_Markup.Parse(childNode, namespaceManager));946ctObj.ItemsElementName.Add(ItemsChoiceType7.customXmlMoveToRangeEnd);947}948else if (childNode.LocalName == "customXmlMoveToRangeStart")949{950ctObj.Items.Add(CT_TrackChange.Parse(childNode, namespaceManager));951ctObj.ItemsElementName.Add(ItemsChoiceType7.customXmlMoveToRangeStart);952}953else if (childNode.LocalName == "del")954{955ctObj.Items.Add(CT_RunTrackChange.Parse(childNode, namespaceManager));956ctObj.ItemsElementName.Add(ItemsChoiceType7.del);957}958else if (childNode.LocalName == "p")959{960ctObj.Items.Add(CT_P.Parse(childNode, namespaceManager));961ctObj.ItemsElementName.Add(ItemsChoiceType7.p);962}963else if (childNode.LocalName == "permEnd")964{965ctObj.Items.Add(CT_Perm.Parse(childNode, namespaceManager));966ctObj.ItemsElementName.Add(ItemsChoiceType7.permEnd);967}968else if (childNode.LocalName == "permStart")969{970ctObj.Items.Add(CT_PermStart.Parse(childNode, namespaceManager));971ctObj.ItemsElementName.Add(ItemsChoiceType7.permStart);972}973else if (childNode.LocalName == "proofErr")974{975ctObj.Items.Add(CT_ProofErr.Parse(childNode, namespaceManager));976ctObj.ItemsElementName.Add(ItemsChoiceType7.proofErr);977}978else if (childNode.LocalName == "sdt")979{980ctObj.Items.Add(CT_SdtBlock.Parse(childNode, namespaceManager));981ctObj.ItemsElementName.Add(ItemsChoiceType7.sdt);982}983else if (childNode.LocalName == "moveFrom")984{985ctObj.Items.Add(CT_RunTrackChange.Parse(childNode, namespaceManager));986ctObj.ItemsElementName.Add(ItemsChoiceType7.moveFrom);987}988else if (childNode.LocalName == "moveFromRangeEnd")989{990ctObj.Items.Add(CT_MarkupRange.Parse(childNode, namespaceManager));991ctObj.ItemsElementName.Add(ItemsChoiceType7.moveFromRangeEnd);992}993else if (childNode.LocalName == "tbl")994{995ctObj.Items.Add(CT_Tbl.Parse(childNode, namespaceManager));996ctObj.ItemsElementName.Add(ItemsChoiceType7.tbl);997}998else if (childNode.LocalName == "moveFromRangeStart")999{1000ctObj.Items.Add(CT_MoveBookmark.Parse(childNode, namespaceManager));1001ctObj.ItemsElementName.Add(ItemsChoiceType7.moveFromRangeStart);1002}1003else if (childNode.LocalName == "oMath")1004{1005ctObj.Items.Add(CT_OMath.Parse(childNode, namespaceManager));1006ctObj.ItemsElementName.Add(ItemsChoiceType7.oMath);1007}1008else if (childNode.LocalName == "oMathPara")1009{1010ctObj.Items.Add(CT_OMathPara.Parse(childNode, namespaceManager));1011ctObj.ItemsElementName.Add(ItemsChoiceType7.oMathPara);1012}1013else if (childNode.LocalName == "altChunk")1014{1015ctObj.Items.Add(CT_AltChunk.Parse(childNode, namespaceManager));1016ctObj.ItemsElementName.Add(ItemsChoiceType7.altChunk);1017}1018else if (childNode.LocalName == "bookmarkEnd")1019{1020ctObj.Items.Add(CT_MarkupRange.Parse(childNode, namespaceManager));1021ctObj.ItemsElementName.Add(ItemsChoiceType7.bookmarkEnd);1022}1023else if (childNode.LocalName == "bookmarkStart")1024{1025ctObj.Items.Add(CT_Bookmark.Parse(childNode, namespaceManager));1026ctObj.ItemsElementName.Add(ItemsChoiceType7.bookmarkStart);1027}1028else if (childNode.LocalName == "commentRangeEnd")1029{1030ctObj.Items.Add(CT_MarkupRange.Parse(childNode, namespaceManager));1031ctObj.ItemsElementName.Add(ItemsChoiceType7.commentRangeEnd);1032}1033else if (childNode.LocalName == "commentRangeStart")1034{1035ctObj.Items.Add(CT_MarkupRange.Parse(childNode, namespaceManager));1036ctObj.ItemsElementName.Add(ItemsChoiceType7.commentRangeStart);1037}1038else if (childNode.LocalName == "customXml")1039{1040ctObj.Items.Add(CT_CustomXmlBlock.Parse(childNode, namespaceManager));1041ctObj.ItemsElementName.Add(ItemsChoiceType7.customXml);1042}1043}1044return ctObj;1045}1046
1047internal void Write(StreamWriter sw, string nodeName)1048{1049sw.Write(string.Format("<w:{0}", nodeName));1050XmlHelper.WriteAttribute(sw, "w:type", this.type.ToString());1051XmlHelper.WriteAttribute(sw, "w:id", this.id, true);1052sw.Write(">");1053int i = 0;1054foreach (object o in this.Items)1055{1056if (o is CT_TrackChange&& this.itemsElementNameField[i]== ItemsChoiceType7.customXmlDelRangeStart)1057((CT_TrackChange)o).Write(sw, "customXmlDelRangeStart");1058else if (o is CT_MarkupRange && this.itemsElementNameField[i] == ItemsChoiceType7.moveToRangeEnd)1059((CT_MarkupRange)o).Write(sw, "moveToRangeEnd");1060else if (o is CT_Markup && this.itemsElementNameField[i] == ItemsChoiceType7.customXmlMoveFromRangeEnd)1061((CT_Markup)o).Write(sw, "customXmlMoveFromRangeEnd");1062else if (o is CT_RunTrackChange && this.itemsElementNameField[i] == ItemsChoiceType7.ins)1063((CT_RunTrackChange)o).Write(sw, "ins");1064else if (o is CT_Markup && this.itemsElementNameField[i] == ItemsChoiceType7.customXmlDelRangeEnd)1065((CT_Markup)o).Write(sw, "customXmlDelRangeEnd");1066else if (o is CT_Markup && this.itemsElementNameField[i] == ItemsChoiceType7.customXmlInsRangeEnd)1067((CT_Markup)o).Write(sw, "customXmlInsRangeEnd");1068else if (o is CT_TrackChange && this.itemsElementNameField[i] == ItemsChoiceType7.customXmlInsRangeStart)1069((CT_TrackChange)o).Write(sw, "customXmlInsRangeStart");1070else if (o is CT_RunTrackChange && this.itemsElementNameField[i] == ItemsChoiceType7.moveTo)1071((CT_RunTrackChange)o).Write(sw, "moveTo");1072else if (o is CT_MoveBookmark && this.itemsElementNameField[i] == ItemsChoiceType7.moveToRangeStart)1073((CT_MoveBookmark)o).Write(sw, "moveToRangeStart");1074else if (o is CT_TrackChange && this.itemsElementNameField[i] == ItemsChoiceType7.customXmlMoveFromRangeStart)1075((CT_TrackChange)o).Write(sw, "customXmlMoveFromRangeStart");1076else if (o is CT_Markup && this.itemsElementNameField[i] == ItemsChoiceType7.customXmlMoveToRangeEnd)1077((CT_Markup)o).Write(sw, "customXmlMoveToRangeEnd");1078else if (o is CT_TrackChange && this.itemsElementNameField[i] == ItemsChoiceType7.customXmlMoveToRangeStart)1079((CT_TrackChange)o).Write(sw, "customXmlMoveToRangeStart");1080else if (o is CT_RunTrackChange && this.itemsElementNameField[i] == ItemsChoiceType7.del)1081((CT_RunTrackChange)o).Write(sw, "del");1082else if (o is CT_P)1083((CT_P)o).Write(sw, "p");1084else if (o is CT_Perm)1085((CT_Perm)o).Write(sw, "permEnd");1086else if (o is CT_PermStart)1087((CT_PermStart)o).Write(sw, "permStart");1088else if (o is CT_ProofErr)1089((CT_ProofErr)o).Write(sw, "proofErr");1090else if (o is CT_SdtBlock)1091((CT_SdtBlock)o).Write(sw, "sdt");1092else if (o is CT_RunTrackChange && this.itemsElementNameField[i] == ItemsChoiceType7.moveFrom)1093((CT_RunTrackChange)o).Write(sw, "moveFrom");1094else if (o is CT_MarkupRange && this.itemsElementNameField[i] == ItemsChoiceType7.moveFromRangeEnd)1095((CT_MarkupRange)o).Write(sw, "moveFromRangeEnd");1096else if (o is CT_Tbl)1097((CT_Tbl)o).Write(sw, "tbl");1098else if (o is CT_MoveBookmark && this.itemsElementNameField[i] == ItemsChoiceType7.moveFromRangeStart)1099((CT_MoveBookmark)o).Write(sw, "moveFromRangeStart");1100else if (o is CT_OMath)1101((CT_OMath)o).Write(sw, "oMath");1102else if (o is CT_OMathPara)1103((CT_OMathPara)o).Write(sw, "oMathPara");1104else if (o is CT_AltChunk)1105((CT_AltChunk)o).Write(sw, "altChunk");1106else if (o is CT_MarkupRange && this.itemsElementNameField[i] == ItemsChoiceType7.bookmarkEnd)1107((CT_MarkupRange)o).Write(sw, "bookmarkEnd");1108else if (o is CT_Bookmark && this.itemsElementNameField[i] == ItemsChoiceType7.bookmarkStart)1109((CT_Bookmark)o).Write(sw, "bookmarkStart");1110else if (o is CT_MarkupRange && this.itemsElementNameField[i] == ItemsChoiceType7.commentRangeEnd)1111((CT_MarkupRange)o).Write(sw, "commentRangeEnd");1112else if (o is CT_MarkupRange && this.itemsElementNameField[i] == ItemsChoiceType7.commentRangeStart)1113((CT_MarkupRange)o).Write(sw, "commentRangeStart");1114else if (o is CT_CustomXmlBlock)1115((CT_CustomXmlBlock)o).Write(sw, "customXml");1116i++;1117}1118sw.WriteEndW(nodeName);1119}1120
1121
1122[XmlElement("oMath", typeof(CT_OMath), Namespace = "http://schemas.openxmlformats.org/officeDocument/2006/math", Order = 0)]1123[XmlElement("oMathPara", typeof(CT_OMathPara), Namespace = "http://schemas.openxmlformats.org/officeDocument/2006/math", Order = 0)]1124[XmlElement("altChunk", typeof(CT_AltChunk), Order = 0)]1125[XmlElement("bookmarkEnd", typeof(CT_MarkupRange), Order = 0)]1126[XmlElement("bookmarkStart", typeof(CT_Bookmark), Order = 0)]1127[XmlElement("commentRangeEnd", typeof(CT_MarkupRange), Order = 0)]1128[XmlElement("commentRangeStart", typeof(CT_MarkupRange), Order = 0)]1129[XmlElement("customXml", typeof(CT_CustomXmlBlock), Order = 0)]1130[XmlElement("customXmlDelRangeEnd", typeof(CT_Markup), Order = 0)]1131[XmlElement("customXmlDelRangeStart", typeof(CT_TrackChange), Order = 0)]1132[XmlElement("customXmlInsRangeEnd", typeof(CT_Markup), Order = 0)]1133[XmlElement("customXmlInsRangeStart", typeof(CT_TrackChange), Order = 0)]1134[XmlElement("customXmlMoveFromRangeEnd", typeof(CT_Markup), Order = 0)]1135[XmlElement("customXmlMoveFromRangeStart", typeof(CT_TrackChange), Order = 0)]1136[XmlElement("customXmlMoveToRangeEnd", typeof(CT_Markup), Order = 0)]1137[XmlElement("customXmlMoveToRangeStart", typeof(CT_TrackChange), Order = 0)]1138[XmlElement("del", typeof(CT_RunTrackChange), Order = 0)]1139[XmlElement("ins", typeof(CT_RunTrackChange), Order = 0)]1140[XmlElement("moveFrom", typeof(CT_RunTrackChange), Order = 0)]1141[XmlElement("moveFromRangeEnd", typeof(CT_MarkupRange), Order = 0)]1142[XmlElement("moveFromRangeStart", typeof(CT_MoveBookmark), Order = 0)]1143[XmlElement("moveTo", typeof(CT_RunTrackChange), Order = 0)]1144[XmlElement("moveToRangeEnd", typeof(CT_MarkupRange), Order = 0)]1145[XmlElement("moveToRangeStart", typeof(CT_MoveBookmark), Order = 0)]1146[XmlElement("p", typeof(CT_P), Order = 0)]1147[XmlElement("permEnd", typeof(CT_Perm), Order = 0)]1148[XmlElement("permStart", typeof(CT_PermStart), Order = 0)]1149[XmlElement("proofErr", typeof(CT_ProofErr), Order = 0)]1150[XmlElement("sdt", typeof(CT_SdtBlock), Order = 0)]1151[XmlElement("tbl", typeof(CT_Tbl), Order = 0)]1152[XmlChoiceIdentifier("ItemsElementName")]1153public ArrayList Items1154{1155get1156{1157return this.itemsField;1158}1159set1160{1161this.itemsField = value;1162}1163}1164
1165[XmlElement("ItemsElementName", Order = 1)]1166[XmlIgnore]1167public List<ItemsChoiceType7> ItemsElementName1168{1169get1170{1171return this.itemsElementNameField;1172}1173set1174{1175this.itemsElementNameField = value;1176}1177}1178
1179[XmlAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]1180public ST_FtnEdn type1181{1182get1183{1184return this.typeField;1185}1186set1187{1188this.typeField = value;1189}1190}1191
1192[XmlIgnore]1193public bool typeSpecified1194{1195get1196{1197return this.typeFieldSpecified;1198}1199set1200{1201this.typeFieldSpecified = value;1202}1203}1204
1205[XmlAttribute(Form = XmlSchemaForm.Qualified, DataType = "integer", Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main")]1206public int id1207{1208get1209{1210return this.idField;1211}1212set1213{1214this.idField = value;1215}1216}1217public void Set(CT_FtnEdn note)1218{1219this.idField = note.idField;1220this.itemsElementNameField = note.itemsElementNameField;1221this.itemsField = note.itemsField;1222this.typeField = note.typeField;1223}1224private List<T> GetObjectList<T>(ItemsChoiceType7 type) where T : class1225{1226lock (this)1227{1228List<T> list = new List<T>();1229for (int i = 0; i < itemsElementNameField.Count; i++)1230{1231if (itemsElementNameField[i] == type)1232list.Add(itemsField[i] as T);1233}1234return list;1235}1236}1237private int SizeOfArray(ItemsChoiceType7 type)1238{1239lock (this)1240{1241int size = 0;1242for (int i = 0; i < itemsElementNameField.Count; i++)1243{1244if (itemsElementNameField[i] == type)1245size++;1246}1247return size;1248}1249}1250private T GetObjectArray<T>(int p, ItemsChoiceType7 type) where T : class1251{1252lock (this)1253{1254int pos = 0;1255for (int i = 0; i < itemsElementNameField.Count; i++)1256{1257if (itemsElementNameField[i] == type)1258{1259if (pos == p)1260return itemsField[i] as T;1261else1262pos++;1263}1264}1265return null;1266}1267}1268private T AddNewObject<T>(ItemsChoiceType7 type) where T : class, new()1269{1270T t = new T();1271lock (this)1272{1273this.itemsElementNameField.Add(type);1274this.itemsField.Add(t);1275}1276return t;1277}1278private T AddNewObject<T>(ItemsChoiceType7 type, T t) where T : class, new()1279{1280lock (this)1281{1282this.itemsElementNameField.Add(type);1283this.itemsField.Add(t);1284}1285return t;1286}1287public IList<CT_P> GetPList()1288{1289return GetObjectList<CT_P>(ItemsChoiceType7.p);1290}1291
1292public IList<CT_Tbl> GetTblList()1293{1294return GetObjectList<CT_Tbl>(ItemsChoiceType7.tbl);1295}1296
1297public CT_Tbl GetTblArray(int i)1298{1299return GetObjectArray<CT_Tbl>(i, ItemsChoiceType7.tbl);1300}1301
1302public CT_Tbl AddNewTbl()1303{1304return AddNewObject<CT_Tbl>(ItemsChoiceType7.tbl);1305}1306
1307public CT_P AddNewP()1308{1309return AddNewObject<CT_P>(ItemsChoiceType7.p);1310}1311
1312public CT_P AddNewP(CT_P paragraph)1313{1314return AddNewObject<CT_P>(ItemsChoiceType7.p, paragraph);1315}1316}1317
1318
1319[Serializable]1320[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", IncludeInSchema = false)]1321public enum ItemsChoiceType71322{1323
1324
1325[XmlEnum("http://schemas.openxmlformats.org/officeDocument/2006/math:oMath")]1326oMath,1327
1328
1329[XmlEnum("http://schemas.openxmlformats.org/officeDocument/2006/math:oMathPara")]1330oMathPara,1331
1332
1333altChunk,1334
1335
1336bookmarkEnd,1337
1338
1339bookmarkStart,1340
1341
1342commentRangeEnd,1343
1344
1345commentRangeStart,1346
1347
1348customXml,1349
1350
1351customXmlDelRangeEnd,1352
1353
1354customXmlDelRangeStart,1355
1356
1357customXmlInsRangeEnd,1358
1359
1360customXmlInsRangeStart,1361
1362
1363customXmlMoveFromRangeEnd,1364
1365
1366customXmlMoveFromRangeStart,1367
1368
1369customXmlMoveToRangeEnd,1370
1371
1372customXmlMoveToRangeStart,1373
1374
1375del,1376
1377
1378ins,1379
1380
1381moveFrom,1382
1383
1384moveFromRangeEnd,1385
1386
1387moveFromRangeStart,1388
1389
1390moveTo,1391
1392
1393moveToRangeEnd,1394
1395
1396moveToRangeStart,1397
1398
1399p,1400
1401
1402permEnd,1403
1404
1405permStart,1406
1407
1408proofErr,1409
1410
1411sdt,1412
1413
1414tbl,1415}1416
1417
1418[Serializable]1419[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main")]1420public enum ST_FtnEdn1421{1422
1423
1424normal,1425
1426
1427separator,1428
1429
1430continuationSeparator,1431
1432
1433continuationNotice,1434}1435
1436
1437public class CT_Endnotes1438{1439
1440private List<CT_FtnEdn> endnoteField = new List<CT_FtnEdn>();1441public static CT_Endnotes Parse(XmlNode node, XmlNamespaceManager namespaceManager)1442{1443if (node == null)1444return null;1445CT_Endnotes ctObj = new CT_Endnotes();1446ctObj.endnote = new List<CT_FtnEdn>();1447foreach (XmlNode childNode in node.ChildNodes)1448{1449if (childNode.LocalName == "endnote")1450ctObj.endnote.Add(CT_FtnEdn.Parse(childNode, namespaceManager));1451}1452return ctObj;1453}1454
1455internal void Write(StreamWriter sw)1456{1457sw.Write("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>");1458sw.Write("<w:endnotes xmlns:ve=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" ");1459sw.Write("xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" ");1460sw.Write("xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" ");1461sw.Write("xmlns:w10=\"urn:schemas-microsoft-com:office:word\" xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" ");1462sw.Write("xmlns:wne=\"http://schemas.microsoft.com/office/word/2006/wordml\">");1463if (this.endnote != null)1464{1465foreach (CT_FtnEdn x in this.endnote)1466{1467x.Write(sw, "endnote");1468}1469}1470sw.Write("</w:endnotes>");1471}1472
1473[XmlElement("endnote", Order = 0)]1474public List<CT_FtnEdn> endnote1475{1476get1477{1478return this.endnoteField;1479}1480set1481{1482this.endnoteField = value;1483}1484}1485}1486
1487[Serializable]1488
1489[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main")]1490[XmlRoot(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", IsNullable = true)]1491public class CT_FtnDocProps : CT_FtnProps1492{1493
1494private List<CT_FtnEdnSepRef> footnoteField;1495
1496public CT_FtnDocProps()1497{1498//this.footnoteField = new List<CT_FtnEdnSepRef>();1499}1500public static new CT_FtnDocProps Parse(XmlNode node, XmlNamespaceManager namespaceManager)1501{1502if (node == null)1503return null;1504CT_FtnDocProps ctObj = new CT_FtnDocProps();1505ctObj.footnote = new List<CT_FtnEdnSepRef>();1506foreach (XmlNode childNode in node.ChildNodes)1507{1508if (childNode.LocalName == "pos")1509ctObj.pos = CT_FtnPos.Parse(childNode, namespaceManager);1510else if (childNode.LocalName == "numFmt")1511ctObj.numFmt = CT_NumFmt.Parse(childNode, namespaceManager);1512else if (childNode.LocalName == "numStart")1513ctObj.numStart = CT_DecimalNumber.Parse(childNode, namespaceManager);1514else if (childNode.LocalName == "numRestart")1515ctObj.numRestart = CT_NumRestart.Parse(childNode, namespaceManager);1516else if (childNode.LocalName == "footnote")1517ctObj.footnote.Add(CT_FtnEdnSepRef.Parse(childNode, namespaceManager));1518}1519return ctObj;1520}1521
1522
1523
1524internal new void Write(StreamWriter sw, string nodeName)1525{1526sw.Write(string.Format("<w:{0}", nodeName));1527sw.Write(">");1528if (this.pos != null)1529this.pos.Write(sw, "pos");1530if (this.numFmt != null)1531this.numFmt.Write(sw, "numFmt");1532if (this.numStart != null)1533this.numStart.Write(sw, "numStart");1534if (this.numRestart != null)1535this.numRestart.Write(sw, "numRestart");1536if (this.footnote != null)1537{1538foreach (CT_FtnEdnSepRef x in this.footnote)1539{1540x.Write(sw, "footnote");1541}1542}1543sw.WriteEndW(nodeName);1544}1545
1546[XmlElement("footnote", Order = 0)]1547public List<CT_FtnEdnSepRef> footnote1548{1549get1550{1551return this.footnoteField;1552}1553set1554{1555this.footnoteField = value;1556}1557}1558}1559
1560
1561[Serializable]1562[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main")]1563public class CT_FtnEdnSepRef1564{1565private string idField;1566public static CT_FtnEdnSepRef Parse(XmlNode node, XmlNamespaceManager namespaceManager)1567{1568if (node == null)1569return null;1570CT_FtnEdnSepRef ctObj = new CT_FtnEdnSepRef();1571ctObj.id = XmlHelper.ReadString(node.Attributes["w:id"]);1572return ctObj;1573}1574
1575
1576
1577internal void Write(StreamWriter sw, string nodeName)1578{1579sw.Write(string.Format("<w:{0}", nodeName));1580XmlHelper.WriteAttribute(sw, "w:id", this.id);1581sw.Write("/>");1582}1583
1584//[XmlAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "integer")]1585[XmlAttribute(DataType = "integer")]1586public string id1587{1588get1589{1590return this.idField;1591}1592set1593{1594this.idField = value;1595}1596}1597}1598
1599[XmlInclude(typeof(CT_EdnDocProps))]1600
1601[Serializable]1602
1603[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main")]1604public class CT_EdnProps1605{1606
1607private CT_EdnPos posField;1608
1609private CT_NumFmt numFmtField;1610
1611private CT_DecimalNumber numStartField;1612
1613private CT_NumRestart numRestartField;1614
1615public CT_EdnProps()1616{1617//this.numRestartField = new CT_NumRestart();1618//this.numStartField = new CT_DecimalNumber();1619//this.numFmtField = new CT_NumFmt();1620//this.posField = new CT_EdnPos();1621}1622public static CT_EdnProps Parse(XmlNode node, XmlNamespaceManager namespaceManager)1623{1624if (node == null)1625return null;1626CT_EdnProps ctObj = new CT_EdnProps();1627foreach (XmlNode childNode in node.ChildNodes)1628{1629if (childNode.LocalName == "pos")1630ctObj.pos = CT_EdnPos.Parse(childNode, namespaceManager);1631else if (childNode.LocalName == "numFmt")1632ctObj.numFmt = CT_NumFmt.Parse(childNode, namespaceManager);1633else if (childNode.LocalName == "numStart")1634ctObj.numStart = CT_DecimalNumber.Parse(childNode, namespaceManager);1635else if (childNode.LocalName == "numRestart")1636ctObj.numRestart = CT_NumRestart.Parse(childNode, namespaceManager);1637}1638return ctObj;1639}1640
1641
1642
1643internal void Write(StreamWriter sw, string nodeName)1644{1645sw.Write(string.Format("<w:{0}", nodeName));1646sw.Write(">");1647if (this.pos != null)1648this.pos.Write(sw, "pos");1649if (this.numFmt != null)1650this.numFmt.Write(sw, "numFmt");1651if (this.numStart != null)1652this.numStart.Write(sw, "numStart");1653if (this.numRestart != null)1654this.numRestart.Write(sw, "numRestart");1655sw.WriteEndW(nodeName);1656}1657
1658[XmlElement(Order = 0)]1659public CT_EdnPos pos1660{1661get1662{1663return this.posField;1664}1665set1666{1667this.posField = value;1668}1669}1670
1671[XmlElement(Order = 1)]1672public CT_NumFmt numFmt1673{1674get1675{1676return this.numFmtField;1677}1678set1679{1680this.numFmtField = value;1681}1682}1683
1684[XmlElement(Order = 2)]1685public CT_DecimalNumber numStart1686{1687get1688{1689return this.numStartField;1690}1691set1692{1693this.numStartField = value;1694}1695}1696
1697[XmlElement(Order = 3)]1698public CT_NumRestart numRestart1699{1700get1701{1702return this.numRestartField;1703}1704set1705{1706this.numRestartField = value;1707}1708}1709}1710
1711
1712[Serializable]1713
1714[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main")]1715[XmlRoot(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", IsNullable = true)]1716public class CT_EdnPos1717{1718public static CT_EdnPos Parse(XmlNode node, XmlNamespaceManager namespaceManager)1719{1720if (node == null)1721return null;1722CT_EdnPos ctObj = new CT_EdnPos();1723if (node.Attributes["w:val"] != null)1724ctObj.val = (ST_EdnPos)Enum.Parse(typeof(ST_EdnPos), node.Attributes["w:val"].Value);1725return ctObj;1726}1727
1728
1729
1730internal void Write(StreamWriter sw, string nodeName)1731{1732sw.Write(string.Format("<w:{0}", nodeName));1733XmlHelper.WriteAttribute(sw, "w:val", this.val.ToString());1734sw.Write(">");1735sw.WriteEndW(nodeName);1736}1737
1738private ST_EdnPos valField;1739
1740[XmlAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]1741public ST_EdnPos val1742{1743get1744{1745return this.valField;1746}1747set1748{1749this.valField = value;1750}1751}1752}1753
1754
1755[Serializable]1756[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main")]1757public enum ST_EdnPos1758{1759
1760
1761sectEnd,1762
1763
1764docEnd,1765}1766
1767
1768[Serializable]1769
1770[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main")]1771[XmlRoot(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", IsNullable = true)]1772public class CT_EdnDocProps : CT_EdnProps1773{1774public new static CT_EdnDocProps Parse(XmlNode node, XmlNamespaceManager namespaceManager)1775{1776if (node == null)1777return null;1778CT_EdnDocProps ctObj = new CT_EdnDocProps();1779ctObj.endnote = new List<CT_FtnEdnSepRef>();1780foreach (XmlNode childNode in node.ChildNodes)1781{1782if (childNode.LocalName == "pos")1783ctObj.pos = CT_EdnPos.Parse(childNode, namespaceManager);1784else if (childNode.LocalName == "numFmt")1785ctObj.numFmt = CT_NumFmt.Parse(childNode, namespaceManager);1786else if (childNode.LocalName == "numStart")1787ctObj.numStart = CT_DecimalNumber.Parse(childNode, namespaceManager);1788else if (childNode.LocalName == "numRestart")1789ctObj.numRestart = CT_NumRestart.Parse(childNode, namespaceManager);1790else if (childNode.LocalName == "endnote")1791ctObj.endnote.Add(CT_FtnEdnSepRef.Parse(childNode, namespaceManager));1792}1793return ctObj;1794}1795
1796
1797
1798internal new void Write(StreamWriter sw, string nodeName)1799{1800sw.Write(string.Format("<w:{0}", nodeName));1801sw.Write(">");1802if (this.pos != null)1803this.pos.Write(sw, "pos");1804if (this.numFmt != null)1805this.numFmt.Write(sw, "numFmt");1806if (this.numStart != null)1807this.numStart.Write(sw, "numStart");1808if (this.numRestart != null)1809this.numRestart.Write(sw, "numRestart");1810if (this.endnote != null)1811{1812foreach (CT_FtnEdnSepRef x in this.endnote)1813{1814x.Write(sw, "endnote");1815}1816}1817sw.WriteEndW(nodeName);1818}1819
1820private List<CT_FtnEdnSepRef> endnoteField;1821
1822public CT_EdnDocProps()1823{1824//this.endnoteField = new List<CT_FtnEdnSepRef>();1825}1826
1827[XmlElement("endnote", Order = 0)]1828public List<CT_FtnEdnSepRef> endnote1829{1830get1831{1832return this.endnoteField;1833}1834set1835{1836this.endnoteField = value;1837}1838}1839}1840
1841[Serializable]1842
1843[XmlType(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main")]1844[XmlRoot(Namespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", IsNullable = true)]1845public class CT_FtnEdnRef1846{1847public XmlNode DomNode1848{1849get;1850set;1851}1852private ST_OnOff customMarkFollowsField;1853
1854private bool customMarkFollowsFieldSpecified;1855
1856private string idField;1857public static CT_FtnEdnRef Parse(XmlNode node, XmlNamespaceManager namespaceManager)1858{1859if (node == null)1860return null;1861CT_FtnEdnRef ctObj = new CT_FtnEdnRef();1862if (node.Attributes["w:customMarkFollows"] != null)1863ctObj.customMarkFollows = (ST_OnOff)Enum.Parse(typeof(ST_OnOff), node.Attributes["w:customMarkFollows"].Value,true);1864ctObj.id = XmlHelper.ReadString(node.Attributes["w:id"]);1865ctObj.DomNode = node;1866return ctObj;1867}1868
1869
1870
1871internal void Write(StreamWriter sw, string nodeName)1872{1873sw.Write(string.Format("<w:{0}", nodeName));1874XmlHelper.WriteAttribute(sw, "w:customMarkFollows", this.customMarkFollows.ToString());1875XmlHelper.WriteAttribute(sw, "w:id", this.id);1876sw.Write(">");1877sw.WriteEndW(nodeName);1878}1879
1880[XmlAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]1881public ST_OnOff customMarkFollows1882{1883get1884{1885return this.customMarkFollowsField;1886}1887set1888{1889this.customMarkFollowsField = value;1890}1891}1892
1893[XmlIgnore]1894public bool customMarkFollowsSpecified1895{1896get1897{1898return this.customMarkFollowsFieldSpecified;1899}1900set1901{1902this.customMarkFollowsFieldSpecified = value;1903}1904}1905
1906[XmlAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, Namespace = "http://schemas.openxmlformats.org/officeDocument/2006/relationships")]1907public string id1908{1909get1910{1911return this.idField;1912}1913set1914{1915this.idField = value;1916}1917}1918}1919}
1920