From a8eef09363b9b9d8153713e92a41855dc82938f9 Mon Sep 17 00:00:00 2001 From: "Ankur Sinha (Ankur Sinha Gmail)" Date: Tue, 18 Jun 2024 16:04:40 +0100 Subject: [PATCH 1/5] feat: update lems scripts to include version and commit information --- scripts/lems/asttemplates.py | 3 +- scripts/lems/requirements.txt | 3 + scripts/lems/xml2md.py | 227 ++++++++++++++++++++++++---------- 3 files changed, 164 insertions(+), 69 deletions(-) create mode 100644 scripts/lems/requirements.txt diff --git a/scripts/lems/asttemplates.py b/scripts/lems/asttemplates.py index 7f975f10..4e1b28c1 100644 --- a/scripts/lems/asttemplates.py +++ b/scripts/lems/asttemplates.py @@ -25,7 +25,8 @@ --- {%- endif %} - Generated on {{ todays_date }}. + Schema against which LEMS based on these should be valid: [LEMS_v{{ lems_version }}.xsd](https://github.com/LEMS/LEMS/tree/{{ lems_branch }}/Schemas/LEMS/LEMS_v{{ lems_version }}.xsd). + Generated on {{ lems_date }} from [this](https://github.com/LEMS/LEMS/commit/{{ lems_commit }}) commit. Please file any issues or questions at the [issue tracker here](https://github.com/LEMS/LEMS/issues). --- diff --git a/scripts/lems/requirements.txt b/scripts/lems/requirements.txt new file mode 100644 index 00000000..c83e1209 --- /dev/null +++ b/scripts/lems/requirements.txt @@ -0,0 +1,3 @@ +lxml +xmltodict +jinja2 diff --git a/scripts/lems/xml2md.py b/scripts/lems/xml2md.py index 664eaa84..2ca1feac 100644 --- a/scripts/lems/xml2md.py +++ b/scripts/lems/xml2md.py @@ -7,6 +7,11 @@ Copyright 2023 NeuroML contributors """ +import tempfile +import subprocess +import re +import lxml +import lxml.etree as ET import xmltodict from datetime import date import asttemplates @@ -28,83 +33,169 @@ "components": ["Defining Components", ""] } -todays_date = date.today().strftime("%d/%m/%y") +lems_branch = "master" +lems_version = "0.7.6" +GitHubRepo = "https://github.com/LEMS/LEMS.git" +lems_date = date.today().strftime("%d/%m/%y") +lems_commit = "" + parsed_data = {} srcfile = "sourceannotations.xml" -destdir = "../../source/Userdocs/LEMS_elements/" - -# populate our page info -with open(srcfile, 'r') as ast_doc: - elementtypes = xmltodict.parse(ast_doc.read())['ElementTypes']['ElementType'] - for et in elementtypes: - try: - parsed_data[et['@section']].append(et) - except KeyError: - parsed_data[et['@section']] = [] - parsed_data[et['@section']].append(et) - -# add Include -parsed_data['root'].append( - OrderedDict( - { - '@name': 'Include', - 'Info': 'Include LEMS files in other LEMS files. Files are included where the Include declaration occurs. The enclosing Lems block is stripped off and the rest of the content included as is', - 'Property': OrderedDict( - { - '@name': 'file', - '@type': 'String', - '#text': 'the name or relative path of a file to be included' - } - ) - } - ) -) - -print(parsed_data) - -# render templates -for pg, pginfo in sections_pages.items(): - outputfile = "{}/{}.md".format(destdir, pginfo[0].replace(" ", "")) - with open(outputfile, 'w') as ast_doc: - print( - asttemplates.page_header.render(section_data=pginfo, todays_date=todays_date), - file=ast_doc) - for et in parsed_data[pg]: - print(f"Rendering {et['@name']}") - print( - asttemplates.elementtype.render(et=et), - file=ast_doc) - if 'Property' in et or 'ListProperty' in et: - print("""`````{tab-set}""", end="", file=ast_doc) +comp_type_schema = {} + +def get_schema_doc(schemafile): + """Get schemas for everything + + :param schemafile: path to the XSD schema file + """ + print(ET.__file__) + parser = lxml.etree.XMLParser(remove_comments=True, + remove_blank_text=True, ns_clean=True) + try: + tree = ET.parse(schemafile, parser=parser) + root = tree.getroot() + except ET.XMLSyntaxError as e: + print(f"Could not parse file {schemafile}: {e}") + namespaces = root.nsmap + + # currently unused + for simple_type in root.findall("xs:simpleType", namespaces=namespaces): + simple_type_str = ET.tostring(simple_type, pretty_print=True, + encoding="unicode", + xml_declaration=False) + + # needs to be lowerCamelCase to match XML core types + type_name = simple_type.attrib['name'].lower().replace("nml2quantity_", "") + comp_type_schema[type_name] = re.sub(r"Type.*name=",r"Type name=", simple_type_str) + + for complex_type in root.findall("xs:complexType", namespaces=namespaces): + for node in complex_type: + if "annotation" in str(node.tag) or "documentation" in str(node.tag): + complex_type.remove(node) + + complex_type_str = ET.tostring(complex_type, pretty_print=True, + encoding="unicode", + xml_declaration=False) + # needs to be lowerCamelCase to match XML core types + type_name = complex_type.attrib['name'].lower() + comp_type_schema[type_name] = re.sub(r"Type.*name=",r"Type name=", complex_type_str) + + +def main(srcdir, destdir): + """TODO: Docstring for main. + + :param arg1: TODO + :returns: TODO + + """ + # If not defined or empty, download a new copy to a temporary directory + if not srcdir or src == "": + print("No src directory specified. Cloning NeuroML2 repo") + tempdir = tempfile.TemporaryDirectory() + tmpsrcdir = tempdir.name + print("Temporariy directory: {}".format(tmpsrcdir)) + clone_command = ["git", "clone", "--depth", "1", "--branch", lems_branch, GitHubRepo, tmpsrcdir] + subprocess.run(clone_command) + else: + tmpsrcdir = srcdir + + # TODO: add LEMS examples + # exampledirs = [tmpsrcdir + "/examples/", tmpsrcdir + "/LEMSexamples/"] + exampledirs = [tmpsrcdir + "/examples/"] + xsdsrc = tmpsrcdir + f"/Schemas/LEMS/LEMS_v{lems_version}.xsd" + + # Get current commit + commit_command = ["git", "log", "-1", "--pretty=format:%H"] + output = subprocess.run(commit_command, capture_output=True, + cwd=tmpsrcdir, text=True) + lems_commit = output.stdout + + # start + get_schema_doc(xsdsrc) + + # populate our page info + with open(srcfile, 'r') as ast_doc: + elementtypes = xmltodict.parse(ast_doc.read())['ElementTypes']['ElementType'] + for et in elementtypes: try: - if type(et['Property']) == list: - props=et['Property'] - else: - props=[et['Property']] - print(f" - {len(props)} properties: {props}") - print( - asttemplates.prop.render(props=props), - file=ast_doc) + parsed_data[et['@section']].append(et) except KeyError: - pass + parsed_data[et['@section']] = [] + parsed_data[et['@section']].append(et) + + # add Include + parsed_data['root'].append( + OrderedDict( + { + '@name': 'Include', + 'Info': 'Include LEMS files in other LEMS files. Files are included where the Include declaration occurs. The enclosing Lems block is stripped off and the rest of the content included as is', + 'Property': OrderedDict( + { + '@name': 'file', + '@type': 'String', + '#text': 'the name or relative path of a file to be included' + } + ) + } + ) + ) - try: - if type(et['ListProperty']) == list: - lprops=et['ListProperty'] - else: - lprops=[et['ListProperty']] - print(f" - {len(lprops)} properties: {lprops}") + print(parsed_data) + + # render templates + for pg, pginfo in sections_pages.items(): + outputfile = "{}/{}.md".format(destdir, pginfo[0].replace(" ", "")) + with open(outputfile, 'w') as ast_doc: + print( + asttemplates.page_header.render(section_data=pginfo, + lems_date=lems_date, + lems_commit=lems_commit, + lems_version=lems_version, + lems_branch=lems_branch), + file=ast_doc) + for et in parsed_data[pg]: + print(f"Rendering {et['@name']}") print( - asttemplates.listprop.render(lprops=lprops), + asttemplates.elementtype.render(et=et), file=ast_doc) - except KeyError: - pass - - # process them, close tab-set - if 'Property' in et or 'ListProperty' in et: - print("""`````""", end="", file=ast_doc) + if 'Property' in et or 'ListProperty' in et: + print("""`````{tab-set}""", end="", file=ast_doc) + + try: + if isinstance(et['Property'], list): + props=et['Property'] + else: + props=[et['Property']] + print(f" - {len(props)} properties: {props}") + print( + asttemplates.prop.render(props=props), + file=ast_doc) + except KeyError: + pass + + try: + if isinstance(et['ListProperty'], list): + lprops=et['ListProperty'] + else: + lprops=[et['ListProperty']] + print(f" - {len(lprops)} properties: {lprops}") + print( + asttemplates.listprop.render(lprops=lprops), + file=ast_doc) + except KeyError: + pass + + # process them, close tab-set + if 'Property' in et or 'ListProperty' in et: + print("""`````""", end="", file=ast_doc) # print(parsed_data) + +if __name__ == "__main__": + # src = "/home/asinha/Documents/02_Code/00_mine/NeuroML/software/NeuroML2/" + src = None + destdir = "../../source/Userdocs/LEMS_elements/" + main(src, destdir) From bc40e6cf080a3aab573dcdaef07b450e7fa9ad4a Mon Sep 17 00:00:00 2001 From: "Ankur Sinha (Ankur Sinha Gmail)" Date: Tue, 18 Jun 2024 16:32:34 +0100 Subject: [PATCH 2/5] feat(lems-schema): add schema to lems elements --- scripts/lems/asttemplates.py | 10 ++++++++++ scripts/lems/xml2md.py | 33 ++++++++++++++++++++++++++------- 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/scripts/lems/asttemplates.py b/scripts/lems/asttemplates.py index 4e1b28c1..dba19517 100644 --- a/scripts/lems/asttemplates.py +++ b/scripts/lems/asttemplates.py @@ -79,3 +79,13 @@ """ )) + +schema_quote = env.from_string(textwrap.dedent( + """ + ````{tab-item} Schema + ```{code-block} xml + {{ schemadoc }} + ``` + ```` + """ +)) diff --git a/scripts/lems/xml2md.py b/scripts/lems/xml2md.py index 2ca1feac..f3fafe7f 100644 --- a/scripts/lems/xml2md.py +++ b/scripts/lems/xml2md.py @@ -7,6 +7,7 @@ Copyright 2023 NeuroML contributors """ +import logging import tempfile import subprocess import re @@ -18,6 +19,10 @@ from collections import OrderedDict +logger = logging.getLogger(__name__) +logging.basicConfig(level=logging.DEBUG) + + # pages to which different sections should belong # key is the name in the annotated source, list entries are [heading, # description] @@ -84,7 +89,7 @@ def get_schema_doc(schemafile): def main(srcdir, destdir): - """TODO: Docstring for main. + """Main runner function. :param arg1: TODO :returns: TODO @@ -112,9 +117,6 @@ def main(srcdir, destdir): cwd=tmpsrcdir, text=True) lems_commit = output.stdout - # start - get_schema_doc(xsdsrc) - # populate our page info with open(srcfile, 'r') as ast_doc: elementtypes = xmltodict.parse(ast_doc.read())['ElementTypes']['ElementType'] @@ -142,7 +144,10 @@ def main(srcdir, destdir): ) ) - print(parsed_data) + logger.debug(parsed_data) + + # start + get_schema_doc(xsdsrc) # render templates for pg, pginfo in sections_pages.items(): @@ -160,7 +165,18 @@ def main(srcdir, destdir): print( asttemplates.elementtype.render(et=et), file=ast_doc) - if 'Property' in et or 'ListProperty' in et: + + # if the component has schema documentation, add that, otherwise + comp_type_schemadoc = None + # skip + try: + comp_type_schemadoc = comp_type_schema[et['@name'].lower()] + logger.debug(f"Schema doc for {et['@name']}") + logger.debug(comp_type_schemadoc) + except KeyError: + logger.warning(f"No schema doc found for {et['@name']}") + + if 'Property' in et or 'ListProperty' in et or comp_type_schemadoc is not None: print("""`````{tab-set}""", end="", file=ast_doc) try: @@ -187,8 +203,11 @@ def main(srcdir, destdir): except KeyError: pass + if comp_type_schemadoc is not None: + print(asttemplates.schema_quote.render(schemadoc=comp_type_schemadoc), file=ast_doc) + # process them, close tab-set - if 'Property' in et or 'ListProperty' in et: + if 'Property' in et or 'ListProperty' in et or comp_type_schemadoc is not None: print("""`````""", end="", file=ast_doc) From 3e5badc54fe2497af3a7ea0b1161547bbdc4c4f3 Mon Sep 17 00:00:00 2001 From: "Ankur Sinha (Ankur Sinha Gmail)" Date: Tue, 18 Jun 2024 16:55:12 +0100 Subject: [PATCH 3/5] feat(lems-schema): include examples --- scripts/lems/asttemplates.py | 14 +++++ scripts/lems/xml2md.py | 100 +++++++++++++++++++++++++++++++---- 2 files changed, 104 insertions(+), 10 deletions(-) diff --git a/scripts/lems/asttemplates.py b/scripts/lems/asttemplates.py index dba19517..46923f70 100644 --- a/scripts/lems/asttemplates.py +++ b/scripts/lems/asttemplates.py @@ -89,3 +89,17 @@ ```` """ )) + +examples = env.from_string(textwrap.dedent( + """ + {% if lemsexamples|length > 0 %} + ````{tab-item} {{ title }}: XML + {% for e in lemsexamples -%} + ```{code-block} xml + {{ e|trim }} + ``` + {% endfor -%} + ```` + {%- endif -%} + """ +)) diff --git a/scripts/lems/xml2md.py b/scripts/lems/xml2md.py index f3fafe7f..ccef143b 100644 --- a/scripts/lems/xml2md.py +++ b/scripts/lems/xml2md.py @@ -7,6 +7,7 @@ Copyright 2023 NeuroML contributors """ +import os import logging import tempfile import subprocess @@ -48,7 +49,75 @@ srcfile = "sourceannotations.xml" -comp_type_schema = {} +lems_element_schema = {} +lems_element_examples = {} + + +def get_lems_examples(srcdirs, examples_max=5): + """Get examples for component types + + :param srcdirs: directores where examples are + :type srcdir: list(str) + :param examples_max: maximum number of examples to store + :type examples_max: int + :returns: TODO + """ + for pg, pginfo in sections_pages.items(): + for et in parsed_data[pg]: + lems_element_examples[et['@name']] = [] + + for srcdir in srcdirs: + example_files = os.listdir(srcdir) + for f in sorted(example_files): + if ".nml" in f or ".xml" in f: + srcfile = srcdir + "/" + f + print("Processing example file: {}".format(srcfile)) + fh = open(srcfile, 'r') + + # Replace xmlns bits, we can't do it using lxml + # So we need to read the file, do some regular expression + # substitutions, and then start the XML bits + data = fh.read() + data = re.sub('xmlns=".*"', '', data) + data = re.sub('xmlns:xsi=".*"', '', data) + data = re.sub('xsi:schemaLocation=".*"', '', data) + # Remove comment lines + data = re.sub('', '', data) + # Strip empty lines + data = os.linesep.join([s for s in data.splitlines() if s]) + + try: + root = ET.fromstring(bytes(data, 'utf-8')) + except ET.XMLSyntaxError as e: + print(f"Could not parse file {srcfile}: {e}") + continue + namespaces = root.nsmap + + for lems_element in lems_element_examples.keys(): + # print("looking for lems_element {}".format(lems_element)) + # To find recursively, we have to use the XPath system: + # https://stackoverflow.com/a/2723968/375067 + # Gotta use namespaces: + # https://stackoverflow.com/a/28700661/375067 + examples = root.findall(".//" + lems_element, namespaces=namespaces) + """ + if len(examples) == 0: + print("Found no XML examples for {}".format(lems_element)) + """ + # Sort by length so that we take the 5 longest examples + # Also sort so that the order remains the same when using + # different Python versions etc. + examples.sort(key=len, reverse=True) + # Let's only keep the first 5 examples + for example in examples: + if len(lems_element_examples[lems_element]) < examples_max: + lems_element_examples[lems_element].append( + ET.tostring(example, pretty_print=True, + encoding="unicode", with_comments="False" + ) + ) + # print(lems_element_examples) + def get_schema_doc(schemafile): """Get schemas for everything @@ -73,7 +142,7 @@ def get_schema_doc(schemafile): # needs to be lowerCamelCase to match XML core types type_name = simple_type.attrib['name'].lower().replace("nml2quantity_", "") - comp_type_schema[type_name] = re.sub(r"Type.*name=",r"Type name=", simple_type_str) + lems_element_schema[type_name] = re.sub(r"Type.*name=",r"Type name=", simple_type_str) for complex_type in root.findall("xs:complexType", namespaces=namespaces): for node in complex_type: @@ -85,7 +154,7 @@ def get_schema_doc(schemafile): xml_declaration=False) # needs to be lowerCamelCase to match XML core types type_name = complex_type.attrib['name'].lower() - comp_type_schema[type_name] = re.sub(r"Type.*name=",r"Type name=", complex_type_str) + lems_element_schema[type_name] = re.sub(r"Type.*name=",r"Type name=", complex_type_str) def main(srcdir, destdir): @@ -149,6 +218,12 @@ def main(srcdir, destdir): # start get_schema_doc(xsdsrc) + # examples + get_lems_examples(exampledirs) + + logger.debug("EXAMPLES") + logger.debug(lems_element_examples) + # render templates for pg, pginfo in sections_pages.items(): outputfile = "{}/{}.md".format(destdir, pginfo[0].replace(" ", "")) @@ -167,16 +242,16 @@ def main(srcdir, destdir): file=ast_doc) # if the component has schema documentation, add that, otherwise - comp_type_schemadoc = None + lems_element_schemadoc = None # skip try: - comp_type_schemadoc = comp_type_schema[et['@name'].lower()] + lems_element_schemadoc = lems_element_schema[et['@name'].lower()] logger.debug(f"Schema doc for {et['@name']}") - logger.debug(comp_type_schemadoc) + logger.debug(lems_element_schemadoc) except KeyError: logger.warning(f"No schema doc found for {et['@name']}") - if 'Property' in et or 'ListProperty' in et or comp_type_schemadoc is not None: + if 'Property' in et or 'ListProperty' in et or lems_element_schemadoc is not None or len(lems_element_examples[et['@name']]) > 0: print("""`````{tab-set}""", end="", file=ast_doc) try: @@ -203,11 +278,16 @@ def main(srcdir, destdir): except KeyError: pass - if comp_type_schemadoc is not None: - print(asttemplates.schema_quote.render(schemadoc=comp_type_schemadoc), file=ast_doc) + if lems_element_schemadoc is not None: + print(asttemplates.schema_quote.render(schemadoc=lems_element_schemadoc), file=ast_doc) + + if len(lems_element_examples[et['@name']]) > 0: + print(asttemplates.examples.render( + title="Usage", lemsexamples=lems_element_examples[et['@name']]), + file=ast_doc) # process them, close tab-set - if 'Property' in et or 'ListProperty' in et or comp_type_schemadoc is not None: + if 'Property' in et or 'ListProperty' in et or lems_element_schemadoc is not None or len(lems_element_examples[et['@name']]) > 0: print("""`````""", end="", file=ast_doc) From b7f62a0769a7aae86ff0576e5344bd724b4b1d06 Mon Sep 17 00:00:00 2001 From: "Ankur Sinha (Ankur Sinha Gmail)" Date: Tue, 18 Jun 2024 16:56:54 +0100 Subject: [PATCH 4/5] chore: tweak logging level --- scripts/lems/xml2md.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lems/xml2md.py b/scripts/lems/xml2md.py index ccef143b..b40f4a00 100644 --- a/scripts/lems/xml2md.py +++ b/scripts/lems/xml2md.py @@ -21,7 +21,7 @@ logger = logging.getLogger(__name__) -logging.basicConfig(level=logging.DEBUG) +logging.basicConfig(level=logging.WARNING) # pages to which different sections should belong From 301f06670717e4e3696875b2af5bce936acd7209 Mon Sep 17 00:00:00 2001 From: "Ankur Sinha (Ankur Sinha Gmail)" Date: Tue, 18 Jun 2024 16:57:05 +0100 Subject: [PATCH 5/5] feat: regenerate lems docs with examples and schema --- .../LEMS_elements/DefiningComponents.md | 34 +- .../LEMS_elements/Definingcomponenttypes.md | 499 +++++++++++++++++- source/Userdocs/LEMS_elements/Dynamics.md | 478 ++++++++++++++++- source/Userdocs/LEMS_elements/Geometry.md | 3 +- .../Userdocs/LEMS_elements/Modelstructure.md | 91 +++- source/Userdocs/LEMS_elements/Procedure.md | 3 +- source/Userdocs/LEMS_elements/Simulation.md | 154 +++++- source/Userdocs/LEMS_elements/Structure.md | 236 ++++++++- .../LEMS_elements/Unitsanddimensions.md | 73 ++- 9 files changed, 1562 insertions(+), 9 deletions(-) diff --git a/source/Userdocs/LEMS_elements/DefiningComponents.md b/source/Userdocs/LEMS_elements/DefiningComponents.md index 817269cc..b7e6278d 100644 --- a/source/Userdocs/LEMS_elements/DefiningComponents.md +++ b/source/Userdocs/LEMS_elements/DefiningComponents.md @@ -4,7 +4,8 @@ -Generated on 22/08/23. +Schema against which LEMS based on these should be valid: [LEMS_v0.7.6.xsd](https://github.com/LEMS/LEMS/tree/master/Schemas/LEMS/LEMS_v0.7.6.xsd). +Generated on 18/06/24 from [this](https://github.com/LEMS/LEMS/commit/fd7b30eceb6735ac343745c8f6992bdde72b248b) commit. Please file any issues or questions at the [issue tracker here](https://github.com/LEMS/LEMS/issues). --- @@ -41,6 +42,37 @@ Please file any issues or questions at the [issue tracker here](https://github.c **abouts**$ {ref}`lemsschema:about_` **metas**$ {ref}`lemsschema:meta_` +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` \ No newline at end of file diff --git a/source/Userdocs/LEMS_elements/Definingcomponenttypes.md b/source/Userdocs/LEMS_elements/Definingcomponenttypes.md index d4e54ae0..ea7fa654 100644 --- a/source/Userdocs/LEMS_elements/Definingcomponenttypes.md +++ b/source/Userdocs/LEMS_elements/Definingcomponenttypes.md @@ -4,7 +4,8 @@ -Generated on 22/08/23. +Schema against which LEMS based on these should be valid: [LEMS_v0.7.6.xsd](https://github.com/LEMS/LEMS/tree/master/Schemas/LEMS/LEMS_v0.7.6.xsd). +Generated on 18/06/24 from [this](https://github.com/LEMS/LEMS/commit/fd7b30eceb6735ac343745c8f6992bdde72b248b) commit. Please file any issues or questions at the [issue tracker here](https://github.com/LEMS/LEMS/issues). --- @@ -65,6 +66,81 @@ Please file any issues or questions at the [issue tracker here](https://github.c **abouts**$ {ref}`lemsschema:about_` **metas**$ {ref}`lemsschema:meta_` +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + + + + + + + +``` +```{code-block} xml + + + + + +``` +```{code-block} xml + + + + +``` +```{code-block} xml + + + + + + + + + + +``` +```{code-block} xml + ``` ```` ````` @@ -84,6 +160,36 @@ Please file any issues or questions at the [issue tracker here](https://github.c **dimension**$ String$ The dimension, or 'none'. This should be the name of an already defined dimension element **description**$ String$ An optional description of the parameter +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -120,6 +226,18 @@ Please file any issues or questions at the [issue tracker here](https://github.c **dimension**$ String$ **defaultValue**$ String$ The defaultValue for the property must be a plain number (no units) giving the SI magnitude of the quantity. +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + ``` ```` ````` @@ -141,6 +259,25 @@ Please file any issues or questions at the [issue tracker here](https://github.c **select**$ String$ Path to the parameter that supplies the value. Exactly one of 'select' and 'value' is required. **value**$ String$ A string defining the value of the element +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + ``` ```` ````` @@ -159,6 +296,36 @@ Please file any issues or questions at the [issue tracker here](https://github.c **parameter**$ String$ **value**$ String$ +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -178,6 +345,36 @@ Please file any issues or questions at the [issue tracker here](https://github.c **dimension**$ String$ The dimension, or 'none'. This should be the name of an already defined dimension element **description**$ String$ An optional description of the requirement +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -195,6 +392,15 @@ Please file any issues or questions at the [issue tracker here](https://github.c **name**$ String$ name +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + ``` ```` ````` @@ -212,6 +418,16 @@ Please file any issues or questions at the [issue tracker here](https://github.c **name**$ String$ name +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + ``` ```` ````` @@ -231,6 +447,36 @@ Please file any issues or questions at the [issue tracker here](https://github.c **dimension**$ String$ The dimension, or 'none'. This should be the name of an already defined dimension element **description**$ String$ An optional description of the element +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -250,6 +496,36 @@ Please file any issues or questions at the [issue tracker here](https://github.c **type**$ String$ Reference to a component class, the value should be the name of the target class. **description**$ String$ An optional description of the child +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -268,6 +544,38 @@ Please file any issues or questions at the [issue tracker here](https://github.c **name**$ String$ Name of the children **type**$ String$ The class of component allowed as children. +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -287,6 +595,36 @@ Please file any issues or questions at the [issue tracker here](https://github.c **type**$ String$ The type of the target Component **description**$ String$ An optional description of the ComponentReference +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -306,6 +644,37 @@ Please file any issues or questions at the [issue tracker here](https://github.c **type**$ String$ The type of the target Component **description**$ String$ An optional description of the ComponentReference +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -376,6 +745,36 @@ Please file any issues or questions at the [issue tracker here](https://github.c **direction**$ String$ 'IN' or 'OUT' **description**$ String$ An optional description of the EventPort +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -394,6 +793,35 @@ Please file any issues or questions at the [issue tracker here](https://github.c **name**$ String$ The textual content **description**$ String$ An optional description of the element +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -411,6 +839,35 @@ Please file any issues or questions at the [issue tracker here](https://github.c **name**$ String$ +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -429,6 +886,24 @@ Please file any issues or questions at the [issue tracker here](https://github.c **name**$ String$ A name for the Attachments **type**$ String$ The type of the Attachments +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + ``` ```` ````` @@ -473,6 +948,15 @@ Please file any issues or questions at the [issue tracker here](https://github.c **dimension**$ String$ The dimension, or 'none'. This should be the name of an already defined dimension element **description**$ String$ An optional description of the parameter +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + ``` ```` ````` @@ -487,3 +971,16 @@ Please file any issues or questions at the [issue tracker here](https://github.c Meta element to provide arbitrary metadata to LEMS simulations. Note that this is not processed by the LEMS interpreter. +`````{tab-set} +````{tab-item} Schema +```{code-block} xml + + + + + + + +``` +```` +````` \ No newline at end of file diff --git a/source/Userdocs/LEMS_elements/Dynamics.md b/source/Userdocs/LEMS_elements/Dynamics.md index 01bc22ac..4a016957 100644 --- a/source/Userdocs/LEMS_elements/Dynamics.md +++ b/source/Userdocs/LEMS_elements/Dynamics.md @@ -4,7 +4,8 @@ -Generated on 22/08/23. +Schema against which LEMS based on these should be valid: [LEMS_v0.7.6.xsd](https://github.com/LEMS/LEMS/tree/master/Schemas/LEMS/LEMS_v0.7.6.xsd). +Generated on 18/06/24 from [this](https://github.com/LEMS/LEMS/commit/fd7b30eceb6735ac343745c8f6992bdde72b248b) commit. Please file any issues or questions at the [issue tracker here](https://github.com/LEMS/LEMS/issues). --- @@ -37,6 +38,73 @@ Please file any issues or questions at the [issue tracker here](https://github.c ``` ```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + + + +``` +```{code-block} xml + + + + + + + + + +``` +```{code-block} xml + + + + + + + +``` +```{code-block} xml + + + + + + + + +``` +```{code-block} xml + + + + + + + +``` +```` ````` (lemsschema:statevariable_)= ## StateVariable @@ -55,6 +123,37 @@ Please file any issues or questions at the [issue tracker here](https://github.c **exposure**$ String$ If this variable is to be accessed from outside, it should be linked to an Exposure that is defined in the ComponentType. **description**$ String$ An optional description of the state variable +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -73,6 +172,35 @@ Please file any issues or questions at the [issue tracker here](https://github.c **variable**$ String$ The name of the variable **value**$ String$ A string defining the value of the element +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -91,6 +219,35 @@ Please file any issues or questions at the [issue tracker here](https://github.c **variable**$ String$ The name of the variable **value**$ String$ A string defining the value of the element +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -115,6 +272,41 @@ Please file any issues or questions at the [issue tracker here](https://github.c **required**$ boolean$ Set to true if it OK for this variable to be absent. See 'reduce' for what happens in this case **value**$ String$ A string defining the value of the element +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -136,6 +328,46 @@ Please file any issues or questions at the [issue tracker here](https://github.c ``` ```` + +````{tab-item} Schema +```{code-block} xml + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + + + +``` +```{code-block} xml + + + +``` +```{code-block} xml + + + +``` +```{code-block} xml + + + +``` +```{code-block} xml + + + +``` +```` ````` (lemsschema:oncondition_)= ## OnCondition @@ -155,6 +387,53 @@ Please file any issues or questions at the [issue tracker here](https://github.c ``` ```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + + + + +``` +```{code-block} xml + + + + +``` +```{code-block} xml + + + + +``` +```{code-block} xml + + + +``` +```{code-block} xml + + + + +``` +```` ````` (lemsschema:onevent_)= ## OnEvent @@ -185,13 +464,78 @@ Please file any issues or questions at the [issue tracker here](https://github.c ``` ```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + + + +``` +```{code-block} xml + + + +``` +```{code-block} xml + + + +``` +```{code-block} xml + + + +``` +```` ````` (lemsschema:eventout_)= ## EventOut +`````{tab-set} +````{tab-item} Schema +```{code-block} xml + + + + +``` +```` + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```` +````` (lemsschema:kineticscheme_)= ## KineticScheme @@ -213,6 +557,32 @@ Please file any issues or questions at the [issue tracker here](https://github.c **forwardRate**$ String$ Name of forward rate exposure **reverseRate**$ String$ Name of reverse rate exposure +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -251,6 +621,48 @@ Please file any issues or questions at the [issue tracker here](https://github.c ``` ```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + + + + + + + + + + +``` +```{code-block} xml + + + + + + + + + +``` +```` ````` (lemsschema:onentry_)= ## OnEntry @@ -270,13 +682,53 @@ Please file any issues or questions at the [issue tracker here](https://github.c ``` ```` + +````{tab-item} Schema +```{code-block} xml + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + + + + +``` +```` ````` (lemsschema:transition_)= ## Transition +`````{tab-set} +````{tab-item} Schema +```{code-block} xml + + + + +``` +```` + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```` +````` (lemsschema:super_)= ## Super @@ -310,6 +762,20 @@ Please file any issues or questions at the [issue tracker here](https://github.c **cases**$ {ref}`lemsschema:case_` +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + + + ``` ```` ````` @@ -327,6 +793,16 @@ Please file any issues or questions at the [issue tracker here](https://github.c **value**$ String$ A string defining the value of the element +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + ``` ```` ````` diff --git a/source/Userdocs/LEMS_elements/Geometry.md b/source/Userdocs/LEMS_elements/Geometry.md index 7260663d..87e29c59 100644 --- a/source/Userdocs/LEMS_elements/Geometry.md +++ b/source/Userdocs/LEMS_elements/Geometry.md @@ -4,7 +4,8 @@ -Generated on 22/08/23. +Schema against which LEMS based on these should be valid: [LEMS_v0.7.6.xsd](https://github.com/LEMS/LEMS/tree/master/Schemas/LEMS/LEMS_v0.7.6.xsd). +Generated on 18/06/24 from [this](https://github.com/LEMS/LEMS/commit/fd7b30eceb6735ac343745c8f6992bdde72b248b) commit. Please file any issues or questions at the [issue tracker here](https://github.com/LEMS/LEMS/issues). --- diff --git a/source/Userdocs/LEMS_elements/Modelstructure.md b/source/Userdocs/LEMS_elements/Modelstructure.md index 9aca0a51..c9382f80 100644 --- a/source/Userdocs/LEMS_elements/Modelstructure.md +++ b/source/Userdocs/LEMS_elements/Modelstructure.md @@ -6,7 +6,8 @@ --- -Generated on 22/08/23. +Schema against which LEMS based on these should be valid: [LEMS_v0.7.6.xsd](https://github.com/LEMS/LEMS/tree/master/Schemas/LEMS/LEMS_v0.7.6.xsd). +Generated on 18/06/24 from [this](https://github.com/LEMS/LEMS/commit/fd7b30eceb6735ac343745c8f6992bdde72b248b) commit. Please file any issues or questions at the [issue tracker here](https://github.com/LEMS/LEMS/issues). --- @@ -50,6 +51,44 @@ Please file any issues or questions at the [issue tracker here](https://github.c **reportFile**$ String$ Optional attribute specifying file in which to save short report of simulation **timesFile**$ String$ Optional attribute specifying file in which to save times used in simulation +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + jLEMS only optional attribute to also write a short report with simulation duration, version, etc. + + + + + jLEMS only optional attribute to also write a file containing actual times used in the simulation. + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -70,6 +109,28 @@ Please file any issues or questions at the [issue tracker here](https://github.c **value**$ String$ The value of a constant must be a plain number (no units) giving the SI magnitude of the quantity or an expression involving only plain numbers or other constants. **dimension**$ String$ +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -87,6 +148,34 @@ Please file any issues or questions at the [issue tracker here](https://github.c **file**$ String$ the name or relative path of a file to be included +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` \ No newline at end of file diff --git a/source/Userdocs/LEMS_elements/Procedure.md b/source/Userdocs/LEMS_elements/Procedure.md index dd57197d..5a5901cf 100644 --- a/source/Userdocs/LEMS_elements/Procedure.md +++ b/source/Userdocs/LEMS_elements/Procedure.md @@ -4,7 +4,8 @@ -Generated on 22/08/23. +Schema against which LEMS based on these should be valid: [LEMS_v0.7.6.xsd](https://github.com/LEMS/LEMS/tree/master/Schemas/LEMS/LEMS_v0.7.6.xsd). +Generated on 18/06/24 from [this](https://github.com/LEMS/LEMS/commit/fd7b30eceb6735ac343745c8f6992bdde72b248b) commit. Please file any issues or questions at the [issue tracker here](https://github.com/LEMS/LEMS/issues). --- diff --git a/source/Userdocs/LEMS_elements/Simulation.md b/source/Userdocs/LEMS_elements/Simulation.md index 14a8af65..72ae8ae6 100644 --- a/source/Userdocs/LEMS_elements/Simulation.md +++ b/source/Userdocs/LEMS_elements/Simulation.md @@ -4,7 +4,8 @@ -Generated on 22/08/23. +Schema against which LEMS based on these should be valid: [LEMS_v0.7.6.xsd](https://github.com/LEMS/LEMS/tree/master/Schemas/LEMS/LEMS_v0.7.6.xsd). +Generated on 18/06/24 from [this](https://github.com/LEMS/LEMS/commit/fd7b30eceb6735ac343745c8f6992bdde72b248b) commit. Please file any issues or questions at the [issue tracker here](https://github.com/LEMS/LEMS/issues). --- @@ -30,6 +31,52 @@ Please file any issues or questions at the [issue tracker here](https://github.c ``` ```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + + + +``` +```{code-block} xml + + + +``` +```{code-block} xml + + + +``` +```{code-block} xml + + + +``` +```{code-block} xml + + + +``` +```` ````` (lemsschema:record_)= ## Record @@ -47,6 +94,31 @@ Please file any issues or questions at the [issue tracker here](https://github.c **scale**$ String$ path to the element that defines the scale for rendering the quantity dimensionless **color**$ String$ hex format color suggestion for how the data should be displayed +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -65,6 +137,16 @@ Please file any issues or questions at the [issue tracker here](https://github.c **quantity**$ String$ path for the component which will emit spikes to be recorded **eventPort**$ String$ event port for the component which will emit spikes +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + ``` ```` ````` @@ -73,19 +155,67 @@ Please file any issues or questions at the [issue tracker here](https://github.c +`````{tab-set} +````{tab-item} Schema +```{code-block} xml + + + + + +``` +```` + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```` +````` (lemsschema:datawriter_)= ## DataWriter +`````{tab-set} +````{tab-item} Schema +```{code-block} xml + + + + + +``` +```` + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```` +````` (lemsschema:eventwriter_)= ## EventWriter +`````{tab-set} +````{tab-item} Schema +```{code-block} xml + + + + + +``` +```` +````` (lemsschema:run_)= ## Run @@ -103,6 +233,28 @@ Please file any issues or questions at the [issue tracker here](https://github.c **increment**$ String$ path to the parameter that sets the step size **total**$ String$ path to the parameter that sets the total span of the independent variable to be run +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` \ No newline at end of file diff --git a/source/Userdocs/LEMS_elements/Structure.md b/source/Userdocs/LEMS_elements/Structure.md index fbbe5f57..ae3b4f2e 100644 --- a/source/Userdocs/LEMS_elements/Structure.md +++ b/source/Userdocs/LEMS_elements/Structure.md @@ -4,7 +4,8 @@ -Generated on 22/08/23. +Schema against which LEMS based on these should be valid: [LEMS_v0.7.6.xsd](https://github.com/LEMS/LEMS/tree/master/Schemas/LEMS/LEMS_v0.7.6.xsd). +Generated on 18/06/24 from [this](https://github.com/LEMS/LEMS/commit/fd7b30eceb6735ac343745c8f6992bdde72b248b) commit. Please file any issues or questions at the [issue tracker here](https://github.com/LEMS/LEMS/issues). --- @@ -25,6 +26,58 @@ Please file any issues or questions at the [issue tracker here](https://github.c ``` ```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + + + +``` +```{code-block} xml + + + + + + + +``` +```{code-block} xml + + + +``` +```{code-block} xml + + + + + + +``` +```{code-block} xml + + + +``` +```` ````` (lemsschema:buildelement_)= ## BuildElement @@ -58,6 +111,32 @@ Please file any issues or questions at the [issue tracker here](https://github.c **assigns**$ {ref}`lemsschema:assign_` **buildElements**$ {ref}`lemsschema:buildelement_` +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -84,7 +163,17 @@ Please file any issues or questions at the [issue tracker here](https://github.c +`````{tab-set} +````{tab-item} Schema +```{code-block} xml + + + + +``` +```` +````` (lemsschema:choose_)= ## Choose @@ -117,6 +206,31 @@ Please file any issues or questions at the [issue tracker here](https://github.c **assigns**$ {ref}`lemsschema:assign_` **buildElements**$ {ref}`lemsschema:buildelement_` +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -136,6 +250,54 @@ Please file any issues or questions at the [issue tracker here](https://github.c ``` ```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + + + + + +``` +```{code-block} xml + + + +``` +```{code-block} xml + + + + + +``` +```{code-block} xml + + + +``` +```{code-block} xml + + + + + +``` +```` ````` (lemsschema:eventconnection_)= ## EventConnection @@ -152,6 +314,40 @@ Please file any issues or questions at the [issue tracker here](https://github.c **assigns**$ {ref}`lemsschema:assign_` **buildElements**$ {ref}`lemsschema:buildelement_` +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -170,6 +366,22 @@ Please file any issues or questions at the [issue tracker here](https://github.c **assigns**$ {ref}`lemsschema:assign_` **buildElements**$ {ref}`lemsschema:buildelement_` +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + + + + + ``` ```` ````` @@ -238,6 +450,28 @@ Please file any issues or questions at the [issue tracker here](https://github.c **buildElements**$ {ref}`lemsschema:buildelement_` +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` diff --git a/source/Userdocs/LEMS_elements/Unitsanddimensions.md b/source/Userdocs/LEMS_elements/Unitsanddimensions.md index fe9917da..d2f11289 100644 --- a/source/Userdocs/LEMS_elements/Unitsanddimensions.md +++ b/source/Userdocs/LEMS_elements/Unitsanddimensions.md @@ -4,7 +4,8 @@ -Generated on 22/08/23. +Schema against which LEMS based on these should be valid: [LEMS_v0.7.6.xsd](https://github.com/LEMS/LEMS/tree/master/Schemas/LEMS/LEMS_v0.7.6.xsd). +Generated on 18/06/24 from [this](https://github.com/LEMS/LEMS/commit/fd7b30eceb6735ac343745c8f6992bdde72b248b) commit. Please file any issues or questions at the [issue tracker here](https://github.com/LEMS/LEMS/issues). --- @@ -30,6 +31,40 @@ Please file any issues or questions at the [issue tracker here](https://github.c **n**$ int$ Amount of substance **j**$ int$ Luminous intensity +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` ````` @@ -52,6 +87,42 @@ Please file any issues or questions at the [issue tracker here](https://github.c **scale**$ double$ Scale, only to be used for scales which are not powers of ten **offset**$ double$ Offset for non zero-offset units +``` +```` + +````{tab-item} Schema +```{code-block} xml + + + + + + Some have asked whether fractional dimensions should be allowed. Disallowing it until needed... + + + + + + +``` +```` + + +````{tab-item} Usage: XML +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + +``` +```{code-block} xml + ``` ```` `````