w_CT_P =
    attribute w:rsidRPr { w_ST_LongHexNumber }?,
    attribute w:rsidR { w_ST_LongHexNumber }?,
    attribute w:rsidDel { w_ST_LongHexNumber }?,
    attribute w:rsidP { w_ST_LongHexNumber }?,
    attribute w:rsidRDefault { w_ST_LongHexNumber }?,
    element pPr { w_CT_PPr }?,
    w_EG_PContent*
w_EG_PContent =
    element r { w_CT_R } |
    element ins { w_CT_RunTrackChange }? |
    element del { w_CT_RunTrackChange }? |

    element fldSimple { w_CT_SimpleField }* |
    element hyperlink { w_CT_Hyperlink } |
    element subDoc { w_CT_Rel } |
    element customXml { w_CT_CustomXmlRun } |
    element smartTag { w_CT_SmartTagRun } |
    element sdt { w_CT_SdtRun } |
    element dir { w_CT_DirContentRun } |
    element bdo { w_CT_BdoContentRun } |
    element proofErr { attribute w:type { "spellStart" | "spellEnd" | "gramStart" | "gramEnd" } }? |
    element permStart { w_CT_PermStart }? |
    element permEnd { w_CT_Perm }? |
    element moveFrom { w_CT_RunTrackChange } |
    element moveTo { w_CT_RunTrackChange } |
    element bookmarkStart { w_CT_Bookmark } |
    element bookmarkEnd { w_CT_MarkupRange } |
    element moveFromRangeStart { w_CT_MoveBookmark } |
    element moveFromRangeEnd { w_CT_MarkupRange } |
    element moveToRangeStart { w_CT_MoveBookmark } |
    element moveToRangeEnd { w_CT_MarkupRange } |
    element commentRangeStart { w_CT_MarkupRange } |
    element commentRangeEnd { w_CT_MarkupRange } |
    element customXmlInsRangeStart { w_CT_TrackChange } |
    element customXmlInsRangeEnd { attribute w:id { xsd:integer } } |
    element customXmlDelRangeStart { w_CT_TrackChange } |
    element customXmlDelRangeEnd { attribute w:id { xsd:integer } } |
    element customXmlMoveFromRangeStart { w_CT_TrackChange } |
    element customXmlMoveFromRangeEnd { attribute w:id { xsd:integer } } |
    element customXmlMoveToRangeStart { w_CT_TrackChange } |
    element customXmlMoveToRangeEnd { attribute w:id { xsd:integer } }
w_CT_RunTrackChange =
    attribute w:id { xsd:integer },
    attribute w:author { s_ST_String },
    attribute w:date { w_ST_DateTime }?,
    element customXml { w_CT_CustomXmlRun } |
    element smartTag { w_CT_SmartTagRun } |
    element sdt { w_CT_SdtRun } |
    element dir { w_CT_DirContentRun } |
    element bdo { w_CT_BdoContentRun } |
    element r { w_CT_R } |
    element proofErr { attribute w:type { "spellStart" | "spellEnd" | "gramStart" | "gramEnd" } }? |
    element permStart { w_CT_PermStart }? |
    element permEnd { w_CT_Perm }? |
    element bookmarkStart { w_CT_Bookmark } |
    element bookmarkEnd { w_CT_MarkupRange } |
    element moveFromRangeStart { w_CT_MoveBookmark } |
    element moveFromRangeEnd { w_CT_MarkupRange } |
    element moveToRangeStart { w_CT_MoveBookmark } |
    element moveToRangeEnd { w_CT_MarkupRange } |
    element commentRangeStart { w_CT_MarkupRange } |
    element commentRangeEnd { w_CT_MarkupRange } |
    element customXmlInsRangeStart { w_CT_TrackChange } |
    element customXmlInsRangeEnd { attribute w:id { xsd:integer } } |
    element customXmlDelRangeStart { w_CT_TrackChange } |
    element customXmlDelRangeEnd { attribute w:id { xsd:integer } } |
    element customXmlMoveFromRangeStart { w_CT_TrackChange } |
    element customXmlMoveFromRangeEnd { attribute w:id { xsd:integer } } |
    element customXmlMoveToRangeStart { w_CT_TrackChange } |
    element customXmlMoveToRangeEnd { attribute w:id { xsd:integer } },
    element ins { w_CT_RunTrackChange }? |
    element del { w_CT_RunTrackChange }? |
    element moveFrom { w_CT_RunTrackChange } |
    element moveTo { w_CT_RunTrackChange } |
    (m_oMathPara | m_oMath)*