private void InitializeObsoleteDocumentationInfo(DocumentationInfo documentationInfo, XmlNode schemaDocElement, XmlNamespaceManager namespaceManager) { var obsoleteNode = schemaDocElement.SelectSingleNode("xsd:obsolete", namespaceManager); if (obsoleteNode == null) { return; } documentationInfo.IsObsolete = true; var uriAttribute = obsoleteNode.Attributes["uri"]; if (uriAttribute == null) { return; } var uri = uriAttribute.Value; var nonObsoleteTopic = Context.TopicManager.GetTopicByUri(uri); if (nonObsoleteTopic == null) { Context.ProblemReporter.InvalidObsoleteUri(uri); } else { documentationInfo.NonObsoleteAlternative = nonObsoleteTopic.SchemaObject; } }
private DocumentationInfo GetOrCreateDocumentationInfo(object key) { DocumentationInfo documentationInfo; if (!_documentationInfos.TryGetValue(key, out documentationInfo)) { documentationInfo = new DocumentationInfo(); _documentationInfos.Add(key, documentationInfo); } return(documentationInfo); }
private static void WriteObsoleteInfo(this MamlWriter writer, Context context, DocumentationInfo documentationInfo) { if (!documentationInfo.IsObsolete) return; if (documentationInfo.NonObsoleteAlternative == null) { writer.WriteObsoleteInfo(); return; } var topic = context.TopicManager.GetTopic(documentationInfo.NonObsoleteAlternative); if (topic == null) { writer.WriteObsoleteInfo(); return; } writer.WriteObsoleteInfo(topic); }
private void InitializeDocumentationInfo(XmlSchemaObject documentatbleObject, DocumentationInfo documentationInfo, XmlNode schemaDocElement, XmlNamespaceManager namespaceManager) { documentationInfo.SummaryNode = schemaDocElement.SelectSingleNode("ddue:summary", namespaceManager) ?? documentationInfo.SummaryNode; documentationInfo.RemarksNode = schemaDocElement.SelectSingleNode("ddue:remarks", namespaceManager) ?? documentationInfo.RemarksNode; documentationInfo.ExamplesNode = schemaDocElement.SelectSingleNode("xsd:examples", namespaceManager) ?? documentationInfo.ExamplesNode; documentationInfo.RelatedTopicsNode = schemaDocElement.SelectSingleNode("ddue:relatedTopics", namespaceManager) ?? documentationInfo.RelatedTopicsNode; // schemaset and namespaces do not have an XmlSchemaObject counterpart. if (documentatbleObject == null) { return; } InitializeObsoleteDocumentationInfo(documentationInfo, schemaDocElement, namespaceManager); InitializeParentDocumentationInfo(schemaDocElement, namespaceManager, documentatbleObject); }
public static void WriteSummary(this MamlWriter writer, DocumentationInfo documentationInfo) { if (documentationInfo != null && documentationInfo.SummaryNode != null) writer.WriteRawContent(documentationInfo.SummaryNode); }
private void InitializeObsoleteDocumentationInfo(DocumentationInfo documentationInfo, XmlNode schemaDocElement, XmlNamespaceManager namespaceManager) { var obsoleteNode = schemaDocElement.SelectSingleNode("xsd:obsolete", namespaceManager); if (obsoleteNode == null) return; documentationInfo.IsObsolete = true; var uriAttribute = obsoleteNode.Attributes["uri"]; if (uriAttribute == null) return; var uri = uriAttribute.Value; var nonObsoleteTopic = Context.TopicManager.GetTopicByUri(uri); if (nonObsoleteTopic == null) Context.ProblemReporter.InvalidObsoleteUri(uri); else documentationInfo.NonObsoleteAlternative = nonObsoleteTopic.SchemaObject; }
private void InitializeDocumentationInfo(XmlSchemaObject documentatbleObject, DocumentationInfo documentationInfo, XmlNode schemaDocElement, XmlNamespaceManager namespaceManager) { documentationInfo.SummaryNode = schemaDocElement.SelectSingleNode("ddue:summary", namespaceManager) ?? documentationInfo.SummaryNode; documentationInfo.RemarksNode = schemaDocElement.SelectSingleNode("ddue:remarks", namespaceManager) ?? documentationInfo.RemarksNode; documentationInfo.ExamplesNode = schemaDocElement.SelectSingleNode("xsd:examples", namespaceManager) ?? documentationInfo.ExamplesNode; documentationInfo.RelatedTopicsNode = schemaDocElement.SelectSingleNode("ddue:relatedTopics", namespaceManager) ?? documentationInfo.RelatedTopicsNode; // schemaset and namespaces do not have an XmlSchemaObject counterpart. if (documentatbleObject == null) return; InitializeObsoleteDocumentationInfo(documentationInfo, schemaDocElement, namespaceManager); InitializeParentDocumentationInfo(schemaDocElement, namespaceManager, documentatbleObject); }
private DocumentationInfo GetOrCreateDocumentationInfo(object key) { DocumentationInfo documentationInfo; if (!_documentationInfos.TryGetValue(key, out documentationInfo)) { documentationInfo = new DocumentationInfo(); _documentationInfos.Add(key, documentationInfo); } return documentationInfo; }
private static void WriteRemarksSection(this MamlWriter writer, DocumentationInfo documentationInfo) { if (documentationInfo == null || documentationInfo.RemarksNode == null) return; writer.WriteSection("Remarks", "remarks", documentationInfo.RemarksNode); }
private static void WriteExamplesSection(this MamlWriter writer, DocumentationInfo documentationInfo) { if (documentationInfo == null || documentationInfo.ExamplesNode == null) return; writer.WriteSection("Examples", "examples", documentationInfo.ExamplesNode); }