private static string GetTopicLinkIdUri(TopicType type, XmlSchemaObject obj) { if (type == TopicType.Namespace || type == TopicType.Schema) { return null; } var annotated = (XmlSchemaAnnotated)obj; if (string.IsNullOrEmpty(annotated.Id)) return null; var targetNamespace = obj.GetSchema().TargetNamespace; var schemaName = obj.GetSchemaName(); return string.Format("{0}#{1}#{2}", targetNamespace, schemaName, annotated.Id); }
public static void WriteLinksForObject(this MamlWriter writer, XmlSchemaObject obj, Context context) { var root = obj.GetRoot(); if (root != null && root != obj) { var rootItemTopic = context.TopicManager.GetTopic(root); if (rootItemTopic != null) writer.WriteTopicLinkWithReferenceMarker(rootItemTopic); } var targetNamespace = obj.GetSchema().TargetNamespace; var targetNamespaceTopic = context.TopicManager.GetNamespaceTopic(targetNamespace); if (targetNamespaceTopic != null) writer.WriteTopicLinkWithReferenceMarker(targetNamespaceTopic); var info = context.DocumentationManager.GetObjectDocumentationInfo(obj); if (info != null && info.RelatedTopicsNode != null) writer.WriteRawContent(info.RelatedTopicsNode); }
public static void WriteNamespaceAndSchemaInfo(this MamlWriter writer, Context context, XmlSchemaObject obj) { var targetNamespace = obj.GetSchema().TargetNamespace; writer.WriteNamespaceInfo(context, targetNamespace); writer.StartParagraph(); writer.StartBold(); writer.WriteString("Schema:"); writer.EndBold(); writer.WriteNonBlockingSpace(); writer.WriteSchemaLink(context, obj); writer.EndParagraph(); }
public static void WriteSchemaLink(this MamlWriter writer, Context context, XmlSchemaObject obj) { var topic = context.TopicManager.GetTopic(obj.GetSchema()); if (topic == null) writer.WriteString("Empty"); else writer.WriteTopicLink(topic); }
private void FillXsltArgumentList(XsltArgumentList argumentList, string prefix, XmlSchemaObject obj) { var topic = (obj == null) ? null : Context.TopicManager.GetTopic(obj); var itemType = (obj == null) ? string.Empty : obj.GetType().Name.Substring(9).ToLower(); var itemNamespace = (obj == null) ? string.Empty : obj.GetSchema().TargetNamespace ?? string.Empty; var itemUri = (topic == null) ? string.Empty : topic.LinkUri; argumentList.AddParam(prefix + "ItemType", string.Empty, itemType); argumentList.AddParam(prefix + "ItemNamespace", string.Empty, itemNamespace); argumentList.AddParam(prefix + "ItemUri", string.Empty, itemUri); }