private XElement GetDescriptionTableCell(SDTreeNode treeNode) { ElementDefinition definition = treeNode.Element; List <object> lines = new List <object>(); if (!treeNode.IsRemoved()) { String shortDefExtension = null; if (treeNode.ExtensionDefinition != null) { if (treeNode.ExtensionDefinition.GetRootPathElement() != null) { if (treeNode.ExtensionDefinition.GetRootPathElement().@short != null) { shortDefExtension = treeNode.ExtensionDefinition.GetRootPathElement()[email protected]; } } } // short definition string shortDefinition = treeNode.GetShortDescription(); if (string.IsNullOrWhiteSpace(shortDefinition) || shortDefinition == "Additional Content defined by implementations") { shortDefinition = shortDefExtension; } if (!string.IsNullOrWhiteSpace(shortDefinition)) { lines.Add(Html.P(shortDefinition)); } // extension details string extensionCanonicalUrl = definition.GetExtensionCanonicalUrl(); if (!string.IsNullOrEmpty(extensionCanonicalUrl)) { Link link = _resourceFileSet.GetStructureDefinitionLink(extensionCanonicalUrl); lines.Add(Html.P(GetLabelAndValue("Extension", Html.A(link)))); } // fixed value if (definition.HasFixedValue()) { lines.Add(Html.P(GetLabelAndValue("Fixed value", definition.GetFixedValue()))); } // valueset/bindings string valueSetUri = treeNode.GetValueSetUri(); if (!string.IsNullOrWhiteSpace(valueSetUri)) { Link valuesetLink = _resourceFileSet.GetValueSetLink(valueSetUri); lines.Add(Html.P(GetLabelAndValue("Valueset", new object[] { Html.A(valuesetLink.Url, valuesetLink.Display), " (", Html.A((treeNode.GetValueSetBindingStrength().GetUrl()), treeNode.GetValueSetBindingStrength().GetDescription()), ")" }))); } // invariants string[] invariants = definition.GetInvariantText(); if (invariants.Length > 0) { lines.Add(Html.P(invariants.Select(t => Html.I(t)).Intersperse(Html.Br()).ToArray())); } } return(Html.Td(lines.ToArray())); }