This commit is contained in:
Elena Subbotina
2025-11-28 15:02:03 +03:00
parent 78aae7e9d0
commit 0be867c47d
4 changed files with 24 additions and 4 deletions

View File

@ -171,7 +171,18 @@ namespace OOX
{
if (L"datastoreItem" == XmlUtils::GetNameNoNS(oNode.GetName()));
{
m_oItemID = oNode.ReadAttribute(L"ds:itemID");
std::wstring id = oNode.ReadAttribute(L"ds:itemID");
if (false == id.empty())
{
if (id[0] != L'{' && id.size() == 36)
{
id = L"{" + id + L"}";
}
if (false == m_oItemID.FromString(id))
{
_CP_LOG << L"[error] guid (" << id << L")" << std::endl;
}
}
XmlUtils::CXmlNode oItem;
if (oNode.GetNode(L"ds:schemaRefs", oItem))

View File

@ -1515,6 +1515,10 @@ namespace OOX
}
else if (L"complexFormPr" == sName)
m_oComplexFormPr = oReader;
else if (L"repeatingSection" == sName)
m_oRepeatingSection = true;
else if (L"repeatingSectionItem" == sName)
m_oRepeatingSectionItem = true;
}
}
std::wstring CSdtPr::toXMLStart() const
@ -1534,7 +1538,7 @@ namespace OOX
if (m_oDataBinding.IsInit())
{
if (m_oDataBinding->m_sStoreItemChecksum.IsInit())
if (m_oDataBinding->m_sStoreItemChecksum.IsInit() || m_oRepeatingSectionItem.IsInit() || m_oRepeatingSection.IsInit())
{
WritingElement_WriteNode_1(L"<w15:dataBinding", m_oDataBinding);
}
@ -1543,6 +1547,9 @@ namespace OOX
WritingElement_WriteNode_1(L"<w:dataBinding", m_oDataBinding);
}
}
if (m_oRepeatingSection.IsInit()) sResult += L"<w15:repeatingSection/>";
else if (m_oRepeatingSectionItem.IsInit()) sResult += L"<w15:repeatingSectionItem/>";
WritingElement_WriteNode_1(L"<w:temporary ", m_oTemporary);
WritingElement_WriteNode_1(L"<w:tag ", m_oTag);

View File

@ -86,7 +86,6 @@ namespace ComplexTypes
nullable_string m_sXPath;
//ext w15
nullable_string m_sStoreItemChecksum;
};
//--------------------------------------------------------------------------------
@ -577,7 +576,9 @@ namespace OOX
nullable<ComplexTypes::Word::String> m_oTag;
nullable<ComplexTypes::Word::COnOff2> m_oTemporary;
nullable<ComplexTypes::Word::CSdtText> m_oText;
nullable<CSdtCheckBox> m_oCheckbox;
nullable<CSdtCheckBox> m_oCheckbox;
nullable_bool m_oRepeatingSectionItem;
nullable_bool m_oRepeatingSection;
nullable<CFormPr> m_oFormPr; //Not from specification
nullable<CTextFormPr> m_oTextFormPr; //Not from specification

View File

@ -33,6 +33,7 @@
#include "../../DesktopEditor/xml/include/xmlutils.h"
#include "../Base/SmartPtr.h"
#include "../../OdfFile/Common/logging.h"
namespace NSBinPptxRW
{