#ifndef NUMBERING_WRITER #define NUMBERING_WRITER #include "ContentTypesWriter.h" #include "DocumentRelsWriter.h" namespace Writers { static CString g_string_n_Start = _T(""); static CString g_string_n_End = _T(""); class NumberingWriter { XmlUtils::CStringWriter m_oWriter; CString m_sDir; ContentTypesWriter& m_oContentTypesWriter; public: XmlUtils::CStringWriter m_oANum; XmlUtils::CStringWriter m_oNumList; public: NumberingWriter(CString sDir, ContentTypesWriter& oContentTypesWriter):m_sDir(sDir),m_oContentTypesWriter(oContentTypesWriter) { } bool IsEmpty() { return 0 == m_oANum.GetCurSize(); } void Write() { if(false == IsEmpty()) { m_oWriter.WriteString(g_string_n_Start); m_oWriter.Write(m_oANum); m_oWriter.Write(m_oNumList); m_oWriter.WriteString(g_string_n_End); OOX::CPath filePath = m_sDir + FILE_SEPARATOR_STR +_T("word") + FILE_SEPARATOR_STR + _T("numbering.xml"); CFile oFile; oFile.CreateFile(filePath.GetPath()); oFile.WriteStringUTF8(m_oWriter.GetData()); oFile.CloseFile(); //ContentType m_oContentTypesWriter.AddOverride(CString(_T("/word/numbering.xml")), CString(_T("application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml"))); //Rels //m_oDocumentRelsWriter.AddRels(_T("http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering"), _T("numbering.xml")); } } }; } #endif // #ifndef NUMBERING_WRITER