[Test] Update tests; remove xsd:extension

This commit is contained in:
Sergey Konovalov
2021-12-30 17:47:09 +03:00
parent 6044929214
commit 61735c2790
7 changed files with 453 additions and 323 deletions

View File

@ -396,7 +396,7 @@ namespace codegen
{
sb.AppendFormat("{0}.prototype.readAttr = function(reader) {{\n", oGenClass.sName);
sb.AppendFormat("while (reader.MoveToNextAttribute()) {{\n");
sb.AppendFormat("switch (reader.GetNameNoNs()) {{\n");
sb.AppendFormat("switch (reader.GetNameNoNS()) {{\n");
for (int i = 0; i < aAttributes.Count; ++i)
{
sb.AppendFormat("case \"{0}\" : {{\n", aAttributes[i].sName);
@ -406,6 +406,7 @@ namespace codegen
}
sb.AppendFormat("}}\n");
sb.AppendFormat("}}\n");
sb.AppendFormat("}}\n");
}
sb.AppendFormat("{0}.prototype.fromXml = function(reader) {{\n", oGenClass.sName);
if (aAttributes.Count > 0)
@ -417,8 +418,8 @@ namespace codegen
{
sb.AppendFormat("var depth = reader.GetDepth();\n");
sb.AppendFormat("while (reader.ReadNextSiblingNode(depth)) {{\n");
sb.AppendFormat("var name = reader.GetNameNoNs();\n");
sb.AppendFormat("switch (reader.GetNameNoNs()) {{\n");
sb.AppendFormat("var name = reader.GetNameNoNS();\n");
sb.AppendFormat("switch (reader.GetNameNoNS()) {{\n");
for (int i = 0; i < aMembers.Count; ++i)
{
sb.AppendFormat("case \"{0}\" : {{\n", aMembers[i].sName);
@ -442,7 +443,7 @@ namespace codegen
{
sb.AppendFormat("var subDepth = reader.GetDepth();\n");
sb.AppendFormat("while (reader.ReadNextSiblingNode(subDepth)) {{\n");
sb.AppendFormat("if (\"{0}\" === reader.GetNameNoNs()) {{\n", aMembers[i].sName);
sb.AppendFormat("if (\"{0}\" === reader.GetNameNoNS()) {{\n", aMembers[i].sName);
sb.AppendFormat("var elem = new {0}();\n", oGenMemberTmp.sType);
sb.AppendFormat("elem.fromXml(reader);\n");

View File

@ -2728,22 +2728,18 @@
<xsd:attribute name="display" type="s:ST_Xstring" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_CellFormula">
<xsd:simpleContent>
<xsd:extension base="ST_Formula">
<xsd:attribute name="t" type="ST_CellFormulaType" use="optional" default="normal"/>
<xsd:attribute name="aca" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="ref" type="ST_Ref" use="optional"/>
<xsd:attribute name="dt2D" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="dtr" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="del1" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="del2" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="r1" type="ST_CellRef" use="optional"/>
<xsd:attribute name="r2" type="ST_CellRef" use="optional"/>
<xsd:attribute name="ca" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="si" type="xsd:unsignedInt" use="optional"/>
<xsd:attribute name="bx" type="xsd:boolean" use="optional" default="false"/>
</xsd:extension>
</xsd:simpleContent>
<xsd:attribute name="t" type="ST_CellFormulaType" use="optional" default="normal"/>
<xsd:attribute name="aca" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="ref" type="ST_Ref" use="optional"/>
<xsd:attribute name="dt2D" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="dtr" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="del1" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="del2" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="r1" type="ST_CellRef" use="optional"/>
<xsd:attribute name="r2" type="ST_CellRef" use="optional"/>
<xsd:attribute name="ca" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="si" type="xsd:unsignedInt" use="optional"/>
<xsd:attribute name="bx" type="xsd:boolean" use="optional" default="false"/>
</xsd:complexType>
<xsd:complexType name="CT_ColorScale">
<xsd:sequence>
@ -3987,11 +3983,7 @@
<xsd:attribute name="totalsRowCellStyle" type="s:ST_Xstring" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_TableFormula">
<xsd:simpleContent>
<xsd:extension base="ST_Formula">
<xsd:attribute name="array" type="xsd:boolean" default="false"/>
</xsd:extension>
</xsd:simpleContent>
<xsd:attribute name="array" type="xsd:boolean" default="false"/>
</xsd:complexType>
<xsd:simpleType name="ST_TotalsRowFunction">
<xsd:restriction base="xsd:string">
@ -4286,25 +4278,21 @@
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_DefinedName">
<xsd:simpleContent>
<xsd:extension base="ST_Formula">
<xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
<xsd:attribute name="comment" type="s:ST_Xstring" use="optional"/>
<xsd:attribute name="customMenu" type="s:ST_Xstring" use="optional"/>
<xsd:attribute name="description" type="s:ST_Xstring" use="optional"/>
<xsd:attribute name="help" type="s:ST_Xstring" use="optional"/>
<xsd:attribute name="statusBar" type="s:ST_Xstring" use="optional"/>
<xsd:attribute name="localSheetId" type="xsd:unsignedInt" use="optional"/>
<xsd:attribute name="hidden" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="function" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="vbProcedure" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="xlm" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="functionGroupId" type="xsd:unsignedInt" use="optional"/>
<xsd:attribute name="shortcutKey" type="s:ST_Xstring" use="optional"/>
<xsd:attribute name="publishToServer" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="workbookParameter" type="xsd:boolean" use="optional" default="false"/>
</xsd:extension>
</xsd:simpleContent>
<xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
<xsd:attribute name="comment" type="s:ST_Xstring" use="optional"/>
<xsd:attribute name="customMenu" type="s:ST_Xstring" use="optional"/>
<xsd:attribute name="description" type="s:ST_Xstring" use="optional"/>
<xsd:attribute name="help" type="s:ST_Xstring" use="optional"/>
<xsd:attribute name="statusBar" type="s:ST_Xstring" use="optional"/>
<xsd:attribute name="localSheetId" type="xsd:unsignedInt" use="optional"/>
<xsd:attribute name="hidden" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="function" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="vbProcedure" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="xlm" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="functionGroupId" type="xsd:unsignedInt" use="optional"/>
<xsd:attribute name="shortcutKey" type="s:ST_Xstring" use="optional"/>
<xsd:attribute name="publishToServer" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="workbookParameter" type="xsd:boolean" use="optional" default="false"/>
</xsd:complexType>
<xsd:complexType name="CT_ExternalReferences">
<xsd:sequence>

View File

@ -801,158 +801,132 @@
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_TrackChange">
<xsd:complexContent>
<xsd:extension base="CT_Markup">
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
</xsd:extension>
</xsd:complexContent>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_CellMergeTrackChange">
<xsd:complexContent>
<xsd:extension base="CT_TrackChange">
<xsd:attribute name="vMerge" type="ST_AnnotationVMerge" use="optional"/>
<xsd:attribute name="vMergeOrig" type="ST_AnnotationVMerge" use="optional"/>
</xsd:extension>
</xsd:complexContent>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
<xsd:attribute name="vMerge" type="ST_AnnotationVMerge" use="optional"/>
<xsd:attribute name="vMergeOrig" type="ST_AnnotationVMerge" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_TrackChangeRange">
<xsd:complexContent>
<xsd:extension base="CT_TrackChange">
<xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/>
</xsd:extension>
</xsd:complexContent>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
<xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_MarkupRange">
<xsd:complexContent>
<xsd:extension base="CT_Markup">
<xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/>
</xsd:extension>
</xsd:complexContent>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_BookmarkRange">
<xsd:complexContent>
<xsd:extension base="CT_MarkupRange">
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/>
<xsd:attribute name="colFirst" type="ST_DecimalNumber" use="optional"/>
<xsd:attribute name="colLast" type="ST_DecimalNumber" use="optional"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CT_Bookmark">
<xsd:complexContent>
<xsd:extension base="CT_BookmarkRange">
<xsd:attribute name="name" type="s:ST_String" use="required"/>
</xsd:extension>
</xsd:complexContent>
<xsd:attribute name="colFirst" type="ST_DecimalNumber" use="optional"/>
<xsd:attribute name="colLast" type="ST_DecimalNumber" use="optional"/>
<xsd:attribute name="name" type="s:ST_String" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_MoveBookmark">
<xsd:complexContent>
<xsd:extension base="CT_Bookmark">
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="required"/>
</xsd:extension>
</xsd:complexContent>
<xsd:attribute name="colFirst" type="ST_DecimalNumber" use="optional"/>
<xsd:attribute name="colLast" type="ST_DecimalNumber" use="optional"/>
<xsd:attribute name="name" type="s:ST_String" use="required"/>
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_Comment">
<xsd:complexContent>
<xsd:extension base="CT_TrackChange">
<xsd:sequence>
<xsd:element name="todo_EG_BlockLevelElts" type="CT_String" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="initials" type="s:ST_String" use="optional"/>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="todo_EG_BlockLevelElts" type="CT_String" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
<xsd:attribute name="initials" type="s:ST_String" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_TblPrExChange">
<xsd:complexContent>
<xsd:extension base="CT_TrackChange">
<xsd:sequence>
<xsd:element name="tblPrEx" type="CT_TblPrExBase" minOccurs="1"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="tblPrEx" type="CT_TblPrExBase" minOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_TcPrChange">
<xsd:complexContent>
<xsd:extension base="CT_TrackChange">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="tcPr" type="CT_TcPrInner" minOccurs="1"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_TrPrChange">
<xsd:complexContent>
<xsd:extension base="CT_TrackChange">
<xsd:sequence>
<xsd:element name="trPr" type="CT_TrPrBase" minOccurs="1"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="trPr" type="CT_TrPrBase" minOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_TblGridChange">
<xsd:complexContent>
<xsd:extension base="CT_Markup">
<xsd:sequence>
<xsd:element name="tblGrid" type="CT_TblGridBase"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="tblGrid" type="CT_TblGridBase"/>
</xsd:sequence>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_TblPrChange">
<xsd:complexContent>
<xsd:extension base="CT_TrackChange">
<xsd:sequence>
<xsd:element name="tblPr" type="CT_TblPrBase"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="tblPr" type="CT_TblPrBase"/>
</xsd:sequence>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_SectPrChange">
<xsd:complexContent>
<xsd:extension base="CT_TrackChange">
<xsd:sequence>
<xsd:element name="sectPr" type="CT_SectPrBase" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="sectPr" type="CT_SectPrBase" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_PPrChange">
<xsd:complexContent>
<xsd:extension base="CT_TrackChange">
<xsd:sequence>
<xsd:element name="pPr" type="CT_PPrBase" minOccurs="1"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="pPr" type="CT_PPrBase" minOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_RPrChange">
<xsd:complexContent>
<xsd:extension base="CT_TrackChange">
<xsd:sequence>
<xsd:element name="rPr" type="CT_RPrOriginal" minOccurs="1"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="rPr" type="CT_RPrOriginal" minOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_ParaRPrChange">
<xsd:complexContent>
<xsd:extension base="CT_TrackChange">
<xsd:sequence>
<xsd:element name="rPr" type="CT_ParaRPrOriginal" minOccurs="1"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="rPr" type="CT_ParaRPrOriginal" minOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_RunTrackChange">
<xsd:complexContent>
<xsd:extension base="CT_TrackChange">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="todo_EG_ContentRunContent" type="CT_String" minOccurs="0"/>
<xsd:group ref="m:EG_OMathMathElements"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="todo_EG_ContentRunContent" type="CT_String" minOccurs="0"/>
<xsd:group ref="m:EG_OMathMathElements"/>
</xsd:choice>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
</xsd:complexType>
<xsd:group name="EG_PContentMath">
<xsd:choice>
@ -1036,15 +1010,44 @@
<xsd:attribute name="val" type="ST_TextboxTightWrap" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_PPr">
<xsd:complexContent>
<xsd:extension base="CT_PPrBase">
<xsd:sequence>
<xsd:element name="rPr" type="CT_ParaRPr" minOccurs="0"/>
<xsd:element name="sectPr" type="CT_SectPr" minOccurs="0"/>
<xsd:element name="pPrChange" type="CT_PPrChange" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="pStyle" type="CT_String" minOccurs="0"/>
<xsd:element name="keepNext" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="keepLines" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="pageBreakBefore" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="framePr" type="CT_FramePr" minOccurs="0"/>
<xsd:element name="widowControl" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="numPr" type="CT_NumPr" minOccurs="0"/>
<xsd:element name="suppressLineNumbers" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="pBdr" type="CT_PBdr" minOccurs="0"/>
<xsd:element name="shd" type="CT_Shd" minOccurs="0"/>
<xsd:element name="tabs" type="CT_Tabs" minOccurs="0"/>
<xsd:element name="suppressAutoHyphens" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="kinsoku" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="wordWrap" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="overflowPunct" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="topLinePunct" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="autoSpaceDE" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="autoSpaceDN" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="bidi" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="adjustRightInd" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="snapToGrid" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="spacing" type="CT_Spacing" minOccurs="0"/>
<xsd:element name="ind" type="CT_Ind" minOccurs="0"/>
<xsd:element name="contextualSpacing" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="mirrorIndents" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="suppressOverlap" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="jc" type="CT_Jc" minOccurs="0"/>
<xsd:element name="textDirection" type="CT_TextDirection" minOccurs="0"/>
<xsd:element name="textAlignment" type="CT_TextAlignment" minOccurs="0"/>
<xsd:element name="textboxTightWrap" type="CT_TextboxTightWrap" minOccurs="0"/>
<xsd:element name="outlineLvl" type="CT_DecimalNumber" minOccurs="0"/>
<xsd:element name="divId" type="CT_DecimalNumber" minOccurs="0"/>
<xsd:element name="cnfStyle" type="CT_Cnf" minOccurs="0" maxOccurs="1"/>
<xsd:element name="rPr" type="CT_ParaRPr" minOccurs="0"/>
<xsd:element name="sectPr" type="CT_SectPr" minOccurs="0"/>
<xsd:element name="pPrChange" type="CT_PPrChange" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_PPrBase">
<xsd:sequence>
@ -1084,13 +1087,42 @@
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_PPrGeneral">
<xsd:complexContent>
<xsd:extension base="CT_PPrBase">
<xsd:sequence>
<xsd:element name="pPrChange" type="CT_PPrChange" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="pStyle" type="CT_String" minOccurs="0"/>
<xsd:element name="keepNext" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="keepLines" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="pageBreakBefore" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="framePr" type="CT_FramePr" minOccurs="0"/>
<xsd:element name="widowControl" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="numPr" type="CT_NumPr" minOccurs="0"/>
<xsd:element name="suppressLineNumbers" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="pBdr" type="CT_PBdr" minOccurs="0"/>
<xsd:element name="shd" type="CT_Shd" minOccurs="0"/>
<xsd:element name="tabs" type="CT_Tabs" minOccurs="0"/>
<xsd:element name="suppressAutoHyphens" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="kinsoku" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="wordWrap" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="overflowPunct" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="topLinePunct" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="autoSpaceDE" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="autoSpaceDN" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="bidi" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="adjustRightInd" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="snapToGrid" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="spacing" type="CT_Spacing" minOccurs="0"/>
<xsd:element name="ind" type="CT_Ind" minOccurs="0"/>
<xsd:element name="contextualSpacing" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="mirrorIndents" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="suppressOverlap" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="jc" type="CT_Jc" minOccurs="0"/>
<xsd:element name="textDirection" type="CT_TextDirection" minOccurs="0"/>
<xsd:element name="textAlignment" type="CT_TextAlignment" minOccurs="0"/>
<xsd:element name="textboxTightWrap" type="CT_TextboxTightWrap" minOccurs="0"/>
<xsd:element name="outlineLvl" type="CT_DecimalNumber" minOccurs="0"/>
<xsd:element name="divId" type="CT_DecimalNumber" minOccurs="0"/>
<xsd:element name="cnfStyle" type="CT_Cnf" minOccurs="0" maxOccurs="1"/>
<xsd:element name="pPrChange" type="CT_PPrChange" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_Control">
<xsd:attribute name="name" type="s:ST_String" use="optional"/>
@ -1136,12 +1168,13 @@
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CT_ObjectLink">
<xsd:complexContent>
<xsd:extension base="CT_ObjectEmbed">
<xsd:attribute name="updateMode" type="ST_ObjectUpdateMode" use="required"/>
<xsd:attribute name="lockedField" type="s:ST_OnOff" use="optional"/>
</xsd:extension>
</xsd:complexContent>
<xsd:attribute name="drawAspect" type="ST_ObjectDrawAspect" use="optional"/>
<xsd:attribute ref="r:id" use="required"/>
<xsd:attribute name="progId" type="s:ST_String" use="optional"/>
<xsd:attribute name="shapeId" type="s:ST_String" use="optional"/>
<xsd:attribute name="fieldCodes" type="s:ST_String" use="optional"/>
<xsd:attribute name="updateMode" type="ST_ObjectUpdateMode" use="required"/>
<xsd:attribute name="lockedField" type="s:ST_OnOff" use="optional"/>
</xsd:complexType>
<xsd:simpleType name="ST_ObjectUpdateMode">
<xsd:restriction base="xsd:string">
@ -1412,27 +1445,43 @@
<xsd:attribute name="offsetFrom" type="ST_PageBorderOffset" use="optional" default="text"/>
</xsd:complexType>
<xsd:complexType name="CT_PageBorder">
<xsd:complexContent>
<xsd:extension base="CT_Border">
<xsd:attribute ref="r:id" use="optional"/>
</xsd:extension>
</xsd:complexContent>
<xsd:attribute name="val" type="ST_Border" use="required"/>
<xsd:attribute name="color" type="ST_HexColor" use="optional" default="auto"/>
<xsd:attribute name="themeColor" type="ST_ThemeColor" use="optional"/>
<xsd:attribute name="themeTint" type="ST_UcharHexNumber" use="optional"/>
<xsd:attribute name="themeShade" type="ST_UcharHexNumber" use="optional"/>
<xsd:attribute name="sz" type="ST_EighthPointMeasure" use="optional"/>
<xsd:attribute name="space" type="ST_PointMeasure" use="optional" default="0"/>
<xsd:attribute name="shadow" type="s:ST_OnOff" use="optional"/>
<xsd:attribute name="frame" type="s:ST_OnOff" use="optional"/>
<xsd:attribute ref="r:id" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_BottomPageBorder">
<xsd:complexContent>
<xsd:extension base="CT_PageBorder">
<xsd:attribute ref="r:bottomLeft" use="optional"/>
<xsd:attribute ref="r:bottomRight" use="optional"/>
</xsd:extension>
</xsd:complexContent>
<xsd:attribute name="val" type="ST_Border" use="required"/>
<xsd:attribute name="color" type="ST_HexColor" use="optional" default="auto"/>
<xsd:attribute name="themeColor" type="ST_ThemeColor" use="optional"/>
<xsd:attribute name="themeTint" type="ST_UcharHexNumber" use="optional"/>
<xsd:attribute name="themeShade" type="ST_UcharHexNumber" use="optional"/>
<xsd:attribute name="sz" type="ST_EighthPointMeasure" use="optional"/>
<xsd:attribute name="space" type="ST_PointMeasure" use="optional" default="0"/>
<xsd:attribute name="shadow" type="s:ST_OnOff" use="optional"/>
<xsd:attribute name="frame" type="s:ST_OnOff" use="optional"/>
<xsd:attribute ref="r:bottomLeft" use="optional"/>
<xsd:attribute ref="r:bottomRight" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_TopPageBorder">
<xsd:complexContent>
<xsd:extension base="CT_PageBorder">
<xsd:attribute ref="r:topLeft" use="optional"/>
<xsd:attribute ref="r:topRight" use="optional"/>
</xsd:extension>
</xsd:complexContent>
<xsd:attribute name="val" type="ST_Border" use="required"/>
<xsd:attribute name="color" type="ST_HexColor" use="optional" default="auto"/>
<xsd:attribute name="themeColor" type="ST_ThemeColor" use="optional"/>
<xsd:attribute name="themeTint" type="ST_UcharHexNumber" use="optional"/>
<xsd:attribute name="themeShade" type="ST_UcharHexNumber" use="optional"/>
<xsd:attribute name="sz" type="ST_EighthPointMeasure" use="optional"/>
<xsd:attribute name="space" type="ST_PointMeasure" use="optional" default="0"/>
<xsd:attribute name="shadow" type="s:ST_OnOff" use="optional"/>
<xsd:attribute name="frame" type="s:ST_OnOff" use="optional"/>
<xsd:attribute ref="r:id" use="optional"/>
<xsd:attribute ref="r:topLeft" use="optional"/>
<xsd:attribute ref="r:topRight" use="optional"/>
</xsd:complexType>
<xsd:simpleType name="ST_ChapterSep">
<xsd:restriction base="xsd:string">
@ -1515,11 +1564,8 @@
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CT_HdrFtrRef">
<xsd:complexContent>
<xsd:extension base="CT_Rel">
<xsd:attribute name="type" type="ST_HdrFtr" use="required"/>
</xsd:extension>
</xsd:complexContent>
<xsd:attribute ref="r:id" use="required"/>
<xsd:attribute name="type" type="ST_HdrFtr" use="required"/>
</xsd:complexType>
<xsd:group name="EG_HdrFtrReferences">
<xsd:choice>
@ -1652,21 +1698,15 @@
<xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_PermStart">
<xsd:complexContent>
<xsd:extension base="CT_Perm">
<xsd:attribute name="edGrp" type="ST_EdGrp" use="optional"/>
<xsd:attribute name="ed" type="s:ST_String" use="optional"/>
<xsd:attribute name="colFirst" type="ST_DecimalNumber" use="optional"/>
<xsd:attribute name="colLast" type="ST_DecimalNumber" use="optional"/>
</xsd:extension>
</xsd:complexContent>
<xsd:attribute name="id" type="s:ST_String" use="required"/>
<xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/>
<xsd:attribute name="edGrp" type="ST_EdGrp" use="optional"/>
<xsd:attribute name="ed" type="s:ST_String" use="optional"/>
<xsd:attribute name="colFirst" type="ST_DecimalNumber" use="optional"/>
<xsd:attribute name="colLast" type="ST_DecimalNumber" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_Text">
<xsd:simpleContent>
<xsd:extension base="s:ST_String">
<xsd:attribute ref="xml:space" use="optional"/>
</xsd:extension>
</xsd:simpleContent>
<xsd:attribute ref="xml:space" use="optional"/>
</xsd:complexType>
<xsd:group name="EG_RunInnerContent">
<xsd:choice>
@ -1809,23 +1849,21 @@
</xsd:choice>
</xsd:group>
<xsd:complexType name="CT_MathCtrlIns">
<xsd:complexContent>
<xsd:extension base="CT_TrackChange">
<xsd:choice minOccurs="0">
<xsd:element name="del" type="CT_RPrChange" minOccurs="1"/>
<xsd:element name="rPr" type="CT_RPr" minOccurs="1"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
<xsd:choice minOccurs="0">
<xsd:element name="del" type="CT_RPrChange" minOccurs="1"/>
<xsd:element name="rPr" type="CT_RPr" minOccurs="1"/>
</xsd:choice>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_MathCtrlDel">
<xsd:complexContent>
<xsd:extension base="CT_TrackChange">
<xsd:choice minOccurs="0">
<xsd:element name="rPr" type="CT_RPr" minOccurs="1"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="rPr" type="CT_RPr" minOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
<xsd:attribute name="author" type="s:ST_String" use="required"/>
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_RPrOriginal">
<xsd:sequence>
@ -2063,7 +2101,9 @@
</xsd:choice>
</xsd:group>
<xsd:complexType name="CT_SdtContentRow">
<xsd:group ref="EG_ContentRowContent" minOccurs="0" maxOccurs="unbounded"/>
<xsd:sequence>
<xsd:element name="todo_EG_ContentRowContent" type="CT_String" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:group name="EG_ContentCellContent">
<xsd:choice>
@ -2074,7 +2114,11 @@
</xsd:choice>
</xsd:group>
<xsd:complexType name="CT_SdtContentCell">
<xsd:group ref="EG_ContentCellContent" minOccurs="0" maxOccurs="unbounded"/>
<xsd:sequence>
<xsd:element name="tblPrEx" type="CT_TblPrEx" minOccurs="0" maxOccurs="1"/>
<xsd:element name="trPr" type="CT_TrPr" minOccurs="0" maxOccurs="1"/>
<xsd:element name="todo_EG_ContentCellContent" type="CT_String" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_SdtBlock">
<xsd:sequence>
@ -2207,13 +2251,10 @@
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_TblGrid">
<xsd:complexContent>
<xsd:extension base="CT_TblGridBase">
<xsd:sequence>
<xsd:element name="tblGridChange" type="CT_TblGridChange" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="gridCol" type="CT_TblGridCol" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="tblGridChange" type="CT_TblGridChange" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_TcBorders">
<xsd:sequence>
@ -2262,22 +2303,41 @@
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_TcPr">
<xsd:complexContent>
<xsd:extension base="CT_TcPrInner">
<xsd:sequence>
<xsd:element name="tcPrChange" type="CT_TcPrChange" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="cnfStyle" type="CT_Cnf" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tcW" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/>
<xsd:element name="gridSpan" type="CT_DecimalNumber" minOccurs="0"/>
<xsd:element name="vMerge" type="CT_VMerge" minOccurs="0"/>
<xsd:element name="tcBorders" type="CT_TcBorders" minOccurs="0" maxOccurs="1"/>
<xsd:element name="shd" type="CT_Shd" minOccurs="0"/>
<xsd:element name="noWrap" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="tcMar" type="CT_TcMar" minOccurs="0" maxOccurs="1"/>
<xsd:element name="textDirection" type="CT_TextDirection" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tcFitText" type="CT_OnOff" minOccurs="0" maxOccurs="1"/>
<xsd:element name="vAlign" type="CT_VerticalJc" minOccurs="0"/>
<xsd:element name="hideMark" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="headers" type="CT_Headers" minOccurs="0"/>
<xsd:group ref="EG_CellMarkupElements" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tcPrChange" type="CT_TcPrChange" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_TcPrInner">
<xsd:complexContent>
<xsd:extension base="CT_TcPrBase">
<xsd:sequence>
<xsd:group ref="EG_CellMarkupElements" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="cnfStyle" type="CT_Cnf" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tcW" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/>
<xsd:element name="gridSpan" type="CT_DecimalNumber" minOccurs="0"/>
<xsd:element name="vMerge" type="CT_VMerge" minOccurs="0"/>
<xsd:element name="tcBorders" type="CT_TcBorders" minOccurs="0" maxOccurs="1"/>
<xsd:element name="shd" type="CT_Shd" minOccurs="0"/>
<xsd:element name="noWrap" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="tcMar" type="CT_TcMar" minOccurs="0" maxOccurs="1"/>
<xsd:element name="textDirection" type="CT_TextDirection" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tcFitText" type="CT_OnOff" minOccurs="0" maxOccurs="1"/>
<xsd:element name="vAlign" type="CT_VerticalJc" minOccurs="0"/>
<xsd:element name="hideMark" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="headers" type="CT_Headers" minOccurs="0"/>
<xsd:group ref="EG_CellMarkupElements" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_Tc">
<xsd:sequence>
@ -2322,21 +2382,29 @@
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="CT_TrPr">
<xsd:complexContent>
<xsd:extension base="CT_TrPrBase">
<xsd:sequence>
<xsd:element name="ins" type="CT_TrackChange" minOccurs="0"/>
<xsd:element name="del" type="CT_TrackChange" minOccurs="0"/>
<xsd:element name="trPrChange" type="CT_TrPrChange" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="cnfStyle" type="CT_Cnf" minOccurs="0" maxOccurs="1"/>
<xsd:element name="divId" type="CT_DecimalNumber" minOccurs="0"/>
<xsd:element name="gridBefore" type="CT_DecimalNumber" minOccurs="0"/>
<xsd:element name="gridAfter" type="CT_DecimalNumber" minOccurs="0"/>
<xsd:element name="wBefore" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/>
<xsd:element name="wAfter" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/>
<xsd:element name="cantSplit" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="trHeight" type="CT_Height" minOccurs="0"/>
<xsd:element name="tblHeader" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="tblCellSpacing" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/>
<xsd:element name="jc" type="CT_JcTable" minOccurs="0" maxOccurs="1"/>
<xsd:element name="hidden" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="ins" type="CT_TrackChange" minOccurs="0"/>
<xsd:element name="del" type="CT_TrackChange" minOccurs="0"/>
<xsd:element name="trPrChange" type="CT_TrPrChange" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_Row">
<xsd:sequence>
<xsd:element name="tblPrEx" type="CT_TblPrEx" minOccurs="0" maxOccurs="1"/>
<xsd:element name="trPr" type="CT_TrPr" minOccurs="0" maxOccurs="1"/>
<xsd:element name="todo_EG_ContentCellContent" type="CT_String" minOccurs="0"/>
<xsd:group ref="EG_ContentCellContent" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="rsidRPr" type="ST_LongHexNumber"/>
<xsd:attribute name="rsidR" type="ST_LongHexNumber"/>
@ -2413,13 +2481,26 @@
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_TblPr">
<xsd:complexContent>
<xsd:extension base="CT_TblPrBase">
<xsd:sequence>
<xsd:element name="tblPrChange" type="CT_TblPrChange" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="tblStyle" type="CT_String" minOccurs="0"/>
<xsd:element name="tblpPr" type="CT_TblPPr" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblOverlap" type="CT_TblOverlap" minOccurs="0" maxOccurs="1"/>
<xsd:element name="bidiVisual" type="CT_OnOff" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblStyleRowBandSize" type="CT_DecimalNumber" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblStyleColBandSize" type="CT_DecimalNumber" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblW" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/>
<xsd:element name="jc" type="CT_JcTable" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblCellSpacing" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblInd" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblBorders" type="CT_TblBorders" minOccurs="0" maxOccurs="1"/>
<xsd:element name="shd" type="CT_Shd" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblLayout" type="CT_TblLayoutType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblCellMar" type="CT_TblCellMar" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblLook" type="CT_TblLook" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblCaption" type="CT_String" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblDescription" type="CT_String" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblPrChange" type="CT_TblPrChange" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_TblPrExBase">
<xsd:sequence>
@ -2435,20 +2516,25 @@
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_TblPrEx">
<xsd:complexContent>
<xsd:extension base="CT_TblPrExBase">
<xsd:sequence>
<xsd:element name="tblPrExChange" type="CT_TblPrExChange" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="tblW" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/>
<xsd:element name="jc" type="CT_JcTable" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblCellSpacing" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblInd" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblBorders" type="CT_TblBorders" minOccurs="0" maxOccurs="1"/>
<xsd:element name="shd" type="CT_Shd" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblLayout" type="CT_TblLayoutType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblCellMar" type="CT_TblCellMar" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblLook" type="CT_TblLook" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tblPrExChange" type="CT_TblPrExChange" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_Tbl">
<xsd:sequence>
<xsd:group ref="EG_RangeMarkupElements" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="tblPr" type="CT_TblPr"/>
<xsd:element name="tblGrid" type="CT_TblGrid"/>
<xsd:element name="todo_EG_ContentRowContent" type="CT_String" minOccurs="0"/>
<xsd:group ref="EG_ContentRowContent" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_TblLook">
@ -2528,22 +2614,20 @@
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_FtnDocProps">
<xsd:complexContent>
<xsd:extension base="CT_FtnProps">
<xsd:sequence>
<xsd:element name="footnote" type="CT_FtnEdnSepRef" minOccurs="0" maxOccurs="3"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="pos" type="CT_FtnPos" minOccurs="0"/>
<xsd:element name="numFmt" type="CT_NumFmt" minOccurs="0"/>
<xsd:group ref="EG_FtnEdnNumProps" minOccurs="0"/>
<xsd:element name="footnote" type="CT_FtnEdnSepRef" minOccurs="0" maxOccurs="3"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_EdnDocProps">
<xsd:complexContent>
<xsd:extension base="CT_EdnProps">
<xsd:sequence>
<xsd:element name="endnote" type="CT_FtnEdnSepRef" minOccurs="0" maxOccurs="3"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="pos" type="CT_EdnPos" minOccurs="0"/>
<xsd:element name="numFmt" type="CT_NumFmt" minOccurs="0"/>
<xsd:group ref="EG_FtnEdnNumProps" minOccurs="0"/>
<xsd:element name="endnote" type="CT_FtnEdnSepRef" minOccurs="0" maxOccurs="3"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_RecipientData">
<xsd:sequence>
@ -2900,11 +2984,8 @@
<xsd:attribute name="val" type="ST_FrameScrollbar" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_OptimizeForBrowser">
<xsd:complexContent>
<xsd:extension base="CT_OnOff">
<xsd:attribute name="target" type="s:ST_String" use="optional"/>
</xsd:extension>
</xsd:complexContent>
<xsd:attribute name="val" type="s:ST_OnOff"/>
<xsd:attribute name="target" type="s:ST_String" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_Frame">
<xsd:sequence>
@ -3158,12 +3239,9 @@
<xsd:attribute name="csb1" use="required" type="ST_LongHexNumber"/>
</xsd:complexType>
<xsd:complexType name="CT_FontRel">
<xsd:complexContent>
<xsd:extension base="CT_Rel">
<xsd:attribute name="fontKey" type="s:ST_Guid"/>
<xsd:attribute name="subsetted" type="s:ST_OnOff"/>
</xsd:extension>
</xsd:complexContent>
<xsd:attribute ref="r:id" use="required"/>
<xsd:attribute name="fontKey" type="s:ST_Guid"/>
<xsd:attribute name="subsetted" type="s:ST_OnOff"/>
</xsd:complexType>
<xsd:complexType name="CT_Font">
<xsd:sequence>
@ -3449,23 +3527,17 @@
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_Document">
<xsd:complexContent>
<xsd:extension base="CT_DocumentBase">
<xsd:sequence>
<xsd:element name="body" type="CT_Body" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="conformance" type="s:ST_ConformanceClass"/>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="background" type="CT_Background" minOccurs="0"/>
<xsd:element name="body" type="CT_Body" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="conformance" type="s:ST_ConformanceClass"/>
</xsd:complexType>
<xsd:complexType name="CT_GlossaryDocument">
<xsd:complexContent>
<xsd:extension base="CT_DocumentBase">
<xsd:sequence>
<xsd:element name="docParts" type="CT_DocParts" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:sequence>
<xsd:element name="background" type="CT_Background" minOccurs="0"/>
<xsd:element name="docParts" type="CT_DocParts" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="document" type="CT_Document"/>
<xsd:element name="glossaryDocument" type="CT_GlossaryDocument"/>

View File

@ -562,7 +562,7 @@ public class FormatChecker
{
if (Ionic.Zip.ZipFile.IsZipFile(ms, false))
{
using (Ionic.Zip.ZipFile oZipFile = Ionic.Zip.ZipFile.Read(aBuffer))
using (Ionic.Zip.ZipFile oZipFile = Ionic.Zip.ZipFile.Read(ms))
{
format = GetFileFormatByZip(oZipFile);
}

View File

@ -35,8 +35,9 @@
<Reference Include="Ionic.Zip.Reduced">
<HintPath>..\..\..\..\..\..\..\activex\AVS\Sources\TeamlabOffice\trunk\wwwroot\Bin\Ionic.Zip.Reduced.dll</HintPath>
</Reference>
<Reference Include="OpenMcdf">
<HintPath>..\..\..\..\..\..\..\activex\AVS\Sources\TeamlabOffice\trunk\wwwroot\Bin\OpenMcdf.dll</HintPath>
<Reference Include="OpenMcdf, Version=2.2.1.9, Culture=neutral, PublicKeyToken=fdbb1629d7c00800, processorArchitecture=MSIL">
<HintPath>..\packages\OpenMcdf.2.2.1.9\lib\net40\OpenMcdf.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
@ -53,6 +54,7 @@
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.

View File

@ -41,7 +41,7 @@ namespace FilesSort
static void Main(string[] args)
{
string input = @"D:\logs\doc.onlyoffice.com\sync\files";
string output = @"D:\logs\doc.onlyoffice.com\6.0.0\errorsorted";
string output = @"D:\logs\doc.onlyoffice.com\6.4.1\errorsorted";
DateTime start = DateTime.Now;
Dictionary<long, long> hash = new Dictionary<long, long>();

View File

@ -61,7 +61,9 @@ namespace TestDocsWithChart
//getMath();
//getFullCalcOnLoad();
//getGradientPos();
getCAFiles();
//getCAFiles();
//getSlicerFiles();
getNamedSheetView();
}
static void getFilesPivot()
{
@ -371,7 +373,72 @@ namespace TestDocsWithChart
System.IO.File.Copy(tuple.Item2, Path.Combine(sDirOutput, tuple.Item1.ToString("D6") + "_" + Path.GetFileName(tuple.Item2)), true);
}
}
static void getSlicerFiles()
{
string sDirInput = @"\\192.168.5.3\files\Files\xlsx";
string sDirOutput1 = @"D:\Files\Slicers\table";
string sFindText1 = "tableSlicerCache";
string sDirOutput2 = @"D:\Files\Slicers\olap";
string sFindText2 = "olap";
string sDirOutput3 = @"D:\Files\Slicers\pivot";
String[] allfiles = System.IO.Directory.GetFiles(sDirInput, "*.*", System.IO.SearchOption.AllDirectories);
for (var i = 0; i < allfiles.Length; ++i)
{
string file = allfiles[i];
try
{
ZipArchive zip = ZipFile.OpenRead(file);
foreach (ZipArchiveEntry entry in zip.Entries)
{
if (entry.FullName.Contains("slicerCache") && entry.FullName.EndsWith(".xml"))
{
using (StreamReader reader = new StreamReader(entry.Open(), Encoding.UTF8))
{
string sXml = reader.ReadToEnd();
if (-1 != sXml.IndexOf(sFindText1))
{
System.IO.File.Copy(file, Path.Combine(sDirOutput1, Path.GetFileName(file)), true);
}
else if (-1 != sXml.IndexOf(sFindText2))
{
System.IO.File.Copy(file, Path.Combine(sDirOutput2, Path.GetFileName(file)), true);
}
else
{
System.IO.File.Copy(file, Path.Combine(sDirOutput3, Path.GetFileName(file)), true);
}
}
}
}
}
catch { }
}
}
static void getNamedSheetView()
{
string sDirInput = @"\\192.168.5.3\files\Files\xlsx";
string sDirOutput = @"D:\Files\NamedSheetView";
String[] allfiles = System.IO.Directory.GetFiles(sDirInput, "*.*", System.IO.SearchOption.AllDirectories);
for (var i = 0; i < allfiles.Length; ++i)
{
string file = allfiles[i];
try
{
ZipArchive zip = ZipFile.OpenRead(file);
foreach (ZipArchiveEntry entry in zip.Entries)
{
if (entry.FullName.StartsWith("namedSheetView"))
{
System.IO.File.Copy(file, Path.Combine(sDirOutput, Path.GetFileName(file)), true);
break;
}
}
}
catch { }
}
}
static void getFilesConditional()
{
//string sFindText = "conditionalFormatting";