Anonymous avatar Anonymous committed 2576497

annotated model.xml with tags and used tags to calculate left efforts

Comments (0)

Files changed (3)

writerfilter/source/ooxml/analyzemodel.xsl

 				</xsl:for-each>
 			</xsl:when>
 		</xsl:choose>
+        <xsl:copy-of select="@tag"/>
 	</xsl:for-each>
 </xsl:template>
 </xsl:stylesheet>

writerfilter/source/ooxml/effort.xsl

 <xsl:output method="text"/>
     
 <xsl:template match="/">
-    <xsl:text>Namespace,Define,Name,Done,Planned,qname-count&#xa;</xsl:text>
-    <xsl:for-each select="/todo/attribute|/todo/element">
-        <xsl:for-each select=".//status">
-                <xsl:for-each select="ancestor::attribute|ancestor::element">
-                    <xsl:value-of select="@namespace"/>
-                    <xsl:text>,</xsl:text>
-                    <xsl:value-of select="@define"/>
-                    <xsl:text>,</xsl:text>
-                    <xsl:value-of select="@name"/>
-                    <xsl:text>,</xsl:text>
-                </xsl:for-each>
-                <xsl:value-of select="@done"/>
-                <xsl:text>,</xsl:text>
-                <xsl:value-of select="@planned"/>
-                <xsl:text>,</xsl:text>
-                <xsl:value-of select="@qname-count"/>
-                <xsl:text>&#xa;</xsl:text>
-        </xsl:for-each>
-        <xsl:if test="not(.//status)">
-                <xsl:value-of select="@namespace"/>
-                <xsl:text>,</xsl:text>
-                <xsl:value-of select="@define"/>
-                <xsl:text>,</xsl:text>
-                <xsl:value-of select="@name"/>
-                <xsl:text>,0,0.5,1&#xa;</xsl:text>
-        </xsl:if>
+  <xsl:text>Namespace,Define,Name,Tag,Done,Planned,qname-count&#xa;</xsl:text>
+  <xsl:for-each select="/todo/attribute|/todo/element">
+    <xsl:variable name="namespace" select="@namespace"/>
+    <xsl:variable name="define" select="@define"/>
+    <xsl:variable name="name" select="@name"/>
+    <xsl:variable name="tag" select="@tag"/>
+
+    <xsl:for-each select=".//status">
+      <xsl:value-of select="$namespace"/>
+      <xsl:text>,</xsl:text>
+      <xsl:value-of select="$define"/>
+      <xsl:text>,</xsl:text>
+      <xsl:value-of select="$name"/>
+      <xsl:text>,</xsl:text>
+      <xsl:value-of select="$tag"/>
+      <xsl:text>,</xsl:text>
+      <xsl:value-of select="@done"/>
+      <xsl:text>,</xsl:text>
+      <xsl:value-of select="@planned"/>
+      <xsl:text>,</xsl:text>
+      <xsl:value-of select="@qname-count"/>
+      <xsl:text>&#xa;</xsl:text>
     </xsl:for-each>
+    <xsl:if test="not(.//status)">
+      <xsl:value-of select="$namespace"/>
+      <xsl:text>,</xsl:text>
+      <xsl:value-of select="$define"/>
+      <xsl:text>,</xsl:text>
+      <xsl:value-of select="$name"/>
+      <xsl:text>,</xsl:text>
+      <xsl:value-of select="$tag"/>
+      <xsl:text>,0,0.5,1&#xa;</xsl:text>
+    </xsl:if>
+  </xsl:for-each>
 </xsl:template>
 
 </xsl:stylesheet>

writerfilter/source/ooxml/model.xml

       </define>
     </grammar>
     <resource name="CT_OfficeStyleSheet" resource="Table" tokenid="ooxml:THEMETABLE"/>
-    <resource name="theme" resource="Stream">
+    <resource name="theme" resource="Stream" tag="theme">
       <element name="theme" tokenid="ooxml:THEMETABLE"/>
     </resource>
-    <resource name="themeOverride" resource="Stream"/>
-    <resource name="themeManager" resource="Stream"/>
+    <resource name="themeOverride" resource="Stream" tag="theme"/>
+    <resource name="themeManager" resource="Stream" tag="theme"/>
   </namespace>
   <namespace name="dml-styleDefaults" file="dml-styleDefaults">
     <grammar xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/main">
       <value name="hlink" tokenid="ooxml:Value_drawingml_ST_ColorSchemeIndex_hlink">hlink</value>
       <value name="folHlink" tokenid="ooxml:Value_drawingml_ST_ColorSchemeIndex_folHlink">folHlink</value>
     </resource>
-    <resource name="CT_ColorScheme" resource="Properties">
+    <resource name="CT_ColorScheme" resource="Properties" tag="theme">
       <element name="dk1" tokenid="ooxml:CT_ColorScheme_dk1"/>
       <element name="lt1" tokenid="ooxml:CT_ColorScheme_lt1"/>
       <element name="dk2" tokenid="ooxml:CT_ColorScheme_dk2"/>
       <element name="extLst" tokenid="ooxml:CT_ColorScheme_extLst"/>
       <attribute name="name" tokenid="ooxml:CT_ColorScheme_name"/>
     </resource>
-    <resource name="CT_SupplementalFont" resource="Properties">
+    <resource name="CT_SupplementalFont" resource="Properties" tag="theme">
       <attribute name="script" tokenid="ooxml:CT_SupplementalFont_script"/>
       <attribute name="typeface" tokenid="ooxml:CT_SupplementalFont_typeface"/>
     </resource>
-    <resource name="CT_FontCollection" resource="Properties">
+    <resource name="CT_FontCollection" resource="Properties" tag="theme">
       <element name="latin" tokenid="ooxml:CT_FontCollection_latin"/>
       <element name="ea" tokenid="ooxml:CT_FontCollection_ea"/>
       <element name="cs" tokenid="ooxml:CT_FontCollection_cs"/>
       <element name="font" tokenid="ooxml:CT_FontCollection_font"/>
       <element name="extLst" tokenid="ooxml:CT_FontCollection_extLst"/>
     </resource>
-    <resource name="CT_FontScheme" resource="Properties">
+    <resource name="CT_FontScheme" resource="Properties" tag="theme">
       <element name="majorFont" tokenid="ooxml:CT_FontScheme_majorFont"/>
       <element name="minorFont" tokenid="ooxml:CT_FontScheme_minorFont"/>
       <element name="extLst" tokenid="ooxml:CT_FontScheme_extLst"/>
       <attribute name="name" tokenid="ooxml:CT_FontScheme_name"/>
     </resource>
-    <resource name="CT_FillStyleList" resource="Properties"/>
-    <resource name="CT_LineStyleList" resource="Properties">
+    <resource name="CT_FillStyleList" resource="Properties" tag="theme"/>
+    <resource name="CT_LineStyleList" resource="Properties" tag="theme">
       <element name="ln" tokenid="ooxml:CT_LineStyleList_ln"/>
     </resource>
-    <resource name="CT_EffectStyleList" resource="Properties">
+    <resource name="CT_EffectStyleList" resource="Properties" tag="theme">
       <element name="effectStyle" tokenid="ooxml:CT_EffectStyleList_effectStyle"/>
     </resource>
-    <resource name="CT_BackgroundFillStyleList" resource="Properties"/>
-    <resource name="CT_StyleMatrix" resource="Properties">
+    <resource name="CT_BackgroundFillStyleList" resource="Properties" tag="theme"/>
+    <resource name="CT_StyleMatrix" resource="Properties" tag="theme">
       <element name="fillStyleLst" tokenid="ooxml:CT_StyleMatrix_fillStyleLst"/>
       <element name="lnStyleLst" tokenid="ooxml:CT_StyleMatrix_lnStyleLst"/>
       <element name="effectStyleLst" tokenid="ooxml:CT_StyleMatrix_effectStyleLst"/>
       <element name="bgFillStyleLst" tokenid="ooxml:CT_StyleMatrix_bgFillStyleLst"/>
       <attribute name="name" tokenid="ooxml:CT_StyleMatrix_name"/>
     </resource>
-    <resource name="CT_BaseStyles" resource="Properties">
+    <resource name="CT_BaseStyles" resource="Properties" tag="theme">
       <element name="clrScheme" tokenid="ooxml:CT_BaseStyles_clrScheme"/>
       <element name="fontScheme" tokenid="ooxml:CT_BaseStyles_fontScheme"/>
       <element name="fmtScheme" tokenid="ooxml:CT_BaseStyles_fmtScheme"/>
     <resource name="ST_TextFontSize" resource="Integer" generated="yes"/>
     <resource name="ST_Panose" resource="Hex" generated="yes"/>
     <resource name="ST_TextTypeface" resource="String" generated="yes"/>
-    <resource name="CT_TextFont" resource="Properties">
+    <resource name="CT_TextFont" resource="Properties" tag="character">
       <attribute name="typeface" tokenid="ooxml:CT_TextFont_typeface"/>
       <attribute name="panose" tokenid="ooxml:CT_TextFont_panose"/>
       <attribute name="pitchFamily" tokenid="ooxml:CT_TextFont_pitchFamily"/>
       <value name="shdw19" tokenid="ooxml:Value_drawingml_ST_PresetShadowVal_shdw19">shdw19</value>
       <value name="shdw20" tokenid="ooxml:Value_drawingml_ST_PresetShadowVal_shdw20">shdw20</value>
     </resource>
-    <resource name="CT_SolidColorFillProperties" resource="Properties"/>
+    <resource name="CT_SolidColorFillProperties" resource="Properties" tag="shape"/>
     <resource name="ST_PathShadeType" resource="List" generated="yes">
       <value name="shape" tokenid="ooxml:Value_drawingml_ST_PathShadeType_shape">shape</value>
       <value name="circle" tokenid="ooxml:Value_drawingml_ST_PathShadeType_circle">circle</value>
       <value name="y" tokenid="ooxml:Value_drawingml_ST_TileFlipMode_y">y</value>
       <value name="xy" tokenid="ooxml:Value_drawingml_ST_TileFlipMode_xy">xy</value>
     </resource>
-    <resource name="CT_GradientStop" resource="Properties">
+    <resource name="CT_GradientStop" resource="Properties" tag="shape">
       <attribute name="pos" tokenid="ooxml:CT_GradientStop_pos"/>
     </resource>
     <resource name="CT_TileInfoProperties" resource="Properties">
       <attribute name="flip" tokenid="ooxml:CT_TileInfoProperties_flip"/>
       <attribute name="algn" tokenid="ooxml:CT_TileInfoProperties_algn"/>
     </resource>
-    <resource name="CT_StretchInfoProperties" resource="Properties">
+    <resource name="CT_StretchInfoProperties" resource="Properties" tag="shape">
       <element name="fillRect" tokenid="ooxml:CT_StretchInfoProperties_fillRect"/>
     </resource>
-    <resource name="EG_FillModeProperties" resource="Properties">
+    <resource name="EG_FillModeProperties" resource="Properties" tag="shape">
       <element name="tile" tokenid="ooxml:EG_FillModeProperties_tile"/>
       <element name="stretch" tokenid="ooxml:EG_FillModeProperties_stretch"/>
     </resource>
       <value name="hqprint" tokenid="ooxml:Value_drawingml_ST_BlipCompression_hqprint">hqprint</value>
       <value name="none" tokenid="ooxml:Value_drawingml_ST_BlipCompression_none">none</value>
     </resource>
-    <resource name="CT_Blip" resource="Properties">
+    <resource name="CT_Blip" resource="Properties" tag="shape">
       <element name="alphaBiLevel" tokenid="ooxml:CT_Blip_alphaBiLevel"/>
       <element name="alphaCeiling" tokenid="ooxml:CT_Blip_alphaCeiling"/>
       <element name="alphaFloor" tokenid="ooxml:CT_Blip_alphaFloor"/>
       <element name="extLst" tokenid="ooxml:CT_Blip_extLst"/>
       <attribute name="cstate" tokenid="ooxml:CT_Blip_cstate"/>
     </resource>
-    <resource name="CT_BlipFillProperties" resource="Properties">
+    <resource name="CT_BlipFillProperties" resource="Properties" tag="shape">
       <element name="blip" tokenid="ooxml:CT_BlipFillProperties_blip"/>
       <element name="srcRect" tokenid="ooxml:CT_BlipFillProperties_srcRect"/>
       <attribute name="dpi" tokenid="ooxml:CT_BlipFillProperties_dpi"/>
       <value name="darken" tokenid="ooxml:Value_drawingml_ST_BlendMode_darken">darken</value>
       <value name="lighten" tokenid="ooxml:Value_drawingml_ST_BlendMode_lighten">lighten</value>
     </resource>
-    <resource name="EG_Effect" resource="Properties">
+    <resource name="EG_Effect" resource="Properties" tag="shape">
       <element name="cont" tokenid="ooxml:EG_Effect_cont"/>
       <element name="effect" tokenid="ooxml:EG_Effect_effect"/>
       <element name="alphaBiLevel" tokenid="ooxml:EG_Effect_alphaBiLevel"/>
       <value name="sib" tokenid="ooxml:Value_drawingml_ST_EffectContainerType_sib">sib</value>
       <value name="tree" tokenid="ooxml:Value_drawingml_ST_EffectContainerType_tree">tree</value>
     </resource>
-    <resource name="CT_EffectContainer" resource="Properties">
+    <resource name="CT_EffectContainer" resource="Properties" tag="shape">
       <attribute name="type" tokenid="ooxml:CT_EffectContainer_type"/>
       <attribute name="name" tokenid="ooxml:CT_EffectContainer_name"/>
     </resource>
       <value name="med" tokenid="ooxml:Value_drawingml_ST_LineEndLength_med">med</value>
       <value name="lg" tokenid="ooxml:Value_drawingml_ST_LineEndLength_lg">lg</value>
     </resource>
-    <resource name="CT_LineEndProperties" resource="Properties">
+    <resource name="CT_LineEndProperties" resource="Properties" tag="shape">
       <attribute name="type" tokenid="ooxml:CT_LineEndProperties_type"/>
       <attribute name="w" tokenid="ooxml:CT_LineEndProperties_w"/>
       <attribute name="len" tokenid="ooxml:CT_LineEndProperties_len"/>
     </resource>
