void COpcPackagePart::writeRelationships(_In_ PExportStream pExportStream) { if (pExportStream.get() == nullptr) throw CNMRException(NMR_ERROR_INVALIDPARAM); PXmlWriter_Native pXMLWriter = std::make_shared<CXmlWriter_Native>(pExportStream); pXMLWriter->WriteStartDocument(); pXMLWriter->WriteStartElement(nullptr, OPC_RELS_RELATIONSHIP_CONTAINER, nullptr); pXMLWriter->WriteAttributeString(nullptr, "xmlns", nullptr, OPCPACKAGE_SCHEMA_RELATIONSHIPS); auto iIterator = m_Relationships.begin(); while (iIterator != m_Relationships.end()) { POpcPackageRelationship pRelationShip = *iIterator; pRelationShip->writeToXML(pXMLWriter.get()); iIterator++; } pXMLWriter->WriteFullEndElement(); pXMLWriter->WriteEndDocument(); }
void COpcPackageWriter::writeContentTypes() { PExportStream pStream = m_pZIPWriter->createEntry(OPCPACKAGE_PATH_CONTENTTYPES, fnGetUnixTime()); PXmlWriter_Native pXMLWriter = std::make_shared<CXmlWriter_Native>(pStream); pXMLWriter->WriteStartDocument(); pXMLWriter->WriteStartElement(nullptr, OPC_CONTENTTYPES_CONTAINER, nullptr); pXMLWriter->WriteAttributeString(nullptr, L"xmlns", nullptr, OPCPACKAGE_SCHEMA_CONTENTTYPES); auto iIterator = m_ContentTypes.begin(); while (iIterator != m_ContentTypes.end()) { pXMLWriter->WriteStartElement(nullptr, OPC_CONTENTTYPES_NODE, nullptr); pXMLWriter->WriteAttributeString(nullptr, OPC_CONTENTTYPES_ATTRIB_EXTENSION, nullptr, iIterator->first.c_str()); pXMLWriter->WriteAttributeString(nullptr, OPC_CONTENTTYPES_ATTRIB_CONTENTTYPE, nullptr, iIterator->second.c_str()); pXMLWriter->WriteEndElement(); iIterator++; } pXMLWriter->WriteFullEndElement(); pXMLWriter->WriteEndDocument(); }
void COpcPackageWriter::writeRootRelationships() { if (m_RootRelationships.size() == 0) return; PExportStream pStream = m_pZIPWriter->createEntry(OPCPACKAGE_PATH_ROOTRELATIONSHIPS, fnGetUnixTime()); PXmlWriter_Native pXMLWriter = std::make_shared<CXmlWriter_Native>(pStream); pXMLWriter->WriteStartDocument(); pXMLWriter->WriteStartElement(nullptr, L"Relationships", nullptr); pXMLWriter->WriteAttributeString(nullptr, L"xmlns", nullptr, OPCPACKAGE_SCHEMA_RELATIONSHIPS); auto iIterator = m_RootRelationships.begin(); while (iIterator != m_RootRelationships.end()) { POpcPackageRelationship pRelationShip = *iIterator; pRelationShip->writeToXML(pXMLWriter.get()); iIterator++; } pXMLWriter->WriteFullEndElement(); pXMLWriter->WriteEndDocument(); }