private static void WriteName(this MamlWriter writer, ChildEntry entry, TopicManager topicManager) { switch (entry.ChildType) { case ChildType.Element: case ChildType.ElementExtension: var element = (XmlSchemaElement)entry.Particle; var isExtension = (entry.ChildType == ChildType.ElementExtension); writer.WriteElementLink(topicManager, element, isExtension); break; case ChildType.Any: writer.WriteHtmlArtItemWithText(ArtItem.AnyElement, "Any"); break; case ChildType.All: writer.WriteHtmlArtItemWithText(ArtItem.All, "All"); break; case ChildType.Choice: writer.WriteHtmlArtItemWithText(ArtItem.Choice, "Choice"); break; case ChildType.Sequence: writer.WriteHtmlArtItemWithText(ArtItem.Sequence, "Sequence"); break; default: throw ExceptionBuilder.UnhandledCaseLabel(entry.ChildType); } }
private static void WriteFacet(this MamlWriter writer, int level, SimpleTypeStructureNode node, string facetType) { var facetValue = ((XmlSchemaFacet)node.Node).Value; writer.StartTableRowEntry(); writer.WriteHtmlIndent(level); writer.WriteHtmlArtItemWithText(ArtItem.Facet, facetType); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.WriteString(facetValue); writer.EndTableRowEntry(); }
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); } }
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); } }
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); } } }
public static void WriteAttributeTable(this MamlWriter writer, Context context, AttributeEntries attributeEntries) { if (attributeEntries.Attributes.Count == 0 && attributeEntries.AnyAttribute == null) { return; } writer.StartTable(); writer.StartTableHeader(); writer.StartTableRow(); writer.StartTableRowEntry(); writer.WriteString("Name"); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.WriteString("Type"); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.WriteString("Required"); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.WriteString("Description"); writer.EndTableRowEntry(); writer.EndTableRow(); writer.EndTableHeader(); var sortedAttributes = from a in attributeEntries.Attributes orderby a.QualifiedName.Name select a; foreach (var attribute in sortedAttributes) { writer.StartTableRow(); writer.StartTableRowEntry(); writer.WriteAttributeTopicLink(context.TopicManager, attribute, false); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.WriteType(context, attribute.AttributeSchemaType); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.WriteRequiredText(attribute.Use); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.WriteSummaryForObject(context, attribute); writer.EndTableRowEntry(); writer.EndTableRow(); } if (attributeEntries.AnyAttribute != null) { writer.StartTableRow(); writer.StartTableRowEntry(); writer.WriteHtmlArtItemWithText(ArtItem.AnyAttribute, "Any"); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.WriteSummaryForObject(context, attributeEntries.AnyAttribute); writer.EndTableRowEntry(); writer.EndTableRow(); } var sortedExtensionAttributes = from a in attributeEntries.ExtensionAttributes orderby a.QualifiedName.Name select a; foreach (var attribute in sortedExtensionAttributes) { writer.StartTableRow(); writer.StartTableRowEntry(); writer.WriteHtmlIndent(1); writer.WriteAttributeTopicLink(context.TopicManager, attribute, true); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.WriteType(context, attribute.AttributeSchemaType); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.WriteRequiredText(attribute.Use); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.WriteSummaryForObject(context, attribute); writer.EndTableRowEntry(); writer.EndTableRow(); } writer.EndTable(); }