-    <resource name="EG_LineFillProperties" resource="Properties">
+    <resource name="EG_LineFillProperties" resource="Properties" tag="shape">
       <element name="noFill" tokenid="ooxml:EG_LineFillProperties_noFill"/>
       <element name="solidFill" tokenid="ooxml:EG_LineFillProperties_solidFill"/>
       <element name="gradFill" tokenid="ooxml:EG_LineFillProperties_gradFill"/>
       <value name="thinThick" tokenid="ooxml:Value_drawingml_ST_CompoundLine_thinThick">thinThick</value>
       <value name="tri" tokenid="ooxml:Value_drawingml_ST_CompoundLine_tri">tri</value>
     </resource>
-    <resource name="CT_LineProperties" resource="Properties">
+    <resource name="CT_LineProperties" resource="Properties" tag="shape">
       <element name="headEnd" tokenid="ooxml:CT_LineProperties_headEnd"/>
       <element name="tailEnd" tokenid="ooxml:CT_LineProperties_tailEnd"/>
       <element name="extLst" tokenid="ooxml:CT_LineProperties_extLst"/>
         </optional>
       </define>
     </grammar>
-    <resource name="CT_ShapeProperties" resource="Properties">
+    <resource name="CT_ShapeProperties" resource="Properties" tag="shape">
       <element name="xfrm" tokenid="ooxml:CT_ShapeProperties_xfrm"/>
       <element name="ln" tokenid="ooxml:CT_ShapeProperties_ln"/>
       <element name="scene3d" tokenid="ooxml:CT_ShapeProperties_scene3d"/>
       <attribute name="val" tokenid="ooxml:CT_Angle_val" action="setValue"/>
       <action name="start" action="setDefaultIntegerValue"/>
     </resource>
-    <resource name="CT_PositiveFixedAngle" resource="Value" generated="yes">
+    <resource name="CT_PositiveFixedAngle" resource="Value" generated="yes" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_PositiveFixedAngle_val" action="setValue"/>
     </resource>
     <resource name="ST_Percentage" resource="Integer" generated="yes"/>
-    <resource name="CT_Percentage" resource="Value" generated="yes">
+    <resource name="CT_Percentage" resource="Value" generated="yes" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_Percentage_val" action="setValue"/>
       <action name="start" action="setDefaultIntegerValue"/>
     </resource>
-    <resource name="CT_PositivePercentage" resource="Value" generated="yes">
+    <resource name="CT_PositivePercentage" resource="Value" generated="yes" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_PositivePercentage_val" action="setValue"/>
     </resource>
-    <resource name="CT_FixedPercentage" resource="Value" generated="yes">
+    <resource name="CT_FixedPercentage" resource="Value" generated="yes" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_FixedPercentage_val" action="setValue"/>
     </resource>
-    <resource name="CT_PositiveFixedPercentage" resource="Value" generated="yes">
+    <resource name="CT_PositiveFixedPercentage" resource="Value" generated="yes" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_PositiveFixedPercentage_val" action="setValue"/>
     </resource>
-    <resource name="CT_Point2D" resource="Properties">
+    <resource name="CT_Point2D" resource="Properties" tag="shape">
       <attribute name="x" tokenid="ooxml:CT_Point2D_x"/>
       <attribute name="y" tokenid="ooxml:CT_Point2D_y"/>
     </resource>
-    <resource name="CT_PositiveSize2D" resource="Properties">
+    <resource name="CT_PositiveSize2D" resource="Properties" tag="shape">
       <attribute name="cx" tokenid="ooxml:CT_PositiveSize2D_cx"/>
       <attribute name="cy" tokenid="ooxml:CT_PositiveSize2D_cy"/>
     </resource>
-    <resource name="CT_ScRgbColor" resource="Properties">
+    <resource name="CT_ScRgbColor" resource="Properties" tag="shape">
       <attribute name="r" tokenid="ooxml:CT_ScRgbColor_r"/>
       <attribute name="g" tokenid="ooxml:CT_ScRgbColor_g"/>
       <attribute name="b" tokenid="ooxml:CT_ScRgbColor_b"/>
     </resource>
     <resource name="ST_HexBinary3" resource="Hex" generated="yes"/>
-    <resource name="CT_SRgbColor" resource="Properties">
+    <resource name="CT_SRgbColor" resource="Properties" tag="shape">
       <attribute name="val" tokenid="ooxml:CT_SRgbColor_val"/>
     </resource>
-    <resource name="CT_HslColor" resource="Properties">
+    <resource name="CT_HslColor" resource="Properties" tag="shape">
       <attribute name="hue" tokenid="ooxml:CT_HslColor_hue"/>
       <attribute name="sat" tokenid="ooxml:CT_HslColor_sat"/>
       <attribute name="lum" tokenid="ooxml:CT_HslColor_lum"/>
       <value name="menuHighlight" tokenid="ooxml:Value_drawingml_ST_SystemColorVal_menuHighlight">menuHighlight</value>
       <value name="menuBar" tokenid="ooxml:Value_drawingml_ST_SystemColorVal_menuBar">menuBar</value>
     </resource>
-    <resource name="CT_SystemColor" resource="Properties">
+    <resource name="CT_SystemColor" resource="Properties" tag="shape">
       <attribute name="val" tokenid="ooxml:CT_SystemColor_val"/>
       <attribute name="lastClr" tokenid="ooxml:CT_SytemColor_lastClr"/>
     </resource>
       <value name="dk2" tokenid="ooxml:Value_drawingml_ST_SchemeColorVal_dk2">dk2</value>
       <value name="lt2" tokenid="ooxml:Value_drawingml_ST_SchemeColorVal_lt2">lt2</value>
     </resource>
-    <resource name="CT_SchemeColor" resource="Properties">
+    <resource name="CT_SchemeColor" resource="Properties" tag="shape">
       <attribute name="val" tokenid="ooxml:CT_SchemeColor_val"/>
     </resource>
     <resource name="ST_PresetColorVal" resource="List">
       <value tokenid="0xffff00">yellow</value>
       <value tokenid="0x9acd32">yellowGreen</value>
     </resource>
-    <resource name="CT_PresetColor" resource="Properties">
+    <resource name="CT_PresetColor" resource="Properties" tag="shape">
       <attribute name="val" tokenid="ooxml:CT_PresetColor_val"/>
     </resource>
-    <resource name="CT_Transform2D" resource="Properties">
+    <resource name="CT_Transform2D" resource="Properties" tag="shape">
       <element name="off" tokenid="ooxml:CT_Transform2D_off"/>
       <element name="ext" tokenid="ooxml:CT_Transform2D_ext"/>
       <attribute name="rot" tokenid="ooxml:CT_Transform2D_rot"/>
       <value name="br" tokenid="ooxml:Value_drawingml_ST_RectAlignment_br">br</value>
     </resource>
     <resource name="ST_Guid" resource="String" generated="yes"/>
-    <resource name="EG_ColorChoice" resource="Properties">
+    <resource name="EG_ColorChoice" resource="Properties" tag="shape">
       <element name="scrgbClr" tokenid="ooxml:EG_ColorChoice_scrgbClr"/>
       <element name="srgbClr" tokenid="ooxml:EG_ColorChoice_srgbClr"/>
       <element name="hslClr" tokenid="ooxml:EG_ColorChoice_hslClr"/>
       <element name="schemeClr" tokenid="ooxml:EG_ColorChoice_schemeClr"/>
       <element name="prstClr" tokenid="ooxml:EG_ColorChoice_prstClr"/>
     </resource>
-    <resource name="CT_Color" resource="Properties"/>
-    <resource name="CT_ColorMRU" resource="Properties"/>
+    <resource name="CT_Color" resource="Properties" tag="shape"/>
+    <resource name="CT_ColorMRU" resource="Properties" tag="shape"/>
     <resource name="ST_BlackWhiteMode" resource="List" generated="yes">
       <value name="clr" tokenid="ooxml:Value_drawingml_ST_BlackWhiteMode_clr">clr</value>
       <value name="auto" tokenid="ooxml:Value_drawingml_ST_BlackWhiteMode_auto">auto</value>
       <value name="white" tokenid="ooxml:Value_drawingml_ST_BlackWhiteMode_white">white</value>
       <value name="hidden" tokenid="ooxml:Value_drawingml_ST_BlackWhiteMode_hidden">hidden</value>
     </resource>
-    <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="AG_Blob" resource="Properties">
+    <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="AG_Blob" resource="Properties" tag="shape">
       <attribute name="r:embed" tokenid="ooxml:AG_Blob_r_embed"/>
       <attribute name="r:link" tokenid="ooxml:AG_Blob_r_link"/>
     </resource>
         </optional>
       </define>
     </grammar>
-    <resource name="CT_GraphicalObjectFrameLocking" resource="Properties">
+    <resource name="CT_GraphicalObjectFrameLocking" resource="Properties" tag="shape">
       <element name="extLst" tokenid="ooxml:CT_GraphicalObjectFrameLocking_extLst"/>
       <attribute name="noGrp" tokenid="ooxml:CT_GraphicalObjectFrameLocking_noGrp"/>
       <attribute name="noDrilldown" tokenid="ooxml:CT_GraphicalObjectFrameLocking_noDrilldown"/>
       <attribute name="noMove" tokenid="ooxml:CT_GraphicalObjectFrameLocking_noMove"/>
       <attribute name="noResize" tokenid="ooxml:CT_GraphicalObjectFrameLocking_noResize"/>
     </resource>
-    <resource name="CT_NonVisualDrawingProps" resource="Properties">
+    <resource name="CT_NonVisualDrawingProps" resource="Properties" tag="shape">
       <element name="hlinkClick" tokenid="ooxml:CT_NonVisualDrawingProps_hlinkClick"/>
       <element name="hlinkHover" tokenid="ooxml:CT_NonVisualDrawingProps_hlinkHover"/>
       <element name="extLst" tokenid="ooxml:CT_NonVisualDrawingProps_extLst"/>
       <attribute name="descr" tokenid="ooxml:CT_NonVisualDrawingProps_descr"/>
       <attribute name="hidden" tokenid="ooxml:CT_NonVisualDrawingProps_hidden"/>
     </resource>
-    <resource name="CT_NonVisualPictureProperties" resource="Properties">
+    <resource name="CT_NonVisualPictureProperties" resource="Properties" tag="shape">
       <element name="picLocks" tokenid="ooxml:CT_NonVisualPictureProperties_picLocks"/>
       <element name="extLst" tokenid="ooxml:CT_NonVisualPictureProperties_extLst"/>
       <attribute name="preferRelativeResize" tokenid="ooxml:CT_NonVisualPictureProperties_preferRelativeResize"/>
     </resource>
-    <resource name="CT_NonVisualGraphicFrameProperties" resource="Properties">
+    <resource name="CT_NonVisualGraphicFrameProperties" resource="Properties" tag="shape">
       <element name="graphicFrameLocks" tokenid="ooxml:CT_NonVisualGraphicFrameProperties_graphicFrameLocks"/>
       <element name="extLst" tokenid="ooxml:CT_NonVisualGraphicFrameProperties_extLst"/>
     </resource>
         </element>
       </define>
     </grammar>
-    <resource name="CT_GraphicalObjectData" resource="Properties">
+    <resource name="CT_GraphicalObjectData" resource="Properties" tag="shape">
       <element name="pic" tokenid="ooxml:CT_GraphicalObjectData_pic"/>
       <attribute name="uri" tokenid="ooxml:CT_GraphicalObjectData_uri"/>
     </resource>
-    <resource name="CT_GraphicalObject" resource="Properties">
+    <resource name="CT_GraphicalObject" resource="Properties" tag="shape">
       <element name="graphicData" tokenid="ooxml:CT_GraphicalObject_graphicData"/>
     </resource>
-    <resource name="graphic" resource="Properties">
+    <resource name="graphic" resource="Properties" tag="shape">
       <element name="graphic" tokenid="ooxml:graphic_graphic"/>
     </resource>
   </namespace>
     </resource>
     <resource name="ST_GeomGuideName" resource="String" generated="yes"/>
     <resource name="ST_GeomGuideFormula" resource="String" generated="yes"/>
-    <resource name="CT_GeomGuideList" resource="Properties">
+    <resource name="CT_GeomGuideList" resource="Properties" tag="shape">
       <element name="gd" tokenid="ooxml:CT_GeomGuideList_gd"/>
     </resource>
     <resource name="ST_PathFillMode" resource="List" generated="yes">
       <value name="darken" tokenid="ooxml:Value_drawingml_ST_PathFillMode_darken">darken</value>
       <value name="darkenLess" tokenid="ooxml:Value_drawingml_ST_PathFillMode_darkenLess">darkenLess</value>
     </resource>
-    <resource name="CT_PresetGeometry2D" resource="Properties">
+    <resource name="CT_PresetGeometry2D" resource="Properties" tag="shape">
       <element name="avLst" tokenid="ooxml:CT_PresetGeometry2D_avLst"/>
       <attribute name="prst" tokenid="ooxml:CT_PresetGeometry2D_prst"/>
     </resource>
-    <resource name="CT_CustomGeometry2D" resource="Properties">
+    <resource name="CT_CustomGeometry2D" resource="Properties" tag="shape">
       <element name="avLst" tokenid="ooxml:CT_CustomGeometry2D_avLst"/>
       <element name="gdLst" tokenid="ooxml:CT_CustomGeometry2D_gdLst"/>
       <element name="ahLst" tokenid="ooxml:CT_CustomGeometry2D_ahLst"/>
       <element name="rect" tokenid="ooxml:CT_CustomGeometry2D_rect"/>
       <element name="pathLst" tokenid="ooxml:CT_CustomGeometry2D_pathLst"/>
     </resource>
-    <resource name="EG_Geometry" resource="Properties">
+    <resource name="EG_Geometry" resource="Properties" tag="shape">
       <element name="custGeom" tokenid="ooxml:EG_Geometry_custGeom"/>
       <element name="prstGeom" tokenid="ooxml:EG_Geometry_prstGeom"/>
     </resource>
         </element>
       </define>
     </grammar>
