protected override void Visit(XmlSchemaSimpleType type)
 {
     if (type.QualifiedName.IsEmpty)
     {
         Traverse(type.Content);
     }
     else
     {
         var topic = _context.TopicManager.GetTopic(type);
         if (topic != null)
         {
             _writer.WriteHtmlArtItemWithTopicLink(ArtItem.SimpleType, topic);
         }
         else
         {
             _writer.WriteHtmlArtItemWithText(ArtItem.SimpleType, type.QualifiedName.Name);
         }
     }
 }
        private static void WriteImageWithTopicLink(this MamlWriter writer, TopicManager topicManager, ArtItem artItem, XmlSchemaType type)
        {
            var topic = topicManager.GetTopic(type);

            if (topic != null)
            {
                writer.WriteHtmlArtItemWithTopicLink(artItem, topic);
            }
            else
            {
                writer.WriteHtmlArtItemWithText(artItem, type.QualifiedName.Name);
            }
        }
        private static void WriteElementLink(this MamlWriter writer, TopicManager topicManager, XmlSchemaElement element, bool isExtension)
        {
            var artItem = element.RefName.IsEmpty && !isExtension
                            ? ArtItem.Element
                            : ArtItem.ElementRef;
            var topic = topicManager.GetTopic(element);

            if (topic != null)
            {
                writer.WriteHtmlArtItemWithTopicLink(artItem, topic);
            }
            else
            {
                writer.WriteHtmlArtItemWithText(artItem, element.QualifiedName.Name);
            }
        }
        public static void WriteList(this MamlWriter writer, Context context, IEnumerable <XmlSchemaObject> schemaObjects)
        {
            var listItems = ListItemBuilder.Build(context, schemaObjects);

            var isFirst = true;

            foreach (var item in listItems)
            {
                if (isFirst)
                {
                    writer.WriteString(" ");
                    isFirst = false;
                }

                writer.WriteHtmlArtItemWithTopicLink(item.ArtItem, item.Topic);
            }
        }
        private static void WriteAttributeTopicLink(this MamlWriter writer, TopicManager topicManager, XmlSchemaAttribute attribute, bool isExtension)
        {
            var artItem = attribute.RefName.IsEmpty && !isExtension
                            ? ArtItem.Attribute
                            : ArtItem.AttributeRef;

            var topic = topicManager.GetTopic(attribute);

            if (topic != null)
            {
                writer.WriteHtmlArtItemWithTopicLink(artItem, topic);
            }
            else
            {
                writer.WriteHtmlArtItemWithText(artItem, attribute.QualifiedName.Name);
            }
        }