private static bool GetIsSingleRow(SimpleTypeStructureNode node) { switch (node.NodeType) { case SimpleTypeStructureNodeType.Any: case SimpleTypeStructureNodeType.Mixed: case SimpleTypeStructureNodeType.NamedType: case SimpleTypeStructureNodeType.List: case SimpleTypeStructureNodeType.Union: break; default: return(false); } foreach (var child in node.Children) { switch (child.NodeType) { case SimpleTypeStructureNodeType.Union: case SimpleTypeStructureNodeType.List: case SimpleTypeStructureNodeType.Restriction: return(false); } } return(true); }
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(); }
public static void WriteSimpleTypeStrucure(this MamlWriter writer, Context context, SimpleTypeStructureNode root) { if (root == null || root.Children.Count == 0) { return; } if (root.Children.Count == 1) { var node = root.Children[0]; var isSingleRow = SimpleTypeStructureNode.GetIsSingleRow(node); if (isSingleRow) { writer.StartParagraph(); writer.WriteSingle(context.TopicManager, node, 0); writer.EndParagraph(); return; } } writer.StartTable(); writer.StartTableHeader(); writer.StartTableRow(); writer.WriteRowEntry("Item"); //writer.WriteRowEntry("Facet Value"); writer.StartTableRowEntry(); writer.StartParagraph(); writer.WriteStartElement("notLocalizable"); //notLocalizable writer.WriteAttributeString("address", writer.GetNextNobrAddress()); writer.WriteString("Facet Value"); writer.WriteEndElement(); //notLocalizable writer.EndParagraph(); writer.EndTableRowEntry(); writer.WriteRowEntry("Description"); writer.EndTableRow(); writer.EndTableHeader(); writer.WriteNodes(context, root.Children, 0); writer.EndTable(); }
private static void WriteConstructor(this MamlWriter writer, int level, TopicManager topicManager, SimpleTypeStructureNode node, ArtItem constructionArtItem, string constructName) { writer.StartTableRowEntry(); writer.StartParagraph(); //writer.WriteHtmlIndent(level); writer.StartArtItem(constructionArtItem, level); if (ContainsNamedTypes(node.Children)) { writer.WriteTypeNamesMarkup(topicManager, node.Children); } else { writer.WriteString(constructName); } writer.EndArtItem(); writer.EndParagraph(); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.WriteParagraph(String.Empty); writer.EndTableRowEntry(); }
private static void WriteSingle(this MamlWriter writer, TopicManager topicManager, SimpleTypeStructureNode node, int indentLevel) { switch (node.NodeType) { case SimpleTypeStructureNodeType.Any: writer.WriteIndent(indentLevel); writer.WriteString("Any"); break; case SimpleTypeStructureNodeType.Mixed: writer.WriteIndent(indentLevel); writer.WriteString("Mixed"); break; case SimpleTypeStructureNodeType.NamedType: writer.WriteIndent(indentLevel); writer.WriteTypeName(topicManager, (XmlSchemaType)node.Node); break; case SimpleTypeStructureNodeType.List: writer.StartArtItem(ArtItem.List, indentLevel); writer.WriteTypeNamesMarkup(topicManager, node.Children); writer.EndArtItem(); break; case SimpleTypeStructureNodeType.Union: writer.StartArtItem(ArtItem.Union, indentLevel); writer.WriteTypeNamesMarkup(topicManager, node.Children); writer.EndArtItem(); break; default: throw ExceptionBuilder.UnhandledCaseLabel(node.NodeType); } }
private static void WriteNodes(this MamlWriter writer, Context context, IEnumerable <SimpleTypeStructureNode> children, int level) { foreach (var childEntry in children) { if (childEntry.NodeType == SimpleTypeStructureNodeType.NamedType) { continue; } writer.StartTableRow(); var isSingleRow = SimpleTypeStructureNode.GetIsSingleRow(childEntry); if (isSingleRow) { writer.WriteSingleItemAndFacet(level, context.TopicManager, childEntry); } else { writer.WriteConstructorItemAndFacet(level, context.TopicManager, childEntry); } writer.StartTableRowEntry(); writer.StartParagraph(); writer.WriteSummaryForObject(context, childEntry.Node); writer.EndParagraph(); writer.EndTableRowEntry(); writer.EndTableRow(); if (!isSingleRow) { writer.WriteNodes(context, childEntry.Children, level + 1); } } }
private static void WriteConstructorItemAndFacet(this MamlWriter writer, int level, TopicManager topicManager, SimpleTypeStructureNode node) { switch (node.NodeType) { case SimpleTypeStructureNodeType.Restriction: writer.WriteConstructor(level, topicManager, node, ArtItem.Restriction, "Restriction"); break; case SimpleTypeStructureNodeType.List: writer.WriteConstructor(level, topicManager, node, ArtItem.List, "List"); break; case SimpleTypeStructureNodeType.Union: writer.WriteConstructor(level, topicManager, node, ArtItem.Union, "Union"); break; case SimpleTypeStructureNodeType.FacetEnumeration: writer.WriteFacet(level, node, "Enumeration"); break; case SimpleTypeStructureNodeType.FacetMaxExclusive: writer.WriteFacet(level, node, "Max Exclusive"); break; case SimpleTypeStructureNodeType.FacetMaxInclusive: writer.WriteFacet(level, node, "Max Inclusive"); break; case SimpleTypeStructureNodeType.FacetMinExclusive: writer.WriteFacet(level, node, "Min Exclusive"); break; case SimpleTypeStructureNodeType.FacetMinInclusive: writer.WriteFacet(level, node, "Min Inclusive"); break; case SimpleTypeStructureNodeType.FacetFractionDigits: writer.WriteFacet(level, node, "Fraction Digits"); break; case SimpleTypeStructureNodeType.FacetLength: writer.WriteFacet(level, node, "Length"); break; case SimpleTypeStructureNodeType.FacetMaxLength: writer.WriteFacet(level, node, "Max Length"); break; case SimpleTypeStructureNodeType.FacetMinLength: writer.WriteFacet(level, node, "Min Length"); break; case SimpleTypeStructureNodeType.FacetTotalDigits: writer.WriteFacet(level, node, "Total Digits"); break; case SimpleTypeStructureNodeType.FacetPattern: writer.WriteFacet(level, node, "Pattern"); break; case SimpleTypeStructureNodeType.FacetWhiteSpace: writer.WriteFacet(level, node, "White Space"); break; default: throw ExceptionBuilder.UnhandledCaseLabel(node.NodeType); } }
private static void WriteSingleItemAndFacet(this MamlWriter writer, int level, TopicManager topicManager, SimpleTypeStructureNode node) { writer.StartTableRowEntry(); writer.StartParagraph(); //writer.WriteHtmlIndent(level); writer.WriteSingle(topicManager, node, level); writer.EndParagraph(); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.WriteParagraph(String.Empty); writer.EndTableRowEntry(); }
public static void WriteSimpleTypeStrucure(this MamlWriter writer, Context context, SimpleTypeStructureNode root) { if (root == null || root.Children.Count == 0) { return; } if (root.Children.Count == 1) { var node = root.Children[0]; var isSingleRow = GetIsSingleRow(node); if (isSingleRow) { writer.WriteSingle(context.TopicManager, node); return; } } writer.StartTable(); writer.StartTableHeader(); writer.StartTableRow(); writer.StartTableRowEntry(); writer.WriteString("Item"); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.WriteString("Facet Value"); writer.EndTableRowEntry(); writer.StartTableRowEntry(); writer.WriteString("Description"); writer.EndTableRowEntry(); writer.EndTableRow(); writer.EndTableHeader(); writer.WriteNodes(context, root.Children, 0); writer.EndTable(); }
public static void WriteContentTypeSection(this MamlWriter writer, Context context, SimpleTypeStructureNode rootNode) { writer.StartSection("Content Type", "contentType"); writer.WriteSimpleTypeStrucure(context, rootNode); writer.EndSection(); }