-    <resource name="CT_EffectExtent" resource="Properties">
+    <resource name="CT_EffectExtent" resource="Properties" tag="shape">
       <attribute name="l" tokenid="ooxml:CT_EffectExtent_l"/>
       <attribute name="t" tokenid="ooxml:CT_EffectExtent_t"/>
       <attribute name="r" tokenid="ooxml:CT_EffectExtent_r"/>
       <attribute name="b" tokenid="ooxml:CT_EffectExtent_b"/>
     </resource>
     <resource name="ST_WrapDistance" resource="Integer" generated="yes"/>
-    <resource xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="CT_Inline" resource="Properties">
+    <resource xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="CT_Inline" resource="Properties" tag="shape">
       <element name="extent" tokenid="ooxml:CT_Inline_extent"/>
       <element name="effectExtent" tokenid="ooxml:CT_Inline_effectExtent"/>
       <element name="docPr" tokenid="ooxml:CT_Inline_docPr"/>
       <value name="right" tokenid="ooxml:Value_wordprocessingDrawing_ST_WrapText_right">right</value>
       <value name="largest" tokenid="ooxml:Value_wordprocessingDrawing_ST_WrapText_largest">largest</value>
     </resource>
-    <resource name="CT_WrapPath" resource="Properties">
+    <resource name="CT_WrapPath" resource="Properties" tag="shape">
       <element name="start" tokenid="ooxml:CT_WrapPath_start"/>
       <element name="lineTo" tokenid="ooxml:CT_WrapPath_lineTo"/>
       <attribute name="edited" tokenid="ooxml:CT_WrapPath_edited"/>
     </resource>
-    <resource name="CT_WrapNone" resource="Properties"/>
-    <resource name="CT_WrapSquare" resource="Properties">
+    <resource name="CT_WrapNone" resource="Properties" tag="shape"/>
+    <resource name="CT_WrapSquare" resource="Properties" tag="shape">
       <element name="effectExtent" tokenid="ooxml:CT_WrapSquare_effectExtent"/>
       <attribute name="wrapText" tokenid="ooxml:CT_WrapSquare_wrapText"/>
       <attribute name="distT" tokenid="ooxml:CT_WrapSquare_distT"/>
       <attribute name="distL" tokenid="ooxml:CT_WrapSquare_distL"/>
       <attribute name="distR" tokenid="ooxml:CT_WrapSquare_distR"/>
     </resource>
-    <resource name="CT_WrapTight" resource="Properties">
+    <resource name="CT_WrapTight" resource="Properties" tag="shape">
       <element name="wrapPolygon" tokenid="ooxml:CT_WrapTight_wrapPolygon"/>
       <attribute name="wrapText" tokenid="ooxml:CT_WrapTight_wrapText"/>
       <attribute name="distL" tokenid="ooxml:CT_WrapTight_distL"/>
       <attribute name="distR" tokenid="ooxml:CT_WrapTight_distR"/>
     </resource>
-    <resource name="CT_WrapThrough" resource="Properties">
+    <resource name="CT_WrapThrough" resource="Properties" tag="shape">
       <element name="wrapPolygon" tokenid="ooxml:CT_WrapThrough_wrapPolygon"/>
       <attribute name="wrapText" tokenid="ooxml:CT_WrapThrough_wrapText"/>
       <attribute name="distL" tokenid="ooxml:CT_WrapThrough_distL"/>
       <attribute name="distR" tokenid="ooxml:CT_WrapThrough_distR"/>
     </resource>
-    <resource name="CT_WrapTopBottom" resource="Properties">
+    <resource name="CT_WrapTopBottom" resource="Properties" tag="shape">
       <element name="effectExtent" tokenid="ooxml:CT_WrapTopBottom_effectExtent"/>
       <attribute name="distT" tokenid="ooxml:CT_WrapTopBottom_distT"/>
       <attribute name="distB" tokenid="ooxml:CT_WrapTopBottom_distB"/>
     </resource>
-    <resource name="EG_WrapType" resource="Properties">
+    <resource name="EG_WrapType" resource="Properties" tag="shape">
       <element name="wrapNone" tokenid="ooxml:EG_WrapType_wrapNone"/>
       <element name="wrapSquare" tokenid="ooxml:EG_WrapType_wrapSquare"/>
       <element name="wrapTight" tokenid="ooxml:EG_WrapType_wrapTight"/>
       <element name="wrapThrough" tokenid="ooxml:EG_WrapType_wrapThrough"/>
       <element name="wrapTopAndBottom" tokenid="ooxml:EG_WrapType_wrapTopAndBottom"/>
     </resource>
-    <resource name="CT_PositionOffset" resource="Value"/>
+    <resource name="CT_PositionOffset" resource="Value" tag="shape"/>
     <resource name="ST_PositionOffset" resource="Integer" generated="yes"/>
-    <resource name="CT_AlignH" resource="Value"/>
-    <resource name="ST_AlignH" resource="List" generated="yes">
+    <resource name="CT_AlignH" resource="Value" tag="shape"/>
+    <resource name="ST_AlignH" resource="List" generated="yes" tag="shape">
       <value name="left" tokenid="ooxml:Value_wordprocessingDrawing_ST_AlignH_left">left</value>
       <value name="right" tokenid="ooxml:Value_wordprocessingDrawing_ST_AlignH_right">right</value>
       <value name="center" tokenid="ooxml:Value_wordprocessingDrawing_ST_AlignH_center">center</value>
       <value name="insideMargin" tokenid="ooxml:Value_wordprocessingDrawing_ST_RelFromH_insideMargin">insideMargin</value>
       <value name="outsideMargin" tokenid="ooxml:Value_wordprocessingDrawing_ST_RelFromH_outsideMargin">outsideMargin</value>
     </resource>
-    <resource name="CT_PosH" resource="Properties">
+    <resource name="CT_PosH" resource="Properties" tag="shape">
       <element name="align" tokenid="ooxml:CT_PosH_align"/>
       <element name="posOffset" tokenid="ooxml:CT_PosH_posOffset"/>
       <attribute name="relativeFrom" tokenid="ooxml:CT_PosH_relativeFrom"/>
     </resource>
-    <resource name="CT_AlignV" resource="Value"/>
+    <resource name="CT_AlignV" resource="Value" tag="shape"/>
     <resource name="ST_AlignV" resource="List" generated="yes">
       <value name="top" tokenid="ooxml:Value_wordprocessingDrawing_ST_AlignV_top">top</value>
       <value name="bottom" tokenid="ooxml:Value_wordprocessingDrawing_ST_AlignV_bottom">bottom</value>
       <value name="insideMargin" tokenid="ooxml:Value_wordprocessingDrawing_ST_RelFromV_insideMargin">insideMargin</value>
       <value name="outsideMargin" tokenid="ooxml:Value_wordprocessingDrawing_ST_RelFromV_outsideMargin">outsideMargin</value>
     </resource>
-    <resource name="CT_PosV" resource="Properties">
+    <resource name="CT_PosV" resource="Properties" tag="shape">
       <element name="align" tokenid="ooxml:CT_PosV_align"/>
       <element name="posOffset" tokenid="ooxml:CT_PosV_posOffset"/>
       <attribute name="relativeFrom" tokenid="ooxml:CT_PosV_relativeFrom"/>
     </resource>
-    <resource xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="CT_Anchor" resource="Properties">
+    <resource xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="CT_Anchor" resource="Properties" tag="shape">
       <element name="simplePos" tokenid="ooxml:CT_Anchor_simplePos_elem"/>
       <element name="positionH" tokenid="ooxml:CT_Anchor_positionH"/>
       <element name="positionV" tokenid="ooxml:CT_Anchor_positionV"/>
       <attribute name="hidden" tokenid="ooxml:CT_Anchor_hidden"/>
       <attribute name="allowOverlap" tokenid="ooxml:CT_Anchor_allowOverlap"/>
     </resource>
-    <resource name="inline" resource="Properties">
+    <resource name="inline" resource="Properties" tag="shape">
       <element name="inline" tokenid="ooxml:inline_inline"/>
     </resource>
-    <resource name="anchor" resource="Properties">
+    <resource name="anchor" resource="Properties" tag="shape">
       <element name="anchor" tokenid="ooxml:anchor_anchor"/>
     </resource>
   </namespace>
       </define>
     </grammar>
     <resource name="ST_Integer255" resource="Integer" generated="yes"/>
-    <resource name="CT_Integer255" resource="Value" generated="yes">
+    <resource name="CT_Integer255" resource="Value" generated="yes" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_Integer255_val" action="setValue"/>
       <action name="start" action="setDefaultIntegerValue"/>
     </resource>
     <resource name="ST_Integer2" resource="Integer" generated="yes"/>
-    <resource name="CT_Integer2" resource="Value" generated="yes">
+    <resource name="CT_Integer2" resource="Value" generated="yes" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_Integer2_val" action="setValue"/>
       <action name="start" action="setDefaultIntegerValue"/>
     </resource>
     <resource name="ST_SpacingRule" resource="Integer" generated="yes"/>
-    <resource name="CT_SpacingRule" resource="Value" generated="yes">
+    <resource name="CT_SpacingRule" resource="Value" generated="yes" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_SpacingRule_val" action="setValue"/>
       <action name="start" action="setDefaultIntegerValue"/>
     </resource>
     <resource name="ST_UnSignedInteger" resource="Integer" generated="yes"/>
-    <resource name="CT_UnSignedInteger" resource="Value" generated="yes">
+    <resource name="CT_UnSignedInteger" resource="Value" generated="yes" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_UnSignedInteger_val" action="setValue"/>
       <action name="start" action="setDefaultIntegerValue"/>
     </resource>
     <resource name="ST_Char" resource="String" generated="yes"/>
-    <resource name="CT_Char" resource="Value" generated="yes">
+    <resource name="CT_Char" resource="Value" generated="yes" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_Char_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
       <value name="on" tokenid="ooxml:Value_math_ST_OnOff_on">on</value>
       <value name="off" tokenid="ooxml:Value_math_ST_OnOff_off">off</value>
     </resource>
-    <resource name="CT_OnOff" resource="Value">
+    <resource name="CT_OnOff" resource="Value" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_OnOff_val" action="setValue"/>
       <action name="start" action="setDefaultBooleanValue"/>
     </resource>
     <resource name="ST_String" resource="String" generated="yes"/>
-    <resource name="CT_String" resource="Value" generated="yes">
+    <resource name="CT_String" resource="Value" generated="yes" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_String_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
       <value name="center" tokenid="ooxml:Value_math_ST_XAlign_center">center</value>
       <value name="right" tokenid="ooxml:Value_math_ST_XAlign_right">right</value>
     </resource>
-    <resource name="CT_XAlign" resource="Value" generated="yes">
+    <resource name="CT_XAlign" resource="Value" generated="yes" tag="math">
       <attribute name="val" tokenid="ooxml:CT_XAlign_val" action="setValue"/>
     </resource>
     <resource name="ST_YAlign" resource="List" generated="yes">
       <value name="center" tokenid="ooxml:Value_math_ST_YAlign_center">center</value>
       <value name="bot" tokenid="ooxml:Value_math_ST_YAlign_bot">bot</value>
     </resource>
-    <resource name="CT_YAlign" resource="Value" generated="yes">
+    <resource name="CT_YAlign" resource="Value" generated="yes" tag="math">
       <attribute name="val" tokenid="ooxml:CT_YAlign_val" action="setValue"/>
     </resource>
     <resource name="ST_Shp" resource="List" generated="yes">
       <value name="centered" tokenid="ooxml:Value_math_ST_Shp_centered">centered</value>
       <value name="match" tokenid="ooxml:Value_math_ST_Shp_match">match</value>
     </resource>
-    <resource name="CT_Shp" resource="Value" generated="yes">
+    <resource name="CT_Shp" resource="Value" generated="yes" tag="math">
       <attribute name="val" tokenid="ooxml:CT_Shp_val" action="setValue"/>
     </resource>
     <resource name="ST_FType" resource="List" generated="yes">
       <value name="lin" tokenid="ooxml:Value_math_ST_FType_lin">lin</value>
       <value name="noBar" tokenid="ooxml:Value_math_ST_FType_noBar">noBar</value>
     </resource>
-    <resource name="CT_FType" resource="Value" generated="yes">
+    <resource name="CT_FType" resource="Value" generated="yes" tag="math">
       <attribute name="val" tokenid="ooxml:CT_FType_val" action="setValue"/>
     </resource>
     <resource name="ST_LimLoc" resource="List" generated="yes">
       <value name="undOvr" tokenid="ooxml:Value_math_ST_LimLoc_undOvr">undOvr</value>
       <value name="subSup" tokenid="ooxml:Value_math_ST_LimLoc_subSup">subSup</value>
     </resource>
-    <resource name="CT_LimLoc" resource="Value" generated="yes">
+    <resource name="CT_LimLoc" resource="Value" generated="yes" tag="math">
       <attribute name="val" tokenid="ooxml:CT_LimLoc_val" action="setValue"/>
     </resource>
     <resource name="ST_TopBot" resource="List" generated="yes">
       <value name="top" tokenid="ooxml:Value_math_ST_TopBot_top">top</value>
       <value name="bot" tokenid="ooxml:Value_math_ST_TopBot_bot">bot</value>
     </resource>
-    <resource name="CT_TopBot" resource="Value" generated="yes">
+    <resource name="CT_TopBot" resource="Value" generated="yes" tag="math">
       <attribute name="val" tokenid="ooxml:CT_TopBot_val" action="setValue"/>
     </resource>
     <resource name="ST_Script" resource="List" generated="yes">
       <value name="sansmserif" tokenid="ooxml:Value_math_ST_Script_sansmserif">sans-serif</value>
       <value name="monospace" tokenid="ooxml:Value_math_ST_Script_monospace">monospace</value>
     </resource>
-    <resource name="CT_Script" resource="Value" generated="yes">
+    <resource name="CT_Script" resource="Value" generated="yes" tag="math">
       <attribute name="val" tokenid="ooxml:CT_Script_val" action="setValue"/>
     </resource>
     <resource name="ST_Style" resource="List">
       <value tokenid="ooxml:Value_ST_Style_i">i</value>
       <value tokenid="ooxml:Value_ST_Style_p">p</value>
     </resource>
