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); } }
private void WriteTopic(ConceptualItem item) { if (item == null || item.IsEmpty) { return; } // Signal the beginning of a topic... this.OnBeginTopic(item); // Signal the writing of a topic... this.OnWriteTopic(item); // Create the output format for the current topic... if (_outputTopics) { item.CreateTopic(_ddueXmlDir, _ddueCompDir, _ddueHtmlDir); } // Write the sub-topics IList <ConceptualItem> listItems = item.Items; int itemCount = listItems == null ? 0 : listItems.Count; for (int i = 0; i < itemCount; i++) { this.WriteTopic(listItems[i]); } // Signal the end of a topic... this.OnEndTopic(item); }
public override void OnEndTopic(ConceptualItem item) { if (item == null || item.ItemType == ConceptualItemType.Related) { return; } _tocWriter.WriteEndElement(); }
public bool Exclude(ConceptualItem item) { if (item == null || item.IsEmpty || !item.Visible) { return(true); } return(false); }
public override void Insert(int index, ConceptualItem item) { BuildExceptions.NotNull(item, "item"); Debug.Assert(this.Content != null); item.Content = this.Content; _listItems.Insert(index, item); }
private void OnEndTopic(ConceptualItem item) { if (item == null || item.IsEmpty || !_applyAdapters) { return; } _tocAdapter.OnEndTopic(item); _metadataAdapter.OnEndTopic(item); _manifestAdapters.OnEndTopic(item); }
public override void OnBeginTopic(ConceptualItem item) { if (item == null || item.ItemType == ConceptualItemType.Related) { return; } _tocWriter.WriteStartElement("topic"); _tocWriter.WriteAttributeString("id", item.TopicId); _tocWriter.WriteAttributeString("file", item.TopicId); }
public override bool Filter(ConceptualItem item) { BuildExceptions.NotNull(item, "item"); if (_revNumber < 0) { return(false); } bool isFiltered = (item.TopicRevisions == _revNumber); return(this.Inverse ? !isFiltered : isFiltered); }
public override void Remove(ConceptualItem item) { if (item == null) { return; } if (_listItems == null || _listItems.Count == 0) { return; } _listItems.Remove(item); }
public override bool Filter(ConceptualItem item) { BuildExceptions.NotNull(item, "item"); if (_dicTopicId == null || _dicTopicId.Count == 0) { return(false); } bool isFiltered = _dicTopicId.ContainsKey(item.TopicId); return(this.Inverse ? !isFiltered : isFiltered); }
public override void Add(ConceptualItem item) { BuildExceptions.NotNull(item, "item"); if (_listItems == null) { _listItems = new BuildKeyedList <ConceptualItem>(); } Debug.Assert(this.Content != null); item.Content = this.Content; _listItems.Add(item); }
public override bool Filter(ConceptualItem item) { BuildExceptions.NotNull(item, "item"); if (_category.Enabled && _category.IsValid) { HashSet <string> excludes = item.ExcludesInternal; if (excludes == null || excludes.Count == 0) { return(false); } return(excludes.Contains(_category.Name)); } return(false); }
public override bool Equals(ConceptualItem other) { if (other == null) { return(false); } //if (!String.Equals(this._name, other._name)) //{ // return false; //} //if (!String.Equals(this._value, other._value)) //{ // return false; //} return(true); }
public override bool CreateTopic(string ddueXmlDir, string ddueCompDir, string ddueHtmlDir) { if (!base.CreateTopic(ddueXmlDir, ddueCompDir, ddueHtmlDir)) { return(false); } if (_listItems != null && _listItems.Count > 0) { int itemCount = _listItems.Count; for (int i = 0; i < itemCount; i++) { ConceptualItem item = _listItems[i]; if (item.Visible) { item.CreateTopic(ddueXmlDir, ddueCompDir, ddueHtmlDir); } } } return(true); }
public override void OnEndTopic(ConceptualItem item) { }
public abstract void OnBeginTopic(ConceptualItem item);
public abstract void OnWriteTopic(ConceptualItem item);
public abstract void OnEndTopic(ConceptualItem item);
private void ReadTopic(XmlReader reader, ConceptualContent content, ConceptualItem parentItem) { XmlNodeType nodeType = XmlNodeType.None; string nodeName = null; int revNumber = 1; while (reader.Read()) { nodeType = reader.NodeType; if (nodeType == XmlNodeType.Element) { nodeName = reader.Name; if (String.Equals(nodeName, "Topic")) { bool isVisible = true; string docId = reader.GetAttribute("id"); if (ConceptualUtils.IsValidId(docId)) { string textTemp = reader.GetAttribute("visible"); if (!String.IsNullOrEmpty(textTemp)) { isVisible = Convert.ToBoolean(textTemp); } string docTitle = reader.GetAttribute("title"); if (!String.IsNullOrEmpty(docTitle)) { string fullPath = Path.Combine(_contentDir, docId + ".aml"); ConceptualTopic docItem = new ConceptualTopic( new BuildFilePath(fullPath), docTitle, docId); docItem.Content = content; docItem.BeginInit(); docItem.Visible = isVisible; docItem.TopicRevisions = revNumber; //docItem.IncludesTopicId = true; docItem.EndInit(); // handle the sub-item... if (!reader.IsEmptyElement) { ReadTopic(reader, content, docItem); } parentItem.Add(docItem); } } } else if (String.Equals(nodeName, "HelpKeyword")) { string index = reader.GetAttribute("index"); string term = reader.GetAttribute("term"); if (!String.IsNullOrEmpty(index) && !String.IsNullOrEmpty(term)) { KeywordItem keyword = new KeywordItem( KeywordItem.ParseIndex(index), term); parentItem.Keywords.Add(keyword); } } } else if (nodeType == XmlNodeType.EndElement) { if (String.Equals(reader.Name, "Topic")) { break; } } } }
public abstract bool Filter(ConceptualItem item);
public override void OnWriteTopic(ConceptualItem item) { }
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(); }
public override void OnBeginTopic(ConceptualItem item) { }