private void StoreRelatedPartsData(List<PartInfo> piList) { m_relObjects = new Dictionary<string, OleLinkData>(); foreach (PartInfo pi in piList) { if (string.Compare(pi.Type, OpenXmlFactory.Get(m_openXmlFormat).OfficeDocumentRelationshipsOleObject, true) == 0 || string.Compare(pi.Type, OpenXmlFactory.Get(m_openXmlFormat).OfficeDocumentRelationshipsExternalLinkPath, true) == 0) { OleLinkData oleData = new OleLinkData(); oleData.m_id = pi.Id; oleData.m_targetPath = pi.Target; oleData.m_type = pi.Type; m_relObjects.Add(pi.Id, oleData); } } }
private void HandleOleLinks(XmlNodeInformation nodeInfo, OleLinkData oleData) { if (DocumentText != null) { TextType links = GetTextType(ContentType.Links, true); if (links.GetChildCount() == 0) { TextNode linkNode = new TextNode(); AddNewNodeInfo(linkNode, "Processed", "true", DataType.String); AddNewNodeInfo(linkNode, "ProgId", m_currentLinkProgId, DataType.String); AddNewNodeInfo(linkNode, "Type", "File Link", DataType.String); AddNewNodeInfo(linkNode, "RefIndex", "", DataType.String); AddNewNodeInfo(linkNode, "RefName", "", DataType.String); AddNewNodeInfo(linkNode, "LinkType", oleData.m_type, DataType.String); AddNewNodeInfo(linkNode, "Path", m_currentLinkTargetPath, DataType.String); AddNewNodeInfo(linkNode, "Id", oleData.m_id, DataType.String); links.AddChild(linkNode); } else { HandleOleLinks(links); } } m_currentOleItemNames.Clear(); }