-    <resource name="CT_Style" resource="Value">
+    <resource name="CT_Style" resource="Value" tag="math">
       <attribute name="val" tokenid="ooxml:CT_Style_val" action="setValue"/>
     </resource>
     <resource name="ST_Jc" resource="List" generated="yes">
       <value name="center" tokenid="ooxml:Value_math_ST_Jc_center">center</value>
       <value name="centerGroup" tokenid="ooxml:Value_math_ST_Jc_centerGroup">centerGroup</value>
     </resource>
-    <resource name="CT_OMathJc" resource="Value" generated="yes">
+    <resource name="CT_OMathJc" resource="Value" generated="yes" tag="math">
       <attribute name="val" tokenid="ooxml:CT_OMathJc_val" action="setValue"/>
     </resource>
     <resource name="ST_TwipsMeasure" resource="Integer" generated="yes"/>
-    <resource name="CT_TwipsMeasure" resource="Value" generated="yes">
+    <resource name="CT_TwipsMeasure" resource="Value" generated="yes" tag="math">
       <attribute name="val" tokenid="ooxml:CT_TwipsMeasure_val" action="setValue"/>
       <action name="start" action="setDefaultIntegerValue"/>
     </resource>
       <value name="after" tokenid="ooxml:Value_math_ST_BreakBin_after">after</value>
       <value name="repeat" tokenid="ooxml:Value_math_ST_BreakBin_repeat">repeat</value>
     </resource>
-    <resource name="CT_BreakBin" resource="Value" generated="yes">
+    <resource name="CT_BreakBin" resource="Value" generated="yes" tag="math">
       <attribute name="val" tokenid="ooxml:CT_BreakBin_val" action="setValue"/>
     </resource>
     <resource name="ST_BreakBinSub" resource="List" generated="yes">
       <value name="mp" tokenid="ooxml:Value_math_ST_BreakBinSub_mp">-+</value>
       <value name="pm" tokenid="ooxml:Value_math_ST_BreakBinSub_pm">+-</value>
     </resource>
-    <resource name="CT_BreakBinSub" resource="Value" generated="yes">
+    <resource name="CT_BreakBinSub" resource="Value" generated="yes" tag="math">
       <attribute name="val" tokenid="ooxml:CT_BreakBinSub_val" action="setValue"/>
     </resource>
   </namespace>
         </element>
       </define>
     </grammar>
-    <resource name="CT_PictureNonVisual" resource="Properties">
+    <resource name="CT_PictureNonVisual" resource="Properties" tag="shape">
       <element name="cNvPr" tokenid="ooxml:CT_PictureNonVisual_cNvPr"/>
       <element name="cNvPicPr" tokenid="ooxml:CT_PictureNonVisual_cNvPicPr"/>
     </resource>
-    <resource name="CT_Picture" resource="Shape">
+    <resource name="CT_Picture" resource="Shape" tag="shape">
       <element name="nvPicPr" tokenid="ooxml:CT_Picture_nvPicPr"/>
       <element name="blipFill" tokenid="ooxml:CT_Picture_blipFill"/>
       <element name="spPr" tokenid="ooxml:CT_Picture_spPr"/>
     </resource>
-    <resource name="pic" resource="Properties">
+    <resource name="pic" resource="Properties" tag="shape">
       <element name="pic" tokenid="ooxml:pic_pic"/>
     </resource>
   </namespace>
         </zeroOrMore>
       </define>
     </grammar>
-    <resource name="OLEObject" resource="Properties">
+    <resource name="OLEObject" resource="Properties" tag="ole">
       <element name="OLEObject" tokenid="ooxml:OLEObject_OLEObject"/>
     </resource>
-    <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_OLEObject" resource="Properties">
+    <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_OLEObject" resource="Properties" tag="ole">
       <element name="LinkType" tokenid="ooxml:CT_OLEObject_LinkType"/>
       <element name="LockedField" tokenid="ooxml:CT_OLEObject_LockedField"/>
       <element name="FieldCodes" tokenid="ooxml:CT_OLEObject_FieldCodes"/>
         </list>
       </define>
     </grammar>
-    <resource name="wrap" resource="Properties">
+    <resource name="wrap" resource="Properties" tag="shape">
       <element name="wrap" tokenid="ooxml:wrap_wrap"/>
     </resource>
-    <resource name="CT_Wrap" resource="Properties">
+    <resource name="CT_Wrap" resource="Properties" tag="shape">
       <attribute name="type" tokenid="ooxml:CT_Wrap_type"/>
       <attribute name="side" tokenid="ooxml:CT_Wrap_side"/>
       <attribute name="anchorx" tokenid="ooxml:CT_Wrap_anchorx"/>
         </zeroOrMore>
       </define>
     </grammar>
-    <resource name="CT_Empty" resource="Stream">
+    <resource name="CT_Empty" resource="Stream" tag="content">
       <action name="end" tokenid="ooxml:EG_RunInnerContent_noBreakHyphen" action="noBreakHyphen"/>
       <action name="end" tokenid="ooxml:EG_RunInnerContent_softHyphen" action="softHyphen"/>
       <action name="end" tokenid="ooxml:EG_RunInnerContent_cr" action="cr"/>
     </resource>
     <resource name="ST_OnOff" resource="Boolean"/>
-    <resource name="CT_OnOff" resource="Value">
+    <resource name="CT_OnOff" resource="Value" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_OnOff_val" action="setValue"/>
       <action name="start" action="setDefaultBooleanValue"/>
     </resource>
     <resource name="ST_LongHexNumber" resource="Hex"/>
-    <resource name="CT_LongHexNumber" resource="Value">
+    <resource name="CT_LongHexNumber" resource="Value" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_LongHexNumber_val" action="setValue"/>
       <action name="start" action="setDefaultHexValue"/>
     </resource>
     <resource name="ST_ShortHexNumber" resource="Hex"/>
-    <resource name="CT_ShortHexNumber" resource="Value">
+    <resource name="CT_ShortHexNumber" resource="Value" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_ShortHexNumber_val" action="setValue"/>
       <action name="start" action="setDefaultHexValue"/>
     </resource>
     <resource name="ST_UcharHexNumber" resource="Hex"/>
-    <resource name="CT_UcharHexNumber" resource="Value">
+    <resource name="CT_UcharHexNumber" resource="Value" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_UcharHexNumber_val" action="setValue"/>
       <action name="start" action="setDefaultHexValue"/>
     </resource>
     <resource name="ST_DecimalNumber" resource="Integer"/>
-    <resource name="CT_DecimalNumber" resource="Value">
+    <resource name="CT_DecimalNumber" resource="Value" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_DecimalNumber_val" action="setValue"/>
       <action name="start" action="setDefaultIntegerValue"/>
     </resource>
     <resource name="ST_UnsignedDecimalNumber" resource="Integer" generated="yes"/>
     <resource name="ST_TwipsMeasure" resource="Integer"/>
-    <resource name="CT_TwipsMeasure" resource="Value">
+    <resource name="CT_TwipsMeasure" resource="Value" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_TwipsMeasure_val" action="setValue"/>
       <action name="start" action="setDefaultIntegerValue"/>
     </resource>
     <resource name="ST_SignedTwipsMeasure" resource="Integer"/>
-    <resource name="CT_SignedTwipsMeasure" resource="Value">
+    <resource name="CT_SignedTwipsMeasure" resource="Value" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_SignedTwipsMeasure_val" action="setValue"/>
       <action name="start" action="setDefaultIntegerValue"/>
     </resource>
     <resource name="ST_PixelsMeasure" resource="Integer" generated="yes"/>
-    <resource name="CT_PixelsMeasure" resource="Value">
+    <resource name="CT_PixelsMeasure" resource="Value" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_PixelsMeasure_val" action="setValue"/>
       <action name="start" action="setDefaultIntegerValue"/>
     </resource>
     <resource name="ST_HpsMeasure" resource="Integer"/>
-    <resource name="CT_HpsMeasure" resource="Value">
+    <resource name="CT_HpsMeasure" resource="Value" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_HpsMeasure_val" action="setValue"/>
       <action name="start" action="setDefaultIntegerValue"/>
     </resource>
     <resource name="ST_SignedHpsMeasure" resource="Integer"/>
-    <resource name="CT_SignedHpsMeasure" resource="Value">
+    <resource name="CT_SignedHpsMeasure" resource="Value" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_SignedHpsMeasure_val" action="setValue"/>
       <action name="start" action="setDefaultIntegerValue"/>
     </resource>
     <resource name="ST_DateTime" resource="String" generated="yes"/>
     <resource name="ST_MacroName" resource="String" generated="yes"/>
-    <resource name="CT_MacroName" resource="Value" generated="yes">
+    <resource name="CT_MacroName" resource="Value" generated="yes" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_MacroName_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
     <resource name="ST_EighthPointMeasure" resource="Integer"/>
     <resource name="ST_PointMeasure" resource="Integer"/>
     <resource name="ST_String" resource="String"/>
-    <resource name="CT_String" resource="Value">
+    <resource name="CT_String" resource="Value" tag="attribute" >
       <attribute name="val" tokenid="ooxml:CT_String_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
     <resource name="ST_TextScale" resource="Integer"/>
-    <resource name="CT_TextScale" resource="Value">
+    <resource name="CT_TextScale" resource="Value" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_TextScale_val" action="setValue"/>
       <action name="start" action="setDefaultIntegerValue"/>
     </resource>
       <value tokenid="16">lightGray</value>
       <value tokenid="0">none</value>
     </resource>
-    <resource name="CT_Highlight" resource="Value">
+    <resource name="CT_Highlight" resource="Value" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_Highlight_val" action="setValue"/>
     </resource>
     <resource name="ST_HexColorAuto" resource="List">
     </resource>
     <resource name="ST_HexColorRGB" resource="Hex"/>
     <resource name="ST_HexColor" resource="Hex"/>
-    <resource name="CT_Color" resource="Properties">
+    <resource name="CT_Color" resource="Properties" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_Color_val"/>
       <attribute name="themeColor" tokenid="ooxml:CT_Color_themeColor"/>
       <attribute name="themeTint" tokenid="ooxml:CT_Color_themeTint"/>
     </resource>
     <resource name="ST_LangCode" resource="Hex" generated="yes"/>
     <resource name="ST_Lang" resource="String"/>
-    <resource name="CT_Lang" resource="Value">
+    <resource name="CT_Lang" resource="Value" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_Lang_val" action="setValue"/>
       <action name="start" action="setDefaultIntegerValue"/>
     </resource>
     <resource name="ST_Guid" resource="String"/>
-    <resource name="CT_Guid" resource="Value">
+    <resource name="CT_Guid" resource="Value" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_Guid_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
       <value tokenid="43">wavyDouble</value>
       <value tokenid="0">none</value>
     </resource>
-    <resource name="CT_Underline" resource="Properties">
+    <resource name="CT_Underline" resource="Properties" tag="character">
       <attribute name="val" tokenid="ooxml:CT_Underline_val" default="single"/>
       <attribute name="color" tokenid="ooxml:CT_Underline_color"/>
       <attribute name="themeColor" tokenid="ooxml:CT_Underline_themeColor"/>
       <value tokenid="5">antsRed</value>
       <value tokenid="6">shimmer</value>
     </resource>
-    <resource name="CT_TextEffect" resource="Value">
+    <resource name="CT_TextEffect" resource="Value" tag="character">
       <attribute name="val" tokenid="ooxml:CT_TextEffect_val" action="setValue"/>
     </resource>
     <resource name="ST_Border" resource="List">
       <value tokenid="226">zigZag</value>
       <value tokenid="227">zigZagStitch</value>
     </resource>
-    <resource name="CT_Border" resource="Properties">
+    <resource name="CT_Border" resource="Properties" tag="attribute">
       <attribute name="val" tokenid="rtf:BRCTYPE"/>
       <attribute name="color" tokenid="ooxml:CT_Border_color"/>
       <attribute name="themeColor" tokenid="ooxml:CT_Border_themeColor"/>
       <value tokenid="13">pct90</value>
       <value tokenid="60">pct95</value>
     </resource>
-    <resource name="CT_Shd" resource="Properties">
+    <resource name="CT_Shd" resource="Properties" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_Shd_val"/>
       <attribute name="color" tokenid="ooxml:CT_Shd_color"/>
       <attribute name="themeColor" tokenid="ooxml:CT_Shd_themeColor"/>
       <attribute name="themeFillTint" tokenid="ooxml:CT_Shd_themeFillTint"/>
       <attribute name="themeFillShade" tokenid="ooxml:CT_Shd_themeFillShade"/>
     </resource>
-    <resource name="ST_VerticalAlignRun" resource="List" generated="yes">
+    <resource name="ST_VerticalAlignRun" resource="List" generated="yes" tag="character">
       <value name="baseline" tokenid="ooxml:Value_wordprocessingml_ST_VerticalAlignRun_baseline">baseline</value>
       <value name="superscript" tokenid="ooxml:Value_wordprocessingml_ST_VerticalAlignRun_superscript">superscript</value>
       <value name="subscript" tokenid="ooxml:Value_wordprocessingml_ST_VerticalAlignRun_subscript">subscript</value>
     </resource>
-    <resource name="CT_VerticalAlignRun" resource="Value" generated="yes">
+    <resource name="CT_VerticalAlignRun" resource="Value" generated="yes" tag="character">
       <attribute name="val" tokenid="ooxml:CT_VerticalAlignRun_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
-    <resource name="CT_FitText" resource="Properties">
+    <resource name="CT_FitText" resource="Properties" tag="paragraph">
       <attribute name="val" tokenid="ooxml:CT_FitText_val"/>
       <attribute name="id" tokenid="ooxml:CT_FitText_id"/>
     </resource>
       <value tokenid="3">circle</value>
       <value tokenid="4">underDot</value>
     </resource>
-    <resource name="CT_Em" resource="Value">
+    <resource name="CT_Em" resource="Value" tag="character">
       <attribute name="val" tokenid="ooxml:CT_Em_val" action="setValue"/>
     </resource>
-    <resource name="CT_Language" resource="Properties">
+    <resource name="CT_Language" resource="Properties" tag="character">
       <attribute name="val" tokenid="ooxml:CT_Language_val"/>
       <attribute name="eastAsia" tokenid="ooxml:CT_Language_eastAsia"/>
       <attribute name="bidi" tokenid="ooxml:CT_Language_bidi"/>
       <value tokenid="3">angle</value>
       <value tokenid="4">curly</value>
     </resource>
