public override void OnWriteTopic(ConceptualItem item) { ConceptualItemType itemType = item.ItemType; if (itemType == ConceptualItemType.Topic || itemType == ConceptualItemType.Related) { _manifestWriter.WriteStartElement("topic"); // start-fileAsset _manifestWriter.WriteAttributeString("id", item.TopicId); _manifestWriter.WriteEndElement(); // end-fileAsset } else if (itemType == ConceptualItemType.Html) { _context[item.TopicId] = item.TopicTitle; } else if (itemType == ConceptualItemType.Marker) { if (_listMarkers == null) { _listMarkers = new BuildKeyedList <ConceptualMarkerTopic>(); } _listMarkers.Add((ConceptualMarkerTopic)item); } }
public virtual void EndInit() { ConceptualItemType itemType = this.ItemType; if (itemType == ConceptualItemType.Related || itemType == ConceptualItemType.Topic) { this.OnLoadTopicMetadata(); } _isInitialized = true; }
public static ConceptualItem Create(ConceptualItemType itemType) { switch (itemType) { case ConceptualItemType.Topic: return(new ConceptualTopic()); case ConceptualItemType.Related: return(new ConceptualRelatedTopic()); case ConceptualItemType.Marker: return(new ConceptualMarkerTopic()); case ConceptualItemType.Html: return(new ConceptualHtmlTopic()); } return(null); }
public override void OnWriteTopic(ConceptualItem item) { ConceptualItemType itemType = item.ItemType; if (itemType != ConceptualItemType.Topic && itemType != ConceptualItemType.Related) { return; } _metadataWriter.WriteStartElement("topic"); _metadataWriter.WriteAttributeString("id", item.TopicId); _metadataWriter.WriteAttributeString("revisionNumber", item.TopicRevisions.ToString()); Version version = item.TopicVersion; if (version != null) { _metadataWriter.WriteStartElement("item"); // start-item _metadataWriter.WriteAttributeString("id", "PBM_FileVersion"); _metadataWriter.WriteString(version.ToString()); _metadataWriter.WriteEndElement(); // end-item } else { _metadataWriter.WriteStartElement("item"); _metadataWriter.WriteAttributeString("id", "PBM_FileVersion"); _metadataWriter.WriteString("1.0.0.0"); _metadataWriter.WriteEndElement(); } _metadataWriter.WriteStartElement("title"); _metadataWriter.WriteString(item.TopicTitle); _metadataWriter.WriteEndElement(); if (!String.IsNullOrEmpty(item.TocTitle)) { _metadataWriter.WriteStartElement("tableOfContentsTitle"); _metadataWriter.WriteString(item.TocTitle); _metadataWriter.WriteEndElement(); } // Write the runningHeaderText tag... _metadataWriter.WriteStartElement("runningHeaderText"); _metadataWriter.WriteAttributeString("uscid", _runningHeaderText); _metadataWriter.WriteEndElement(); // Write the topicType tag... _metadataWriter.WriteStartElement("topicType"); string topicTypeId = item.TopicTypeId; if (String.IsNullOrEmpty(topicTypeId)) { _metadataWriter.WriteAttributeString("id", _topicTypeId); } else { _metadataWriter.WriteAttributeString("id", topicTypeId); } _metadataWriter.WriteEndElement(); _metadataWriter.WriteEndElement(); }