diff --git a/ASCOfficePPTXFile/ASCOfficeDrawingConverter.cpp b/ASCOfficePPTXFile/ASCOfficeDrawingConverter.cpp index 1242c25287..1da97678e7 100644 --- a/ASCOfficePPTXFile/ASCOfficeDrawingConverter.cpp +++ b/ASCOfficePPTXFile/ASCOfficeDrawingConverter.cpp @@ -2105,7 +2105,7 @@ void CAVSOfficeDrawingConverter::CheckBrushShape(PPTX::Logic::SpTreeElem& oElem, PPTX::Logic::BlipFill* pBlipFill = new PPTX::Logic::BlipFill(); pBlipFill->m_namespace = _T("a"); pBlipFill->blip = new PPTX::Logic::Blip(); - pBlipFill->blip->embed = *sRid; + pBlipFill->blip->embed = new OOX::RId(*sRid); if (sType.is_init() && ((*sType == _T("tile")) || (*sType == _T("pattern")))) { @@ -2161,7 +2161,7 @@ void CAVSOfficeDrawingConverter::CheckBrushShape(PPTX::Logic::SpTreeElem& oElem, PPTX::Logic::BlipFill* pBlipFill = new PPTX::Logic::BlipFill(); pBlipFill->m_namespace = _T("a"); pBlipFill->blip = new PPTX::Logic::Blip(); - pBlipFill->blip->embed = *sRid; + pBlipFill->blip->embed = new OOX::RId(*sRid); if (sType.is_init() && *sType == _T("tile")) { diff --git a/ASCOfficePPTXFile/PPTXFormat/VmlDrawing.h b/ASCOfficePPTXFile/PPTXFormat/VmlDrawing.h index 1bf6f068cd..f403e173e4 100644 --- a/ASCOfficePPTXFile/PPTXFormat/VmlDrawing.h +++ b/ASCOfficePPTXFile/PPTXFormat/VmlDrawing.h @@ -93,12 +93,9 @@ namespace PPTX oNode.ReadAttributeBase(L"id", id); - BSTR bsMem = oNode.ReadAttributeBase(L"spid"); - if (NULL != bsMem) - { + CString bsMem = oNode.ReadAttributeBase(L"spid"); + if (!bsMem.IsEmpty()) id = bsMem; - SysFreeString(bsMem); - } if (id.IsInit()) { diff --git a/Common/DocxFormat/Source/Base/Nullable.h b/Common/DocxFormat/Source/Base/Nullable.h index 25c7958c28..120ba9c646 100644 --- a/Common/DocxFormat/Source/Base/Nullable.h +++ b/Common/DocxFormat/Source/Base/Nullable.h @@ -119,6 +119,7 @@ namespace NSCommon this->m_pPointer = new Type( cwsValue ); return *this; } +#ifdef _WIN32 nullable& operator=(const BSTR &value) { RELEASEOBJECT(this->m_pPointer); @@ -126,7 +127,7 @@ namespace NSCommon this->m_pPointer = new Type( value ); return *this; } - +#endif nullable& operator=(const nullable &oOther) { RELEASEOBJECT(this->m_pPointer); @@ -319,6 +320,15 @@ namespace NSCommon *m_pPointer = 0; } } + nullable_int& operator=(const wchar_t* cwsValue) + { + RELEASEOBJECT(m_pPointer); + + if ( NULL != cwsValue ) + m_pPointer = new int(XmlUtils::GetInteger(cwsValue)); + + return *this; + } #ifdef _WIN32 AVSINLINE void operator=(const BSTR& value) { @@ -391,13 +401,23 @@ namespace NSCommon *m_pPointer = max; } } + nullable_sizet& operator=(const wchar_t* cwsValue) + { + RELEASEOBJECT(m_pPointer); + if ( NULL != cwsValue ) + m_pPointer = new size_t(XmlUtils::GetUInteger(cwsValue)); + + return *this; + } +#ifdef _WIN32 AVSINLINE void operator=(const BSTR& value) { RELEASEOBJECT(m_pPointer); if (NULL != value) m_pPointer = new size_t(XmlUtils::GetUInteger(value)); } +#endif AVSINLINE void operator=(const size_t& value) { RELEASEOBJECT(m_pPointer); @@ -449,13 +469,23 @@ namespace NSCommon *m_pPointer = max; } } + nullable_double& operator=(const wchar_t* cwsValue) + { + RELEASEOBJECT(m_pPointer); + if ( NULL != cwsValue ) + m_pPointer = new double(XmlUtils::GetDouble(cwsValue)); + + return *this; + } +#ifdef _WIN32 AVSINLINE void operator=(const BSTR& value) { RELEASEOBJECT(m_pPointer); if (NULL != value) m_pPointer = new double(XmlUtils::GetDouble(value)); } +#endif AVSINLINE void operator=(const double& value) { RELEASEOBJECT(m_pPointer); @@ -505,13 +535,23 @@ namespace NSCommon return false; } public: + nullable_bool& operator=(const wchar_t* cwsValue) + { + RELEASEOBJECT(m_pPointer); + if ( NULL != cwsValue ) + m_pPointer = new bool(XmlUtils::GetBoolean2(cwsValue)); + + return *this; + } +#ifdef _WIN32 AVSINLINE void operator=(const BSTR& value) { RELEASEOBJECT(m_pPointer); if (NULL != value) m_pPointer = new bool(set((CString)value)); } +#endif AVSINLINE void operator=(const bool& value) { RELEASEOBJECT(m_pPointer); diff --git a/Common/DocxFormat/Source/Common/ComplexTypes.h b/Common/DocxFormat/Source/Common/ComplexTypes.h index f3aa53f880..8e9e6e92dc 100644 --- a/Common/DocxFormat/Source/Common/ComplexTypes.h +++ b/Common/DocxFormat/Source/Common/ComplexTypes.h @@ -86,20 +86,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) + ReadAttributes(oReader); - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:color"), m_oColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:frame"), m_oFrame ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:shadow"), m_oShadow ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:space"), m_oSpace ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:sz"), m_oSz ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeColor"), m_oThemeColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeShade"), m_oThemeShade ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeTint"), m_oThemeTint ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) - - WritingElement_ReadAttributes_End( oReader ) + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -170,6 +160,23 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:color"), m_oColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:frame"), m_oFrame ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:shadow"), m_oShadow ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:space"), m_oSpace ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:sz"), m_oSz ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeColor"), m_oThemeColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeShade"), m_oThemeShade ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeTint"), m_oThemeTint ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -207,14 +214,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) + ReadAttributes(oReader); - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:bidi"), m_oBidi ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:eastAsia"), m_oEastAsia ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) - - WritingElement_ReadAttributes_End( oReader ) + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -243,6 +246,17 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:bidi"), m_oBidi ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:eastAsia"), m_oEastAsia ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -271,10 +285,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -289,6 +303,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -323,19 +346,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) + ReadAttributes(oReader); - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:color"), m_oColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:fill"), m_oFill ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeColor"), m_oThemeColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeFill"), m_oThemeFill ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeFillShade"), m_oThemeFillShade ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeFillTint"), m_oThemeFillTint ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeShade"), m_oThemeShade ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeTint"), m_oThemeTint ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -407,6 +421,23 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:color"), m_oColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:fill"), m_oFill ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeColor"), m_oThemeColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeFill"), m_oThemeFill ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeFillShade"), m_oThemeFillShade ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeFillTint"), m_oThemeFillTint ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeShade"), m_oThemeShade ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeTint"), m_oThemeTint ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -444,12 +475,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) + ReadAttributes(oReader); - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:type"), m_oType ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:w"), m_oW ) - WritingElement_ReadAttributes_End( oReader ) + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -471,6 +500,16 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:type"), m_oType ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:w"), m_oW ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -500,10 +539,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -518,6 +557,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -543,10 +591,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -558,6 +606,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -585,10 +642,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_sVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -612,6 +669,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_sVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -637,10 +703,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -655,6 +721,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -681,10 +756,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -699,6 +774,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -727,15 +811,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) + ReadAttributes(oReader); - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:themeColor"), m_oThemeColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeShade"), m_oThemeShade ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeTint"), m_oThemeTint ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) - - WritingElement_ReadAttributes_End( oReader ) + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -773,6 +852,18 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:themeColor"), m_oThemeColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeShade"), m_oThemeShade ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeTint"), m_oThemeTint ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -801,10 +892,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -819,6 +910,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -845,11 +945,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:format"), m_sFormat ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -871,6 +970,16 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:format"), m_sFormat ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -899,10 +1008,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -917,6 +1026,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -944,10 +1062,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -962,6 +1080,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -987,10 +1114,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1005,6 +1132,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1030,10 +1166,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("r:id"), m_oId ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1048,6 +1184,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("r:id"), m_oId ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1074,10 +1219,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1092,6 +1237,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1119,10 +1273,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1137,6 +1291,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1176,22 +1339,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:evenHBand"), m_oEvenHBand ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:evenVBand"), m_oEvenVBand ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:firstColumn"), m_oFirstColumn ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:firstRow"), m_oFirstRow ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:firstRowFirstColumn"), m_oFirstRowFirstColumn ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:firstRowLastColumn"), m_oFirstRowLastColumn ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:lastColumn"), m_oLastColumn ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:lastRow"), m_oLastRow ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:lastRowFirstColumn"), m_oLastRowFirstColumn ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:lastRowLastColumn"), m_oLastRowLastColumn ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:oddHBand"), m_oOddHBand ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:oddVBand"), m_oOddVBand ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1290,6 +1441,27 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:evenHBand"), m_oEvenHBand ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:evenVBand"), m_oEvenVBand ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:firstColumn"), m_oFirstColumn ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:firstRow"), m_oFirstRow ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:firstRowFirstColumn"), m_oFirstRowFirstColumn ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:firstRowLastColumn"), m_oFirstRowLastColumn ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:lastColumn"), m_oLastColumn ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:lastRow"), m_oLastRow ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:lastRowFirstColumn"), m_oLastRowFirstColumn ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:lastRowLastColumn"), m_oLastRowLastColumn ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:oddHBand"), m_oOddHBand ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:oddVBand"), m_oOddVBand ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1327,10 +1499,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1347,6 +1519,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1374,12 +1555,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oID ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1408,6 +1587,17 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oID ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1436,10 +1626,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1449,6 +1639,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1475,10 +1674,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1493,6 +1692,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1519,10 +1727,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1537,6 +1745,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1589,10 +1806,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1607,6 +1824,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1633,10 +1859,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1651,6 +1877,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1682,11 +1917,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("x"), m_oX ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("y"), m_oY ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1697,6 +1931,16 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("x"), m_oX ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("y"), m_oY ) + WritingElement_ReadAttributes_End( oReader ) + } public: SimpleTypes::CCoordinate m_oX; @@ -1726,11 +1970,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("cx"), m_oCx ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("cy"), m_oCy ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const @@ -1742,6 +1985,16 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("cx"), m_oCx ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("cy"), m_oCy ) + WritingElement_ReadAttributes_End( oReader ) + } public: SimpleTypes::CPositiveCoordinate<> m_oCx; diff --git a/Common/DocxFormat/Source/DocxFormat/Drawing/DrawingExt.h b/Common/DocxFormat/Source/DocxFormat/Drawing/DrawingExt.h index 13db923c22..2fe09b92ee 100644 --- a/Common/DocxFormat/Source/DocxFormat/Drawing/DrawingExt.h +++ b/Common/DocxFormat/Source/DocxFormat/Drawing/DrawingExt.h @@ -33,8 +33,8 @@ namespace OOX { ReadAttributes( oReader ); - if ( oReader.IsEmptyNode() ) - return; + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString toXML() const { diff --git a/Common/DocxFormat/Source/DocxFormat/Logic/FldChar.h b/Common/DocxFormat/Source/DocxFormat/Logic/FldChar.h index 4a89223d2c..5b47437a99 100644 --- a/Common/DocxFormat/Source/DocxFormat/Logic/FldChar.h +++ b/Common/DocxFormat/Source/DocxFormat/Logic/FldChar.h @@ -31,10 +31,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -49,6 +49,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -76,11 +85,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:type"), m_oType ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -102,6 +110,16 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:type"), m_oType ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -129,10 +147,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -147,6 +165,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -174,11 +201,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:type"), m_oType ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -200,6 +226,16 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:type"), m_oType ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -227,10 +263,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -245,6 +281,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: diff --git a/Common/DocxFormat/Source/DocxFormat/Logic/ParagraphProperty.h b/Common/DocxFormat/Source/DocxFormat/Logic/ParagraphProperty.h index 3f3fb36fc6..4c98ad8df7 100644 --- a/Common/DocxFormat/Source/DocxFormat/Logic/ParagraphProperty.h +++ b/Common/DocxFormat/Source/DocxFormat/Logic/ParagraphProperty.h @@ -48,24 +48,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:anchorLock"), m_oAnchorLock ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:dropCap"), m_oDropCap ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:h"), m_oH ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:hAnchor"), m_oHAnchor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:hRule"), m_oHRule ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:hSpace"), m_oHSpace ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:lines"), m_oLines ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vAnchor"), m_oVAnchor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vSpace"), m_oVSpace ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:w"), m_oW ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:wrap"), m_oWrap ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:x"), m_oX ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:xAlign"), m_oXAlign ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:y"), m_oY ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:yAlign"), m_oYAlign ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -178,6 +164,29 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:anchorLock"), m_oAnchorLock ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:dropCap"), m_oDropCap ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:h"), m_oH ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:hAnchor"), m_oHAnchor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:hRule"), m_oHRule ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:hSpace"), m_oHSpace ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:lines"), m_oLines ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vAnchor"), m_oVAnchor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vSpace"), m_oVSpace ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:w"), m_oW ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:wrap"), m_oWrap ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:x"), m_oX ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:xAlign"), m_oXAlign ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:y"), m_oY ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:yAlign"), m_oYAlign ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -234,21 +243,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:end"), m_oEnd ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:endChars"), m_oEndChars ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:firstLine"), m_oFirstLine ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:firstLineChars"), m_oFirstLineChars ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:hanging"), m_oHanging ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:hangingChars"), m_oHangingChars ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:start"), m_oStart ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:startChars"), m_oStartChars ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:left"), m_oStart ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:leftChars"), m_oStartChars ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:right"), m_oEnd ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:rightChars"), m_oEndChars ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -338,6 +336,26 @@ namespace ComplexTypes return oResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:end"), m_oEnd ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:endChars"), m_oEndChars ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:firstLine"), m_oFirstLine ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:firstLineChars"), m_oFirstLineChars ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:hanging"), m_oHanging ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:hangingChars"), m_oHangingChars ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:start"), m_oStart ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:startChars"), m_oStartChars ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:left"), m_oStart ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:leftChars"), m_oStartChars ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:right"), m_oEnd ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:rightChars"), m_oEndChars ) + WritingElement_ReadAttributes_End( oReader ) + } public: nullable m_oEnd; @@ -377,17 +395,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:after"), m_oAfter ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:afterAutospacing"), m_oAfterAutospacing ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:afterLines"), m_oAfterLines ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:before"), m_oBefore ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:beforeAutospacing"), m_oBeforeAutospacing ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:beforeLines"), m_oBeforeLines ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:line"), m_oLine ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:lineRule"), m_oLineRule ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -477,6 +488,22 @@ namespace ComplexTypes return oResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:after"), m_oAfter ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:afterAutospacing"), m_oAfterAutospacing ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:afterLines"), m_oAfterLines ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:before"), m_oBefore ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:beforeAutospacing"), m_oBeforeAutospacing ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:beforeLines"), m_oBeforeLines ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:line"), m_oLine ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:lineRule"), m_oLineRule ) + WritingElement_ReadAttributes_End( oReader ) + } public: nullable m_oAfter; @@ -511,12 +538,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:leader"), m_oLeader ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:pos"), m_oPos ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -545,6 +570,17 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:leader"), m_oLeader ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:pos"), m_oPos ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -573,10 +609,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -591,6 +627,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -617,10 +662,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -635,6 +680,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: diff --git a/Common/DocxFormat/Source/DocxFormat/Logic/RunProperty.h b/Common/DocxFormat/Source/DocxFormat/Logic/RunProperty.h index 447d4a27f6..762395ff77 100644 --- a/Common/DocxFormat/Source/DocxFormat/Logic/RunProperty.h +++ b/Common/DocxFormat/Source/DocxFormat/Logic/RunProperty.h @@ -36,16 +36,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) + ReadAttributes(oReader); - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:combine"), m_oCombine ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:combineBrackets"), m_oCombineBrackets ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oID ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vert"), m_oVert ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vertCompress"), m_oVertCompress ) - - WritingElement_ReadAttributes_End( oReader ) + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -88,6 +82,19 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:combine"), m_oCombine ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:combineBrackets"), m_oCombineBrackets ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oID ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vert"), m_oVert ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vertCompress"), m_oVertCompress ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -118,10 +125,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle ( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -136,6 +143,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle ( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -163,10 +179,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle ( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -181,6 +197,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle ( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -209,11 +234,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:id"), m_oID ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -235,6 +259,16 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:id"), m_oID ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -263,10 +297,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle ( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -281,6 +315,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle ( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -315,20 +358,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) + ReadAttributes(oReader); - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:ascii"), m_sAscii ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:asciiTheme"), m_oAsciiTheme ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:cs"), m_sCs ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:cstheme"), m_oCsTheme ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:eastAsia"), m_sEastAsia ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:eastAsiaTheme"), m_oEastAsiaTheme ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:hAnsi"), m_sHAnsi ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:hAnsiTheme"), m_oHAnsiTheme ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:hint"), m_oHint ) - - WritingElement_ReadAttributes_End( oReader ) + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -399,6 +432,23 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:ascii"), m_sAscii ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:asciiTheme"), m_oAsciiTheme ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:cs"), m_sCs ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:cstheme"), m_oCsTheme ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:eastAsia"), m_sEastAsia ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:eastAsiaTheme"), m_oEastAsiaTheme ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:hAnsi"), m_sHAnsi ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:hAnsiTheme"), m_oHAnsiTheme ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:hint"), m_oHint ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -438,16 +488,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) + ReadAttributes(oReader); - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:color"), m_oColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeColor"), m_oThemeColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeShade"), m_oThemeShade ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeTint"), m_oThemeTint ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) - - WritingElement_ReadAttributes_End( oReader ) + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -490,6 +534,19 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:color"), m_oColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeColor"), m_oThemeColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeShade"), m_oThemeShade ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeTint"), m_oThemeTint ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -519,10 +576,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle ( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -537,6 +594,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle ( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -562,10 +628,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle ( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -580,6 +646,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle ( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: diff --git a/Common/DocxFormat/Source/DocxFormat/Logic/Sdt.h b/Common/DocxFormat/Source/DocxFormat/Logic/Sdt.h index 2341bec44a..8001b6469f 100644 --- a/Common/DocxFormat/Source/DocxFormat/Logic/Sdt.h +++ b/Common/DocxFormat/Source/DocxFormat/Logic/Sdt.h @@ -30,11 +30,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:displayText"), m_sDisplayText ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:value"), m_sValue ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -57,6 +56,17 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:displayText"), m_sDisplayText ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:value"), m_sValue ) + WritingElement_ReadAttributes_End( oReader ) + } + public: nullable m_sDisplayText; @@ -85,12 +95,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:prefixMappings"), m_sPrefixMappings ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:storeItemID"), m_sStoreItemID ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:xpath"), m_sXPath ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -119,6 +127,17 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:prefixMappings"), m_sPrefixMappings ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:storeItemID"), m_sStoreItemID ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:xpath"), m_sXPath ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -147,10 +166,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -160,6 +179,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -186,10 +214,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -199,6 +227,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -225,10 +262,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -238,6 +275,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -264,10 +310,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:multiLine"), m_oMultiLine ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -277,6 +323,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:multiLine"), m_oMultiLine ) + WritingElement_ReadAttributes_End( oReader ) + } public: diff --git a/Common/DocxFormat/Source/DocxFormat/Logic/SectionProperty.h b/Common/DocxFormat/Source/DocxFormat/Logic/SectionProperty.h index 852aa8ddf4..4df68b0ec9 100644 --- a/Common/DocxFormat/Source/DocxFormat/Logic/SectionProperty.h +++ b/Common/DocxFormat/Source/DocxFormat/Logic/SectionProperty.h @@ -35,11 +35,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:space"), m_oSpace ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:w"), m_oW ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -61,6 +60,16 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:space"), m_oSpace ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:w"), m_oW ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -90,12 +99,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:charSpace"), m_oCharSpace ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:linePitch"), m_oLinePitch ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:type"), m_oType ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -124,6 +131,17 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:charSpace"), m_oCharSpace ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:linePitch"), m_oLinePitch ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:type"), m_oType ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -153,11 +171,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("r:id"), m_oId ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:type"), m_oType ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -179,6 +196,16 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("r:id"), m_oId ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:type"), m_oType ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -210,13 +237,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:countBy"), m_oCountBy ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:distance"), m_oDistance ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:restart"), m_oRestart ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:start"), m_oStart ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -252,6 +276,18 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:countBy"), m_oCountBy ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:distance"), m_oDistance ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:restart"), m_oRestart ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:start"), m_oStart ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -283,11 +319,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:first"), m_oFirst ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:other"), m_oOther ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -309,6 +344,16 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:first"), m_oFirst ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:other"), m_oOther ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -347,19 +392,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:color"), m_oColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:frame"), m_oFrame ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("r:id"), m_oId ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:shadow"), m_oShadow ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:space"), m_oSpace ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:sz"), m_oSz ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeColor"), m_oThemeColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeShade"), m_oThemeShade ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeTint"), m_oThemeTint ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -435,6 +471,24 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:color"), m_oColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:frame"), m_oFrame ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("r:id"), m_oId ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:shadow"), m_oShadow ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:space"), m_oSpace ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:sz"), m_oSz ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeColor"), m_oThemeColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeShade"), m_oThemeShade ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeTint"), m_oThemeTint ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -481,21 +535,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("r:bottomLeft"), m_oBottomLeft ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("r:bottomRight"), m_oBottomRight ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:color"), m_oColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:frame"), m_oFrame ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("r:id"), m_oId ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:shadow"), m_oShadow ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:space"), m_oSpace ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:sz"), m_oSz ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeColor"), m_oThemeColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeShade"), m_oThemeShade ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeTint"), m_oThemeTint ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -585,6 +628,26 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("r:bottomLeft"), m_oBottomLeft ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("r:bottomRight"), m_oBottomRight ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:color"), m_oColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:frame"), m_oFrame ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("r:id"), m_oId ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:shadow"), m_oShadow ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:space"), m_oSpace ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:sz"), m_oSz ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeColor"), m_oThemeColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeShade"), m_oThemeShade ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeTint"), m_oThemeTint ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -625,21 +688,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:color"), m_oColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:frame"), m_oFrame ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("r:id"), m_oId ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:shadow"), m_oShadow ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:space"), m_oSpace ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:sz"), m_oSz ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeColor"), m_oThemeColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeShade"), m_oThemeShade ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeTint"), m_oThemeTint ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("r:topLeft"), m_oTopLeft ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("r:topRight"), m_oTopRight ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -729,6 +781,26 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:color"), m_oColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:frame"), m_oFrame ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("r:id"), m_oId ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:shadow"), m_oShadow ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:space"), m_oSpace ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:sz"), m_oSz ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeColor"), m_oThemeColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeShade"), m_oThemeShade ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:themeTint"), m_oThemeTint ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("r:topLeft"), m_oTopLeft ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("r:topRight"), m_oTopRight ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -764,16 +836,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:bottom"), m_oBottom ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:footer"), m_oFooter ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:gutter"), m_oGutter ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:header"), m_oHeader ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:left"), m_oLeft ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:right"), m_oRight ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:top"), m_oTop ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -829,6 +895,22 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:bottom"), m_oBottom ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:footer"), m_oFooter ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:gutter"), m_oGutter ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:header"), m_oHeader ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:left"), m_oLeft ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:right"), m_oRight ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:top"), m_oTop ) + WritingElement_ReadAttributes_End( oReader ) + } + public: nullable m_oBottom; @@ -865,13 +947,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:chapSep"), m_oChapSep ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:chapStyle"), m_oChapStyle ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:fmt"), m_oFmt ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:start"), m_oStart ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -905,6 +984,18 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:chapSep"), m_oChapSep ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:chapStyle"), m_oChapStyle ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:fmt"), m_oFmt ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:start"), m_oStart ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -939,13 +1030,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:code"), m_oCode ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:h"), m_oH ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:orient"), m_oOrient ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:w"), m_oW ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -979,6 +1067,18 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:code"), m_oCode ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:h"), m_oH ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:orient"), m_oOrient ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:w"), m_oW ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1010,10 +1110,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1028,6 +1128,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: diff --git a/Common/DocxFormat/Source/DocxFormat/Logic/Table.h b/Common/DocxFormat/Source/DocxFormat/Logic/Table.h index 3a8b8cc1c7..e1d8bba0a4 100644 --- a/Common/DocxFormat/Source/DocxFormat/Logic/Table.h +++ b/Common/DocxFormat/Source/DocxFormat/Logic/Table.h @@ -30,10 +30,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:w"), m_oW ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -48,6 +48,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:w"), m_oW ) + WritingElement_ReadAttributes_End( oReader ) + } public: diff --git a/Common/DocxFormat/Source/DocxFormat/Logic/TableProperty.h b/Common/DocxFormat/Source/DocxFormat/Logic/TableProperty.h index 43864e8f43..6ed1280de7 100644 --- a/Common/DocxFormat/Source/DocxFormat/Logic/TableProperty.h +++ b/Common/DocxFormat/Source/DocxFormat/Logic/TableProperty.h @@ -31,10 +31,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -49,6 +49,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -74,10 +83,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:type"), m_oType ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -92,6 +101,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:type"), m_oType ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -123,16 +141,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:firstColumn"), m_oFirstColumn ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:firstRow"), m_oFirstRow ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:lastColumn"), m_oLastColumn ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:lastRow"), m_oLastRow ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:noHBand"), m_oNoHBand ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:noVBand"), m_oNoVBand ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -302,6 +314,21 @@ namespace ComplexTypes m_oFirstRow->FromBool(true); } } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:firstColumn"), m_oFirstColumn ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:firstRow"), m_oFirstRow ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:lastColumn"), m_oLastColumn ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:lastRow"), m_oLastRow ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:noHBand"), m_oNoHBand ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:noVBand"), m_oNoVBand ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: nullable > m_oFirstColumn; @@ -407,19 +434,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:bottomFromText"), m_oBottomFromText ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:horzAnchor"), m_oHorzAnchor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:leftFromText"), m_oLeftFromText ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:rightFromText"), m_oRightFromText ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:tblpX"), m_oTblpX ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:tblpXSpec"), m_oTblpXSpec ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:tblpY"), m_oTblpY ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:tblpYSpec"), m_oTblpYSpec ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:topFromText"), m_oTopFromText ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vertAnchor"), m_oVertAnchor ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); PrepareAfterRead(); } virtual CString ToString() const @@ -439,6 +457,24 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:bottomFromText"), m_oBottomFromText ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:horzAnchor"), m_oHorzAnchor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:leftFromText"), m_oLeftFromText ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:rightFromText"), m_oRightFromText ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:tblpX"), m_oTblpX ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:tblpXSpec"), m_oTblpXSpec ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:tblpY"), m_oTblpY ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:tblpYSpec"), m_oTblpYSpec ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:topFromText"), m_oTopFromText ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vertAnchor"), m_oVertAnchor ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1023,11 +1059,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:hRule"), m_oHRule ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1038,6 +1073,16 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:hRule"), m_oHRule ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1297,14 +1342,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vMerge"), m_oVMerge ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vMergeOrig"), m_oVMergeOrig ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1324,6 +1365,19 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vMerge"), m_oVMerge ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vMergeOrig"), m_oVMergeOrig ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1354,10 +1408,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1367,6 +1421,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -1394,10 +1457,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -1407,6 +1470,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: diff --git a/Common/DocxFormat/Source/DocxFormat/Numbering.h b/Common/DocxFormat/Source/DocxFormat/Numbering.h index b7afbcfa95..882c689f25 100644 --- a/Common/DocxFormat/Source/DocxFormat/Numbering.h +++ b/Common/DocxFormat/Source/DocxFormat/Numbering.h @@ -34,12 +34,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:legacy"), m_oLegacy ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:legacyIndent"), m_oLegacyIndent ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:legacySpace"), m_oLegacySpace ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -51,6 +49,17 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:legacy"), m_oLegacy ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:legacyIndent"), m_oLegacyIndent ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:legacySpace"), m_oLegacySpace ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -80,11 +89,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:null"), m_oNull ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_sVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -101,6 +109,16 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:null"), m_oNull ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_sVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -128,10 +146,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -141,6 +159,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -167,10 +194,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -180,6 +207,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: diff --git a/Common/DocxFormat/Source/DocxFormat/Styles.h b/Common/DocxFormat/Source/DocxFormat/Styles.h index 957a731e3c..ed6f734041 100644 --- a/Common/DocxFormat/Source/DocxFormat/Styles.h +++ b/Common/DocxFormat/Source/DocxFormat/Styles.h @@ -39,15 +39,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("w:locked"), m_oLocked ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:name"), m_sName ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:qFormat"), m_oQFormat ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:semiHidden"), m_oSemiHidden ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:uiPriority"), m_oUiPriority ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:unhideWhenUsed"), m_oUnhideWhenUsed ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -69,6 +64,20 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_Read_if ( oReader, _T("w:locked"), m_oLocked ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:name"), m_sName ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:qFormat"), m_oQFormat ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:semiHidden"), m_oSemiHidden ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:uiPriority"), m_oUiPriority ) + WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:unhideWhenUsed"), m_oUnhideWhenUsed ) + WritingElement_ReadAttributes_End( oReader ) + } public: diff --git a/Common/DocxFormat/Source/XML/libxml2/libxml2.cpp b/Common/DocxFormat/Source/XML/libxml2/libxml2.cpp index 4684b35797..30ea4eb4c4 100644 --- a/Common/DocxFormat/Source/XML/libxml2/libxml2.cpp +++ b/Common/DocxFormat/Source/XML/libxml2/libxml2.cpp @@ -1,3 +1,4 @@ +//#include "stdafx.h" //#include "LIBXML2_LIB/stdafx.h" #include "./libxml2.h" @@ -15,9 +16,9 @@ namespace XmlUtils { sXml += L" "; sXml += std_string2string(NSFile::CUtf8Converter::GetUnicodeFromCharPtr(p->first.GetString(), p->first.GetLength(), TRUE)); - sXml += L"='"; + sXml += L"=\""; sXml += std_string2string(NSFile::CUtf8Converter::GetUnicodeFromCharPtr(p->second.GetString(), p->second.GetLength(), TRUE)); - sXml += L"'"; + sXml += L"\""; } sXml += L">"; @@ -47,9 +48,9 @@ namespace XmlUtils { oWriter.WriteString(L" ", 1); oWriter.WriteString(std_string2string(NSFile::CUtf8Converter::GetUnicodeFromCharPtr(p->first.GetString(), p->first.GetLength(), TRUE))); - oWriter.WriteString(L"='", 2); + oWriter.WriteString(L"=\"", 2); oWriter.WriteString(std_string2string(NSFile::CUtf8Converter::GetUnicodeFromCharPtr(p->second.GetString(), p->second.GetLength(), TRUE))); - oWriter.WriteString(L"'", 1); + oWriter.WriteString(L"\"", 1); } oWriter.WriteString(L">", 1); @@ -157,10 +158,13 @@ namespace XmlUtils // У закрывающего тэга глубина на 1 больше, чем у открывающего while( TRUE ) { - if ( 0 == xmlTextReaderRead(reader) ) + if ( 1 != xmlTextReaderRead(reader) ) break; - eNodeType = (XmlNodeType)xmlTextReaderNodeType(reader); + int nTempType = xmlTextReaderNodeType(reader); + if(-1 == nTempType) + break; + eNodeType = (XmlNodeType)nTempType; nCurDepth = GetDepth(); if ( eNodeType == XmlNodeType_Text || eNodeType == XmlNodeType_Whitespace || eNodeType == XmlNodeType_SIGNIFICANT_WHITESPACE ) @@ -184,7 +188,7 @@ namespace XmlUtils } nCurDepth = GetDepth(); - if ( nCurDepth <= nDepth ) + if ( nCurDepth < nDepth ) break; if ( XmlNodeType_EndElement == eNodeType && nCurDepth == nDepth ) @@ -203,15 +207,23 @@ namespace XmlUtils } CString CXmlNode::private_GetXml() + { + return private_GetXml(L""); + } + CString CXmlNode::private_GetXml(const CString& strDefaultValue) { if (NULL == m_pBase) - return L""; + return strDefaultValue; return m_pBase->GetXml(); } CString CXmlNode::private_GetXmlFast() + { + return private_GetXmlFast(L""); + } + CString CXmlNode::private_GetXmlFast(const CString& strDefaultValue) { if (NULL == m_pBase) - return L""; + return strDefaultValue; CStringWriter oWriter; m_pBase->GetXml(oWriter); return oWriter.GetData(); @@ -242,6 +254,10 @@ namespace XmlUtils return true; } + BOOL CXmlNode::FromXmlFile2(const CString& strXmlFilePath) + { + return FromXmlFile(strXmlFilePath.GetString()) ? TRUE : FALSE; + } bool CXmlNode::FromXmlStringA(const std::string& sString) { CXmlDOMDocument* m_pDocument = new CXmlDOMDocument(); @@ -255,7 +271,7 @@ namespace XmlUtils m_pDocument->Parse(); - if (NULL != m_pDocument->m_pNode) + if (NULL == m_pDocument->m_pNode) { delete m_pDocument; return false; @@ -275,6 +291,28 @@ namespace XmlUtils { return (IsValid() ? m_pBase->m_sText : L""); } + bool CXmlNode::GetTextIfExist(CString& sOutput) + { + bool bRes = false; + if(IsValid() && !m_pBase->m_sText.IsEmpty()) + { + sOutput = m_pBase->m_sText; + bRes = true; + } + return bRes; + } + CString CXmlNode::GetTextExt(const CString& strDefaultValue) + { + //todo xml:space preserve + CString sRes; + if(!GetTextIfExist(sRes)) + sRes = strDefaultValue; + return sRes; + } + CString CXmlNode::GetXml(const CString& strDefaultValue) + { + return private_GetXmlFast(strDefaultValue); + } CString CXmlNode::GetName() { @@ -350,11 +388,32 @@ namespace XmlUtils return std_string2string(NSFile::CUtf8Converter::GetUnicodeFromCharPtr(pFind->second.GetString(), pFind->second.GetLength(), TRUE)); } + bool CXmlNode::GetAttributeIfExist(const CString& sName, CString& sOutput) + { + bool bRes = false; + if (IsValid()) + { + std::map::const_iterator pFind = + m_pBase->m_attributes.find(std_string2string(NSFile::CUtf8Converter::GetUtf8StringFromUnicode2(sName.GetString(), sName.GetLength()))); + + if (pFind != m_pBase->m_attributes.end()) + { + sOutput = std_string2string(NSFile::CUtf8Converter::GetUnicodeFromCharPtr(pFind->second.GetString(), pFind->second.GetLength(), TRUE)); + bRes = true; + } + } + return bRes; + } CString CXmlNode::GetAttribute(const wchar_t* sName, const CString& _default) { return GetAttribute(CString(sName), _default); } + CString CXmlNode::GetAttributeBase(const wchar_t* strAttributeName, const CString& strDefaultValue) + { + return GetAttribute(CString(strAttributeName), strDefaultValue); + } + int CXmlNode::GetAttributeInt(const CStringA& sName, const int& _default) { if (!IsValid()) @@ -431,6 +490,16 @@ namespace XmlUtils { return ReadValueString(strName); } + CString CXmlNode::GetAttributeOrValue(const CString& strAttributeName, const CString& strDefaultValue) + { + CString sRes; + if(!GetAttributeIfExist(strAttributeName, sRes)) + { + if(!GetTextIfExist(sRes)) + sRes = strDefaultValue; + } + return sRes; + } CString CXmlNode::ReadValueString(const CString& sName, const CString& nDef) { CString sRes; @@ -439,6 +508,18 @@ namespace XmlUtils sRes = oTemp.GetText(); return sRes; } + int CXmlNode::ReadValueInt(const CString& str, const int& nDef) + { + int nRes = nDef; + CXmlNode oTemp; + if(GetNode(str, oTemp)) + { + CString sText; + if(oTemp.GetTextIfExist(sText)) + nRes = XmlUtils::GetInteger(sText); + } + return nRes; + } CXmlNode CXmlNode::ReadNode(const CString& strNodeName) { @@ -448,21 +529,21 @@ namespace XmlUtils } CXmlNode CXmlNode::ReadNodeNoNS(const CString& strNodeName) { - CXmlNodes oNodes; - if (GetNodes(_T("*"), oNodes)) + CXmlNode node; + if (IsValid()) { - int nCount = oNodes.GetCount(); + int nCount = (int)m_pBase->m_nodes.size(); for (int i = 0; i < nCount; ++i) { - CXmlNode node; - oNodes.GetAt(i, node); - - if (strNodeName == GetNameNoNS(node.GetName())) - return node; + if (strNodeName == GetNameNoNS(m_pBase->m_nodes[i]->m_sName)) + { + CXmlNodeBase* pBase = m_pBase->m_nodes[i]; + pBase->AddRef(); + node.m_pBase = pBase; + break; + } } } - - CXmlNode node; return node; } @@ -495,26 +576,48 @@ namespace XmlUtils CXmlNodes CXmlNode::GetNodes(const CString& sName) { CXmlNodes oNodes; - - bool bGetAll = false; - if(_T("*") == sName) - bGetAll = true; - int nCount = (int)m_pBase->m_nodes.size(); - for (int i = 0; i < nCount; ++i) + if (IsValid()) { - if (bGetAll || sName == m_pBase->m_nodes[i]->m_sName) + bool bGetAll = false; + if(_T("*") == sName) + bGetAll = true; + int nCount = (int)m_pBase->m_nodes.size(); + for (int i = 0; i < nCount; ++i) { - CXmlNode oNode; - oNode.m_pBase = m_pBase->m_nodes[i]; - if (oNode.m_pBase) - oNode.m_pBase->AddRef(); - oNodes.m_nodes.insert(oNodes.m_nodes.end(), oNode); + if (bGetAll || sName == m_pBase->m_nodes[i]->m_sName) + { + CXmlNode oNode; + oNode.m_pBase = m_pBase->m_nodes[i]; + if (oNode.m_pBase) + oNode.m_pBase->AddRef(); + oNodes.m_nodes.insert(oNodes.m_nodes.end(), oNode); + } } } return oNodes; } - + BOOL CXmlNode::GetChilds(CXmlNodes& oXmlNodes) + { + BOOL bRes = FALSE; + if (IsValid()) + { + int nCount = (int)m_pBase->m_nodes.size(); + if(nCount > 0) + { + bRes = TRUE; + for (int i = 0; i < nCount; ++i) + { + CXmlNode oNode; + oNode.m_pBase = m_pBase->m_nodes[i]; + if (oNode.m_pBase) + oNode.m_pBase->AddRef(); + oXmlNodes.m_nodes.insert(oXmlNodes.m_nodes.end(), oNode); + } + } + } + return bRes; + } bool CXmlNode::GetNodes(const CString& sName, CXmlNodes& oNodes) { oNodes = GetNodes(sName); diff --git a/Common/DocxFormat/Source/XML/libxml2/libxml2.h b/Common/DocxFormat/Source/XML/libxml2/libxml2.h index 405e9f856c..9d329f6277 100644 --- a/Common/DocxFormat/Source/XML/libxml2/libxml2.h +++ b/Common/DocxFormat/Source/XML/libxml2/libxml2.h @@ -353,10 +353,14 @@ namespace XmlUtils if ( !IsValid() ) return FALSE; - if ( 0 == xmlTextReaderRead(reader) ) + if ( 1 != xmlTextReaderRead(reader) ) return FALSE; - oNodeType = (XmlNodeType)xmlTextReaderNodeType(reader); + int nTempType = xmlTextReaderNodeType(reader); + if(-1 == nTempType) + return FALSE; + + oNodeType = (XmlNodeType)nTempType; return TRUE; } @@ -372,7 +376,11 @@ namespace XmlUtils if (1 != xmlTextReaderRead(reader)) break; - oNodeType = (XmlNodeType)xmlTextReaderNodeType(reader); + int nTempType = xmlTextReaderNodeType(reader); + if(-1 == nTempType) + break; + + oNodeType = (XmlNodeType)nTempType; } if ( XmlNodeType_Element == oNodeType ) @@ -390,17 +398,22 @@ namespace XmlUtils XmlNodeType eNodeType = XmlNodeType_None; int nCurDepth = -1; - while ( xmlTextReaderRead(reader) ) + while ( 1 == xmlTextReaderRead(reader) ) { - eNodeType = (XmlNodeType)xmlTextReaderNodeType(reader); - nCurDepth = xmlTextReaderDepth(reader); + int nTempType = xmlTextReaderNodeType(reader); + int nTempDepth = xmlTextReaderDepth(reader); + if(-1 == nTempType || -1 == nTempDepth) + return FALSE; + eNodeType = (XmlNodeType)nTempType; + nCurDepth = nTempDepth; - if (nCurDepth <= nDepth) + // У закрывающего тэга глубина такая же как у открывающегося + if (nCurDepth < nDepth) break; if ( XmlNodeType_Element == eNodeType && nCurDepth == nDepth + 1 ) return TRUE; - else if ( XmlNodeType_EndElement == eNodeType && nCurDepth == nDepth + 1 ) + else if ( XmlNodeType_EndElement == eNodeType && nCurDepth == nDepth ) return FALSE; } @@ -413,25 +426,28 @@ namespace XmlUtils if ( -2 == nDepth ) nDepth = GetDepth(); - else if ( nDepth == GetDepth() && xmlTextReaderIsEmptyElement(reader) ) + else if ( nDepth == GetDepth() && 0 != xmlTextReaderIsEmptyElement(reader) ) return TRUE; XmlNodeType eNodeType = XmlNodeType_None; int nCurDepth = -1; - // У закрывающего тэга глубина на 1 больше, чем у открывающего + // У закрывающего тэга глубина такая же как у открывающегося while( TRUE ) { - if ( 0 == xmlTextReaderRead(reader) ) + if ( 1 != xmlTextReaderRead(reader) ) break; - eNodeType = (XmlNodeType)xmlTextReaderNodeType(reader); - + int nTempType = xmlTextReaderNodeType(reader); + if(-1 == nTempType) + return FALSE; + eNodeType = (XmlNodeType)nTempType; nCurDepth = GetDepth(); - if ( nCurDepth <= nDepth ) + + if ( nCurDepth < nDepth ) break; - if ( XmlNodeType_EndElement == eNodeType && nCurDepth == nDepth + 1 ) + if ( XmlNodeType_EndElement == eNodeType && nCurDepth == nDepth ) break; } @@ -469,14 +485,17 @@ namespace XmlUtils if ( !IsValid() ) return -1; - return xmlTextReaderDepth(reader); + int nTempDepth = xmlTextReaderDepth(reader); + if(-1 == nTempDepth) + return -1; + return nTempDepth; } inline BOOL IsEmptyNode() { if ( !IsValid() ) return FALSE; - return xmlTextReaderIsEmptyElement(reader); + return 0 != xmlTextReaderIsEmptyElement(reader) ? TRUE : FALSE; } inline const wchar_t* GetText() @@ -513,7 +532,7 @@ namespace XmlUtils CString sResult; - if ( xmlTextReaderIsEmptyElement(reader) ) + if ( 0 != xmlTextReaderIsEmptyElement(reader) ) return sResult; int nDepth = GetDepth(); @@ -546,14 +565,14 @@ namespace XmlUtils if ( !IsValid() ) return FALSE; - return (BOOL)xmlTextReaderMoveToFirstAttribute(reader); + return 1 == xmlTextReaderMoveToFirstAttribute(reader) ? TRUE: FALSE; } inline BOOL MoveToNextAttribute() { if ( !IsValid() ) return FALSE; - return (BOOL)xmlTextReaderMoveToNextAttribute(reader);; + return 1 == xmlTextReaderMoveToNextAttribute(reader) ? TRUE: FALSE; } inline BOOL MoveToElement() @@ -561,7 +580,7 @@ namespace XmlUtils if ( !IsValid() ) return FALSE; - return (BOOL)xmlTextReaderMoveToElement(reader); + return 1 == xmlTextReaderMoveToElement(reader) ? TRUE: FALSE; } private: inline CString GetXml(bool bInner) @@ -582,10 +601,13 @@ namespace XmlUtils // У закрывающего тэга глубина такая же как у открывающегося while( TRUE ) { - if ( 0 == xmlTextReaderRead(reader) ) + if ( 1 != xmlTextReaderRead(reader) ) break; - eNodeType = (XmlNodeType)xmlTextReaderNodeType(reader); + int nTempType = xmlTextReaderNodeType(reader); + if(-1 == nTempType) + break; + eNodeType = (XmlNodeType)nTempType; nCurDepth = GetDepth(); if ( eNodeType == XmlNodeType_Text || eNodeType == XmlNodeType_Whitespace ) @@ -603,7 +625,7 @@ namespace XmlUtils } nCurDepth = GetDepth(); - if ( nCurDepth <= nDepth ) + if ( nCurDepth < nDepth ) break; if ( XmlNodeType_EndElement == eNodeType && nCurDepth == nDepth ) @@ -739,10 +761,11 @@ namespace XmlUtils return FromXmlFile(std::wstring(sFile), bRemoveRootNode); } bool FromXmlFile(const std::wstring& sFile, bool bRemoveRootNode = false); + BOOL FromXmlFile2(const CString& strXmlFilePath); bool FromXmlStringA(const std::string& sString); bool FromXmlString(const wchar_t* sString) { - return FromXmlFile(std::wstring(sString)); + return FromXmlString(std::wstring(sString)); } bool FromXmlString(const std::wstring& sString); @@ -750,12 +773,17 @@ namespace XmlUtils void Clear(); CString GetName(); CString GetText(); + bool GetTextIfExist(CString& sOutput); + CString GetTextExt(const CString& strDefaultValue = _T("")); + CString GetXml(const CString& strDefaultValue = _T("")); CString ReadAttributeBase(const wchar_t* bstrName); template void ReadAttributeBase(const wchar_t* bsName, T& value) { - value = GetAttribute(CString(bsName)).GetString(); + CString sAttr; + if(GetAttributeIfExist(CString(bsName), sAttr)) + value = sAttr.GetString(); } CString ReadAttribute(const CString& strAttibuteName); template @@ -765,11 +793,10 @@ namespace XmlUtils return; std::map::iterator p; - for (p = m_attributes.begin(); p != m_attributes.end(); ++p) + for (p = m_pBase->m_attributes.begin(); p != m_pBase->m_attributes.end(); ++p) { - p->first.c_str(), p->first.length() - strNames.push_back(p->first); - strValues.push_back(p->second); + strNames.AddTail(std_string2string(NSFile::CUtf8Converter::GetUnicodeFromCharPtr(p->first.GetString(), p->first.GetLength(), TRUE))); + strValues.AddTail(std_string2string(NSFile::CUtf8Converter::GetUnicodeFromCharPtr(p->second.GetString(), p->second.GetLength(), TRUE))); } } @@ -779,7 +806,9 @@ namespace XmlUtils CString GetAttribute(const CStringA& sName, const CString& _default = L""); CString GetAttribute(const CString& sName, const CString& _default = L""); CString GetAttribute(const wchar_t* sName, const CString& _default = L""); - + CString GetAttributeBase(const wchar_t* strAttributeName, const CString& strDefaultValue = _T("")); + bool GetAttributeIfExist(const CString& sName, CString& sOutput); + int GetAttributeInt(const CStringA& sName, const int& _default = 0); int GetAttributeInt(const CString& sName, const int& _default = 0); int ReadAttributeInt(const CString& str, const int& nDef = 0); @@ -796,9 +825,12 @@ namespace XmlUtils } CString ReadNodeText(const CString& strName); CString ReadValueString(const CString& sName, const CString& nDef = _T("")); + int ReadValueInt(const CString& str, const int& nDef = 0); + + CString GetAttributeOrValue(const CString& strAttributeName, const CString& strDefaultValue = _T("")); template - void LoadArray(const CString& sName, std::vector& arList) + void LoadArray(const CString& sName, CAtlArray& arList) { CXmlNodes oNodes; if (GetNodes(sName, oNodes)) @@ -809,13 +841,13 @@ namespace XmlUtils CXmlNode oItem; oNodes.GetAt(i, oItem); - arList.reserve(arList.size() + 1); + arList.Add(); arList[i].fromXML(oItem); } } } template - void LoadArray(const CString& sName, const CString& sSubName, std::vector& arList) + void LoadArray(const CString& sName, const CString& sSubName, CAtlArray& arList) { CXmlNode oNode; if (GetNode(sName, oNode)) @@ -826,6 +858,7 @@ namespace XmlUtils CXmlNode GetNode(const CString& sName); CXmlNodes GetNodes(const CString& sName); + BOOL GetChilds(CXmlNodes& oXmlNodes); bool GetNode(const CString& sName, CXmlNode& oNode); bool GetNodes(const CString& sName, CXmlNodes& oNodes); @@ -836,7 +869,9 @@ namespace XmlUtils CString GetNameNoNS(const CString& strNodeName); public: CString private_GetXml(); + CString private_GetXml(const CString& strDefaultValue = _T("")); CString private_GetXmlFast(); + CString private_GetXmlFast(const CString& strDefaultValue); }; class CXmlNodes @@ -848,7 +883,10 @@ namespace XmlUtils CXmlNodes() : m_nodes() { } - + BOOL IsValid() + { + return TRUE; + } int GetCount() { return (int)m_nodes.size(); diff --git a/Common/DocxFormat/Source/XML/stringcommon.cpp b/Common/DocxFormat/Source/XML/stringcommon.cpp index f4b765206f..6fd26049ab 100644 --- a/Common/DocxFormat/Source/XML/stringcommon.cpp +++ b/Common/DocxFormat/Source/XML/stringcommon.cpp @@ -1,3 +1,4 @@ +//#include "stdafx.h" #include "stringcommon.h" std::wstring string2std_string(const CString& val) diff --git a/Common/DocxFormat/Source/XML/xmlutils.h b/Common/DocxFormat/Source/XML/xmlutils.h index f841e51cee..580e3a7ef1 100644 --- a/Common/DocxFormat/Source/XML/xmlutils.h +++ b/Common/DocxFormat/Source/XML/xmlutils.h @@ -105,6 +105,13 @@ namespace XmlUtils return _T(""); return strNodeName.Mid(0, nFind); } + AVSINLINE CString GetNamespace(const wchar_t* strNodeName) + { + const wchar_t* find = wcschr(strNodeName, TCHAR(':')); + if(NULL == find) + return _T(""); + return CString(strNodeName, find - strNodeName); + } AVSINLINE CString GetNameNoNS(const CString& strNodeName) { int nFind = strNodeName.Find(TCHAR(':')); @@ -112,6 +119,13 @@ namespace XmlUtils return strNodeName; return strNodeName.Mid(nFind + 1); } + AVSINLINE CString GetNameNoNS(const wchar_t* strNodeName) + { + const wchar_t* find = wcschr(strNodeName, TCHAR(':')); + if(NULL == find) + return CString(strNodeName); + return CString(find + 1); + } // classes class CXmlWriter { diff --git a/Common/DocxFormat/Source/XlsxFormat/Chart/ChartSerialize.cpp b/Common/DocxFormat/Source/XlsxFormat/Chart/ChartSerialize.cpp index f4c3c6a4ae..6629f28ad4 100644 --- a/Common/DocxFormat/Source/XlsxFormat/Chart/ChartSerialize.cpp +++ b/Common/DocxFormat/Source/XlsxFormat/Chart/ChartSerialize.cpp @@ -1243,21 +1243,8 @@ namespace OOX{ delete m_val; } void CT_Boolean::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - bool* pNewElem = new bool; - CString sVal = oReader.GetText(); - CString sValLower = sVal.MakeLower(); - if(_T("false") == sValLower || _T("0") == sValLower || _T("off") == sValLower) - *pNewElem = false; - else - *pNewElem = true; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -1278,6 +1265,21 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_Boolean::getType(){return et_ct_boolean;} + void CT_Boolean::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + bool* pNewElem = new bool; + CString sVal = oReader.GetText(); + CString sValLower = sVal.MakeLower(); + if(_T("false") == sValLower || _T("0") == sValLower || _T("off") == sValLower) + *pNewElem = false; + else + *pNewElem = true; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_RelId::CT_RelId() { m_id = NULL; @@ -1288,18 +1290,8 @@ namespace OOX{ delete m_id; } void CT_RelId::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("id") == wsName) - { - //todo - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_id = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -1319,6 +1311,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_RelId::getType(){return et_ct_relid;} + void CT_RelId::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("id") == wsName) + { + //todo + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_id = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_PageSetup::CT_PageSetup() { /*m_paperSize = new unsigned long; @@ -1413,100 +1417,8 @@ namespace OOX{ delete m_copies; } void CT_PageSetup::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("paperSize") == wsName) - { - unsigned long* pNewElem = new unsigned long; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_paperSize = pNewElem; - } - else if(_T("paperHeight") == wsName) - { - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_paperHeight = pNewElem; - } - else if(_T("paperWidth") == wsName) - { - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_paperWidth = pNewElem; - } - else if(_T("firstPageNumber") == wsName) - { - unsigned long* pNewElem = new unsigned long; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_firstPageNumber = pNewElem; - } - else if(_T("orientation") == wsName) - { - ST_PageSetupOrientation* pNewElem = new ST_PageSetupOrientation; - ST_PageSetupOrientation eVal; - if(FromXml_ST_PageSetupOrientation(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_orientation = pNewElem; - } - else if(_T("blackAndWhite") == wsName) - { - bool* pNewElem = new bool; - CString sVal = oReader.GetText(); - CString sValLower = sVal.MakeLower(); - if(_T("false") == sValLower || _T("0") == sValLower || _T("off") == sValLower) - *pNewElem = false; - else - *pNewElem = true; - m_blackAndWhite = pNewElem; - } - else if(_T("draft") == wsName) - { - bool* pNewElem = new bool; - CString sVal = oReader.GetText(); - CString sValLower = sVal.MakeLower(); - if(_T("false") == sValLower || _T("0") == sValLower || _T("off") == sValLower) - *pNewElem = false; - else - *pNewElem = true; - m_draft = pNewElem; - } - else if(_T("useFirstPageNumber") == wsName) - { - bool* pNewElem = new bool; - CString sVal = oReader.GetText(); - CString sValLower = sVal.MakeLower(); - if(_T("false") == sValLower || _T("0") == sValLower || _T("off") == sValLower) - *pNewElem = false; - else - *pNewElem = true; - m_useFirstPageNumber = pNewElem; - } - else if(_T("horizontalDpi") == wsName) - { - long* pNewElem = new long; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_horizontalDpi = pNewElem; - } - else if(_T("verticalDpi") == wsName) - { - long* pNewElem = new long; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_verticalDpi = pNewElem; - } - else if(_T("copies") == wsName) - { - unsigned long* pNewElem = new unsigned long; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_copies = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -1615,6 +1527,100 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_PageSetup::getType(){return et_ct_pagesetup;} + void CT_PageSetup::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("paperSize") == wsName) + { + unsigned long* pNewElem = new unsigned long; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_paperSize = pNewElem; + } + else if(_T("paperHeight") == wsName) + { + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_paperHeight = pNewElem; + } + else if(_T("paperWidth") == wsName) + { + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_paperWidth = pNewElem; + } + else if(_T("firstPageNumber") == wsName) + { + unsigned long* pNewElem = new unsigned long; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_firstPageNumber = pNewElem; + } + else if(_T("orientation") == wsName) + { + ST_PageSetupOrientation* pNewElem = new ST_PageSetupOrientation; + ST_PageSetupOrientation eVal; + if(FromXml_ST_PageSetupOrientation(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_orientation = pNewElem; + } + else if(_T("blackAndWhite") == wsName) + { + bool* pNewElem = new bool; + CString sVal = oReader.GetText(); + CString sValLower = sVal.MakeLower(); + if(_T("false") == sValLower || _T("0") == sValLower || _T("off") == sValLower) + *pNewElem = false; + else + *pNewElem = true; + m_blackAndWhite = pNewElem; + } + else if(_T("draft") == wsName) + { + bool* pNewElem = new bool; + CString sVal = oReader.GetText(); + CString sValLower = sVal.MakeLower(); + if(_T("false") == sValLower || _T("0") == sValLower || _T("off") == sValLower) + *pNewElem = false; + else + *pNewElem = true; + m_draft = pNewElem; + } + else if(_T("useFirstPageNumber") == wsName) + { + bool* pNewElem = new bool; + CString sVal = oReader.GetText(); + CString sValLower = sVal.MakeLower(); + if(_T("false") == sValLower || _T("0") == sValLower || _T("off") == sValLower) + *pNewElem = false; + else + *pNewElem = true; + m_useFirstPageNumber = pNewElem; + } + else if(_T("horizontalDpi") == wsName) + { + long* pNewElem = new long; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_horizontalDpi = pNewElem; + } + else if(_T("verticalDpi") == wsName) + { + long* pNewElem = new long; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_verticalDpi = pNewElem; + } + else if(_T("copies") == wsName) + { + unsigned long* pNewElem = new unsigned long; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_copies = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_PageMargins::CT_PageMargins() { m_l = NULL; @@ -1640,52 +1646,8 @@ namespace OOX{ delete m_footer; } void CT_PageMargins::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("l") == wsName) - { - double* pNewElem = new double; - CString sVal = oReader.GetText(); - *pNewElem = _tstof(sVal); - m_l = pNewElem; - } - else if(_T("r") == wsName) - { - double* pNewElem = new double; - CString sVal = oReader.GetText(); - *pNewElem = _tstof(sVal); - m_r = pNewElem; - } - else if(_T("t") == wsName) - { - double* pNewElem = new double; - CString sVal = oReader.GetText(); - *pNewElem = _tstof(sVal); - m_t = pNewElem; - } - else if(_T("b") == wsName) - { - double* pNewElem = new double; - CString sVal = oReader.GetText(); - *pNewElem = _tstof(sVal); - m_b = pNewElem; - } - else if(_T("header") == wsName) - { - double* pNewElem = new double; - CString sVal = oReader.GetText(); - *pNewElem = _tstof(sVal); - m_header = pNewElem; - } - else if(_T("footer") == wsName) - { - double* pNewElem = new double; - CString sVal = oReader.GetText(); - *pNewElem = _tstof(sVal); - m_footer = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -1743,6 +1705,52 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_PageMargins::getType(){return et_ct_pagemargins;} + void CT_PageMargins::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("l") == wsName) + { + double* pNewElem = new double; + CString sVal = oReader.GetText(); + *pNewElem = _tstof(sVal); + m_l = pNewElem; + } + else if(_T("r") == wsName) + { + double* pNewElem = new double; + CString sVal = oReader.GetText(); + *pNewElem = _tstof(sVal); + m_r = pNewElem; + } + else if(_T("t") == wsName) + { + double* pNewElem = new double; + CString sVal = oReader.GetText(); + *pNewElem = _tstof(sVal); + m_t = pNewElem; + } + else if(_T("b") == wsName) + { + double* pNewElem = new double; + CString sVal = oReader.GetText(); + *pNewElem = _tstof(sVal); + m_b = pNewElem; + } + else if(_T("header") == wsName) + { + double* pNewElem = new double; + CString sVal = oReader.GetText(); + *pNewElem = _tstof(sVal); + m_header = pNewElem; + } + else if(_T("footer") == wsName) + { + double* pNewElem = new double; + CString sVal = oReader.GetText(); + *pNewElem = _tstof(sVal); + m_footer = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_HeaderFooter::CT_HeaderFooter() { m_oddHeader = NULL; @@ -1804,41 +1812,8 @@ namespace OOX{ delete m_differentFirst; } void CT_HeaderFooter::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("alignWithMargins") == wsName) - { - bool* pNewElem = new bool; - CString sVal = oReader.GetText(); - CString sValLower = sVal.MakeLower(); - if(_T("false") == sValLower || _T("0") == sValLower || _T("off") == sValLower) - *pNewElem = false; - else - *pNewElem = true; - m_alignWithMargins = pNewElem; - } - else if(_T("differentOddEven") == wsName) - { - bool* pNewElem = new bool; - CString sVal = oReader.GetText(); - CString sValLower = sVal.MakeLower(); - if(_T("false") == sValLower || _T("0") == sValLower || _T("off") == sValLower) - *pNewElem = false; - else - *pNewElem = true; - m_differentOddEven = pNewElem; - } - else if(_T("differentFirst") == wsName) - { - bool* pNewElem = new bool; - CString sVal = oReader.GetText(); - CString sValLower = sVal.MakeLower(); - if(_T("false") == sValLower || _T("0") == sValLower || _T("off") == sValLower) - *pNewElem = false; - else - *pNewElem = true; - m_differentFirst = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + if ( oReader.IsEmptyNode() ) return; int nParentDepth = oReader.GetDepth(); @@ -1997,6 +1972,43 @@ namespace OOX{ writer.WriteString(CString(_T(">"))); } EElementType CT_HeaderFooter::getType(){return et_ct_headerfooter;} + void CT_HeaderFooter::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("alignWithMargins") == wsName) + { + bool* pNewElem = new bool; + CString sVal = oReader.GetText(); + CString sValLower = sVal.MakeLower(); + if(_T("false") == sValLower || _T("0") == sValLower || _T("off") == sValLower) + *pNewElem = false; + else + *pNewElem = true; + m_alignWithMargins = pNewElem; + } + else if(_T("differentOddEven") == wsName) + { + bool* pNewElem = new bool; + CString sVal = oReader.GetText(); + CString sValLower = sVal.MakeLower(); + if(_T("false") == sValLower || _T("0") == sValLower || _T("off") == sValLower) + *pNewElem = false; + else + *pNewElem = true; + m_differentOddEven = pNewElem; + } + else if(_T("differentFirst") == wsName) + { + bool* pNewElem = new bool; + CString sVal = oReader.GetText(); + CString sValLower = sVal.MakeLower(); + if(_T("false") == sValLower || _T("0") == sValLower || _T("off") == sValLower) + *pNewElem = false; + else + *pNewElem = true; + m_differentFirst = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_PrintSettings::CT_PrintSettings() { m_headerFooter = NULL; @@ -2073,16 +2085,8 @@ namespace OOX{ delete m_id; } void CT_ExternalData::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("id") == wsName) - { - //todo - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_id = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + if ( oReader.IsEmptyNode() ) return; int nParentDepth = oReader.GetDepth(); @@ -2119,6 +2123,18 @@ namespace OOX{ writer.WriteString(CString(_T(">"))); } EElementType CT_ExternalData::getType(){return et_ct_externaldata;} + void CT_ExternalData::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("id") == wsName) + { + //todo + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_id = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_DispBlanksAs::CT_DispBlanksAs() { /*m_val = new ST_DispBlanksAs; @@ -2131,18 +2147,8 @@ namespace OOX{ delete m_val; } void CT_DispBlanksAs::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_DispBlanksAs* pNewElem = new ST_DispBlanksAs; - ST_DispBlanksAs eVal; - if(FromXml_ST_DispBlanksAs(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -2162,6 +2168,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_DispBlanksAs::getType(){return et_ct_dispblanksas;} + void CT_DispBlanksAs::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_DispBlanksAs* pNewElem = new ST_DispBlanksAs; + ST_DispBlanksAs eVal; + if(FromXml_ST_DispBlanksAs(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_LegendEntry::CT_LegendEntry() { m_idx = NULL; @@ -2250,17 +2268,8 @@ namespace OOX{ delete m_val; } void CT_UnsignedInt::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - unsigned long* pNewElem = new unsigned long; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -2278,6 +2287,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_UnsignedInt::getType(){return et_ct_unsignedint;} + void CT_UnsignedInt::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + unsigned long* pNewElem = new unsigned long; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_Extension::CT_Extension() { m_Any = NULL; @@ -2291,15 +2311,8 @@ namespace OOX{ delete m_uri; } void CT_Extension::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("uri") == wsName) - { - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_uri = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + if ( oReader.IsEmptyNode() ) return; int nParentDepth = oReader.GetDepth(); @@ -2343,6 +2356,17 @@ namespace OOX{ writer.WriteString(CString(_T(">"))); } EElementType CT_Extension::getType(){return et_ct_extension;} + void CT_Extension::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("uri") == wsName) + { + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_uri = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_LegendPos::CT_LegendPos() { /*m_val = new ST_LegendPos; @@ -2355,18 +2379,8 @@ namespace OOX{ delete m_val; } void CT_LegendPos::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_LegendPos* pNewElem = new ST_LegendPos; - ST_LegendPos eVal; - if(FromXml_ST_LegendPos(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -2386,6 +2400,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_LegendPos::getType(){return et_ct_legendpos;} + void CT_LegendPos::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_LegendPos* pNewElem = new ST_LegendPos; + ST_LegendPos eVal; + if(FromXml_ST_LegendPos(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_Legend::CT_Legend() { m_legendPos = NULL; @@ -2725,18 +2751,8 @@ namespace OOX{ delete m_val; } void CT_LayoutTarget::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_LayoutTarget* pNewElem = new ST_LayoutTarget; - ST_LayoutTarget eVal; - if(FromXml_ST_LayoutTarget(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -2756,6 +2772,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_LayoutTarget::getType(){return et_ct_layouttarget;} + void CT_LayoutTarget::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_LayoutTarget* pNewElem = new ST_LayoutTarget; + ST_LayoutTarget eVal; + if(FromXml_ST_LayoutTarget(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_LayoutMode::CT_LayoutMode() { /*m_val = new ST_LayoutMode; @@ -2768,18 +2796,8 @@ namespace OOX{ delete m_val; } void CT_LayoutMode::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_LayoutMode* pNewElem = new ST_LayoutMode; - ST_LayoutMode eVal; - if(FromXml_ST_LayoutMode(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -2799,6 +2817,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_LayoutMode::getType(){return et_ct_layoutmode;} + void CT_LayoutMode::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_LayoutMode* pNewElem = new ST_LayoutMode; + ST_LayoutMode eVal; + if(FromXml_ST_LayoutMode(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_Double::CT_Double() { m_val = NULL; @@ -2809,17 +2839,8 @@ namespace OOX{ delete m_val; } void CT_Double::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - double* pNewElem = new double; - CString sVal = oReader.GetText(); - *pNewElem = _tstof(sVal); - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -2837,6 +2858,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_Double::getType(){return et_ct_double;} + void CT_Double::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + double* pNewElem = new double; + CString sVal = oReader.GetText(); + *pNewElem = _tstof(sVal); + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_DTable::CT_DTable() { m_showHorzBorder = NULL; @@ -3330,17 +3362,8 @@ namespace OOX{ delete m_val; } void CT_LogBase::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - double* pNewElem = new double; - CString sVal = oReader.GetText(); - *pNewElem = _tstof(sVal); - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -3358,6 +3381,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_LogBase::getType(){return et_ct_logbase;} + void CT_LogBase::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + double* pNewElem = new double; + CString sVal = oReader.GetText(); + *pNewElem = _tstof(sVal); + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_Orientation::CT_Orientation() { /*m_val = new ST_Orientation; @@ -3370,18 +3404,8 @@ namespace OOX{ delete m_val; } void CT_Orientation::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_Orientation* pNewElem = new ST_Orientation; - ST_Orientation eVal; - if(FromXml_ST_Orientation(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -3401,6 +3425,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_Orientation::getType(){return et_ct_orientation;} + void CT_Orientation::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_Orientation* pNewElem = new ST_Orientation; + ST_Orientation eVal; + if(FromXml_ST_Orientation(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_AxPos::CT_AxPos() { m_val = NULL; @@ -3411,18 +3447,8 @@ namespace OOX{ delete m_val; } void CT_AxPos::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_AxPos* pNewElem = new ST_AxPos; - ST_AxPos eVal; - if(FromXml_ST_AxPos(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -3442,6 +3468,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_AxPos::getType(){return et_ct_axpos;} + void CT_AxPos::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_AxPos* pNewElem = new ST_AxPos; + ST_AxPos eVal; + if(FromXml_ST_AxPos(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_ChartLines::CT_ChartLines() { m_spPr = NULL; @@ -3812,15 +3850,8 @@ namespace OOX{ delete m_idx; } void CT_StrVal::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("idx") == wsName) - { - unsigned long* pNewElem = new unsigned long; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_idx = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + if ( oReader.IsEmptyNode() ) return; int nParentDepth = oReader.GetDepth(); @@ -3864,6 +3895,17 @@ namespace OOX{ writer.WriteString(CString(_T(">"))); } EElementType CT_StrVal::getType(){return et_ct_strval;} + void CT_StrVal::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("idx") == wsName) + { + unsigned long* pNewElem = new unsigned long; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_idx = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_NumFmt::CT_NumFmt() { m_formatCode = NULL; @@ -3877,28 +3919,8 @@ namespace OOX{ delete m_sourceLinked; } void CT_NumFmt::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("formatCode") == wsName) - { - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_formatCode = pNewElem; - } - else if(_T("sourceLinked") == wsName) - { - bool* pNewElem = new bool; - CString sVal = oReader.GetText(); - CString sValLower = sVal.MakeLower(); - if(_T("false") == sValLower || _T("0") == sValLower || _T("off") == sValLower) - *pNewElem = false; - else - *pNewElem = true; - m_sourceLinked = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -3927,6 +3949,28 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_NumFmt::getType(){return et_ct_numfmt;} + void CT_NumFmt::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("formatCode") == wsName) + { + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_formatCode = pNewElem; + } + else if(_T("sourceLinked") == wsName) + { + bool* pNewElem = new bool; + CString sVal = oReader.GetText(); + CString sValLower = sVal.MakeLower(); + if(_T("false") == sValLower || _T("0") == sValLower || _T("off") == sValLower) + *pNewElem = false; + else + *pNewElem = true; + m_sourceLinked = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_TickMark::CT_TickMark() { /*m_val = new ST_TickMark; @@ -3939,18 +3983,8 @@ namespace OOX{ delete m_val; } void CT_TickMark::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_TickMark* pNewElem = new ST_TickMark; - ST_TickMark eVal; - if(FromXml_ST_TickMark(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -3970,6 +4004,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_TickMark::getType(){return et_ct_tickmark;} + void CT_TickMark::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_TickMark* pNewElem = new ST_TickMark; + ST_TickMark eVal; + if(FromXml_ST_TickMark(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_TickLblPos::CT_TickLblPos() { /*m_val = new ST_TickLblPos; @@ -3982,18 +4028,8 @@ namespace OOX{ delete m_val; } void CT_TickLblPos::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_TickLblPos* pNewElem = new ST_TickLblPos; - ST_TickLblPos eVal; - if(FromXml_ST_TickLblPos(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -4013,6 +4049,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_TickLblPos::getType(){return et_ct_ticklblpos;} + void CT_TickLblPos::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_TickLblPos* pNewElem = new ST_TickLblPos; + ST_TickLblPos eVal; + if(FromXml_ST_TickLblPos(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_Crosses::CT_Crosses() { m_val = NULL; @@ -4023,18 +4071,8 @@ namespace OOX{ delete m_val; } void CT_Crosses::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_Crosses* pNewElem = new ST_Crosses; - ST_Crosses eVal; - if(FromXml_ST_Crosses(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -4054,6 +4092,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_Crosses::getType(){return et_ct_crosses;} + void CT_Crosses::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_Crosses* pNewElem = new ST_Crosses; + ST_Crosses eVal; + if(FromXml_ST_Crosses(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_Skip::CT_Skip() { m_val = NULL; @@ -4064,17 +4114,8 @@ namespace OOX{ delete m_val; } void CT_Skip::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - unsigned long* pNewElem = new unsigned long; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -4092,6 +4133,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_Skip::getType(){return et_ct_skip;} + void CT_Skip::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + unsigned long* pNewElem = new unsigned long; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_TimeUnit::CT_TimeUnit() { /*m_val = new ST_TimeUnit; @@ -4104,18 +4156,8 @@ namespace OOX{ delete m_val; } void CT_TimeUnit::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_TimeUnit* pNewElem = new ST_TimeUnit; - ST_TimeUnit eVal; - if(FromXml_ST_TimeUnit(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -4135,6 +4177,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_TimeUnit::getType(){return et_ct_timeunit;} + void CT_TimeUnit::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_TimeUnit* pNewElem = new ST_TimeUnit; + ST_TimeUnit eVal; + if(FromXml_ST_TimeUnit(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_DateAx::CT_DateAx() { m_axId = NULL; @@ -4490,17 +4544,8 @@ namespace OOX{ delete m_val; } void CT_LblOffset::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -4518,6 +4563,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_LblOffset::getType(){return et_ct_lbloffset;} + void CT_LblOffset::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_AxisUnit::CT_AxisUnit() { m_val = NULL; @@ -4528,17 +4584,8 @@ namespace OOX{ delete m_val; } void CT_AxisUnit::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - double* pNewElem = new double; - CString sVal = oReader.GetText(); - *pNewElem = _tstof(sVal); - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -4556,6 +4603,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_AxisUnit::getType(){return et_ct_axisunit;} + void CT_AxisUnit::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + double* pNewElem = new double; + CString sVal = oReader.GetText(); + *pNewElem = _tstof(sVal); + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_LblAlgn::CT_LblAlgn() { m_val = NULL; @@ -4566,18 +4624,8 @@ namespace OOX{ delete m_val; } void CT_LblAlgn::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_LblAlgn* pNewElem = new ST_LblAlgn; - ST_LblAlgn eVal; - if(FromXml_ST_LblAlgn(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -4597,6 +4645,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_LblAlgn::getType(){return et_ct_lblalgn;} + void CT_LblAlgn::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_LblAlgn* pNewElem = new ST_LblAlgn; + ST_LblAlgn eVal; + if(FromXml_ST_LblAlgn(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_CatAx::CT_CatAx() { m_axId = NULL; @@ -5016,18 +5076,8 @@ namespace OOX{ delete m_val; } void CT_BuiltInUnit::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_BuiltInUnit* pNewElem = new ST_BuiltInUnit; - ST_BuiltInUnit eVal; - if(FromXml_ST_BuiltInUnit(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -5047,6 +5097,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_BuiltInUnit::getType(){return et_ct_builtinunit;} + void CT_BuiltInUnit::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_BuiltInUnit* pNewElem = new ST_BuiltInUnit; + ST_BuiltInUnit eVal; + if(FromXml_ST_BuiltInUnit(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_DispUnits::CT_DispUnits() { m_builtInUnit = NULL; @@ -5133,18 +5195,8 @@ namespace OOX{ delete m_val; } void CT_CrossBetween::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_CrossBetween* pNewElem = new ST_CrossBetween; - ST_CrossBetween eVal; - if(FromXml_ST_CrossBetween(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -5164,6 +5216,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_CrossBetween::getType(){return et_ct_crossbetween;} + void CT_CrossBetween::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_CrossBetween* pNewElem = new ST_CrossBetween; + ST_CrossBetween eVal; + if(FromXml_ST_CrossBetween(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_ValAx::CT_ValAx() { m_axId = NULL; @@ -5477,18 +5541,8 @@ namespace OOX{ delete m_val; } void CT_SizeRepresents::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_SizeRepresents* pNewElem = new ST_SizeRepresents; - ST_SizeRepresents eVal; - if(FromXml_ST_SizeRepresents(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -5508,6 +5562,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_SizeRepresents::getType(){return et_ct_sizerepresents;} + void CT_SizeRepresents::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_SizeRepresents* pNewElem = new ST_SizeRepresents; + ST_SizeRepresents eVal; + if(FromXml_ST_SizeRepresents(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_BubbleScale::CT_BubbleScale() { /*m_val = new CString; @@ -5523,17 +5589,8 @@ namespace OOX{ delete m_val; } void CT_BubbleScale::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -5551,6 +5608,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_BubbleScale::getType(){return et_ct_bubblescale;} + void CT_BubbleScale::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_BubbleSer::CT_BubbleSer() { m_idx = NULL; @@ -6047,18 +6115,8 @@ namespace OOX{ delete m_val; } void CT_MarkerStyle::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_MarkerStyle* pNewElem = new ST_MarkerStyle; - ST_MarkerStyle eVal; - if(FromXml_ST_MarkerStyle(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -6078,6 +6136,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_MarkerStyle::getType(){return et_ct_markerstyle;} + void CT_MarkerStyle::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_MarkerStyle* pNewElem = new ST_MarkerStyle; + ST_MarkerStyle eVal; + if(FromXml_ST_MarkerStyle(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_MarkerSize::CT_MarkerSize() { /*m_val = new unsigned char; @@ -6093,17 +6163,8 @@ namespace OOX{ delete m_val; } void CT_MarkerSize::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - unsigned char* pNewElem = new unsigned char; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -6121,6 +6182,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_MarkerSize::getType(){return et_ct_markersize;} + void CT_MarkerSize::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + unsigned char* pNewElem = new unsigned char; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_PictureOptions::CT_PictureOptions() { m_applyToFront = NULL; @@ -6220,18 +6292,8 @@ namespace OOX{ delete m_val; } void CT_PictureFormat::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_PictureFormat* pNewElem = new ST_PictureFormat; - ST_PictureFormat eVal; - if(FromXml_ST_PictureFormat(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -6251,6 +6313,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_PictureFormat::getType(){return et_ct_pictureformat;} + void CT_PictureFormat::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_PictureFormat* pNewElem = new ST_PictureFormat; + ST_PictureFormat eVal; + if(FromXml_ST_PictureFormat(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_PictureStackUnit::CT_PictureStackUnit() { m_val = NULL; @@ -6261,17 +6335,8 @@ namespace OOX{ delete m_val; } void CT_PictureStackUnit::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - double* pNewElem = new double; - CString sVal = oReader.GetText(); - *pNewElem = _tstof(sVal); - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -6289,6 +6354,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_PictureStackUnit::getType(){return et_ct_picturestackunit;} + void CT_PictureStackUnit::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + double* pNewElem = new double; + CString sVal = oReader.GetText(); + *pNewElem = _tstof(sVal); + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_DLbls::CT_DLbls() { m_extLst = NULL; @@ -6987,18 +7063,8 @@ namespace OOX{ delete m_val; } void CT_DLblPos::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_DLblPos* pNewElem = new ST_DLblPos; - ST_DLblPos eVal; - if(FromXml_ST_DLblPos(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -7018,6 +7084,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_DLblPos::getType(){return et_ct_dlblpos;} + void CT_DLblPos::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_DLblPos* pNewElem = new ST_DLblPos; + ST_DLblPos eVal; + if(FromXml_ST_DLblPos(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_Trendline::CT_Trendline() { m_name = NULL; @@ -7220,18 +7298,8 @@ namespace OOX{ delete m_val; } void CT_TrendlineType::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_TrendlineType* pNewElem = new ST_TrendlineType; - ST_TrendlineType eVal; - if(FromXml_ST_TrendlineType(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -7251,6 +7319,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_TrendlineType::getType(){return et_ct_trendlinetype;} + void CT_TrendlineType::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_TrendlineType* pNewElem = new ST_TrendlineType; + ST_TrendlineType eVal; + if(FromXml_ST_TrendlineType(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_Order::CT_Order() { /*m_val = new unsigned char; @@ -7266,17 +7346,8 @@ namespace OOX{ delete m_val; } void CT_Order::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - unsigned char* pNewElem = new unsigned char; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -7294,6 +7365,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_Order::getType(){return et_ct_order;} + void CT_Order::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + unsigned char* pNewElem = new unsigned char; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_Period::CT_Period() { /*m_val = new unsigned long; @@ -7309,17 +7391,8 @@ namespace OOX{ delete m_val; } void CT_Period::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - unsigned long* pNewElem = new unsigned long; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -7337,6 +7410,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_Period::getType(){return et_ct_period;} + void CT_Period::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + unsigned long* pNewElem = new unsigned long; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_TrendlineLbl::CT_TrendlineLbl() { m_layout = NULL; @@ -7596,18 +7680,8 @@ namespace OOX{ delete m_val; } void CT_ErrDir::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_ErrDir* pNewElem = new ST_ErrDir; - ST_ErrDir eVal; - if(FromXml_ST_ErrDir(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -7627,6 +7701,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_ErrDir::getType(){return et_ct_errdir;} + void CT_ErrDir::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_ErrDir* pNewElem = new ST_ErrDir; + ST_ErrDir eVal; + if(FromXml_ST_ErrDir(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_ErrBarType::CT_ErrBarType() { /*m_val = new ST_ErrBarType; @@ -7639,18 +7725,8 @@ namespace OOX{ delete m_val; } void CT_ErrBarType::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_ErrBarType* pNewElem = new ST_ErrBarType; - ST_ErrBarType eVal; - if(FromXml_ST_ErrBarType(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -7670,6 +7746,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_ErrBarType::getType(){return et_ct_errbartype;} + void CT_ErrBarType::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_ErrBarType* pNewElem = new ST_ErrBarType; + ST_ErrBarType eVal; + if(FromXml_ST_ErrBarType(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_ErrValType::CT_ErrValType() { /*m_val = new ST_ErrValType; @@ -7682,18 +7770,8 @@ namespace OOX{ delete m_val; } void CT_ErrValType::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_ErrValType* pNewElem = new ST_ErrValType; - ST_ErrValType eVal; - if(FromXml_ST_ErrValType(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -7713,6 +7791,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_ErrValType::getType(){return et_ct_errvaltype;} + void CT_ErrValType::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_ErrValType* pNewElem = new ST_ErrValType; + ST_ErrValType eVal; + if(FromXml_ST_ErrValType(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_NumDataSource::CT_NumDataSource() { m_numLit = NULL; @@ -7867,22 +7957,8 @@ namespace OOX{ delete m_formatCode; } void CT_NumVal::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("idx") == wsName) - { - unsigned long* pNewElem = new unsigned long; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_idx = pNewElem; - } - else if(_T("formatCode") == wsName) - { - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_formatCode = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + if ( oReader.IsEmptyNode() ) return; int nParentDepth = oReader.GetDepth(); @@ -7934,6 +8010,24 @@ namespace OOX{ writer.WriteString(CString(_T(">"))); } EElementType CT_NumVal::getType(){return et_ct_numval;} + void CT_NumVal::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("idx") == wsName) + { + unsigned long* pNewElem = new unsigned long; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_idx = pNewElem; + } + else if(_T("formatCode") == wsName) + { + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_formatCode = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_NumRef::CT_NumRef() { m_f = NULL; @@ -8841,17 +8935,8 @@ namespace OOX{ delete m_val; } void CT_SecondPieSize::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -8869,6 +8954,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_SecondPieSize::getType(){return et_ct_secondpiesize;} + void CT_SecondPieSize::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_SplitType::CT_SplitType() { /*m_val = new ST_SplitType; @@ -8881,18 +8977,8 @@ namespace OOX{ delete m_val; } void CT_SplitType::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_SplitType* pNewElem = new ST_SplitType; - ST_SplitType eVal; - if(FromXml_ST_SplitType(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -8912,6 +8998,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_SplitType::getType(){return et_ct_splittype;} + void CT_SplitType::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_SplitType* pNewElem = new ST_SplitType; + ST_SplitType eVal; + if(FromXml_ST_SplitType(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_OfPieType::CT_OfPieType() { /*m_val = new ST_OfPieType; @@ -8924,18 +9022,8 @@ namespace OOX{ delete m_val; } void CT_OfPieType::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_OfPieType* pNewElem = new ST_OfPieType; - ST_OfPieType eVal; - if(FromXml_ST_OfPieType(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -8955,6 +9043,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_OfPieType::getType(){return et_ct_ofpietype;} + void CT_OfPieType::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_OfPieType* pNewElem = new ST_OfPieType; + ST_OfPieType eVal; + if(FromXml_ST_OfPieType(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_custSplit::CT_custSplit() { } @@ -9346,17 +9446,8 @@ namespace OOX{ delete m_val; } void CT_GapAmount::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -9374,6 +9465,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_GapAmount::getType(){return et_ct_gapamount;} + void CT_GapAmount::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_Bar3DChart::CT_Bar3DChart() { m_barDir = NULL; @@ -9548,18 +9650,8 @@ namespace OOX{ delete m_val; } void CT_BarDir::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_BarDir* pNewElem = new ST_BarDir; - ST_BarDir eVal; - if(FromXml_ST_BarDir(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -9579,6 +9671,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_BarDir::getType(){return et_ct_bardir;} + void CT_BarDir::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_BarDir* pNewElem = new ST_BarDir; + ST_BarDir eVal; + if(FromXml_ST_BarDir(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_BarGrouping::CT_BarGrouping() { /*m_val = new ST_BarGrouping; @@ -9591,18 +9695,8 @@ namespace OOX{ delete m_val; } void CT_BarGrouping::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_BarGrouping* pNewElem = new ST_BarGrouping; - ST_BarGrouping eVal; - if(FromXml_ST_BarGrouping(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -9622,6 +9716,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_BarGrouping::getType(){return et_ct_bargrouping;} + void CT_BarGrouping::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_BarGrouping* pNewElem = new ST_BarGrouping; + ST_BarGrouping eVal; + if(FromXml_ST_BarGrouping(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_BarSer::CT_BarSer() { m_idx = NULL; @@ -9850,18 +9956,8 @@ namespace OOX{ delete m_val; } void CT_Shape::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_Shape* pNewElem = new ST_Shape; - ST_Shape eVal; - if(FromXml_ST_Shape(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -9881,6 +9977,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_Shape::getType(){return et_ct_shape;} + void CT_Shape::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_Shape* pNewElem = new ST_Shape; + ST_Shape eVal; + if(FromXml_ST_Shape(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_Overlap::CT_Overlap() { /*m_val = new CString; @@ -9896,17 +10004,8 @@ namespace OOX{ delete m_val; } void CT_Overlap::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -9924,6 +10023,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_Overlap::getType(){return et_ct_overlap;} + void CT_Overlap::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_BarChart::CT_BarChart() { m_barDir = NULL; @@ -10105,17 +10215,8 @@ namespace OOX{ delete m_val; } void CT_HoleSize::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -10133,6 +10234,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_HoleSize::getType(){return et_ct_holesize;} + void CT_HoleSize::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_DoughnutChart::CT_DoughnutChart() { m_varyColors = NULL; @@ -10254,17 +10366,8 @@ namespace OOX{ delete m_val; } void CT_FirstSliceAng::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - unsigned long* pNewElem = new unsigned long; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -10282,6 +10385,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_FirstSliceAng::getType(){return et_ct_firstsliceang;} + void CT_FirstSliceAng::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + unsigned long* pNewElem = new unsigned long; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_Pie3DChart::CT_Pie3DChart() { m_varyColors = NULL; @@ -10674,18 +10788,8 @@ namespace OOX{ delete m_val; } void CT_ScatterStyle::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_ScatterStyle* pNewElem = new ST_ScatterStyle; - ST_ScatterStyle eVal; - if(FromXml_ST_ScatterStyle(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -10705,6 +10809,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_ScatterStyle::getType(){return et_ct_scatterstyle;} + void CT_ScatterStyle::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_ScatterStyle* pNewElem = new ST_ScatterStyle; + ST_ScatterStyle eVal; + if(FromXml_ST_ScatterStyle(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_ScatterChart::CT_ScatterChart() { m_scatterStyle = NULL; @@ -10987,18 +11103,8 @@ namespace OOX{ delete m_val; } void CT_RadarStyle::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_RadarStyle* pNewElem = new ST_RadarStyle; - ST_RadarStyle eVal; - if(FromXml_ST_RadarStyle(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -11018,6 +11124,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_RadarStyle::getType(){return et_ct_radarstyle;} + void CT_RadarStyle::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_RadarStyle* pNewElem = new ST_RadarStyle; + ST_RadarStyle eVal; + if(FromXml_ST_RadarStyle(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_RadarChart::CT_RadarChart() { m_radarStyle = NULL; @@ -11717,18 +11835,8 @@ namespace OOX{ delete m_val; } void CT_Grouping::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - ST_Grouping* pNewElem = new ST_Grouping; - ST_Grouping eVal; - if(FromXml_ST_Grouping(CString(oReader.GetText()), eVal)) - *pNewElem = eVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -11748,6 +11856,18 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_Grouping::getType(){return et_ct_grouping;} + void CT_Grouping::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + ST_Grouping* pNewElem = new ST_Grouping; + ST_Grouping eVal; + if(FromXml_ST_Grouping(CString(oReader.GetText()), eVal)) + *pNewElem = eVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_LineChart::CT_LineChart() { m_grouping = NULL; @@ -12876,17 +12996,8 @@ namespace OOX{ delete m_val; } void CT_Thickness::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -12904,6 +13015,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_Thickness::getType(){return et_ct_thickness;} + void CT_Thickness::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_Surface::CT_Surface() { m_thickness = NULL; @@ -12997,17 +13119,8 @@ namespace OOX{ delete m_val; } void CT_Perspective::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - unsigned char* pNewElem = new unsigned char; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -13025,6 +13138,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_Perspective::getType(){return et_ct_perspective;} + void CT_Perspective::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + unsigned char* pNewElem = new unsigned char; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_DepthPercent::CT_DepthPercent() { /*m_val = new CString; @@ -13040,17 +13164,8 @@ namespace OOX{ delete m_val; } void CT_DepthPercent::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -13068,6 +13183,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_DepthPercent::getType(){return et_ct_depthpercent;} + void CT_DepthPercent::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_RotY::CT_RotY() { /*m_val = new unsigned long; @@ -13083,17 +13209,8 @@ namespace OOX{ delete m_val; } void CT_RotY::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - unsigned long* pNewElem = new unsigned long; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -13111,6 +13228,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_RotY::getType(){return et_ct_roty;} + void CT_RotY::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + unsigned long* pNewElem = new unsigned long; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_HPercent::CT_HPercent() { /*m_val = new CString; @@ -13126,17 +13254,8 @@ namespace OOX{ delete m_val; } void CT_HPercent::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -13154,6 +13273,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_HPercent::getType(){return et_ct_hpercent;} + void CT_HPercent::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_RotX::CT_RotX() { /*m_val = new char; @@ -13169,17 +13299,8 @@ namespace OOX{ delete m_val; } void CT_RotX::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - char* pNewElem = new char; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -13197,6 +13318,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_RotX::getType(){return et_ct_rotx;} + void CT_RotX::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + char* pNewElem = new char; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_View3D::CT_View3D() { m_rotX = NULL; @@ -13826,17 +13958,8 @@ namespace OOX{ delete m_val; } void CT_Style1::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - unsigned char* pNewElem = new unsigned char; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -13854,6 +13977,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_Style1::getType(){return et_ct_style1;} + void CT_Style1::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + unsigned char* pNewElem = new unsigned char; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_Style::CT_Style() { m_val = NULL; @@ -13864,17 +13998,8 @@ namespace OOX{ delete m_val; } void CT_Style::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - unsigned char* pNewElem = new unsigned char; - CString sVal = oReader.GetText(); - *pNewElem = _ttoi(sVal); - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -13892,6 +14017,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_Style::getType(){return et_ct_style;} + void CT_Style::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + unsigned char* pNewElem = new unsigned char; + CString sVal = oReader.GetText(); + *pNewElem = _ttoi(sVal); + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } CT_TextLanguageID::CT_TextLanguageID() { m_val = NULL; @@ -13902,17 +14038,8 @@ namespace OOX{ delete m_val; } void CT_TextLanguageID::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("val") == wsName) - { - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_val = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) - if ( oReader.IsEmptyNode() ) - return; + ReadAttributes(oReader); + if(!oReader.IsEmptyNode()) oReader.ReadTillEnd(); } @@ -13930,6 +14057,17 @@ namespace OOX{ writer.WriteString(CString(_T("/>"))); } EElementType CT_TextLanguageID::getType(){return et_ct_textlanguageid;} + void CT_TextLanguageID::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("val") == wsName) + { + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_val = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } AlternateContent::AlternateContent() { m_Fallback = NULL; @@ -13997,15 +14135,8 @@ namespace OOX{ delete m_Requires; } void AlternateContentChoice::fromXML(XmlUtils::CXmlLiteReader& oReader){ - WritingElement_ReadAttributes_Start_No_NS( oReader ) - if(_T("Requires") == wsName) - { - CString* pNewElem = new CString; - CString sVal = oReader.GetText(); - *pNewElem = sVal; - m_Requires = pNewElem; - } - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + if ( oReader.IsEmptyNode() ) return; int nParentDepth = oReader.GetDepth(); @@ -14041,6 +14172,17 @@ namespace OOX{ writer.WriteString(CString(_T(">"))); } EElementType AlternateContentChoice::getType(){return et_alternatecontentchoice;} + void AlternateContentChoice::ReadAttributes(XmlUtils::CXmlLiteReader& oReader){ + WritingElement_ReadAttributes_Start_No_NS( oReader ) + if(_T("Requires") == wsName) + { + CString* pNewElem = new CString; + CString sVal = oReader.GetText(); + *pNewElem = sVal; + m_Requires = pNewElem; + } + WritingElement_ReadAttributes_End( oReader ) + } AlternateContentFallback::AlternateContentFallback() { m_style = NULL; diff --git a/Common/DocxFormat/Source/XlsxFormat/Chart/ChartSerialize.h b/Common/DocxFormat/Source/XlsxFormat/Chart/ChartSerialize.h index 8260585edb..a0a05059eb 100644 --- a/Common/DocxFormat/Source/XlsxFormat/Chart/ChartSerialize.h +++ b/Common/DocxFormat/Source/XlsxFormat/Chart/ChartSerialize.h @@ -482,6 +482,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_RelId { @@ -493,6 +494,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_PageSetup { @@ -524,6 +526,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_PageMargins { @@ -545,6 +548,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_HeaderFooter { @@ -572,6 +576,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_PrintSettings { @@ -600,6 +605,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_DispBlanksAs { @@ -611,6 +617,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_LegendEntry { @@ -639,6 +646,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_Extension { @@ -652,6 +660,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_LegendPos { @@ -663,6 +672,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_Legend { @@ -735,6 +745,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_LayoutMode { @@ -746,6 +757,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_Double { @@ -757,6 +769,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_DTable { @@ -840,6 +853,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_Orientation { @@ -851,6 +865,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_AxPos { @@ -862,6 +877,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_ChartLines { @@ -1061,6 +1077,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_NumFmt { @@ -1074,6 +1091,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_TickMark { @@ -1085,6 +1103,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_TickLblPos { @@ -1096,6 +1115,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_Crosses { @@ -1107,6 +1127,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_Skip { @@ -1118,6 +1139,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_TimeUnit { @@ -1129,6 +1151,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_DateAx { @@ -1198,6 +1221,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_AxisUnit { @@ -1209,6 +1233,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_LblAlgn { @@ -1220,6 +1245,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_CatAx { @@ -1305,6 +1331,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_DispUnits { @@ -1333,6 +1360,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_ValAx { @@ -1396,6 +1424,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_BubbleScale { @@ -1407,6 +1436,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_BubbleSer { @@ -1513,6 +1543,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_MarkerSize { @@ -1524,6 +1555,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_PictureOptions { @@ -1554,6 +1586,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_PictureStackUnit { @@ -1565,6 +1598,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_DLbls { @@ -1612,6 +1646,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_Trendline { @@ -1657,6 +1692,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_Order { @@ -1668,6 +1704,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_Period { @@ -1679,6 +1716,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_TrendlineLbl { @@ -1738,6 +1776,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_ErrBarType { @@ -1749,6 +1788,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_ErrValType { @@ -1760,6 +1800,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_NumDataSource { @@ -1805,6 +1846,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_NumRef { @@ -2005,6 +2047,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_SplitType { @@ -2016,6 +2059,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_OfPieType { @@ -2027,6 +2071,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_custSplit { @@ -2110,6 +2155,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_Bar3DChart { @@ -2150,6 +2196,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_BarGrouping { @@ -2161,6 +2208,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_BarSer { @@ -2210,6 +2258,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_Overlap { @@ -2221,6 +2270,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_BarChart { @@ -2261,6 +2311,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_DoughnutChart { @@ -2293,6 +2344,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_Pie3DChart { @@ -2376,6 +2428,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_ScatterChart { @@ -2438,6 +2491,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_RadarChart { @@ -2583,6 +2637,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_LineChart { @@ -2735,6 +2790,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_Surface { @@ -2764,6 +2820,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_DepthPercent { @@ -2775,6 +2832,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_RotY { @@ -2786,6 +2844,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_HPercent { @@ -2797,6 +2856,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_RotX { @@ -2808,6 +2868,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_View3D { @@ -2943,6 +3004,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_Style { @@ -2954,6 +3016,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class CT_TextLanguageID { @@ -2965,6 +3028,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class AlternateContent { @@ -2991,6 +3055,7 @@ namespace OOX{ void fromXML(XmlUtils::CXmlLiteReader& oReader); void toXML(CString& sNodeName, XmlUtils::CStringWriter& writer) const; EElementType getType(); + private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); }; class AlternateContentFallback { diff --git a/Common/DocxFormat/Source/XlsxFormat/ComplexTypes_Spreadsheet.h b/Common/DocxFormat/Source/XlsxFormat/ComplexTypes_Spreadsheet.h index 65c781c722..21c2bd24a9 100644 --- a/Common/DocxFormat/Source/XlsxFormat/ComplexTypes_Spreadsheet.h +++ b/Common/DocxFormat/Source/XlsxFormat/ComplexTypes_Spreadsheet.h @@ -68,10 +68,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -86,7 +86,15 @@ namespace ComplexTypes return sResult; } + private: + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: nullable > m_oVal; @@ -108,10 +116,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_sVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -135,6 +143,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_sVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -157,10 +174,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -175,6 +192,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -197,10 +223,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -215,6 +241,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -237,10 +272,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -255,6 +290,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -277,10 +321,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -295,6 +339,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -317,10 +370,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -335,6 +388,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -357,10 +419,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -375,6 +437,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -397,10 +468,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -415,6 +486,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: @@ -437,10 +517,10 @@ namespace ComplexTypes } virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты - WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) - WritingElement_ReadAttributes_End( oReader ) + ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual CString ToString() const { @@ -455,6 +535,15 @@ namespace ComplexTypes return sResult; } + private: + + void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) + { + // Читаем атрибуты + WritingElement_ReadAttributes_Start( oReader ) + WritingElement_ReadAttributes_ReadSingle( oReader, _T("val"), m_oVal ) + WritingElement_ReadAttributes_End( oReader ) + } public: diff --git a/Common/DocxFormat/Source/XlsxFormat/Worksheets/ConditionalFormatting.h b/Common/DocxFormat/Source/XlsxFormat/Worksheets/ConditionalFormatting.h index 309212f265..71bf81ab18 100644 --- a/Common/DocxFormat/Source/XlsxFormat/Worksheets/ConditionalFormatting.h +++ b/Common/DocxFormat/Source/XlsxFormat/Worksheets/ConditionalFormatting.h @@ -50,6 +50,9 @@ namespace OOX virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) { ReadAttributes(oReader); + + if ( !oReader.IsEmptyNode() ) + oReader.ReadTillEnd(); } virtual EElementType getType () const