-    <resource name="CT_EastAsianLayout" resource="Properties">
+    <resource name="CT_EastAsianLayout" resource="Properties" tag="character">
       <attribute name="id" tokenid="ooxml:CT_EastAsianLayout_id"/>
       <attribute name="combine" tokenid="ooxml:CT_EastAsianLayout_combine"/>
       <attribute name="combineBrackets" tokenid="ooxml:CT_EastAsianLayout_combineBrackets"/>
       <value name="drop" tokenid="ooxml:Value_wordprocessingml_ST_DropCap_drop">drop</value>
       <value name="margin" tokenid="ooxml:Value_wordprocessingml_ST_DropCap_margin">margin</value>
     </resource>
-    <resource name="CT_FramePr" resource="Properties">
+    <resource name="CT_FramePr" resource="Properties" tag="frame">
       <kind name="paragraph"/>
       <attribute name="dropCap" tokenid="ooxml:CT_FramePr_dropCap"/>
       <attribute name="lines" tokenid="ooxml:CT_FramePr_lines"/>
       <value tokenid="4">heavy</value>
       <value tokenid="ooxml:Value_ST_TabTlc_middleDot">middleDot</value>
     </resource>
-    <resource name="CT_TabStop" resource="Properties">
+    <resource name="CT_TabStop" resource="Properties" tag="paragraph">
       <attribute name="val" tokenid="ooxml:CT_TabStop_val"/>
       <attribute name="leader" tokenid="ooxml:CT_TabStop_leader"/>
       <attribute name="pos" tokenid="ooxml:CT_TabStop_pos"/>
       <value name="exact" tokenid="ooxml:Value_wordprocessingml_ST_LineSpacingRule_exact">exact</value>
       <value name="atLeast" tokenid="ooxml:Value_wordprocessingml_ST_LineSpacingRule_atLeast">atLeast</value>
     </resource>
-    <resource name="CT_Spacing" resource="Properties">
+    <resource name="CT_Spacing" resource="Properties" tag="paragraüh">
       <attribute name="before" tokenid="ooxml:CT_Spacing_before"/>
       <attribute name="beforeLines" tokenid="ooxml:CT_Spacing_beforeLines"/>
       <attribute name="beforeAutospacing" tokenid="ooxml:CT_Spacing_beforeAutospacing"/>
       <attribute name="line" tokenid="ooxml:CT_Spacing_line"/>
       <attribute name="lineRule" tokenid="ooxml:CT_Spacing_lineRule"/>
     </resource>
-    <resource name="CT_Ind" resource="Properties">
+    <resource name="CT_Ind" resource="Properties" tag="paragraph">
       <attribute name="left" tokenid="ooxml:CT_Ind_left"/>
       <attribute name="leftChars" tokenid="ooxml:CT_Ind_leftChars"/>
       <attribute name="right" tokenid="ooxml:CT_Ind_right"/>
       <value tokenid="ooxml:Value_ST_Jc_lowKashida">lowKashida</value>
       <value tokenid="ooxml:Value_ST_Jc_thaiDistribute">thaiDistribute</value>
     </resource>
-    <resource name="CT_Jc" resource="Value">
+    <resource name="CT_Jc" resource="Value" tag="character">
       <attribute name="val" tokenid="ooxml:CT_Jc_val" action="setValue"/>
     </resource>
     <resource name="ST_View" resource="List" generated="yes">
       <value name="normal" tokenid="ooxml:Value_wordprocessingml_ST_View_normal">normal</value>
       <value name="web" tokenid="ooxml:Value_wordprocessingml_ST_View_web">web</value>
     </resource>
-    <resource name="CT_View" resource="Properties">
+    <resource name="CT_View" resource="Properties" tag="settings">
       <attribute name="val" tokenid="ooxml:CT_View_val"/>
     </resource>
     <resource name="ST_Zoom" resource="List" generated="yes">
       <value name="bestFit" tokenid="ooxml:Value_wordprocessingml_ST_Zoom_bestFit">bestFit</value>
       <value name="textFit" tokenid="ooxml:Value_wordprocessingml_ST_Zoom_textFit">textFit</value>
     </resource>
-    <resource name="CT_Zoom" resource="Properties">
+    <resource name="CT_Zoom" resource="Properties" tag="settings">
       <attribute name="val" tokenid="ooxml:CT_Zoom_val"/>
       <attribute name="percent" tokenid="ooxml:CT_Zoom_percent"/>
     </resource>
-    <resource name="CT_WritingStyle" resource="Properties">
+    <resource name="CT_WritingStyle" resource="Properties" tag="settings">
       <attribute name="lang" tokenid="ooxml:CT_WritingStyle_lang"/>
       <attribute name="vendorID" tokenid="ooxml:CT_WritingStyle_vendorID"/>
       <attribute name="dllVersion" tokenid="ooxml:CT_WritingStyle_dllVersion"/>
       <value name="clean" tokenid="ooxml:Value_wordprocessingml_ST_Proof_clean">clean</value>
       <value name="dirty" tokenid="ooxml:Value_wordprocessingml_ST_Proof_dirty">dirty</value>
     </resource>
-    <resource name="CT_Proof" resource="Properties">
+    <resource name="CT_Proof" resource="Properties" tag="redline">
       <attribute name="spelling" tokenid="ooxml:CT_Proof_spelling"/>
       <attribute name="grammar" tokenid="ooxml:CT_Proof_grammar"/>
     </resource>
       <value name="letter" tokenid="ooxml:Value_wordprocessingml_ST_DocType_letter">letter</value>
       <value name="eMail" tokenid="ooxml:Value_wordprocessingml_ST_DocType_eMail">eMail</value>
     </resource>
-    <resource name="CT_DocType" resource="Properties">
+    <resource name="CT_DocType" resource="Properties" tag="document">
       <attribute name="val" tokenid="ooxml:CT_DocType_val"/>
     </resource>
     <resource name="ST_DocProtect" resource="List" generated="yes">
       <attribute name="hash" tokenid="ooxml:AG_Password_hash"/>
       <attribute name="salt" tokenid="ooxml:AG_Password_salt"/>
     </resource>
-    <resource name="CT_DocProtect" resource="Properties">
+    <resource name="CT_DocProtect" resource="Properties" tag="document">
       <attribute name="edit" tokenid="ooxml:CT_DocProtect_edit"/>
       <attribute name="formatting" tokenid="ooxml:CT_DocProtect_formatting"/>
       <attribute name="enforcement" tokenid="ooxml:CT_DocProtect_enforcement"/>
       <value name="email" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeDocType_email">email</value>
       <value name="fax" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeDocType_fax">fax</value>
     </resource>
-    <resource name="CT_MailMergeDocType" resource="Value" generated="yes">
+    <resource name="CT_MailMergeDocType" resource="Value" generated="yes" tag="mailmerge">
       <attribute name="val" tokenid="ooxml:CT_MailMergeDocType_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
       <value name="odbc" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeDataType_odbc">odbc</value>
       <value name="native" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeDataType_native">native</value>
     </resource>
-    <resource name="CT_MailMergeDataType" resource="Value" generated="yes">
+    <resource name="CT_MailMergeDataType" resource="Value" generated="yes" tag="mailmerge">
       <attribute name="val" tokenid="ooxml:CT_MailMergeDataType_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
       <value name="email" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeDest_email">email</value>
       <value name="fax" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeDest_fax">fax</value>
     </resource>
-    <resource name="CT_MailMergeDest" resource="Value" generated="yes">
+    <resource name="CT_MailMergeDest" resource="Value" generated="yes" tag="mailmerge">
       <attribute name="val" tokenid="ooxml:CT_MailMergeDest_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
       <value name="null" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeOdsoFMDFieldType_null">null</value>
       <value name="dbColumn" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeOdsoFMDFieldType_dbColumn">dbColumn</value>
     </resource>
-    <resource name="CT_MailMergeOdsoFMDFieldType" resource="Value" generated="yes">
+    <resource name="CT_MailMergeOdsoFMDFieldType" resource="Value" generated="yes" tag="mailmerge">
       <attribute name="val" tokenid="ooxml:CT_MailMergeOdsoFMDFieldType_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
-    <resource name="CT_TrackChangesView" resource="Properties">
+    <resource name="CT_TrackChangesView" resource="Properties" tag="redline">
       <attribute name="markup" tokenid="ooxml:CT_TrackChangesView_markup"/>
       <attribute name="comments" tokenid="ooxml:CT_TrackChangesView_comments"/>
       <attribute name="insDel" tokenid="ooxml:CT_TrackChangesView_insDel"/>
       <attribute name="formatting" tokenid="ooxml:CT_TrackChangesView_formatting"/>
       <attribute name="inkAnnotations" tokenid="ooxml:CT_TrackChangesView_inkAnnotations"/>
     </resource>
-    <resource name="CT_Kinsoku" resource="Properties">
+    <resource name="CT_Kinsoku" resource="Properties" tag="character">
       <attribute name="lang" tokenid="ooxml:CT_Kinsoku_lang"/>
       <attribute name="val" tokenid="ooxml:CT_Kinsoku_val"/>
     </resource>
       <value tokenid="5">tbRlV</value>
       <value tokenid="ooxml:Value_ST_TextDirection_tbLrV">tbLrV</value>
     </resource>
-    <resource name="CT_TextDirection" resource="Value">
+    <resource name="CT_TextDirection" resource="Value" tag="paragraph">
       <attribute name="val" tokenid="ooxml:CT_TextDirection_val" action="setValue"/>
     </resource>
     <resource name="ST_TextAlignment" resource="List" generated="yes">
       <value name="bottom" tokenid="ooxml:Value_wordprocessingml_ST_TextAlignment_bottom">bottom</value>
       <value name="auto" tokenid="ooxml:Value_wordprocessingml_ST_TextAlignment_auto">auto</value>
     </resource>
-    <resource name="CT_TextAlignment" resource="Value" generated="yes">
+    <resource name="CT_TextAlignment" resource="Value" generated="yes" tag="paragraph">
       <attribute name="val" tokenid="ooxml:CT_TextAlignment_val" action="setValue"/>
     </resource>
     <resource name="ST_DisplacedByCustomXml" resource="List" generated="yes">
       <value name="cont" tokenid="ooxml:Value_wordprocessingml_ST_AnnotationVMerge_cont">cont</value>
       <value name="rest" tokenid="ooxml:Value_wordprocessingml_ST_AnnotationVMerge_rest">rest</value>
     </resource>
-    <resource name="CT_Markup" resource="Properties">
+    <resource name="CT_Markup" resource="Properties" tag="redline">
       <attribute name="id" tokenid="ooxml:CT_Markup_id"/>
     </resource>
-    <resource name="CT_TrackChange" resource="Properties">
+    <resource name="CT_TrackChange" resource="Properties" tag="redline">
       <attribute name="author" tokenid="ooxml:CT_TrackChange_author"/>
       <attribute name="date" tokenid="ooxml:CT_TrackChange_date"/>
     </resource>
-    <resource name="CT_CellMergeTrackChange" resource="Properties">
+    <resource name="CT_CellMergeTrackChange" resource="Properties" tag="redline">
       <attribute name="vMerge" tokenid="ooxml:CT_CellMergeTrackChange_vMerge"/>
       <attribute name="vMergeOrig" tokenid="ooxml:CT_CellMergeTrackChange_vMergeOrig"/>
     </resource>
-    <resource name="CT_TrackChangeRange" resource="Properties">
+    <resource name="CT_TrackChangeRange" resource="Properties" tag="redline">
       <attribute name="displacedByCustomXml" tokenid="ooxml:CT_TrackChangeRange_displacedByCustomXml"/>
     </resource>
-    <resource name="CT_MarkupRange" resource="Properties">
+    <resource name="CT_MarkupRange" resource="Properties" tag="redline">
       <attribute name="displacedByCustomXml" tokenid="ooxml:CT_MarkupRange_displacedByCustomXml"/>
     </resource>
-    <resource name="CT_MarkupRangeBookmark" resource="Properties">
+    <resource name="CT_MarkupRangeBookmark" resource="Properties" tag="redline">
       <attribute name="id" tokenid="rtf:IBKL"/>
     </resource>
-    <resource name="CT_BookmarkRange" resource="Properties">
+    <resource name="CT_BookmarkRange" resource="Properties" tag="reference">
       <type name="Bookmark"/>
       <attribute name="colFirst" tokenid="ooxml:CT_BookmarkRange_colFirst"/>
       <attribute name="colLast" tokenid="ooxml:CT_BookmarkRange_colLast"/>
     </resource>
-    <resource name="CT_Bookmark" resource="Properties">
+    <resource name="CT_Bookmark" resource="Properties" tag="reference">
       <type name="Bookmark"/>
       <attribute name="name" tokenid="rtf:BOOKMARKNAME"/>
     </resource>
-    <resource name="CT_MoveBookmark" resource="Properties">
+    <resource name="CT_MoveBookmark" resource="Properties" tag="reference">
       <attribute name="author" tokenid="ooxml:CT_MoveBookmark_author"/>
       <attribute name="date" tokenid="ooxml:CT_MoveBookmark_date"/>
     </resource>
-    <resource name="CT_Comment" resource="XNote">
+    <resource name="CT_Comment" resource="XNote" tag="content">
       <attribute name="id" action="checkId"/>
       <attribute name="initials" tokenid="ooxml:CT_Comment_initials"/>
     </resource>
-    <resource name="CT_TrackChangeNumbering" resource="Properties">
+    <resource name="CT_TrackChangeNumbering" resource="Properties" tag="numbering">
       <attribute name="original" tokenid="ooxml:CT_TrackChangeNumbering_original"/>
     </resource>
-    <resource name="CT_TblPrExChange" resource="Properties">
+    <resource name="CT_TblPrExChange" resource="Properties" tag="table">
       <element name="tblPrEx" tokenid="ooxml:CT_TblPrExChange_tblPrEx"/>
     </resource>
-    <resource name="CT_TcPrChange" resource="Properties">
+    <resource name="CT_TcPrChange" resource="Properties" tag="table">
       <element name="tcPr" tokenid="ooxml:CT_TcPrChange_tcPr"/>
     </resource>
