コード例 #1
0
        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.WriteTopicLink(rootItemTopic);
                }
            }

            var targetNamespace      = obj.GetSchema().TargetNamespace;
            var targetNamespaceTopic = context.TopicManager.GetNamespaceTopic(targetNamespace);

            if (targetNamespaceTopic != null)
            {
                writer.WriteTopicLink(targetNamespaceTopic);
            }

            var info = context.DocumentationManager.GetObjectDocumentationInfo(obj);

            if (info != null && info.RelatedTopicsNode != null)
            {
                writer.WriteRawContent(info.RelatedTopicsNode);
            }
        }
コード例 #2
0
        public static void WriteNamespaceAndSchemaInfo(this MamlWriter writer, Context context, XmlSchemaObject obj)
        {
            var targetNamespace = obj.GetSchema().TargetNamespace;

            //writer.StartParagraph();
            //writer.StartMarkup();
            //writer.WriteRaw("<b>Namespace:</b> ");
            //writer.WriteBold("Namespace:", true);
            //writer.WriteHtmlNamespaceLink(context, targetNamespace);
            //writer.WriteRaw("<br/>");
            //writer.WriteRaw("<b>Schema:</b> ");
            //writer.WriteHtmlSchemaLink(context, obj);
            //writer.WriteRaw("<br/>");
            //writer.EndMarkup();
            //writer.EndParagraph();

            writer.StartParagraph();
            writer.WriteBold("Namespace: ", true);
            writer.WriteNamespaceLink(context, targetNamespace);
            //writer.EndParagraph();
            //writer.WriteRaw(NonBlockingSpaceEntityName);
            writer.WriteToken("lineBreak");
            //writer.WriteRaw(NonBlockingSpaceEntityName);
            //writer.StartParagraph();
            writer.WriteBold("Schema: ", true);
            writer.WriteSchemaLink(context, obj);
            writer.EndParagraph();
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
        private static string GetBaseUri(this XmlSchemaObject obj)
        {
            if (obj.SourceUri != null)
            {
                return(obj.SourceUri);
            }

            var schema = obj.GetSchema();

            return((schema == null)
                    ? null
                    : GetBaseUri(schema));
        }
コード例 #6
0
        //private static void WriteNamespaceLink(this MamlWriter writer, Context context, string namespaceUri)
        //{
        //    var topic = context.TopicManager.GetNamespaceTopic(namespaceUri);
        //    if (topic == null)
        //        writer.WriteString(namespaceUri ?? "Empty");
        //    else
        //        writer.WriteLink(topic.Id, topic.LinkTitle);
        //        //writer.WriteHtmlTopicLink(topic);
        //}

        private static void WriteSchemaLink(this MamlWriter writer, Context context, XmlSchemaObject obj)
        {
            var topic = context.TopicManager.GetTopic(obj.GetSchema());

            if (topic == null)
            {
                writer.WriteString(obj.GetSchemaName());
            }
            else
            {
                writer.WriteLink(topic.Id, topic.LinkTitle);
            }
            //writer.WriteHtmlTopicLink(topic);
        }
コード例 #7
0
        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();
        }
コード例 #8
0
        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));
        }