private XElement GenerateSchemasTab(StructureDefinitionFile structureDefinitionFile)
 {
     return(GetSchemasList(new object[]
     {
         Html.A(_outputPaths.GetRelativePath(OutputFileType.StructureDefinition, structureDefinitionFile.OutputXmlFilename), "StructureDefinition XML"),
         Html.A(_outputPaths.GetRelativePath(OutputFileType.StructureDefinition, structureDefinitionFile.OutputJsonFilename), "StructureDefinition JSON")
     }));
 }
 private XElement GetTabbedContentView(StructureDefinitionFile structureDefinitionFile)
 {
     return(BootstrapHtml.GetTabs(new Dictionary <string, object>()
     {
         { "Snapshot", GenerateSnapshotTab(structureDefinitionFile.StructureDefinition) },
         { "Differential", GenerateDifferentialTab(structureDefinitionFile.StructureDefinition) },
         { "Examples", "" },
         { "Schemas", GenerateSchemasTab(structureDefinitionFile) }
     }));
 }
        public void Generate(StructureDefinitionFile structureDefinitionFile)
        {
            if (!_resourceFileSet.StructureDefinitionFiles.Contains(structureDefinitionFile))
            {
                throw new ArgumentException("StructureDefinition does not exist in FhirXmlProfileSet", "definition");
            }

            string html = GenerateHtml(structureDefinitionFile);

            _outputPaths.WriteUtf8File(OutputFileType.Html, structureDefinitionFile.OutputHtmlFilename, html);
        }
        private string GenerateHtml(StructureDefinitionFile structureDefinitionFile)
        {
            StructureDefinition definition = structureDefinitionFile.StructureDefinition;

            string content = Html.Div(new object[]
            {
                Html.H3(GetNameHeader(definition)),
                Html.P("The official URL for this profile is: "),
                Html.Pre(definition.url.value),
                Html.H3("Version"),
                Html.P(structureDefinitionFile.VersionNumber),
                Html.H3("Description"),
                Html.P(definition.description.WhenNotNull(t => t.value) ?? (definition.GetDisplayName() + ".")),
                Html.H3("Definition"),
                Html.P(GetBaseProfileSentence(definition)),
                GetTabbedContentView(structureDefinitionFile)
            }).ToString(SaveOptions.None);

            return(Pages.Instance.GetPage(definition.GetDisplayName(), content, "0.1", DateTime.Now));
        }
        public Link GetStructureDefinitionLink(string canonicalUrl)
        {
            StructureDefinitionFile structureDefinitionFile = _structureDefinitions.SingleOrDefault(t => t.CanonicalUrl == canonicalUrl);

            if (structureDefinitionFile != null)
            {
                return(structureDefinitionFile.Link);
            }

            StructureDefinition structureDefinition = FhirData.Instance.FindStructureDefinition(canonicalUrl);

            if (structureDefinition == null)
            {
                throw new ReferenceNotFoundException("StructureDefinition " + canonicalUrl + " not found.");
            }

            return(new Link
                   (
                       url: (structureDefinition == null) ? canonicalUrl : structureDefinition.url.value,
                       display: (structureDefinition == null) ? "WARNING" : structureDefinition.name.value
                   ));
        }