-    <resource name="CT_TrPrChange" resource="Properties">
+    <resource name="CT_TrPrChange" resource="Properties" tag="table">
       <element name="trPr" tokenid="ooxml:CT_TrPrChange_trPr"/>
     </resource>
-    <resource name="CT_TblGridChange" resource="Properties">
+    <resource name="CT_TblGridChange" resource="Properties" tag="table">
       <element name="tblGrid" tokenid="ooxml:CT_TblGridChange_tblGrid"/>
     </resource>
-    <resource name="CT_TblPrChange" resource="Properties">
+    <resource name="CT_TblPrChange" resource="Properties" tag="table">
       <element name="tblPr" tokenid="ooxml:CT_TblPrChange_tblPr"/>
     </resource>
-    <resource name="CT_SectPrChange" resource="Properties">
+    <resource name="CT_SectPrChange" resource="Properties" tag="section">
       <element name="sectPr" tokenid="ooxml:CT_SectPrChange_sectPr"/>
     </resource>
-    <resource name="CT_PPrChange" resource="Properties">
+    <resource name="CT_PPrChange" resource="Properties" tag="paragraph">
       <element name="pPr" tokenid="ooxml:CT_PPrChange_pPr"/>
     </resource>
-    <resource name="CT_RPrChange" resource="Properties">
+    <resource name="CT_RPrChange" resource="Properties" tag="character">
       <element name="rPr" tokenid="ooxml:CT_RPrChange_rPr"/>
     </resource>
-    <resource name="CT_ParaRPrChange" resource="Properties">
+    <resource name="CT_ParaRPrChange" resource="Properties" tag="character">
       <element name="rPr" tokenid="ooxml:CT_ParaRPrChange_rPr"/>
     </resource>
-    <resource name="CT_RunTrackChange" resource="Stream">
+    <resource name="CT_RunTrackChange" resource="Stream" tag="redlines">
       <action name="start" action="tokenproperty"/>
       <action name="start" action="propagateCharacterPropertiesAsSet" sendtokenid="ooxml:trackchange"/>
       <action name="start" action="clearProps"/>
       <action name="end" action="mark" sendtokenid="ooxml:endtrackchange"/>
     </resource>
-    <resource name="EG_RangeMarkupElements" resource="Properties">
+    <resource name="EG_RangeMarkupElements" resource="Properties" tag="redlines">
       <element name="bookmarkStart" tokenid="ooxml:EG_RangeMarkupElements_bookmarkStart"/>
       <element name="bookmarkEnd" tokenid="ooxml:EG_RangeMarkupElements_bookmarkEnd"/>
       <element name="moveFromRangeStart" tokenid="ooxml:EG_RangeMarkupElements_moveFromRangeStart"/>
       <element name="customXmlMoveToRangeStart" tokenid="ooxml:EG_RangeMarkupElements_customXmlMoveToRangeStart"/>
       <element name="customXmlMoveToRangeEnd" tokenid="ooxml:EG_RangeMarkupElements_customXmlMoveToRangeEnd"/>
     </resource>
-    <resource name="CT_NumPr" resource="Properties">
+    <resource name="CT_NumPr" resource="Properties" tag="numbering">
       <kind name="paragraph"/>
       <element name="ilvl" tokenid="sprm:PIlvl"/>
       <element name="numId" tokenid="sprm:PIlfo"/>
       <element name="numberingChange" tokenid="ooxml:CT_NumPr_numberingChange"/>
       <element name="ins" tokenid="ooxml:CT_NumPr_ins"/>
     </resource>
-    <resource name="CT_PBdr" resource="Properties">
+    <resource name="CT_PBdr" resource="Properties" tag="paragraph">
       <kind name="paragraph"/>
       <element name="top" tokenid="sprm:PBrcTop"/>
       <element name="left" tokenid="sprm:PBrcLeft"/>
       <element name="between" tokenid="sprm:PBrcBetween"/>
       <element name="bar" tokenid="sprm:PBrcBar"/>
     </resource>
-    <resource name="CT_Tabs" resource="Properties">
+    <resource name="CT_Tabs" resource="Properties" tag="paragraph">
       <element name="tab" tokenid="ooxml:CT_Tabs_tab"/>
     </resource>
     <resource name="ST_TextboxTightWrap" resource="List" generated="yes">
       <value name="firstLineOnly" tokenid="ooxml:Value_wordprocessingml_ST_TextboxTightWrap_firstLineOnly">firstLineOnly</value>
       <value name="lastLineOnly" tokenid="ooxml:Value_wordprocessingml_ST_TextboxTightWrap_lastLineOnly">lastLineOnly</value>
     </resource>
-    <resource name="CT_TextboxTightWrap" resource="Value" generated="yes">
+    <resource name="CT_TextboxTightWrap" resource="Value" generated="yes" tag="textbox">
       <attribute name="val" tokenid="ooxml:CT_TextboxTightWrap_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
-    <resource name="CT_PPrBase" resource="Properties">
+    <resource name="CT_PPrBase" resource="Properties" tag="paragraph">
       <kind name="paragraph"/>
       <element name="pStyle" tokenid="ooxml:CT_PPrBase_pStyle"/>
       <element name="keepNext" tokenid="sprm:PFKeepFollow"/>
       <element name="divId" tokenid="ooxml:CT_PPrBase_divId"/>
       <element name="cnfStyle" tokenid="ooxml:CT_PPrBase_cnfStyle"/>
     </resource>
-    <resource name="CT_PPr" resource="Properties">
+    <resource name="CT_PPr" resource="Properties" tag="paragraph">
       <element name="rPr" tokenid="ooxml:CT_PPr_rPr"/>
       <element name="sectPr" tokenid="ooxml:CT_PPr_sectPr"/>
       <element name="pPrChange" tokenid="ooxml:CT_PPr_pPrChange"/>
     </resource>
-    <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_Control" resource="Properties">
+    <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_Control" resource="Properties" tag="control">
       <attribute name="name" tokenid="ooxml:CT_Control_name"/>
       <attribute name="shapeid" tokenid="ooxml:CT_Control_shapeid"/>
       <attribute name="r:id" tokenid="ooxml:CT_Control_r_id"/>
     <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_Rel" resource="Properties">
       <attribute name="r:id" tokenid="ooxml:CT_Rel_id"/>
     </resource>
-    <resource name="CT_PictureBase" resource="Properties"/>
-    <resource name="CT_Object" resource="Shape">
+    <resource name="CT_PictureBase" resource="Properties" tag="shape"/>
+    <resource name="CT_Object" resource="Shape" tag="shape">
       <element name="control" tokenid="ooxml:CT_Object_control"/>
       <attribute name="dxaOrig" tokenid="ooxml:CT_Object_dxaOrig"/>
       <attribute name="dyaOrig" tokenid="ooxml:CT_Object_dyaOrig"/>
       <action name="end" action="sendPropertiesWithId" sendtokenid="ooxml:object"/>
       <action name="end" action="clearProps"/>
     </resource>
-    <resource name="CT_Picture" resource="Shape">
+    <resource name="CT_Picture" resource="Shape" tag="shape">
       <element name="movie" tokenid="ooxml:CT_Picture_movie"/>
       <element name="control" tokenid="ooxml:CT_Picture_control"/>
       <action name="end" action="sendPropertiesWithId" sendtokenid="ooxml:object"/>
       <action name="end" action="clearProps"/>
     </resource>
-    <resource name="CT_Drawing" resource="Properties">
+    <resource name="CT_Drawing" resource="Properties" tag="shape">
       <action name="end" action="handlePicture"/>
     </resource>
-    <resource name="CT_SimpleField" resource="Stream">
+    <resource name="CT_SimpleField" resource="Stream" tag="field">
       <element name="fldData" tokenid="ooxml:CT_SimpleField_fldData"/>
       <attribute name="instr" tokenid="ooxml:CT_SimpleField_instr"/>
       <attribute name="fldLock" tokenid="ooxml:CT_SimpleField_fldLock"/>
       <value name="currentDate" tokenid="ooxml:Value_wordprocessingml_ST_FFTextType_currentDate">currentDate</value>
       <value name="calculated" tokenid="ooxml:Value_wordprocessingml_ST_FFTextType_calculated">calculated</value>
     </resource>
-    <resource name="CT_FFTextType" resource="Value" generated="yes">
+    <resource name="CT_FFTextType" resource="Value" generated="yes" tag="field">
       <attribute name="val" tokenid="ooxml:CT_FFTextType_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
-    <resource name="CT_FFName" resource="Value" generated="yes">
+    <resource name="CT_FFName" resource="Value" generated="yes" tag="field">
       <attribute name="val" tokenid="ooxml:CT_FFName_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
-    <resource name="CT_FldChar" resource="Stream">
+    <resource name="CT_FldChar" resource="Stream" tag="field">
       <element name="fldData" tokenid="ooxml:CT_FldChar_fldData"/>
       <element name="ffData" tokenid="ooxml:CT_FldChar_ffData"/>
       <element name="numberingChange" tokenid="ooxml:CT_FldChar_numberingChange"/>
         <cond tokenid="ooxml:CT_FldChar_fldCharType" value="ooxml:Value_ST_FldCharType_end"/>
       </action>
     </resource>
-    <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_Hyperlink" resource="Stream">
+    <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_Hyperlink" resource="Stream" tag="link">
       <attribute name="tgtFrame" tokenid="ooxml:CT_Hyperlink_tgtFrame"/>
       <attribute name="tooltip" tokenid="ooxml:CT_Hyperlink_tooltip"/>
       <attribute name="docLocation" tokenid="ooxml:CT_Hyperlink_docLocation"/>
       <action name="start" action="fieldsep"/>
       <action name="end" action="fieldend"/>
     </resource>
-    <resource name="CT_FFData" resource="Properties">
+    <resource name="CT_FFData" resource="Properties" tag="field">
       <element name="name" tokenid="ooxml:CT_FFData_name"/>
       <element name="enabled" tokenid="ooxml:CT_FFData_enabled"/>
       <element name="calcOnExit" tokenid="ooxml:CT_FFData_calcOnExit"/>
       <action name="end" action="propagateCharacterPropertiesAsSet" sendtokenid="ooxml:ffdata"/>
       <action name="end" action="clearProps"/>
     </resource>
-    <resource name="CT_FFHelpText" resource="Properties">
+    <resource name="CT_FFHelpText" resource="Properties" tag="field">
       <attribute name="type" tokenid="ooxml:CT_FFHelpText_type"/>
       <attribute name="val" tokenid="ooxml:CT_FFHelpText_val"/>
     </resource>
-    <resource name="CT_FFStatusText" resource="Properties">
+    <resource name="CT_FFStatusText" resource="Properties" tag="field">
       <attribute name="type" tokenid="ooxml:CT_FFStatusText_type"/>
       <attribute name="val" tokenid="ooxml:CT_FFStatusText_val"/>
     </resource>
-    <resource name="CT_FFCheckBox" resource="Properties">
+    <resource name="CT_FFCheckBox" resource="Properties" tag="field">
       <element name="size" tokenid="ooxml:CT_FFCheckBox_size"/>
       <element name="sizeAuto" tokenid="ooxml:CT_FFCheckBox_sizeAuto"/>
       <element name="default" tokenid="ooxml:CT_FFCheckBox_default"/>
       <element name="checked" tokenid="ooxml:CT_FFCheckBox_checked"/>
     </resource>
-    <resource name="CT_FFDDList" resource="Properties">
+    <resource name="CT_FFDDList" resource="Properties" tag="field">
       <element name="result" tokenid="ooxml:CT_FFDDList_result"/>
       <element name="default" tokenid="ooxml:CT_FFDDList_default"/>
       <element name="listEntry" tokenid="ooxml:CT_FFDDList_listEntry"/>
     </resource>
-    <resource name="CT_FFTextInput" resource="Properties">
+    <resource name="CT_FFTextInput" resource="Properties" tag="field">
       <element name="type" tokenid="ooxml:CT_FFTextInput_type"/>
       <element name="default" tokenid="ooxml:CT_FFTextInput_default"/>
       <element name="maxLength" tokenid="ooxml:CT_FFTextInput_maxLength"/>
       <element name="format" tokenid="ooxml:CT_FFTextInput_format"/>
     </resource>
-    <resource name="ST_SectionMark" resource="List">
+    <resource name="ST_SectionMark" resource="List" tag="section">
       <value tokenid="0">continuous</value>
       <value tokenid="1">nextColumn</value>
       <value tokenid="2">nextPage</value>
       <value tokenid="3">evenPage</value>
       <value tokenid="4">oddPage</value>
     </resource>
-    <resource name="CT_SectType" resource="Value">
+    <resource name="CT_SectType" resource="Value" tag="section">
       <attribute name="val" tokenid="ooxml:CT_SectType_val" action="setValue"/>
     </resource>
     <resource name="ST_NumberFormat" resource="List">
       <value tokenid="0">portrait</value>
       <value tokenid="1">landscape</value>
     </resource>
-    <resource name="CT_PageSz" resource="Properties">
+    <resource name="CT_PageSz" resource="Properties" tag="page">
       <attribute name="w" tokenid="ooxml:CT_PageSz_w"/>
       <attribute name="h" tokenid="ooxml:CT_PageSz_h"/>
       <attribute name="orient" tokenid="ooxml:CT_PageSz_orient"/>
       <attribute name="code" tokenid="ooxml:CT_PageSz_code"/>
     </resource>
-    <resource name="CT_PageMar" resource="Properties">
+    <resource name="CT_PageMar" resource="Properties" tag="page">
       <attribute name="top" tokenid="ooxml:CT_PageMar_top"/>
       <attribute name="right" tokenid="ooxml:CT_PageMar_right"/>
       <attribute name="bottom" tokenid="ooxml:CT_PageMar_bottom"/>
       <value name="page" tokenid="ooxml:Value_wordprocessingml_ST_PageBorderOffset_page">page</value>
       <value name="text" tokenid="ooxml:Value_wordprocessingml_ST_PageBorderOffset_text">text</value>
     </resource>
