mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-02-10 18:05:41 +08:00
for bug #78766
This commit is contained in:
@ -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))
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -33,6 +33,7 @@
|
||||
|
||||
#include "../../DesktopEditor/xml/include/xmlutils.h"
|
||||
#include "../Base/SmartPtr.h"
|
||||
#include "../../OdfFile/Common/logging.h"
|
||||
|
||||
namespace NSBinPptxRW
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user