-    <resource name="CT_PageBorders" resource="Properties">
+    <resource name="CT_PageBorders" resource="Properties" tag="page">
       <element name="top" tokenid="ooxml:CT_PageBorders_top"/>
       <element name="left" tokenid="ooxml:CT_PageBorders_left"/>
       <element name="bottom" tokenid="ooxml:CT_PageBorders_bottom"/>
       <value tokenid="1">newSection</value>
       <value tokenid="2">continuous</value>
     </resource>
-    <resource name="CT_LineNumber" resource="Properties">
+    <resource name="CT_LineNumber" resource="Properties" tag="section">
       <attribute name="countBy" tokenid="ooxml:CT_LineNumber_countBy"/>
       <attribute name="start" tokenid="ooxml:CT_LineNumber_start"/>
       <attribute name="distance" tokenid="ooxml:CT_LineNumber_distance"/>
       <attribute name="restart" tokenid="ooxml:CT_LineNumber_restart"/>
     </resource>
-    <resource name="CT_PageNumber" resource="Properties">
+    <resource name="CT_PageNumber" resource="Properties" tag="page">
       <attribute name="fmt" tokenid="ooxml:CT_PageNumber_fmt"/>
       <attribute name="start" tokenid="ooxml:CT_PageNumber_start"/>
       <attribute name="chapStyle" tokenid="ooxml:CT_PageNumber_chapStyle"/>
       <attribute name="chapSep" tokenid="ooxml:CT_PageNumber_chapSep"/>
     </resource>
-    <resource name="CT_Column" resource="Properties">
+    <resource name="CT_Column" resource="Properties" tag="page">
       <attribute name="space" tokenid="ooxml:CT_Column_space"/>
       <attribute name="w" tokenid="ooxml:CT_Column_w"/>
     </resource>
-    <resource name="CT_Columns" resource="Properties">
+    <resource name="CT_Columns" resource="Properties" tag="page">
       <attribute name="equalWidth" tokenid="ooxml:CT_Columns_equalWidth"/>
       <attribute name="space" tokenid="ooxml:CT_Columns_space"/>
       <attribute name="num" tokenid="ooxml:CT_Columns_num"/>
       <value tokenid="2">both</value>
       <value tokenid="3">bottom</value>
     </resource>
-    <resource name="CT_VerticalJc" resource="Value">
+    <resource name="CT_VerticalJc" resource="Value" tag="page">
       <attribute name="val" tokenid="ooxml:CT_VerticalJc_val" action="setValue"/>
     </resource>
     <resource name="ST_DocGrid" resource="List" generated="yes">
       <value name="linesAndChars" tokenid="ooxml:Value_wordprocessingml_ST_DocGrid_linesAndChars">linesAndChars</value>
       <value name="snapToChars" tokenid="ooxml:Value_wordprocessingml_ST_DocGrid_snapToChars">snapToChars</value>
     </resource>
-    <resource name="CT_DocGrid" resource="Properties">
+    <resource name="CT_DocGrid" resource="Properties" tag="document">
       <attribute name="type" tokenid="ooxml:CT_DocGrid_type"/>
       <attribute name="linePitch" tokenid="ooxml:CT_DocGrid_linePitch"/>
       <attribute name="charSpace" tokenid="ooxml:CT_DocGrid_charSpace"/>
       <value name="continuationSeparator" tokenid="ooxml:Value_wordprocessingml_ST_FtnEdn_continuationSeparator">continuationSeparator</value>
       <value name="continuationNotice" tokenid="ooxml:Value_wordprocessingml_ST_FtnEdn_continuationNotice">continuationNotice</value>
     </resource>
-    <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_HdrFtrRef" resource="Properties">
+    <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_HdrFtrRef" resource="Properties" tag="header">
       <attribute name="type" tokenid="ooxml:CT_HdrFtrRef_type"/>
       <attribute name="r:id" tokenid="ooxml:CT_HdrFtrRef_id"/>
       <action name="end" action="handleHdrFtr"/>
     </resource>
-    <resource name="EG_HdrFtrReferences" resource="Properties">
+    <resource name="EG_HdrFtrReferences" resource="Properties" tag="header">
       <element name="headerReference" tokenid="ooxml:EG_HdrFtrReferences_headerReference"/>
       <element name="footerReference" tokenid="ooxml:EG_HdrFtrReferences_footerReference"/>
     </resource>
-    <resource name="CT_HdrFtr" resource="Stream"/>
-    <resource name="EG_SectPrContents" resource="Properties">
+    <resource name="CT_HdrFtr" resource="Stream" tag="header"/>
+    <resource name="EG_SectPrContents" resource="Properties" tag="section">
       <element name="bidi" tokenid="ooxml:EG_SectPrContents_bidi"/>
       <element name="cols" tokenid="ooxml:EG_SectPrContents_cols"/>
       <element name="docGrid" tokenid="ooxml:EG_SectPrContents_docGrid"/>
       <element name="type" tokenid="sprm:SBkc"/>
       <element name="vAlign" tokenid="ooxml:EG_SectPrContents_vAlign"/>
     </resource>
-    <resource name="CT_SectPrBase" resource="Properties"/>
-    <resource name="CT_SectPr" resource="Properties">
+    <resource name="CT_SectPrBase" resource="Properties" tag="section"/>
+    <resource name="CT_SectPr" resource="Properties" tag="section">
       <element name="sectPrChange" tokenid="ooxml:CT_SectPr_sectPrChange"/>
       <action name="start" action="setLastParagraphInSection"/>
     </resource>
       <value tokenid="ooxml:Value_ST_BrClear_right">right</value>
       <value tokenid="ooxml:Value_ST_BrClear_all">all</value>
     </resource>
-    <resource name="CT_Br" resource="Properties">
+    <resource name="CT_Br" resource="Properties" tag="content">
       <attribute name="type" tokenid="ooxml:CT_Br_type"/>
       <attribute name="clear" tokenid="ooxml:CT_Br_clear"/>
       <action name="end" action="handleBreak"/>
       <value tokenid="ooxml:Value_ST_PTabLeader_underscore">underscore</value>
       <value tokenid="ooxml:Value_ST_PTabLeader_middleDot">middleDot</value>
     </resource>
-    <resource name="CT_PTab" resource="Stream">
+    <resource name="CT_PTab" resource="Stream" tag="paragraph">
       <attribute name="alignment" tokenid="ooxml:CT_PTab_alignment"/>
       <attribute name="relativeTo" tokenid="ooxml:CT_PTab_relativeTo"/>
       <attribute name="leader" tokenid="ooxml:CT_PTab_leader"/>
       <action name="end" action="tab"/>
     </resource>
-    <resource name="CT_Sym" resource="Properties">
+    <resource name="CT_Sym" resource="Properties" tag="character">
       <attribute name="font" tokenid="ooxml:CT_Sym_font"/>
       <attribute name="char" tokenid="ooxml:CT_Sym_char"/>
     </resource>
       <value name="owners" tokenid="ooxml:Value_wordprocessingml_ST_EdGrp_owners">owners</value>
       <value name="current" tokenid="ooxml:Value_wordprocessingml_ST_EdGrp_current">current</value>
     </resource>
-    <resource name="CT_Text" resource="Stream">
+    <resource name="CT_Text" resource="Stream" tag="content">
       <attribute name="xml:space" tokenid="ooxml:CT_Text_space"/>
       <action name="characters" action="text"/>
     </resource>
-    <resource name="CT_FtnEdnRefChar" resource="Stream">
+    <resource name="CT_FtnEdnRefChar" resource="Stream" tag="reference">
       <action name="end" action="ftnednref"/>
     </resource>
-    <resource name="CT_FtnEdnSep" resource="Stream">
+    <resource name="CT_FtnEdnSep" resource="Stream" tag="reference">
       <action name="end" action="ftnednsep"/>
     </resource>
-    <resource name="CT_FtnEdnCont" resource="Stream">
+    <resource name="CT_FtnEdnCont" resource="Stream" tag="reference">
       <action name="end" action="ftnedncont"/>
     </resource>
-    <resource name="CT_PgNum" resource="Stream">
+    <resource name="CT_PgNum" resource="Stream" tag="reference">
       <action name="end" action="pgNum"/>
     </resource>
-    <resource name="CT_Cr" resource="Stream">
+    <resource name="CT_Cr" resource="Stream" tag="content">
       <action name="end" action="endOfParagraph"/>
     </resource>
-    <resource name="CT_Tab" resource="Stream">
+    <resource name="CT_Tab" resource="Stream" tag="content">
       <action name="end" action="tab"/>
     </resource>
-    <resource name="EG_RunInnerContent" resource="Stream">
+    <resource name="EG_RunInnerContent" resource="Stream" tag="content">
       <element name="br" tokenid="ooxml:EG_RunInnerContent_br"/>
       <element name="t" tokenid="ooxml:EG_RunInnerContent_t"/>
       <element name="delText" tokenid="ooxml:EG_RunInnerContent_delText"/>
       <element name="ptab" tokenid="ooxml:EG_RunInnerContent_ptab"/>
       <element name="lastRenderedPageBreak" tokenid="ooxml:EG_RunInnerContent_lastRenderedPageBreak"/>
     </resource>
-    <resource name="CT_R" resource="Stream">
+    <resource name="CT_R" resource="Stream" tag="content">
       <action name="start" action="startCharacterGroup"/>
     </resource>
     <resource name="ST_Hint" resource="List">
       <value tokenid="ooxml:Value_ST_Theme_minorAscii">minorAscii</value>
       <value tokenid="ooxml:Value_ST_Theme_minorHAnsi">minorHAnsi</value>
     </resource>
-    <resource name="CT_Fonts" resource="Properties">
+    <resource name="CT_Fonts" resource="Properties" tag="font">
       <attribute name="hint" tokenid="ooxml:CT_Fonts_hint"/>
       <attribute name="ascii" tokenid="ooxml:CT_Fonts_ascii"/>
       <attribute name="hAnsi" tokenid="ooxml:CT_Fonts_hAnsi"/>
       <attribute name="eastAsiaTheme" tokenid="ooxml:CT_Fonts_eastAsiaTheme"/>
       <attribute name="cstheme" tokenid="ooxml:CT_Fonts_cstheme"/>
     </resource>
-    <resource name="EG_RPrBase" resource="Properties">
+    <resource name="EG_RPrBase" resource="Properties" tag="paragraph">
       <kind name="paragraph"/>
       <element name="rStyle" tokenid="ooxml:EG_RPrBase_rStyle"/>
       <element name="rFonts" tokenid="ooxml:EG_RPrBase_rFonts"/>
       <element name="specVanish" tokenid="0x818"/>
       <element name="oMath" tokenid="ooxml:EG_RPrBase_oMath"/>
     </resource>
-    <resource name="EG_RPrContent" resource="Properties">
+    <resource name="EG_RPrContent" resource="Properties" tag="character">
       <element name="rPrChange" tokenid="ooxml:EG_RPrContent_rPrChange"/>
     </resource>
-    <resource name="CT_RPr" resource="Properties">
-    </resource>
-    <resource name="CT_RPrOriginal" resource="Properties"/>
-    <resource name="CT_ParaRPrOriginal" resource="Properties"/>
-    <resource name="CT_ParaRPr" resource="Properties">
+    <resource name="CT_RPr" resource="Properties" tag="character">
+    </resource>
+    <resource name="CT_RPrOriginal" resource="Properties" tag="character"/>
+    <resource name="CT_ParaRPrOriginal" resource="Properties" tag="paragraph"/>
+    <resource name="CT_ParaRPr" resource="Properties" tag="redline">
       <element name="ins" tokenid="ooxml:CT_ParaRPr_ins"/>
       <element name="del" tokenid="ooxml:CT_ParaRPr_del"/>
       <element name="rPrChange" tokenid="ooxml:CT_ParaRPr_rPrChange"/>
     </resource>
-    <resource name="CT_ParaTrackChange" resource="Properties">
+    <resource name="CT_ParaTrackChange" resource="Properties" tag="redline">
       <action name="start" action="tokenproperty"/>
       <action name="start" action="propagateCharacterPropertiesAsSet" sendtokenid="ooxml:paratrackchange"/>
       <action name="start" action="clearProps"/>
       <value name="right" tokenid="ooxml:Value_wordprocessingml_ST_RubyAlign_right">right</value>
       <value name="rightVertical" tokenid="ooxml:Value_wordprocessingml_ST_RubyAlign_rightVertical">rightVertical</value>
     </resource>
-    <resource name="CT_RubyAlign" resource="Value" generated="yes">
+    <resource name="CT_RubyAlign" resource="Value" generated="yes" tag="character">
       <attribute name="val" tokenid="ooxml:CT_RubyAlign_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
       <value name="unlocked" tokenid="ooxml:Value_wordprocessingml_ST_Lock_unlocked">unlocked</value>
       <value name="sdtContentLocked" tokenid="ooxml:Value_wordprocessingml_ST_Lock_sdtContentLocked">sdtContentLocked</value>
     </resource>
-    <resource name="CT_Lock" resource="Value" generated="yes">
+    <resource name="CT_Lock" resource="Value" generated="yes" tag="content">
       <attribute name="val" tokenid="ooxml:CT_Lock_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
       <value name="date" tokenid="ooxml:Value_wordprocessingml_ST_SdtDateMappingType_date">date</value>
       <value name="dateTime" tokenid="ooxml:Value_wordprocessingml_ST_SdtDateMappingType_dateTime">dateTime</value>
     </resource>
-    <resource name="CT_SdtDateMappingType" resource="Value" generated="yes">
+    <resource name="CT_SdtDateMappingType" resource="Value" generated="yes" tag="content">
       <attribute name="val" tokenid="ooxml:CT_SdtDateMappingType_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
       <value name="gregorianXlitEnglish" tokenid="ooxml:Value_wordprocessingml_ST_CalendarType_gregorianXlitEnglish">gregorianXlitEnglish</value>
       <value name="gregorianXlitFrench" tokenid="ooxml:Value_wordprocessingml_ST_CalendarType_gregorianXlitFrench">gregorianXlitFrench</value>
     </resource>
-    <resource name="CT_CalendarType" resource="Value" generated="yes">
+    <resource name="CT_CalendarType" resource="Value" generated="yes" tag="content">
       <attribute name="val" tokenid="ooxml:CT_CalendarType_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
-    <resource name="CT_SdtContentRun" resource="Properties"/>
-    <resource name="CT_Attr" resource="Properties">
+    <resource name="CT_SdtContentRun" resource="Properties" tag="content"/>
+    <resource name="CT_Attr" resource="Properties" tag="content">
       <attribute name="uri" tokenid="ooxml:CT_Attr_uri"/>
       <attribute name="name" tokenid="ooxml:CT_Attr_name"/>
       <attribute name="val" tokenid="ooxml:CT_Attr_val"/>
     </resource>
-    <resource name="CT_CustomXmlRun" resource="Properties">
+    <resource name="CT_CustomXmlRun" resource="Properties" tag="content">
       <element name="customXmlPr" tokenid="ooxml:CT_CustomXmlRun_customXmlPr"/>
       <attribute name="uri" tokenid="ooxml:CT_CustomXmlRun_uri"/>
       <attribute name="element" tokenid="ooxml:CT_CustomXmlRun_element"/>
     </resource>
-    <resource name="CT_SmartTagRun" resource="Properties">
+    <resource name="CT_SmartTagRun" resource="Properties" tag="content">
       <element name="smartTagPr" tokenid="ooxml:CT_SmartTagRun_smartTagPr"/>
       <attribute name="uri" tokenid="ooxml:CT_SmartTagRun_uri"/>
       <attribute name="element" tokenid="ooxml:CT_SmartTagRun_element"/>
     </resource>
-    <resource name="EG_PContent" resource="Properties">
+    <resource name="EG_PContent" resource="Properties" tag="content">
       <element name="fldSimple" tokenid="ooxml:EG_PContent_fldSimple"/>
       <element name="hyperlink" tokenid="ooxml:EG_PContent_hyperlink"/>
       <element name="subDoc" tokenid="ooxml:EG_PContent_subDoc"/>
     </resource>
-    <resource name="CT_P" resource="Stream">
+    <resource name="CT_P" resource="Stream" tag="content">
       <action name="start" action="handleLastParagraphInSection"/>
       <action name="start" action="startParagraphGroup"/>
       <action name="start" action="setHandle"/>
       <value tokenid="ooxml:Value_ST_TblWidth_dxa">dxa</value>
       <value tokenid="ooxml:Value_ST_TblWidth_auto">auto</value>
     </resource>
-    <resource name="CT_Height" resource="Properties">
+    <resource name="CT_Height" resource="Properties" tag="attribute">
       <attribute name="val" tokenid="ooxml:CT_Height_val"/>
       <attribute name="hRule" tokenid="ooxml:CT_Height_hRule"/>
     </resource>
-    <resource name="CT_TblWidth" resource="Properties">
+    <resource name="CT_TblWidth" resource="Properties" tag="table">
       <attribute name="w" tokenid="ooxml:CT_TblWidth_w"/>
       <attribute name="type" tokenid="ooxml:CT_TblWidth_type"/>
     </resource>
-    <resource name="CT_TblGridCol" resource="Value">
+    <resource name="CT_TblGridCol" resource="Value" tag="table">
       <attribute name="w" tokenid="ooxml:CT_TblGridCol_w" action="setValue"/>
       <action name="start" action="setDefaultIntegerValue"/>
     </resource>
-    <resource name="CT_TblGridBase" resource="Properties">
+    <resource name="CT_TblGridBase" resource="Properties" tag="table">
       <element name="gridCol" tokenid="ooxml:CT_TblGridBase_gridCol"/>
     </resource>
-    <resource name="CT_TblGrid" resource="Properties">
+    <resource name="CT_TblGrid" resource="Properties" tag="table">
       <element name="tblGridChange" tokenid="ooxml:CT_TblGrid_tblGridChange"/>
       <action name="end" action="propagateTableProperties"/>
       <action name="end" action="clearProps"/>
     </resource>
-    <resource name="CT_TcBorders" resource="Properties">
+    <resource name="CT_TcBorders" resource="Properties" tag="table">
       <kind name="table"/>
       <element name="top" tokenid="ooxml:CT_TcBorders_top"/>
       <element name="left" tokenid="ooxml:CT_TcBorders_left"/>
       <element name="tl2br" tokenid="ooxml:CT_TcBorders_tl2br"/>
       <element name="tr2bl" tokenid="ooxml:CT_TcBorders_tr2bl"/>
     </resource>
-    <resource name="CT_TcMar" resource="Properties">
+    <resource name="CT_TcMar" resource="Properties" tag="table">
       <kind name="table"/>
       <element name="top" tokenid="ooxml:CT_TcMar_top"/>
       <element name="left" tokenid="ooxml:CT_TcMar_left"/>
       <value tokenid="ooxml:Value_ST_Merge_restart">restart</value>
       <default tokenid="ooxml:Value_ST_Merge_continue"/>
     </resource>
-    <resource name="CT_VMerge" resource="Value">
+    <resource name="CT_VMerge" resource="Value" tag="table">
       <attribute name="val" tokenid="ooxml:CT_VMerge_val" action="setValue"/>
     </resource>
-    <resource name="CT_HMerge" resource="Value">
+    <resource name="CT_HMerge" resource="Value" tag="table">
       <attribute name="val" tokenid="ooxml:CT_HMerge_val" action="setValue"/>
     </resource>
-    <resource name="CT_TcPrBase" resource="Properties">
+    <resource name="CT_TcPrBase" resource="Properties" tag="table">
       <kind name="table"/>
       <element name="cnfStyle" tokenid="ooxml:CT_TcPrBase_cnfStyle"/>
       <element name="tcW" tokenid="ooxml:CT_TcPrBase_tcW"/>
       <element name="vAlign" tokenid="ooxml:CT_TcPrBase_vAlign"/>
       <element name="hideMark" tokenid="ooxml:CT_TcPrBase_hideMark"/>
     </resource>
-    <resource name="CT_TcPr" resource="Properties">
+    <resource name="CT_TcPr" resource="Properties" tag="table">
       <element name="tcPrChange" tokenid="ooxml:CT_TcPr_tcPrChange"/>
       <action name="end" action="propagateCellProperties"/>
       <action name="end" action="clearProps"/>
     </resource>
-    <resource name="CT_TcPrInner" resource="Properties"/>
+    <resource name="CT_TcPrInner" resource="Properties" tag="table"/>
     <resource name="CT_Tc" resource="TextTableCell">
       <action name="start" action="startCell"/>
       <action name="end" action="endCell"/>
       <action name="end" action="endParagraphGroup"/>
     </resource>
     <resource name="ST_Cnf" resource="String" generated="yes"/>
-    <resource name="CT_Cnf" resource="Value" generated="yes">
+    <resource name="CT_Cnf" resource="Value" generated="yes" tag="content">
       <attribute name="val" tokenid="ooxml:CT_Cnf_val" action="setValue"/>
       <action name="start" action="setDefaultStringValue"/>
     </resource>
-    <resource name="CT_TrPrBase" resource="Properties">
+    <resource name="CT_TrPrBase" resource="Properties" tag="table">
       <kind name="table"/>
       <element name="cnfStyle" tokenid="ooxml:CT_TrPrBase_cnfStyle"/>
       <element name="divId" tokenid="ooxml:CT_TrPrBase_divId"/>
       <element name="jc" tokenid="ooxml:CT_TrPrBase_jc"/>
       <element name="hidden" tokenid="ooxml:CT_TrPrBase_hidden"/>
     </resource>
-    <resource name="CT_TrPr" resource="Properties">
+    <resource name="CT_TrPr" resource="Properties" tag="table">
       <kind name="table"/>
       <element name="ins" tokenid="ooxml:CT_TrPr_ins"/>
       <element name="del" tokenid="ooxml:CT_TrPr_del"/>
       <action name="end" action="propagateRowProperties"/>
       <action name="end" action="clearProps"/>
     </resource>
-    <resource name="CT_Row" resource="TextTableRow">
+    <resource name="CT_Row" resource="TextTableRow" tag="table">
       <action name="start" action="startRow"/>
       <action name="end" action="sendRowProperties"/>
       <action name="end" action="sendTableProperties"/>
       <value tokenid="ooxml:Value_ST_TblOverlap_never">never</value>
       <value tokenid="ooxml:Value_ST_TblOverlap_overlap">overlap</value>
     </resource>
-    <resource name="CT_TblOverlap" resource="Value">
+    <resource name="CT_TblOverlap" resource="Value" tag="table">
       <attribute name="val" tokenid="ooxml:CT_TblOverlap_val" action="setValue"/>
     </resource>
-    <resource name="CT_TblCellMar" resource="Properties">
+    <resource name="CT_TblCellMar" resource="Properties" tag="table">
       <element name="top" tokenid="ooxml:CT_TblCellMar_top"/>
       <element name="left" tokenid="ooxml:CT_TblCellMar_left"/>
       <element name="bottom" tokenid="ooxml:CT_TblCellMar_bottom"/>
       <element name="right" tokenid="ooxml:CT_TblCellMar_right"/>
     </resource>
-    <resource name="CT_TblBorders" resource="Properties">
+    <resource name="CT_TblBorders" resource="Properties" tag="table">
       <kind name="table"/>
       <element name="top" tokenid="ooxml:CT_TblBorders_top"/>
       <element name="left" tokenid="ooxml:CT_TblBorders_left"/>
       <element name="insideH" tokenid="ooxml:CT_TblBorders_insideH"/>
       <element name="insideV" tokenid="ooxml:CT_TblBorders_insideV"/>
     </resource>
-    <resource name="CT_TblPrBase" resource="Properties">
+    <resource name="CT_TblPrBase" resource="Properties" tag="table">
       <kind name="table"/>
       <element name="tblStyle" tokenid="ooxml:CT_TblPrBase_tblStyle"/>
       <element name="tblpPr" tokenid="ooxml:CT_TblPrBase_tblpPr"/>
       <element name="tblCellMar" tokenid="ooxml:CT_TblPrBase_tblCellMar"/>
       <element name="tblLook" tokenid="ooxml:CT_TblPrBase_tblLook"/>
     </resource>
-    <resource name="CT_TblPr" resource="Properties">
+    <resource name="CT_TblPr" resource="Properties" tag="table">
       <kind name="table"/>
       <element name="tblPrChange" tokenid="ooxml:CT_TblPr_tblPrChange"/>
       <action name="end" action="propagateTableProperties"/>
       <action name="end" action="clearProps"/>
     </resource>
-    <resource name="CT_Tbl" resource="TextTable"/>
+    <resource name="CT_Tbl" resource="TextTable" tag="table"/>
     <resource name="ST_FtnPos" resource="List">
       <value tokenid="ooxml:Value_ST_FtnPos_pageBottom">pageBottom</value>
       <value tokenid="ooxml:Value_ST_FtnPos_beneathText">beneathText</value>
       <value tokenid="ooxml:Value_ST_FtnPos_sectEnd">sectEnd</value>
       <value tokenid="ooxml:Value_ST_FtnPos_docEnd">docEnd</value>
     </resource>
-    <resource name="CT_FtnPos" resource="Value">
+    <resource name="CT_FtnPos" resource="Value" tag="reference">
       <attribute name="val" tokenid="ooxml:CT_FtnPos_val" action="setValue"/>
     </resource>
     <resource name="ST_EdnPos" resource="List">
       <value tokenid="ooxml:Value_ST_EdnPos_sectEnd">sectEnd</value>
       <value tokenid="ooxml:Value_ST_EdnPos_docEnd">docEnd</value>
     </resource>
-    <resource name="CT_EdnPos" resource="Value">
+    <resource name="CT_EdnPos" resource="Value" tag="reference">
       <attribute name="val" tokenid="ooxml:CT_EdnPos_val" action="setValue"/>
     </resource>
-    <resource name="CT_NumFmt" resource="Value">
+    <resource name="CT_NumFmt" resource="Value" tag="numbering">
       <attribute name="val" tokenid="ooxml:CT_NumFmt_val" action="setValue"/>
     </resource>
     <resource name="ST_RestartNumber" resource="List">
       <value tokenid="ooxml:Value_ST_RestartNumber_eachSect">eachSect</value>
       <value tokenid="ooxml:Value_ST_RestartNumber_eachPage">eachPage</value>
     </resource>
-    <resource name="CT_NumRestart" resource="Value">
+    <resource name="CT_NumRestart" resource="Value" tag="numbering">
       <attribute name="val" tokenid="ooxml:CT_NumRestart_val" action="setValue"/>
     </resource>
-    <resource name="CT_FtnEdnRef" resource="Properties">
+    <resource name="CT_FtnEdnRef" resource="Properties" tag="reference">
       <attribute name="customMarkFollows" tokenid="ooxml:CT_FtnEdnRef_customMarkFollows"/>
       <attribute name="id" tokenid="ooxml:CT_FtnEdnRef_id" action="setXNoteId"/>
       <action name="end" action="handleXNotes"/>
     </resource>
-    <resource name="CT_FtnEdnSepRef" resource="Properties">
+    <resource name="CT_FtnEdnSepRef" resource="Properties" tag="reference">
       <attribute name="id" tokenid="ooxml:CT_FtnEdnSepRef_id"/>
     </resource>
-    <resource name="CT_FtnEdn" resource="XNote">
+    <resource name="CT_FtnEdn" resource="XNote" tag="reference">
       <attribute name="type" tokenid="ooxml:CT_FtnEdn_type"/>
       <attribute name="id" tokenid="ooxml:CT_FtnEdn_id" action="checkId"/>
       <action name="start" action="propagateCharacterProperties"/>
       <action name="end" action="endSectionGroup"/>
     </resource>
-    <resource name="CT_CommentRef" resource="Properties">
+    <resource name="CT_CommentRef" resource="Properties" tag="reference">
       <action name="end" action="handleComment"/>
     </resource>
-    <resource name="EG_FtnEdnNumProps" resource="Properties">
+    <resource name="EG_FtnEdnNumProps" resource="Properties" tag="reference">
       <element name="numStart" tokenid="ooxml:EG_FtnEdnNumProps_numStart"/>
       <element name="numRestart" tokenid="ooxml:EG_FtnEdnNumProps_numRestart"/>
     </resource>
-    <resource name="CT_FtnProps" resource="Properties">
+    <resource name="CT_FtnProps" resource="Properties" tag="reference">
       <element name="pos" tokenid="ooxml:CT_FtnProps_pos"/>