From 78a03a8793f585565eb6011c4e16a60fe50b38e8 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 12:05:07 +1300 Subject: [PATCH 001/604] First upload of CellML2.0 specification docs --- reference/images/equation_units_expansion.png | Bin 0 -> 36364 bytes reference/index_reference.rst | 74 ++ reference/index_sectionA.rst | 10 + reference/index_sectionB.rst | 13 + reference/index_sectionC.rst | 13 + reference/inform/informA1.rst | 11 + reference/inform/informA2.rst | 5 + reference/inform/informA3_1.rst | 24 + reference/inform/informA3_2.rst | 13 + reference/inform/informA3_3.rst | 13 + reference/inform/informA3_4.rst | 27 + reference/inform/informA3_5.rst | 33 + reference/inform/informB10_test_value1.rst | 5 + reference/inform/informB11_reset_value1.rst | 5 + reference/inform/informB12_math1.rst | 5 + reference/inform/informB13_encapsulation1.rst | 5 + reference/inform/informB14_component_ref1.rst | 5 + reference/inform/informB15_connection1.rst | 5 + reference/inform/informB16_map_variables1.rst | 0 reference/inform/informB1_model1.rst | 26 + reference/inform/informB1_model2.rst | 42 + reference/inform/informB1_model3.rst | 21 + reference/inform/informB2_import1.rst | 83 ++ reference/inform/informB2_import2.rst | 24 + reference/inform/informB2_import3.rst | 68 ++ reference/inform/informB3_import_units1.rst | 65 ++ .../inform/informB4_import_component1.rst | 94 +++ reference/inform/informB5_units1.rst | 32 + reference/inform/informB6_unit1.rst | 52 ++ reference/inform/informB6_unit2.rst | 66 ++ reference/inform/informB7_component1.rst | 24 + reference/inform/informB7_component2.rst | 31 + reference/inform/informB7_component3.rst | 70 ++ reference/inform/informB8_variable1.rst | 42 + reference/inform/informB9_reset1.rst | 5 + reference/inform/informC.rst | 5 + reference/libcellml/libcellmlB1.rst | 14 + reference/libcellml/libcellmlB2.rst | 20 + reference/libcellml/libcellmlB3.rst | 47 ++ reference/libcellml/libcellmlB4.rst | 17 + reference/libcellml/libcellmlB5.rst | 19 + reference/libcellml/libcellmlB6.rst | 19 + reference/libcellml/libcellmlB7.rst | 18 + reference/libcellml/libcellmlB8.rst | 16 + reference/sectionA_definitions.rst | 391 +++++++++ reference/sectionB_elements.rst | 745 ++++++++++++++++++ reference/sectionC_interpretation.rst | 577 ++++++++++++++ reference/sectionD_references.rst | 29 + reference/specA1.rst | 7 + reference/specA2.rst | 7 + reference/specA3.rst | 31 + reference/specB01.rst | 21 + reference/specB02.rst | 23 + reference/specB03.rst | 15 + reference/specB04.rst | 10 + reference/specB05.rst | 8 + reference/specB06.rst | 16 + reference/specB07.rst | 22 + reference/specB08.rst | 7 + reference/specB09.rst | 7 + reference/specB10.rst | 7 + reference/specB11.rst | 8 + reference/specB12.rst | 8 + reference/specB13.rst | 7 + reference/specB14.rst | 7 + reference/specB15.rst | 8 + reference/specB16.rst | 8 + ...pecC10_interpretation_of_map_variables.rst | 7 + ...cC11_interpretation_of_variable_resets.rst | 7 + .../specC1_interpretation_of_imports.rst | 7 + reference/specC2_units_reference.rst | 13 + reference/specC3_interpretation_of_units.rst | 7 + reference/specC4_component_reference.rst | 7 + reference/specC5_variable_reference.rst | 7 + ...pecC6_interpretation_of_initial_values.rst | 8 + .../specC7_effect_of_units_on_variables.rst | 8 + .../specC8_interpretation_of_mathematics.rst | 7 + ...specC9_interpretation_of_encapsulation.rst | 7 + 78 files changed, 3240 insertions(+) create mode 100644 reference/images/equation_units_expansion.png create mode 100644 reference/index_reference.rst create mode 100644 reference/index_sectionA.rst create mode 100644 reference/index_sectionB.rst create mode 100644 reference/index_sectionC.rst create mode 100644 reference/inform/informA1.rst create mode 100644 reference/inform/informA2.rst create mode 100644 reference/inform/informA3_1.rst create mode 100644 reference/inform/informA3_2.rst create mode 100644 reference/inform/informA3_3.rst create mode 100644 reference/inform/informA3_4.rst create mode 100644 reference/inform/informA3_5.rst create mode 100644 reference/inform/informB10_test_value1.rst create mode 100644 reference/inform/informB11_reset_value1.rst create mode 100644 reference/inform/informB12_math1.rst create mode 100644 reference/inform/informB13_encapsulation1.rst create mode 100644 reference/inform/informB14_component_ref1.rst create mode 100644 reference/inform/informB15_connection1.rst create mode 100644 reference/inform/informB16_map_variables1.rst create mode 100644 reference/inform/informB1_model1.rst create mode 100644 reference/inform/informB1_model2.rst create mode 100644 reference/inform/informB1_model3.rst create mode 100644 reference/inform/informB2_import1.rst create mode 100644 reference/inform/informB2_import2.rst create mode 100644 reference/inform/informB2_import3.rst create mode 100644 reference/inform/informB3_import_units1.rst create mode 100644 reference/inform/informB4_import_component1.rst create mode 100644 reference/inform/informB5_units1.rst create mode 100644 reference/inform/informB6_unit1.rst create mode 100644 reference/inform/informB6_unit2.rst create mode 100644 reference/inform/informB7_component1.rst create mode 100644 reference/inform/informB7_component2.rst create mode 100644 reference/inform/informB7_component3.rst create mode 100644 reference/inform/informB8_variable1.rst create mode 100644 reference/inform/informB9_reset1.rst create mode 100644 reference/inform/informC.rst create mode 100644 reference/libcellml/libcellmlB1.rst create mode 100644 reference/libcellml/libcellmlB2.rst create mode 100644 reference/libcellml/libcellmlB3.rst create mode 100644 reference/libcellml/libcellmlB4.rst create mode 100644 reference/libcellml/libcellmlB5.rst create mode 100644 reference/libcellml/libcellmlB6.rst create mode 100644 reference/libcellml/libcellmlB7.rst create mode 100644 reference/libcellml/libcellmlB8.rst create mode 100644 reference/sectionA_definitions.rst create mode 100644 reference/sectionB_elements.rst create mode 100644 reference/sectionC_interpretation.rst create mode 100644 reference/sectionD_references.rst create mode 100644 reference/specA1.rst create mode 100644 reference/specA2.rst create mode 100644 reference/specA3.rst create mode 100644 reference/specB01.rst create mode 100644 reference/specB02.rst create mode 100644 reference/specB03.rst create mode 100644 reference/specB04.rst create mode 100644 reference/specB05.rst create mode 100644 reference/specB06.rst create mode 100644 reference/specB07.rst create mode 100644 reference/specB08.rst create mode 100644 reference/specB09.rst create mode 100644 reference/specB10.rst create mode 100644 reference/specB11.rst create mode 100644 reference/specB12.rst create mode 100644 reference/specB13.rst create mode 100644 reference/specB14.rst create mode 100644 reference/specB15.rst create mode 100644 reference/specB16.rst create mode 100644 reference/specC10_interpretation_of_map_variables.rst create mode 100644 reference/specC11_interpretation_of_variable_resets.rst create mode 100644 reference/specC1_interpretation_of_imports.rst create mode 100644 reference/specC2_units_reference.rst create mode 100644 reference/specC3_interpretation_of_units.rst create mode 100644 reference/specC4_component_reference.rst create mode 100644 reference/specC5_variable_reference.rst create mode 100644 reference/specC6_interpretation_of_initial_values.rst create mode 100644 reference/specC7_effect_of_units_on_variables.rst create mode 100644 reference/specC8_interpretation_of_mathematics.rst create mode 100644 reference/specC9_interpretation_of_encapsulation.rst diff --git a/reference/images/equation_units_expansion.png b/reference/images/equation_units_expansion.png new file mode 100644 index 0000000000000000000000000000000000000000..ecdf817d8a9d30e4faae81a27faac88ceb29201b GIT binary patch literal 36364 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%0D3_8;4 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 Q-T?opC~7K{Jg`LlAIQ9{u>b%7 literal 0 HcmV?d00001 diff --git a/reference/index_reference.rst b/reference/index_reference.rst new file mode 100644 index 00000000..013513d4 --- /dev/null +++ b/reference/index_reference.rst @@ -0,0 +1,74 @@ +.. _index_reference: + +========================================== +Normative specification for CellML2.0 +========================================== + +The first section here includes the normative specification documentation for +the CellML format. This is the "official" statement and rules about what must +and must not be included in order for a model to be valid CellML. + +In libCellML the :code:`Valdiator` functionality tests *only* against this +formal specification, and therefore gives no feedback on whether the given +CellML model can be run, or represents a meaningful simulation. + +Additional information to the user is given through those parts of libCellML +which are not directly concerned with the CellML format; namely, the +:code:`Generator` class. The rules and guidelines for this functionality are +therefore defined separately in the second part of this section. + +It should be noted that all messages returned from libCellML should contain a +reference number. This number will point to the section of the formal +specification and/or guidelines to which it relates. + +.. toctree:: + :maxdepth: 1 + + index_sectionA.rst + +.. toctree:: + :maxdepth: 1 + :glob: + :numbered: + + specA* + +.. toctree:: + :maxdepth: 1 + + index_sectionB.rst + +.. toctree:: + :maxdepth: 1 + :glob: + :numbered: + + specB* + +.. toctree:: + :maxdepth: 1 + + index_sectionC.rst + +.. toctree:: + :maxdepth: 1 + :glob: + :numbered: + + specC* + +.. toctree:: + :maxdepth: 1 + + sectionD_references.rst + + +Additional references for libCellML +----------------------------------- + +.. toctree:: + :maxdepth: 2 + :titlesonly: + :glob: + + ref* diff --git a/reference/index_sectionA.rst b/reference/index_sectionA.rst new file mode 100644 index 00000000..8f33c243 --- /dev/null +++ b/reference/index_sectionA.rst @@ -0,0 +1,10 @@ +==================================== +Section A: Definitions and preamble +==================================== + +.. toctree:: + :maxdepth: 2 + :numbered: + :glob: + + specA* diff --git a/reference/index_sectionB.rst b/reference/index_sectionB.rst new file mode 100644 index 00000000..f689fa05 --- /dev/null +++ b/reference/index_sectionB.rst @@ -0,0 +1,13 @@ +==================================== +Section B: Element information items +==================================== + +Section B of the Normative CellML2.0 Specification outlines the element information +items and the rules governing their declaration. + +.. toctree:: + :maxdepth: 2 + :numbered: + :glob: + + specB* diff --git a/reference/index_sectionC.rst b/reference/index_sectionC.rst new file mode 100644 index 00000000..7f1d33ed --- /dev/null +++ b/reference/index_sectionC.rst @@ -0,0 +1,13 @@ +============================================= +Section C: Interpretation of CellML2.0 Models +============================================= + +Section C of the Normative CellML2.0 Specification describes the way in which +the elements defined in Section B are to be interpreted. + +.. toctree:: + :maxdepth: 2 + :numbered: + :glob: + + specC* diff --git a/reference/inform/informA1.rst b/reference/inform/informA1.rst new file mode 100644 index 00000000..c42ed097 --- /dev/null +++ b/reference/inform/informA1.rst @@ -0,0 +1,11 @@ +.. _inform1: + +.. container:: toggle + + .. container:: header + + **Show/Hide Code** + + .. code-block:: xml + + Hello world diff --git a/reference/inform/informA2.rst b/reference/inform/informA2.rst new file mode 100644 index 00000000..02043658 --- /dev/null +++ b/reference/inform/informA2.rst @@ -0,0 +1,5 @@ +.. _inform2: + + + +Notes on 2 go here diff --git a/reference/inform/informA3_1.rst b/reference/inform/informA3_1.rst new file mode 100644 index 00000000..6c34c2d5 --- /dev/null +++ b/reference/inform/informA3_1.rst @@ -0,0 +1,24 @@ +.. _inform3_1: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + Names and identifiers need to be a single word, and without any special + characters other than an underscore. For example, these are allowed: + + - :code:`myName` + - :code:`my_name` + - :code:`myName1` + + ... but these are not permitted: + + - :code:`my Name` has a space + - :code:`myName!` contains a special character + - :code:`1myName` starts with a numerical character + + Note that CellML identifiers are case-sensitive, and empty strings are not allowed. diff --git a/reference/inform/informA3_2.rst b/reference/inform/informA3_2.rst new file mode 100644 index 00000000..36ee3b8e --- /dev/null +++ b/reference/inform/informA3_2.rst @@ -0,0 +1,13 @@ +.. _inform3_2: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + A non-negative integer string is just a string which represents a + non-negative integer, containing *only* digits between 0 and 9. It must + not contain either the plus :code:`+` or minus :code:`-` signs. diff --git a/reference/inform/informA3_3.rst b/reference/inform/informA3_3.rst new file mode 100644 index 00000000..e39df90c --- /dev/null +++ b/reference/inform/informA3_3.rst @@ -0,0 +1,13 @@ +.. _inform3_3: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + An integer string is simply a string containing only the numerical characters + between 0 and 9. If it's a negative then it should begin with the minus + sign, :code:`-`, but it *must not* begin with the plus sign, :code:`+`. diff --git a/reference/inform/informA3_4.rst b/reference/inform/informA3_4.rst new file mode 100644 index 00000000..740a292c --- /dev/null +++ b/reference/inform/informA3_4.rst @@ -0,0 +1,27 @@ +.. _inform3_4: + + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + Note that the *basic real number string* is distinct from the + :ref:`real number string` + in that it does not include real numbers in scientific notation (also called scientific + form, standard index form, or standard form). + + For example: + + - :code:`"-123.4567"` is a valid basic real number string, + - :code:`"-1.234567E03"` is not (but it *is* a valid :ref:`real number string`), + - :code:`"+123.4567"` is not valid (must not contain the plus sign :code:`+`), + - :code:`"1234567"` is valid (it's ok to not use a decimal point :code:`.`), + - :code:`"123,4567"` is not valid (the decimal signifier must be a full-stop symbol :code:`.`), + - :code:`"123,456.7"` is not valid (you may not use a comma :code:`,` or a space :code:` ` + as a thousands separator), + - :code:`"12.34.56"` is not valid (maximum of one decimal point :code:`.` is permitted), and + - :code:`"0x123abc"` is not valid (base 10 numbers only). diff --git a/reference/inform/informA3_5.rst b/reference/inform/informA3_5.rst new file mode 100644 index 00000000..a53b274a --- /dev/null +++ b/reference/inform/informA3_5.rst @@ -0,0 +1,33 @@ +.. _inform3_5: + + +.. container:: toggle + + .. container:: header + + See more + + + .. container:: infospec + + Note that the *real number string* is distinct from the + :ref:`basic real number string` in that it + includes numbers in scientific notation (also called scientific form, standard + index form, or standard form). + + Where it does not contain an exponent term, the number is interpreted as if it was + a basic real number string: the exponent term is effectively zero. + + For example: + + - :code:`"1.234E03"` is a valid real number string, + - :code:`"+1.234E03"` is not valid (must not contain the plus sign :code:`+` in the significand), + - :code:`"1.234E+03"` is valid (a plus sign :code:`+` sign *is* permitted in the exponent), + - :code:`"1.234E+3.0"` is not valid (the exponent must be an integer), + - :code:`"1.234e3"` is valid (either case of `E` or `e` is permitted), + - :code:`"123,45E03"` is not valid (the decimal signifier must be a full-stop symbol :code:`.`), + - :code:`"123.45"` is valid, and is treated as if it were a basic real number string: the exponent term + is effectivly zero, + - :code:`"123.45E"` is not valid (if the exponent is present it may not be blank), and + - :code:`"123,456.7e89"` is not valid (you may not use a thousands separator), + - :code:`"0x123abc"` is not valid (base 10 numbers only) diff --git a/reference/inform/informB10_test_value1.rst b/reference/inform/informB10_test_value1.rst new file mode 100644 index 00000000..bed34a86 --- /dev/null +++ b/reference/inform/informB10_test_value1.rst @@ -0,0 +1,5 @@ +.. _informB10: + + + +Notes on B10 go here diff --git a/reference/inform/informB11_reset_value1.rst b/reference/inform/informB11_reset_value1.rst new file mode 100644 index 00000000..b84d0579 --- /dev/null +++ b/reference/inform/informB11_reset_value1.rst @@ -0,0 +1,5 @@ +.. _informB11: + + + +Notes on B11 go here diff --git a/reference/inform/informB12_math1.rst b/reference/inform/informB12_math1.rst new file mode 100644 index 00000000..78a62010 --- /dev/null +++ b/reference/inform/informB12_math1.rst @@ -0,0 +1,5 @@ +.. _informB12: + + + +Notes on B12 go here diff --git a/reference/inform/informB13_encapsulation1.rst b/reference/inform/informB13_encapsulation1.rst new file mode 100644 index 00000000..8b1d118e --- /dev/null +++ b/reference/inform/informB13_encapsulation1.rst @@ -0,0 +1,5 @@ +.. _informB13: + + + +Notes on B13 go here diff --git a/reference/inform/informB14_component_ref1.rst b/reference/inform/informB14_component_ref1.rst new file mode 100644 index 00000000..f383af9e --- /dev/null +++ b/reference/inform/informB14_component_ref1.rst @@ -0,0 +1,5 @@ +.. _informB14: + + + +Notes on B14 go here diff --git a/reference/inform/informB15_connection1.rst b/reference/inform/informB15_connection1.rst new file mode 100644 index 00000000..a15d92ca --- /dev/null +++ b/reference/inform/informB15_connection1.rst @@ -0,0 +1,5 @@ +.. _informB15: + + + +Notes on B15 go here diff --git a/reference/inform/informB16_map_variables1.rst b/reference/inform/informB16_map_variables1.rst new file mode 100644 index 00000000..e69de29b diff --git a/reference/inform/informB1_model1.rst b/reference/inform/informB1_model1.rst new file mode 100644 index 00000000..e1e5b984 --- /dev/null +++ b/reference/inform/informB1_model1.rst @@ -0,0 +1,26 @@ +.. _inform4_1: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + The :code:`model` is the highest level in the CellML file, not including the + opening :code:`xml` tags. And, just like the Highlander, there can be only one. + + These are valid CellML name attributes: + + - :code:`myValidName` is valid (both cases are permitted) + - :code:`my_other_valid_name` is valid (underscores are permitted) + - :code:`this1too` is valid (numerals 0-9 are permitted) + + These are not valid CellML name attributes: + + - :code:`my invalid name` is not valid (spaces are not permitted) + - :code:`thisIsInvalidToo!` is not valid (special characters other + than the underscore :code:`_` are not permitted) + - :code:`1amNotValidEither` is not valid (must not begin with a number) + - :code:`" "` empty string is not valid (a name must be present). diff --git a/reference/inform/informB1_model2.rst b/reference/inform/informB1_model2.rst new file mode 100644 index 00000000..43365044 --- /dev/null +++ b/reference/inform/informB1_model2.rst @@ -0,0 +1,42 @@ +.. _inform4_2: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + .. code-block:: xml + + + ... + ... + + + ... + + ... + ... + ... + + + ... + + + + + + + + + + ... + + ... + + + ... + + diff --git a/reference/inform/informB1_model3.rst b/reference/inform/informB1_model3.rst new file mode 100644 index 00000000..b7f576d8 --- /dev/null +++ b/reference/inform/informB1_model3.rst @@ -0,0 +1,21 @@ +.. _inform4_3: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + The encapsulation of a model defines the nested structure of its components. + This in turn affects which variables have access to which other variables, + and allows the modular behaviour to happen at any level. For this reason, + there can be only one :code:`encapsulation` item in any model. + + For more information about encapsulation, please refer to + :ref:`The encapsulation element information item`. + + For more information and examples involving and explaining encapsulation, + please refer to the + :ref:`Theory of a sodium channel<_theory_sodiumchannel_interpretation>` page. diff --git a/reference/inform/informB2_import1.rst b/reference/inform/informB2_import1.rst new file mode 100644 index 00000000..c3260b5b --- /dev/null +++ b/reference/inform/informB2_import1.rst @@ -0,0 +1,83 @@ +.. _informB2_1: + +.. _inform_import1: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + At present (TODO) the location specified by the :code:`href` attribute + must be a locally available file (not online). The path may either be + absolute from the root directory, or relative to the importing model's + location. + + For example, here's a model based around casting for The Wizard of Oz. + In the main model (the one doing the importing), the component + used to play Dorothy is defined by importing a :code:`component` + named :code:`judy_garland` from the file called + :code:`role_of_dorothy.cellml` and setting its reference in the main + file to be the component named :code:`dorothy`. + + Note the file structure - the path to the imported file is specified + relative to the importing file, in this case :code:`role_of_dorothy.cellml` + sits inside a folder called :code:`characters`. + + + oz_model.cellml + + .. code-block:: xml + + + + + + ... + + + characters/dorothy.cellml + + .. code-block:: xml + + + ... + ... + + + + + + characters/role_of_toto.cellml + + .. code-block:: xml + + + ... + ... + + + The component representing Toto could be imported in one of two ways, both + giving identical model representations. Either directly from the + :code:`role_of_toto.cellml` file, or indirectly via the + :code:`role_of_dorothy.cellml` file: + + .. code-block:: xml + + + + + + + + + + + + + + + + diff --git a/reference/inform/informB2_import2.rst b/reference/inform/informB2_import2.rst new file mode 100644 index 00000000..4427f73f --- /dev/null +++ b/reference/inform/informB2_import2.rst @@ -0,0 +1,24 @@ +.. _informB2_2: + +.. _inform_import2: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + The only items which can be imported directly are :code:`component` and + :code:`units` items. The intention is that these are modular building + blocks, able to be passed between models easily through this import + functionality. + + When you import a :code:`component`, all its :code:`variables` and + encapsulated child :code:`component` items are imported too, + along with any its governing :code:`math` block and any :code:`units` + items it uses. + + When you import a :code:`units` item, the child :code:`unit` items which + it contain are imported as well. diff --git a/reference/inform/informB2_import3.rst b/reference/inform/informB2_import3.rst new file mode 100644 index 00000000..5ae44030 --- /dev/null +++ b/reference/inform/informB2_import3.rst @@ -0,0 +1,68 @@ +.. _informB2_3: + +.. _inform_import3: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + The intention behind this restriction is to prevent circular import + definitions from occurring. Models *are* able to import twins, that is, + :code:`component` or :code:`units` items which are identical in content + but under different names. Models may *not* import themselves, because + this would create an infinite loop of dependence. + + For example, the first Olsen twins model below is permitted: the same + component is imported twice under different names. + + .. code-block:: xml + + + + + + + + + + + This recursive import is not permitted because a component cannot import itself: + + .. code-block:: xml + + + + + + + + + The sames applies for "indirect" imports, where recursion is created over + several files: + + .. code-block:: xml + + + + + + + + + + + + + + + + + + + + + diff --git a/reference/inform/informB3_import_units1.rst b/reference/inform/informB3_import_units1.rst new file mode 100644 index 00000000..055e1390 --- /dev/null +++ b/reference/inform/informB3_import_units1.rst @@ -0,0 +1,65 @@ +.. _informB3_1: + +.. container:: toggle + + .. container:: header + + Read more + + .. container:: infospec + + Importing :code:`Units` means + that you're assured of consistency between your models, and allows + for a more modular reuse of the components which use them. There are + three ingredients required in importing an item: + + - a destination item in the importing model (this is the :code:`units` + item called :code:`smallPotOfPaint` in the example below) + + - a file to import from, specified using the :code:`xlink:href` + attribute of the parent :code:`import` block. This is discussed in + more detail in + :ref:`The import element information item`. In the + example below this is the :code:`paint_pot_sizes.cellml` file. + + - the specific item name to retrieve from the imported file. In the + example below this is the :code:`twoLitrePot` value passed to the + :code:`units_ref` attribute. + + Thus we can read the import statement below as: "retrieve the :code:`Units` + named :code:`twoLitrePot` from the file :code:`paint_pot_sizes.cellml`, and store it + here in this model under the name :code:`potOfPaint` ". + + .. code-block:: xml + + + + + + Note that if you've already defined the namespace inside the :code:`` tags then you + would not need to repeat it here. + + Imported items have the same restrictions as concrete items regarding the + uniqueness of their names. In the example below, the name + :code:`potOfPaint` is used for the locally + defined units in line 2, but the same name is used as the name for the + imported units in line 6. This is not permitted as it violates 6.1.1. + + .. code-block:: xml + + + + + + + + + + + + ... + + + + Note that libCellML uses some workarounds to avoid this kind of conflict. Please + click the :ref:`See libCellML implementation +` toggle for details. diff --git a/reference/inform/informB4_import_component1.rst b/reference/inform/informB4_import_component1.rst new file mode 100644 index 00000000..9f97ca61 --- /dev/null +++ b/reference/inform/informB4_import_component1.rst @@ -0,0 +1,94 @@ +.. _informB4: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + The ablility to import and reuse :code:`component` items is one of the + most powerful features in CellML, as it allows modellers to easily + plug-n-play different variations and model parts. There are three + ingredients required in importing an item: + + - a destination in the importing model (this is the :code:`component` + item called :code:`pi_calculator` in the example below) + + - a file to import from, specified using the :code:`xlink:href` + attribute of the parent :code:`import` block. This is discussed in + more detail in + :ref:`The import element information item`. In the + example below this is the :code:`pi_approximators.cellml` file. + + - the specific item name to retrieve from the imported file. In the + example below this is the :code:`circumference_over_diameter` value + passed to the :code:`component_ref` attribute. + + Thus we can read the import statement below as: "retrieve the + :code:`component` named :code:`circumference_over_diameter` from the file + :code:`pi_approximators.cellml`, and store it here in this model under the + name :code:`pi_calculator`". + + .. code-block:: xml + + + + + + Things to watch out for: + + 1) **The namespace**. Note that if you've already defined the + :code:`xmlns:xlink` namespace inside the :code:`` tags then you + would not need to repeat it here. + + 2) **The name attribute**. Imported items have the same restrictions as + locally defined items regarding the uniqueness of their names and their + format. In the + example below, the name :code:`pi_calculator` is used for the locally + defined component in line 2, but the same name is used as the name for the + imported component in line 6. This is not permitted as it violates 7.1.1. + The second imported component uses an invalid name attribute + (see :ref:`Data representation formats in CellML`) + so is not permitted either. + + .. code-block:: xml + + + + ... + + + + + + + + + + + + + + + 3) **The component_ref attribute**. This must be a :ref:`valid CellML identifier` + (see :ref:`Data representation formats in CellML`). + It also has to actually exist as a :code:`component` in the given + :code:`href` location! Neither of the imports below are permitted: + + .. code-block:: xml + + + + + + + + + + + + + + diff --git a/reference/inform/informB5_units1.rst b/reference/inform/informB5_units1.rst new file mode 100644 index 00000000..57638f4b --- /dev/null +++ b/reference/inform/informB5_units1.rst @@ -0,0 +1,32 @@ +.. _informB5: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + The best way to understand how :code:`units` work is to read the + next section which defines their child :code:`unit` items. + + The following examples show examples of what is not permitted in + defining :code:`units` items. + + .. code-block:: xml + + + ... + + + ... + ... + + + + + + + + ... diff --git a/reference/inform/informB6_unit1.rst b/reference/inform/informB6_unit1.rst new file mode 100644 index 00000000..11639d05 --- /dev/null +++ b/reference/inform/informB6_unit1.rst @@ -0,0 +1,52 @@ +.. _informB6_1: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + :code:`Units` items are simply a collection of :code:`Unit` items, each + with a prefix, multiplier, and exponent. They can be nested and contain + multiple generations of inheritance, which means that there's always a + possibility of circular definitions. These are not permitted. + + For example, the first definition is valid: + + .. code-block:: xml + + + + + + + + + + + + + + + + The second definition creates a circular dependency, and is not valid: + + .. code-block:: xml + + + + + + + + + + + + + + + + diff --git a/reference/inform/informB6_unit2.rst b/reference/inform/informB6_unit2.rst new file mode 100644 index 00000000..1a47f8f4 --- /dev/null +++ b/reference/inform/informB6_unit2.rst @@ -0,0 +1,66 @@ +.. _informB6_2: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + There are two items related to units in CellML, and their naming can be + confusing! The plural - :code:`units` represents the actual final units + to be used in the model. This is a collection of + smaller :code:`unit` items which transform the base dimensionality + into the form required by the final units by way of prefixes, + multipliers, and exponents. + + In the example, we'll need to use two of the *built-in* base units, + :code:`metre` and :code:`second`, and manipulate them to form + :math:`cm^3/s`. This is done by including child :code:`unit` items. + First, we need to change the base units of :code:`metre` into :math:`cm^3`: + + .. code-block:: xml + + + # default multiplier of 1 + ... + + + Next, we include the time dependency, changing the built-in units :code:`second` into + :math:`s^{-1}`. Note that sibling :code:`unit` items within a parent :code:`units` + item are simply multplied together to form the final representation: + + .. code-block:: xml + + + # default multiplier of 1 + # default prefix of 0, default multiplier of 1 + + + This is exactly equivalent to the alterantives below: + + .. code-block:: xml + + + # prefix can be specified as a power of 10 + + + + # or + + + # multiplier specified instead + + + + # or + + + # default exponent of 1 ... + # ... is repeated ... + # ... to give the equivalent power of 3 + + + + For more information on :code:`Units` items please refer to the diff --git a/reference/inform/informB7_component1.rst b/reference/inform/informB7_component1.rst new file mode 100644 index 00000000..e8c9a22e --- /dev/null +++ b/reference/inform/informB7_component1.rst @@ -0,0 +1,24 @@ +.. _informB7_1: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + Components are a convenient way to modularise the model, allowing parts to be + removed, replaced, and reused easily. They define the scope of their contents, + meaning that the items within a component need only be uniquely named in that + local scope. Commonly needed variables (like *time*, for example) + can be given the same name in multiple components without triggering an error. + + Components are the largest building blocks of the model, and have three + important parts to them. The first is their naming and contents, similar + to all the other CellML items, and described below. The second relates + to their structure in relation to other :code:`component` items: this + structure is called their *encapsulation* and is described in + :ref:`The encapsulation item`. The third relates to the + :code:`import component` item, as described in + :ref:`The import_component item`. diff --git a/reference/inform/informB7_component2.rst b/reference/inform/informB7_component2.rst new file mode 100644 index 00000000..49fa9597 --- /dev/null +++ b/reference/inform/informB7_component2.rst @@ -0,0 +1,31 @@ +.. _informB7_2: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + :code:`component` items, as with every other part of CellML, must use + names which are unique to their scope, and obey the format definitions + outlined in + :ref:`Data representation formats`. For example: + + .. code-block:: xml + + + ... + + + ... + + + ... + ... + + + + + diff --git a/reference/inform/informB7_component3.rst b/reference/inform/informB7_component3.rst new file mode 100644 index 00000000..90e9fd19 --- /dev/null +++ b/reference/inform/informB7_component3.rst @@ -0,0 +1,70 @@ +.. _informB7_3: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + .. container:: heading3 + + The mathematics of a component + + Perhaps the most important part of a :code:`component` item is the + mathematics it contains. This is stored inside a single :code:`` block + as described in :ref:`Section 14: The math item`. The :code:`math` + then defines the operation of the local :code:`variable` items and how they + relate to each other mathematically. + + For example, a component to calculate Einstein's :math:`E=mc^2` could be + represented by: + + .. code-block:: xml + + + + + E + + m + + c + 2 + + + + + ... + + + Please refer to :ref:`The math information item` for + information on the :code:`math` items and MathML format. + + .. container:: heading3 + + The variables of a component + + The MathML block above refers to three variables, named :code:`E`, + :code:`m` and :code:`c`. These variable names be the same as the + :code:`name` attributes of the child :code:`variable` items in this + component. + + .. code-block:: xml + + + ... + + + + + + Please refer to :ref:`The variable information item` for + information on the :code:`variable` items. + + .. container:: heading3 + + The reset items of a component + + **TODO** when resets are finalised diff --git a/reference/inform/informB8_variable1.rst b/reference/inform/informB8_variable1.rst new file mode 100644 index 00000000..dc26d588 --- /dev/null +++ b/reference/inform/informB8_variable1.rst @@ -0,0 +1,42 @@ +.. _informB8: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + In addition to the standard :code:`name` attribute, each :code:`variable` + must also define a :code:`units` attribute too. + + Reusing the example from :ref:`The component item` we + can give the three variables their fuller definitions: + + .. code-block:: xml + + + + ... + + + + + + + Extra attributes that can be used as needed include the :code:`initial_value`, + which will either set a constant value for a variable, or set its initial + conditions if it's being solved for. More information about initialisation + can be found in the + :ref:`Interpretation of initial values` section. + + Finally, where one :code:`variable` has been mapped to another in a different + component, the :code:`interface` attribute must be specified. This + determines the relative position in the encapsulation that the mapped + component must have in order to access this variable. This is outlined in + more detail in :ref:`The encapsulation item`. + + For examples and further explanation of components and their encapsulation, + please refer to + :ref:`section 3 of the Sodium Channel theory`. diff --git a/reference/inform/informB9_reset1.rst b/reference/inform/informB9_reset1.rst new file mode 100644 index 00000000..2351b55f --- /dev/null +++ b/reference/inform/informB9_reset1.rst @@ -0,0 +1,5 @@ +.. _informB9: + + + +Notes on B9 go here diff --git a/reference/inform/informC.rst b/reference/inform/informC.rst new file mode 100644 index 00000000..7d4e3af7 --- /dev/null +++ b/reference/inform/informC.rst @@ -0,0 +1,5 @@ +.. _informC: + + + +Notes on C go here diff --git a/reference/libcellml/libcellmlB1.rst b/reference/libcellml/libcellmlB1.rst new file mode 100644 index 00000000..b8b6859e --- /dev/null +++ b/reference/libcellml/libcellmlB1.rst @@ -0,0 +1,14 @@ +.. _libcellmlB1: + +.. container:: toggle + + .. container:: header + + See libCellML implementation + + .. container:: infolib + + Possible errors related to the :code:`model` item + ------------------------------------------------- + + **TODO** put list of errors/issues/hints from the validator/generator here. diff --git a/reference/libcellml/libcellmlB2.rst b/reference/libcellml/libcellmlB2.rst new file mode 100644 index 00000000..47a4f903 --- /dev/null +++ b/reference/libcellml/libcellmlB2.rst @@ -0,0 +1,20 @@ +.. _libcellmlB2: + +.. container:: toggle + + .. container:: header + + See libCellML implementation + + .. container:: infolib + + The libCellML library contains checks for illegal or recursive imports, and + will return warnings or errors when they are discovered. For examples and + tutorials explaining the use of :code:`import` items, please refer to + **TODO**. + + .. container:: heading3 + + Possible errors related to the :code:`import` item + + Put error list and links here. **TODO** diff --git a/reference/libcellml/libcellmlB3.rst b/reference/libcellml/libcellmlB3.rst new file mode 100644 index 00000000..bf74dce6 --- /dev/null +++ b/reference/libcellml/libcellmlB3.rst @@ -0,0 +1,47 @@ +.. _libcellmlB3: + +.. _libcellml_import_units: + +.. container:: toggle + + .. container:: header + + See libCellML implementation + + .. container:: infolib + + Using libCellML there are a couple of things to watch out for. It + will allow you import a :code:`Units` item which has a :code:`name` + attribute that already exists in the importing model (as in this + example), but will change the imported item's :code:`name` to avoid + clashes. The name will have an underscore :code:`_` added, followed + by an unique integer. The example would contain two :code:`Units` + items called :code:`potOfPaint` (the locally defined one) and + :code:`potOfPaint_1` (the imported one). + + Note that this does *not* imply that the units are equivalent, only + that the name has been used before. You can compare two :code:`Units` + items using these functions: + + .. code-block:: cpp + + // This function will return "true" only when the two Units match exactly. That is, + // dimensionallyEquivalent(kilometre, thousand_metres) is true, + // dimensionallyEquivalent(kilometre, metre) is false (scaling factor difference), + // dimensionallyEquivalent(kilometre, apple) is false (base unit difference). + static bool dimensionallyEquivalent(const UnitsPtr &units1, const UnitsPtr &units2); + + // This function will return "true" when the two Units base units match. That is, + // equivalent(kilometre, thousand_metres) is true, + // equivalent(kilometre, metre) is true (scaling factor difference is ignored), + // equivalent(kilometre, apple) is false (base unit difference). + static bool equivalent(const UnitsPtr &units1, const UnitsPtr &units2); + + // This function simply returns the scaling factor between two Units + // such that: units2 = units1*scalingFactor. where the base + // units match. Where they don't, it returns 0. + // scalingFactor(metre, kilometre) returns 1000.0 + // scalingFactor(kilometre, apple) returns 0 + static double scalingFactor(const UnitsPtr &units1, const UnitsPtr &units2); + + **TODO** check with issue https://github.com/cellml/libcellml/issues/539 re naming of functions diff --git a/reference/libcellml/libcellmlB4.rst b/reference/libcellml/libcellmlB4.rst new file mode 100644 index 00000000..d89a804f --- /dev/null +++ b/reference/libcellml/libcellmlB4.rst @@ -0,0 +1,17 @@ +.. _libcellmlB4: + +.. _libcellml_import_component: + +.. container:: toggle + + .. container:: header + + See libCellML implementation + + .. container:: infolib + + .. container:: heading3 + + Messages related to importing components + + **TODO** put errors here. diff --git a/reference/libcellml/libcellmlB5.rst b/reference/libcellml/libcellmlB5.rst new file mode 100644 index 00000000..db96fcda --- /dev/null +++ b/reference/libcellml/libcellmlB5.rst @@ -0,0 +1,19 @@ +.. _libcellmlB5: +.. _libcellml_units: + +.. container:: toggle + + .. container:: header + + See libCellML implementation + + .. container:: infolib + + For examples and more information on how :code:`Units` are used in + libCellML, please refer to section 3 of :ref:`Tutorial 3`. + + .. container:: heading3 + + Messages related to :code:`Units` + + **TODO** put errors here. diff --git a/reference/libcellml/libcellmlB6.rst b/reference/libcellml/libcellmlB6.rst new file mode 100644 index 00000000..0b04c8fd --- /dev/null +++ b/reference/libcellml/libcellmlB6.rst @@ -0,0 +1,19 @@ +.. _libcellmlB6: +.. _libcellml_unit: + +.. container:: toggle + + .. container:: header + + See libCellML implementation + + .. container:: infolib + + For examples and more information on how :code:`Units` are used in + libCellML, please refer to section 3 of :ref:`Tutorial 3`. + + .. container:: heading3 + + Messages related to :code:`Unit` items + + **TODO** put errors here. diff --git a/reference/libcellml/libcellmlB7.rst b/reference/libcellml/libcellmlB7.rst new file mode 100644 index 00000000..a2b549b7 --- /dev/null +++ b/reference/libcellml/libcellmlB7.rst @@ -0,0 +1,18 @@ +.. _libcellmlB7: +.. _libcellml_component: + +.. container:: toggle + + .. container:: header + + See libCellML implementation + + .. container:: infolib + + + + .. container:: heading3 + + Messages related to :code:`component` items + + **TODO** put errors here. diff --git a/reference/libcellml/libcellmlB8.rst b/reference/libcellml/libcellmlB8.rst new file mode 100644 index 00000000..849856d1 --- /dev/null +++ b/reference/libcellml/libcellmlB8.rst @@ -0,0 +1,16 @@ +.. _libcellmlB8: +.. _libcellml_variable: + +.. container:: toggle + + .. container:: header + + See libCellML implementation + + .. container:: infolib + + .. container:: heading3 + + Messages related to :code:`Variable` items + + **TODO** put errors here. diff --git a/reference/sectionA_definitions.rst b/reference/sectionA_definitions.rst new file mode 100644 index 00000000..e532e0a9 --- /dev/null +++ b/reference/sectionA_definitions.rst @@ -0,0 +1,391 @@ +.. _sectionA_definitions: + +**CellML 2.0 Specification** + +**Authors:** + +Michael T. Cooling\* + +Michael Clerx + +Jonathan Cooper + +Alan Garny + +Keri Moyle + +David P. Nickerson + +Hugh Sorby + +**Contributors:** + +Jesús C. Fernández + +David Brooks + +Koray Atalag + +The authors also wish to acknowledge the significant contribution of the +(discontinued) draft CellML 1.2 specification, much of the text of which +was incorporated into this specification - although the semantics have +changed considerably. The CellML 1.2 specification was itself the result +of a collaborative effort by a number of researchers during 2008-2011: + +Andrew K. Miller (who wrote the text reused here), Jonathan Cooper, +Justin Marsh, Alan Garny, Randall Britten, Poul Nielsen and David P. +Nickerson + +\* corresponding author: mtcooling.research@gmail.com **TODO what should this be?** + +**Preamble** + +This document is the normative version of the CellML Specification, +defining the CellML syntax and the rules by which it should be used. It +is intended primarily for the developers of software tools which +directly consume CellML syntax. Users of CellML models should read the +informative version of the CellML Specification which is available here: +https://doi.org/science/1.1.1.10. + + +.. sectnum:: + +.. marker_terminology_start + +.. _specA_terminology: + +Terminology +=========== + +The keywords “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, +“SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this +document are to be interpreted as described in +:rfc2119:`RFC 2119`. + +The key phrase “information item”, as well as any specific type of +information item such as an “element information item”, are to be +interpreted as described in :xml_infoset:`XML Information Set`. + +.. _specA_cellml_infoset: + +**CellML infoset:** An XML information set containing a hierarchy +of information items +conforming to the rules described in this document. In this +specification such infosets are assumed to be CellML 2.0 infosets. + +.. _specA_cellml_model: + +**CellML model:** A mathematical model represented by a hierarchy of +one or more CellML +infosets, according to the rules described in this document. In this +specification, the topmost CellML infoset in a hierarchy is referred +to as the top-level CellML infoset. + +.. _specA_namespace: + +**Namespace:** An XML namespace, as defined in +:xml_namespace_1_1:`Namespaces in XML 1.1`. + +.. _specA_cellml_namespace: + +**CellML namespace:** The CellML 2.0 namespace. + +.. _specA_cellml2_namespace: + +**CellML 2.0 namespace:** The namespace http://www.cellml.org/cellml/2.0#. + +.. _specA_mathml_namespace: + +**MathML namespace:** The namespace http://www.w3.org/1998/Math/MathML. + +.. _specA_cellml_information_item: + +**CellML information item:** Any information item in the :ref:`CellML namespace`. + +.. _specA_basic_latin_alphabetic_character: + +**Basic Latin alphabetic character:** A Unicode character in the range +:unicode:`0041` to :unicode:`005A` or in the range :unicode:`0061` to :unicode:`007A`. + +.. _specA_european_numeral: + +**European numeral:** A Unicode character in the range :unicode:`0030` +to :unicode:`0039`. + +.. _specA_basic_latin_alphanumeric_character: + +**Basic Latin alphanumeric character:** A Unicode character which is either a +:ref:`Basic Latin alphabetic character` +or a :ref:`European numeral`. + +.. _specA_basic_latin_underscore: + +**Basic Latin underscore:** The Unicode character :unicode:`005F`. + +.. _specA_basic_latin_plus: + +**Basic Latin plus:** The Unicode character :unicode:`002B`. + +.. _specA_basic_latin_minus: + +**Basic Latin minus:** The Unicode character :unicode:`002D`. + +.. _specA_basic_latin_full_stop: + +**Basic Latin full stop:** The Unicode character :unicode:`002E`. + +.. _specA_whitespace_character: + +**Whitespace character:** Any one of the Unicode characters :unicode:`0020`, +:unicode:`0009`, :unicode:`000D`, or :unicode:`000A`. + +.. marker_terminology_end +.. marker_cellml_information_sets_start + +.. _specA_cellml_information_sets: + +CellML information sets +======================= + +CellML and XML +-------------- + +#. Every CellML infoset SHALL be represented in an XML information set + which conforms with the well-formedness requirements of + :xml_1_1:`XML 1.1`. + +#. In this document, the remaining provisions relating to CellML + infosets SHALL be interpreted as additional constraints on the XML + information set represented by a CellML infoset. + +Specific information items +-------------------------- + +#. For the purposes of this specification, a specific information item + is one of the following (see + https://www.w3.org/TR/xml-infoset/#infoitem for definitions): + + #. A document information item; + + #. An element information item; + + #. An attribute information item; + + #. A processing instruction information item; + + #. An unexpanded entity reference information item; + + #. A document type declaration information item; + + #. An unparsed entity information item; + + #. A notational information item. + +#. Specific information items MUST NOT appear in a CellML infoset except + where explicitly allowed by this specification, or where allowed by a + normative specification referenced by this specification. + +#. The order in which specific information items appear, as children of + an element information item defined in this specification, SHALL NOT + affect the semantic interpretation of the :ref:`CellML model`. + +.. _specA_semantic_equivalence: + +Semantically equivalent CellML infosets +--------------------------------------- + +#. Two :ref:`CellML infosets` SHALL be deemed + semantically equivalent if one can be transformed into the other + by making zero or more of the following changes: + + #. Adding, removing, and/or modifying comment information items. + + #. Changing (inserting, removing, and/or modifying) one or more + namespace information items, and/or modifying the prefix of one or + more information items, without changing the namespace that any + information item is in. + + #. The following paragraph applies only to character information + items which are the direct child of an element information item in + a :ref:`CellML namespace`, or in the + :ref:`MathML namespace`. + + Inserting or removing character information items that consist + entirely of :ref:`whitespace characters`, + changing the number of whitespace characters in such an information item, + or changing the number of whitespace characters at the beginning or end + of any character information item. + +Character information items +--------------------------- + +#. An element information item in the :ref:`CellML namespace` + MUST NOT contain any character information items, except for character information + items which consist entirely of whitespace characters. + +Use of namespaces +----------------- + +#. Element information items in a + :ref:`CellML infoset` MUST belong to one of the + following namespaces, unless explicitly indicated otherwise: + + #. The :ref:`CellML namespace` + + #. The :ref:`MathML namespace` + +#. Attribute information items in a CellML element MUST NOT be prefixed with a + namespace, unless explicitly indicated otherwise. + +XML ID Attributes +----------------- + +#. Any element information item in the :ref:`CellML namespace` + MAY contain an attribute with local name :code:`id.` This attribute SHALL be + treated as having attribute type ID, as defined in + `section 3.3.1 `__ + of + `XML 1.1 `__. + +.. marker_cellml_information_sets_end +.. marker_data_formats_start + +.. _specA_data_representation_formats: + +Data representation formats in CellML +===================================== + +The following data representation formats are defined for use in this +specification: + +.. _specA_cellml_identifier: + +1. A CellML identifier: + + .. container:: issue-data-repr-identifier-unicode + + 1. SHALL be a sequence of Unicode characters. + + .. container:: issue-data-repr-identifier-latin-alphanum + + 2. SHALL NOT contain any characters except + :ref:`Basic Latin alphanumeric characters` + and :ref:`Basic Latin underscores`. + + .. container:: issue-data-repr-identifier-at-least-one-alphanum + + 3. SHALL contain at least one + :ref:`alphabetic` character. + + .. container:: issue-data-repr-identifier-begin-euro-num + + 4. SHALL NOT begin with a + :ref:`numeral` or an + :ref:`underscore`. + + .. container:: issue-data-repr-identifier-identical + + 5. SHALL, when comparing two identifiers, be considered identical to + another identifier if and only if both identifiers have identical + sequences of characters. + +.. marker_data_formats_1 + +.. _specA_nonnegative_integer: + +2. A non-negative integer string: + + .. container:: issue-data-repr-nneg-int-base10 + + 1. SHALL be a base 10 representation of a non-negative integer. + + .. container:: issue-data-repr-nneg-int-euro-num + + 2. SHALL consist entirely of :ref:`European numerals`. + +.. marker_data_formats_2 + +.. _specA_integer: + +3. An integer string: + + .. container:: issue-data-repr-int-base10 + + 1. SHALL be a base 10 representation of an integer. + + .. container:: issue-data-repr-int-sign + + 2. SHALL, when the integer being represented is negative, + begin with the Basic Latin hyphen-minus character + :unicode:`002D` as the sign indicator. + + .. container:: issue-data-repr-int-euro-num + + 3. SHALL, other than the sign indicator, consist only of + :ref:`European numerals`. + +.. marker_data_formats_3 + +.. _specA_basic_real_number: + +4. A basic real number string: + + .. container:: issue-data-repr-basic-real-base10 + + 1. SHALL be a base 10 representation of a real number. + + .. container:: issue-data-repr-basic-real-sign + + 2. SHALL, when the basic real number being represented is negative, + begin with the Basic Latin hyphen-minus character + :unicode:`002D` as the sign indicator. + + .. container:: issue-data-repr-basic-real-decimal + + 3. MAY contain a single decimal point separator, which SHALL be the + Basic Latin full stop character :unicode:`002E`. + + .. container:: issue-data-repr-basic-real-euro-num + + 4. SHALL, other than the sign indicator and the decimal point + separator, consist only of :ref:`European numerals`. + +.. marker_data_formats_4 + +.. _specA_real_number: + +5. A real number string: + + .. container:: issue-data-repr-real-base10 + + 1. SHALL be a base 10 representation of a real number + *r*\ =\ *s*\ ⋅10\ *e*, where *s* is the significand, a real + number, and *e* is the exponent, an integer. + + .. container:: issue-data-repr-real-repr + + 2. The representation of the number SHALL be the representation of + the significand followed immediately by the representation of the + exponent. + + .. container:: issue-data-repr-real-significand + + 3. The significand SHALL be represented as a + :ref:`basic real number string`. + + .. container:: issue-data-repr-real-exponent + + 4. An exponent SHALL be represented by an exponent separator + character, followed by the + :ref:`integer string representation` of the + value of the exponent. Non-negative exponents MAY begin with the + Basic Latin plus sign character :unicode:`002B` as the sign indicator. + The exponent separator character SHALL be either the Basic Latin ‘E’ + character :unicode:`0045` or the Basic Latin ‘e’ character :unicode:`0065`. + + .. container:: issue-data-repr-real-no-exponent + + 5. A real number string without an exponent SHALL be a + :ref:`basic real number string`. + +.. marker_data_formats_end diff --git a/reference/sectionB_elements.rst b/reference/sectionB_elements.rst new file mode 100644 index 00000000..5ed94911 --- /dev/null +++ b/reference/sectionB_elements.rst @@ -0,0 +1,745 @@ +.. _sectionB: + +.. sectnum:: + +==================================== +Section B: Element information items +==================================== + +.. marker_model_start + +.. _model: + +The model element +================= + +Top-level of CellML infosets +---------------------------- + +.. container:: issue-model-element + + The top-level element information item in a :ref:`CellML infoset` MUST be an + element in the :ref:`CellML namespace` with a + local name equal to :code:`model`. In this specification, the top-level + element is referred to as the :code:`model` element. + +Specific information items +-------------------------- + +.. container:: issue-model-name + + 1. Every :code:`model` element MUST contain a :code:`name` + attribute. The value of the :code:`name` attribute MUST be a + :ref:`valid CellML identifier`. + +.. marker_model_1 + +.. container:: issue-model-child + + 2. A :code:`model` element MAY contain one or more additional specific + element children, each of which MUST be of one of the + following types: + + #. A :code:`component` element; or + + #. A :code:`connection` element; or + + #. An :code:`encapsulation` element; or + + #. An :code:`import` element; or + + #. A :code:`units` element; + + +.. marker_model_2 + +.. container:: issue-model-more-than-one-encapsulation + + 3. A :code:`model` element MUST NOT contain more than one :code:`encapsulation` + elements. + +.. marker_model_end +.. marker_import_start + +.. _import: + +The import element +================== + +An :code:`import` element information item (referred to in this +specification as an :code:`import` element) is an element +in the :ref:`CellML namespace` +with a local name equal to :code:`import`. + +Specific information items +-------------------------- + +.. container:: issue-import-href + + 1. Every :code:`import` element MUST contain an attribute + in the namespace :code:`http://www.w3.org/1999/xlink`, with a local + name equal to :code:`href`. + + The value of this attribute SHALL be a valid + locator :code:`href`, as defined in + :href_locator:`Section 5.4 of the XLink specification`. + + The :code:`href` attribute SHALL be treated according to the + :xlink:`XLink specification`, by applying the rules for simple-type elements. + + When describing an :code:`import` element or one of its children, the phrase + “imported CellML infoset” SHALL refer to the + :ref:`CellML infoset` obtained + by parsing the document referenced by the :code:`href` attribute. + +.. marker_import_1 + +.. container:: issue-import-child + + 2. Every :code:`import` element MAY contain one or more specific element + children, each of which MUST be of one of the following types: + + #. An :code:`import units` element; or + + #. An :code:`import component` element. + +.. marker_import_2 + +.. container:: issue-import-circular + + 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported + CellML infoset MUST NOT be semantically equivalent to the importing + CellML infoset (see + :ref:`Semantically equivalent CellML infosets ` + ). + +.. marker_import_end +.. marker_import_units_start + +.. _import_units: + +The import units element +======================== + +An :code:`import units` element information item (referred to in this +specification as an :code:`import units` element) is an element in the +:ref:`CellML namespace` with a local name equal to :code:`units`, which +appears as a child of an :code:`import` element. + +Specific information items +-------------------------- + +.. contianer:: issue-import-units-name + + 1. Every :code:`import units` element MUST contain a :code:`name` + attribute. The value of the :code:`name` attribute MUST be a + :ref:`valid CellML identifier`. + + The value of the :code:`name` attribute MUST NOT be identical + to the :code:`name` attribute of any other :code:`units` or + :code:`import units` element in the :ref:`CellML infoset`. + +.. marker_import_units_1 + +.. container:: issue-import-units-ref + + 2. Every :code:`import units` element MUST contain a + :code:`units_ref` attribute. The value of the :code:`units_ref` attribute + MUST be a + :ref:`valid CellML identifier`. + + The value of the :code:`units_ref` + attribute MUST match the value of the :code:`name` attribute on a + :code:`units` or :code:`import units` element in the imported CellML + infoset. + +.. marker_import_units_end +.. marker_import_component_start + +.. _import_component: + +The import component element +============================ + +An :code:`import component` element information item (referred to in this +specification as an :code:`import component` element) is an element +in the :ref:`CellML namespace` with a local name equal to +:code:`component`, which appears as a child of an :code:`import` element. + +Specific information items +-------------------------- + +.. container:: issue-import-component-name + + 1. Every :code:`import component` element MUST contain a + :code:`name` attribute. The value of the :code:`name` attribute MUST be a + :ref:`valid CellML identifier`. + + The value of the :code:`name` attribute MUST NOT + be identical to the :code:`name` attribute of any other :code:`component` or + :code:`import component` element in the :ref:`CellML infoset`. + +.. container:: issue-import-component-ref + + 2. Every :code:`import component` element MUST contain a + :code:`component_ref` attribute. The value of the :code:`component_ref` + attribute MUST be a :ref:`valid CellML identifier`. + + The value of the + :code:`component_ref` attribute MUST match the value of the :code:`name` + attribute on a :code:`component` or :code:`import component` element in the + imported :ref:`CellML infoset`. See also the + :ref:`Component reference` + section. + +.. marker_import_component_end +.. marker_units_start + +.. _units: + +The units element +================= + +A :code:`units` element information item (referred to in this specification +as a :code:`units` element) is an element in the CellML +namespace with a local name equal to :code:`units`, and with a :code:`model` +element as its parent. + +Specific information items +-------------------------- + +.. container:: issue-units-name + + 1. Every :code:`units` element MUST contain a :code:`name` + attribute. The value of the :code:`name` attribute MUST be a + :ref:`valid CellML identifier`. + +.. container:: issue-units-name-unique + + 2. The value of the :code:`name` attribute MUST NOT be identical to the + :code:`name` attribute of any other :code:`units` element or + :code:`import units` element in the :ref:`CellML infoset`. + +.. container:: issue-units-standard + + 3. The value of the :code:`name` attribute MUST NOT be equal to the name of + any of the units listed in the :ref:`Built-in units ` + table. + +.. container:: issue-units-child + + 4. A :code:`units` element MAY contain one or more :code:`unit` element + children. + +.. marker_units_end +.. marker_unit_start + +.. _unit: + +The unit element +================ + +A :code:`unit` element information item (referred to in this specification +as a :code:`unit` element) is an element in the CellML +namespace with a local name equal to :code:`unit`, and with a :code:`units` +element as its parent. + +Specific information items +-------------------------- + +.. container:: issue-unit-units-ref + + 1. Every :code:`unit` element MUST contain a :code:`units` + attribute. The value of the :code:`units` attribute MUST be + a valid units reference, as defined in the + :ref:`Units reference ` section. + + .. contianer:: issue-unit-digraph + + 1. For the purpose of the constraint in the next paragraph, the + :code:`units` element inclusion digraph SHALL be defined as a + conceptual digraph which SHALL contain one node for every + :code:`units` element in the :ref:`CellML model`. + + The :code:`units` element + inclusion digraph SHALL contain an arc from :code:`units` element *A* + to :code:`units` element *B* if and only if :code:`units` element *A* + contains a :code:`unit` element with :code:`units` attribute value that + is a units reference to :code:`units` element *B*. + + .. container:: issue-unit-circular-ref + + 2. The value of the :code:`units` attribute MUST NOT be such that the + :code:`units` element inclusion digraph contains one or more cycles + (in other words, units definitions must not be cyclical). + +.. marker_unit_1 + +.. container:: issue-unit-optional-attribute + + 2. A :code:`unit` element MAY contain any of the following attributes: + + .. container:: issue-unit-prefix + + 1. The :code:`prefix` attribute. If present, the value of the attribute + MUST meet the constraints specified in the + :ref:`Interpretation of units ` section. + + .. container:: issue-unit-multiplier + + 2. The :code:`multiplier` attribute. If present, the value of the + attribute MUST be a real number string. + + .. container:: issue-unit-exponent + + 3. The :code:`exponent` attribute. If present, the value of the attribute + MUST be a real number string. + +.. marker_unit_end +.. marker_component_start + +.. _component: + +The component element +===================== + +A :code:`component` element information item (referred to in this +specification as a :code:`component` element) is an element +in the :ref:`CellML namespace` with a local name equal to :code:`component`, and +which appears as a child of a :code:`model` element. + +.. marker_component_1 + +Specific information items +-------------------------- + +.. container:: issue-component-name + + 1. Every :code:`component` element MUST contain a :code:`name` + attribute. The value of the :code:`name` attribute MUST be a + :ref:`valid CellML identifier`. + + The value of the :code:`name` attribute MUST NOT be identical + to the :code:`name` attribute on any other :code:`component` element or + :code:`import component` element in the :ref:`CellML infoset`. + +.. marker_component_2 + +.. container:: issue-component-child + + 2. A :code:`component` element MAY contain one or more specific element + children, each of which MUST be of one of the following types: + + #. A :code:`variable` element; or + + #. A :code:`reset` element; or + + #. A :code:`math` element. + +.. marker_component_end +.. marker_variable_start + +.. _variable: + +The variable element +==================== + +A :code:`variable` element information item (referred to in this +specification as a :code:`variable` element) is an element +in the :ref:`CellML namespace` with a local name +equal to :code:`variable`, and which appears as a child of a :code:`component` element. + +Specific information items +-------------------------- + +1. Every :code:`variable` element MUST have exactly one of each of the following + attributes: + + .. container:: issue-variable-name + + 1. The :code:`name` attribute. The value of the :code:`name` attribute MUST + be a :ref:`valid CellML identifier`. + + The value of the :code:`name` attribute + MUST NOT be identical to the :code:`name` attribute on any sibling + :code:`variable` element. + + .. container:: issue-variable-units + + 2. The :code:`units` attribute. The value of the :code:`units` attribute + MUST be a :ref:`valid CellML identifier`, + and MUST meet the constraints described in the + :ref:`Effect of units on variables` + section. + +2. Every :code:`variable` element MAY contain one or more of the following + attributes: + + .. container:: issue-variable-interface + + 1. The :code:`interface` attribute. If the attribute is present, it MUST + have value of :code:`public`, :code:`private`, + :code:`public_and_private`, or :code:`none`. + + .. container:: issue-variable-initial-value + + 2. The :code:`initial_value` attribute. If the attribute is present, it + MUST meet the requirements described by the + :ref:`Interpretation of initial values` section. + +.. marker_variable_end +.. marker_reset_start + +.. _reset: + +The reset element +================= + +A :code:`reset` element information item (referred to in this specification +as a :code:`reset` element) is an element in the CellML +namespace with a local name equal to :code:`reset`, and which appears as a +child of a :code:`component` element. + +Specific information items +-------------------------- + +1. Every :code:`reset` element MUST have exactly one each each of the following + attributes: + + .. container:: issue-reset-variable-reference + + 1. The :code:`variable` attribute. The value of the :code:`variable` + attribute MUST be a variable reference to a variable defined + within the parent :code:`component` element of the :code:`reset` element. + + .. container:: issue-reset-test-variable-reference + + 2. The :code:`test_variable` attribute. The value of the + :code:`test_variable` attribute MUST be a variable reference to a + variable defined within the parent :code:`component` element of the + :code:`reset` element. + + .. container:: issue-reset-order + + 3. The :code:`order` attribute. The value of the :code:`order` attribute + MUST be an integer string. + + The value of the :code:`order` attribute MUST + be unique for all :code:`reset` elements with :code:`variable` attributes + that reference variables in the same connected variable set (see + :ref:`Interpretation of map_variables`). + +.. container:: issue-reset-child + + 2. A :code:`reset` element MUST contain exactly two element + children, which MUST be one each of the following types: + + .. container:: issue-reset-test-value + + 1. A :code:`test_value` element; and, + + .. container:: issue-reset-reset-value + + 2. A :code:`reset_value` element. + +.. marker_reset_end +.. marker_test_value_start + +.. _test_value: + +The test_value element +====================== + +A :code:`test_value` element information item (referred to in this +specification as a :code:`test_value` element) is an element in the +:ref:`CellML namespace` with a local name +equal to :code:`test_value`, +and which appears as a child of a :code:`reset` element. + +Specific information items +-------------------------- + +.. container:: issue-test-value + + 1. A :code:`test_value` element MUST contain exactly one :code:`math` element + child. + +.. marker_test_value_end +.. marker_reset_value_start + +.. _reset_value: + +The reset_value element +======================= + +A :code:`reset_value` element information item (referred to in this +specification as a :code:`reset_value` element) is an element in the CellML +namespace with a local name equal to :code:`reset_value`, +and which appears as a child of a :code:`reset` element. + +Specific information items +-------------------------- + +.. container:: issue-reset-value + + 1. A :code:`reset_value` element MUST contain exactly one :code:`math` element + child. + +.. marker_reset_value_end +.. marker_math_start + +.. _math: + +The math element +================ + +A :code:`math` element information item (referred to in this specification +as a :code:`math` element) is an element in the MathML +namespace that appears as a direct child of a :code:`component` element, a +:code:`test_value` element, or a :code:`reset_value` element. + +Specific information items +-------------------------- + +.. container:: issue-math-mathml + + 1. A :code:`math` element MUST be the top-level of a content MathML tree, as + described in :mathml2spec:`MathML 2.0`. + +.. container:: issue-math-child + + 2. Each element child of a :code:`math` element MUST have + an element-type name that is listed in the + :ref:`Supported MathML Elements ` table. + +.. container:: issue-math-ci-variable-reference + + 3. Every variable name given using the MathML :code:`ci` element MUST be a + :ref:`variable reference` to a :code:`variable` + within the :code:`component` element that the :code:`math` element + is contained. + +.. container:: issue-math-cn-units-attribute + + 4. Any MathML :code:`cn` elements MUST each have an attribute in the + :ref:`CellML namespace`, with a local name equal to :code:`units`. + The value of this attribute MUST be a valid units + reference. + +.. container:: issue-math-cn-type + + 5. The :code:`cn` element MUST be one of the following + :mathml2types:`types` : real or e-notation. + +.. container:: issue-math-cn-base10 + + 6. The :code:`cn` element MUST be of base 10. + +.. _table_supported_mathml_elements: + +Table: Supported MathML Elements +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ++----------------------------------+----------------------------------+ +| **Element Category** | **Element List** | ++----------------------------------+----------------------------------+ +| Simple Operands | , , | ++----------------------------------+----------------------------------+ +| Basic Structural | , , , | +| | | ++----------------------------------+----------------------------------+ +| Relational and Logical Operators | , , , , , | +| | , , , , | ++----------------------------------+----------------------------------+ +| Arithmetic Operators | , , , | +| | , , , | +| | , , , , | +| | , , , | +| | , , | ++----------------------------------+----------------------------------+ +| Calculus Elements | | ++----------------------------------+----------------------------------+ +| Qualifier Elements | , , | +| | (child of or ) | ++----------------------------------+----------------------------------+ +| Trigonometric Operators | , , , , | +| | , , | +| | | +| | , , , , | +| | , , , | +| | , , | +| | | +| | , , , | +| | , , , | +| | , , | ++----------------------------------+----------------------------------+ +| Mathematical and Logical | , , | +| Constants | , , | +| | , | ++----------------------------------+----------------------------------+ + +.. marker_math_end +.. marker_encapsulation_start + +.. _encapsulation: + +The encapsulation element +========================= + +An :code:`encapsulation` element information item (referred to in this +specification as an :code:`encapsulation` element) is an element in the +:ref:`CellML namespace` with a local name equal to +:code:`encapsulation`, and which appears as a child of a :code:`model` element. + +Specific information items +-------------------------- + +.. container:: issue-encapsulation-component-ref + + 1. Every :code:`encapsulation` element MUST contain one or more + :code:`component_ref` elements. + +.. marker_encapsulation_end +.. marker_component_ref_start + +.. _component_ref: + +The component_ref element +========================= + +A :code:`component_ref` element information item (referred to in this +specification as a :code:`component_ref` element) is an element in the +:ref:`CellML namespace` with a local name equal to +:code:`component_ref`, and which appears as a child of an :code:`encapsulation` +element. + +Specific information items +-------------------------- + +.. container:: issue-component-ref-component-attribute + + 1. Every :code:`component_ref` element MUST contain a + :code:`component` attribute. + + The value of this attribute + MUST be a :ref:`valid CellML identifier`, + and MUST match the :code:`name` + attribute on a :code:`component` element or an :code:`import component` + element in the :ref:`CellML infoset`. + +.. container:: issue-component-ref-child + + 2. Every :code:`component_ref` element MAY in turn contain one or more + :code:`component_ref` element children. + +.. container:: issue-component-ref-encapsulation + + 3. A :code:`component_ref` element which is an immediate child of an + :code:`encapsulation` element MUST each contain at least one + :code:`component_ref` element child. + +.. marker_component_ref_end +.. marker_connection_start + +.. _connection: + +The connection element +====================== + +A :code:`connection` element information item (referred to in this +specification as a :code:`connection` element) is an element in the +:ref:`CellML namespace` with a local name equal to :code:`connection`, +and which appears as a child of a :code:`model` element. + +Specific information items +-------------------------- + +.. container:: issue-connection-component1 + + 1. Each :code:`connection` element MUST contain a + :code:`component_1` attribute. The value of the :code:`component_1` + attribute + MUST be a :ref:`valid CellML identifier`. + + The value of this attribute MUST + be equal to the :code:`name` attribute on a :code:`component` or + :code:`import component` element in the :ref:`CellML infoset` + (see :ref:`Component reference`). + +.. container:: issue-connection-component2 + + 2. Each :code:`connection` element MUST contain a + :code:`component_2` attribute. The value of the :code:`component_2` + attribute + MUST be a :ref:`valid CellML identifier`. + + The value of this attribute MUST + be equal to the :code:`name` attribute on a :code:`component` or + :code:`import component` element in the :ref:`CellML infoset` + (see :ref:`Component reference `). + + It MUST NOT be equal to the value of the :code:`component_1` attribute. + +.. container:: issue-connection-unique-transitive + + 3. A :ref:`CellML infoset` MUST NOT contain more than one :code:`connection` + element with a given pair of :code:`component`\ s referenced by the + :code:`component_1` and :code:`component_2` attribute values, in any order. + +.. container:: issue-connection-map-variables + + 4. Every :code:`connection` element MUST contain one or more + :code:`map_variables` elements. + +.. marker_connection_end +.. marker_map_variables_start + +.. _map_variables: + +The map_variables element +========================= + +A :code:`map_variables` element information item (referred to in this +specification as a :code:`map_variables` element) is an element in the +:ref:`CellML namespace` with a local name equal to +:code:`map_variables`, and which appears as a child of a :code:`connection` +element. + +Specific information items +-------------------------- + +.. container:: issue-map-variables-variable1 + + 1. Each :code:`map_variables` element MUST contain a + :code:`variable_1` attribute. + + The value of the :code:`variable_1` attribute + MUST be a :ref:`valid CellML identifier`. + + The value of this attribute MUST + be equal to the :code:`name` attribute on a :code:`variable` element child + of the :code:`component` element or :code:`import component` element + referenced by the :code:`component_1` attribute on the :code:`connection` + element which is the parent of this element. + +.. container:: issue-map-variables-variable2 + + 2. Each :code:`map_variables` element MUST contain a + :code:`variable_2` attribute. + + The value of the :code:`variable_2` attribute + MUST be a :ref:`valid CellML identifier`. + + The value of this attribute MUST + be equal to the :code:`name` attribute on a :code:`variable` element child + of the :code:`component` element or :code:`import component` element + referenced by the :code:`component_2` attribute on the :code:`connection` + element which is the parent of this element. + +.. container:: issue-map-variables-unique + + 3. A :code:`connection` element MUST NOT contain more than one + :code:`map_variables` element with a given :code:`variable_1` attribute + value and :code:`variable_2` attribute value pair. + +.. marker_map_variables_end diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst new file mode 100644 index 00000000..b884c904 --- /dev/null +++ b/reference/sectionC_interpretation.rst @@ -0,0 +1,577 @@ +.. sectnum:: + + +.. marker_interpretation_of_imports_start + +.. _specC_imports: + +Interpretation of imports +------------------------- + +#. Each :code:`import` element present in a + :ref:`CellML infosets` (the importing + infoset) SHALL define a new and separate instance of the CellML + infoset referenced by the :code:`href` attribute (the imported infoset). + See :ref:`Units reference` and + :ref:`Component reference` for the specifics + of importing units and components. + +.. marker_interpretation_of_imports_end +.. marker_units_reference_start + +.. _specC_units_reference: + +Units reference +--------------- + +#. A units reference SHALL be a CellML identifier and SHALL be + interpreted dependent on the context of the :ref:`CellML model` in which it + occurs, according to the units referencing rules defined later in + this section. + +#. A :ref:`CellML infoset` MUST NOT contain a units reference for which no + referencing rule can be held to have been followed. + +#. The units referencing rules are: + + #. Where there is a :code:`units` element with a :code:`name` attribute + identical to the units reference, then the units reference SHALL + refer to that :code:`units` element. + + #. Where there is an :code:`import units` element in the :ref:`CellML infoset`, + such that the :code:`import units` element has a :code:`name` attribute + identical to the units reference, then the units reference SHALL + be treated with respect to referencing rules as if the units + reference appeared in the imported infoset, and referring to the + :code:`name` specified in the :code:`units_ref` attribute of the + :code:`import units` element. + + #. Where the units reference is equal to the value in the ‘Name’ + column of the :ref:`Built-in units table` , + then the units reference SHALL be a reference to the built-in units + corresponding to that row of the table. + +.. marker_units_reference1 + +.. _table_built_in_units: + +Table: Built-in units +~~~~~~~~~~~~~~~~~~~~~ + ++---------------+-------------------+--------------------------------+ +| **Name** | **Multiplier(s)** | **Unit reduction tuple** | +| | | (dimension, exponent) set | ++---------------+-------------------+--------------------------------+ +| ampere | - | - | ++---------------+-------------------+--------------------------------+ +| becquerel | 1 | (second, -1) | ++---------------+-------------------+--------------------------------+ +| candela | - | - | ++---------------+-------------------+--------------------------------+ +| coulomb | 1, 1 | (second, 1), (ampere,1) | ++---------------+-------------------+--------------------------------+ +| dimensionless | - | - | ++---------------+-------------------+--------------------------------+ +| farad | 1, 1, 1, 1 | (metre, -2), (kilogram, -1), | +| | | (second, 4), (ampere, 2) | ++---------------+-------------------+--------------------------------+ +| gram | 0.001 | (kilogram,1 ) | ++---------------+-------------------+--------------------------------+ +| gray | 1, 1 | (metre, 2), (second, -2) | ++---------------+-------------------+--------------------------------+ +| henry | 1, 1, 1, 1 | (metre, 2), (kilogram, 1), | +| | | (second, -2), (ampere, -2) | ++---------------+-------------------+--------------------------------+ +| hertz | 1 | (second, -1) | ++---------------+-------------------+--------------------------------+ +| joule | 1, 1, 1 | (metre, 2), (kilogram, 1), | +| | | (second, -2) | ++---------------+-------------------+--------------------------------+ +| katal | 1, 1 | (second, -1), (mole, 1) | ++---------------+-------------------+--------------------------------+ +| kelvin | - | - | ++---------------+-------------------+--------------------------------+ +| kilogram | - | - | ++---------------+-------------------+--------------------------------+ +| litre | 0.001 | (metre, 3) | ++---------------+-------------------+--------------------------------+ +| lumen | 1 | (candela, 1) | ++---------------+-------------------+--------------------------------+ +| lux | 1, 1 | (metre, -2), (candela, 1) | ++---------------+-------------------+--------------------------------+ +| metre | - | - | ++---------------+-------------------+--------------------------------+ +| mole | - | - | ++---------------+-------------------+--------------------------------+ +| newton | 1, 1, 1 | (metre, 1), (kilogram, 1), | +| | | (second, -2) | ++---------------+-------------------+--------------------------------+ +| ohm | 1, 1, 1, 1 | (metre, 2), (kilogram, 1), | +| | | (second, -3), (ampere, -2) | ++---------------+-------------------+--------------------------------+ +| pascal | 1, 1, 1 | (metre, -1), (kilogram, 1), | +| | | (second, -2) | ++---------------+-------------------+--------------------------------+ +| radian | 1, 1 | (metre, 1), (metre, -1) | ++---------------+-------------------+--------------------------------+ +| second | - | - | ++---------------+-------------------+--------------------------------+ +| siemens | 1, 1, 1, 1 | (metre, -2), (kilogram -1), | +| | | (second, 3), (ampere, 2) | ++---------------+-------------------+--------------------------------+ +| sievert | 1, 1 | (metre, 2), (second, -2) | ++---------------+-------------------+--------------------------------+ +| steradian | 1, 1 | (metre, 2), (metre, -2) | ++---------------+-------------------+--------------------------------+ +| tesla | 1, 1, 1 | (kilogram, 1), (second, -2), | +| | | (ampere, -1) | ++---------------+-------------------+--------------------------------+ +| volt | 1, 1, 1, 1 | (metre, 2), (kilogram, 1), | +| | | (second , -3), (ampere, -1) | ++---------------+-------------------+--------------------------------+ +| watt | 1, 1, 1 | (metre, 2), (kilogram, 1), | +| | | (second, -3) | ++---------------+-------------------+--------------------------------+ +| weber | 1, 1, 1, 1 | (metre, 2), (kilogram, 1), | +| | | (second, -2), (ampere, -1) | ++---------------+-------------------+--------------------------------+ + +.. marker_units_reference_end +.. marker_interpretation_of_units_start + +.. _specC_units: + +Interpretation of units +----------------------- + +#. The :code:`units` element SHALL be interpreted as the product of its + :code:`unit` element children, according to the following rules: + + #. The prefix term is a conceptual property of :code:`unit` elements. If + the :code:`unit` element does not have a :code:`prefix` attribute + information item, the prefix term SHALL have value 0. If the + :code:`prefix` attribute information item has a value which is an + integer string, then the value of the prefix term SHALL be the + numerical value of that string. Otherwise, the :code:`prefix` + attribute information item MUST have a value taken from the ‘Name’ + column of the :ref:`Prefix values table`, and the + prefix term SHALL have the value taken from the ‘Value’ column of + the same row. + + #. The exponent term is a conceptual property of :code:`unit` elements. + If a :code:`unit` element has no :code:`exponent` attribute information + item, the exponent term SHALL have value 1.0. Otherwise, the value + of the :code:`exponent` attribute information item MUST be a real + number string, and the value of the exponent term SHALL be the + numerical value of that string. + + #. The multiplier term is a conceptual property of :code:`unit` elements. + If a :code:`unit` element has no :code:`multiplier` attribute information + item, the multiplier term SHALL have value 1.0. Otherwise, the + value of the :code:`multiplier` attribute information item MUST be a + real number string, and the value of the multiplier term SHALL be + the numerical value of that string. + + #. The relationship between the product, *P,* of numerical values + given in each and every child :code:`unit` element units, to a + numerical value, *x,* with units given by the encompassing + :code:`units` element, SHALL be + + .. image:: images/equation_units_expansion.png + :align: center + :width: 50% + + where: *u\ x* denotes the units of the :code:`units` element; *p\ i*, + *e\ i*, *m\ i*, and *u\ i* refer to the prefix, exponent and + multiplier terms and units of the *i*\ th :code:`unit` child element, + respectively. Square brackets encompass the units of numerical + values. + +#. For the purposes of this specification, the “irreducible units” of a + model SHALL consist of 1) the units defined in a model that are not + defined in terms of other units (i.e. the set of :code:`units` elements + in the :ref:`CellML model` which have no :code:`unit` child elements), and 2) + built-in irreducible units (those built-in units with ‘-’ in the + ‘Unit Reduction...’ column of the + :ref:`Built-in units` + table) referenced by variables or other units in the model. + +#. The “unit reduction” is a conceptual property of :code:`units` elements. + It consists of a set of tuples where each tuple is composed of a) a + unit name and b) a real-valued exponent. Tuples SHALL be determined + as follows: + + #. If the :code:`units` element has no :code:`unit` child elements, then the + set of tuples SHALL have a single member, which SHALL consist of + the name of the :code:`units` element and the exponent 1.0. + + #. If the :code:`units` element has one or more :code:`unit` child elements, + then the set of tuples SHALL consist of the entire collection of + tuples given by all :code:`unit` child elements. Tuples for each + :code:`unit` child element SHALL be determined as follows: + + #. Where the units reference of the :code:`unit` child element is to a + single unit which is an irreducible unit, then the set of + tuples SHALL have a single member, which SHALL consist of the + name of the irreducible unit being referenced and the exponent + 1.0. + + #. Where the units reference of the :code:`unit` child element is to + built-in units other than an irreducible unit, then the tuples + SHALL be derived directly from the :ref:`Built-in + units` table. Specifically, the set of + tuples SHALL consist of the tuples given in the ‘Unit reduction + tuple ... set’ column of the row for which the value in the + ‘Name’ column matches the name of the units reference. + + #. Where the units reference of the :code:`unit` child element is to a + unit which is neither built-in, nor an irreducible unit, the + set of tuples SHALL be defined recursively as the set of tuples + for the :code:`units` element so referenced. + + #. The exponents of each tuple in the set for the current :code:`unit` + element, as derived by following rule 3.2.1, 3.2.2 or 3.2.3 + above, SHALL be multiplied by the exponent term of the current, + referencing, :code:`unit` element. + + #. Tuples which have the name element of ‘dimensionless’ SHALL be + removed from the set of tuples. Note that this can result in the + set of tuples being empty. + + #. Where the set of tuples consists of tuples which have the same + name element, those tuples SHALL be combined into a single tuple + with that name element and an exponent being the sum of the + combined tuples’ exponents. If the resulting tuple’s exponent term + is zero, the tuple SHALL be removed from the set of tuples. Note + that this can result in the set of tuples being empty. + +.. _table_prefix_values: + +Table: Prefix values +~~~~~~~~~~~~~~~~~~~~ + +======== ========= +**Name** **Value** +yotta 24 +zetta 21 +exa 18 +peta 15 +tera 12 +giga 9 +mega 6 +kilo 3 +hecto 2 +deca 1 +deci −1 +centi −2 +milli −3 +micro −6 +nano −9 +pico −12 +femto −15 +atto −18 +zepto −21 +yocto −24 +======== ========= + + +.. marker_interpretation_of_units_end +.. marker_component_reference_start + +.. _specC_component_reference: + +Component reference +------------------- + +#. A component reference SHALL be the name of a component, and SHALL be + interpreted based on the context within the :ref:`CellML model` in which it + occurs. + +#. A component reference present in an information item which is a + descendant of a :code:`model` element SHALL be identical to either the + :code:`name` attribute on a :code:`component` element or to the :code:`name` + attribute on an :code:`import component` element. + +#. A component reference which is identical to the :code:`name` attribute on + a :code:`component` element SHALL be treated as a reference to that + :code:`component` element. + +#. A component reference which is identical to the :code:`name` attribute on + an :code:`import component` element SHALL be treated for the purposes of + referencing as if the component reference appeared in the imported + model, and referred to element with the :code:`name` specified in the + :code:`component_ref` attribute of the :code:`import component` element. + +#. It is noted, for the avoidance of doubt, that CellML models MAY apply + the previous rule recursively, to reference an :code:`import component` + element which in turn references another :code:`import component` + element. + +.. marker_component_reference_end +.. marker_variable_reference_start + +.. _specC_variable_reference: + +Variable reference +------------------ + +#. When present in an information item which is a descendant of a + :code:`component` element, a variable reference SHALL be the name of a + variable, and SHALL refer to the :code:`variable` element in that + component with a :code:`name` attribute identical to the variable + reference. + +#. In all other cases, a variable reference SHALL consist of a component + reference and a variable name. In this case, the variable reference + SHALL be treated as if it was just the variable name present in the + :code:`component` element referenced by the component reference. + +.. marker_variable_reference_end +.. marker_interpretation_of_initial_values_start + +.. _specC_initial_values: + +Interpretation of initial values +-------------------------------- + +#. The :code:`initial_value` attribute of a :code:`variable` element MUST + either be a real number string, or a variable reference (see 19.5). + +#. The conditions when initial values hold are (by design) not defined + in a :ref:`CellML model` document. + +#. Where the :code:`initial_value` attribute has a real number value, it + SHALL be interpreted as a statement that the variable on which the + attribute appears is equal to that real number value, under the + conditions when the initial value holds. + +#. Where the :code:`initial_value` attribute is a variable reference, it + SHALL be interpreted as a statement that the variable on which the + attribute appears is equal to the referenced variable under the + conditions when the initial value holds. + +.. marker_interpretation_of_initial_values_end +.. marker_effect_of_units_on_variables_start + +.. _specC_effect_of_units_on_variables: + +Effect of units on variables +---------------------------- + +#. The value of the :code:`units` attribute on every :code:`variable` element + MUST be a valid units reference. The target of this units reference + is referred to as the variable units, and the corresponding unit + reduction (see :ref:`Interpretation of units`) is referred + to as the variable unit reduction. + +.. marker_effect_of_units_on_variables_end +.. marker_interpretation_of_mathematics_start + +.. _specC_mathematics: + +Interpretation of mathematics +----------------------------- + +#. The following :code:`component` elements SHALL, for the purposes of this + specification, be “pertinent component elements”: + + #. All :code:`component` elements in the top-level + :ref:`CellML infoset` for the + :ref:`CellML model`; + + #. All :code:`component` elements referenced by :code:`import component` + elements (see + :ref:`The import component element `) + in the top-level :ref:`CellML infoset`; and + + #. All :code:`component` elements which are descendants in the + encapsulation digraph (see + :ref:`Interpretation of encapsulation `) + of a pertinent :code:`component` element. + +#. Every MathML element in the :ref:`CellML model` which appears as a direct + child information item of a MathML :code:`math` element information item, + which in turn appears as a child information item of a pertinent + :code:`component` element, SHALL be treated, in terms of the semantics of + the mathematical model, as a statement which holds true + unconditionally. + +#. Units referenced by a :code:`units` attribute information item SHALL NOT + affect the mathematical interpretation of the :ref:`CellML model`. + +.. marker_interpretation_of_mathematics_end +.. marker_interpretation_of_encapsulation_start + +.. _specC_encapsulation: + +Interpretation of encapsulation +------------------------------- + +#. For the purposes of this specification, there SHALL be a “conceptual + encapsulation digraph” in which there is EXACTLY one node for every + component in the :ref:`CellML model`. Therefore the encapsulation digraph + will not contain any loops. + +#. Where a :code:`component_ref` element appears as a child of another + :code:`component_ref` element, there SHALL be an arc in the encapsulation + digraph, and that arc SHALL be from the node corresponding to the + component referenced by the parent :code:`component_ref` element, and to + the node corresponding to the component referenced by the child + :code:`component_ref` element. + +#. The encapsulated set for a component *A* SHALL be the set of all + components *B* such that there exists an arc in the encapsulation + digraph from the node corresponding to *A* to the node corresponding + to *B*. + +#. The encapsulation parent for a component *A* SHALL be the component + corresponding to the node which is the parent node in the + encapsulation digraph of the node corresponding to *A*. + +#. The sibling set for a component *A* SHALL be the set of all + components which have the same encapsulation parent as *A*, or in the + case that *A* has no encapsulation parent, SHALL be the set of all + components which do not have an encapsulation parent. + +#. The hidden set for a component *A* SHALL be the set of all components + *B* where component *B* is not in the encapsulated set for component + *A*, and component *B* is not the encapsulation parent of component + *A*, and component *B* is not in the sibling set for component *A*. + +#. There MUST NOT be a :code:`connection` element such that the component + referenced by the :code:`component_1` attribute is in the hidden set of + the component referenced by the :code:`component_2` attribute, nor vice + versa. + +.. marker_interpretation_of_encapsulation_end +.. marker_interpretation_of_map_variables_start + +.. _specC_map_variables: + +Interpretation of map_variables +------------------------------- + +#. For the purposes of this specification, the variable equivalence + (conceptual) network SHALL be an undirected graph with one node for + every :code:`variable` element in the :ref:`CellML model`. The arcs of this + graph SHALL be equivalences defined in the CellML model. + +#. For each :code:`map_variables` element present in the CellML model, we + define variables *A* and *B* for use in the rules in this section as + follows. + + #. Variable *A* SHALL be the variable referenced by the encompassing + :code:`connection` element’s :code:`component_1` and this + :code:`map_variables` element’s :code:`variable_1` attribute. + + #. Variable *B* SHALL be the variable referenced by the encompassing + :code:`connection` element’s :code:`component_2` and this + :code:`map_variables` element’s :code:`variable_2` attribute. + +#. For every :code:`map_variables` element present in the CellML model, + there SHALL be an arc in the variable equivalence network. + + #. One endpoint of the arc in the variable equivalence network SHALL + be the node corresponding to variable *A*. + + #. One endpoint of the arc in the variable equivalence network SHALL + be the node corresponding to variable *B*. + +#. CellML models MUST NOT contain any pair of :code:`map_variables` + elements which duplicates an existing arc in the variable + equivalence network. + +#. The variable equivalence network MUST NOT contain any cycles. + +#. For each :code:`map_variables` element present in the CellML model, the + variable unit reduction (see + :ref:`Effect of units on variables ` ) + of variable *A* MUST have an identical set + of tuples to the variable unit reduction of variable *B*. Two sets + of tuples SHALL be considered identical if all of the tuples from + each set are present in the other, or if both sets are empty. Two + tuples are considered identical if and only if both the name and + exponent value of each tuple are equivalent. + +#. Tuples differing by a multiplying factor in their unit reduction + MUST be taken into account when interpreting the numerical values of + the variables (see :ref:`Interpretation of units`). + +#. For a given variable, the available interfaces SHALL be determined + by the :code:`interface` attribute information item on the corresponding + :code:`variable` element as follows. + + #. A value of :code:`public` specifies that the variable has a public + interface. + + #. A value of :code:`private` specifies that the variable has a private + interface. + + #. A value of :code:`public_and_private` specifies that the variable has + both a public and a private interface. + + #. A value of :code:`none` specifies that the variable has no interface. + + #. If the :code:`interface` attribute information item is absent, then + the variable has no interface. + +#. The applicable interfaces for variables *A* and *B* SHALL be defined + as follows. + + #. When the parent :code:`component` element of variable *A* is in the + sibling set of the parent :code:`component` element of variable *B*, + the applicable interface for both variables *A* and *B* SHALL be + the public interface. + + #. When the parent :code:`component` element of variable *A* is in the + encapsulated set of the parent :code:`component` element of variable + *B*, the applicable interface for variable *A* SHALL be the + public interface, and the applicable interface for variable *B* + SHALL be the private interface. + + #. When the parent :code:`component` element of variable *B* is in the + encapsulated set of the parent :code:`component` element of variable + *A*, the applicable interface for variable *A* SHALL be the + private interface, and the applicable interface for variable *B* + SHALL be the public interface. + +#. CellML models MUST only contain :code:`map_variables` elements where the + interface of variable *A* and the interface of variable *B* are + applicable interfaces. + +#. The :code:`variable` elements in a CellML model SHALL be treated as + belonging to a single “connected variable set”. Each set of + connected variables is the set of all :code:`variable` elements for + which the corresponding nodes in the variable equivalence network + form a connected subgraph. Each set of connected variables + represents one variable in the underlying mathematical model. + +.. marker_interpretation_of_map_variables_end +.. marker_interpretation_of_variable_resets_start + +.. _specC_variable_resets: + +Interpretation of variable resets +--------------------------------- + +#. Each :code:`reset` element describes a change to be applied to the + variable referenced by the :code:`variable` attribute when specified + conditions are met during the simulation of the model. + +#. All :code:`reset` elements SHALL be considered sequentially for the + connected variable set (see + :ref:`Interpretation of map_variables`) to which + the referenced variable + belongs. The sequence SHALL be determined by the value of the reset + element’s :code:`order` attribute, lowest (least positive / most + negative) having priority. + +#. The condition under which a reset occurs SHALL be defined by the + equality of the reset element’s :code:`test_variable` attribute and the + evaluation of the MathML expression encoded in the :code:`test_value`. + +#. When a reset occurs, the variable referenced by the reset element’s + :code:`variable` attribute SHALL be set to the result of evaluating the + MathML expression encoded in the :code:`reset_value`. + +.. marker_interpretation_of_variable_resets_end diff --git a/reference/sectionD_references.rst b/reference/sectionD_references.rst new file mode 100644 index 00000000..3445637a --- /dev/null +++ b/reference/sectionD_references.rst @@ -0,0 +1,29 @@ + +References +============== + +`RFC 2119: Key words for use in RFCs to Indicate Requirement +Levels `__ (March 1997) + +`Extensible Markup Language (XML) 1.1 (Second +Edition) `__ (16 August +2006) + +`XML Information Set (Second +Edition) `__ (4 +February 2004) + +`Namespaces in XML 1.1 (Second +Edition) `__ (16 +August 2006) + +`Mathematical Markup Language (MathML) Version 2.0 (Second +Edition) `__ (21 +October 2003) + +`XML Linking Language (XLink) Version +1.0 `__ (27 June 2001) + +.. |Capture.JPG| image:: media/image1.jpg + :width: 4.87135in + :height: 0.67261in diff --git a/reference/specA1.rst b/reference/specA1.rst new file mode 100644 index 00000000..b6f4998c --- /dev/null +++ b/reference/specA1.rst @@ -0,0 +1,7 @@ +.. _specA1: + +.. include:: sectionA_definitions.rst + :start-after: marker_terminology_start + :end-before: marker_terminology_end + +.. include:: inform/informA1.rst diff --git a/reference/specA2.rst b/reference/specA2.rst new file mode 100644 index 00000000..616acf73 --- /dev/null +++ b/reference/specA2.rst @@ -0,0 +1,7 @@ +.. _specA2: + +.. include:: sectionA_definitions.rst + :start-after: marker_cellml_information_sets_start + :end-before: marker_cellml_information_sets_end + +.. include:: inform/informA2.rst diff --git a/reference/specA3.rst b/reference/specA3.rst new file mode 100644 index 00000000..7a6307da --- /dev/null +++ b/reference/specA3.rst @@ -0,0 +1,31 @@ +.. _specA3: + +.. include:: sectionA_definitions.rst + :start-after: marker_data_formats_start + :end-before: marker_data_formats_1 + +.. include:: inform/informA3_1.rst + +.. include:: sectionA_definitions.rst + :start-after: marker_data_formats_1 + :end-before: marker_data_formats_2 + +.. include:: inform/informA3_2.rst + +.. include:: sectionA_definitions.rst + :start-after: marker_data_formats_2 + :end-before: marker_data_formats_3 + +.. include:: inform/informA3_3.rst + +.. include:: sectionA_definitions.rst + :start-after: marker_data_formats_3 + :end-before: marker_data_formats_4 + +.. include:: inform/informA3_4.rst + +.. include:: sectionA_definitions.rst + :start-after: marker_data_formats_4 + :end-before: marker_data_formats_end + +.. include:: inform/informA3_5.rst diff --git a/reference/specB01.rst b/reference/specB01.rst new file mode 100644 index 00000000..a0a6b3fa --- /dev/null +++ b/reference/specB01.rst @@ -0,0 +1,21 @@ +.. _specB01: + +.. include:: sectionB_elements.rst + :start-after: marker_model_start + :end-before: marker_model_1 + +.. include:: inform/informB1_model1.rst + +.. include:: sectionB_elements.rst + :start-after: marker_model_1 + :end-before: marker_model_2 + +.. include:: inform/informB1_model2.rst + +.. include:: sectionB_elements.rst + :start-after: marker_model_2 + :end-before: marker_model_end + +.. include:: inform/informB1_model3.rst + +.. include:: libcellml/libcellmlB1.rst diff --git a/reference/specB02.rst b/reference/specB02.rst new file mode 100644 index 00000000..542a4962 --- /dev/null +++ b/reference/specB02.rst @@ -0,0 +1,23 @@ +.. _specB02: + +.. _specB_import: + +.. include:: sectionB_elements.rst + :start-after: marker_import_start + :end-before: marker_import_1 + +.. include:: inform/informB2_import1.rst + +.. include:: sectionB_elements.rst + :start-after: marker_import_1 + :end-before: marker_import_2 + +.. include:: inform/informB2_import2.rst + +.. include:: sectionB_elements.rst + :start-after: marker_import_2 + :end-before: marker_import_end + +.. include:: inform/informB2_import3.rst + +.. include:: libcellml/libcellmlB2.rst diff --git a/reference/specB03.rst b/reference/specB03.rst new file mode 100644 index 00000000..ea09aee5 --- /dev/null +++ b/reference/specB03.rst @@ -0,0 +1,15 @@ +.. _specB03: + +.. _specB_import_units: + +.. include:: sectionB_elements.rst + :start-after: marker_import_units_start + :end-before: marker_import_units_1 + +.. include:: inform/informB3_import_units1.rst + +.. include:: sectionB_elements.rst + :start-after: marker_import_units_1 + :end-before: marker_import_units_end + +.. include:: libcellml/libcellmlB3.rst diff --git a/reference/specB04.rst b/reference/specB04.rst new file mode 100644 index 00000000..a9943039 --- /dev/null +++ b/reference/specB04.rst @@ -0,0 +1,10 @@ +.. _specB04: +.. _specB_import_component: + +.. include:: sectionB_elements.rst + :start-after: marker_import_component_start + :end-before: marker_import_component_end + +.. include:: inform/informB4_import_component1.rst + +.. include:: libcellml/libcellmlB4.rst diff --git a/reference/specB05.rst b/reference/specB05.rst new file mode 100644 index 00000000..a7fd229c --- /dev/null +++ b/reference/specB05.rst @@ -0,0 +1,8 @@ +.. _specB05: +.. _specB_units: + +.. include:: sectionB_elements.rst + :start-after: marker_units_start + :end-before: marker_units_end + +.. include:: inform/informB5_units1.rst diff --git a/reference/specB06.rst b/reference/specB06.rst new file mode 100644 index 00000000..dcc422b8 --- /dev/null +++ b/reference/specB06.rst @@ -0,0 +1,16 @@ +.. _specB06: +.. _specB_unit: + +.. include:: sectionB_elements.rst + :start-after: marker_unit_start + :end-before: marker_unit_1 + +.. include:: inform/informB6_unit1.rst + +.. include:: sectionB_elements.rst + :start-after: marker_unit_1 + :end-before: marker_unit_end + +.. include:: inform/informB6_unit2.rst + +.. include:: libcellml/libcellmlB6.rst diff --git a/reference/specB07.rst b/reference/specB07.rst new file mode 100644 index 00000000..2666571e --- /dev/null +++ b/reference/specB07.rst @@ -0,0 +1,22 @@ +.. _specB07: +.. _specB_component: + +.. include:: sectionB_elements.rst + :start-after: marker_component_start + :end-before: marker_component_1 + +.. include:: inform/informB7_component1.rst + +.. include:: sectionB_elements.rst + :start-after: marker_component_1 + :end-before: marker_component_2 + +.. include:: inform/informB7_component2.rst + +.. include:: sectionB_elements.rst + :start-after: marker_component_2 + :end-before: marker_component_end + +.. include:: inform/informB7_component3.rst + +.. include:: libcellml/libcellmlB7.rst diff --git a/reference/specB08.rst b/reference/specB08.rst new file mode 100644 index 00000000..e02a1d24 --- /dev/null +++ b/reference/specB08.rst @@ -0,0 +1,7 @@ +.. _specB08: + +.. include:: sectionB_elements.rst + :start-after: marker_variable_start + :end-before: marker_variable_end + +.. include:: inform/informB8_variable1.rst diff --git a/reference/specB09.rst b/reference/specB09.rst new file mode 100644 index 00000000..546b06d8 --- /dev/null +++ b/reference/specB09.rst @@ -0,0 +1,7 @@ +.. _specB09: + +.. include:: sectionB_elements.rst + :start-after: marker_reset_start + :end-before: marker_reset_end + +.. include:: inform/informB9_reset1.rst diff --git a/reference/specB10.rst b/reference/specB10.rst new file mode 100644 index 00000000..84823eb3 --- /dev/null +++ b/reference/specB10.rst @@ -0,0 +1,7 @@ +.. _specB10: + +.. include:: sectionB_elements.rst + :start-after: marker_test_value_start + :end-before: marker_test_value_end + +.. include:: inform/informB10_test_value1.rst diff --git a/reference/specB11.rst b/reference/specB11.rst new file mode 100644 index 00000000..98ffc598 --- /dev/null +++ b/reference/specB11.rst @@ -0,0 +1,8 @@ +.. _specB11: +.. _specB_math: + +.. include:: sectionB_elements.rst + :start-after: marker_reset_value_start + :end-before: marker_reset_value_end + +.. include:: inform/informB11_reset_value1.rst diff --git a/reference/specB12.rst b/reference/specB12.rst new file mode 100644 index 00000000..48c84456 --- /dev/null +++ b/reference/specB12.rst @@ -0,0 +1,8 @@ +.. _specB12: +.. _specB_encapsulation: + +.. include:: sectionB_elements.rst + :start-after: marker_math_start + :end-before: marker_math_end + +.. include:: inform/informB12_math1.rst diff --git a/reference/specB13.rst b/reference/specB13.rst new file mode 100644 index 00000000..6948345e --- /dev/null +++ b/reference/specB13.rst @@ -0,0 +1,7 @@ +.. _specB13: + +.. include:: sectionB_elements.rst + :start-after: marker_encapsulation_start + :end-before: marker_encapsulation_end + +.. include:: inform/informB13_encapsulation1.rst diff --git a/reference/specB14.rst b/reference/specB14.rst new file mode 100644 index 00000000..1ca9f3a0 --- /dev/null +++ b/reference/specB14.rst @@ -0,0 +1,7 @@ +.. _specB14: + +.. include:: sectionB_elements.rst + :start-after: marker_component_ref_start + :end-before: marker_component_ref_end + +.. include:: inform/informB14_component_ref1.rst diff --git a/reference/specB15.rst b/reference/specB15.rst new file mode 100644 index 00000000..681f2313 --- /dev/null +++ b/reference/specB15.rst @@ -0,0 +1,8 @@ +.. _specB15: + +.. include:: sectionB_elements.rst + :start-after: marker_connection_start + :end-before: marker_connection_end + + +.. include:: inform/informB15_connection1.rst diff --git a/reference/specB16.rst b/reference/specB16.rst new file mode 100644 index 00000000..a22d7488 --- /dev/null +++ b/reference/specB16.rst @@ -0,0 +1,8 @@ +.. _specB16: + +.. include:: sectionB_elements.rst + :start-after: marker_map_variables_start + :end-before: marker_map_variables_end + + +.. include:: inform/informB16_map_variables1.rst diff --git a/reference/specC10_interpretation_of_map_variables.rst b/reference/specC10_interpretation_of_map_variables.rst new file mode 100644 index 00000000..5365311c --- /dev/null +++ b/reference/specC10_interpretation_of_map_variables.rst @@ -0,0 +1,7 @@ +.. _specC10: + +.. include:: sectionC_interpretation.rst + :start-after: marker_interpretation_of_map_variables_start + :end-before: marker_interpretation_of_map_variables_end + +.. include:: inform/informC10_interpretation_of_map_variables.rst diff --git a/reference/specC11_interpretation_of_variable_resets.rst b/reference/specC11_interpretation_of_variable_resets.rst new file mode 100644 index 00000000..9c106911 --- /dev/null +++ b/reference/specC11_interpretation_of_variable_resets.rst @@ -0,0 +1,7 @@ +.. _specC11: + +.. include:: sectionC_interpretation.rst + :start-after: marker_interpretation_of_variable_resets_start + :end-before: marker_interpretation_of_variable_resets_end + +.. include:: inform/informC11_interpretation_of_variable_resets.rst diff --git a/reference/specC1_interpretation_of_imports.rst b/reference/specC1_interpretation_of_imports.rst new file mode 100644 index 00000000..37a2475c --- /dev/null +++ b/reference/specC1_interpretation_of_imports.rst @@ -0,0 +1,7 @@ +.. _specC1: + +.. include:: sectionC_interpretation.rst + :start-after: marker_interpretation_of_imports_start + :end-before: marker_interpretation_of_imports_end + +.. include:: inform/informC1_imports.rst diff --git a/reference/specC2_units_reference.rst b/reference/specC2_units_reference.rst new file mode 100644 index 00000000..91bb36ef --- /dev/null +++ b/reference/specC2_units_reference.rst @@ -0,0 +1,13 @@ +.. _specC2: + +.. include:: sectionC_interpretation.rst + :start-after: marker_units_reference_start + :end-before: marker_units_reference1 + +.. include ?? + +.. include:: sectionC_interpretation.rst + :start-after: marker_units_reference1 + :end-before: marker_units_reference_end + +.. include:: inform/informC2_units_reference.rst diff --git a/reference/specC3_interpretation_of_units.rst b/reference/specC3_interpretation_of_units.rst new file mode 100644 index 00000000..f803d04b --- /dev/null +++ b/reference/specC3_interpretation_of_units.rst @@ -0,0 +1,7 @@ +.. _specC3: + +.. include:: sectionC_interpretation.rst + :start-after: marker_interpretation_of_units_start + :end-before: marker_interpretation_of_units_end + +.. include:: inform/informC3_interpretation_of_units.rst diff --git a/reference/specC4_component_reference.rst b/reference/specC4_component_reference.rst new file mode 100644 index 00000000..3f4eea9c --- /dev/null +++ b/reference/specC4_component_reference.rst @@ -0,0 +1,7 @@ +.. _specC4: + +.. include:: sectionC_interpretation.rst + :start-after: marker_component_reference_start + :end-before: marker_component_reference_end + +.. include:: inform/informC4_component_reference.rst diff --git a/reference/specC5_variable_reference.rst b/reference/specC5_variable_reference.rst new file mode 100644 index 00000000..ca48a970 --- /dev/null +++ b/reference/specC5_variable_reference.rst @@ -0,0 +1,7 @@ +.. _specC5: + +.. include:: sectionC_interpretation.rst + :start-after: marker_variable_reference_start + :end-before: marker_variable_reference_end + +.. include:: inform/informC5_variable_reference.rst diff --git a/reference/specC6_interpretation_of_initial_values.rst b/reference/specC6_interpretation_of_initial_values.rst new file mode 100644 index 00000000..feebf1be --- /dev/null +++ b/reference/specC6_interpretation_of_initial_values.rst @@ -0,0 +1,8 @@ + +.. _specC5: + +.. include:: sectionC_interpretation.rst + :start-after: marker_interpretation_of_initial_values_start + :end-before: marker_interpretation_of_initial_values_end + +.. include:: inform/informC6_interpretation_of_initial_value.rst diff --git a/reference/specC7_effect_of_units_on_variables.rst b/reference/specC7_effect_of_units_on_variables.rst new file mode 100644 index 00000000..beb5b8f1 --- /dev/null +++ b/reference/specC7_effect_of_units_on_variables.rst @@ -0,0 +1,8 @@ + +.. _specC7: + +.. include:: sectionC_interpretation.rst + :start-after: marker_effect_of_units_on_variables_start + :end-before: marker_effect_of_units_on_variables_end + +.. include:: inform/informC7_effect_of_units_on_variables.rst diff --git a/reference/specC8_interpretation_of_mathematics.rst b/reference/specC8_interpretation_of_mathematics.rst new file mode 100644 index 00000000..cab6d802 --- /dev/null +++ b/reference/specC8_interpretation_of_mathematics.rst @@ -0,0 +1,7 @@ +.. _specC8: + +.. include:: sectionC_interpretation.rst + :start-after: marker_interpretation_of_mathematics_start + :end-before: marker_interpretation_of_mathematics_end + +.. include:: inform/informC8_interpretation_of_mathematics.rst diff --git a/reference/specC9_interpretation_of_encapsulation.rst b/reference/specC9_interpretation_of_encapsulation.rst new file mode 100644 index 00000000..d3883d60 --- /dev/null +++ b/reference/specC9_interpretation_of_encapsulation.rst @@ -0,0 +1,7 @@ +.. _specC9: + +.. include:: sectionC_interpretation.rst + :start-after: marker_interpretation_of_encapsulation_start + :end-before: marker_interpretation_of_encapsulation_end + +.. include:: inform/informC9_interpretation_of_encapsulation.rst From 4a157a4a62a26d87c0637c2456a3a87d79e144bd Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 12:24:51 +1300 Subject: [PATCH 002/604] Remove old files --- README.md | 2 +- source/conf.py => conf.py | 198 +++++++-- index.rst | 53 +++ reference/index_reference.rst | 74 --- source/abstract.rst | 18 - source/component-element-item.rst | 27 -- source/component-ref-element-item.rst | 21 - source/connection-element-item.rst | 15 - source/data-representation.rst | 81 ---- source/definitions.rst | 81 ---- source/general-matters.rst | 181 -------- source/group-element-item.rst | 14 - source/import-component-element-item.rst | 25 -- source/import-element-item.rst | 31 -- source/import-units-element-item.rst | 24 - source/index.rst | 34 -- source/map-components-element-item.rst | 25 -- source/map-variables-element-item.rst | 24 - source/model-element-item.rst | 32 -- source/model-interpretation.rst | 544 ----------------------- source/references.rst | 31 -- source/relationship-ref-element-item.rst | 31 -- source/unit-element-item.rst | 43 -- source/units-element-item.rst | 33 -- source/variable-element-item.rst | 40 -- static/css/cellml.css | 139 ++++++ static/templates/page.html | 24 + 27 files changed, 371 insertions(+), 1474 deletions(-) rename source/conf.py => conf.py (53%) create mode 100644 index.rst delete mode 100644 reference/index_reference.rst delete mode 100644 source/abstract.rst delete mode 100644 source/component-element-item.rst delete mode 100644 source/component-ref-element-item.rst delete mode 100644 source/connection-element-item.rst delete mode 100644 source/data-representation.rst delete mode 100644 source/definitions.rst delete mode 100644 source/general-matters.rst delete mode 100644 source/group-element-item.rst delete mode 100644 source/import-component-element-item.rst delete mode 100644 source/import-element-item.rst delete mode 100644 source/import-units-element-item.rst delete mode 100644 source/index.rst delete mode 100644 source/map-components-element-item.rst delete mode 100644 source/map-variables-element-item.rst delete mode 100644 source/model-element-item.rst delete mode 100644 source/model-interpretation.rst delete mode 100644 source/references.rst delete mode 100644 source/relationship-ref-element-item.rst delete mode 100644 source/unit-element-item.rst delete mode 100644 source/units-element-item.rst delete mode 100644 source/variable-element-item.rst create mode 100644 static/css/cellml.css create mode 100644 static/templates/page.html diff --git a/README.md b/README.md index 7e266cd8..a3a1eb1a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ cellml-specification ==================== -This repository will be used by the CellML editors to develop the CellML specification (starting with version 1.2). The content was initially obtained from https://github.com/A1kmm/cellml-core-spec/tree/normative, using pandoc to convert the docbook XML to reST format (``for f in *.xml; do pandoc -f docbook -o `basename $f .xml`.rst $f; done``). The reST documents were then incorporated into a basic sphinx project. +This repository will be used by the CellML editors to develop the CellML specification (starting with version 1.2). The content has been reworked to include an informal guide embedded within the normative specification text (in version 2.0). If things work correctly, changes in this repository will be reflected over at: https://cellml-specification.readthedocs.org/. diff --git a/source/conf.py b/conf.py similarity index 53% rename from source/conf.py rename to conf.py index c3b6bf17..104e7eee 100644 --- a/source/conf.py +++ b/conf.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- # -# CellML Specifications documentation build configuration file, created by -# sphinx-quickstart on Tue Nov 13 11:59:15 2012. +# libCellML documentation build configuration file, created by +# sphinx-quickstart on Mon Jun 9 21:58:16 2014. # -# This file is execfile()d with the current directory set to its containing dir. +# This file is execfile()d with the current directory set to its +# containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. @@ -11,27 +12,34 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys, os +import sys +import os # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. #sys.path.insert(0, os.path.abspath('.')) -# -- General configuration ----------------------------------------------------- +# -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be extensions -# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.mathjax', 'sphinx.ext.todo'] - -# Set to false to hide all todo's and the todolist -todo_include_todos = True +#needs_sphinx = '3.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.todo', + 'sphinx.ext.viewcode', + 'sphinx.ext.extlinks', + 'sphinx.ext.autosectionlabel', + 'sphinx.ext.intersphinx', + 'hoverxref.extension', +] # Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] +templates_path = ['static/templates'] # The suffix of source filenames. source_suffix = '.rst' @@ -42,18 +50,87 @@ # The master toctree document. master_doc = 'index' +autosectionlabel_prefix_document = True + +# These are the shorthand for external links. Use them in the other pages as: +# :shortcut:`Shortcut text ` NB space before < +# Declare below as: +# 'shortcut': ('http://linkhere/%s',''), NB have to put the string insertion %s to make it work +extlinks = { + 'buildbot': ('https://buildbot.net%s', ''), + 'cellml1to2': ('https://github.com/hsorby/cellml1to2%s', ''), + 'cellml2': ('https://www.cellml.org/%s', ''), + 'cellsolver': ('https://github.com/hsorby/cellsolver%s', ''), + 'cmake': ('https://cmake.org/%s', ''), + 'doxygen': ('http://www.doxygen.nl/%s', ''), + 'euler_method': ('https://en.wikipedia.org/wiki/Euler_method%s', ''), + 'git': ('https://git-scm.com/%s', ''), + 'github': ('https://github.com/%s', ''), + 'google_styleguide': ('https://google.github.io/styleguide/cppguide.html/%s', ''), + 'href_locator': ('https://www.w3.org/TR/2001/REC-xlink-20010627/#link-locators/%s', ''), + 'libcellml_repo': ('https://github.com/cellml/libcellml.git%s', ''), + 'libxml2': ('http://www.xmlsoft.org/%s', ''), + 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html#id.4.2.1.3%s', ''), + 'mathml2spec': ('http://www.w3.org/TR/2003/REC-MathML2-20031021/%s', ''), + 'mathml2types': ('https://www.w3.org/TR/MathML2/chapter4.html#contm.typeattrib%s', ''), + 'opencor': ('https://opencor.ws/%s', ''), + 'pmr': ('https://models.physiomeproject.org/welcome/%s', ''), + 'python': ('https://www.python.org/%s', ''), + 'rfc2119': ('http://www.ietf.org/rfc/rfc2119.txt%s', ''), + 'sphinx': ('http://sphinx-doc.org/%s', ''), + 'swig': ('http://www.swig.org/%s', ''), + 'unicode': ('http://www.fileformat.info/info/unicode/char/%s/index.htm', 'U+'), + 'xlink': ('http://www.w3.org/TR/2001/REC-xlink-20010627/%s', ''), + 'xml_help': ('https://www.w3.org/XML/%s', ''), + 'xml_1_1': ('http://www.w3.org/TR/xml11/%s', ''), + 'xml_infoset': ('http://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), + 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816/%s', ''), + +} + +# Mapping to get references in the specification document repo into this one +# See: https://docs.readthedocs.io/en/stable/guides/intersphinx.html +intersphinx_mapping = { + 'spec': ('https://www.sphinx-doc.org/en/master/', None), +} + +# rst_epilog to define formatted, clickable code substitutions throughout. It's included +# at the bottom of every file in the project. +# rst_prolog = """ +# .. |internalBookmark2| replace:: ``internalBookmark2`` +# .. |model| replace:: ``model`` +# .. |component| replace:: ``component`` +# .. |units| replace:: ``units`` +# .. |unit| replace:: ``unit`` +# .. |variable| replace:: ``variable`` +# .. |reset| replace:: ``reset`` +# .. |reset_value| replace:: ``reset_value`` +# .. |test_value| replace:: ``test_value`` +# .. |import| replace:: ``import`` +# .. |import_component| replace:: ``import component`` +# .. |import_units| replace:: ``import units`` +# .. |map_variables| replace:: ``map_variables`` +# .. |connection| replace:: ``connection`` +# .. |math| replace:: ``math`` +# .. |encapsulation| replace:: ``encapsulation`` +# """ +# rst_epilog = """ +# .. |component| replace:: ``component`` +# .. _component: :ref:`component` +# """ + # General information about the project. -project = u'CellML 1.2 Specification' -copyright = u'2013, The CellML Editorial Board' +project = u'CellML2.0' +copyright = u'2019-@SPHINX_YEAR@, CellML Editors and Contributors' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -#version = '' +version = 'latest' # The full version, including alpha/beta/rc tags. -#release = '' +release = 'latest' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -67,9 +144,10 @@ # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. -exclude_patterns = ['abstract.rst'] +exclude_patterns = [] -# The reST default role (used for this markup: `text`) to use for all documents. +# The reST default role (used for this markup: `text`) to use for all +# documents. #default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. @@ -89,24 +167,38 @@ # A list of ignored prefixes for module index sorting. #modindex_common_prefix = [] +# If true, keep warnings as "system message" paragraphs in the built documents. +#keep_warnings = False -# -- Options for HTML output --------------------------------------------------- +# If true, enable figure numbering +numfig = True + +# -- Options for HTML output ---------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -html_theme = 'default' +# html_theme = '@SPHINX_THEME@' +html_theme = 'sphinx_rtd_theme' +# html_theme = 'bizstyle' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. -#html_theme_options = {} +html_theme_options = { + 'navigation_depth': 2, +} + +# Automagically convert all :ref: blocks to show a tooltip using the hoverxref +# extension. +hoverxref_auto_ref = True +hoverxref_roles = ['term', 'code'] # Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] +# html_theme_path = ['@SPHINX_THEME_DIR@'] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". -html_title = 'CellML 1.2 Specification' +#html_title = None # A shorter title for the navigation bar. Default is the same as html_title. #html_short_title = None @@ -123,7 +215,16 @@ # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -#html_static_path = ['_static'] +# html_static_path = ['_static'] +# html_style = 'css/theme.css' + +html_static_path = ['static/'] +html_css_files = ['css/cellml.css'] + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +#html_extra_path = [] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. @@ -167,27 +268,29 @@ #html_file_suffix = None # Output file base name for HTML help builder. -htmlhelp_basename = 'CellMLSpecificationsdoc' +htmlhelp_basename = 'CellMLdoc' -# -- Options for LaTeX output -------------------------------------------------- +# -- Options for LaTeX output --------------------------------------------- latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', + # The paper size ('letterpaper' or 'a4paper'). + # 'papersize': 'letterpaper', -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', + # The font size ('10pt', '11pt' or '12pt'). + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + 'preamble': 'usepackage{textgreek}', -# Additional stuff for the LaTeX preamble. -#'preamble': '', } # Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass [howto/manual]). +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). latex_documents = [ - ('index', 'CellMLSpecification.tex', u'CellML Specification Documentation', - u'The CellML Editorial Board', 'manual'), + ('index', 'CellML.tex', u'CellML Specification', + u'CellML2.0 Editors and Contributors', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -211,28 +314,28 @@ #latex_domain_indices = True -# -- Options for manual page output -------------------------------------------- +# -- Options for manual page output --------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'cellmlspecification', u'CellML Specification Documentation', - [u'The CellML Editorial Board'], 1) + ('index', 'cellml', u'CellML2.0 Documentation', + [u'CellML Editors'], 1) ] # If true, show URL addresses after external links. #man_show_urls = False -# -- Options for Texinfo output ------------------------------------------------ +# -- Options for Texinfo output ------------------------------------------- # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ('index', 'CellMLSpecification', u'CellML Specification Documentation', - u'The CellML Editorial Board', 'CellMLSpecification', 'One line description of project.', - 'Miscellaneous'), + ('index', 'CellML', u'CellML Documentation', + u'CellML2.0 Editors', 'CellML2.0', 'CellML2.0 Normative Specification.', + 'Miscellaneous'), ] # Documents to append as an appendix to all manuals. @@ -243,3 +346,10 @@ # How to display URL addresses: 'footnote', 'no', or 'inline'. #texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +#texinfo_no_detailmenu = False + + +def setup(app): + app.add_css_file('cellml.css') diff --git a/index.rst b/index.rst new file mode 100644 index 00000000..3442b717 --- /dev/null +++ b/index.rst @@ -0,0 +1,53 @@ +.. _index: + +========================================== +Normative specification for CellML2.0 +========================================== + +The first section here includes the normative specification documentation for +the CellML format. These represent the official rules about what must +and must not be included in order for a model to be syntactically valid CellML. + + +.. toctree:: + :maxdepth: 1 + + reference/index_sectionA.rst + +.. toctree:: + :maxdepth: 1 + :glob: + :numbered: + + reference/specA* + +.. toctree:: + :maxdepth: 1 + + reference/index_sectionB.rst + +.. toctree:: + :maxdepth: 1 + :glob: + :numbered: + + reference/specB* + +.. toctree:: + :maxdepth: 1 + + index_sectionC.rst + +.. toctree:: + :maxdepth: 1 + :glob: + :numbered: + + reference/specC* + +.. toctree:: + :maxdepth: 1 + + reference/sectionD_references.rst + + diff --git a/reference/index_reference.rst b/reference/index_reference.rst deleted file mode 100644 index 013513d4..00000000 --- a/reference/index_reference.rst +++ /dev/null @@ -1,74 +0,0 @@ -.. _index_reference: - -========================================== -Normative specification for CellML2.0 -========================================== - -The first section here includes the normative specification documentation for -the CellML format. This is the "official" statement and rules about what must -and must not be included in order for a model to be valid CellML. - -In libCellML the :code:`Valdiator` functionality tests *only* against this -formal specification, and therefore gives no feedback on whether the given -CellML model can be run, or represents a meaningful simulation. - -Additional information to the user is given through those parts of libCellML -which are not directly concerned with the CellML format; namely, the -:code:`Generator` class. The rules and guidelines for this functionality are -therefore defined separately in the second part of this section. - -It should be noted that all messages returned from libCellML should contain a -reference number. This number will point to the section of the formal -specification and/or guidelines to which it relates. - -.. toctree:: - :maxdepth: 1 - - index_sectionA.rst - -.. toctree:: - :maxdepth: 1 - :glob: - :numbered: - - specA* - -.. toctree:: - :maxdepth: 1 - - index_sectionB.rst - -.. toctree:: - :maxdepth: 1 - :glob: - :numbered: - - specB* - -.. toctree:: - :maxdepth: 1 - - index_sectionC.rst - -.. toctree:: - :maxdepth: 1 - :glob: - :numbered: - - specC* - -.. toctree:: - :maxdepth: 1 - - sectionD_references.rst - - -Additional references for libCellML ------------------------------------ - -.. toctree:: - :maxdepth: 2 - :titlesonly: - :glob: - - ref* diff --git a/source/abstract.rst b/source/abstract.rst deleted file mode 100644 index b5139b09..00000000 --- a/source/abstract.rst +++ /dev/null @@ -1,18 +0,0 @@ - This document is an unofficial working draft. The below describes - the intended status of the specification, and not its current status. - - This document specifies version 1.2 of `CellML `_, - an `XML `_-based language for - describing and exchanging mathematical models. - - This is the *normative* specification of CellML. It is intended to - provide the minimum amount of information needed to describe CellML. - An |informative-specification|_ is available which is annotated with - much more explanatory material. - -.. |informative-specification| replace:: *informative* specification -.. _informative-specification: http://www.cellml.org/ - -.. todo:: - - Provide a 'proper' URL for the informative version of the specification. diff --git a/source/component-element-item.rst b/source/component-element-item.rst deleted file mode 100644 index b1534abd..00000000 --- a/source/component-element-item.rst +++ /dev/null @@ -1,27 +0,0 @@ -The ``component`` element information item -========================================== - -``component`` element information items (referred to in this specification -as ``component`` elements) are element information items in the CellML -namespace with local name ``component``, and which appear as a child of a -``model`` element. - -Specific information items --------------------------- - -1. Every ``component`` element MUST contain a ``name`` attribute in the empty - namespace. The value of the ``name`` attribute MUST be a valid CellML - identifier. The value of the ``name`` attribute MUST NOT be identical to - the ``name`` attribute on any other ``component`` element or ``import component`` - element in the CellML infoset. - -2. A ``component`` element MAY contain zero or more specific information - item children, each of which MUST be of one of the following types: - - a. A ``units`` element; - - b. A ``variable`` element; or - - c. An element information item in the MathML namespace, and with - local name ``math``, which MUST be the top-level of a content MathML - tree, as described in `MathML 2.0 `_. diff --git a/source/component-ref-element-item.rst b/source/component-ref-element-item.rst deleted file mode 100644 index 2dd3c30f..00000000 --- a/source/component-ref-element-item.rst +++ /dev/null @@ -1,21 +0,0 @@ -The ``component_ref`` element information item -=============================================== - -``component_ref`` element information items (referred to in this -specification as ``component_ref`` elements) are element information items -in the CellML namespace with local name equal to ``component_ref``. - -Specific information items --------------------------- - -1. Every ``component_ref`` element MUST contain an attribute information - item in the empty namespace and with local name ``component``. The value - of this attribute MUST be a valid CellML identifier, and MUST match - the ``name`` attribute on a ``component`` element or an ``import - component`` element in the CellML infoset. - -2. Every ``component_ref`` element MAY in turn contain zero or more - ``component_ref`` element children. - -3. In addition, ``component_ref`` elements which are children of ``group`` - elements MUST contain at least one ``component_ref`` element child. diff --git a/source/connection-element-item.rst b/source/connection-element-item.rst deleted file mode 100644 index c06de4fb..00000000 --- a/source/connection-element-item.rst +++ /dev/null @@ -1,15 +0,0 @@ -The ``connection`` element information item -=========================================== - -``connection`` element information items (referred to in this specification -as ``connection`` elements) are element information items in the CellML -namespace with local name equal to ``connection``. - -Specific information items --------------------------- - -1. Every ``connection`` element MUST contain exactly one ``map_components`` - element. - -2. Every ``connection`` element MUST contain one or more ``map_variables`` - elements. diff --git a/source/data-representation.rst b/source/data-representation.rst deleted file mode 100644 index eb88654a..00000000 --- a/source/data-representation.rst +++ /dev/null @@ -1,81 +0,0 @@ -Data representation formats in CellML -===================================== - -The following data representation formats are defined for use in this -specification: - -1. A CellML identifier: - - a. SHALL be a sequence of Unicode characters. - - b. SHALL NOT contain any characters except basic Latin alphanumeric - characters and basic Latin underscores. - - c. SHALL contain one or more basic Latin alphabetic characters. - - d. SHALL NOT begin with a European numeric character. - - e. SHALL, when comparing two identifiers, be considered identical to - another identifier if and only if both identifiers have identical - sequences of Unicode character codes. - -2. A non-negative integer string: - - a. SHALL be a base 10 representation of a non-negative integer. - - b. SHALL consist entirely of European numeric characters. - -3. An integer string: - - a. SHALL be a base 10 representation of an integer. - - b. SHALL, when the integer being represented is negative, consist of - the basic Latin hyphen-minus character `U+002D - `_, - followed by the non-negative integer string representation of the - absolute value of the integer. - - c. SHALL, when the integer being represented is non-negative, consist - of the non-negative integer string representation of the integer. - -4. A basic real number string: - - a. SHALL be a base 10 representation of a real number. - - b. SHALL, when the basic real number being represented is negative, - begin with the basic Latin hyphen-minus character `U+002D - `_ - as the sign indicator. - - c. MAY contain a single decimal point separator, which SHALL be the - basic Latin full stop character `U+002E - `_. - - d. SHALL, other than the sign indicator and the decimal point - separator, consist only of European numeric characters. - -5. A real number string: - - a. SHALL be a base 10 representation of a real number - :math:`r = s \cdot 10^{e}`, where :math:`s` is the significand, - a real number, and :math:`e` is the exponent, an integer. - - b. The representation of the number SHALL be the representation of - the significand followed immediately by the representation of the - exponent. - - c. The significand SHALL be represented as a basic real number - string. - - d. If the exponent is zero, the exponent MAY be represented by an - empty string, or MAY be represented according to the following - rule. If the exponent is non-zero, it MUST be represented - according to the following rule. - - e. An exponent SHALL be represented by an exponent separator - character, followed by the integer string representation of the - value of the exponent. The exponent separator character SHALL be - either the basic Latin 'E' character `U+0045 - `_ - or the basic Latin 'e' character `U+0065 - `_. diff --git a/source/definitions.rst b/source/definitions.rst deleted file mode 100644 index 219183c4..00000000 --- a/source/definitions.rst +++ /dev/null @@ -1,81 +0,0 @@ -Definitions -=========== - -The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", -"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this -document are to be interpreted as described in `RFC 2119 `_. - -The key phrase "information item", as well as any specific type of -information item such as an "element information item", are to be -interpreted as described in `XML Information Set `_. - -CellML infoset - An XML information set containing a hierarchy of information items - conforming to the rules described in this document. - -CellML model - A mathematical model represented by a hierarchy of one or more - CellML infosets, according to the rules described in this document. - -CellML processing software - Software which processes CellML in accordance with the rules of this - document. - -Namespace - An XML namespace, as defined in `Namespaces in XML `_. - -CellML namespace - Any namespace starting with ``http://www.cellml.org/cellml/``. - -CellML 1.0 namespace - The namespace ``http://www.cellml.org/cellml/1.0#``. - -CellML 1.1 namespace - The namespace ``http://www.cellml.org/cellml/1.1#``. - -CellML 1.2 namespace - The namespace ``http://www.cellml.org/cellml/1.2#``. - -MathML namespace - The namespace ``http://www.w3.org/1998/Math/MathML``. - -RDF namespace - The namespace ``http://www.w3.org/1999/02/22-rdf-syntax-ns#``. - -CellML metadata namespace - The namespace ``http://www.cellml.org/metadata/1.0#``. - -Extension namespace - Any namespace which is not a CellML namespace, and is not the RDF - namespace, the MathML namespace, ``http://www.w3.org/XML/1998/namespace``, - ``http://www.w3.org/2000/xmlns/``, ``http://www.w3.org/1999/xlink``, - or the empty namespace. - -CellML information item - Any information item in a CellML namespace. - -Basic Latin alphabetic character - A Unicode character in the range `U+0041 `_ - to `U+005A `_ or in the range - `U+0061 `_ to - `U+007A `_. - -European numeric character - A Unicode character in the range `U+0030 `_ - to `U+0039 `_. - -Basic Latin alphanumeric character - A Unicode character which is either a basic Latin alphabetic - character or a European numeric character. - -Basic Latin underscore - The Unicode character `U+005F `_. - -Whitespace character - Any one of the Unicode characters `U+0020 `_, - `U+0009 `_, - `U+000D `_ or - `U+000A `_. - -RDF triple - As defined in `RDF Concepts and Abstract Syntax `_. diff --git a/source/general-matters.rst b/source/general-matters.rst deleted file mode 100644 index 1e4aed67..00000000 --- a/source/general-matters.rst +++ /dev/null @@ -1,181 +0,0 @@ -General matters -=============== - -CellML and XML --------------- - -1. Every CellML infoset SHALL be represented in an XML document which - conforms with the well-formedness requirements of the `XML 1.0 - `_. - -2. In this document, the remaining provisions relating to CellML - infosets shall be interpreted as being constraints on the XML - information set represented by that CellML infoset. - -Equivalent CellML infosets --------------------------- - -1. Two CellML infosets shall be equivalent if one can be transformed to - another by making zero or more of the following changes: - - a. Changing the representation of the XML file in ways which do not - change the XML information set represented. - - b. Adding, removing, and/or modifying comment information items. - - c. Changing (inserting, removing, and/or modifying) one or more - namespace information items, and/or modifying the prefix of one or - more information items, without changing the namespace that any - information item is in. - - d. The following paragraph applies only to character information - items which are the direct child of an element information item in - a CellML namespace, or in the MathML or RDF namespace. - - Inserting or removing character information items that consist - entirely of whitespace characters, changing the number of - whitespace characters in such an information item, or changing the - number of whitespace characters at the beginning or end of a - character information item. - -2. CellML processing software MUST treat CellML infosets which are - equivalent according to the above rules in an identical fashion. - -Character information items ---------------------------- - -An element information item in the CellML namespace MUST NOT contain any -character information items, except for character information items -which consist entirely of whitespace characters. - -Use of namespaces ------------------ - -1. CellML infosets MUST NOT contain any element or attribute information - items, except as permitted in this specification. - -2. CellML infosets MUST NOT contain any character information items - which are children of element information items in a CellML - namespace, except as permitted in this specification. - -3. CellML processing software SHOULD NOT attempt to process CellML - infosets which contain information items in a CellML namespace other - than the CellML 1.0, CellML 1.1 and CellML 1.2 namespaces. - -4. CellML infosets MUST NOT contain any element information items in the - RDF namespace, unless: - - a. The element information item or one of its ancestors is an element - information item in the RDF namespace, with local name - ``RDF`` (the RDF element information item); and - b. The RDF element information item forms the top-level of a valid - RDF/XML tree, per `production 7.2.9 `_ - in `RDF/XML Syntax Specification `_. - -5. CellML infosets MUST NOT contain any element information items in the - MathML namespace, unless: - - a. The element information item or one of its ancestors is an element - information item in the MathML namespace, with local name - ``math`` (the math element information item); and - b. The math element information item forms the top-level of a valid - MathML tree, as described in `MathML 2.0 `_. - -Extension information items ---------------------------- - -1. CellML infosets MAY contain zero or more element or attribute - information items in an extension namespace (extension information - items), as children of CellML information items. - -2. Information items in the empty namespace, which appear as children of - extension element information items, SHALL also be treated as - extension information items. - -3. Extension information items MAY contain extension information items - as their children. In addition, extension elements MAY contain - presentation MathML children. For the avoidance of doubt, it is noted - that extension information items MAY also contain any other - information items not disallowed by this specification or a - referenced normative specification. - -4. CellML processing software MUST NOT raise an error solely because it - encounters an unrecognised extension element. - -5. CellML processing software which reads CellML and then writes a - modified version back out SHOULD preserve unrecognised extension - information items when the parent information item is not modified. - -6. CellML processing software MUST NOT allow the mathematical - interpretation of a CellML model to be altered by any information - present in extension information items. - -7. For the avoidance of doubt, extension information items MUST NOT - contain CellML information items as descendents. - -Identifiers ------------ - -1. Any element information item in the CellML namespace MAY contain an - attribute information item with local name ``id``, in the CellML metadata - namespace. This attribute information item SHALL be treated as having - attribute type ID, as defined in `section 3.3.1 `_ - of `XML 1.0 `_. - -Specific information items --------------------------- - -1. A specific information item is an information item which is not: - - a. A comment information item; - - b. A character information item; - - c. An extension information item or a descendant of such an - information item; or - - d. A namespace information item. - -2. Specific information items MUST NOT appear in a CellML infoset except - where explicitly allowed by this specification, or where allowed by a - normative specification referenced by this specification. - -3. The order in which specific information items appear as children of - an element information item defined in this specification SHALL NOT - affect the interpretation of the CellML model. - -RDF element information items ------------------------------ - -1. Every element information item in the CellML namespace MAY contain - zero or more RDF element information item children. - -2. An RDF element information item SHALL be an element item in the RDF - namespace, with local name ``RDF`` (the RDF element information - item), and MUST form the top-level of a valid RDF/XML tree, per - `production 7.2.9 `_ - in `RDF/XML Syntax Specification `_. - -3. An RDF element information item MUST NOT appear in a CellML infoset - except as allowed by rule 1 above. - -.. todo:: - - Find out which rule 1 we are we talking about here. Andre: it is the rule 1 just here (2.8.1 currently) but need to work out how to properly reference other rules. Probably shouldn't rely on section numbers being consistent. - -4. CellML processing software MUST NOT allow the mathematical - interpretation of a CellML model to be altered by any information - present in RDF data. - -5. The set of all RDF triples associated with a CellML infoset SHALL - refer to the union of all sets of RDF triples produced by parsing all - the RDF element information items according to the `RDF/XML Syntax - Specification `_. - -6. Two CellML infosets which differ only by the addition, removal, or - modification of RDF element information items (or information items - descended from them), but which have the same set of all RDF triples, - SHALL be termed RDF-equivalent CellML infosets. - -7. CellML processing software MUST NOT treat RDF-equivalent CellML - infosets differently. diff --git a/source/group-element-item.rst b/source/group-element-item.rst deleted file mode 100644 index d84189a7..00000000 --- a/source/group-element-item.rst +++ /dev/null @@ -1,14 +0,0 @@ -The ``group`` element information item -====================================== - -``group`` element information items (referred to in this specification as -``group`` elements) are element information items in the CellML namespace -with local name equal to ``group``. - -Specific information items --------------------------- - -1. Every ``group`` element MUST contain one or more ``relationship_ref`` - elements. - -2. Every ``group`` element MUST contain one or more ``component_ref`` elements. diff --git a/source/import-component-element-item.rst b/source/import-component-element-item.rst deleted file mode 100644 index 8640ac23..00000000 --- a/source/import-component-element-item.rst +++ /dev/null @@ -1,25 +0,0 @@ -The ``import component`` element information item -================================================= - -``import component`` element information items (referred to in this -specification as ``import component`` elements) are element information -items in the CellML namespace with local name equal to ``component``, -which appear as children of ``import`` elements. - -Specific information items --------------------------- - -1. Every ``import component`` element MUST contain a ``name`` attribute - in the empty namespace. The value of the ``name`` attribute MUST be - a valid CellML identifier. The value of the ``name`` attribute MUST - NOT be identical to the ``name`` attribute of any other ``component`` - element or ``import component`` element in the CellML infoset. - -2. Every ``import component`` element MUST contain a ``component_ref`` - attribute in the empty namespace. The value of the ``component_ref`` - attribute MUST be a valid CellML identifier. The value of the - ``component_ref`` attribute MUST match the value of the ``name`` attribute - on a ``component`` element or ``import component`` element in the - imported CellML infoset. The value of the ``component_ref`` attribute - MUST NOT match the value of the ``component_ref`` attribute on any - sibling ``import component`` element. diff --git a/source/import-element-item.rst b/source/import-element-item.rst deleted file mode 100644 index fee82766..00000000 --- a/source/import-element-item.rst +++ /dev/null @@ -1,31 +0,0 @@ -The ``import`` element information item -======================================= - -``import`` element information items (referred to in this specification as -``import`` elements) are element information items in the CellML namespace -with local name equal to ``import``. - -Specific information items --------------------------- - -1. Every ``import`` element MUST contain an attribute information item in - the namespace ``http://www.w3.org/1999/xlink``, and with local name ``href``. - The value of this attribute SHALL be a valid locator ``href``, as defined - in `section 5.4 `_ - of the `XLink specification `_. - The ``href`` attribute SHALL be treated according to the XLink specification, by applying - the rules for simple-type elements. When describing an ``import`` element - or one of its children, the phrase "imported CellML infoset" SHALL - refer to the CellML infoset obtained by parsing the XML document - referenced by the ``href`` attribute. - -2. Every ``import`` element MAY contain zero or more specific information - children, each of which MUST be of one of the following types: - - a. An ``import units`` element; or - - b. An ``import component`` element. - -3. The imported CellML infoset SHALL NOT be equivalent to this CellML - infoset. Any CellML infoset imported, directly or indirectly, by the - imported CellML infoset SHALL NOT be equivalent to this CellML infoset. diff --git a/source/import-units-element-item.rst b/source/import-units-element-item.rst deleted file mode 100644 index 17695a00..00000000 --- a/source/import-units-element-item.rst +++ /dev/null @@ -1,24 +0,0 @@ -The ``import units`` element information item -============================================= - -``import units`` element information items (referred to in this -specification as ``import units`` elements) are element information items in -the CellML namespace with local name equal to ``units``, which appear as -children of ``import`` elements. - -Specific information items --------------------------- - -1. Every ``import units`` element MUST contain a ``name`` attribute in the - empty namespace. The value of the ``name`` attribute MUST be a valid CellML - identifier. The value of the ``name`` attribute MUST NOT be identical to - the ``name`` attribute of any other ``units`` element or ``import units`` - element in the CellML infoset. - -2. Every ``import units`` element MUST contain a ``units_ref`` attribute in - the empty namespace. The value of the ``units_ref`` attribute MUST be a - valid CellML identifier. The value of the ``units_ref`` attribute MUST - match the value of the ``name`` attribute on a ``units`` element or - ``import units`` element in the imported CellML infoset. The value of the - ``units_ref`` attribute MUST NOT match the value of the ``units_ref`` - attribute on any sibling ``import units`` element. diff --git a/source/index.rst b/source/index.rst deleted file mode 100644 index a18be52f..00000000 --- a/source/index.rst +++ /dev/null @@ -1,34 +0,0 @@ -CellML 1.2 Specification -======================== - -.. include:: abstract.rst - -.. toctree:: - :maxdepth: 2 - :numbered: - - definitions - general-matters - data-representation - model-element-item - import-element-item - import-units-element-item - import-component-element-item - units-element-item - unit-element-item - component-element-item - variable-element-item - group-element-item - relationship-ref-element-item - component-ref-element-item - connection-element-item - map-components-element-item - map-variables-element-item - model-interpretation - references - - -Summary of all TODO's -===================== - -.. todolist:: diff --git a/source/map-components-element-item.rst b/source/map-components-element-item.rst deleted file mode 100644 index b145235f..00000000 --- a/source/map-components-element-item.rst +++ /dev/null @@ -1,25 +0,0 @@ -The ``map_components`` element information item -=============================================== - -``map_components`` element information items (referred to in this -specification as ``map_components`` elements) are element information items -in the CellML namespace with local name equal to ``map_components``, and -which appear as a child of a ``connection`` element. - -Specific information items --------------------------- - -1. Each ``map_components`` element MUST contain a ``component_1`` attribute - in the empty namespace. - The value of the ``component_1`` attribute MUST be a valid CellML - identifier. The value of this attribute MUST be equal to the ``name`` - attribute on a ``component`` or ``import component`` element in the CellML - infoset. - -2. Each ``map_components`` element MUST contain a ``component_2`` attribute - in the empty namespace. - The value of the ``component_2`` attribute MUST be a valid CellML - identifier. The value of this attribute MUST be equal to the ``name`` - attribute on a ``component`` or ``import component`` element in the CellML - infoset. It MUST NOT be equal to the value of the ``component_1`` - attribute. diff --git a/source/map-variables-element-item.rst b/source/map-variables-element-item.rst deleted file mode 100644 index 7425a902..00000000 --- a/source/map-variables-element-item.rst +++ /dev/null @@ -1,24 +0,0 @@ -The ``map_variables`` element information item -============================================== - -``map_variables`` element information items (referred to in this -specification as ``map_variables`` elements) are element information items -in the CellML namespace with local name equal to ``map_variables``, and -which appear as a child of a ``connection`` element. - -Specific information items --------------------------- - -1. Each ``map_variables`` element MUST contain a ``variable_1`` attribute in - the empty namespace. The value of the ``variable_1`` attribute MUST be a - valid CellML identifier. The value of this attribute MUST be equal to the - ``name`` attribute on a ``variable`` element child of the ``component`` - element referenced by the ``component_1`` attribute on the ``map_components`` - element which is a sibling of this element. - -2. Each ``map_variables`` element MUST contain a ``variable_2`` attribute in - the empty namespace. The value of the ``variable_2`` attribute MUST be a - valid CellML identifier. The value of this attribute MUST be equal to the - ``name`` attribute on a ``variable`` element child of the ``component`` - element referenced by the ``component_2`` attribute on the ``map_components`` - element which is a sibling of this element. diff --git a/source/model-element-item.rst b/source/model-element-item.rst deleted file mode 100644 index 0571090b..00000000 --- a/source/model-element-item.rst +++ /dev/null @@ -1,32 +0,0 @@ -The ``model`` element information item -====================================== - -Top-level of CellML infosets ----------------------------- - -The top-level element information item in a CellML infoset MUST be an -element information item in the CellML namespace, with local name -``model``. This element information item is referred to in this -specification as the ``model`` element. - -Specific information items --------------------------- - -1. Every ``model`` element MUST contain a ``name`` attribute in the empty - namespace. The value of the ``name`` attribute MUST be a valid CellML - identifier, and SHALL be interpreted as a unique identifier for the - CellML infoset. - -2. A ``model`` element MAY contain zero or more additional specific - information item children, each of which MUST be of one of the - following types: - - a. A ``component`` element; - - b. A ``connection`` element; - - c. A ``group`` element; - - d. An ``import`` element; or - - e. A ``units`` element. diff --git a/source/model-interpretation.rst b/source/model-interpretation.rst deleted file mode 100644 index b7668734..00000000 --- a/source/model-interpretation.rst +++ /dev/null @@ -1,544 +0,0 @@ -Interpretation of CellML models -=============================== - -Interpretation of imports -------------------------- - -1. Each ``import`` element present in a CellML infoset (the importing - infoset) SHALL define a new and separate instance of the CellML - infoset referenced by the ``href`` attribute (the imported infoset). - -2. The following ``component`` elements SHALL be "pertinent component - elements": - - a. All ``component`` elements in the top-level CellML infoset for the - CellML model; - - b. All ``component`` elements referenced by ``import component`` - elements in the top-level CellML infoset; and - - c. All ``component`` elements which are descendants in the encapsulation - digraph of a pertinent ``component`` element. - -.. _units-reference: - -Units reference ---------------- - -1. A units reference SHALL be a CellML identifier, and SHALL be - interpreted based on the context within the CellML model in which it - occurs. - -2. A CellML infoset MUST NOT contain a units reference to which all - scoping rules are inapplicable. - -3. Where more than one of the units scoping rules apply, the applicable - rule which appears first in this specification SHALL be used. - -4. The units scoping rules are as follows: - - a. Where a units reference appears in an information item which is - descended from a ``component`` element, and there is a ``units`` element - child of that ``component`` element with a ``name`` attribute identical to - the units reference, then the units reference SHALL refer to that - ``units`` element. - - b. Where a units reference appears in an information item which is - descended from the ``model`` element, and there is a ``units`` element - child of that ``model`` element with a ``name`` attribute identical to the - units reference, then the units reference SHALL refer to that - ``units`` element. - - c. Where there is an ``import units`` element in the CellML infoset, such - that the ``import units`` element has a ``name`` attribute identical to - the units reference, then the units reference SHALL be treated as - if the units reference appeared in the imported model, and - referred to the name specified in the ``units_ref`` attribute of the - ``import units`` element. - - d. Where the units reference is equal to a cell in the name column of - the :ref:`built-in-units` table, then the units reference SHALL be - a reference to the built-in unit corresponding to that row of the table. - -.. _built-in-units: - -.. table:: Built-in units - - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | Name | Base unit? | Multiplier and dimensions in terms of base units | Offset from base units | - +===============+============+==================================================================================+========================+ - | ampere | yes | `-` | `-` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | becquerel | no | :math:`1 \cdot second^{-1}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | candela | yes | `-` | `-` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | celsius | no | :math:`1 \cdot kelvin` | :math:`273.15` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | coulomb | no | :math:`1 \cdot second \cdot ampere` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | dimensionless | no | :math:`1` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | farad | no | :math:`1 \cdot metre^{-2} \cdot kilogram^{-1} \cdot second^{4} \cdot ampere^{2}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | gram | no | :math:`10^{-3} \cdot kilogram` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | gray | no | :math:`1 \cdot metre^{2} \cdot second^{-2}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | henry | no | :math:`1 \cdot metre^{2} \cdot kilogram \cdot second^{-2} \cdot ampere^{-2}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | hertz | no | :math:`1 \cdot second^{-1}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | joule | no | :math:`1 \cdot metre^{2} \cdot kilogram \cdot second^{-2}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | katal | no | :math:`1 \cdot second^{-1} \cdot mole` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | kelvin | yes | `-` | `-` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | kilogram | yes | `-` | `-` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | liter | no | :math:`10^{-3} \cdot metre^{3}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | litre | no | :math:`10^{-3} \cdot metre^{3}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | lumen | no | :math:`1 \cdot candela` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | lux | no | :math:`1 \cdot metre^{-2} \cdot candela` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | meter | no | :math:`1 \cdot metre` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | metre | yes | `-` | `-` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | mole | yes | `-` | `-` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | newton | no | :math:`1 \cdot metre \cdot kilogram \cdot second^{-2}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | ohm | no | :math:`1 \cdot metre^{2} \cdot kilogram \cdot second^{-3} \cdot ampere^{-2}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | pascal | no | :math:`1 \cdot metre^{-1} \cdot kilogram \cdot second^{-2}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | radian | no | :math:`1` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | second | yes | `-` | `-` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | siemens | no | :math:`1 \cdot metre^{-2} \cdot kilogram^{-1} \cdot second^{3} \cdot ampere^{2}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | sievert | no | :math:`1 \cdot metre^{2} \cdot second^{-2}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | steradian | no | :math:`1` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | tesla | no | :math:`1 \cdot kilogram \cdot second^{-2} \cdot ampere^{-1}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | volt | no | :math:`1 \cdot metre^{2} \cdot kilogram \cdot second^{-3} \cdot ampere^{-1}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | watt | no | :math:`1 \cdot metre^{2} \cdot kilogram \cdot second^{-3}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - | weber | no | :math:`1 \cdot metre^{2} \cdot kilogram \cdot second^{-2} \cdot ampere^{-1}` | :math:`0` | - +---------------+------------+----------------------------------------------------------------------------------+------------------------+ - -.. _prefix-values: - -.. table:: Prefix values - - +-------+-------------+ - | Name | Value | - +=======+=============+ - | yotta | :math:`24` | - +-------+-------------+ - | zetta | :math:`21` | - +-------+-------------+ - | exa | :math:`18` | - +-------+-------------+ - | peta | :math:`15` | - +-------+-------------+ - | tera | :math:`12` | - +-------+-------------+ - | giga | :math:`9` | - +-------+-------------+ - | mega | :math:`6` | - +-------+-------------+ - | kilo | :math:`3` | - +-------+-------------+ - | hecto | :math:`2` | - +-------+-------------+ - | deka | :math:`1` | - +-------+-------------+ - | deci | :math:`-1` | - +-------+-------------+ - | centi | :math:`-2` | - +-------+-------------+ - | milli | :math:`-3` | - +-------+-------------+ - | micro | :math:`-6` | - +-------+-------------+ - | nano | :math:`-9` | - +-------+-------------+ - | pico | :math:`-12` | - +-------+-------------+ - | femto | :math:`-15` | - +-------+-------------+ - | atto | :math:`-18` | - +-------+-------------+ - | zepto | :math:`-21` | - +-------+-------------+ - | yocto | :math:`-24` | - +-------+-------------+ - -.. _interpretation-of-units: - -Interpretation of units ------------------------ - -1. The base units SHALL consist of the user defined base units, and the - built-in base units (those units defined in rows of the :ref:`built-in-units` - table having 'yes' in the 'Base unit?' column). - -2. There SHALL be one user defined base unit for every ``units`` element in the - CellML model which has a ``base_units`` attribute in the empty namespace, - having value ``yes``. - -3. The base unit reduction of a units reference SHALL consist of a real - valued offset, a real valued multiplier, and a set of tuples each - consisting of a base unit and a real valued exponent. The base unit - reduction of a units reference SHALL be determined as follows: - - a. Where the units reference is to a unit which is a base unit, then - the base unit reduction of the units reference SHALL have offset - :math:`0.0`, multiplier :math:`1.0`, and the set of tuples SHALL - have a single member, which SHALL consist of the base units being - referenced and the exponent :math:`1.0`. - - b. Where the units reference is to built-in units other than a base - unit, then the base unit reduction SHALL be derived from the row - of ? for which the value in the 'Name' column matches the name of - the units reference. The offset of the base unit reduction SHALL - be equal to the number in the 'Offset from base units' column of - the row, and the multiplier SHALL be equal to the number at the - start of the 'Multiplier and dimensions in terms of base units' - column of the row. The set of tuples SHALL contain one member for - every built-in base unit named in the 'Multiplier and dimensions - in terms of base units' column of the row, and each of these - tuples SHALL contain the built-in unit referenced, and the - exponent appearing in superscript immediately after the units name - in the table cell. - - c. Where the units reference is to a unit which is neither built-in, - nor a base unit, the resultant base unit reduction SHALL be - defined as a composition of the base unit reductions referenced - from the ``unit`` element information items (the operand base unit - reductions), in accordance with the following rules: - - i. The prefix term is a conceptual property of ``unit`` elements, - defined here for later use. If the ``unit`` element does not have a - ``prefix`` attribute information item, the prefix term SHALL have - value :math:`0.0`. If the ``prefix`` attribute information item has - a value which is a real number string, then the prefix term SHALL have - the corresponding numerical value. Otherwise, the ``prefix`` attribute - information item MUST have a value taken from the 'Name' - column of the :ref:`prefix-values` table, and the prefix term - SHALL have the value taken from the 'Value' column of the same row. - - ii. The exponent term is a conceptual property of ``unit`` elements, - defined here for later use. If a ``unit`` element has no ``exponent`` - attribute information item, the exponent term SHALL have value - :math:`1.0`. Otherwise, the value of the ``exponent`` attribute - information item MUST be a real number string, and the value of the - exponent term SHALL be the numerical value of that string. - - iii. The multiplier term is a conceptual property of ``unit`` elements, - defined here for later use. The multiplier term SHALL be the - real number value of the ``multiplier`` attribute information item - on the ``units`` element (or :math:`1.0` in the absence of such an - attribute information item), multiplied by :math:`10.0` raised to the - power of the product of the prefix term and the exponent term. - - iv. The offset term is a conceptual property of ``unit`` elements, - defined here for later use. If a ``unit`` element has no ``offset`` - attribute information item, the offset term SHALL have value - :math:`0.0`. Otherwise, the value of the ``offset`` attribute - information item MUST be a real number string, and the value of - the offset term SHALL be the numerical value of that string. - - v. Where the units reference is to a ``units`` element with a single - ``unit`` child element, then the resultant base unit reduction - SHALL have multiplier equal to the product of the multiplier of - the operand base unit reduction and the multiplier term of the - ``unit`` element. It SHALL have offset equal to the sum of the - offset of the operand base unit reduction and the offset term - of the ``unit`` element. - - vi. Where the units reference is to a ``units`` element with a number - of ``unit`` child elements not equal to :math:`1.0`, then the resultant - base unit reduction SHALL have multiplier equal to the product - of the multipliers of each operand base unit reduction, and the - multiplier term of each ``unit`` element. It SHALL have offset - equal to :math:`0.0`. - - vii. The set of tuples on the resultant base unit reduction SHALL - have one member for every distinct base unit present in the set - of tuples for any of the operand base unit reductions. The - exponent alongside each of these base units in the resultant - base unit reduction SHALL be the sum, across all tuples for the - base unit from operand base unit reductions, of pairwise - products of the exponent term on the corresponding ``unit`` element - and the exponent from the tuple. - -Component reference -------------------- - -1. A component reference SHALL be the name of a component, and SHALL be - interpreted based on the context within the CellML model in which it - occurs. - -2. A component reference present in an information item which is a - descendant of a ``model`` element SHALL be identical to either the ``name`` - attribute on a ``component`` element or to the ``name`` attribute on an - ``import component`` element. - -3. A component reference which is identical to the ``name`` attribute on a - ``component`` element SHALL be treated as a reference to that ``component`` - element. - -4. A component reference which is identical to the ``name`` attribute on an - ``import component`` element SHALL be treated as if the component - reference appeared in the imported model, and referred to the name - specified in the ``component_ref`` attribute of the ``import component`` - element. - -5. It is noted, for the avoidance of doubt, that CellML models MAY apply - the previous rule recursively, to reference an ``import component`` - element which in turn references another ``import component`` element. - -Variable reference ------------------- - -1. When present in an information item which is a descendant of a - ``component`` element, a variable reference SHALL be the name of a - variable, and SHALL refer to the ``variable`` element in the same - component with a ``name`` attribute identical to the variable reference. - -2. In all other cases, a variable reference SHALL consist of a component - reference and a variable name. In this case, the variable reference - SHALL be treated as if it was present in the ``component`` element - referenced by the component reference. - -Interpretation of initial values --------------------------------- - -1. This section applies to the interpretation of the ``initial_value`` - attribute, when it appears as an attribute information item on a - ``variable`` element. - -2. The ``initial_value`` attribute MUST either be a real number string, or - a variable reference. - -3. Where the ``initial_value`` attribute has a real number value, it SHALL - be interpreted as a statement that the variable on which the - attribute appears is equal to that real number value, under the - conditions when the initial value holds. - -4. Where the ``initial_value`` attribute is a variable reference, it SHALL - be interpreted as a statement that the variable on which the - attribute appears is equal to the referenced variable under the - conditions when the initial value holds. - -.. todo:: - - Need a reasonable definition of the conditions when the - initial value holds, because we can't really use the 1.1 version - because it is problematic for a number of reasons. - -.. _effect-of-units-on-variables: - -Effect of units on variables ----------------------------- - -1. The ``units`` attribute on a ``variable`` element MUST be a valid units - reference. The target of this units reference is referred to as - the variable units, and the corresponding base units reduction is - referred to as the variable base unit reduction. - -2. The variable base unit reduction of a ``variable`` element MUST have an - identical set of tuples to the set of tuples on the source variable - base element units reduction. Two sets of tuples SHALL be considered - identical if and only if neither set contains any tuple not present - in the other. Two tuples are considered identical if both the base - units and exponent on the tuple are the same. - -3. The following symbols are defined for the purposes of the formulae in - the :ref:`interpretation-of-mathematics` section: - - a. :math:`m_{V}` is the multiplier on the variable base unit reduction. - - b. :math:`o_{V}` is the offset on the variable base unit reduction. - - c. :math:`m_{S}` is the multiplier on the source variable base unit reduction. - - d. :math:`o_{S}` is the offset on the source variable base unit reduction. - -.. _interpretation-of-mathematics: - -Interpretation of mathematics ------------------------------ - -1. Every MathML element in the CellML model, which appears as a direct - child information item of the MathML ``math`` element information item, - which in turn appears as a child information item of a pertinent - ``component`` element, SHALL be treated as a statement which holds true - unconditionally. - -2. Every variable name given using the MathML ``ci`` element SHALL be - treated as a variable reference within the component element ancestor - the MathML is contained within. - -3. Every such variable reference SHALL be treated as a linear expression - :math:`\frac{m_{V}}{m_{S}} \cdot x - o_{V} + \frac{m_{S}}{m_{V}} \cdot o_{S}`. - In this equation, :math:`x` represents the - variable in the mathematical model, in the units of the source - variable element, while the remaining variables SHALL be interpreted - as specified in the :ref:`effect-of-units-on-variables` section. - -4. Every MathML ``cn`` element MUST have an attribute information item in - the CellML namespace, with local name ``units``. The value of - this attribute information item MUST be a valid units reference. The - referenced units SHALL NOT affect the mathematical interpretation of - the CellML model. However, CellML processing software MAY use this - information to assist the user in the detection and correction of - units errors in the CellML model. - -Interpretation of grouping --------------------------- - -1. Two ``relationship_ref`` elements SHALL be considered to refer to the - same relationship if and only if all of the following conditions hold: - - a. The attribute information item with local name ``relationship`` - is in an identical namespace on both element information items; - - b. The attribute information item with local name ``relationship`` - has identical values on each of the element information items; and - - c. Either the attribute information item in the empty namespace and - with local name ``name`` is absent on both element information - items, or, it is present on both element information items and - has identical value. - -2. For every distinct relationship referred to by a ``relationship_ref`` - element in the CellML model, there SHALL be a conceptual - relationship digraph in which there is one node for every component - in the CellML model. - -3. Where a ``component_ref`` element appears as a child of another - ``component_ref`` element, then for all ``relationship_ref`` elements - which are children of the ancestral ``group`` element, there SHALL be an - arc in the relationship digraph corresponding to the relationship - referenced by the ``relationship_ref`` element, and that arc SHALL be - from the component referenced by the parent ``component_ref`` element - and to the component referenced by the child ``component_ref`` element. - -4. The term encapsulation digraph SHALL refer to the relationship - digraph for the relationship corresponding to the ``relationship_ref`` - attribute in the empty namespace and with value ``encapsulation`` (and - with no ``name`` attribute). - -5. The encapsulation digraph MUST NOT contain any loops, and MUST NOT - contain any cycles in the underlying graph (that is, it must be a - tree). - -6. The encapsulated set for a component *A* SHALL be the set of all - components to which there exists an arc in the encapsulation digraph - from the node corresponding to *A*. - -7. The encapsulation parent for a component *A* SHALL be the component - corresponding to the node which is the parent node in the - encapsulation digraph of the node corresponding to *A*. - -8. The sibling set for a component *A* SHALL be the set of all components - which have the same encapsulation parent as *A*, or in the case that *A* - has no encapsulation parent, SHALL be the set of all components - which do not have an encapsulation parent. - -9. The hidden set for a component *A* SHALL be the set of all components - *B* where component *B* is not in the encapsulated set for component *A*, - and component *B* is not the encapsulation parent of component *A*, and - component *B* is not in the sibling set for component *A*. - -10. CellML models MUST NOT contain ``map_components`` elements such that - the component referenced by the ``component_1`` attribute is in the - hidden set of the component referenced by the ``component_2`` attribute. - -Variable equivalence networks ------------------------------ - -1. A variable equivalence network SHALL be a directed graph with one - node for every ``variable`` element in the CellML model. - -2. For every ``map_variables`` element present in the CellML model, there - SHALL be an arc in the variable equivalence network. - -3. One endpoint of the arc in the variable equivalence network SHALL be - the node corresponding to the variable *A* referenced by the - ``component_1`` and ``variable_1`` attributes. - -4. One endpoint of the arc in the variable equivalence network SHALL be - the node corresponding to the variable *B* referenced by the - ``component_2`` and ``variable_2`` attributes. - -5. CellML models MUST NOT contain any pair of ``map_variables`` elements - which each make reference to the same sets of variables (without - regard to whether the ``variable_1`` attribute of one ``map_variables`` - element references the variable referenced by the ``variable_1`` or - ``variable_2`` attribute of the other). - -6. When the ``component`` parent element of variable *A* is in the sibling - set of the ``component`` parent element of variable *B*, the applicable - interface for variables *A* and *B* SHALL be the public interface. - -7. Where the ``component`` parent element of variable *A* is in the - encapsulated set of the ``component`` parent element of variable *B*, the - applicable interface for variable *A* SHALL be the public interface, - and the applicable interface for variable *B* SHALL be the private - interface. - -8. Where the ``component`` parent element of variable *B* is in the - encapsulated set of the ``component`` parent element of variable *A*, the - applicable interface for variable *A* SHALL be the private interface, - and the applicable interface for variable *B* SHALL be the public - interface. - -9. For a given variable, if the applicable interface is the public - interface, the applicable interface attribute SHALL be the - ``public_interface`` attribute information item on the corresponding - ``variable`` element. If the applicable interface is the private - interface, the applicable interface attribute SHALL be the - ``private_interface`` attribute information item on the corresponding - ``variable`` element. - -10. In any case, if the applicable interface attribute is absent, the - following rules in this section SHALL still apply as if the - applicable interface attribute was present, and had the value ``none``. - -11. CellML models MUST NOT contain ``map_variables`` elements unless the - value of the applicable interface attributes on variables *A* and *B* - are both either ``in`` or ``out``, and those two attribute values are - different from each other. - -12. The direction of the arc SHALL be from the node corresponding to the - variable with the applicable interface attribute equal to ``in``, and - SHALL be to the node corresponding to the variable with the - applicable interface attribute equal to ``out``. - -13. For the purposes of this specification, the ``variable`` elements in a - CellML model SHALL be treated as belonging to one of several - disjoint sets of connected variables. Each set of connected - variables is the set of all ``variable`` elements for which the - corresponding nodes in the variable equivalence network form a - weakly connected subgraph. Each set of connected variables - represents one variable in the mathematical model. - -14. In every set of connected variables, there MUST be exactly one - ``variable`` element which has neither a public interface of ``in`` nor a - private interface of ``in``. This ``variable`` element is referred to as the - source ``variable`` element. Within this specification, the variable in - the mathematical model is described as if it was in the units - specified on the source ``variable`` element. diff --git a/source/references.rst b/source/references.rst deleted file mode 100644 index 313d3cc6..00000000 --- a/source/references.rst +++ /dev/null @@ -1,31 +0,0 @@ -References -========== - -`RFC 2119: Key words for use in RFCs to Indicate Requirement -Levels `_ (March 1997) - -`Extensible Markup Language (XML) 1.0 (Fourth -Edition) `_ (16 August 2006) - -`XML Information Set (Second -Edition) `_ (4 -February 2004) - -`Namespaces in XML (Second -Edition) `_ (16 August -2006) - -`Resource Description Framework (RDF): Concepts and Abstract -Syntax `_ (10 -February 2004) - -`RDF/XML Syntax Specification -(Revised) `_ -(10 February 2004) - -`Mathematical Markup Language (MathML) Version 2.0 (Second -Edition) `_ (21 October -2003) - -`XML Linking Language (XLink) Version -1.0 `_ (27 June 2001) diff --git a/source/relationship-ref-element-item.rst b/source/relationship-ref-element-item.rst deleted file mode 100644 index 08f37037..00000000 --- a/source/relationship-ref-element-item.rst +++ /dev/null @@ -1,31 +0,0 @@ -The ``relationship_ref`` element information item -================================================== - -``relationship_ref`` element information items (referred to in this -specification as ``relationship_ref`` elements) are element information -items in the CellML namespace with local name equal to ``relationship_ref``. - -Specific information items --------------------------- - -1. Every ``relationship_ref`` element MUST contain exactly one attribute - information item with local name ``relationship``. This limit of one - attribute information item SHALL apply without regard to the - namespace in which the attribute information item is, and SHALL, to the - extent that it conflicts, override the ordinary rules for extension - information items. - -2. In the event that the ``relationship`` attribute is in the empty - namespace, it MUST either take the value ``encapsulation`` or ``containment``. - -3. There MUST NOT exist a sibling ``relationship_ref`` element such that - the namespace of the ``relationship`` attribute on the sibling element - is identical to the namespace of the ``relationship`` attribute on this - element, and the value of the ``relationship`` attribute on the sibling - element is identical to the value of the ``relationship`` attribute on - this element. - -4. A ``relationship_ref`` element MAY contain an attribute in the empty - namespace with local name ``name``. In this case, it MUST NOT have a - ``relationship`` attribute in the empty namespace with value ``encapsulation``. - The value of the ``name`` attribute MUST be a valid CellML identifier. diff --git a/source/unit-element-item.rst b/source/unit-element-item.rst deleted file mode 100644 index 0233974f..00000000 --- a/source/unit-element-item.rst +++ /dev/null @@ -1,43 +0,0 @@ -The ``unit`` element information item -===================================== - -``unit`` element information items (referred to in this specification as -``unit`` elements) are element information items in the CellML namespace -with local name equal to ``unit``, and with a ``units`` element as their parent. - -Specific information items --------------------------- - -1. Every ``unit`` element MUST contain a ``units`` attribute information item in - the empty namespace. The value of the ``units`` attribute MUST be a valid - units reference, as defined in the :ref:`units-reference` section. - - a. The ``units`` element inclusion digraph SHALL be a conceptual digraph - defined for the purpose of the constraint in the next paragraph, - and SHALL contain one node for every ``units`` element in the CellML - model. The ``units`` element inclusion digraph SHALL contain an arc - from ``units`` element *A* to ``units`` element *B* if and only if ``units`` - element *A* contains a ``unit`` element with ``units`` attribute value that - is a units reference to ``units`` element *B*. - - b. The value of the ``units`` attribute MUST NOT be such that the ``units`` - element inclusion digraph contains one or more cycles. - -2. A ``unit`` element MAY contain any of the following attribute information - items in the empty namespace: - - a. The ``prefix`` attribute. If present, the value of the attribute MUST - meet the constraints specified in the :ref:`interpretation-of-units` section. - - b. The ``offset`` attribute. If present, the value of the attribute MUST - be a real number string. If the attribute is present and has value - other than a real number string representing ``0``, then this ``unit`` - element MUST NOT have any sibling ``unit`` elements, and the value of - the ``exponent`` attribute, if present, MUST be a real number string - representing ``1``. - - c. The ``multiplier`` attribute. If present, the value of the attribute - MUST be a real number string. - - d. The ``exponent`` attribute. If present, the value of the attribute - MUST be a real number string. diff --git a/source/units-element-item.rst b/source/units-element-item.rst deleted file mode 100644 index cf3629f5..00000000 --- a/source/units-element-item.rst +++ /dev/null @@ -1,33 +0,0 @@ -The ``units`` element information item -====================================== - -``units`` element information items (referred to in this specification as -``units`` elements) are element information items in the CellML namespace -with local name equal to ``units``, and with either a ``model`` element or -a ``component`` element as their parent. - -Specific information items --------------------------- - -1. Every ``units`` element MUST contain a ``name`` attribute in the empty - namespace. The value of the ``name`` attribute MUST be a valid CellML - identifier. - - a. Where the parent of the ``units`` element is a ``model`` element, - the value of the ``name`` attribute MUST NOT be identical to the ``name`` - attribute of any other ``units`` element child of that ``model`` element, or - of any ``import units`` element in the CellML infoset. - - b. Where the parent of the ``units`` element is a ``component`` element, the - value of the ``name`` attribute MUST NOT be identical to the ``name`` - attribute of any other ``units`` element child of that ``component`` element. - - c. In any case, the value of the ``name`` attribute MUST NOT be equal to a - cell in the name column of the :ref:`built-in-units` table. - -2. A ``units`` element MAY contain a ``base_units`` attribute in the empty - namespace. If present, the value of the ``base_units`` attribute MUST be - equal to either ``yes`` or ``no``. If the attribute is present and equal to - ``yes``, then the following paragraph does not apply. - -3. A ``units`` element MAY contain one or more ``unit`` element children. diff --git a/source/variable-element-item.rst b/source/variable-element-item.rst deleted file mode 100644 index ca8a0710..00000000 --- a/source/variable-element-item.rst +++ /dev/null @@ -1,40 +0,0 @@ -The ``variable`` element information item -========================================= - -``variable`` element information items (referred to in this specification as -``variable`` elements) are element information items in the CellML namespace -with local name equal to ``variable``, and which appear as a child of a -``component`` element. - -Specific information items --------------------------- - -1. Every ``variable`` element MUST have each of the following attribute - information items in the empty namespace: - - a. The ``name`` attribute. The value of the ``name`` attribute MUST be a - valid CellML Identifier. The value of the ``name`` attribute MUST NOT - be identical to the ``name`` attribute on any sibling ``variable`` - element. - - b. The ``units`` attribute. The value of the ``units`` attribute MUST be a - valid CellML Identifier, and MUST meet the constraints described - in the :ref:`effect-of-units-on-variables` section. - -2. Every ``variable`` element MAY contain one or more of the following - attribute information items in the empty namespace: - - a. The ``public_interface`` attribute. If the attribute is present, it - MUST have value ``in``, ``out``, or ``none``. - - b. The ``private_interface`` attribute. If the attribute is present, it - MUST have value ``in``, ``out``, or ``none``. It MUST NOT have value ``in`` if the - ``public_interface`` attribute also has the value ``in``. - - c. The ``initial_value`` attribute. If the attribute is present, it MUST - meet the requirements described **HERE**. - -.. todo:: - - Need to provide a link to where the requirements for the ``initial_value`` - attribute are. diff --git a/static/css/cellml.css b/static/css/cellml.css new file mode 100644 index 00000000..4830317e --- /dev/null +++ b/static/css/cellml.css @@ -0,0 +1,139 @@ +/* @import url("../theme.css"); */ + +.code.literal { + color:darkslategray; +} + +pre { + border: none; + background-color:#eeeeee; + color: darkslategray; +} + +.highlight { + margin-top: 10px; + margin-bottom: 10px; + background-color:#eeeeee; +} + +div.figure a.image-reference { + border: none; +} + +div[class^="issue"], div[class*=" issue"] { + background-color: none; + line-height: 24px; + margin: 0; + font-size: 16px; + /* margin-bottom: 24px; */ +} + +div[class^="issue"], div[class*=" issue"] > ol { + margin-bottom: 0; +} + +.issue-title { + font-weight: 700; + font-size: large; +} + +.highlight-issue { + background-color: rgba(255, 255, 0, 0.2); + font-weight: 500; + padding: 10px; + border-left: solid 5px saddlebrown; +} + +.dothis { + border-left: 5px solid rgb(174, 189, 145); + background:rgb(242, 249, 227); + padding: 3px 3px 3px 8px; + margin-top:20px; + margin-bottom:20px; + line-height: 24px; + font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; +} + +.dothis > .guilabel { + color: rgb(30, 46, 0); +} + +.toggle .header { + display: block; + clear: both; + color: darkslategray; + text-align: right; + margin-top: 0; + margin-bottom: 15px; +} + +.toggle .header:after { + content: " +"; +} + +.toggle .header.open:after { + content: " -"; +} + +.infospec { + /* border-top: 1px solid #b9c6dd; */ + background:#e1eaf0; + color: #444444; + padding: 10px; + + margin-top:0px; + margin-bottom:15px; + margin-left:0; + margin-right:0; + + line-height: 24px; + font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; +} + +.infolib { + /* border-top: 1px solid #b9c6dd; */ + background:#e7f0e1; + color: #444444; + padding: 10px; + + margin-top:0px; + margin-bottom:15px; + margin-left:0; + margin-right:0; + + line-height: 24px; + font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; +} + +.nb { + border-left: 5px solid sandybrown; + background:rgb(255, 243, 206); + padding: 3px 3px 3px 8px; + margin-top:20px; + margin-bottom:20px; + line-height: 24px; + font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; +} + +.heading2 { + color: #444444; + font-family: "Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif; + font-size:150%; + font-weight: 700; +} + +.heading3 { + color: #444444; + font-family: "Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif; + font-size:120%; + font-weight: 700; +} + +.terminal { + border: none; + color: white; + background-color:#777777; + padding: 5px 0px 0px 10px; + font-family: 'Consolas', 'Deja Vu Sans Mono','Bitstream Vera Sans Mono', monospace; + font-size: 0.85em; +} diff --git a/static/templates/page.html b/static/templates/page.html new file mode 100644 index 00000000..ba9504a7 --- /dev/null +++ b/static/templates/page.html @@ -0,0 +1,24 @@ +{% extends "!page.html" %} + +{% block footer %} +
"; + title += code.toUpperCase().replace("-","_") +" errors refer to:
" + $(issueCode).html(title + contents); + $(issueCode).addClass("highlight-issue"); + } + }); + +{% endblock %} From 3c747630ab9b77f5e680a9589f4df21f6b6d9811 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 12:36:02 +1300 Subject: [PATCH 003/604] Create requirements.txt --- requirements.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..d07319da --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +sphinx-hoverxref From 790bcc1ce03f7ad4489f39eaa1bda8aa3e2e1ecd Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 13:46:30 +1300 Subject: [PATCH 004/604] Adding title to section C --- .gitignore | 1 + index.rst | 2 +- reference/sectionC_interpretation.rst | 6 +++++- 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..1d74e219 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.vscode/ diff --git a/index.rst b/index.rst index 3442b717..3b6fbc6a 100644 --- a/index.rst +++ b/index.rst @@ -36,7 +36,7 @@ and must not be included in order for a model to be syntactically valid CellML. .. toctree:: :maxdepth: 1 - index_sectionC.rst + reference/index_sectionC.rst .. toctree:: :maxdepth: 1 diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst index b884c904..abbbb485 100644 --- a/reference/sectionC_interpretation.rst +++ b/reference/sectionC_interpretation.rst @@ -1,6 +1,10 @@ -.. sectnum:: +.. _sectionC: +.. sectnum:: +=========================================== +Section C: Interpretation +=========================================== .. marker_interpretation_of_imports_start .. _specC_imports: From d0ccbe88c0f8573ca31999e5bfb3fa0480cc42f6 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 13:53:17 +1300 Subject: [PATCH 005/604] Naming index pages --- reference/index_sectionA.rst | 2 ++ reference/index_sectionB.rst | 2 ++ reference/index_sectionC.rst | 2 ++ reference/sectionA_definitions.rst | 2 +- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/reference/index_sectionA.rst b/reference/index_sectionA.rst index 8f33c243..8a9f7a45 100644 --- a/reference/index_sectionA.rst +++ b/reference/index_sectionA.rst @@ -1,3 +1,5 @@ +.. _sectionA_index: + ==================================== Section A: Definitions and preamble ==================================== diff --git a/reference/index_sectionB.rst b/reference/index_sectionB.rst index f689fa05..d6f24f87 100644 --- a/reference/index_sectionB.rst +++ b/reference/index_sectionB.rst @@ -1,3 +1,5 @@ +.. _sectionB_index: + ==================================== Section B: Element information items ==================================== diff --git a/reference/index_sectionC.rst b/reference/index_sectionC.rst index 7f1d33ed..dfe0567e 100644 --- a/reference/index_sectionC.rst +++ b/reference/index_sectionC.rst @@ -1,3 +1,5 @@ +.. _sectionC_index: + ============================================= Section C: Interpretation of CellML2.0 Models ============================================= diff --git a/reference/sectionA_definitions.rst b/reference/sectionA_definitions.rst index e532e0a9..91adf00b 100644 --- a/reference/sectionA_definitions.rst +++ b/reference/sectionA_definitions.rst @@ -1,4 +1,4 @@ -.. _sectionA_definitions: +.. _sectionA: **CellML 2.0 Specification** From f18c5f7f2c19dee08186ef4610bc6615450124bb Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 14:02:29 +1300 Subject: [PATCH 006/604] Update sectionD_references.rst --- reference/sectionD_references.rst | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/reference/sectionD_references.rst b/reference/sectionD_references.rst index 3445637a..01a40bb6 100644 --- a/reference/sectionD_references.rst +++ b/reference/sectionD_references.rst @@ -1,6 +1,9 @@ -References -============== +.. _sectionD: + +===================== +Section D: References +===================== `RFC 2119: Key words for use in RFCs to Indicate Requirement Levels `__ (March 1997) From 066e38c0b18a54b121e6affcd6778bd04458a0b8 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 15:28:33 +1300 Subject: [PATCH 007/604] index --- conf.py | 6 ------ index.rst | 35 +---------------------------------- 2 files changed, 1 insertion(+), 40 deletions(-) diff --git a/conf.py b/conf.py index 104e7eee..d261ecb0 100644 --- a/conf.py +++ b/conf.py @@ -88,12 +88,6 @@ } -# Mapping to get references in the specification document repo into this one -# See: https://docs.readthedocs.io/en/stable/guides/intersphinx.html -intersphinx_mapping = { - 'spec': ('https://www.sphinx-doc.org/en/master/', None), -} - # rst_epilog to define formatted, clickable code substitutions throughout. It's included # at the bottom of every file in the project. # rst_prolog = """ diff --git a/index.rst b/index.rst index 3b6fbc6a..a368e0be 100644 --- a/index.rst +++ b/index.rst @@ -10,44 +10,11 @@ and must not be included in order for a model to be syntactically valid CellML. .. toctree:: - :maxdepth: 1 + :maxdepth: 2 reference/index_sectionA.rst - -.. toctree:: - :maxdepth: 1 - :glob: - :numbered: - - reference/specA* - -.. toctree:: - :maxdepth: 1 - reference/index_sectionB.rst - -.. toctree:: - :maxdepth: 1 - :glob: - :numbered: - - reference/specB* - -.. toctree:: - :maxdepth: 1 - reference/index_sectionC.rst - -.. toctree:: - :maxdepth: 1 - :glob: - :numbered: - - reference/specC* - -.. toctree:: - :maxdepth: 1 - reference/sectionD_references.rst From f145c38722af76299a3d657404a5f5decda86513 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 16:02:13 +1300 Subject: [PATCH 008/604] index depths --- conf.py | 1 + reference/index_sectionA.rst | 2 +- reference/index_sectionB.rst | 2 +- reference/index_sectionC.rst | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/conf.py b/conf.py index d261ecb0..ab2fd0c9 100644 --- a/conf.py +++ b/conf.py @@ -68,6 +68,7 @@ 'github': ('https://github.com/%s', ''), 'google_styleguide': ('https://google.github.io/styleguide/cppguide.html/%s', ''), 'href_locator': ('https://www.w3.org/TR/2001/REC-xlink-20010627/#link-locators/%s', ''), + 'libcellml': ('https://libcellml.org'), 'libcellml_repo': ('https://github.com/cellml/libcellml.git%s', ''), 'libxml2': ('http://www.xmlsoft.org/%s', ''), 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html#id.4.2.1.3%s', ''), diff --git a/reference/index_sectionA.rst b/reference/index_sectionA.rst index 8a9f7a45..ecb35670 100644 --- a/reference/index_sectionA.rst +++ b/reference/index_sectionA.rst @@ -5,7 +5,7 @@ Section A: Definitions and preamble ==================================== .. toctree:: - :maxdepth: 2 + :maxdepth: 1 :numbered: :glob: diff --git a/reference/index_sectionB.rst b/reference/index_sectionB.rst index d6f24f87..53849454 100644 --- a/reference/index_sectionB.rst +++ b/reference/index_sectionB.rst @@ -8,7 +8,7 @@ Section B of the Normative CellML2.0 Specification outlines the element informat items and the rules governing their declaration. .. toctree:: - :maxdepth: 2 + :maxdepth: 1 :numbered: :glob: diff --git a/reference/index_sectionC.rst b/reference/index_sectionC.rst index dfe0567e..4d903ddf 100644 --- a/reference/index_sectionC.rst +++ b/reference/index_sectionC.rst @@ -8,7 +8,7 @@ Section C of the Normative CellML2.0 Specification describes the way in which the elements defined in Section B are to be interpreted. .. toctree:: - :maxdepth: 2 + :maxdepth: 1 :numbered: :glob: From 831bfcdbe77e61ca361d89510c90d2a5aee19c90 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 16:03:46 +1300 Subject: [PATCH 009/604] Update conf.py --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index ab2fd0c9..e056dc34 100644 --- a/conf.py +++ b/conf.py @@ -68,7 +68,7 @@ 'github': ('https://github.com/%s', ''), 'google_styleguide': ('https://google.github.io/styleguide/cppguide.html/%s', ''), 'href_locator': ('https://www.w3.org/TR/2001/REC-xlink-20010627/#link-locators/%s', ''), - 'libcellml': ('https://libcellml.org'), + 'libcellml': ('https://libcellml.org/%s', ''), 'libcellml_repo': ('https://github.com/cellml/libcellml.git%s', ''), 'libxml2': ('http://www.xmlsoft.org/%s', ''), 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html#id.4.2.1.3%s', ''), From 1f35284ae1c2547729150e30ec8d0931d773e97e Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 16:09:40 +1300 Subject: [PATCH 010/604] Formatting for code in headings --- reference/sectionB_elements.rst | 64 ++++++++++++++++----------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/reference/sectionB_elements.rst b/reference/sectionB_elements.rst index 5ed94911..4fbb50dd 100644 --- a/reference/sectionB_elements.rst +++ b/reference/sectionB_elements.rst @@ -10,8 +10,8 @@ Section B: Element information items .. _model: -The model element -================= +The ``model`` element +===================== Top-level of CellML infosets ---------------------------- @@ -63,8 +63,8 @@ Specific information items .. _import: -The import element -================== +The ``import`` element +====================== An :code:`import` element information item (referred to in this specification as an :code:`import` element) is an element @@ -118,8 +118,8 @@ Specific information items .. _import_units: -The import units element -======================== +The ``import units`` element +============================ An :code:`import units` element information item (referred to in this specification as an :code:`import units` element) is an element in the @@ -158,8 +158,8 @@ Specific information items .. _import_component: -The import component element -============================ +The ``import component`` element +================================ An :code:`import component` element information item (referred to in this specification as an :code:`import component` element) is an element @@ -197,8 +197,8 @@ Specific information items .. _units: -The units element -================= +The ``units`` element +===================== A :code:`units` element information item (referred to in this specification as a :code:`units` element) is an element in the CellML @@ -236,8 +236,8 @@ Specific information items .. _unit: -The unit element -================ +The ``unit`` element +==================== A :code:`unit` element information item (referred to in this specification as a :code:`unit` element) is an element in the CellML @@ -300,8 +300,8 @@ Specific information items .. _component: -The component element -===================== +The ``component`` element +========================= A :code:`component` element information item (referred to in this specification as a :code:`component` element) is an element @@ -341,8 +341,8 @@ Specific information items .. _variable: -The variable element -==================== +The ``variable`` element +======================== A :code:`variable` element information item (referred to in this specification as a :code:`variable` element) is an element @@ -392,8 +392,8 @@ Specific information items .. _reset: -The reset element -================= +The ``reset`` element +===================== A :code:`reset` element information item (referred to in this specification as a :code:`reset` element) is an element in the CellML @@ -447,8 +447,8 @@ Specific information items .. _test_value: -The test_value element -====================== +The ``test_value`` element +========================== A :code:`test_value` element information item (referred to in this specification as a :code:`test_value` element) is an element in the @@ -469,8 +469,8 @@ Specific information items .. _reset_value: -The reset_value element -======================= +The ``reset_value`` element +=========================== A :code:`reset_value` element information item (referred to in this specification as a :code:`reset_value` element) is an element in the CellML @@ -490,8 +490,8 @@ Specific information items .. _math: -The math element -================ +The ``math`` element +==================== A :code:`math` element information item (referred to in this specification as a :code:`math` element) is an element in the MathML @@ -583,8 +583,8 @@ Table: Supported MathML Elements .. _encapsulation: -The encapsulation element -========================= +The ``encapsulation`` element +============================= An :code:`encapsulation` element information item (referred to in this specification as an :code:`encapsulation` element) is an element in the @@ -604,8 +604,8 @@ Specific information items .. _component_ref: -The component_ref element -========================= +The ``component_ref`` element +============================= A :code:`component_ref` element information item (referred to in this specification as a :code:`component_ref` element) is an element in the @@ -643,8 +643,8 @@ Specific information items .. _connection: -The connection element -====================== +The ``connection`` element +========================== A :code:`connection` element information item (referred to in this specification as a :code:`connection` element) is an element in the @@ -696,8 +696,8 @@ Specific information items .. _map_variables: -The map_variables element -========================= +The ``map_variables`` element +============================= A :code:`map_variables` element information item (referred to in this specification as a :code:`map_variables` element) is an element in the From e58684afeb9f7f34eb9f0baff28f67b30d8a752f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 16:11:42 +1300 Subject: [PATCH 011/604] Update index_sectionC.rst --- reference/index_sectionC.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/index_sectionC.rst b/reference/index_sectionC.rst index 4d903ddf..15e348d6 100644 --- a/reference/index_sectionC.rst +++ b/reference/index_sectionC.rst @@ -1,7 +1,7 @@ .. _sectionC_index: ============================================= -Section C: Interpretation of CellML2.0 Models +Section C: Interpretation ============================================= Section C of the Normative CellML2.0 Specification describes the way in which From 2d4c2bdcddf1aa7ac2ff83702dce69769b67e1e6 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 16:28:34 +1300 Subject: [PATCH 012/604] Update sectionB_elements.rst Addresses issue #41 --- reference/sectionB_elements.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/reference/sectionB_elements.rst b/reference/sectionB_elements.rst index 4fbb50dd..1eefc8ff 100644 --- a/reference/sectionB_elements.rst +++ b/reference/sectionB_elements.rst @@ -678,17 +678,20 @@ Specific information items :code:`import component` element in the :ref:`CellML infoset` (see :ref:`Component reference `). - It MUST NOT be equal to the value of the :code:`component_1` attribute. +.. container:: issue-todo + + 3. The value of the :code:`connection_1` attribute MUST NOT be equal to the + value of the :code:`component_2` attribute. .. container:: issue-connection-unique-transitive - 3. A :ref:`CellML infoset` MUST NOT contain more than one :code:`connection` + 4. A :ref:`CellML infoset` MUST NOT contain more than one :code:`connection` element with a given pair of :code:`component`\ s referenced by the :code:`component_1` and :code:`component_2` attribute values, in any order. .. container:: issue-connection-map-variables - 4. Every :code:`connection` element MUST contain one or more + 5. Every :code:`connection` element MUST contain one or more :code:`map_variables` elements. .. marker_connection_end From a6f023da19c0384ca0c47510c51186c70a772257 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 16:49:20 +1300 Subject: [PATCH 013/604] Update notes with TODO --- reference/inform/informA2.rst | 9 ++++++++- reference/inform/informB10_test_value1.rst | 8 +++++++- reference/inform/informB11_reset_value1.rst | 8 +++++++- reference/inform/informB12_math1.rst | 8 +++++++- reference/inform/informB13_encapsulation1.rst | 9 ++++++++- reference/inform/informB14_component_ref1.rst | 10 +++++++++- reference/inform/informB15_connection1.rst | 8 +++++++- reference/inform/informB9_reset1.rst | 9 ++++++++- reference/inform/informC.rst | 8 +++++++- 9 files changed, 68 insertions(+), 9 deletions(-) diff --git a/reference/inform/informA2.rst b/reference/inform/informA2.rst index 02043658..49eeb866 100644 --- a/reference/inform/informA2.rst +++ b/reference/inform/informA2.rst @@ -1,5 +1,12 @@ .. _inform2: +.. container:: toggle + .. container:: header + + See more + + .. container:: infospec + + **TODO** Informal notes go here -Notes on 2 go here diff --git a/reference/inform/informB10_test_value1.rst b/reference/inform/informB10_test_value1.rst index bed34a86..3d7ffd55 100644 --- a/reference/inform/informB10_test_value1.rst +++ b/reference/inform/informB10_test_value1.rst @@ -1,5 +1,11 @@ .. _informB10: +.. container:: toggle + .. container:: header -Notes on B10 go here + See more + + .. container:: infospec + + **TODO** Informal notes go here diff --git a/reference/inform/informB11_reset_value1.rst b/reference/inform/informB11_reset_value1.rst index b84d0579..7f0a1960 100644 --- a/reference/inform/informB11_reset_value1.rst +++ b/reference/inform/informB11_reset_value1.rst @@ -1,5 +1,11 @@ .. _informB11: +.. container:: toggle + .. container:: header -Notes on B11 go here + See more + + .. container:: infospec + + **TODO** Informal notes go here diff --git a/reference/inform/informB12_math1.rst b/reference/inform/informB12_math1.rst index 78a62010..c407b16f 100644 --- a/reference/inform/informB12_math1.rst +++ b/reference/inform/informB12_math1.rst @@ -1,5 +1,11 @@ .. _informB12: +.. container:: toggle + .. container:: header -Notes on B12 go here + See more + + .. container:: infospec + + **TODO** Informal notes go here diff --git a/reference/inform/informB13_encapsulation1.rst b/reference/inform/informB13_encapsulation1.rst index 8b1d118e..023fd1ed 100644 --- a/reference/inform/informB13_encapsulation1.rst +++ b/reference/inform/informB13_encapsulation1.rst @@ -1,5 +1,12 @@ .. _informB13: +.. container:: toggle -Notes on B13 go here + .. container:: header + + See more + + .. container:: infospec + + **TODO** Informal notes go here diff --git a/reference/inform/informB14_component_ref1.rst b/reference/inform/informB14_component_ref1.rst index f383af9e..019cfcc3 100644 --- a/reference/inform/informB14_component_ref1.rst +++ b/reference/inform/informB14_component_ref1.rst @@ -1,5 +1,13 @@ .. _informB14: +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + **TODO** Informal notes go here -Notes on B14 go here diff --git a/reference/inform/informB15_connection1.rst b/reference/inform/informB15_connection1.rst index a15d92ca..0e4174fd 100644 --- a/reference/inform/informB15_connection1.rst +++ b/reference/inform/informB15_connection1.rst @@ -1,5 +1,11 @@ .. _informB15: +.. container:: toggle + .. container:: header -Notes on B15 go here + See more + + .. container:: infospec + + **TODO** Informal notes go here diff --git a/reference/inform/informB9_reset1.rst b/reference/inform/informB9_reset1.rst index 2351b55f..6efdb4a4 100644 --- a/reference/inform/informB9_reset1.rst +++ b/reference/inform/informB9_reset1.rst @@ -1,5 +1,12 @@ .. _informB9: +.. container:: toggle -Notes on B9 go here + .. container:: header + + See more + + .. container:: infospec + + **TODO** Informal notes go here diff --git a/reference/inform/informC.rst b/reference/inform/informC.rst index 7d4e3af7..83c90b51 100644 --- a/reference/inform/informC.rst +++ b/reference/inform/informC.rst @@ -1,5 +1,11 @@ .. _informC: +.. container:: toggle + .. container:: header -Notes on C go here + See more + + .. container:: infospec + + **TODO** Informal notes go here From 8218105d07747fb004dab568b8e54a6a8d66db50 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 16:54:15 +1300 Subject: [PATCH 014/604] Update informA1.rst --- reference/inform/informA1.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reference/inform/informA1.rst b/reference/inform/informA1.rst index c42ed097..08f4d6ed 100644 --- a/reference/inform/informA1.rst +++ b/reference/inform/informA1.rst @@ -2,10 +2,10 @@ .. container:: toggle - .. container:: header + .. container:: header - **Show/Hide Code** + See more - .. code-block:: xml + .. container:: infospec - Hello world + **TODO** Informal notes go here From 7421db91ffe6c943a204c479026be9d498e8600f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 17:46:04 +1300 Subject: [PATCH 015/604] Updated css, encapsulation notes --- reference/inform/informB13_encapsulation1.rst | 90 ++++++++++++++++++- reference/inform/informB14_component_ref1.rst | 3 +- static/css/cellml.css | 2 +- 3 files changed, 92 insertions(+), 3 deletions(-) diff --git a/reference/inform/informB13_encapsulation1.rst b/reference/inform/informB13_encapsulation1.rst index 023fd1ed..c73b91d8 100644 --- a/reference/inform/informB13_encapsulation1.rst +++ b/reference/inform/informB13_encapsulation1.rst @@ -9,4 +9,92 @@ .. container:: infospec - **TODO** Informal notes go here + Encapsulation is the way that CellML manages the hierarchy of components + and keeps their modularity. This is why there can be only one :code:`encapsulation` + element within a :code:`model`: you can think of it as a table of contents for + components in the whole model. + + Encapsulations don't have to include all of the model's components - only the ones + which need to sit within another component. Components which are not listed within + the encapsulation are top-level children of the :code:`model`. + + .. code-block:: xml + + # Valid encapsulation structure. This will give the arrangement of: + # - grandad + # - father + # - child + # - aunt + # + # Because the component named orphan is not included in the encapsulation + # it will stay at the top level of the model. + + + + + + + + + + + + + + + + + + # Invalid: More than one encapsulation is not permitted + + + + + + + + + + + + + + + + + + # Invalid: A component cannot appear more than once in an encapsulation + + + + + + + + + + + + + # Invalid: An encapsulation can't be empty (just remove it!) + + + + + + + + # Invalid: An encapsulation must have a minimum of two levels of children to make sense + + + + + + # There has to be a child here or the parent is not a parent ... + + + + + + + diff --git a/reference/inform/informB14_component_ref1.rst b/reference/inform/informB14_component_ref1.rst index 019cfcc3..cf665ea8 100644 --- a/reference/inform/informB14_component_ref1.rst +++ b/reference/inform/informB14_component_ref1.rst @@ -9,5 +9,6 @@ .. container:: infospec - **TODO** Informal notes go here + There are notes about the :code:`component_ref` usage under the informal + link on the :ref:`encapsulation element` page. diff --git a/static/css/cellml.css b/static/css/cellml.css index 4830317e..25948031 100644 --- a/static/css/cellml.css +++ b/static/css/cellml.css @@ -1,6 +1,6 @@ /* @import url("../theme.css"); */ -.code.literal { +.rst-content tt.literal, .rst-content tt.literal, .rst-content code.literal { color:darkslategray; } From 7d31c2fc47e64dd69a442be6bea1d36ff3970b03 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 17:56:44 +1300 Subject: [PATCH 016/604] Update equation for real number spec Addresses #35 --- reference/sectionA_definitions.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/sectionA_definitions.rst b/reference/sectionA_definitions.rst index 91adf00b..cfff30c0 100644 --- a/reference/sectionA_definitions.rst +++ b/reference/sectionA_definitions.rst @@ -359,8 +359,8 @@ specification: .. container:: issue-data-repr-real-base10 1. SHALL be a base 10 representation of a real number - *r*\ =\ *s*\ ⋅10\ *e*, where *s* is the significand, a real - number, and *e* is the exponent, an integer. + :math:`r=s \times 10^e` where :math:`s` is the significand, a real + number, and :math:`e` is the exponent, an integer. .. container:: issue-data-repr-real-repr From 84419b8128e70bf2e554b8751bdb3f04fb9ddb89 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 18:18:36 +1300 Subject: [PATCH 017/604] Fixed broken named links --- reference/inform/informB1_model3.rst | 5 +++-- reference/inform/informB3_import_units1.rst | 2 +- reference/inform/informB4_import_component1.rst | 4 ++-- reference/inform/informB7_component1.rst | 4 ++-- reference/inform/informB7_component2.rst | 6 +++--- reference/inform/informB7_component3.rst | 6 +++--- reference/inform/informB8_variable1.rst | 6 +++--- 7 files changed, 17 insertions(+), 16 deletions(-) diff --git a/reference/inform/informB1_model3.rst b/reference/inform/informB1_model3.rst index b7f576d8..bc690d1d 100644 --- a/reference/inform/informB1_model3.rst +++ b/reference/inform/informB1_model3.rst @@ -14,8 +14,9 @@ there can be only one :code:`encapsulation` item in any model. For more information about encapsulation, please refer to - :ref:`The encapsulation element information item`. + :ref:`The encapsulation element information item`. For more information and examples involving and explaining encapsulation, please refer to the - :ref:`Theory of a sodium channel<_theory_sodiumchannel_interpretation>` page. + :ref:`Theory of a sodium channel` page. + **TODO** put link to theory section in libCellML here? diff --git a/reference/inform/informB3_import_units1.rst b/reference/inform/informB3_import_units1.rst index 055e1390..0bf9cf05 100644 --- a/reference/inform/informB3_import_units1.rst +++ b/reference/inform/informB3_import_units1.rst @@ -19,7 +19,7 @@ - a file to import from, specified using the :code:`xlink:href` attribute of the parent :code:`import` block. This is discussed in more detail in - :ref:`The import element information item`. In the + :ref:`The import element information item`. In the example below this is the :code:`paint_pot_sizes.cellml` file. - the specific item name to retrieve from the imported file. In the diff --git a/reference/inform/informB4_import_component1.rst b/reference/inform/informB4_import_component1.rst index 9f97ca61..47691b57 100644 --- a/reference/inform/informB4_import_component1.rst +++ b/reference/inform/informB4_import_component1.rst @@ -50,7 +50,7 @@ defined component in line 2, but the same name is used as the name for the imported component in line 6. This is not permitted as it violates 7.1.1. The second imported component uses an invalid name attribute - (see :ref:`Data representation formats in CellML`) + (see :ref:`Data representation formats in CellML`) so is not permitted either. .. code-block:: xml @@ -73,7 +73,7 @@
3) **The component_ref attribute**. This must be a :ref:`valid CellML identifier` - (see :ref:`Data representation formats in CellML`). + (see :ref:`Data representation formats in CellML`). It also has to actually exist as a :code:`component` in the given :code:`href` location! Neither of the imports below are permitted: diff --git a/reference/inform/informB7_component1.rst b/reference/inform/informB7_component1.rst index e8c9a22e..92239d4e 100644 --- a/reference/inform/informB7_component1.rst +++ b/reference/inform/informB7_component1.rst @@ -19,6 +19,6 @@ to all the other CellML items, and described below. The second relates to their structure in relation to other :code:`component` items: this structure is called their *encapsulation* and is described in - :ref:`The encapsulation item`. The third relates to the + :ref:`The encapsulation item`. The third relates to the :code:`import component` item, as described in - :ref:`The import_component item`. + :ref:`The import_component item`. diff --git a/reference/inform/informB7_component2.rst b/reference/inform/informB7_component2.rst index 49fa9597..4c439660 100644 --- a/reference/inform/informB7_component2.rst +++ b/reference/inform/informB7_component2.rst @@ -8,10 +8,10 @@ .. container:: infospec - :code:`component` items, as with every other part of CellML, must use - names which are unique to their scope, and obey the format definitions + A :code:`component` item, as with every other part of CellML, must use + a name unique to its scope, and obey the format definitions outlined in - :ref:`Data representation formats`. For example: + :ref:`Data representation formats`. For example: .. code-block:: xml diff --git a/reference/inform/informB7_component3.rst b/reference/inform/informB7_component3.rst index 90e9fd19..3b32ee07 100644 --- a/reference/inform/informB7_component3.rst +++ b/reference/inform/informB7_component3.rst @@ -14,7 +14,7 @@ Perhaps the most important part of a :code:`component` item is the mathematics it contains. This is stored inside a single :code:`` block - as described in :ref:`Section 14: The math item`. The :code:`math` + as described in :ref:`Section 14: The math item`. The :code:`math` then defines the operation of the local :code:`variable` items and how they relate to each other mathematically. @@ -39,7 +39,7 @@ ... - Please refer to :ref:`The math information item` for + Please refer to :ref:`The math information item` for information on the :code:`math` items and MathML format. .. container:: heading3 @@ -60,7 +60,7 @@ - Please refer to :ref:`The variable information item` for + Please refer to :ref:`The variable information item` for information on the :code:`variable` items. .. container:: heading3 diff --git a/reference/inform/informB8_variable1.rst b/reference/inform/informB8_variable1.rst index dc26d588..9abd1069 100644 --- a/reference/inform/informB8_variable1.rst +++ b/reference/inform/informB8_variable1.rst @@ -11,7 +11,7 @@ In addition to the standard :code:`name` attribute, each :code:`variable` must also define a :code:`units` attribute too. - Reusing the example from :ref:`The component item` we + Reusing the example from :ref:`The component item` we can give the three variables their fuller definitions: .. code-block:: xml @@ -29,13 +29,13 @@ which will either set a constant value for a variable, or set its initial conditions if it's being solved for. More information about initialisation can be found in the - :ref:`Interpretation of initial values` section. + :ref:`Interpretation of initial values` section. Finally, where one :code:`variable` has been mapped to another in a different component, the :code:`interface` attribute must be specified. This determines the relative position in the encapsulation that the mapped component must have in order to access this variable. This is outlined in - more detail in :ref:`The encapsulation item`. + more detail in :ref:`The encapsulation item`. For examples and further explanation of components and their encapsulation, please refer to From 8b7767f588f994dc5115fd04dad1c88fa3a42269 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 18:32:04 +1300 Subject: [PATCH 018/604] updating named references --- reference/inform/informB7_component3.rst | 2 +- reference/specB08.rst | 1 + reference/specB09.rst | 1 + reference/specB10.rst | 1 + reference/specB11.rst | 2 +- reference/specB12.rst | 2 +- reference/specB13.rst | 1 + reference/specB14.rst | 1 + reference/specB15.rst | 1 + reference/specB16.rst | 1 + 10 files changed, 10 insertions(+), 3 deletions(-) diff --git a/reference/inform/informB7_component3.rst b/reference/inform/informB7_component3.rst index 3b32ee07..083f3ada 100644 --- a/reference/inform/informB7_component3.rst +++ b/reference/inform/informB7_component3.rst @@ -14,7 +14,7 @@ Perhaps the most important part of a :code:`component` item is the mathematics it contains. This is stored inside a single :code:`` block - as described in :ref:`Section 14: The math item`. The :code:`math` + as described in :ref:`The math item`. The :code:`math` then defines the operation of the local :code:`variable` items and how they relate to each other mathematically. diff --git a/reference/specB08.rst b/reference/specB08.rst index e02a1d24..cf618ab4 100644 --- a/reference/specB08.rst +++ b/reference/specB08.rst @@ -1,4 +1,5 @@ .. _specB08: +.. _specB_variable: .. include:: sectionB_elements.rst :start-after: marker_variable_start diff --git a/reference/specB09.rst b/reference/specB09.rst index 546b06d8..612086a3 100644 --- a/reference/specB09.rst +++ b/reference/specB09.rst @@ -1,4 +1,5 @@ .. _specB09: +.. _specB_reset: .. include:: sectionB_elements.rst :start-after: marker_reset_start diff --git a/reference/specB10.rst b/reference/specB10.rst index 84823eb3..904fdf23 100644 --- a/reference/specB10.rst +++ b/reference/specB10.rst @@ -1,4 +1,5 @@ .. _specB10: +.. _specB_test_value: .. include:: sectionB_elements.rst :start-after: marker_test_value_start diff --git a/reference/specB11.rst b/reference/specB11.rst index 98ffc598..541fc428 100644 --- a/reference/specB11.rst +++ b/reference/specB11.rst @@ -1,5 +1,5 @@ .. _specB11: -.. _specB_math: +.. _specB_reset_value: .. include:: sectionB_elements.rst :start-after: marker_reset_value_start diff --git a/reference/specB12.rst b/reference/specB12.rst index 48c84456..f8a4dbc0 100644 --- a/reference/specB12.rst +++ b/reference/specB12.rst @@ -1,5 +1,5 @@ .. _specB12: -.. _specB_encapsulation: +.. _specB_math: .. include:: sectionB_elements.rst :start-after: marker_math_start diff --git a/reference/specB13.rst b/reference/specB13.rst index 6948345e..ee1f7dfd 100644 --- a/reference/specB13.rst +++ b/reference/specB13.rst @@ -1,4 +1,5 @@ .. _specB13: +.. _specB_encapsulation: .. include:: sectionB_elements.rst :start-after: marker_encapsulation_start diff --git a/reference/specB14.rst b/reference/specB14.rst index 1ca9f3a0..144f9762 100644 --- a/reference/specB14.rst +++ b/reference/specB14.rst @@ -1,4 +1,5 @@ .. _specB14: +.. _specB_component_ref: .. include:: sectionB_elements.rst :start-after: marker_component_ref_start diff --git a/reference/specB15.rst b/reference/specB15.rst index 681f2313..4519dc6f 100644 --- a/reference/specB15.rst +++ b/reference/specB15.rst @@ -1,4 +1,5 @@ .. _specB15: +.. _specB_connection: .. include:: sectionB_elements.rst :start-after: marker_connection_start diff --git a/reference/specB16.rst b/reference/specB16.rst index a22d7488..01d8a7dd 100644 --- a/reference/specB16.rst +++ b/reference/specB16.rst @@ -1,4 +1,5 @@ .. _specB16: +.. _specB_map_variables: .. include:: sectionB_elements.rst :start-after: marker_map_variables_start From c093ccb82302ecd553729848bba3c90672e2e4d9 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 11 Mar 2020 19:23:14 +1300 Subject: [PATCH 019/604] Reset_value and test_value updates --- reference/inform/informB10_test_value1.rst | 43 ++++++++++++++++++++- reference/inform/informB11_reset_value1.rst | 43 ++++++++++++++++++++- reference/inform/informB7_component3.rst | 4 +- reference/inform/informB8_variable1.rst | 3 +- reference/inform/informB9_reset1.rst | 2 +- 5 files changed, 89 insertions(+), 6 deletions(-) diff --git a/reference/inform/informB10_test_value1.rst b/reference/inform/informB10_test_value1.rst index 3d7ffd55..d647cf30 100644 --- a/reference/inform/informB10_test_value1.rst +++ b/reference/inform/informB10_test_value1.rst @@ -1,4 +1,5 @@ .. _informB10: +.. _inform_test_value: .. container:: toggle @@ -8,4 +9,44 @@ .. container:: infospec - **TODO** Informal notes go here + The :code:`test_value` (and :code:`reset_value`) block takes a slightly different + kind of MathML statement to those in the :code:`component` elements. Because the + the left hand side of the equation has already been effectively defined by specifying + the :code:`test_variable`, the :code:`math` child of a :code:`test_value` needs only + to specify the right hand side. This means that the normal opening block of + :code:`left_hand_side_variable ... ` is omitted: + + .. code-block:: xml + + + + + 1.0 + + + + + + + + + 1 + position + + + 1.0 + + + + + + In the above example, the position of a ball above a 1 metre high table is maintained, + as every time it appears to drop below the table-level datum of :code:`position=1.0` + it is reset to a "bounced" value greater than 1.0 instead. + + For the :code:`reset` to be useful, the equations it contains need to make sense. Be + sure to check that the units that you're using within the :code:`test_value` block + match those of the :code:`test_variable` against which it will be compared. In this + example the :code:`reset_value` (the new position of the ball over the table) must be + in metres to match the :code:`variable`\'s units, as with the :code:`test_value` which + must match the units of the :code:`test_variable`. \ No newline at end of file diff --git a/reference/inform/informB11_reset_value1.rst b/reference/inform/informB11_reset_value1.rst index 7f0a1960..05d04e70 100644 --- a/reference/inform/informB11_reset_value1.rst +++ b/reference/inform/informB11_reset_value1.rst @@ -1,4 +1,5 @@ .. _informB11: +.. _inform_reset_value: .. container:: toggle @@ -8,4 +9,44 @@ .. container:: infospec - **TODO** Informal notes go here + The :code:`test_value` (and :code:`reset_value`) block takes a slightly different + kind of MathML statement to those in the :code:`component` elements. Because the + the left hand side of the equation has already been effectively defined by specifying + the :code:`test_variable`, the :code:`math` child of a :code:`test_value` needs only + to specify the right hand side. This means that the normal opening block of + :code:`left_hand_side_variable ... ` is omitted: + + .. code-block:: xml + + + + + 1.0 + + + + + + + + + 1 + position + + + 1.0 + + + + + + In the above example, the position of a ball above a 1 metre high table is maintained, + as every time it appears to drop below the table-level datum of :code:`position=1.0` + it is reset to a "bounced" value greater than 1.0 instead. + + For the :code:`reset` to be useful, the equations it contains need to make sense. Be + sure to check that the units that you're using within the :code:`test_value` block + match those of the :code:`test_variable` against which it will be compared. In this + example the :code:`reset_value` (the new position of the ball over the table) must be + in metres to match the :code:`variable`\'s units, as with the :code:`test_value` which + must match the units of the :code:`test_variable`. \ No newline at end of file diff --git a/reference/inform/informB7_component3.rst b/reference/inform/informB7_component3.rst index 083f3ada..d8e6a911 100644 --- a/reference/inform/informB7_component3.rst +++ b/reference/inform/informB7_component3.rst @@ -14,7 +14,7 @@ Perhaps the most important part of a :code:`component` item is the mathematics it contains. This is stored inside a single :code:`` block - as described in :ref:`The math item`. The :code:`math` + as described in :ref:`The math element`. The :code:`math` then defines the operation of the local :code:`variable` items and how they relate to each other mathematically. @@ -39,7 +39,7 @@ ... - Please refer to :ref:`The math information item` for + Please refer to :ref:`The math element` for information on the :code:`math` items and MathML format. .. container:: heading3 diff --git a/reference/inform/informB8_variable1.rst b/reference/inform/informB8_variable1.rst index 9abd1069..3c3d868c 100644 --- a/reference/inform/informB8_variable1.rst +++ b/reference/inform/informB8_variable1.rst @@ -39,4 +39,5 @@ For examples and further explanation of components and their encapsulation, please refer to - :ref:`section 3 of the Sodium Channel theory`. + :ref:`section 3 of the Sodium Channel theory` + documentation. **TODO** need to alias these links. diff --git a/reference/inform/informB9_reset1.rst b/reference/inform/informB9_reset1.rst index 6efdb4a4..41460f2f 100644 --- a/reference/inform/informB9_reset1.rst +++ b/reference/inform/informB9_reset1.rst @@ -1,5 +1,5 @@ .. _informB9: - +.. _inform_reset: .. container:: toggle From 16a08b29f3a6637a5c6e14401c7a762a237253c4 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 12 Mar 2020 14:01:32 +1300 Subject: [PATCH 020/604] Halfway through informative sections --- reference/inform/informB10_test_value1.rst | 6 +- reference/inform/informB11_reset_value1.rst | 6 +- reference/inform/informB12_math1.rst | 13 +++- reference/inform/informB12_math2.rst | 66 ++++++++++++++++++ reference/inform/informB12_math3.rst | 75 +++++++++++++++++++++ reference/inform/informB12_math4.rst | 34 ++++++++++ reference/inform/informB12_math5.rst | 16 +++++ reference/inform/informB7_component3.rst | 4 +- reference/sectionB_elements.rst | 29 +++++--- reference/specB12.rst | 36 +++++++++- 10 files changed, 267 insertions(+), 18 deletions(-) create mode 100644 reference/inform/informB12_math2.rst create mode 100644 reference/inform/informB12_math3.rst create mode 100644 reference/inform/informB12_math4.rst create mode 100644 reference/inform/informB12_math5.rst diff --git a/reference/inform/informB10_test_value1.rst b/reference/inform/informB10_test_value1.rst index d647cf30..742a1e3d 100644 --- a/reference/inform/informB10_test_value1.rst +++ b/reference/inform/informB10_test_value1.rst @@ -9,7 +9,7 @@ .. container:: infospec - The :code:`test_value` (and :code:`reset_value`) block takes a slightly different + The :code:`test_value` (like the :code:`reset_value`) block takes a slightly different kind of MathML statement to those in the :code:`component` elements. Because the the left hand side of the equation has already been effectively defined by specifying the :code:`test_variable`, the :code:`math` child of a :code:`test_value` needs only @@ -49,4 +49,6 @@ match those of the :code:`test_variable` against which it will be compared. In this example the :code:`reset_value` (the new position of the ball over the table) must be in metres to match the :code:`variable`\'s units, as with the :code:`test_value` which - must match the units of the :code:`test_variable`. \ No newline at end of file + must match the units of the :code:`test_variable`. A mismatch of units here doesn't + mean you have an invalid CellML2.0 model, but it does mean that it may not behave in + the way you are expecting! diff --git a/reference/inform/informB11_reset_value1.rst b/reference/inform/informB11_reset_value1.rst index 05d04e70..db777f19 100644 --- a/reference/inform/informB11_reset_value1.rst +++ b/reference/inform/informB11_reset_value1.rst @@ -9,7 +9,7 @@ .. container:: infospec - The :code:`test_value` (and :code:`reset_value`) block takes a slightly different + The :code:`test_value` (like the :code:`reset_value`) block takes a slightly different kind of MathML statement to those in the :code:`component` elements. Because the the left hand side of the equation has already been effectively defined by specifying the :code:`test_variable`, the :code:`math` child of a :code:`test_value` needs only @@ -49,4 +49,6 @@ match those of the :code:`test_variable` against which it will be compared. In this example the :code:`reset_value` (the new position of the ball over the table) must be in metres to match the :code:`variable`\'s units, as with the :code:`test_value` which - must match the units of the :code:`test_variable`. \ No newline at end of file + must match the units of the :code:`test_variable`. A mismatch of units here doesn't + mean you have an invalid CellML2.0 model, but it does mean that it may not behave in + the way you are expecting! diff --git a/reference/inform/informB12_math1.rst b/reference/inform/informB12_math1.rst index c407b16f..ef2ce0a6 100644 --- a/reference/inform/informB12_math1.rst +++ b/reference/inform/informB12_math1.rst @@ -1,4 +1,4 @@ -.. _informB12: +.. _informB12_1: .. container:: toggle @@ -8,4 +8,13 @@ .. container:: infospec - **TODO** Informal notes go here + Because MathML is an entire language in its own right, we just don't have + the scope to go through its general aspects. Some great general resources are + available on the :mathml2help:`MathML 2.0 site <>`, and we'll discuss below + the more CellML specific restrictions in the other "See more" sections. + + **Please note** that MathML2 content markup is the only syntax used in + CellML, even though more recent versions (MathML3 and MathML4) are + available. + + diff --git a/reference/inform/informB12_math2.rst b/reference/inform/informB12_math2.rst new file mode 100644 index 00000000..773b3118 --- /dev/null +++ b/reference/inform/informB12_math2.rst @@ -0,0 +1,66 @@ +.. _informB12_2: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + The :mathml2spec:`MathML <>` syntax uses similar ideas to the CellML syntax + in that it uses blocks which open and close, and has a hierarchical + structure of parent blocks with nested child blocks within them. + + Probably the biggest aspect of CellML's restrictions of MathML is that it is + confined to using **only MathML2** content markup. No form of presentation + markup is permitted, and only the version MathML2 is allowed (ie: not MathML3 + or greater). + + The types of block can be divided into two broad categories: operation + items and information items. For example, the calculation of Einstein's + :math:`E=mc^2` could be represented by: + + .. code-block:: xml + + + + E + + m + + c + 2 + + + + + + The code below is similar, but with the mistakes as listed: + + .. code-block:: xml + + + + + E + + + m + + c + + + variable_with_value_of_two + + + + + + + + + + + diff --git a/reference/inform/informB12_math3.rst b/reference/inform/informB12_math3.rst new file mode 100644 index 00000000..68e1e2e2 --- /dev/null +++ b/reference/inform/informB12_math3.rst @@ -0,0 +1,75 @@ +.. _informB12_2: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + Consider the same :math:`E=mc^2` formula as earlier, but now the + value of mass :code:`m` is calculated in another component: + + .. code-block:: xml + + + + + + + + E + + m + + c + 2 + + + + + + + + + + This situation is not valid, as the :code:`math` block in component + :code:`mass_into_energy` doesn't have access to the variable :code:`m` + in the component :code:`calculate_mass`. To get around this, you would + need to create a new local variable within the :code:`mass_into_energy` + component, and use a :code:`connection` element to link it to variable + :code:`m` in the other component. The valid form of the model is shown + below, and you can read more about :code:`connections` in + :ref:`The connection element`, and the :code:`interface_type`\s + attribute in :ref:`The variable element`. + + .. code-block:: xml + + + + + + + + E + + m + + c + 2 + + + + + + + + + + + + + + + diff --git a/reference/inform/informB12_math4.rst b/reference/inform/informB12_math4.rst new file mode 100644 index 00000000..1d5bf39b --- /dev/null +++ b/reference/inform/informB12_math4.rst @@ -0,0 +1,34 @@ +.. _informB12_2: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + Perhaps the most important part of any model is the + mathematics it contains. This is stored inside a collection of + :code:`` blocks in :code:`component` items, which together define + how the local :code:`variable` items are mathematically related. + + For example, the calculation of Einstein's :math:`E=mc^2` could be + represented by: + + .. code-block:: xml + + + + E + + m + + c + 2 + + + + + + diff --git a/reference/inform/informB12_math5.rst b/reference/inform/informB12_math5.rst new file mode 100644 index 00000000..2d364c5c --- /dev/null +++ b/reference/inform/informB12_math5.rst @@ -0,0 +1,16 @@ +.. _informB12_2: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + .. code-block:: xml + + # This is a valid block + + + diff --git a/reference/inform/informB7_component3.rst b/reference/inform/informB7_component3.rst index d8e6a911..828e13df 100644 --- a/reference/inform/informB7_component3.rst +++ b/reference/inform/informB7_component3.rst @@ -13,8 +13,8 @@ The mathematics of a component Perhaps the most important part of a :code:`component` item is the - mathematics it contains. This is stored inside a single :code:`` block - as described in :ref:`The math element`. The :code:`math` + mathematics it contains. This is stored inside a collection of :code:`` + blocks as described in :ref:`The math element`. The :code:`math` then defines the operation of the local :code:`variable` items and how they relate to each other mathematically. diff --git a/reference/sectionB_elements.rst b/reference/sectionB_elements.rst index 1eefc8ff..a37556c7 100644 --- a/reference/sectionB_elements.rst +++ b/reference/sectionB_elements.rst @@ -129,7 +129,7 @@ appears as a child of an :code:`import` element. Specific information items -------------------------- -.. contianer:: issue-import-units-name +.. container:: issue-import-units-name 1. Every :code:`import units` element MUST contain a :code:`name` attribute. The value of the :code:`name` attribute MUST be a @@ -254,7 +254,7 @@ Specific information items a valid units reference, as defined in the :ref:`Units reference ` section. - .. contianer:: issue-unit-digraph + .. container:: issue-unit-digraph 1. For the purpose of the constraint in the next paragraph, the :code:`units` element inclusion digraph SHALL be defined as a @@ -504,13 +504,17 @@ Specific information items .. container:: issue-math-mathml 1. A :code:`math` element MUST be the top-level of a content MathML tree, as - described in :mathml2spec:`MathML 2.0`. + described in :mathml2spec:`MathML 2.0 <>`. + +.. marker_math_1 .. container:: issue-math-child 2. Each element child of a :code:`math` element MUST have an element-type name that is listed in the - :ref:`Supported MathML Elements ` table. + :ref:`Supported MathML Elements` table. + +.. marker_math_2 .. container:: issue-math-ci-variable-reference @@ -519,17 +523,23 @@ Specific information items within the :code:`component` element that the :code:`math` element is contained. +.. marker_math_3 + .. container:: issue-math-cn-units-attribute 4. Any MathML :code:`cn` elements MUST each have an attribute in the - :ref:`CellML namespace`, with a local name equal to :code:`units`. - The value of this attribute MUST be a valid units + :ref:`CellML namespace`, with a local name equal + to :code:`units`. The value of this attribute MUST be a valid units reference. +.. marker_math_4 + .. container:: issue-math-cn-type 5. The :code:`cn` element MUST be one of the following - :mathml2types:`types` : real or e-notation. + :mathml2types:`types`\: real or e-notation. + +.. marker_math_5 .. container:: issue-math-cn-base10 @@ -559,8 +569,7 @@ Table: Supported MathML Elements +----------------------------------+----------------------------------+ | Calculus Elements | | +----------------------------------+----------------------------------+ -| Qualifier Elements | , , | -| | (child of or ) | +| Qualifier Elements | , , * | +----------------------------------+----------------------------------+ | Trigonometric Operators | , , , , | | | , , | @@ -578,6 +587,8 @@ Table: Supported MathML Elements | | , | +----------------------------------+----------------------------------+ +* (child of or ) + .. marker_math_end .. marker_encapsulation_start diff --git a/reference/specB12.rst b/reference/specB12.rst index f8a4dbc0..6116bf8c 100644 --- a/reference/specB12.rst +++ b/reference/specB12.rst @@ -3,6 +3,40 @@ .. include:: sectionB_elements.rst :start-after: marker_math_start - :end-before: marker_math_end + :end-before: marker_math_1 .. include:: inform/informB12_math1.rst + +.. include:: sectionB_elements.rst + :start-after: marker_math_1 + :end-before: marker_math_2 + +.. include:: inform/informB12_math2.rst + +.. include:: sectionB_elements.rst + :start-after: marker_math_2 + :end-before: marker_math_3 + +.. include:: inform/informB12_math3.rst + +.. include:: sectionB_elements.rst + :start-after: marker_math_3 + :end-before: marker_math_4 + +.. include:: inform/informB12_math4.rst + +.. include:: sectionB_elements.rst + :start-after: marker_math_4 + :end-before: marker_math_5 + +.. include:: inform/informB12_math5.rst + +.. include:: sectionB_elements.rst + :start-after: marker_math_5 + :end-before: marker_math_end + +.. include:: inform/informB12_math5.rst + + + + From 8a28df87304b2f7a85fa28abd42add47d41bd568 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 12 Mar 2020 14:21:58 +1300 Subject: [PATCH 021/604] Tweaks of maths stuff --- reference/inform/informB12_math3.rst | 2 ++ reference/inform/informB12_math4.rst | 24 +----------------------- 2 files changed, 3 insertions(+), 23 deletions(-) diff --git a/reference/inform/informB12_math3.rst b/reference/inform/informB12_math3.rst index 68e1e2e2..d655b8ed 100644 --- a/reference/inform/informB12_math3.rst +++ b/reference/inform/informB12_math3.rst @@ -12,6 +12,7 @@ value of mass :code:`m` is calculated in another component: .. code-block:: xml + @@ -45,6 +46,7 @@ attribute in :ref:`The variable element`. .. code-block:: xml + diff --git a/reference/inform/informB12_math4.rst b/reference/inform/informB12_math4.rst index 1d5bf39b..de799715 100644 --- a/reference/inform/informB12_math4.rst +++ b/reference/inform/informB12_math4.rst @@ -8,27 +8,5 @@ .. container:: infospec - Perhaps the most important part of any model is the - mathematics it contains. This is stored inside a collection of - :code:`` blocks in :code:`component` items, which together define - how the local :code:`variable` items are mathematically related. - - For example, the calculation of Einstein's :math:`E=mc^2` could be - represented by: - - .. code-block:: xml - - - - E - - m - - c - 2 - - - - - + **TODO** Notes about units go here. From 3548c975ee6fe6a1038bf5c654bad9a0d0c0e13f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 12 Mar 2020 17:13:40 +1300 Subject: [PATCH 022/604] stuff done --- reference/inform/informB12_math4.rst | 33 ++++++++++++++++++++++- reference/libcellml/libcellmlB12_math.rst | 16 +++++++++++ reference/sectionB_elements.rst | 6 ++--- reference/specB12.rst | 8 +----- 4 files changed, 51 insertions(+), 12 deletions(-) create mode 100644 reference/libcellml/libcellmlB12_math.rst diff --git a/reference/inform/informB12_math4.rst b/reference/inform/informB12_math4.rst index de799715..7fbeab7f 100644 --- a/reference/inform/informB12_math4.rst +++ b/reference/inform/informB12_math4.rst @@ -8,5 +8,36 @@ .. container:: infospec - **TODO** Notes about units go here. + When specifying a constant with :code:``, its + :ref:`real number value` is given between the tags, + and its units are specified as an attribute. + + .. code-block:: xml + + + 35.3 + 10 + 3.14159e+03 + + Please note that the units name specified must refer to + a :code:`units` element that exists in the :code:`model` element, + or be one from the :ref:`Built-in Units` table. + + .. code-block:: xml + + + 35.3 + 42 + 502.642 + 26.6 + 3,000 + +4.0 + 0x235abc + i_am_a_variable + + + + + + diff --git a/reference/libcellml/libcellmlB12_math.rst b/reference/libcellml/libcellmlB12_math.rst new file mode 100644 index 00000000..3f81e8fd --- /dev/null +++ b/reference/libcellml/libcellmlB12_math.rst @@ -0,0 +1,16 @@ +.. _libcellmlB12: +.. _libcellml_math: + +.. container:: toggle + + .. container:: header + + See libCellML implementation + + .. container:: infolib + + .. container:: heading3 + + Messages related to :code:`MathML` items + + **TODO** put errors here. diff --git a/reference/sectionB_elements.rst b/reference/sectionB_elements.rst index a37556c7..cce42af7 100644 --- a/reference/sectionB_elements.rst +++ b/reference/sectionB_elements.rst @@ -532,19 +532,17 @@ Specific information items to :code:`units`. The value of this attribute MUST be a valid units reference. -.. marker_math_4 - .. container:: issue-math-cn-type 5. The :code:`cn` element MUST be one of the following :mathml2types:`types`\: real or e-notation. -.. marker_math_5 - .. container:: issue-math-cn-base10 6. The :code:`cn` element MUST be of base 10. +.. marker_math_4 + .. _table_supported_mathml_elements: Table: Supported MathML Elements diff --git a/reference/specB12.rst b/reference/specB12.rst index 6116bf8c..01bc6b24 100644 --- a/reference/specB12.rst +++ b/reference/specB12.rst @@ -27,15 +27,9 @@ .. include:: sectionB_elements.rst :start-after: marker_math_4 - :end-before: marker_math_5 - -.. include:: inform/informB12_math5.rst - -.. include:: sectionB_elements.rst - :start-after: marker_math_5 :end-before: marker_math_end -.. include:: inform/informB12_math5.rst +.. include:: libcellml/libcellmlB12_math.rst From c4179d889a828aff0bd39dedab0831321055a631 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 12 Mar 2020 17:24:28 +1300 Subject: [PATCH 023/604] Tweaks to Math element section --- reference/inform/informB12_math3.rst | 4 ++-- reference/inform/informB12_math4.rst | 2 ++ reference/sectionB_elements.rst | 3 +-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/reference/inform/informB12_math3.rst b/reference/inform/informB12_math3.rst index d655b8ed..39750625 100644 --- a/reference/inform/informB12_math3.rst +++ b/reference/inform/informB12_math3.rst @@ -12,7 +12,7 @@ value of mass :code:`m` is calculated in another component: .. code-block:: xml - + @@ -42,7 +42,7 @@ component, and use a :code:`connection` element to link it to variable :code:`m` in the other component. The valid form of the model is shown below, and you can read more about :code:`connections` in - :ref:`The connection element`, and the :code:`interface_type`\s + :ref:`The connection element`, and the :code:`interface_type` attribute in :ref:`The variable element`. .. code-block:: xml diff --git a/reference/inform/informB12_math4.rst b/reference/inform/informB12_math4.rst index 7fbeab7f..5bd2e3ee 100644 --- a/reference/inform/informB12_math4.rst +++ b/reference/inform/informB12_math4.rst @@ -19,10 +19,12 @@ 10 3.14159e+03 + Please note that the units name specified must refer to a :code:`units` element that exists in the :code:`model` element, or be one from the :ref:`Built-in Units` table. + .. code-block:: xml diff --git a/reference/sectionB_elements.rst b/reference/sectionB_elements.rst index cce42af7..be2f7dfa 100644 --- a/reference/sectionB_elements.rst +++ b/reference/sectionB_elements.rst @@ -584,8 +584,7 @@ Table: Supported MathML Elements | Constants | , , | | | , | +----------------------------------+----------------------------------+ - -* (child of or ) +\* (child of or ) .. marker_math_end .. marker_encapsulation_start From 01dbb0521fc23f159ec549aa1d508cf10fdc4713 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 12 Mar 2020 19:36:54 +1300 Subject: [PATCH 024/604] Maths units update --- reference/inform/informB12_math2.rst | 55 +++++++++++++++++++++++++--- reference/inform/informB12_math3.rst | 4 +- 2 files changed, 51 insertions(+), 8 deletions(-) diff --git a/reference/inform/informB12_math2.rst b/reference/inform/informB12_math2.rst index 773b3118..bf1383cf 100644 --- a/reference/inform/informB12_math2.rst +++ b/reference/inform/informB12_math2.rst @@ -8,15 +8,15 @@ .. container:: infospec - The :mathml2spec:`MathML <>` syntax uses similar ideas to the CellML syntax - in that it uses blocks which open and close, and has a hierarchical - structure of parent blocks with nested child blocks within them. - Probably the biggest aspect of CellML's restrictions of MathML is that it is confined to using **only MathML2** content markup. No form of presentation markup is permitted, and only the version MathML2 is allowed (ie: not MathML3 or greater). + .. container:: heading3 + + The basics + The types of block can be divided into two broad categories: operation items and information items. For example, the calculation of Einstein's :math:`E=mc^2` could be represented by: @@ -43,8 +43,8 @@ - E + their units are taken from the units of the variable (in this case, E really does have units Joules) --> + E m @@ -58,6 +58,49 @@ + .. container:: heading3 + + Dimensional consistency (or, how to write nonsense maths) + + For a model to have a valid CellML syntax, it needs to follow the MathML + rules outlined above. But it's still possible to create nonsense (should + you so desire ... ), and one great way to create nonsense is to have MathML + statements which have inconsistent units. Consider again Einstein's + equation :math:`E=mc^2`. Now imagine that encode it into CellML like this: + + .. code-block:: xml + + + + + + + + E + + + m + + c + + 2 + + + + + + Believe it or not, this is valid! It's clearly nonsense, but it doesn't + actually violate any syntax rules. The only instance where you will create + an invalid model by assigning :code:`units` to :code:`variables` is when + you need to form a :code:`map_variables` pair with a :code:`variable` in + another :code:`component`. In this case, each :code:`variable` must have + an equivalent unit reduction (see :ref:`Section C.5.3`) or it + won't be valid CellML. + + + + + diff --git a/reference/inform/informB12_math3.rst b/reference/inform/informB12_math3.rst index 39750625..8be4864a 100644 --- a/reference/inform/informB12_math3.rst +++ b/reference/inform/informB12_math3.rst @@ -15,7 +15,7 @@ - + @@ -48,7 +48,7 @@ .. code-block:: xml - + From e884f315f4dfd5cbfa2bc1c58d03a0dfe170310e Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 12 Mar 2020 19:51:43 +1300 Subject: [PATCH 025/604] tweaks --- reference/inform/informB12_math2.rst | 43 +++------------------------- reference/inform/informB12_math4.rst | 43 ++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 39 deletions(-) diff --git a/reference/inform/informB12_math2.rst b/reference/inform/informB12_math2.rst index bf1383cf..6c48a7d0 100644 --- a/reference/inform/informB12_math2.rst +++ b/reference/inform/informB12_math2.rst @@ -42,61 +42,26 @@ + E + m c + - variable_with_value_of_two - - - - - - .. container:: heading3 - - Dimensional consistency (or, how to write nonsense maths) - - For a model to have a valid CellML syntax, it needs to follow the MathML - rules outlined above. But it's still possible to create nonsense (should - you so desire ... ), and one great way to create nonsense is to have MathML - statements which have inconsistent units. Consider again Einstein's - equation :math:`E=mc^2`. Now imagine that encode it into CellML like this: + variable_with_value_of_two - .. code-block:: xml - - - - - - - - E - - - m - - c - - 2 - Believe it or not, this is valid! It's clearly nonsense, but it doesn't - actually violate any syntax rules. The only instance where you will create - an invalid model by assigning :code:`units` to :code:`variables` is when - you need to form a :code:`map_variables` pair with a :code:`variable` in - another :code:`component`. In this case, each :code:`variable` must have - an equivalent unit reduction (see :ref:`Section C.5.3`) or it - won't be valid CellML. - diff --git a/reference/inform/informB12_math4.rst b/reference/inform/informB12_math4.rst index 5bd2e3ee..d5fc5801 100644 --- a/reference/inform/informB12_math4.rst +++ b/reference/inform/informB12_math4.rst @@ -8,6 +8,10 @@ .. container:: infospec + .. container:: heading3 + + Constants using the ```` tags + When specifying a constant with :code:``, its :ref:`real number value` is given between the tags, and its units are specified as an attribute. @@ -37,6 +41,45 @@ 0x235abc i_am_a_variable + .. container:: heading3 + + Dimensional consistency (or, how to write nonsense maths) + + For a model to have a valid CellML syntax, it needs to follow the MathML + rules outlined above. But it's still possible to create nonsense (should + you so desire ... ), and one great way to create nonsense is to have MathML + statements which have inconsistent units. Consider again Einstein's + equation :math:`E=mc^2`. Now imagine that encode it into CellML like this: + + .. code-block:: xml + + + + + + + + E + + + m + + c + + 2 + + + + + + Believe it or not, this is valid! It's clearly nonsense, but it doesn't + actually violate any syntax rules. The only instance where you will create + an invalid model by assigning :code:`units` to :code:`variables` is when + you need to form a :code:`map_variables` pair with a :code:`variable` in + another :code:`component`. In this case, each :code:`variable` must have + an equivalent unit reduction (see :ref:`Section C.5.3`) or it + won't be valid CellML. + From b2f924cdbba0e7df683349ac4ede4d7b86506f21 Mon Sep 17 00:00:00 2001 From: David Nickerson Date: Fri, 13 Mar 2020 14:41:05 +0000 Subject: [PATCH 026/604] Fixing typo in connection defintion --- reference/sectionB_elements.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionB_elements.rst b/reference/sectionB_elements.rst index 1eefc8ff..0ce0c2c8 100644 --- a/reference/sectionB_elements.rst +++ b/reference/sectionB_elements.rst @@ -680,7 +680,7 @@ Specific information items .. container:: issue-todo - 3. The value of the :code:`connection_1` attribute MUST NOT be equal to the + 3. The value of the :code:`component_1` attribute MUST NOT be equal to the value of the :code:`component_2` attribute. .. container:: issue-connection-unique-transitive From cec4a61a4b150b445daec25a7d007d3fc7926d90 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 16 Mar 2020 09:17:48 +1300 Subject: [PATCH 027/604] update maths ref blocks --- reference/inform/informB12_math3.rst | 2 +- reference/inform/informB12_math4.rst | 2 +- reference/inform/informB12_math5.rst | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/inform/informB12_math3.rst b/reference/inform/informB12_math3.rst index 8be4864a..820bc8c3 100644 --- a/reference/inform/informB12_math3.rst +++ b/reference/inform/informB12_math3.rst @@ -1,4 +1,4 @@ -.. _informB12_2: +.. _informB12_3: .. container:: toggle diff --git a/reference/inform/informB12_math4.rst b/reference/inform/informB12_math4.rst index d5fc5801..0c0eeb8d 100644 --- a/reference/inform/informB12_math4.rst +++ b/reference/inform/informB12_math4.rst @@ -1,4 +1,4 @@ -.. _informB12_2: +.. _informB12_4: .. container:: toggle diff --git a/reference/inform/informB12_math5.rst b/reference/inform/informB12_math5.rst index 2d364c5c..5c461371 100644 --- a/reference/inform/informB12_math5.rst +++ b/reference/inform/informB12_math5.rst @@ -1,4 +1,4 @@ -.. _informB12_2: +.. _informB12_5: .. container:: toggle From f19d7fa57c92113cf4c7551e338ad917f28e2182 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 16 Mar 2020 11:30:00 +1300 Subject: [PATCH 028/604] Connection informal pages --- reference/inform/informB15_connection1.rst | 11 ---- reference/inform/informB15_connection2.rst | 54 +++++++++++++++++ reference/inform/informB15_connection3.rst | 29 +++++++++ reference/inform/informB15_connection4.rst | 59 +++++++++++++++++++ reference/inform/informB15_connection5.rst | 29 +++++++++ .../libcellml/libcellmlB15_connection.rst | 16 +++++ reference/specB15.rst | 25 +++++++- 7 files changed, 211 insertions(+), 12 deletions(-) delete mode 100644 reference/inform/informB15_connection1.rst create mode 100644 reference/inform/informB15_connection2.rst create mode 100644 reference/inform/informB15_connection3.rst create mode 100644 reference/inform/informB15_connection4.rst create mode 100644 reference/inform/informB15_connection5.rst create mode 100644 reference/libcellml/libcellmlB15_connection.rst diff --git a/reference/inform/informB15_connection1.rst b/reference/inform/informB15_connection1.rst deleted file mode 100644 index 0e4174fd..00000000 --- a/reference/inform/informB15_connection1.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. _informB15: - -.. container:: toggle - - .. container:: header - - See more - - .. container:: infospec - - **TODO** Informal notes go here diff --git a/reference/inform/informB15_connection2.rst b/reference/inform/informB15_connection2.rst new file mode 100644 index 00000000..b07bde61 --- /dev/null +++ b/reference/inform/informB15_connection2.rst @@ -0,0 +1,54 @@ +.. _informB15_2: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + Creating :code:`connection` items allows variable values to be passed + between eligible components. There are both syntactic (ie: format) and + semantic (ie: meaning) rules about how these must be specified, and what + "eligible" means. + + Points 15.1.1 and 15.1.2 are both saying the same thing. The way in which + you specify the :code:`component_1` and :code:`component_2` items must + follow the general CellML2.0 format for a valid identifier, and must point + to a component which exists under that name. Note that this component + could be either an intantiated component, or an :code:`import component` + item. + + .. code-block:: xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/reference/inform/informB15_connection3.rst b/reference/inform/informB15_connection3.rst new file mode 100644 index 00000000..7ae8e83d --- /dev/null +++ b/reference/inform/informB15_connection3.rst @@ -0,0 +1,29 @@ +.. _informB15_3: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + All this means is that mapped/connected variables (ie: those specified by + :code:`connection` and :code:`map_variables` items) must be in different + components. Since the only reason you'd need to use these connections is + in order to access a variable in another component, this restriction does + make sense! + + .. code-block:: xml + + + + + + + + + + + + diff --git a/reference/inform/informB15_connection4.rst b/reference/inform/informB15_connection4.rst new file mode 100644 index 00000000..27e7b6a5 --- /dev/null +++ b/reference/inform/informB15_connection4.rst @@ -0,0 +1,59 @@ +.. _informB15_4: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + You may only have one :code:`connection` any two :code:`components`, + regardless of which is specified as :code:`component_1` and which is + specified as :code:`component_2`. If you have found duplicate + :code:`connection` elements, simply merge their contents - a + :code:`connection` can contain any number of :code:`map_variables` + children. + + .. code-block:: xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/reference/inform/informB15_connection5.rst b/reference/inform/informB15_connection5.rst new file mode 100644 index 00000000..3fd5ee40 --- /dev/null +++ b/reference/inform/informB15_connection5.rst @@ -0,0 +1,29 @@ +.. _informB15_5: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + The point of creating a :code:`connection` item is in order to connect + :code:`variables` between eligible components. There is no reason to + have an empty :code:`connection` - just delete it. + + .. code-block:: xml + + + + + + + + + + + + + + diff --git a/reference/libcellml/libcellmlB15_connection.rst b/reference/libcellml/libcellmlB15_connection.rst new file mode 100644 index 00000000..4b08c9a6 --- /dev/null +++ b/reference/libcellml/libcellmlB15_connection.rst @@ -0,0 +1,16 @@ +.. _libcellmlB15: +.. _libcellml_connection: + +.. container:: toggle + + .. container:: header + + See libCellML implementation + + .. container:: infolib + + .. container:: heading3 + + Messages related to :code:`connection` items + + **TODO** put errors here. \ No newline at end of file diff --git a/reference/specB15.rst b/reference/specB15.rst index 4519dc6f..919ac4f6 100644 --- a/reference/specB15.rst +++ b/reference/specB15.rst @@ -3,7 +3,30 @@ .. include:: sectionB_elements.rst :start-after: marker_connection_start + :end-before: marker_connection_2 + +.. include:: inform/informB15_connection2.rst + +.. include:: sectionB_elements.rst + :start-after: marker_connection_2 + :end-before: marker_connection_3 + +.. include:: inform/informB15_connection3.rst + +.. include:: sectionB_elements.rst + :start-after: marker_connection_3 + :end-before: marker_connection_4 + +.. include:: inform/informB15_connection4.rst + + .. include:: sectionB_elements.rst + :start-after: marker_connection_4 :end-before: marker_connection_end +.. include:: inform/informB15_connection5.rst + +.. include:: libcellml/libcellmlB15_connnection.rst + + + -.. include:: inform/informB15_connection1.rst From 5524afe8f0b586990222d3e696a025a4c78471fe Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 16 Mar 2020 11:37:05 +1300 Subject: [PATCH 029/604] Update sectionB_elements.rst --- reference/sectionB_elements.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/reference/sectionB_elements.rst b/reference/sectionB_elements.rst index be2f7dfa..b0d56d5d 100644 --- a/reference/sectionB_elements.rst +++ b/reference/sectionB_elements.rst @@ -674,6 +674,8 @@ Specific information items :code:`import component` element in the :ref:`CellML infoset` (see :ref:`Component reference`). +.. marker_connection_1 + .. container:: issue-connection-component2 2. Each :code:`connection` element MUST contain a @@ -686,17 +688,23 @@ Specific information items :code:`import component` element in the :ref:`CellML infoset` (see :ref:`Component reference `). +.. marker_connection_2 + .. container:: issue-todo 3. The value of the :code:`connection_1` attribute MUST NOT be equal to the value of the :code:`component_2` attribute. +.. marker_connection_3 + .. container:: issue-connection-unique-transitive 4. A :ref:`CellML infoset` MUST NOT contain more than one :code:`connection` element with a given pair of :code:`component`\ s referenced by the :code:`component_1` and :code:`component_2` attribute values, in any order. +.. marker_connection_4 + .. container:: issue-connection-map-variables 5. Every :code:`connection` element MUST contain one or more From 6ddeb6b2637a92900a6afe7ba4877ecfda3ca6b2 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 16 Mar 2020 11:45:20 +1300 Subject: [PATCH 030/604] Tweaks to 15 connection informal blocks --- reference/inform/informB15_connection2.rst | 18 +++++++++--------- reference/inform/informB15_connection3.rst | 10 +++++----- reference/inform/informB15_connection4.rst | 8 +++++--- reference/inform/informB15_connection5.rst | 4 ++-- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/reference/inform/informB15_connection2.rst b/reference/inform/informB15_connection2.rst index b07bde61..64369c8f 100644 --- a/reference/inform/informB15_connection2.rst +++ b/reference/inform/informB15_connection2.rst @@ -8,17 +8,19 @@ .. container:: infospec - Creating :code:`connection` items allows variable values to be passed - between eligible components. There are both syntactic (ie: format) and - semantic (ie: meaning) rules about how these must be specified, and what - "eligible" means. + Creating :code:`connection` items allows :code:`variable` values to be + passed between eligible :code:`components`. There are both syntactic (ie: + format) and semantic (ie: meaning) rules about how these must be specified, + including what "eligible" means. Syntax will be discussed below and in the + other "See more" blocks on this page. For more on the semantic rules, + please see :ref:`Interpretation of map_variables.` Points 15.1.1 and 15.1.2 are both saying the same thing. The way in which you specify the :code:`component_1` and :code:`component_2` items must follow the general CellML2.0 format for a valid identifier, and must point - to a component which exists under that name. Note that this component - could be either an intantiated component, or an :code:`import component` - item. + to a :code:`component` which exists under that name. Note that this + could be either an intantiated :code:`component`, or an + :code:`import component` item. .. code-block:: xml @@ -43,10 +45,8 @@ - - diff --git a/reference/inform/informB15_connection3.rst b/reference/inform/informB15_connection3.rst index 7ae8e83d..422a92a9 100644 --- a/reference/inform/informB15_connection3.rst +++ b/reference/inform/informB15_connection3.rst @@ -8,11 +8,11 @@ .. container:: infospec - All this means is that mapped/connected variables (ie: those specified by - :code:`connection` and :code:`map_variables` items) must be in different - components. Since the only reason you'd need to use these connections is - in order to access a variable in another component, this restriction does - make sense! + All this means is that mapped/connected :code:`variables` (ie: those + specified by :code:`connection` and :code:`map_variables` items) must be + in different :code:`components`. Since the only reason you'd need to use + these connections is in order to access a :code:`variable` in another + :code:`component`, this restriction does kinda make sense! .. code-block:: xml diff --git a/reference/inform/informB15_connection4.rst b/reference/inform/informB15_connection4.rst index 27e7b6a5..407aa1e8 100644 --- a/reference/inform/informB15_connection4.rst +++ b/reference/inform/informB15_connection4.rst @@ -13,7 +13,7 @@ specified as :code:`component_2`. If you have found duplicate :code:`connection` elements, simply merge their contents - a :code:`connection` can contain any number of :code:`map_variables` - children. + children. Make sure that the order in which you spe .. code-block:: xml @@ -31,7 +31,8 @@ - + + @@ -48,7 +49,8 @@ - + diff --git a/reference/inform/informB15_connection5.rst b/reference/inform/informB15_connection5.rst index 3fd5ee40..df2457ac 100644 --- a/reference/inform/informB15_connection5.rst +++ b/reference/inform/informB15_connection5.rst @@ -9,8 +9,8 @@ .. container:: infospec The point of creating a :code:`connection` item is in order to connect - :code:`variables` between eligible components. There is no reason to - have an empty :code:`connection` - just delete it. + :code:`variables` between eligible :code:`components`. There is no reason + to have an empty :code:`connection` - just delete it. .. code-block:: xml From abef26d76b2912d43f5cb1f5e9154f7807b845a0 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 16 Mar 2020 12:18:34 +1300 Subject: [PATCH 031/604] B16 map_variables inform spec --- reference/inform/informB16_map_variables1.rst | 0 reference/inform/informB16_map_variables2.rst | 41 +++++++++++++++++++ reference/inform/informB16_map_variables3.rst | 29 +++++++++++++ reference/specB15.rst | 2 +- reference/specB16.rst | 16 +++++++- 5 files changed, 85 insertions(+), 3 deletions(-) delete mode 100644 reference/inform/informB16_map_variables1.rst create mode 100644 reference/inform/informB16_map_variables2.rst create mode 100644 reference/inform/informB16_map_variables3.rst diff --git a/reference/inform/informB16_map_variables1.rst b/reference/inform/informB16_map_variables1.rst deleted file mode 100644 index e69de29b..00000000 diff --git a/reference/inform/informB16_map_variables2.rst b/reference/inform/informB16_map_variables2.rst new file mode 100644 index 00000000..8f245b87 --- /dev/null +++ b/reference/inform/informB16_map_variables2.rst @@ -0,0 +1,41 @@ +.. _informB16_2: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + Points 16.1.1 and 16.1.2 are both saying the same thing for their + :code:`variable_1` and :code:`variable_2` attributes respectively: + + .. code-block:: xml + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/reference/inform/informB16_map_variables3.rst b/reference/inform/informB16_map_variables3.rst new file mode 100644 index 00000000..2b5571a8 --- /dev/null +++ b/reference/inform/informB16_map_variables3.rst @@ -0,0 +1,29 @@ +.. _informB16_3: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + Just as you can have only one :code:`connection` between any two + :code:`components`, within that :code:`connection` you can have only one + :code:`map_variables` item between any two :code:`variables`. + + .. code-block:: xml + + + + + + + + + + + + + + \ No newline at end of file diff --git a/reference/specB15.rst b/reference/specB15.rst index 919ac4f6..f159d375 100644 --- a/reference/specB15.rst +++ b/reference/specB15.rst @@ -25,7 +25,7 @@ .. include:: inform/informB15_connection5.rst -.. include:: libcellml/libcellmlB15_connnection.rst +.. include:: libcellml/libcellmlB15_connection.rst diff --git a/reference/specB16.rst b/reference/specB16.rst index 01d8a7dd..47f4291e 100644 --- a/reference/specB16.rst +++ b/reference/specB16.rst @@ -3,7 +3,19 @@ .. include:: sectionB_elements.rst :start-after: marker_map_variables_start - :end-before: marker_map_variables_end - + :end-before: marker_map_variables_1 .. include:: inform/informB16_map_variables1.rst + +.. include:: sectionB_elements.rst + :start-after: marker_map_variables_1 + :end-before: marker_map_variables_2 + +.. include:: inform/informB16_map_variables2.rst + +.. include:: sectionB_elements.rst + :start-after: marker_map_variables_2 + :end-before: marker_map_variables_3 + +.. include:: inform/informB16_map_variables3.rst + From bf01f5399cbc456545ed659848c3cc5197a8dad5 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 16 Mar 2020 12:30:29 +1300 Subject: [PATCH 032/604] Tweaks to B16 --- .../libcellml/libcellmlB16_map_variables.rst | 16 ++++++++++++++++ reference/specB16.rst | 8 ++------ 2 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 reference/libcellml/libcellmlB16_map_variables.rst diff --git a/reference/libcellml/libcellmlB16_map_variables.rst b/reference/libcellml/libcellmlB16_map_variables.rst new file mode 100644 index 00000000..fc5205d2 --- /dev/null +++ b/reference/libcellml/libcellmlB16_map_variables.rst @@ -0,0 +1,16 @@ +.. _libcellmlB16: +.. _libcellml_map_variables: + +.. container:: toggle + + .. container:: header + + See libCellML implementation + + .. container:: infolib + + .. container:: heading3 + + Messages related to :code:`map_variables` items + + **TODO** put errors here. \ No newline at end of file diff --git a/reference/specB16.rst b/reference/specB16.rst index 47f4291e..d31e489e 100644 --- a/reference/specB16.rst +++ b/reference/specB16.rst @@ -3,12 +3,6 @@ .. include:: sectionB_elements.rst :start-after: marker_map_variables_start - :end-before: marker_map_variables_1 - -.. include:: inform/informB16_map_variables1.rst - -.. include:: sectionB_elements.rst - :start-after: marker_map_variables_1 :end-before: marker_map_variables_2 .. include:: inform/informB16_map_variables2.rst @@ -19,3 +13,5 @@ .. include:: inform/informB16_map_variables3.rst +.. include:: libcellml/libcellmlB16_map_variables.rst + From f5294ec8f3719268961b4f4eeae6a8b6a7afb497 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 16 Mar 2020 12:38:09 +1300 Subject: [PATCH 033/604] section B16 bugs --- reference/sectionB_elements.rst | 4 ++++ reference/specB16.rst | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/reference/sectionB_elements.rst b/reference/sectionB_elements.rst index b0d56d5d..770fd0db 100644 --- a/reference/sectionB_elements.rst +++ b/reference/sectionB_elements.rst @@ -741,6 +741,8 @@ Specific information items referenced by the :code:`component_1` attribute on the :code:`connection` element which is the parent of this element. +.. marker_map_variables_1 + .. container:: issue-map-variables-variable2 2. Each :code:`map_variables` element MUST contain a @@ -755,6 +757,8 @@ Specific information items referenced by the :code:`component_2` attribute on the :code:`connection` element which is the parent of this element. +.. marker_map_variables_2 + .. container:: issue-map-variables-unique 3. A :code:`connection` element MUST NOT contain more than one diff --git a/reference/specB16.rst b/reference/specB16.rst index d31e489e..db2a4007 100644 --- a/reference/specB16.rst +++ b/reference/specB16.rst @@ -9,7 +9,7 @@ .. include:: sectionB_elements.rst :start-after: marker_map_variables_2 - :end-before: marker_map_variables_3 + :end-before: marker_map_variables_end .. include:: inform/informB16_map_variables3.rst From f828ff553531b9e828efaf3d214408fc90e989e3 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 16 Mar 2020 13:31:14 +1300 Subject: [PATCH 034/604] Adding 0 to references to fix order in index --- ...n_of_imports.rst => specC01_interpretation_of_imports.rst} | 4 ++-- ...specC2_units_reference.rst => specC02_units_reference.rst} | 2 +- ...ation_of_units.rst => specC03_interpretation_of_units.rst} | 2 +- ...omponent_reference.rst => specC04_component_reference.rst} | 2 +- ..._variable_reference.rst => specC05_variable_reference.rst} | 2 +- ...alues.rst => specC06_interpretation_of_initial_values.rst} | 3 +-- ...variables.rst => specC07_effect_of_units_on_variables.rst} | 3 +-- ...hematics.rst => specC08_interpretation_of_mathematics.rst} | 2 +- ...lation.rst => specC09_interpretation_of_encapsulation.rst} | 2 +- 9 files changed, 10 insertions(+), 12 deletions(-) rename reference/{specC1_interpretation_of_imports.rst => specC01_interpretation_of_imports.rst} (73%) rename reference/{specC2_units_reference.rst => specC02_units_reference.rst} (96%) rename reference/{specC3_interpretation_of_units.rst => specC03_interpretation_of_units.rst} (93%) rename reference/{specC4_component_reference.rst => specC04_component_reference.rst} (93%) rename reference/{specC5_variable_reference.rst => specC05_variable_reference.rst} (93%) rename reference/{specC6_interpretation_of_initial_values.rst => specC06_interpretation_of_initial_values.rst} (94%) rename reference/{specC7_effect_of_units_on_variables.rst => specC07_effect_of_units_on_variables.rst} (94%) rename reference/{specC8_interpretation_of_mathematics.rst => specC08_interpretation_of_mathematics.rst} (94%) rename reference/{specC9_interpretation_of_encapsulation.rst => specC09_interpretation_of_encapsulation.rst} (94%) diff --git a/reference/specC1_interpretation_of_imports.rst b/reference/specC01_interpretation_of_imports.rst similarity index 73% rename from reference/specC1_interpretation_of_imports.rst rename to reference/specC01_interpretation_of_imports.rst index 37a2475c..bc794ddc 100644 --- a/reference/specC1_interpretation_of_imports.rst +++ b/reference/specC01_interpretation_of_imports.rst @@ -1,7 +1,7 @@ -.. _specC1: +.. _specC01: .. include:: sectionC_interpretation.rst :start-after: marker_interpretation_of_imports_start :end-before: marker_interpretation_of_imports_end -.. include:: inform/informC1_imports.rst +.. include:: inform/informC01_imports.rst diff --git a/reference/specC2_units_reference.rst b/reference/specC02_units_reference.rst similarity index 96% rename from reference/specC2_units_reference.rst rename to reference/specC02_units_reference.rst index 91bb36ef..92150e42 100644 --- a/reference/specC2_units_reference.rst +++ b/reference/specC02_units_reference.rst @@ -1,4 +1,4 @@ -.. _specC2: +.. _specC02: .. include:: sectionC_interpretation.rst :start-after: marker_units_reference_start diff --git a/reference/specC3_interpretation_of_units.rst b/reference/specC03_interpretation_of_units.rst similarity index 93% rename from reference/specC3_interpretation_of_units.rst rename to reference/specC03_interpretation_of_units.rst index f803d04b..7215695b 100644 --- a/reference/specC3_interpretation_of_units.rst +++ b/reference/specC03_interpretation_of_units.rst @@ -1,4 +1,4 @@ -.. _specC3: +.. _specC03: .. include:: sectionC_interpretation.rst :start-after: marker_interpretation_of_units_start diff --git a/reference/specC4_component_reference.rst b/reference/specC04_component_reference.rst similarity index 93% rename from reference/specC4_component_reference.rst rename to reference/specC04_component_reference.rst index 3f4eea9c..4bc14de9 100644 --- a/reference/specC4_component_reference.rst +++ b/reference/specC04_component_reference.rst @@ -1,4 +1,4 @@ -.. _specC4: +.. _specC04: .. include:: sectionC_interpretation.rst :start-after: marker_component_reference_start diff --git a/reference/specC5_variable_reference.rst b/reference/specC05_variable_reference.rst similarity index 93% rename from reference/specC5_variable_reference.rst rename to reference/specC05_variable_reference.rst index ca48a970..d5cb5ecb 100644 --- a/reference/specC5_variable_reference.rst +++ b/reference/specC05_variable_reference.rst @@ -1,4 +1,4 @@ -.. _specC5: +.. _specC05: .. include:: sectionC_interpretation.rst :start-after: marker_variable_reference_start diff --git a/reference/specC6_interpretation_of_initial_values.rst b/reference/specC06_interpretation_of_initial_values.rst similarity index 94% rename from reference/specC6_interpretation_of_initial_values.rst rename to reference/specC06_interpretation_of_initial_values.rst index feebf1be..e00229a7 100644 --- a/reference/specC6_interpretation_of_initial_values.rst +++ b/reference/specC06_interpretation_of_initial_values.rst @@ -1,5 +1,4 @@ - -.. _specC5: +.. _specC06: .. include:: sectionC_interpretation.rst :start-after: marker_interpretation_of_initial_values_start diff --git a/reference/specC7_effect_of_units_on_variables.rst b/reference/specC07_effect_of_units_on_variables.rst similarity index 94% rename from reference/specC7_effect_of_units_on_variables.rst rename to reference/specC07_effect_of_units_on_variables.rst index beb5b8f1..59549bc8 100644 --- a/reference/specC7_effect_of_units_on_variables.rst +++ b/reference/specC07_effect_of_units_on_variables.rst @@ -1,5 +1,4 @@ - -.. _specC7: +.. _specC07: .. include:: sectionC_interpretation.rst :start-after: marker_effect_of_units_on_variables_start diff --git a/reference/specC8_interpretation_of_mathematics.rst b/reference/specC08_interpretation_of_mathematics.rst similarity index 94% rename from reference/specC8_interpretation_of_mathematics.rst rename to reference/specC08_interpretation_of_mathematics.rst index cab6d802..09f6c737 100644 --- a/reference/specC8_interpretation_of_mathematics.rst +++ b/reference/specC08_interpretation_of_mathematics.rst @@ -1,4 +1,4 @@ -.. _specC8: +.. _specC08: .. include:: sectionC_interpretation.rst :start-after: marker_interpretation_of_mathematics_start diff --git a/reference/specC9_interpretation_of_encapsulation.rst b/reference/specC09_interpretation_of_encapsulation.rst similarity index 94% rename from reference/specC9_interpretation_of_encapsulation.rst rename to reference/specC09_interpretation_of_encapsulation.rst index d3883d60..9e613245 100644 --- a/reference/specC9_interpretation_of_encapsulation.rst +++ b/reference/specC09_interpretation_of_encapsulation.rst @@ -1,4 +1,4 @@ -.. _specC9: +.. _specC09: .. include:: sectionC_interpretation.rst :start-after: marker_interpretation_of_encapsulation_start From 58f08c7c6f2f5cef679777e455250d42ccee2911 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 16 Mar 2020 15:06:31 +1300 Subject: [PATCH 035/604] tweaks to refs, maths --- reference/inform/informB12_math4.rst | 2 +- reference/inform/informB15_connection2.rst | 2 +- reference/inform/informC01_imports.rst | 16 ++++++++ ...ormC.rst => informC02_units_reference.rst} | 4 +- reference/sectionB_elements.rst | 8 ++-- reference/sectionC_interpretation.rst | 41 ++++++++++--------- 6 files changed, 45 insertions(+), 28 deletions(-) create mode 100644 reference/inform/informC01_imports.rst rename reference/inform/{informC.rst => informC02_units_reference.rst} (64%) diff --git a/reference/inform/informB12_math4.rst b/reference/inform/informB12_math4.rst index 0c0eeb8d..575efa1b 100644 --- a/reference/inform/informB12_math4.rst +++ b/reference/inform/informB12_math4.rst @@ -77,7 +77,7 @@ an invalid model by assigning :code:`units` to :code:`variables` is when you need to form a :code:`map_variables` pair with a :code:`variable` in another :code:`component`. In this case, each :code:`variable` must have - an equivalent unit reduction (see :ref:`Section C.5.3`) or it + an equivalent unit reduction (see :ref:`Section C.5.3`) or it won't be valid CellML. diff --git a/reference/inform/informB15_connection2.rst b/reference/inform/informB15_connection2.rst index 64369c8f..829f4cb2 100644 --- a/reference/inform/informB15_connection2.rst +++ b/reference/inform/informB15_connection2.rst @@ -13,7 +13,7 @@ format) and semantic (ie: meaning) rules about how these must be specified, including what "eligible" means. Syntax will be discussed below and in the other "See more" blocks on this page. For more on the semantic rules, - please see :ref:`Interpretation of map_variables.` + please see :ref:`Interpretation of map_variables.` Points 15.1.1 and 15.1.2 are both saying the same thing. The way in which you specify the :code:`component_1` and :code:`component_2` items must diff --git a/reference/inform/informC01_imports.rst b/reference/inform/informC01_imports.rst new file mode 100644 index 00000000..de37be50 --- /dev/null +++ b/reference/inform/informC01_imports.rst @@ -0,0 +1,16 @@ +.. _informC01_imports: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + CellML2.0 is not xenophobic. When an element (either a + :code:`component` or a :code:`units` item) is imported, it is treated in + the same way as the locally defined items. + + + **TODO** Don't fully understand the first sentence... \ No newline at end of file diff --git a/reference/inform/informC.rst b/reference/inform/informC02_units_reference.rst similarity index 64% rename from reference/inform/informC.rst rename to reference/inform/informC02_units_reference.rst index 83c90b51..8d195d9a 100644 --- a/reference/inform/informC.rst +++ b/reference/inform/informC02_units_reference.rst @@ -1,4 +1,4 @@ -.. _informC: +.. _informC02_units_reference1: .. container:: toggle @@ -8,4 +8,4 @@ .. container:: infospec - **TODO** Informal notes go here + **TODO** \ No newline at end of file diff --git a/reference/sectionB_elements.rst b/reference/sectionB_elements.rst index 770fd0db..034e28e3 100644 --- a/reference/sectionB_elements.rst +++ b/reference/sectionB_elements.rst @@ -252,7 +252,7 @@ Specific information items 1. Every :code:`unit` element MUST contain a :code:`units` attribute. The value of the :code:`units` attribute MUST be a valid units reference, as defined in the - :ref:`Units reference ` section. + :ref:`Units reference` section. .. container:: issue-unit-digraph @@ -283,7 +283,7 @@ Specific information items 1. The :code:`prefix` attribute. If present, the value of the attribute MUST meet the constraints specified in the - :ref:`Interpretation of units ` section. + :ref:`Interpretation of units ` section. .. container:: issue-unit-multiplier @@ -385,7 +385,7 @@ Specific information items 2. The :code:`initial_value` attribute. If the attribute is present, it MUST meet the requirements described by the - :ref:`Interpretation of initial values` section. + :ref:`Interpretation of initial values` section. .. marker_variable_end .. marker_reset_start @@ -427,7 +427,7 @@ Specific information items The value of the :code:`order` attribute MUST be unique for all :code:`reset` elements with :code:`variable` attributes that reference variables in the same connected variable set (see - :ref:`Interpretation of map_variables`). + :ref:`Interpretation of map_variables`). .. container:: issue-reset-child diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst index abbbb485..a1ae1706 100644 --- a/reference/sectionC_interpretation.rst +++ b/reference/sectionC_interpretation.rst @@ -7,13 +7,13 @@ Section C: Interpretation =========================================== .. marker_interpretation_of_imports_start -.. _specC_imports: +.. _specC_interpretation_of_imports: Interpretation of imports ------------------------- #. Each :code:`import` element present in a - :ref:`CellML infosets` (the importing + :ref:`CellML infoset` (the importing infoset) SHALL define a new and separate instance of the CellML infoset referenced by the :code:`href` attribute (the imported infoset). See :ref:`Units reference` and @@ -143,7 +143,7 @@ Table: Built-in units .. marker_units_reference_end .. marker_interpretation_of_units_start -.. _specC_units: +.. _specC_interpretation_of_units: Interpretation of units ----------------------- @@ -176,19 +176,20 @@ Interpretation of units real number string, and the value of the multiplier term SHALL be the numerical value of that string. - #. The relationship between the product, *P,* of numerical values + #. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element units, to a - numerical value, *x,* with units given by the encompassing + numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be .. image:: images/equation_units_expansion.png :align: center :width: 50% - where: *u\ x* denotes the units of the :code:`units` element; *p\ i*, - *e\ i*, *m\ i*, and *u\ i* refer to the prefix, exponent and - multiplier terms and units of the *i*\ th :code:`unit` child element, - respectively. Square brackets encompass the units of numerical + where: :math:`u_x` denotes the units of the :code:`units` element; + :math:`p_i`, :math:`e_i`, :math: `m_i` and :math:`u_i` + refer to the prefix, exponent and + multiplier terms and units of the :math:`i^(th)` :code:`unit` child + element, respectively. Square brackets encompass the units of numerical values. #. For the purposes of this specification, the “irreducible units” of a @@ -288,8 +289,8 @@ Component reference ------------------- #. A component reference SHALL be the name of a component, and SHALL be - interpreted based on the context within the :ref:`CellML model` in which it - occurs. + interpreted based on the context within the + :ref:`CellML model` in which it occurs. #. A component reference present in an information item which is a descendant of a :code:`model` element SHALL be identical to either the @@ -365,13 +366,13 @@ Effect of units on variables #. The value of the :code:`units` attribute on every :code:`variable` element MUST be a valid units reference. The target of this units reference is referred to as the variable units, and the corresponding unit - reduction (see :ref:`Interpretation of units`) is referred + reduction (see :ref:`Interpretation of units`) is referred to as the variable unit reduction. .. marker_effect_of_units_on_variables_end .. marker_interpretation_of_mathematics_start -.. _specC_mathematics: +.. _specC_interpretation_of_mathematics: Interpretation of mathematics ----------------------------- @@ -390,7 +391,7 @@ Interpretation of mathematics #. All :code:`component` elements which are descendants in the encapsulation digraph (see - :ref:`Interpretation of encapsulation `) + :ref:`Interpretation of encapsulation `) of a pertinent :code:`component` element. #. Every MathML element in the :ref:`CellML model` which appears as a direct @@ -406,7 +407,7 @@ Interpretation of mathematics .. marker_interpretation_of_mathematics_end .. marker_interpretation_of_encapsulation_start -.. _specC_encapsulation: +.. _specC_interpretation_of_encapsulation: Interpretation of encapsulation ------------------------------- @@ -450,7 +451,7 @@ Interpretation of encapsulation .. marker_interpretation_of_encapsulation_end .. marker_interpretation_of_map_variables_start -.. _specC_map_variables: +.. _specC_interpretation_of_map_variables: Interpretation of map_variables ------------------------------- @@ -499,7 +500,7 @@ Interpretation of map_variables #. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of - the variables (see :ref:`Interpretation of units`). + the variables (see :ref:`Interpretation of units`). #. For a given variable, the available interfaces SHALL be determined by the :code:`interface` attribute information item on the corresponding @@ -553,7 +554,7 @@ Interpretation of map_variables .. marker_interpretation_of_map_variables_end .. marker_interpretation_of_variable_resets_start -.. _specC_variable_resets: +.. _specC_interpretation_of_variable_resets: Interpretation of variable resets --------------------------------- @@ -564,8 +565,8 @@ Interpretation of variable resets #. All :code:`reset` elements SHALL be considered sequentially for the connected variable set (see - :ref:`Interpretation of map_variables`) to which - the referenced variable + :ref:`Interpretation of map_variables`) + to which the referenced variable belongs. The sequence SHALL be determined by the value of the reset element’s :code:`order` attribute, lowest (least positive / most negative) having priority. From 33afacefa3d0d775cd874767dd89d3aea52e02e4 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 16 Mar 2020 15:08:13 +1300 Subject: [PATCH 036/604] Update sectionC_interpretation.rst --- reference/sectionC_interpretation.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst index a1ae1706..a51f3efc 100644 --- a/reference/sectionC_interpretation.rst +++ b/reference/sectionC_interpretation.rst @@ -186,7 +186,7 @@ Interpretation of units :width: 50% where: :math:`u_x` denotes the units of the :code:`units` element; - :math:`p_i`, :math:`e_i`, :math: `m_i` and :math:`u_i` + :math:`p_i`, :math:`e_i`, :math:`m_i` and :math:`u_i` refer to the prefix, exponent and multiplier terms and units of the :math:`i^(th)` :code:`unit` child element, respectively. Square brackets encompass the units of numerical From f10b1d2987b277c252a4ae98c6d732b809c6d309 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 16 Mar 2020 15:15:29 +1300 Subject: [PATCH 037/604] Update sectionC_interpretation.rst --- reference/sectionC_interpretation.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst index a51f3efc..63745c20 100644 --- a/reference/sectionC_interpretation.rst +++ b/reference/sectionC_interpretation.rst @@ -188,7 +188,7 @@ Interpretation of units where: :math:`u_x` denotes the units of the :code:`units` element; :math:`p_i`, :math:`e_i`, :math:`m_i` and :math:`u_i` refer to the prefix, exponent and - multiplier terms and units of the :math:`i^(th)` :code:`unit` child + multiplier terms and units of the :math:`i^{th}` :code:`unit` child element, respectively. Square brackets encompass the units of numerical values. From 1e075a26d257cc7db12dd7c1379f9adc6ae3ec0b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 16 Mar 2020 17:22:15 +1300 Subject: [PATCH 038/604] C03 interpretation of units --- .../informC03_interpretation_of_units1_ | 0 .../informC03_interpretation_of_units1_1.rst | 32 ++++++++ .../informC03_interpretation_of_units1_3.rst | 60 +++++++++++++++ .../informC03_interpretation_of_units1_4.rst | 76 +++++++++++++++++++ reference/sectionC_interpretation.rst | 31 +++++--- reference/specC03_interpretation_of_units.rst | 29 ++++++- 6 files changed, 216 insertions(+), 12 deletions(-) create mode 100644 reference/inform/informC03_interpretation_of_units1_ create mode 100644 reference/inform/informC03_interpretation_of_units1_1.rst create mode 100644 reference/inform/informC03_interpretation_of_units1_3.rst create mode 100644 reference/inform/informC03_interpretation_of_units1_4.rst diff --git a/reference/inform/informC03_interpretation_of_units1_ b/reference/inform/informC03_interpretation_of_units1_ new file mode 100644 index 00000000..e69de29b diff --git a/reference/inform/informC03_interpretation_of_units1_1.rst b/reference/inform/informC03_interpretation_of_units1_1.rst new file mode 100644 index 00000000..2818ba01 --- /dev/null +++ b/reference/inform/informC03_interpretation_of_units1_1.rst @@ -0,0 +1,32 @@ +.. _informC03_interpretation_of_units_1_1: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + The :code:`prefix` term is different from the other attributes of a + :code:`unit` element in that it can accept both a string (the name of the + prefix from the :ref:`Prefix table`) or an integer + (the base 10 log equivalent to the prefix). It's also different because + **it will become invalid if a real number is used**. + + For example, these are equivalent: + + .. code-block:: xml + + + + + + + + + + diff --git a/reference/inform/informC03_interpretation_of_units1_3.rst b/reference/inform/informC03_interpretation_of_units1_3.rst new file mode 100644 index 00000000..81e4acf4 --- /dev/null +++ b/reference/inform/informC03_interpretation_of_units1_3.rst @@ -0,0 +1,60 @@ +.. _informC03_interpretation_of_units_1_3: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + As you'd expect, both the :code:`exponent` and :code:`multiplier` + attributes must be :ref:`valid real numbers`, which + could include an :ref:`integers`. (This is in contrast to + the :code:`prefix` which *must* be an integer or a named prefix.) + + All three attributes can be combined in different ways to give the same + effective outcome. The examples below all define a :code:`units` item + equivalent to a 300 millilitre bottle of beer. + + .. code-block:: xml + + + + + + + + + + + + + + + + + + + + + + + + + + + **Note** that all spellings of built in units and prefixes must be UK (not + US) English, ie: :code:`metre` (not meter), :code:`litre` (not liter), and + :code:`deca` (not deka). + + diff --git a/reference/inform/informC03_interpretation_of_units1_4.rst b/reference/inform/informC03_interpretation_of_units1_4.rst new file mode 100644 index 00000000..19814a2a --- /dev/null +++ b/reference/inform/informC03_interpretation_of_units1_4.rst @@ -0,0 +1,76 @@ +.. _informC03_interpretation_of_units_1_4: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + Once you've read the section in the previous "See more" box on how single + :code:`unit` items can be combined to form a :code:`units` item, we also + need to define how :code:`units` items can be used to form generations + of units. Using the same example of the 330mL beer bottle as before, here + are alternative, but equivalent, definitions. + + .. code-block:: xml + + + + + + + + + + + + + + + But we can also use child :code:`units` in conjunction with + :code:`exponents` too. In this situation you'll need to understand the + equation above. Let's start by defining a centimeter: + + .. code-block:: xml + + + + + + + + + + + + + + Then cube it to get the units of millilitres: + + .. code-block:: xml + + + + + + This is equivalent to creating the units of (1e-6)(metre)^3, because the + effect of the :code:`exponent` is applied to the combination of + :code:`units` and :code:`prefix`, but not to the :code:`multiplier`: + + .. code-block:: xml + + + + + + + It's good to get your head around the difference between how the + :code:`multiplier` and :code:`prefix` terms work, or your scaling might + not be what you expect (and your beer quite disappointing). \ No newline at end of file diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst index 63745c20..99bc3a32 100644 --- a/reference/sectionC_interpretation.rst +++ b/reference/sectionC_interpretation.rst @@ -162,6 +162,8 @@ Interpretation of units prefix term SHALL have the value taken from the ‘Value’ column of the same row. +.. marker_interpretation_of_units_1_1 + #. The exponent term is a conceptual property of :code:`unit` elements. If a :code:`unit` element has no :code:`exponent` attribute information item, the exponent term SHALL have value 1.0. Otherwise, the value @@ -176,6 +178,8 @@ Interpretation of units real number string, and the value of the multiplier term SHALL be the numerical value of that string. +.. marker_interpretation_of_units_1_3 + #. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element units, to a numerical value, :math:`x`, with units given by the encompassing @@ -192,16 +196,21 @@ Interpretation of units element, respectively. Square brackets encompass the units of numerical values. -#. For the purposes of this specification, the “irreducible units” of a +.. marker_interpretation_of_units_1_4 + +#. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements - in the :ref:`CellML model` which have no :code:`unit` child elements), and 2) - built-in irreducible units (those built-in units with ‘-’ in the - ‘Unit Reduction...’ column of the + in the :ref:`CellML model` which have no :code:`unit` + child elements), and 2) + built-in irreducible units (those built-in units with "-" in the + "Unit Reduction" column of the :ref:`Built-in units` table) referenced by variables or other units in the model. -#. The “unit reduction” is a conceptual property of :code:`units` elements. +.. marker_interpretation_of_units_2 + +#. The "unit reduction" is a conceptual property of :code:`units` elements. It consists of a set of tuples where each tuple is composed of a) a unit name and b) a real-valued exponent. Tuples SHALL be determined as follows: @@ -223,11 +232,11 @@ Interpretation of units #. Where the units reference of the :code:`unit` child element is to built-in units other than an irreducible unit, then the tuples - SHALL be derived directly from the :ref:`Built-in - units` table. Specifically, the set of - tuples SHALL consist of the tuples given in the ‘Unit reduction - tuple ... set’ column of the row for which the value in the - ‘Name’ column matches the name of the units reference. + SHALL be derived directly from the + :ref:`Built-in units` table. Specifically, + the set of tuples SHALL consist of the tuples given in the + "Unit reduction tuple set" column of the row for which the value in the + "Name" column matches the name of the units reference. #. Where the units reference of the :code:`unit` child element is to a unit which is neither built-in, nor an irreducible unit, the @@ -250,6 +259,8 @@ Interpretation of units is zero, the tuple SHALL be removed from the set of tuples. Note that this can result in the set of tuples being empty. +.. marker_interpretation_of_units_3 + .. _table_prefix_values: Table: Prefix values diff --git a/reference/specC03_interpretation_of_units.rst b/reference/specC03_interpretation_of_units.rst index 7215695b..3d8743dd 100644 --- a/reference/specC03_interpretation_of_units.rst +++ b/reference/specC03_interpretation_of_units.rst @@ -2,6 +2,31 @@ .. include:: sectionC_interpretation.rst :start-after: marker_interpretation_of_units_start - :end-before: marker_interpretation_of_units_end + :end-before: marker_interpretation_of_units_1_1 -.. include:: inform/informC3_interpretation_of_units.rst +.. include:: inform/informC03_interpretation_of_units1_1.rst + +.. include:: sectionC_interpretation.rst + :start-after: marker_interpretation_of_units_1_1 + :end-before: marker_interpretation_of_units_1_3 + +.. include:: inform/informC03_interpretation_of_units1_3.rst + +.. include:: sectionC_interpretation.rst + :start-after: marker_interpretation_of_units_1_3 + :end_before: marker_interpretation_of_units_1_4 + +.. include:: inform/informC03_interpretation_of_units1_4.rst + +.. include:: sectionC_interpretation.rst + :start-after: marker_interpretation_of_units_1_4 + :end_before: marker_interpretation_of_units_2 + +.. include:: inform/informC03_interpretation_of_units2.rst + +.. include:: sectionC_interpretation.rst + :start-after: marker_interpretation_of_units_2 + :end_before: marker_interpretation_of_units_3 + +.. include:: inform/informC03_interpretation_of_units3.rst +.. include:: libcellml/libcellmlC03_interpretation_of_units.rst From dee60a73807f20c81ecc1463596b89830fd4530b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 16 Mar 2020 17:40:55 +1300 Subject: [PATCH 039/604] C03 cont --- .../inform/informC03_interpretation_of_units1_3.rst | 7 ++++--- .../inform/informC03_interpretation_of_units1_4.rst | 10 ++++++---- reference/specC03_interpretation_of_units.rst | 5 +++++ 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/reference/inform/informC03_interpretation_of_units1_3.rst b/reference/inform/informC03_interpretation_of_units1_3.rst index 81e4acf4..10104c6f 100644 --- a/reference/inform/informC03_interpretation_of_units1_3.rst +++ b/reference/inform/informC03_interpretation_of_units1_3.rst @@ -11,7 +11,8 @@ As you'd expect, both the :code:`exponent` and :code:`multiplier` attributes must be :ref:`valid real numbers`, which could include an :ref:`integers`. (This is in contrast to - the :code:`prefix` which *must* be an integer or a named prefix.) + the :code:`prefix` which *must* be an integer or a + :ref:`named prefix`.) All three attributes can be combined in different ways to give the same effective outcome. The examples below all define a :code:`units` item @@ -54,7 +55,7 @@ **Note** that all spellings of built in units and prefixes must be UK (not - US) English, ie: :code:`metre` (not meter), :code:`litre` (not liter), and - :code:`deca` (not deka). + US) English, ie: :code:`metre` (not meter), :code:`litre` (not liter), and + :code:`deca` (not deka). diff --git a/reference/inform/informC03_interpretation_of_units1_4.rst b/reference/inform/informC03_interpretation_of_units1_4.rst index 19814a2a..ca42e0fc 100644 --- a/reference/inform/informC03_interpretation_of_units1_4.rst +++ b/reference/inform/informC03_interpretation_of_units1_4.rst @@ -55,13 +55,14 @@ - This is equivalent to creating the units of (1e-6)(metre)^3, because the - effect of the :code:`exponent` is applied to the combination of + + This is equivalent to creating the units of :math:`(10^{-6})(metre)^3`, + because the effect of the :code:`exponent` is applied to the combination of :code:`units` and :code:`prefix`, but not to the :code:`multiplier`: .. code-block:: xml - @@ -71,6 +72,7 @@ + It's good to get your head around the difference between how the :code:`multiplier` and :code:`prefix` terms work, or your scaling might - not be what you expect (and your beer quite disappointing). \ No newline at end of file + not be quite what you expect (and your beer disappointing). \ No newline at end of file diff --git a/reference/specC03_interpretation_of_units.rst b/reference/specC03_interpretation_of_units.rst index 3d8743dd..a4230d88 100644 --- a/reference/specC03_interpretation_of_units.rst +++ b/reference/specC03_interpretation_of_units.rst @@ -29,4 +29,9 @@ :end_before: marker_interpretation_of_units_3 .. include:: inform/informC03_interpretation_of_units3.rst + +.. include:: sectionC_interpretation.rst + :start-after: marker_interpretation_of_units_3 + :end_before: marker_interpretation_of_units_end + .. include:: libcellml/libcellmlC03_interpretation_of_units.rst From 90b308307358bf0f7621a043f5e3fde7066d7a1d Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 16 Mar 2020 17:43:13 +1300 Subject: [PATCH 040/604] added C03 placeholders --- .../inform/informC03_interpretation_of_units2.rst | 11 +++++++++++ .../inform/informC03_interpretation_of_units3.rst | 11 +++++++++++ 2 files changed, 22 insertions(+) create mode 100644 reference/inform/informC03_interpretation_of_units2.rst create mode 100644 reference/inform/informC03_interpretation_of_units3.rst diff --git a/reference/inform/informC03_interpretation_of_units2.rst b/reference/inform/informC03_interpretation_of_units2.rst new file mode 100644 index 00000000..033d7fa4 --- /dev/null +++ b/reference/inform/informC03_interpretation_of_units2.rst @@ -0,0 +1,11 @@ +.. _informC03_interpretation_of_units_2: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + **TODO** \ No newline at end of file diff --git a/reference/inform/informC03_interpretation_of_units3.rst b/reference/inform/informC03_interpretation_of_units3.rst new file mode 100644 index 00000000..3eb828bf --- /dev/null +++ b/reference/inform/informC03_interpretation_of_units3.rst @@ -0,0 +1,11 @@ +.. _informC03_interpretation_of_units_3: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + **TODO** \ No newline at end of file From 3b3c2684552d2fa4a2315a58b728e310db51360e Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 16 Mar 2020 17:53:37 +1300 Subject: [PATCH 041/604] Update sectionC_interpretation.rst --- reference/sectionC_interpretation.rst | 30 +++++++++++++-------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst index 99bc3a32..d88787d3 100644 --- a/reference/sectionC_interpretation.rst +++ b/reference/sectionC_interpretation.rst @@ -148,10 +148,10 @@ Table: Built-in units Interpretation of units ----------------------- -#. The :code:`units` element SHALL be interpreted as the product of its +1. The :code:`units` element SHALL be interpreted as the product of its :code:`unit` element children, according to the following rules: - #. The prefix term is a conceptual property of :code:`unit` elements. If + 1. The prefix term is a conceptual property of :code:`unit` elements. If the :code:`unit` element does not have a :code:`prefix` attribute information item, the prefix term SHALL have value 0. If the :code:`prefix` attribute information item has a value which is an @@ -164,14 +164,14 @@ Interpretation of units .. marker_interpretation_of_units_1_1 - #. The exponent term is a conceptual property of :code:`unit` elements. + 2. The exponent term is a conceptual property of :code:`unit` elements. If a :code:`unit` element has no :code:`exponent` attribute information item, the exponent term SHALL have value 1.0. Otherwise, the value of the :code:`exponent` attribute information item MUST be a real number string, and the value of the exponent term SHALL be the numerical value of that string. - #. The multiplier term is a conceptual property of :code:`unit` elements. + 3. The multiplier term is a conceptual property of :code:`unit` elements. If a :code:`unit` element has no :code:`multiplier` attribute information item, the multiplier term SHALL have value 1.0. Otherwise, the value of the :code:`multiplier` attribute information item MUST be a @@ -180,7 +180,7 @@ Interpretation of units .. marker_interpretation_of_units_1_3 - #. The relationship between the product, :math:`P`, of numerical values + 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element units, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be @@ -198,7 +198,7 @@ Interpretation of units .. marker_interpretation_of_units_1_4 -#. For the purposes of this specification, the "irreducible units" of a +2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` @@ -210,27 +210,27 @@ Interpretation of units .. marker_interpretation_of_units_2 -#. The "unit reduction" is a conceptual property of :code:`units` elements. +3. The "unit reduction" is a conceptual property of :code:`units` elements. It consists of a set of tuples where each tuple is composed of a) a unit name and b) a real-valued exponent. Tuples SHALL be determined as follows: - #. If the :code:`units` element has no :code:`unit` child elements, then the + 1. If the :code:`units` element has no :code:`unit` child elements, then the set of tuples SHALL have a single member, which SHALL consist of the name of the :code:`units` element and the exponent 1.0. - #. If the :code:`units` element has one or more :code:`unit` child elements, + 2. If the :code:`units` element has one or more :code:`unit` child elements, then the set of tuples SHALL consist of the entire collection of tuples given by all :code:`unit` child elements. Tuples for each :code:`unit` child element SHALL be determined as follows: - #. Where the units reference of the :code:`unit` child element is to a + 1. Where the units reference of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. - #. Where the units reference of the :code:`unit` child element is to + 2. Where the units reference of the :code:`unit` child element is to built-in units other than an irreducible unit, then the tuples SHALL be derived directly from the :ref:`Built-in units` table. Specifically, @@ -238,21 +238,21 @@ Interpretation of units "Unit reduction tuple set" column of the row for which the value in the "Name" column matches the name of the units reference. - #. Where the units reference of the :code:`unit` child element is to a + 3. Where the units reference of the :code:`unit` child element is to a unit which is neither built-in, nor an irreducible unit, the set of tuples SHALL be defined recursively as the set of tuples for the :code:`units` element so referenced. - #. The exponents of each tuple in the set for the current :code:`unit` + 4. The exponents of each tuple in the set for the current :code:`unit` element, as derived by following rule 3.2.1, 3.2.2 or 3.2.3 above, SHALL be multiplied by the exponent term of the current, referencing, :code:`unit` element. - #. Tuples which have the name element of ‘dimensionless’ SHALL be + 3. Tuples which have the name element of ‘dimensionless’ SHALL be removed from the set of tuples. Note that this can result in the set of tuples being empty. - #. Where the set of tuples consists of tuples which have the same + 4. Where the set of tuples consists of tuples which have the same name element, those tuples SHALL be combined into a single tuple with that name element and an exponent being the sum of the combined tuples’ exponents. If the resulting tuple’s exponent term From e84aeafb487dfa3b0443546331e22ffd87e3506c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 10:00:25 +1300 Subject: [PATCH 042/604] Update sectionC_interpretation.rst --- reference/sectionC_interpretation.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst index d88787d3..dd87419f 100644 --- a/reference/sectionC_interpretation.rst +++ b/reference/sectionC_interpretation.rst @@ -198,6 +198,8 @@ Interpretation of units .. marker_interpretation_of_units_1_4 +HELLO!! + 2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements From 79a1e82d10cfe2086c16ebdfbd65dedd79a0a90a Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 10:07:26 +1300 Subject: [PATCH 043/604] working out bugs in C3 --- reference/inform/informC03_interpretation_of_units1_3.rst | 1 + reference/sectionC_interpretation.rst | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/reference/inform/informC03_interpretation_of_units1_3.rst b/reference/inform/informC03_interpretation_of_units1_3.rst index 10104c6f..dd38c594 100644 --- a/reference/inform/informC03_interpretation_of_units1_3.rst +++ b/reference/inform/informC03_interpretation_of_units1_3.rst @@ -54,6 +54,7 @@ + **Note** that all spellings of built in units and prefixes must be UK (not US) English, ie: :code:`metre` (not meter), :code:`litre` (not liter), and :code:`deca` (not deka). diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst index dd87419f..d7cefe8c 100644 --- a/reference/sectionC_interpretation.rst +++ b/reference/sectionC_interpretation.rst @@ -180,6 +180,8 @@ Interpretation of units .. marker_interpretation_of_units_1_3 +HELLO! + 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element units, to a numerical value, :math:`x`, with units given by the encompassing @@ -198,8 +200,6 @@ Interpretation of units .. marker_interpretation_of_units_1_4 -HELLO!! - 2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements From 8c243976f35c81edca0f4c8e0990be083a4305a8 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 10:09:23 +1300 Subject: [PATCH 044/604] Delete informC03_interpretation_of_units1_ --- reference/inform/informC03_interpretation_of_units1_ | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 reference/inform/informC03_interpretation_of_units1_ diff --git a/reference/inform/informC03_interpretation_of_units1_ b/reference/inform/informC03_interpretation_of_units1_ deleted file mode 100644 index e69de29b..00000000 From ac14316b7494c4a6374e6e3c780fa3bcb6ffbbe9 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 10:10:53 +1300 Subject: [PATCH 045/604] fixed end_before bug --- reference/sectionC_interpretation.rst | 2 -- reference/specC03_interpretation_of_units.rst | 8 ++++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst index d7cefe8c..d88787d3 100644 --- a/reference/sectionC_interpretation.rst +++ b/reference/sectionC_interpretation.rst @@ -180,8 +180,6 @@ Interpretation of units .. marker_interpretation_of_units_1_3 -HELLO! - 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element units, to a numerical value, :math:`x`, with units given by the encompassing diff --git a/reference/specC03_interpretation_of_units.rst b/reference/specC03_interpretation_of_units.rst index a4230d88..6bbe42a9 100644 --- a/reference/specC03_interpretation_of_units.rst +++ b/reference/specC03_interpretation_of_units.rst @@ -14,24 +14,24 @@ .. include:: sectionC_interpretation.rst :start-after: marker_interpretation_of_units_1_3 - :end_before: marker_interpretation_of_units_1_4 + :end-before: marker_interpretation_of_units_1_4 .. include:: inform/informC03_interpretation_of_units1_4.rst .. include:: sectionC_interpretation.rst :start-after: marker_interpretation_of_units_1_4 - :end_before: marker_interpretation_of_units_2 + :end-before: marker_interpretation_of_units_2 .. include:: inform/informC03_interpretation_of_units2.rst .. include:: sectionC_interpretation.rst :start-after: marker_interpretation_of_units_2 - :end_before: marker_interpretation_of_units_3 + :end-before: marker_interpretation_of_units_3 .. include:: inform/informC03_interpretation_of_units3.rst .. include:: sectionC_interpretation.rst :start-after: marker_interpretation_of_units_3 - :end_before: marker_interpretation_of_units_end + :end-before: marker_interpretation_of_units_end .. include:: libcellml/libcellmlC03_interpretation_of_units.rst From 7248f03ba773c0f6128699c9bb1329f24a2f0ace Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 10:42:48 +1300 Subject: [PATCH 046/604] C03_2 --- .../informC03_interpretation_of_units2.rst | 53 ++++++++++++++++++- .../informC03_interpretation_of_units3.rst | 2 +- 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/reference/inform/informC03_interpretation_of_units2.rst b/reference/inform/informC03_interpretation_of_units2.rst index 033d7fa4..1e4b6e01 100644 --- a/reference/inform/informC03_interpretation_of_units2.rst +++ b/reference/inform/informC03_interpretation_of_units2.rst @@ -8,4 +8,55 @@ .. container:: infospec - **TODO** \ No newline at end of file + The terms "irreducible units" and "unit reduction" really need to be + understood together, but before either make sense we need to explain + the concept of "base units". In the physical world there are seven + base units defined in the SI (Système International d'Unités) + system. These are: + + +--------+------------+---------------------------+ + | Symbol | Name | Base quantity | + +--------+------------+---------------------------+ + | s | second | time | + | m | metre | length | + | kg | kilogram | mass | + | A | ampere | electric current | + | K | kelvin | thermodynamic temperature | + | mol | mole | amount of substance | + | cd | candela | luminous intensity | + +--------+------------+---------------------------+ + + Some of the units listed in the + :ref:`Built-in Units` are these base units, but others + are combinations of them included for convenience. Only those rows in the + table which have no entries in the "Unit reduction" column are + "irreducible" or base units. + + In the CellML2.0 world you are able to also define your own base units. + These are :code:`units` items which you create which do not reference + any child :code:`unit` items, so are therefore "irreducible". For example: + + .. code-block:: xml + + + + + + + + + + + + + + + + + The terms "irreducible units" and "unit reduction" are used when discussing + situations where the units of two variables must be equivalent. It makes + no sense to equate a variable with units of seconds to another with units of + kilograms, for example. The same is true for more complicated versions of + units, as outlined in the next section. + diff --git a/reference/inform/informC03_interpretation_of_units3.rst b/reference/inform/informC03_interpretation_of_units3.rst index 3eb828bf..398b1bad 100644 --- a/reference/inform/informC03_interpretation_of_units3.rst +++ b/reference/inform/informC03_interpretation_of_units3.rst @@ -8,4 +8,4 @@ .. container:: infospec - **TODO** \ No newline at end of file + \ No newline at end of file From bd1a2f5f69e66172b6d8b373ad6bcd82dd47484c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 10:46:18 +1300 Subject: [PATCH 047/604] Update informC03_interpretation_of_units2.rst --- reference/inform/informC03_interpretation_of_units2.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reference/inform/informC03_interpretation_of_units2.rst b/reference/inform/informC03_interpretation_of_units2.rst index 1e4b6e01..74cd0b2b 100644 --- a/reference/inform/informC03_interpretation_of_units2.rst +++ b/reference/inform/informC03_interpretation_of_units2.rst @@ -18,11 +18,17 @@ | Symbol | Name | Base quantity | +--------+------------+---------------------------+ | s | second | time | + +--------+------------+---------------------------+ | m | metre | length | + +--------+------------+---------------------------+ | kg | kilogram | mass | + +--------+------------+---------------------------+ | A | ampere | electric current | + +--------+------------+---------------------------+ | K | kelvin | thermodynamic temperature | + +--------+------------+---------------------------+ | mol | mole | amount of substance | + +--------+------------+---------------------------+ | cd | candela | luminous intensity | +--------+------------+---------------------------+ From f168ea44f8cc8dcfd47610e46ffbd52019ca21c5 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 11:02:06 +1300 Subject: [PATCH 048/604] Update informC03_interpretation_of_units3.rst --- .../informC03_interpretation_of_units3.rst | 47 ++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/reference/inform/informC03_interpretation_of_units3.rst b/reference/inform/informC03_interpretation_of_units3.rst index 398b1bad..b128258c 100644 --- a/reference/inform/informC03_interpretation_of_units3.rst +++ b/reference/inform/informC03_interpretation_of_units3.rst @@ -8,4 +8,49 @@ .. container:: infospec - \ No newline at end of file + As discussed in the previous "See more" block, "irreducible" or "base" + units are those fundamental quantities which cannot be expressed in + any other way. This includes user-defined base units too. + + The "unit reduction" of any :code:`units` item is simply a recipe for how + any units are constructed, from these "base unit" ingredients. + + For example, the units "metres per second" could be written :math:`m/s` or + :code:`product[ (metre)^1 , (second)^-1 ]`, or + :code:`product[ power(metre, 1) , power(second, -2) ]`. This final list of + tuples, representing the base unit and its exponent, is referred to as the + unit reduction tuples for the :code:`units` element. Some other examples + are given below. + + .. code-block:: xml + + + + + + + + + + + + + + + + \ No newline at end of file From 36ef8fcdc6e491de0510b7262dc7ebf0edb8a18b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 11:11:28 +1300 Subject: [PATCH 049/604] Update informC03_interpretation_of_units3.rst --- .../informC03_interpretation_of_units3.rst | 55 +++++++++---------- 1 file changed, 25 insertions(+), 30 deletions(-) diff --git a/reference/inform/informC03_interpretation_of_units3.rst b/reference/inform/informC03_interpretation_of_units3.rst index b128258c..f5eb7590 100644 --- a/reference/inform/informC03_interpretation_of_units3.rst +++ b/reference/inform/informC03_interpretation_of_units3.rst @@ -24,33 +24,28 @@ .. code-block:: xml - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + From c74cb5e9bb699dc4f03cb7fa2d79580963c11a50 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 11:18:23 +1300 Subject: [PATCH 050/604] updates to C03 --- .../informC03_interpretation_of_units2.rst | 2 +- ... informC03_interpretation_of_units3_3.rst} | 30 +++++++++++++++---- .../informC03_interpretation_of_units3_4.rst | 9 ++++++ 3 files changed, 35 insertions(+), 6 deletions(-) rename reference/inform/{informC03_interpretation_of_units3.rst => informC03_interpretation_of_units3_3.rst} (71%) create mode 100644 reference/inform/informC03_interpretation_of_units3_4.rst diff --git a/reference/inform/informC03_interpretation_of_units2.rst b/reference/inform/informC03_interpretation_of_units2.rst index 74cd0b2b..83968ec0 100644 --- a/reference/inform/informC03_interpretation_of_units2.rst +++ b/reference/inform/informC03_interpretation_of_units2.rst @@ -33,7 +33,7 @@ +--------+------------+---------------------------+ Some of the units listed in the - :ref:`Built-in Units` are these base units, but others + :ref:`Built-in Units` are these base units, but others are combinations of them included for convenience. Only those rows in the table which have no entries in the "Unit reduction" column are "irreducible" or base units. diff --git a/reference/inform/informC03_interpretation_of_units3.rst b/reference/inform/informC03_interpretation_of_units3_3.rst similarity index 71% rename from reference/inform/informC03_interpretation_of_units3.rst rename to reference/inform/informC03_interpretation_of_units3_3.rst index f5eb7590..f9f5b239 100644 --- a/reference/inform/informC03_interpretation_of_units3.rst +++ b/reference/inform/informC03_interpretation_of_units3_3.rst @@ -1,4 +1,4 @@ -.. _informC03_interpretation_of_units_3: +.. _informC03_interpretation_of_units_3_3: .. container:: toggle @@ -22,6 +22,8 @@ unit reduction tuples for the :code:`units` element. Some other examples are given below. + Related to C03.3.2.1: + .. code-block:: xml @@ -30,6 +32,10 @@ @@ -38,14 +44,28 @@ + Related to C03.3.2.3: + + .. code-block:: xml + + the custom base units "apple", the custom derived units + "bushell_of_apples" and the built-in convenience units of + "litre", the last being equivalent to cubic metres. + Note that: + - scaling does not affect the unit reduction tuples, and + - the custom units "bushell_of_apples" does not appear, as it is not an irreducible unit + --> + - + + + + + + diff --git a/reference/inform/informC03_interpretation_of_units3_4.rst b/reference/inform/informC03_interpretation_of_units3_4.rst new file mode 100644 index 00000000..27b9ccee --- /dev/null +++ b/reference/inform/informC03_interpretation_of_units3_4.rst @@ -0,0 +1,9 @@ +.. _informC03_interpretation_of_units_3_3: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec From e0fc1af807eba35886d3c612de7ee327a930f4c0 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 11:24:58 +1300 Subject: [PATCH 051/604] Update informC03_interpretation_of_units3_3.rst --- .../informC03_interpretation_of_units3_3.rst | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/reference/inform/informC03_interpretation_of_units3_3.rst b/reference/inform/informC03_interpretation_of_units3_3.rst index f9f5b239..02df8e26 100644 --- a/reference/inform/informC03_interpretation_of_units3_3.rst +++ b/reference/inform/informC03_interpretation_of_units3_3.rst @@ -32,31 +32,34 @@ + - Related to C03.3.2.3: + Related to C03.3.2.3 and 4: The concentration of apples per litre of cider + is expressed using the custom base units "apple", the custom derived units + "bushell_of_apples" and the built-in convenience units of "litre", the + last being equivalent to cubic metres. + Note that: + + - scaling does not affect the unit reduction tuples, + - the custom derived units :code:`bushell_of_apples` does not appear, + as it can be further reduced to :code:`apple`, + - the final exponent of the :code:`metre` base unit comes from applying + 3.3.2.4 and multiplying the exponent of the litre reduction tuple (metre, 3) + with the exponent given in the :code:`cider_concentration` tuple (litre, -1) + to give a (metre, -3) in the final unit reduction tuple set. .. code-block:: xml - + From 530dd3e2e40ebda34fd3784ac16df5017ed91990 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 11:37:15 +1300 Subject: [PATCH 052/604] C03 more work --- .../informC03_interpretation_of_units3_4.rst | 4 +++- reference/sectionC_interpretation.rst | 6 +++++- reference/specC03_interpretation_of_units.rst | 18 +++++++++++++++--- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/reference/inform/informC03_interpretation_of_units3_4.rst b/reference/inform/informC03_interpretation_of_units3_4.rst index 27b9ccee..5db29485 100644 --- a/reference/inform/informC03_interpretation_of_units3_4.rst +++ b/reference/inform/informC03_interpretation_of_units3_4.rst @@ -1,4 +1,4 @@ -.. _informC03_interpretation_of_units_3_3: +.. _informC03_interpretation_of_units_3_4: .. container:: toggle @@ -7,3 +7,5 @@ See more .. container:: infospec + + ** TODO ** diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst index d88787d3..7fe56cd0 100644 --- a/reference/sectionC_interpretation.rst +++ b/reference/sectionC_interpretation.rst @@ -248,10 +248,14 @@ Interpretation of units above, SHALL be multiplied by the exponent term of the current, referencing, :code:`unit` element. +.. marker_interpretation_of_units_3_2 + 3. Tuples which have the name element of ‘dimensionless’ SHALL be removed from the set of tuples. Note that this can result in the set of tuples being empty. +.. marker_interpretation_of_units_3_3 + 4. Where the set of tuples consists of tuples which have the same name element, those tuples SHALL be combined into a single tuple with that name element and an exponent being the sum of the @@ -259,7 +263,7 @@ Interpretation of units is zero, the tuple SHALL be removed from the set of tuples. Note that this can result in the set of tuples being empty. -.. marker_interpretation_of_units_3 +.. marker_interpretation_of_units_3_4 .. _table_prefix_values: diff --git a/reference/specC03_interpretation_of_units.rst b/reference/specC03_interpretation_of_units.rst index 6bbe42a9..a14b7bf9 100644 --- a/reference/specC03_interpretation_of_units.rst +++ b/reference/specC03_interpretation_of_units.rst @@ -26,12 +26,24 @@ .. include:: sectionC_interpretation.rst :start-after: marker_interpretation_of_units_2 - :end-before: marker_interpretation_of_units_3 + :end-before: marker_interpretation_of_units_3_2 -.. include:: inform/informC03_interpretation_of_units3.rst +.. include:: inform/informC03_interpretation_of_units_3_2.rst .. include:: sectionC_interpretation.rst - :start-after: marker_interpretation_of_units_3 + :start-after: marker_interpretation_of_units_3_2 + :end-before: marker_interpretation_of_units_3_3 + +.. include:: inform/informC03_interpretation_of_units3_3.rst + +.. include:: sectionC_interpretation.rst + :start-after: marker_interpretation_of_units_3_3 + :end-before: marker_interpretation_of_units_3_4 + +.. include:: inform/informC03_interpretation_of_units3_4.rst + +.. include:: sectionC_interpretation.rst + :start-after: marker_interpretation_of_units_3_4 :end-before: marker_interpretation_of_units_end .. include:: libcellml/libcellmlC03_interpretation_of_units.rst From e324c7eb6a73907f4ff2b9e1e91062960b98491e Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 11:40:33 +1300 Subject: [PATCH 053/604] C03 more --- .../informC03_interpretation_of_units3_2.rst | 74 +++++++++++++++++++ .../informC03_interpretation_of_units3_3.rst | 65 +--------------- 2 files changed, 75 insertions(+), 64 deletions(-) create mode 100644 reference/inform/informC03_interpretation_of_units3_2.rst diff --git a/reference/inform/informC03_interpretation_of_units3_2.rst b/reference/inform/informC03_interpretation_of_units3_2.rst new file mode 100644 index 00000000..861c1e3c --- /dev/null +++ b/reference/inform/informC03_interpretation_of_units3_2.rst @@ -0,0 +1,74 @@ +.. _informC03_interpretation_of_units_3_2: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + As discussed in the previous "See more" block, "irreducible" or "base" + units are those fundamental quantities which cannot be expressed in + any other way. This includes user-defined base units too. + + The "unit reduction" of any :code:`units` item is simply a recipe for how + any units are constructed, from these "base unit" ingredients. + + For example, the units "metres per second" could be written :math:`m/s` or + :code:`product[ (metre)^1 , (second)^-1 ]`, or + :code:`product[ power(metre, 1) , power(second, -2) ]`. This final list of + tuples, representing the base unit and its exponent, is referred to as the + unit reduction tuples for the :code:`units` element. Some other examples + are given below. + + Related to C03.3.2.1: + + .. code-block:: xml + + + + + + + + + + + Related to C03.3.2.3 and 4: The concentration of apples per litre of cider + is expressed using the custom base units "apple", the custom derived units + "bushell_of_apples" and the built-in convenience units of "litre", the + last being equivalent to cubic metres. + Note that: + + - scaling does not affect the unit reduction tuples, + - the custom derived units :code:`bushell_of_apples` does not appear, + as it can be further reduced to :code:`apple`, + - the final exponent of the :code:`metre` base unit comes from applying + 3.3.2.4 and multiplying the exponent of the litre reduction tuple (metre, 3) + with the exponent given in the :code:`cider_concentration` tuple (litre, -1) + to give a (metre, -3) in the final unit reduction tuple set. + + .. code-block:: xml + + + + + + + + + + + + + + diff --git a/reference/inform/informC03_interpretation_of_units3_3.rst b/reference/inform/informC03_interpretation_of_units3_3.rst index 02df8e26..8abb799d 100644 --- a/reference/inform/informC03_interpretation_of_units3_3.rst +++ b/reference/inform/informC03_interpretation_of_units3_3.rst @@ -8,67 +8,4 @@ .. container:: infospec - As discussed in the previous "See more" block, "irreducible" or "base" - units are those fundamental quantities which cannot be expressed in - any other way. This includes user-defined base units too. - - The "unit reduction" of any :code:`units` item is simply a recipe for how - any units are constructed, from these "base unit" ingredients. - - For example, the units "metres per second" could be written :math:`m/s` or - :code:`product[ (metre)^1 , (second)^-1 ]`, or - :code:`product[ power(metre, 1) , power(second, -2) ]`. This final list of - tuples, representing the base unit and its exponent, is referred to as the - unit reduction tuples for the :code:`units` element. Some other examples - are given below. - - Related to C03.3.2.1: - - .. code-block:: xml - - - - - - - - - - - Related to C03.3.2.3 and 4: The concentration of apples per litre of cider - is expressed using the custom base units "apple", the custom derived units - "bushell_of_apples" and the built-in convenience units of "litre", the - last being equivalent to cubic metres. - Note that: - - - scaling does not affect the unit reduction tuples, - - the custom derived units :code:`bushell_of_apples` does not appear, - as it can be further reduced to :code:`apple`, - - the final exponent of the :code:`metre` base unit comes from applying - 3.3.2.4 and multiplying the exponent of the litre reduction tuple (metre, 3) - with the exponent given in the :code:`cider_concentration` tuple (litre, -1) - to give a (metre, -3) in the final unit reduction tuple set. - - .. code-block:: xml - - - - - - - - - - - - - - + ** TODO ** From 335cdb16e3941688ba685fc91ae01df320f2562b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 12:33:03 +1300 Subject: [PATCH 054/604] Update specC03_interpretation_of_units.rst --- reference/specC03_interpretation_of_units.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/specC03_interpretation_of_units.rst b/reference/specC03_interpretation_of_units.rst index a14b7bf9..5a6994bd 100644 --- a/reference/specC03_interpretation_of_units.rst +++ b/reference/specC03_interpretation_of_units.rst @@ -28,7 +28,7 @@ :start-after: marker_interpretation_of_units_2 :end-before: marker_interpretation_of_units_3_2 -.. include:: inform/informC03_interpretation_of_units_3_2.rst +.. include:: inform/informC03_interpretation_of_units3_2.rst .. include:: sectionC_interpretation.rst :start-after: marker_interpretation_of_units_3_2 From 098e5c318d237daea37fd459dd38e0d1c8884efc Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 12:48:22 +1300 Subject: [PATCH 055/604] Update informC03_interpretation_of_units3_3.rst --- .../informC03_interpretation_of_units3_3.rst | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/reference/inform/informC03_interpretation_of_units3_3.rst b/reference/inform/informC03_interpretation_of_units3_3.rst index 8abb799d..abf4f7c4 100644 --- a/reference/inform/informC03_interpretation_of_units3_3.rst +++ b/reference/inform/informC03_interpretation_of_units3_3.rst @@ -8,4 +8,37 @@ .. container:: infospec - ** TODO ** + You may have noticed in the :ref:`Built-in Units` + that there are three rows which are effectively dimensionless. These are: + + - the :code:`dimensionless` units themselves, + - the :code:`radian` units, and + - the :code:`steradian` units. + + These are provided for convenience, and don't take part in determining the + unit reduction for any :code:`units` items. This, together with the next + point, means that the unit reduction tuples represent the + *minimum possible* description of a :code:`units` item. For example, all + of these :code:`units` items have the same unit reduction of + :code:`(metre, 1)`: + + .. code-block:: xml + + + + + + + + + + + + + + + + + + From b55793645f0aa6a36cc76975706464a85369b40a Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 13:22:25 +1300 Subject: [PATCH 056/604] Update informC03_interpretation_of_units3_4.rst --- .../informC03_interpretation_of_units3_4.rst | 57 ++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/reference/inform/informC03_interpretation_of_units3_4.rst b/reference/inform/informC03_interpretation_of_units3_4.rst index 5db29485..fa24e55d 100644 --- a/reference/inform/informC03_interpretation_of_units3_4.rst +++ b/reference/inform/informC03_interpretation_of_units3_4.rst @@ -8,4 +8,59 @@ .. container:: infospec - ** TODO ** + As outlined in the previous "See more" block, the built-in base units + :code:`dimensionless` do not contribute to the unit reduction tuple set. + This holds for built-in units which inherit it (like :code:`radian` and + :code:`steradian`) but also for situations in which base units' exponents + could be simplified or cancelled. + For example, all three of the :code:`units` items below have identical + unit reduction tuples of :code:`(metre, 1), (second, -1)`: + + .. code-block:: xml + + + + + + + Here the "metre" exponents of 3 and -4 reduce to 1: + + .. code-block:: xml + + + + + + + + Finally a complicated one with the same outcome. Note that even though + there are some irreducible units used, they end up with an exponent of 0 + in the tuple, and are therefore removed from the final unit reduction. + Note that a Volt is equivalent to :math:`m^2.kg.s^{-3}.A^{-1}` + + .. code-block:: xml + + + + + + + + + + + + + + + + + + + + + + + + + From faa9e56b9a0ff2d1878f2de13c823655190903c5 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 13:25:50 +1300 Subject: [PATCH 057/604] Update informC03_interpretation_of_units3_3.rst --- .../informC03_interpretation_of_units3_3.rst | 26 +++++-------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/reference/inform/informC03_interpretation_of_units3_3.rst b/reference/inform/informC03_interpretation_of_units3_3.rst index abf4f7c4..3675a007 100644 --- a/reference/inform/informC03_interpretation_of_units3_3.rst +++ b/reference/inform/informC03_interpretation_of_units3_3.rst @@ -9,18 +9,13 @@ .. container:: infospec You may have noticed in the :ref:`Built-in Units` - that there are three rows which are effectively dimensionless. These are: - - - the :code:`dimensionless` units themselves, - - the :code:`radian` units, and - - the :code:`steradian` units. - - These are provided for convenience, and don't take part in determining the - unit reduction for any :code:`units` items. This, together with the next - point, means that the unit reduction tuples represent the - *minimum possible* description of a :code:`units` item. For example, all - of these :code:`units` items have the same unit reduction of - :code:`(metre, 1)`: + that there is an entry labelled :code:`dimensionless`. + + This is provided for convenience, and doesn't take part in determining the + unit reduction for any :code:`units` items. Together with the next + point, this means that the all unit reduction tuples represent the + *minimum possible* description of a :code:`units` item. For example, this + :code:`units` item has the unit reduction of :code:`(metre, 1)`: .. code-block:: xml @@ -30,13 +25,6 @@ - - - - - - From a78e8c56413e041841b45f558953b7d474de465f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 13:28:00 +1300 Subject: [PATCH 058/604] Update informC03_interpretation_of_units3_4.rst --- .../informC03_interpretation_of_units3_4.rst | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/reference/inform/informC03_interpretation_of_units3_4.rst b/reference/inform/informC03_interpretation_of_units3_4.rst index fa24e55d..dfc5ec51 100644 --- a/reference/inform/informC03_interpretation_of_units3_4.rst +++ b/reference/inform/informC03_interpretation_of_units3_4.rst @@ -10,9 +10,9 @@ As outlined in the previous "See more" block, the built-in base units :code:`dimensionless` do not contribute to the unit reduction tuple set. - This holds for built-in units which inherit it (like :code:`radian` and - :code:`steradian`) but also for situations in which base units' exponents - could be simplified or cancelled. + This holds for built-in units which are effectively dimensionless (like + :code:`radian` and :code:`steradian`) but also for situations in which + base units' exponents could be simplified or cancelled. For example, all three of the :code:`units` items below have identical unit reduction tuples of :code:`(metre, 1), (second, -1)`: @@ -33,13 +33,25 @@ + Here the "steradian" inclusion has no effect on the final unit reduction as its + own units cancel out: + + .. code-block:: xml + + + + + + + + Finally a complicated one with the same outcome. Note that even though there are some irreducible units used, they end up with an exponent of 0 in the tuple, and are therefore removed from the final unit reduction. Note that a Volt is equivalent to :math:`m^2.kg.s^{-3}.A^{-1}` .. code-block:: xml - + From 76fb26bdddec3a99d61485a5a8e7822a51e25a3c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 13:30:59 +1300 Subject: [PATCH 059/604] Update informC03_interpretation_of_units3_4.rst --- reference/inform/informC03_interpretation_of_units3_4.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/inform/informC03_interpretation_of_units3_4.rst b/reference/inform/informC03_interpretation_of_units3_4.rst index dfc5ec51..68cf694e 100644 --- a/reference/inform/informC03_interpretation_of_units3_4.rst +++ b/reference/inform/informC03_interpretation_of_units3_4.rst @@ -13,7 +13,7 @@ This holds for built-in units which are effectively dimensionless (like :code:`radian` and :code:`steradian`) but also for situations in which base units' exponents could be simplified or cancelled. - For example, all three of the :code:`units` items below have identical + For example, all of the :code:`units` items below have identical unit reduction tuples of :code:`(metre, 1), (second, -1)`: .. code-block:: xml From de61f432f91c925c2421f3b02c53d0e0c282a2b2 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 14:26:44 +1300 Subject: [PATCH 060/604] Updated C01 imports and C04 component reference --- reference/sectionC_interpretation.rst | 37 +++++++++++++++++++-------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst index 7fe56cd0..10da29d1 100644 --- a/reference/sectionC_interpretation.rst +++ b/reference/sectionC_interpretation.rst @@ -14,8 +14,16 @@ Interpretation of imports #. Each :code:`import` element present in a :ref:`CellML infoset` (the importing - infoset) SHALL define a new and separate instance of the CellML - infoset referenced by the :code:`href` attribute (the imported infoset). + infoset) SHALL define a new and distinct instance of the CellML + infoset which is referenced by the :code:`href` attribute (the imported + infoset). This imported infoset instance SHALL define the context in which + the child of an import element (a units or component element) exists and is + interpreted. + +#. The importing of an element SHALL be considered recursively such that items + referenced or imported by the :code:`import` element child are themselves + included. + See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. @@ -29,12 +37,12 @@ Units reference --------------- #. A units reference SHALL be a CellML identifier and SHALL be - interpreted dependent on the context of the :ref:`CellML model` in which it - occurs, according to the units referencing rules defined later in - this section. + interpreted dependent on the context of the + :ref:`CellML model` in which it occurs, according to the + units referencing rules defined later in this section. -#. A :ref:`CellML infoset` MUST NOT contain a units reference for which no - referencing rule can be held to have been followed. +#. A :ref:`CellML infoset` MUST NOT contain a units + reference for which no referencing rule can be held to have been followed. #. The units referencing rules are: @@ -42,7 +50,8 @@ Units reference identical to the units reference, then the units reference SHALL refer to that :code:`units` element. - #. Where there is an :code:`import units` element in the :ref:`CellML infoset`, + #. Where there is an :code:`import units` element in the + :ref:`CellML infoset`, such that the :code:`import units` element has a :code:`name` attribute identical to the units reference, then the units reference SHALL be treated with respect to referencing rules as if the units @@ -322,8 +331,16 @@ Component reference model, and referred to element with the :code:`name` specified in the :code:`component_ref` attribute of the :code:`import component` element. -#. It is noted, for the avoidance of doubt, that CellML models MAY apply - the previous rule recursively, to reference an :code:`import component` +#. It is noted, for the avoidance of doubt, that importing a CellML + :code:`component` element SHALL additionally and recursively import: + + #. Any and all encapsulated :code:`component` children of the imported + :code:`component`, and + #. Any and all :code:`units` elements referenced by the imported + :code:`component` or its children. + +#. It is further noted, for the avoidance of doubt, that CellML models MAY apply + the previous rules recursively, to reference an :code:`import component` element which in turn references another :code:`import component` element. From 9f690057c653673c3faacb03594041d5f74ff474 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 14:47:29 +1300 Subject: [PATCH 061/604] Rewording units reference section --- reference/sectionC_interpretation.rst | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst index 10da29d1..3309414b 100644 --- a/reference/sectionC_interpretation.rst +++ b/reference/sectionC_interpretation.rst @@ -38,17 +38,13 @@ Units reference #. A units reference SHALL be a CellML identifier and SHALL be interpreted dependent on the context of the - :ref:`CellML model` in which it occurs, according to the - units referencing rules defined later in this section. - -#. A :ref:`CellML infoset` MUST NOT contain a units - reference for which no referencing rule can be held to have been followed. + :ref:`CellML model` in which it occurs. #. The units referencing rules are: #. Where there is a :code:`units` element with a :code:`name` attribute - identical to the units reference, then the units reference SHALL - refer to that :code:`units` element. + identical to the units reference within the same infoset, then the units + reference SHALL refer to that :code:`units` element. #. Where there is an :code:`import units` element in the :ref:`CellML infoset`, @@ -64,6 +60,14 @@ Units reference then the units reference SHALL be a reference to the built-in units corresponding to that row of the table. +#. A :ref:`CellML infoset` MUST NOT contain a units + reference for which no referencing rule can be held to have been followed. + +#. It is noted, for the avoidance of doubt, that a units reference specified + within an imported CellML infoset SHALL refer to the :code:`units` + or :code:`import units` element of the same :code:`name` within the + imported (rather than importing) infoset. + .. marker_units_reference1 .. _table_built_in_units: From 1c29ae376c42c9f99ab9659b4cdc7539b9b2bf5c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 14:59:31 +1300 Subject: [PATCH 062/604] Tweaks ... --- reference/sectionC_interpretation.rst | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst index 3309414b..602c2358 100644 --- a/reference/sectionC_interpretation.rst +++ b/reference/sectionC_interpretation.rst @@ -16,12 +16,13 @@ Interpretation of imports :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset which is referenced by the :code:`href` attribute (the imported - infoset). This imported infoset instance SHALL define the context in which - the child of an import element (a units or component element) exists and is - interpreted. + infoset). This imported infoset instance SHALL provide the context in which + the child of an import element (a :code:`units` or :code:`component` + element) is defined and interpreted. -#. The importing of an element SHALL be considered recursively such that items - referenced or imported by the :code:`import` element child are themselves +#. The import of an element SHALL be considered recursively such that items + referenced or imported by the :code:`import` element's child (a + :code:`units` or :code:`component` element) are themselves included. See :ref:`Units reference` and @@ -326,8 +327,8 @@ Component reference attribute on an :code:`import component` element. #. A component reference which is identical to the :code:`name` attribute on - a :code:`component` element SHALL be treated as a reference to that - :code:`component` element. + a :code:`component` element in the same infoset SHALL be treated as a + reference to that :code:`component` element. #. A component reference which is identical to the :code:`name` attribute on an :code:`import component` element SHALL be treated for the purposes of @@ -341,12 +342,12 @@ Component reference #. Any and all encapsulated :code:`component` children of the imported :code:`component`, and #. Any and all :code:`units` elements referenced by the imported - :code:`component` or its children. + :code:`component` or its encapsulated children. -#. It is further noted, for the avoidance of doubt, that CellML models MAY apply - the previous rules recursively, to reference an :code:`import component` - element which in turn references another :code:`import component` - element. +#. It is further noted, for the avoidance of doubt, that CellML models MAY + apply the previous rules recursively, to reference an + :code:`import component` element which in turn references another + :code:`import component` element. .. marker_component_reference_end .. marker_variable_reference_start From 355658f68f722e035b13334adcb47fa0780dae51 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 17 Mar 2020 15:21:33 +1300 Subject: [PATCH 063/604] typos in interpretation of units informative blocks --- reference/inform/informC03_interpretation_of_units1_1.rst | 4 ++++ reference/inform/informC03_interpretation_of_units1_3.rst | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/reference/inform/informC03_interpretation_of_units1_1.rst b/reference/inform/informC03_interpretation_of_units1_1.rst index 2818ba01..605de5b9 100644 --- a/reference/inform/informC03_interpretation_of_units1_1.rst +++ b/reference/inform/informC03_interpretation_of_units1_1.rst @@ -29,4 +29,8 @@ + + **Note** that these examples are *only* equivalent because the + :code:`exponent` in each case is 1. Please see the next "See more" block + for a full explanation of its role. diff --git a/reference/inform/informC03_interpretation_of_units1_3.rst b/reference/inform/informC03_interpretation_of_units1_3.rst index dd38c594..e81c1918 100644 --- a/reference/inform/informC03_interpretation_of_units1_3.rst +++ b/reference/inform/informC03_interpretation_of_units1_3.rst @@ -16,7 +16,7 @@ All three attributes can be combined in different ways to give the same effective outcome. The examples below all define a :code:`units` item - equivalent to a 300 millilitre bottle of beer. + equivalent to a 330 mL bottle of beer. .. code-block:: xml From b98fd5bce0f42520dea9c731a6125d9649513270 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 18 Mar 2020 10:19:23 +1300 Subject: [PATCH 064/604] Update sectionC_interpretation.rst --- reference/sectionC_interpretation.rst | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst index 3309414b..3bbceb86 100644 --- a/reference/sectionC_interpretation.rst +++ b/reference/sectionC_interpretation.rst @@ -22,7 +22,10 @@ Interpretation of imports #. The importing of an element SHALL be considered recursively such that items referenced or imported by the :code:`import` element child are themselves - included. + available to this :code:`import` element child. It is noted, for the + avoidance of doubt, that the importing infoset SHALL NOT have access to + such recursively imported items, and only to the explicitly specified + :code:`import` element child. See :ref:`Units reference` and :ref:`Component reference` for the specifics @@ -341,7 +344,11 @@ Component reference #. Any and all encapsulated :code:`component` children of the imported :code:`component`, and #. Any and all :code:`units` elements referenced by the imported - :code:`component` or its children. + :code:`component` or its children. Note also that :code:`units` + elements imported in this way SHALL remain within the scope of the + imported infoset; they SHALL NOT be available to the importing + infoset unless explicitly imported by a separate + :code:`import units` element. #. It is further noted, for the avoidance of doubt, that CellML models MAY apply the previous rules recursively, to reference an :code:`import component` From df02cacbf2c8c5040631056fce1ca1848fc5ddc5 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Tue, 17 Mar 2020 21:33:09 +0000 Subject: [PATCH 065/604] Converted to one sentence per line format. --- reference/index_sectionB.rst | 3 +- reference/index_sectionC.rst | 5 +- reference/inform/informA3_1.rst | 4 +- reference/inform/informA3_2.rst | 5 +- reference/inform/informA3_3.rst | 5 +- reference/inform/informA3_4.rst | 8 +- reference/inform/informA3_5.rst | 11 +- reference/inform/informB10_test_value1.rst | 29 +- reference/inform/informB11_reset_value1.rst | 29 +- reference/inform/informB12_math1.rst | 11 +- reference/inform/informB12_math2.rst | 23 +- reference/inform/informB12_math3.rst | 18 +- reference/inform/informB12_math4.rst | 33 +- reference/inform/informB13_encapsulation1.rst | 14 +- reference/inform/informB14_component_ref1.rst | 3 +- reference/inform/informB15_connection2.rst | 23 +- reference/inform/informB15_connection3.rst | 9 +- reference/inform/informB15_connection4.rst | 13 +- reference/inform/informB15_connection5.rst | 9 +- reference/inform/informB16_map_variables2.rst | 5 +- reference/inform/informB16_map_variables3.rst | 6 +- reference/inform/informB1_model1.rst | 4 +- reference/inform/informB1_model3.rst | 12 +- reference/inform/informB2_import1.rst | 22 +- reference/inform/informB2_import2.rst | 18 +- reference/inform/informB2_import3.rst | 14 +- reference/inform/informB3_import_units1.rst | 41 +- .../inform/informB4_import_component1.rst | 54 +-- reference/inform/informB5_units1.rst | 6 +- reference/inform/informB6_unit1.rst | 7 +- reference/inform/informB6_unit2.rst | 21 +- reference/inform/informB7_component1.rst | 20 +- reference/inform/informB7_component2.rst | 6 +- reference/inform/informB7_component3.rst | 23 +- reference/inform/informB8_variable1.rst | 31 +- reference/inform/informC01_imports.rst | 9 +- .../informC03_interpretation_of_units1_1.rst | 14 +- .../informC03_interpretation_of_units1_3.rst | 29 +- .../informC03_interpretation_of_units1_4.rst | 24 +- .../informC03_interpretation_of_units2.rst | 33 +- .../informC03_interpretation_of_units3_2.rst | 34 +- .../informC03_interpretation_of_units3_3.rst | 16 +- .../informC03_interpretation_of_units3_4.rst | 18 +- reference/libcellml/libcellmlB2.rst | 6 +- reference/libcellml/libcellmlB3.rst | 19 +- reference/libcellml/libcellmlB5.rst | 3 +- reference/libcellml/libcellmlB6.rst | 3 +- reference/sectionA_definitions.rst | 210 ++++----- reference/sectionB_elements.rst | 82 +--- reference/sectionC_interpretation.rst | 411 +++++------------- reference/sectionD_references.rst | 22 +- 51 files changed, 468 insertions(+), 1010 deletions(-) diff --git a/reference/index_sectionB.rst b/reference/index_sectionB.rst index 53849454..6af288f1 100644 --- a/reference/index_sectionB.rst +++ b/reference/index_sectionB.rst @@ -4,8 +4,7 @@ Section B: Element information items ==================================== -Section B of the Normative CellML2.0 Specification outlines the element information -items and the rules governing their declaration. +Section B of the Normative CellML2.0 Specification outlines the element information items and the rules governing their declaration. .. toctree:: :maxdepth: 1 diff --git a/reference/index_sectionC.rst b/reference/index_sectionC.rst index 15e348d6..e93cbf41 100644 --- a/reference/index_sectionC.rst +++ b/reference/index_sectionC.rst @@ -1,11 +1,10 @@ .. _sectionC_index: ============================================= -Section C: Interpretation +Section C: Interpretation ============================================= -Section C of the Normative CellML2.0 Specification describes the way in which -the elements defined in Section B are to be interpreted. +Section C of the Normative CellML2.0 Specification describes the way in which the elements defined in Section B are to be interpreted. .. toctree:: :maxdepth: 1 diff --git a/reference/inform/informA3_1.rst b/reference/inform/informA3_1.rst index 6c34c2d5..c4f296ab 100644 --- a/reference/inform/informA3_1.rst +++ b/reference/inform/informA3_1.rst @@ -8,8 +8,8 @@ .. container:: infospec - Names and identifiers need to be a single word, and without any special - characters other than an underscore. For example, these are allowed: + Names and identifiers need to be a single word, and without any special characters other than an underscore. + For example, these are allowed: - :code:`myName` - :code:`my_name` diff --git a/reference/inform/informA3_2.rst b/reference/inform/informA3_2.rst index 36ee3b8e..55801226 100644 --- a/reference/inform/informA3_2.rst +++ b/reference/inform/informA3_2.rst @@ -8,6 +8,5 @@ .. container:: infospec - A non-negative integer string is just a string which represents a - non-negative integer, containing *only* digits between 0 and 9. It must - not contain either the plus :code:`+` or minus :code:`-` signs. + A non-negative integer string is just a string which represents a non-negative integer, containing *only* digits between 0 and 9. + It must not contain either the plus :code:`+` or minus :code:`-` signs. diff --git a/reference/inform/informA3_3.rst b/reference/inform/informA3_3.rst index e39df90c..eb182798 100644 --- a/reference/inform/informA3_3.rst +++ b/reference/inform/informA3_3.rst @@ -8,6 +8,5 @@ .. container:: infospec - An integer string is simply a string containing only the numerical characters - between 0 and 9. If it's a negative then it should begin with the minus - sign, :code:`-`, but it *must not* begin with the plus sign, :code:`+`. + An integer string is simply a string containing only the numerical characters between 0 and 9. + If it's a negative then it should begin with the minus sign, :code:`-`, but it *must not* begin with the plus sign, :code:`+`. diff --git a/reference/inform/informA3_4.rst b/reference/inform/informA3_4.rst index 740a292c..9ffc6fa0 100644 --- a/reference/inform/informA3_4.rst +++ b/reference/inform/informA3_4.rst @@ -9,10 +9,7 @@ .. container:: infospec - Note that the *basic real number string* is distinct from the - :ref:`real number string` - in that it does not include real numbers in scientific notation (also called scientific - form, standard index form, or standard form). + Note that the *basic real number string* is distinct from the :ref:`real number string` in that it does not include real numbers in scientific notation (also called scientific form, standard index form, or standard form). For example: @@ -21,7 +18,6 @@ - :code:`"+123.4567"` is not valid (must not contain the plus sign :code:`+`), - :code:`"1234567"` is valid (it's ok to not use a decimal point :code:`.`), - :code:`"123,4567"` is not valid (the decimal signifier must be a full-stop symbol :code:`.`), - - :code:`"123,456.7"` is not valid (you may not use a comma :code:`,` or a space :code:` ` - as a thousands separator), + - :code:`"123,456.7"` is not valid (you may not use a comma :code:`,` or a space :code:` ` as a thousands separator), - :code:`"12.34.56"` is not valid (maximum of one decimal point :code:`.` is permitted), and - :code:`"0x123abc"` is not valid (base 10 numbers only). diff --git a/reference/inform/informA3_5.rst b/reference/inform/informA3_5.rst index a53b274a..873787e2 100644 --- a/reference/inform/informA3_5.rst +++ b/reference/inform/informA3_5.rst @@ -10,13 +10,9 @@ .. container:: infospec - Note that the *real number string* is distinct from the - :ref:`basic real number string` in that it - includes numbers in scientific notation (also called scientific form, standard - index form, or standard form). + Note that the *real number string* is distinct from the :ref:`basic real number string` in that it includes numbers in scientific notation (also called scientific form, standard index form, or standard form). - Where it does not contain an exponent term, the number is interpreted as if it was - a basic real number string: the exponent term is effectively zero. + Where it does not contain an exponent term, the number is interpreted as if it was a basic real number string: the exponent term is effectively zero. For example: @@ -26,8 +22,7 @@ - :code:`"1.234E+3.0"` is not valid (the exponent must be an integer), - :code:`"1.234e3"` is valid (either case of `E` or `e` is permitted), - :code:`"123,45E03"` is not valid (the decimal signifier must be a full-stop symbol :code:`.`), - - :code:`"123.45"` is valid, and is treated as if it were a basic real number string: the exponent term - is effectivly zero, + - :code:`"123.45"` is valid, and is treated as if it were a basic real number string: the exponent term is effectivly zero, - :code:`"123.45E"` is not valid (if the exponent is present it may not be blank), and - :code:`"123,456.7e89"` is not valid (you may not use a thousands separator), - :code:`"0x123abc"` is not valid (base 10 numbers only) diff --git a/reference/inform/informB10_test_value1.rst b/reference/inform/informB10_test_value1.rst index 742a1e3d..cbfba42a 100644 --- a/reference/inform/informB10_test_value1.rst +++ b/reference/inform/informB10_test_value1.rst @@ -9,12 +9,9 @@ .. container:: infospec - The :code:`test_value` (like the :code:`reset_value`) block takes a slightly different - kind of MathML statement to those in the :code:`component` elements. Because the - the left hand side of the equation has already been effectively defined by specifying - the :code:`test_variable`, the :code:`math` child of a :code:`test_value` needs only - to specify the right hand side. This means that the normal opening block of - :code:`left_hand_side_variable ... ` is omitted: + The :code:`test_value` (like the :code:`reset_value`) block takes a slightly different kind of MathML statement to those in the :code:`component` elements. + Because the the left hand side of the equation has already been effectively defined by specifying the :code:`test_variable`, the :code:`math` child of a :code:`test_value` needs only to specify the right hand side. + This means that the normal opening block of :code:`left_hand_side_variable ... ` is omitted: .. code-block:: xml @@ -39,16 +36,10 @@ - - In the above example, the position of a ball above a 1 metre high table is maintained, - as every time it appears to drop below the table-level datum of :code:`position=1.0` - it is reset to a "bounced" value greater than 1.0 instead. - - For the :code:`reset` to be useful, the equations it contains need to make sense. Be - sure to check that the units that you're using within the :code:`test_value` block - match those of the :code:`test_variable` against which it will be compared. In this - example the :code:`reset_value` (the new position of the ball over the table) must be - in metres to match the :code:`variable`\'s units, as with the :code:`test_value` which - must match the units of the :code:`test_variable`. A mismatch of units here doesn't - mean you have an invalid CellML2.0 model, but it does mean that it may not behave in - the way you are expecting! + + In the above example, the position of a ball above a 1 metre high table is maintained, as every time it appears to drop below the table-level datum of :code:`position=1.0` it is reset to a "bounced" value greater than 1.0 instead. + + For the :code:`reset` to be useful, the equations it contains need to make sense. + Be sure to check that the units that you're using within the :code:`test_value` block match those of the :code:`test_variable` against which it will be compared. + In this example the :code:`reset_value` (the new position of the ball over the table) must be in metres to match the :code:`variable`\'s units, as with the :code:`test_value` which must match the units of the :code:`test_variable`. + A mismatch of units here doesn't mean you have an invalid CellML2.0 model, but it does mean that it may not behave in the way you are expecting! diff --git a/reference/inform/informB11_reset_value1.rst b/reference/inform/informB11_reset_value1.rst index db777f19..90dd1a4d 100644 --- a/reference/inform/informB11_reset_value1.rst +++ b/reference/inform/informB11_reset_value1.rst @@ -9,12 +9,9 @@ .. container:: infospec - The :code:`test_value` (like the :code:`reset_value`) block takes a slightly different - kind of MathML statement to those in the :code:`component` elements. Because the - the left hand side of the equation has already been effectively defined by specifying - the :code:`test_variable`, the :code:`math` child of a :code:`test_value` needs only - to specify the right hand side. This means that the normal opening block of - :code:`left_hand_side_variable ... ` is omitted: + The :code:`test_value` (like the :code:`reset_value`) block takes a slightly different kind of MathML statement to those in the :code:`component` elements. + Because the the left hand side of the equation has already been effectively defined by specifying the :code:`test_variable`, the :code:`math` child of a :code:`test_value` needs only to specify the right hand side. + This means that the normal opening block of :code:`left_hand_side_variable ... ` is omitted: .. code-block:: xml @@ -39,16 +36,10 @@ - - In the above example, the position of a ball above a 1 metre high table is maintained, - as every time it appears to drop below the table-level datum of :code:`position=1.0` - it is reset to a "bounced" value greater than 1.0 instead. - - For the :code:`reset` to be useful, the equations it contains need to make sense. Be - sure to check that the units that you're using within the :code:`test_value` block - match those of the :code:`test_variable` against which it will be compared. In this - example the :code:`reset_value` (the new position of the ball over the table) must be - in metres to match the :code:`variable`\'s units, as with the :code:`test_value` which - must match the units of the :code:`test_variable`. A mismatch of units here doesn't - mean you have an invalid CellML2.0 model, but it does mean that it may not behave in - the way you are expecting! + + In the above example, the position of a ball above a 1 metre high table is maintained, as every time it appears to drop below the table-level datum of :code:`position=1.0` it is reset to a "bounced" value greater than 1.0 instead. + + For the :code:`reset` to be useful, the equations it contains need to make sense. + Be sure to check that the units that you're using within the :code:`test_value` block match those of the :code:`test_variable` against which it will be compared. + In this example the :code:`reset_value` (the new position of the ball over the table) must be in metres to match the :code:`variable`\'s units, as with the :code:`test_value` which must match the units of the :code:`test_variable`. + A mismatch of units here doesn't mean you have an invalid CellML2.0 model, but it does mean that it may not behave in the way you are expecting! diff --git a/reference/inform/informB12_math1.rst b/reference/inform/informB12_math1.rst index ef2ce0a6..10a68e8d 100644 --- a/reference/inform/informB12_math1.rst +++ b/reference/inform/informB12_math1.rst @@ -8,13 +8,8 @@ .. container:: infospec - Because MathML is an entire language in its own right, we just don't have - the scope to go through its general aspects. Some great general resources are - available on the :mathml2help:`MathML 2.0 site <>`, and we'll discuss below - the more CellML specific restrictions in the other "See more" sections. - - **Please note** that MathML2 content markup is the only syntax used in - CellML, even though more recent versions (MathML3 and MathML4) are - available. + Because MathML is an entire language in its own right, we just don't have the scope to go through its general aspects. + Some great general resources are available on the :mathml2help:`MathML 2.0 site <>`, and we'll discuss below the more CellML specific restrictions in the other "See more" sections. + **Please note** that MathML2 content markup is the only syntax used in CellML, even though more recent versions (MathML3 and MathML4) are available. diff --git a/reference/inform/informB12_math2.rst b/reference/inform/informB12_math2.rst index 6c48a7d0..a3ce3d3b 100644 --- a/reference/inform/informB12_math2.rst +++ b/reference/inform/informB12_math2.rst @@ -8,18 +8,15 @@ .. container:: infospec - Probably the biggest aspect of CellML's restrictions of MathML is that it is - confined to using **only MathML2** content markup. No form of presentation - markup is permitted, and only the version MathML2 is allowed (ie: not MathML3 - or greater). + Probably the biggest aspect of CellML's restrictions of MathML is that it is confined to using **only MathML2** content markup. + No form of presentation markup is permitted, and only the version MathML2 is allowed (ie: not MathML3 or greater). .. container:: heading3 The basics - The types of block can be divided into two broad categories: operation - items and information items. For example, the calculation of Einstein's - :math:`E=mc^2` could be represented by: + The types of block can be divided into two broad categories: operation items and information items. + For example, the calculation of Einstein's :math:`E=mc^2` could be represented by: .. code-block:: xml @@ -45,7 +42,7 @@ - E + E @@ -62,13 +59,3 @@ - - - - - - - - - - diff --git a/reference/inform/informB12_math3.rst b/reference/inform/informB12_math3.rst index 820bc8c3..1b256039 100644 --- a/reference/inform/informB12_math3.rst +++ b/reference/inform/informB12_math3.rst @@ -8,8 +8,7 @@ .. container:: infospec - Consider the same :math:`E=mc^2` formula as earlier, but now the - value of mass :code:`m` is calculated in another component: + Consider the same :math:`E=mc^2` formula as earlier, but now the value of mass :code:`m` is calculated in another component: .. code-block:: xml @@ -34,16 +33,10 @@ - - This situation is not valid, as the :code:`math` block in component - :code:`mass_into_energy` doesn't have access to the variable :code:`m` - in the component :code:`calculate_mass`. To get around this, you would - need to create a new local variable within the :code:`mass_into_energy` - component, and use a :code:`connection` element to link it to variable - :code:`m` in the other component. The valid form of the model is shown - below, and you can read more about :code:`connections` in - :ref:`The connection element`, and the :code:`interface_type` - attribute in :ref:`The variable element`. + + This situation is not valid, as the :code:`math` block in component :code:`mass_into_energy` doesn't have access to the variable :code:`m` in the component :code:`calculate_mass`. + To get around this, you would need to create a new local variable within the :code:`mass_into_energy` component, and use a :code:`connection` element to link it to variable :code:`m` in the other component. + The valid form of the model is shown below, and you can read more about :code:`connections` in :ref:`The connection element`, and the :code:`interface_type` attribute in :ref:`The variable element`. .. code-block:: xml @@ -74,4 +67,3 @@ - diff --git a/reference/inform/informB12_math4.rst b/reference/inform/informB12_math4.rst index 575efa1b..28e8d8a5 100644 --- a/reference/inform/informB12_math4.rst +++ b/reference/inform/informB12_math4.rst @@ -12,9 +12,7 @@ Constants using the ```` tags - When specifying a constant with :code:``, its - :ref:`real number value` is given between the tags, - and its units are specified as an attribute. + When specifying a constant with :code:``, its :ref:`real number value` is given between the tags, and its units are specified as an attribute. .. code-block:: xml @@ -24,9 +22,7 @@ 3.14159e+03 - Please note that the units name specified must refer to - a :code:`units` element that exists in the :code:`model` element, - or be one from the :ref:`Built-in Units` table. + Please note that the units name specified must refer to a :code:`units` element that exists in the :code:`model` element, or be one from the :ref:`Built-in Units` table. .. code-block:: xml @@ -45,11 +41,9 @@ Dimensional consistency (or, how to write nonsense maths) - For a model to have a valid CellML syntax, it needs to follow the MathML - rules outlined above. But it's still possible to create nonsense (should - you so desire ... ), and one great way to create nonsense is to have MathML - statements which have inconsistent units. Consider again Einstein's - equation :math:`E=mc^2`. Now imagine that encode it into CellML like this: + For a model to have a valid CellML syntax, it needs to follow the MathML rules outlined above. + But it's still possible to create nonsense (should you so desire ... ), and one great way to create nonsense is to have MathML statements which have inconsistent units. + Consider again Einstein's equation :math:`E=mc^2`. Now imagine that encode it into CellML like this: .. code-block:: xml @@ -72,17 +66,8 @@ - Believe it or not, this is valid! It's clearly nonsense, but it doesn't - actually violate any syntax rules. The only instance where you will create - an invalid model by assigning :code:`units` to :code:`variables` is when - you need to form a :code:`map_variables` pair with a :code:`variable` in - another :code:`component`. In this case, each :code:`variable` must have - an equivalent unit reduction (see :ref:`Section C.5.3`) or it - won't be valid CellML. - - - - - - + Believe it or not, this is valid! + It's clearly nonsense, but it doesn't actually violate any syntax rules. + The only instance where you will create an invalid model by assigning :code:`units` to :code:`variables` is when you need to form a :code:`map_variables` pair with a :code:`variable` in another :code:`component`. + In this case, each :code:`variable` must have an equivalent unit reduction (see :ref:`Section C.5.3`) or it won't be valid CellML. diff --git a/reference/inform/informB13_encapsulation1.rst b/reference/inform/informB13_encapsulation1.rst index c73b91d8..a6ca2a39 100644 --- a/reference/inform/informB13_encapsulation1.rst +++ b/reference/inform/informB13_encapsulation1.rst @@ -9,14 +9,11 @@ .. container:: infospec - Encapsulation is the way that CellML manages the hierarchy of components - and keeps their modularity. This is why there can be only one :code:`encapsulation` - element within a :code:`model`: you can think of it as a table of contents for - components in the whole model. + Encapsulation is the way that CellML manages the hierarchy of components and keeps their modularity. + This is why there can be only one :code:`encapsulation` element within a :code:`model`: you can think of it as a table of contents for components in the whole model. - Encapsulations don't have to include all of the model's components - only the ones - which need to sit within another component. Components which are not listed within - the encapsulation are top-level children of the :code:`model`. + Encapsulations don't have to include all of the model's components - only the ones which need to sit within another component. + Components which are not listed within the encapsulation are top-level children of the :code:`model`. .. code-block:: xml @@ -95,6 +92,3 @@
- - - diff --git a/reference/inform/informB14_component_ref1.rst b/reference/inform/informB14_component_ref1.rst index cf665ea8..2b75a001 100644 --- a/reference/inform/informB14_component_ref1.rst +++ b/reference/inform/informB14_component_ref1.rst @@ -9,6 +9,5 @@ .. container:: infospec - There are notes about the :code:`component_ref` usage under the informal - link on the :ref:`encapsulation element` page. + There are notes about the :code:`component_ref` usage under the informal link on the :ref:`encapsulation element` page. diff --git a/reference/inform/informB15_connection2.rst b/reference/inform/informB15_connection2.rst index 829f4cb2..50803525 100644 --- a/reference/inform/informB15_connection2.rst +++ b/reference/inform/informB15_connection2.rst @@ -8,19 +8,14 @@ .. container:: infospec - Creating :code:`connection` items allows :code:`variable` values to be - passed between eligible :code:`components`. There are both syntactic (ie: - format) and semantic (ie: meaning) rules about how these must be specified, - including what "eligible" means. Syntax will be discussed below and in the - other "See more" blocks on this page. For more on the semantic rules, - please see :ref:`Interpretation of map_variables.` - - Points 15.1.1 and 15.1.2 are both saying the same thing. The way in which - you specify the :code:`component_1` and :code:`component_2` items must - follow the general CellML2.0 format for a valid identifier, and must point - to a :code:`component` which exists under that name. Note that this - could be either an intantiated :code:`component`, or an - :code:`import component` item. + Creating :code:`connection` items allows :code:`variable` values to be passed between eligible :code:`components`. + There are both syntactic (ie: format) and semantic (ie: meaning) rules about how these must be specified, including what "eligible" means. + Syntax will be discussed below and in the other "See more" blocks on this page. + For more on the semantic rules, please see :ref:`Interpretation of map_variables.` + + Points 15.1.1 and 15.1.2 are both saying the same thing. + The way in which you specify the :code:`component_1` and :code:`component_2` items must follow the general CellML2.0 format for a valid identifier, and must point to a :code:`component` which exists under that name. + Note that this could be either an intantiated :code:`component`, or an :code:`import component` item. .. code-block:: xml @@ -36,7 +31,7 @@
- + diff --git a/reference/inform/informB15_connection3.rst b/reference/inform/informB15_connection3.rst index 422a92a9..d9790eec 100644 --- a/reference/inform/informB15_connection3.rst +++ b/reference/inform/informB15_connection3.rst @@ -8,11 +8,8 @@ .. container:: infospec - All this means is that mapped/connected :code:`variables` (ie: those - specified by :code:`connection` and :code:`map_variables` items) must be - in different :code:`components`. Since the only reason you'd need to use - these connections is in order to access a :code:`variable` in another - :code:`component`, this restriction does kinda make sense! + All this means is that mapped/connected :code:`variables` (ie: those specified by :code:`connection` and :code:`map_variables` items) must be in different :code:`components`. + Since the only reason you'd need to use these connections is in order to access a :code:`variable` in another :code:`component`, this restriction does kinda make sense! .. code-block:: xml @@ -26,4 +23,4 @@ - +
diff --git a/reference/inform/informB15_connection4.rst b/reference/inform/informB15_connection4.rst index 407aa1e8..23e978a2 100644 --- a/reference/inform/informB15_connection4.rst +++ b/reference/inform/informB15_connection4.rst @@ -8,12 +8,9 @@ .. container:: infospec - You may only have one :code:`connection` any two :code:`components`, - regardless of which is specified as :code:`component_1` and which is - specified as :code:`component_2`. If you have found duplicate - :code:`connection` elements, simply merge their contents - a - :code:`connection` can contain any number of :code:`map_variables` - children. Make sure that the order in which you spe + You may only have one :code:`connection` any two :code:`components`, regardless of which is specified as :code:`component_1` and which is specified as :code:`component_2`. + If you have found duplicate :code:`connection` elements, simply merge their contents - a :code:`connection` can contain any number of :code:`map_variables` children. + Make sure that the order in which you spe **TODO** .. code-block:: xml @@ -49,7 +46,7 @@ - @@ -57,5 +54,3 @@
- - diff --git a/reference/inform/informB15_connection5.rst b/reference/inform/informB15_connection5.rst index df2457ac..dbd022b6 100644 --- a/reference/inform/informB15_connection5.rst +++ b/reference/inform/informB15_connection5.rst @@ -8,9 +8,8 @@ .. container:: infospec - The point of creating a :code:`connection` item is in order to connect - :code:`variables` between eligible :code:`components`. There is no reason - to have an empty :code:`connection` - just delete it. + The point of creating a :code:`connection` item is in order to connect :code:`variables` between eligible :code:`components`. + There is no reason to have an empty :code:`connection` - just delete it. .. code-block:: xml @@ -22,8 +21,8 @@ - + -
+
diff --git a/reference/inform/informB16_map_variables2.rst b/reference/inform/informB16_map_variables2.rst index 8f245b87..d30c17a0 100644 --- a/reference/inform/informB16_map_variables2.rst +++ b/reference/inform/informB16_map_variables2.rst @@ -8,8 +8,7 @@ .. container:: infospec - Points 16.1.1 and 16.1.2 are both saying the same thing for their - :code:`variable_1` and :code:`variable_2` attributes respectively: + Points 16.1.1 and 16.1.2 are both saying the same thing for their :code:`variable_1` and :code:`variable_2` attributes respectively: .. code-block:: xml @@ -37,5 +36,3 @@
- - diff --git a/reference/inform/informB16_map_variables3.rst b/reference/inform/informB16_map_variables3.rst index 2b5571a8..771d3793 100644 --- a/reference/inform/informB16_map_variables3.rst +++ b/reference/inform/informB16_map_variables3.rst @@ -8,9 +8,7 @@ .. container:: infospec - Just as you can have only one :code:`connection` between any two - :code:`components`, within that :code:`connection` you can have only one - :code:`map_variables` item between any two :code:`variables`. + Just as you can have only one :code:`connection` between any two :code:`components`, within that :code:`connection` you can have only one :code:`map_variables` item between any two :code:`variables`. .. code-block:: xml @@ -26,4 +24,4 @@ - \ No newline at end of file + diff --git a/reference/inform/informB1_model1.rst b/reference/inform/informB1_model1.rst index e1e5b984..d1d508f4 100644 --- a/reference/inform/informB1_model1.rst +++ b/reference/inform/informB1_model1.rst @@ -8,8 +8,8 @@ .. container:: infospec - The :code:`model` is the highest level in the CellML file, not including the - opening :code:`xml` tags. And, just like the Highlander, there can be only one. + The :code:`model` is the highest level in the CellML file, not including the opening :code:`xml` tags. + And, just like the Highlander, there can be only one. These are valid CellML name attributes: diff --git a/reference/inform/informB1_model3.rst b/reference/inform/informB1_model3.rst index bc690d1d..47af5247 100644 --- a/reference/inform/informB1_model3.rst +++ b/reference/inform/informB1_model3.rst @@ -9,14 +9,10 @@ .. container:: infospec The encapsulation of a model defines the nested structure of its components. - This in turn affects which variables have access to which other variables, - and allows the modular behaviour to happen at any level. For this reason, - there can be only one :code:`encapsulation` item in any model. + This in turn affects which variables have access to which other variables, and allows the modular behaviour to happen at any level. + For this reason, there can be only one :code:`encapsulation` item in any model. - For more information about encapsulation, please refer to - :ref:`The encapsulation element information item`. + For more information about encapsulation, please refer to :ref:`The encapsulation element information item`. - For more information and examples involving and explaining encapsulation, - please refer to the - :ref:`Theory of a sodium channel` page. + For more information and examples involving and explaining encapsulation, please refer to the :ref:`Theory of a sodium channel` page. **TODO** put link to theory section in libCellML here? diff --git a/reference/inform/informB2_import1.rst b/reference/inform/informB2_import1.rst index c3260b5b..15db65a2 100644 --- a/reference/inform/informB2_import1.rst +++ b/reference/inform/informB2_import1.rst @@ -10,21 +10,13 @@ .. container:: infospec - At present (TODO) the location specified by the :code:`href` attribute - must be a locally available file (not online). The path may either be - absolute from the root directory, or relative to the importing model's - location. + At present (TODO) the location specified by the :code:`href` attribute must be a locally available file (not online). +The path may either be absolute from the root directory, or relative to the importing model's location. For example, here's a model based around casting for The Wizard of Oz. - In the main model (the one doing the importing), the component - used to play Dorothy is defined by importing a :code:`component` - named :code:`judy_garland` from the file called - :code:`role_of_dorothy.cellml` and setting its reference in the main - file to be the component named :code:`dorothy`. + In the main model (the one doing the importing), the component used to play Dorothy is defined by importing a :code:`component` named :code:`judy_garland` from the file called :code:`role_of_dorothy.cellml` and setting its reference in the main file to be the component named :code:`dorothy`. - Note the file structure - the path to the imported file is specified - relative to the importing file, in this case :code:`role_of_dorothy.cellml` - sits inside a folder called :code:`characters`. + Note the file structure - the path to the imported file is specified relative to the importing file, in this case :code:`role_of_dorothy.cellml` sits inside a folder called :code:`characters`. oz_model.cellml @@ -59,10 +51,8 @@ ... - The component representing Toto could be imported in one of two ways, both - giving identical model representations. Either directly from the - :code:`role_of_toto.cellml` file, or indirectly via the - :code:`role_of_dorothy.cellml` file: + The component representing Toto could be imported in one of two ways, both giving identical model representations. + Either directly from the :code:`role_of_toto.cellml` file, or indirectly via the :code:`role_of_dorothy.cellml` file: .. code-block:: xml diff --git a/reference/inform/informB2_import2.rst b/reference/inform/informB2_import2.rst index 4427f73f..53101565 100644 --- a/reference/inform/informB2_import2.rst +++ b/reference/inform/informB2_import2.rst @@ -10,15 +10,9 @@ .. container:: infospec - The only items which can be imported directly are :code:`component` and - :code:`units` items. The intention is that these are modular building - blocks, able to be passed between models easily through this import - functionality. - - When you import a :code:`component`, all its :code:`variables` and - encapsulated child :code:`component` items are imported too, - along with any its governing :code:`math` block and any :code:`units` - items it uses. - - When you import a :code:`units` item, the child :code:`unit` items which - it contain are imported as well. + The only items which can be imported directly are :code:`component` and :code:`units` items. + The intention is that these are modular building blocks, able to be passed between models easily through this import functionality. + + When you import a :code:`component`, all its :code:`variables` and encapsulated child :code:`component` items are imported too, along with any its governing :code:`math` block and any :code:`units` items it uses. + + When you import a :code:`units` item, the child :code:`unit` items which it contain are imported as well. diff --git a/reference/inform/informB2_import3.rst b/reference/inform/informB2_import3.rst index 5ae44030..c96c5c96 100644 --- a/reference/inform/informB2_import3.rst +++ b/reference/inform/informB2_import3.rst @@ -10,14 +10,11 @@ .. container:: infospec - The intention behind this restriction is to prevent circular import - definitions from occurring. Models *are* able to import twins, that is, - :code:`component` or :code:`units` items which are identical in content - but under different names. Models may *not* import themselves, because - this would create an infinite loop of dependence. + The intention behind this restriction is to prevent circular import definitions from occurring. + Models *are* able to import twins, that is, :code:`component` or :code:`units` items which are identical in content but under different names. + Models may *not* import themselves, because this would create an infinite loop of dependence. - For example, the first Olsen twins model below is permitted: the same - component is imported twice under different names. + For example, the first Olsen twins model below is permitted: the same component is imported twice under different names. .. code-block:: xml @@ -41,8 +38,7 @@ - The sames applies for "indirect" imports, where recursion is created over - several files: + The sames applies for "indirect" imports, where recursion is created over several files: .. code-block:: xml diff --git a/reference/inform/informB3_import_units1.rst b/reference/inform/informB3_import_units1.rst index 0bf9cf05..7fb2315e 100644 --- a/reference/inform/informB3_import_units1.rst +++ b/reference/inform/informB3_import_units1.rst @@ -8,27 +8,19 @@ .. container:: infospec - Importing :code:`Units` means - that you're assured of consistency between your models, and allows - for a more modular reuse of the components which use them. There are - three ingredients required in importing an item: + Importing :code:`Units` means that you're assured of consistency between your models, and allows for a more modular reuse of the components which use them. + There are three ingredients required in importing an item: - - a destination item in the importing model (this is the :code:`units` - item called :code:`smallPotOfPaint` in the example below) + - a destination item in the importing model (this is the :code:`units` item called :code:`smallPotOfPaint` in the example below) - - a file to import from, specified using the :code:`xlink:href` - attribute of the parent :code:`import` block. This is discussed in - more detail in - :ref:`The import element information item`. In the - example below this is the :code:`paint_pot_sizes.cellml` file. + - a file to import from, specified using the :code:`xlink:href` attribute of the parent :code:`import` block. + This is discussed in more detail in :ref:`The import element information item`. + In the example below this is the :code:`paint_pot_sizes.cellml` file. - - the specific item name to retrieve from the imported file. In the - example below this is the :code:`twoLitrePot` value passed to the - :code:`units_ref` attribute. + - the specific item name to retrieve from the imported file. + In the example below this is the :code:`twoLitrePot` value passed to the :code:`units_ref` attribute. - Thus we can read the import statement below as: "retrieve the :code:`Units` - named :code:`twoLitrePot` from the file :code:`paint_pot_sizes.cellml`, and store it - here in this model under the name :code:`potOfPaint` ". + Thus we can read the import statement below as: "retrieve the :code:`Units` named :code:`twoLitrePot` from the file :code:`paint_pot_sizes.cellml`, and store it here in this model under the name :code:`potOfPaint` ". .. code-block:: xml @@ -36,14 +28,11 @@ - Note that if you've already defined the namespace inside the :code:`` tags then you - would not need to repeat it here. + Note that if you've already defined the namespace inside the :code:`` tags then you would not need to repeat it here. - Imported items have the same restrictions as concrete items regarding the - uniqueness of their names. In the example below, the name - :code:`potOfPaint` is used for the locally - defined units in line 2, but the same name is used as the name for the - imported units in line 6. This is not permitted as it violates 6.1.1. + Imported items have the same restrictions as concrete items regarding the uniqueness of their names. + In the example below, the name :code:`potOfPaint` is used for the locally defined units in line 2, but the same name is used as the name for the imported units in line 6. + This is not permitted as it violates 6.1.1. .. code-block:: xml @@ -61,5 +50,5 @@ - Note that libCellML uses some workarounds to avoid this kind of conflict. Please - click the :ref:`See libCellML implementation +` toggle for details. + Note that libCellML uses some workarounds to avoid this kind of conflict. + Please click the :ref:`See libCellML implementation +` toggle for details. diff --git a/reference/inform/informB4_import_component1.rst b/reference/inform/informB4_import_component1.rst index 47691b57..e7412ccf 100644 --- a/reference/inform/informB4_import_component1.rst +++ b/reference/inform/informB4_import_component1.rst @@ -8,28 +8,19 @@ .. container:: infospec - The ablility to import and reuse :code:`component` items is one of the - most powerful features in CellML, as it allows modellers to easily - plug-n-play different variations and model parts. There are three - ingredients required in importing an item: + The ablility to import and reuse :code:`component` items is one of the most powerful features in CellML, as it allows modellers to easily plug-n-play different variations and model parts. + There are three ingredients required in importing an item: - - a destination in the importing model (this is the :code:`component` - item called :code:`pi_calculator` in the example below) + - a destination in the importing model (this is the :code:`component` item called :code:`pi_calculator` in the example below) - - a file to import from, specified using the :code:`xlink:href` - attribute of the parent :code:`import` block. This is discussed in - more detail in - :ref:`The import element information item`. In the - example below this is the :code:`pi_approximators.cellml` file. + - a file to import from, specified using the :code:`xlink:href` attribute of the parent :code:`import` block. + This is discussed in more detail in :ref:`The import element information item`. + In the example below this is the :code:`pi_approximators.cellml` file. - - the specific item name to retrieve from the imported file. In the - example below this is the :code:`circumference_over_diameter` value - passed to the :code:`component_ref` attribute. + - the specific item name to retrieve from the imported file. + In the example below this is the :code:`circumference_over_diameter` value passed to the :code:`component_ref` attribute. - Thus we can read the import statement below as: "retrieve the - :code:`component` named :code:`circumference_over_diameter` from the file - :code:`pi_approximators.cellml`, and store it here in this model under the - name :code:`pi_calculator`". + Thus we can read the import statement below as: "retrieve the :code:`component` named :code:`circumference_over_diameter` from the file :code:`pi_approximators.cellml`, and store it here in this model under the name :code:`pi_calculator`". .. code-block:: xml @@ -39,19 +30,14 @@ Things to watch out for: - 1) **The namespace**. Note that if you've already defined the - :code:`xmlns:xlink` namespace inside the :code:`` tags then you - would not need to repeat it here. + 1) **The namespace**. + Note that if you've already defined the :code:`xmlns:xlink` namespace inside the :code:`` tags then you would not need to repeat it here. - 2) **The name attribute**. Imported items have the same restrictions as - locally defined items regarding the uniqueness of their names and their - format. In the - example below, the name :code:`pi_calculator` is used for the locally - defined component in line 2, but the same name is used as the name for the - imported component in line 6. This is not permitted as it violates 7.1.1. - The second imported component uses an invalid name attribute - (see :ref:`Data representation formats in CellML`) - so is not permitted either. + 2) **The name attribute**. + Imported items have the same restrictions as locally defined items regarding the uniqueness of their names and their format. + In the example below, the name :code:`pi_calculator` is used for the locally defined component in line 2, but the same name is used as the name for the imported component in line 6. + This is not permitted as it violates 7.1.1. + The second imported component uses an invalid name attribute (see :ref:`Data representation formats in CellML`) so is not permitted either. .. code-block:: xml @@ -72,10 +58,10 @@ - 3) **The component_ref attribute**. This must be a :ref:`valid CellML identifier` - (see :ref:`Data representation formats in CellML`). - It also has to actually exist as a :code:`component` in the given - :code:`href` location! Neither of the imports below are permitted: + 3) **The component_ref attribute**. + This must be a :ref:`valid CellML identifier` (see :ref:`Data representation formats in CellML`). + It also has to actually exist as a :code:`component` in the given :code:`href` location! + Neither of the imports below are permitted: .. code-block:: xml diff --git a/reference/inform/informB5_units1.rst b/reference/inform/informB5_units1.rst index 57638f4b..05507d8a 100644 --- a/reference/inform/informB5_units1.rst +++ b/reference/inform/informB5_units1.rst @@ -8,11 +8,9 @@ .. container:: infospec - The best way to understand how :code:`units` work is to read the - next section which defines their child :code:`unit` items. + The best way to understand how :code:`units` work is to read the next section which defines their child :code:`unit` items. - The following examples show examples of what is not permitted in - defining :code:`units` items. + The following examples show examples of what is not permitted in defining :code:`units` items. .. code-block:: xml diff --git a/reference/inform/informB6_unit1.rst b/reference/inform/informB6_unit1.rst index 11639d05..b5915436 100644 --- a/reference/inform/informB6_unit1.rst +++ b/reference/inform/informB6_unit1.rst @@ -8,10 +8,9 @@ .. container:: infospec - :code:`Units` items are simply a collection of :code:`Unit` items, each - with a prefix, multiplier, and exponent. They can be nested and contain - multiple generations of inheritance, which means that there's always a - possibility of circular definitions. These are not permitted. + :code:`Units` items are simply a collection of :code:`Unit` items, each with a prefix, multiplier, and exponent. + They can be nested and contain multiple generations of inheritance, which means that there's always a possibility of circular definitions. + These are not permitted. For example, the first definition is valid: diff --git a/reference/inform/informB6_unit2.rst b/reference/inform/informB6_unit2.rst index 1a47f8f4..de8c1659 100644 --- a/reference/inform/informB6_unit2.rst +++ b/reference/inform/informB6_unit2.rst @@ -8,16 +8,12 @@ .. container:: infospec - There are two items related to units in CellML, and their naming can be - confusing! The plural - :code:`units` represents the actual final units - to be used in the model. This is a collection of - smaller :code:`unit` items which transform the base dimensionality - into the form required by the final units by way of prefixes, - multipliers, and exponents. - - In the example, we'll need to use two of the *built-in* base units, - :code:`metre` and :code:`second`, and manipulate them to form - :math:`cm^3/s`. This is done by including child :code:`unit` items. + There are two items related to units in CellML, and their naming can be confusing! + The plural - :code:`units` represents the actual final units to be used in the model. + This is a collection of smaller :code:`unit` items which transform the base dimensionality into the form required by the final units by way of prefixes, multipliers, and exponents. + + In the example, we'll need to use two of the *built-in* base units, :code:`metre` and :code:`second`, and manipulate them to form :math:`cm^3/s`. + This is done by including child :code:`unit` items. First, we need to change the base units of :code:`metre` into :math:`cm^3`: .. code-block:: xml @@ -27,9 +23,8 @@ ... - Next, we include the time dependency, changing the built-in units :code:`second` into - :math:`s^{-1}`. Note that sibling :code:`unit` items within a parent :code:`units` - item are simply multplied together to form the final representation: + Next, we include the time dependency, changing the built-in units :code:`second` into :math:`s^{-1}`. + Note that sibling :code:`unit` items within a parent :code:`units` item are simply multplied together to form the final representation: .. code-block:: xml diff --git a/reference/inform/informB7_component1.rst b/reference/inform/informB7_component1.rst index 92239d4e..0e950888 100644 --- a/reference/inform/informB7_component1.rst +++ b/reference/inform/informB7_component1.rst @@ -8,17 +8,11 @@ .. container:: infospec - Components are a convenient way to modularise the model, allowing parts to be - removed, replaced, and reused easily. They define the scope of their contents, - meaning that the items within a component need only be uniquely named in that - local scope. Commonly needed variables (like *time*, for example) - can be given the same name in multiple components without triggering an error. + Components are a convenient way to modularise the model, allowing parts to be removed, replaced, and reused easily. + They define the scope of their contents, meaning that the items within a component need only be uniquely named in that local scope. + Commonly needed variables (like *time*, for example) can be given the same name in multiple components without triggering an error. - Components are the largest building blocks of the model, and have three - important parts to them. The first is their naming and contents, similar - to all the other CellML items, and described below. The second relates - to their structure in relation to other :code:`component` items: this - structure is called their *encapsulation* and is described in - :ref:`The encapsulation item`. The third relates to the - :code:`import component` item, as described in - :ref:`The import_component item`. + Components are the largest building blocks of the model, and have three important parts to them. + The first is their naming and contents, similar to all the other CellML items, and described below. + The second relates to their structure in relation to other :code:`component` items: this structure is called their *encapsulation* and is described in :ref:`The encapsulation item`. + The third relates to the :code:`import component` item, as described in :ref:`The import_component item`. diff --git a/reference/inform/informB7_component2.rst b/reference/inform/informB7_component2.rst index 4c439660..f2f1f1c8 100644 --- a/reference/inform/informB7_component2.rst +++ b/reference/inform/informB7_component2.rst @@ -8,10 +8,8 @@ .. container:: infospec - A :code:`component` item, as with every other part of CellML, must use - a name unique to its scope, and obey the format definitions - outlined in - :ref:`Data representation formats`. For example: + A :code:`component` item, as with every other part of CellML, must use a name unique to its scope, and obey the format definitions outlined in :ref:`Data representation formats`. + For example: .. code-block:: xml diff --git a/reference/inform/informB7_component3.rst b/reference/inform/informB7_component3.rst index 828e13df..ae88c0eb 100644 --- a/reference/inform/informB7_component3.rst +++ b/reference/inform/informB7_component3.rst @@ -12,14 +12,11 @@ The mathematics of a component - Perhaps the most important part of a :code:`component` item is the - mathematics it contains. This is stored inside a collection of :code:`` - blocks as described in :ref:`The math element`. The :code:`math` - then defines the operation of the local :code:`variable` items and how they - relate to each other mathematically. + Perhaps the most important part of a :code:`component` item is the mathematics it contains. + This is stored inside a collection of :code:`` blocks as described in :ref:`The math element`. + The :code:`math` then defines the operation of the local :code:`variable` items and how they relate to each other mathematically. - For example, a component to calculate Einstein's :math:`E=mc^2` could be - represented by: + For example, a component to calculate Einstein's :math:`E=mc^2` could be represented by: .. code-block:: xml @@ -39,17 +36,14 @@ ... - Please refer to :ref:`The math element` for - information on the :code:`math` items and MathML format. + Please refer to :ref:`The math element` for information on the :code:`math` items and MathML format. .. container:: heading3 The variables of a component - The MathML block above refers to three variables, named :code:`E`, - :code:`m` and :code:`c`. These variable names be the same as the - :code:`name` attributes of the child :code:`variable` items in this - component. + The MathML block above refers to three variables, named :code:`E`, :code:`m` and :code:`c`. + These variable names be the same as the :code:`name` attributes of the child :code:`variable` items in this component. .. code-block:: xml @@ -60,8 +54,7 @@ - Please refer to :ref:`The variable information item` for - information on the :code:`variable` items. + Please refer to :ref:`The variable information item` for information on the :code:`variable` items. .. container:: heading3 diff --git a/reference/inform/informB8_variable1.rst b/reference/inform/informB8_variable1.rst index 3c3d868c..d5e4b3de 100644 --- a/reference/inform/informB8_variable1.rst +++ b/reference/inform/informB8_variable1.rst @@ -8,11 +8,9 @@ .. container:: infospec - In addition to the standard :code:`name` attribute, each :code:`variable` - must also define a :code:`units` attribute too. + In addition to the standard :code:`name` attribute, each :code:`variable` must also define a :code:`units` attribute too. - Reusing the example from :ref:`The component item` we - can give the three variables their fuller definitions: + Reusing the example from :ref:`The component item` we can give the three variables their fuller definitions: .. code-block:: xml @@ -25,19 +23,12 @@ - Extra attributes that can be used as needed include the :code:`initial_value`, - which will either set a constant value for a variable, or set its initial - conditions if it's being solved for. More information about initialisation - can be found in the - :ref:`Interpretation of initial values` section. - - Finally, where one :code:`variable` has been mapped to another in a different - component, the :code:`interface` attribute must be specified. This - determines the relative position in the encapsulation that the mapped - component must have in order to access this variable. This is outlined in - more detail in :ref:`The encapsulation item`. - - For examples and further explanation of components and their encapsulation, - please refer to - :ref:`section 3 of the Sodium Channel theory` - documentation. **TODO** need to alias these links. + Extra attributes that can be used as needed include the :code:`initial_value`, which will either set a constant value for a variable, or set its initial conditions if it's being solved for. + More information about initialisation can be found in the :ref:`Interpretation of initial values` section. + + Finally, where one :code:`variable` has been mapped to another in a different component, the :code:`interface` attribute must be specified. + This determines the relative position in the encapsulation that the mapped component must have in order to access this variable. + This is outlined in more detail in :ref:`The encapsulation item`. + + For examples and further explanation of components and their encapsulation, please refer to :ref:`section 3 of the Sodium Channel theory` documentation. + **TODO** need to alias these links. diff --git a/reference/inform/informC01_imports.rst b/reference/inform/informC01_imports.rst index de37be50..4409fccf 100644 --- a/reference/inform/informC01_imports.rst +++ b/reference/inform/informC01_imports.rst @@ -8,9 +8,8 @@ .. container:: infospec - CellML2.0 is not xenophobic. When an element (either a - :code:`component` or a :code:`units` item) is imported, it is treated in - the same way as the locally defined items. - + CellML2.0 is not xenophobic. + When an element (either a :code:`component` or a :code:`units` item) is imported, it is treated in the same way as the locally defined items. - **TODO** Don't fully understand the first sentence... \ No newline at end of file + + **TODO** Don't fully understand the first sentence... diff --git a/reference/inform/informC03_interpretation_of_units1_1.rst b/reference/inform/informC03_interpretation_of_units1_1.rst index 605de5b9..209d1dc2 100644 --- a/reference/inform/informC03_interpretation_of_units1_1.rst +++ b/reference/inform/informC03_interpretation_of_units1_1.rst @@ -8,11 +8,8 @@ .. container:: infospec - The :code:`prefix` term is different from the other attributes of a - :code:`unit` element in that it can accept both a string (the name of the - prefix from the :ref:`Prefix table`) or an integer - (the base 10 log equivalent to the prefix). It's also different because - **it will become invalid if a real number is used**. + The :code:`prefix` term is different from the other attributes of a :code:`unit` element in that it can accept both a string (the name of the prefix from the :ref:`Prefix table`) or an integer (the base 10 log equivalent to the prefix). + It's also different because **it will become invalid if a real number is used**. For example, these are equivalent: @@ -29,8 +26,7 @@ - - **Note** that these examples are *only* equivalent because the - :code:`exponent` in each case is 1. Please see the next "See more" block - for a full explanation of its role. + + **Note** that these examples are *only* equivalent because the :code:`exponent` in each case is 1. + Please see the next "See more" block for a full explanation of its role. diff --git a/reference/inform/informC03_interpretation_of_units1_3.rst b/reference/inform/informC03_interpretation_of_units1_3.rst index e81c1918..8f902c7c 100644 --- a/reference/inform/informC03_interpretation_of_units1_3.rst +++ b/reference/inform/informC03_interpretation_of_units1_3.rst @@ -8,15 +8,11 @@ .. container:: infospec - As you'd expect, both the :code:`exponent` and :code:`multiplier` - attributes must be :ref:`valid real numbers`, which - could include an :ref:`integers`. (This is in contrast to - the :code:`prefix` which *must* be an integer or a - :ref:`named prefix`.) + As you might expect, both the :code:`exponent` and :code:`multiplier` attributes must be :ref:`valid real numbers`, which could include an :ref:`integers`. + (This is in contrast to the :code:`prefix` which *must* be an integer or a :ref:`named prefix`.) - All three attributes can be combined in different ways to give the same - effective outcome. The examples below all define a :code:`units` item - equivalent to a 330 mL bottle of beer. + All three attributes can be combined in different ways to give the same effective outcome. + The examples below all define a :code:`units` item equivalent to a 330 mL bottle of beer. .. code-block:: xml @@ -28,10 +24,10 @@ - @@ -42,10 +38,10 @@ - @@ -55,8 +51,5 @@ - **Note** that all spellings of built in units and prefixes must be UK (not - US) English, ie: :code:`metre` (not meter), :code:`litre` (not liter), and - :code:`deca` (not deka). - + **Note** that all spellings of built in units and prefixes must be UK (not US) English, ie: :code:`metre` (not meter), :code:`litre` (not liter), and :code:`deca` (not deka). diff --git a/reference/inform/informC03_interpretation_of_units1_4.rst b/reference/inform/informC03_interpretation_of_units1_4.rst index ca42e0fc..5510d931 100644 --- a/reference/inform/informC03_interpretation_of_units1_4.rst +++ b/reference/inform/informC03_interpretation_of_units1_4.rst @@ -8,11 +8,8 @@ .. container:: infospec - Once you've read the section in the previous "See more" box on how single - :code:`unit` items can be combined to form a :code:`units` item, we also - need to define how :code:`units` items can be used to form generations - of units. Using the same example of the 330mL beer bottle as before, here - are alternative, but equivalent, definitions. + Once you've read the section in the previous "See more" box on how single :code:`unit` items can be combined to form a :code:`units` item, we also need to define how :code:`units` items can be used to form generations of units. + Using the same example of the 330mL beer bottle as before, here are alternative, but equivalent, definitions. .. code-block:: xml @@ -29,9 +26,8 @@ - But we can also use child :code:`units` in conjunction with - :code:`exponents` too. In this situation you'll need to understand the - equation above. Let's start by defining a centimeter: + But we can also use child :code:`units` in conjunction with :code:`exponents` too. + In this situation you'll need to understand the equation above. Let's start by defining a centimeter: .. code-block:: xml @@ -46,7 +42,7 @@ - + Then cube it to get the units of millilitres: .. code-block:: xml @@ -56,9 +52,7 @@ - This is equivalent to creating the units of :math:`(10^{-6})(metre)^3`, - because the effect of the :code:`exponent` is applied to the combination of - :code:`units` and :code:`prefix`, but not to the :code:`multiplier`: + This is equivalent to creating the units of :math:`(10^{-6})(metre)^3`, because the effect of the :code:`exponent` is applied to the combination of :code:`units` and :code:`prefix`, but not to the :code:`multiplier`: .. code-block:: xml @@ -71,8 +65,6 @@ - - It's good to get your head around the difference between how the - :code:`multiplier` and :code:`prefix` terms work, or your scaling might - not be quite what you expect (and your beer disappointing). \ No newline at end of file + + It's good to get your head around the difference between how the :code:`multiplier` and :code:`prefix` terms work, or your scaling might not be quite what you expect (and your beer disappointing). diff --git a/reference/inform/informC03_interpretation_of_units2.rst b/reference/inform/informC03_interpretation_of_units2.rst index 83968ec0..98eab5be 100644 --- a/reference/inform/informC03_interpretation_of_units2.rst +++ b/reference/inform/informC03_interpretation_of_units2.rst @@ -8,11 +8,9 @@ .. container:: infospec - The terms "irreducible units" and "unit reduction" really need to be - understood together, but before either make sense we need to explain - the concept of "base units". In the physical world there are seven - base units defined in the SI (Système International d'Unités) - system. These are: + The terms "irreducible units" and "unit reduction" really need to be understood together, but before either make sense we need to explain the concept of "base units". + In the physical world there are seven base units defined in the SI (Système International d'Unités) system. + These are: +--------+------------+---------------------------+ | Symbol | Name | Base quantity | @@ -32,19 +30,16 @@ | cd | candela | luminous intensity | +--------+------------+---------------------------+ - Some of the units listed in the - :ref:`Built-in Units` are these base units, but others - are combinations of them included for convenience. Only those rows in the - table which have no entries in the "Unit reduction" column are - "irreducible" or base units. - + Some of the units listed in the :ref:`Built-in Units` are these base units, but others are combinations of them included for convenience. + Only those rows in the table which have no entries in the "Unit reduction" column are "irreducible" or base units. + In the CellML2.0 world you are able to also define your own base units. - These are :code:`units` items which you create which do not reference - any child :code:`unit` items, so are therefore "irreducible". For example: + These are :code:`units` items which you create which do not reference any child :code:`unit` items, so are therefore "irreducible". + For example: - .. code-block:: xml + .. code-block:: xml - @@ -60,9 +55,7 @@ - The terms "irreducible units" and "unit reduction" are used when discussing - situations where the units of two variables must be equivalent. It makes - no sense to equate a variable with units of seconds to another with units of - kilograms, for example. The same is true for more complicated versions of - units, as outlined in the next section. + The terms "irreducible units" and "unit reduction" are used when discussing situations where the units of two variables must be equivalent. + It makes no sense to equate a variable with units of seconds to another with units of kilograms, for example. + The same is true for more complicated versions of units, as outlined in the next section. diff --git a/reference/inform/informC03_interpretation_of_units3_2.rst b/reference/inform/informC03_interpretation_of_units3_2.rst index 861c1e3c..fec1336a 100644 --- a/reference/inform/informC03_interpretation_of_units3_2.rst +++ b/reference/inform/informC03_interpretation_of_units3_2.rst @@ -8,19 +8,15 @@ .. container:: infospec - As discussed in the previous "See more" block, "irreducible" or "base" - units are those fundamental quantities which cannot be expressed in - any other way. This includes user-defined base units too. + As discussed in the previous "See more" block, "irreducible" or "base" units are those fundamental quantities which cannot be expressed in any other way. + This includes user-defined base units too. - The "unit reduction" of any :code:`units` item is simply a recipe for how - any units are constructed, from these "base unit" ingredients. + The "unit reduction" of any :code:`units` item is simply a recipe for how any units are constructed, from these "base unit" ingredients. - For example, the units "metres per second" could be written :math:`m/s` or - :code:`product[ (metre)^1 , (second)^-1 ]`, or - :code:`product[ power(metre, 1) , power(second, -2) ]`. This final list of - tuples, representing the base unit and its exponent, is referred to as the - unit reduction tuples for the :code:`units` element. Some other examples - are given below. + + For example, the units "metres per second" could be written :math:`m/s` or :code:`product[ (metre)^1 , (second)^-1 ]`, or :code:`product[ power(metre, 1) , power(second, -2) ]`. + This final list of tuples, representing the base unit and its exponent, is referred to as the unit reduction tuples for the :code:`units` element. + Some other examples are given below. Related to C03.3.2.1: @@ -32,8 +28,7 @@ - Related to C03.3.2.3 and 4: The concentration of apples per litre of cider - is expressed using the custom base units "apple", the custom derived units - "bushell_of_apples" and the built-in convenience units of "litre", the - last being equivalent to cubic metres. + Related to C03.3.2.3 and 4: The concentration of apples per litre of cider is expressed using the custom base units "apple", the custom derived units "bushell_of_apples" and the built-in convenience units of "litre", the last being equivalent to cubic metres. Note that: - scaling does not affect the unit reduction tuples, - - the custom derived units :code:`bushell_of_apples` does not appear, - as it can be further reduced to :code:`apple`, - - the final exponent of the :code:`metre` base unit comes from applying - 3.3.2.4 and multiplying the exponent of the litre reduction tuple (metre, 3) - with the exponent given in the :code:`cider_concentration` tuple (litre, -1) - to give a (metre, -3) in the final unit reduction tuple set. + - the custom derived units :code:`bushell_of_apples` does not appear, as it can be further reduced to :code:`apple`, + - the final exponent of the :code:`metre` base unit comes from applying 3.3.2.4 and multiplying the exponent of the litre reduction tuple (metre, 3) with the exponent given in the :code:`cider_concentration` tuple (litre, -1) to give a (metre, -3) in the final unit reduction tuple set. .. code-block:: xml diff --git a/reference/inform/informC03_interpretation_of_units3_3.rst b/reference/inform/informC03_interpretation_of_units3_3.rst index 3675a007..54718022 100644 --- a/reference/inform/informC03_interpretation_of_units3_3.rst +++ b/reference/inform/informC03_interpretation_of_units3_3.rst @@ -8,14 +8,11 @@ .. container:: infospec - You may have noticed in the :ref:`Built-in Units` - that there is an entry labelled :code:`dimensionless`. + You may have noticed in the :ref:`Built-in Units` that there is an entry labelled :code:`dimensionless`. - This is provided for convenience, and doesn't take part in determining the - unit reduction for any :code:`units` items. Together with the next - point, this means that the all unit reduction tuples represent the - *minimum possible* description of a :code:`units` item. For example, this - :code:`units` item has the unit reduction of :code:`(metre, 1)`: + This is provided for convenience, and doesn't take part in determining the unit reduction for any :code:`units` items. + Together with the next point, this means that the all unit reduction tuples represent the *minimum possible* description of a :code:`units` item. + For example, this :code:`units` item has the unit reduction of :code:`(metre, 1)`: .. code-block:: xml @@ -25,8 +22,3 @@ - - - - - diff --git a/reference/inform/informC03_interpretation_of_units3_4.rst b/reference/inform/informC03_interpretation_of_units3_4.rst index 68cf694e..bc33ce21 100644 --- a/reference/inform/informC03_interpretation_of_units3_4.rst +++ b/reference/inform/informC03_interpretation_of_units3_4.rst @@ -8,13 +8,9 @@ .. container:: infospec - As outlined in the previous "See more" block, the built-in base units - :code:`dimensionless` do not contribute to the unit reduction tuple set. - This holds for built-in units which are effectively dimensionless (like - :code:`radian` and :code:`steradian`) but also for situations in which - base units' exponents could be simplified or cancelled. - For example, all of the :code:`units` items below have identical - unit reduction tuples of :code:`(metre, 1), (second, -1)`: + As outlined in the previous "See more" block, the built-in base units :code:`dimensionless` do not contribute to the unit reduction tuple set. + This holds for built-in units which are effectively dimensionless (like :code:`radian` and :code:`steradian`) but also for situations in which base units' exponents could be simplified or cancelled. + For example, all of the :code:`units` items below have identical unit reduction tuples of :code:`(metre, 1), (second, -1)`: .. code-block:: xml @@ -33,8 +29,7 @@ - Here the "steradian" inclusion has no effect on the final unit reduction as its - own units cancel out: + Here the "steradian" inclusion has no effect on the final unit reduction as its own units cancel out: .. code-block:: xml @@ -45,9 +40,8 @@ - Finally a complicated one with the same outcome. Note that even though - there are some irreducible units used, they end up with an exponent of 0 - in the tuple, and are therefore removed from the final unit reduction. + Finally a complicated one with the same outcome. + Note that even though there are some irreducible units used, they end up with an exponent of 0 in the tuple, and are therefore removed from the final unit reduction. Note that a Volt is equivalent to :math:`m^2.kg.s^{-3}.A^{-1}` .. code-block:: xml diff --git a/reference/libcellml/libcellmlB2.rst b/reference/libcellml/libcellmlB2.rst index 47a4f903..1f7267a8 100644 --- a/reference/libcellml/libcellmlB2.rst +++ b/reference/libcellml/libcellmlB2.rst @@ -8,10 +8,8 @@ .. container:: infolib - The libCellML library contains checks for illegal or recursive imports, and - will return warnings or errors when they are discovered. For examples and - tutorials explaining the use of :code:`import` items, please refer to - **TODO**. + The libCellML library contains checks for illegal or recursive imports, and will return warnings or errors when they are discovered. + For examples and tutorials explaining the use of :code:`import` items, please refer to **TODO**. .. container:: heading3 diff --git a/reference/libcellml/libcellmlB3.rst b/reference/libcellml/libcellmlB3.rst index bf74dce6..6c8214df 100644 --- a/reference/libcellml/libcellmlB3.rst +++ b/reference/libcellml/libcellmlB3.rst @@ -10,18 +10,13 @@ .. container:: infolib - Using libCellML there are a couple of things to watch out for. It - will allow you import a :code:`Units` item which has a :code:`name` - attribute that already exists in the importing model (as in this - example), but will change the imported item's :code:`name` to avoid - clashes. The name will have an underscore :code:`_` added, followed - by an unique integer. The example would contain two :code:`Units` - items called :code:`potOfPaint` (the locally defined one) and - :code:`potOfPaint_1` (the imported one). - - Note that this does *not* imply that the units are equivalent, only - that the name has been used before. You can compare two :code:`Units` - items using these functions: + Using libCellML there are a couple of things to watch out for. + It will allow you import a :code:`Units` item which has a :code:`name` attribute that already exists in the importing model (as in this example), but will change the imported item's :code:`name` to avoid clashes. + The name will have an underscore :code:`_` added, followed by an unique integer. + The example would contain two :code:`Units` items called :code:`potOfPaint` (the locally defined one) and :code:`potOfPaint_1` (the imported one). + + Note that this does *not* imply that the units are equivalent, only that the name has been used before. + You can compare two :code:`Units` items using these functions: .. code-block:: cpp diff --git a/reference/libcellml/libcellmlB5.rst b/reference/libcellml/libcellmlB5.rst index db96fcda..ae64135f 100644 --- a/reference/libcellml/libcellmlB5.rst +++ b/reference/libcellml/libcellmlB5.rst @@ -9,8 +9,7 @@ .. container:: infolib - For examples and more information on how :code:`Units` are used in - libCellML, please refer to section 3 of :ref:`Tutorial 3`. + For examples and more information on how :code:`Units` are used in libCellML, please refer to section 3 of :ref:`Tutorial 3`. .. container:: heading3 diff --git a/reference/libcellml/libcellmlB6.rst b/reference/libcellml/libcellmlB6.rst index 0b04c8fd..827416e5 100644 --- a/reference/libcellml/libcellmlB6.rst +++ b/reference/libcellml/libcellmlB6.rst @@ -9,8 +9,7 @@ .. container:: infolib - For examples and more information on how :code:`Units` are used in - libCellML, please refer to section 3 of :ref:`Tutorial 3`. + For examples and more information on how :code:`Units` are used in libCellML, please refer to section 3 of :ref:`Tutorial 3`. .. container:: heading3 diff --git a/reference/sectionA_definitions.rst b/reference/sectionA_definitions.rst index cfff30c0..65088b06 100644 --- a/reference/sectionA_definitions.rst +++ b/reference/sectionA_definitions.rst @@ -26,26 +26,24 @@ David Brooks Koray Atalag -The authors also wish to acknowledge the significant contribution of the -(discontinued) draft CellML 1.2 specification, much of the text of which -was incorporated into this specification - although the semantics have -changed considerably. The CellML 1.2 specification was itself the result -of a collaborative effort by a number of researchers during 2008-2011: +The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification - although the semantics have changed considerably. +The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011: -Andrew K. Miller (who wrote the text reused here), Jonathan Cooper, -Justin Marsh, Alan Garny, Randall Britten, Poul Nielsen and David P. -Nickerson +Andrew K. Miller (who wrote the text reused here), +Jonathan Cooper, +Justin Marsh, +Alan Garny, +Randall Britten, +Poul Nielsen +and David P. Nickerson \* corresponding author: mtcooling.research@gmail.com **TODO what should this be?** **Preamble** -This document is the normative version of the CellML Specification, -defining the CellML syntax and the rules by which it should be used. It -is intended primarily for the developers of software tools which -directly consume CellML syntax. Users of CellML models should read the -informative version of the CellML Specification which is available here: -https://doi.org/science/1.1.1.10. +This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. +It is intended primarily for the developers of software tools which directly consume CellML syntax. +Users of CellML models should read the informative version of the CellML Specification which is available here: https://doi.org/science/1.1.1.10. .. sectnum:: @@ -57,34 +55,26 @@ https://doi.org/science/1.1.1.10. Terminology =========== -The keywords “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, -“SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this -document are to be interpreted as described in -:rfc2119:`RFC 2119`. +The keywords “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in :rfc2119:`RFC 2119`. -The key phrase “information item”, as well as any specific type of -information item such as an “element information item”, are to be -interpreted as described in :xml_infoset:`XML Information Set`. +The key phrase “information item”, as well as any specific type of information item such as an “element information item”, are to be interpreted as described in :xml_infoset:`XML Information Set`. .. _specA_cellml_infoset: -**CellML infoset:** An XML information set containing a hierarchy -of information items -conforming to the rules described in this document. In this -specification such infosets are assumed to be CellML 2.0 infosets. +**CellML infoset:** +An XML information set containing a hierarchy of information items conforming to the rules described in this document. +In this specification such infosets are assumed to be CellML 2.0 infosets. .. _specA_cellml_model: -**CellML model:** A mathematical model represented by a hierarchy of -one or more CellML -infosets, according to the rules described in this document. In this -specification, the topmost CellML infoset in a hierarchy is referred -to as the top-level CellML infoset. +**CellML model:** +A mathematical model represented by a hierarchy of one or more CellML infosets, according to the rules described in this document. +In this specification, the topmost CellML infoset in a hierarchy is referred to as the top-level CellML infoset. .. _specA_namespace: -**Namespace:** An XML namespace, as defined in -:xml_namespace_1_1:`Namespaces in XML 1.1`. +**Namespace:** +An XML namespace, as defined in :xml_namespace_1_1:`Namespaces in XML 1.1`. .. _specA_cellml_namespace: @@ -92,52 +82,58 @@ to as the top-level CellML infoset. .. _specA_cellml2_namespace: -**CellML 2.0 namespace:** The namespace http://www.cellml.org/cellml/2.0#. +**CellML 2.0 namespace:** +The namespace http://www.cellml.org/cellml/2.0#. .. _specA_mathml_namespace: -**MathML namespace:** The namespace http://www.w3.org/1998/Math/MathML. +**MathML namespace:** +The namespace http://www.w3.org/1998/Math/MathML. .. _specA_cellml_information_item: -**CellML information item:** Any information item in the :ref:`CellML namespace`. +**CellML information item:** +Any information item in the :ref:`CellML namespace`. .. _specA_basic_latin_alphabetic_character: -**Basic Latin alphabetic character:** A Unicode character in the range -:unicode:`0041` to :unicode:`005A` or in the range :unicode:`0061` to :unicode:`007A`. +**Basic Latin alphabetic character:** +A Unicode character in the range :unicode:`0041` to :unicode:`005A` or in the range :unicode:`0061` to :unicode:`007A`. .. _specA_european_numeral: -**European numeral:** A Unicode character in the range :unicode:`0030` -to :unicode:`0039`. +**European numeral:** +A Unicode character in the range :unicode:`0030` to :unicode:`0039`. .. _specA_basic_latin_alphanumeric_character: -**Basic Latin alphanumeric character:** A Unicode character which is either a -:ref:`Basic Latin alphabetic character` -or a :ref:`European numeral`. +**Basic Latin alphanumeric character:** +A Unicode character which is either a :ref:`Basic Latin alphabetic character` or a :ref:`European numeral`. .. _specA_basic_latin_underscore: -**Basic Latin underscore:** The Unicode character :unicode:`005F`. +**Basic Latin underscore:** +The Unicode character :unicode:`005F`. .. _specA_basic_latin_plus: -**Basic Latin plus:** The Unicode character :unicode:`002B`. +**Basic Latin plus:** +The Unicode character :unicode:`002B`. .. _specA_basic_latin_minus: -**Basic Latin minus:** The Unicode character :unicode:`002D`. +**Basic Latin minus:** +The Unicode character :unicode:`002D`. .. _specA_basic_latin_full_stop: -**Basic Latin full stop:** The Unicode character :unicode:`002E`. +**Basic Latin full stop:** +The Unicode character :unicode:`002E`. .. _specA_whitespace_character: -**Whitespace character:** Any one of the Unicode characters :unicode:`0020`, -:unicode:`0009`, :unicode:`000D`, or :unicode:`000A`. +**Whitespace character:** +Any one of the Unicode characters :unicode:`0020`, :unicode:`0009`, :unicode:`000D`, or :unicode:`000A`. .. marker_terminology_end .. marker_cellml_information_sets_start @@ -150,20 +146,14 @@ CellML information sets CellML and XML -------------- -#. Every CellML infoset SHALL be represented in an XML information set - which conforms with the well-formedness requirements of - :xml_1_1:`XML 1.1`. +#. Every CellML infoset SHALL be represented in an XML information set which conforms with the well-formedness requirements of :xml_1_1:`XML 1.1`. -#. In this document, the remaining provisions relating to CellML - infosets SHALL be interpreted as additional constraints on the XML - information set represented by a CellML infoset. +#. In this document, the remaining provisions relating to CellML infosets SHALL be interpreted as additional constraints on the XML information set represented by a CellML infoset. Specific information items -------------------------- -#. For the purposes of this specification, a specific information item - is one of the following (see - https://www.w3.org/TR/xml-infoset/#infoitem for definitions): +#. For the purposes of this specification, a specific information item is one of the following (see https://www.w3.org/TR/xml-infoset/#infoitem for definitions): #. A document information item; @@ -181,71 +171,48 @@ Specific information items #. A notational information item. -#. Specific information items MUST NOT appear in a CellML infoset except - where explicitly allowed by this specification, or where allowed by a - normative specification referenced by this specification. +#. Specific information items MUST NOT appear in a CellML infoset except where explicitly allowed by this specification, or where allowed by a normative specification referenced by this specification. -#. The order in which specific information items appear, as children of - an element information item defined in this specification, SHALL NOT - affect the semantic interpretation of the :ref:`CellML model`. +#. The order in which specific information items appear, as children of an element information item defined in this specification, SHALL NOT affect the semantic interpretation of the :ref:`CellML model`. .. _specA_semantic_equivalence: Semantically equivalent CellML infosets --------------------------------------- -#. Two :ref:`CellML infosets` SHALL be deemed - semantically equivalent if one can be transformed into the other - by making zero or more of the following changes: +#. Two :ref:`CellML infosets` SHALL be deemed semantically equivalent if one can be transformed into the other by making zero or more of the following changes: #. Adding, removing, and/or modifying comment information items. - #. Changing (inserting, removing, and/or modifying) one or more - namespace information items, and/or modifying the prefix of one or - more information items, without changing the namespace that any - information item is in. + #. Changing (inserting, removing, and/or modifying) one or more namespace information items, and/or modifying the prefix of one or more information items, without changing the namespace that any information item is in. - #. The following paragraph applies only to character information - items which are the direct child of an element information item in - a :ref:`CellML namespace`, or in the - :ref:`MathML namespace`. + #. The following paragraph applies only to character information items which are the direct child of an element information item in a :ref:`CellML namespace`, or in the :ref:`MathML namespace`. - Inserting or removing character information items that consist - entirely of :ref:`whitespace characters`, + Inserting or removing character information items that consist entirely of :ref:`whitespace characters`, changing the number of whitespace characters in such an information item, - or changing the number of whitespace characters at the beginning or end - of any character information item. + or changing the number of whitespace characters at the beginning or end of any character information item. Character information items --------------------------- -#. An element information item in the :ref:`CellML namespace` - MUST NOT contain any character information items, except for character information - items which consist entirely of whitespace characters. +#. An element information item in the :ref:`CellML namespace` MUST NOT contain any character information items, except for character information items which consist entirely of whitespace characters. Use of namespaces ----------------- -#. Element information items in a - :ref:`CellML infoset` MUST belong to one of the - following namespaces, unless explicitly indicated otherwise: +#. Element information items in a :ref:`CellML infoset` MUST belong to one of the following namespaces, unless explicitly indicated otherwise: #. The :ref:`CellML namespace` #. The :ref:`MathML namespace` -#. Attribute information items in a CellML element MUST NOT be prefixed with a - namespace, unless explicitly indicated otherwise. +#. Attribute information items in a CellML element MUST NOT be prefixed with a namespace, unless explicitly indicated otherwise. XML ID Attributes ----------------- -#. Any element information item in the :ref:`CellML namespace` - MAY contain an attribute with local name :code:`id.` This attribute SHALL be - treated as having attribute type ID, as defined in - `section 3.3.1 `__ - of - `XML 1.1 `__. +#. Any element information item in the :ref:`CellML namespace` MAY contain an attribute with local name :code:`id.` + This attribute SHALL be treated as having attribute type ID, as defined in `section 3.3.1 `__ of `XML 1.1 `__. .. marker_cellml_information_sets_end .. marker_data_formats_start @@ -255,8 +222,7 @@ XML ID Attributes Data representation formats in CellML ===================================== -The following data representation formats are defined for use in this -specification: +The following data representation formats are defined for use in this specification: .. _specA_cellml_identifier: @@ -268,26 +234,19 @@ specification: .. container:: issue-data-repr-identifier-latin-alphanum - 2. SHALL NOT contain any characters except - :ref:`Basic Latin alphanumeric characters` - and :ref:`Basic Latin underscores`. + 2. SHALL NOT contain any characters except :ref:`Basic Latin alphanumeric characters` and :ref:`Basic Latin underscores`. .. container:: issue-data-repr-identifier-at-least-one-alphanum - 3. SHALL contain at least one - :ref:`alphabetic` character. + 3. SHALL contain at least one :ref:`alphabetic` character. .. container:: issue-data-repr-identifier-begin-euro-num - 4. SHALL NOT begin with a - :ref:`numeral` or an - :ref:`underscore`. + 4. SHALL NOT begin with a :ref:`numeral` or an :ref:`underscore`. .. container:: issue-data-repr-identifier-identical - 5. SHALL, when comparing two identifiers, be considered identical to - another identifier if and only if both identifiers have identical - sequences of characters. + 5. SHALL, when comparing two identifiers, be considered identical to another identifier if and only if both identifiers have identical sequences of characters. .. marker_data_formats_1 @@ -315,14 +274,11 @@ specification: .. container:: issue-data-repr-int-sign - 2. SHALL, when the integer being represented is negative, - begin with the Basic Latin hyphen-minus character - :unicode:`002D` as the sign indicator. + 2. SHALL, when the integer being represented is negative, begin with the Basic Latin hyphen-minus character :unicode:`002D` as the sign indicator. .. container:: issue-data-repr-int-euro-num - 3. SHALL, other than the sign indicator, consist only of - :ref:`European numerals`. + 3. SHALL, other than the sign indicator, consist only of :ref:`European numerals`. .. marker_data_formats_3 @@ -336,19 +292,15 @@ specification: .. container:: issue-data-repr-basic-real-sign - 2. SHALL, when the basic real number being represented is negative, - begin with the Basic Latin hyphen-minus character - :unicode:`002D` as the sign indicator. + 2. SHALL, when the basic real number being represented is negative, begin with the Basic Latin hyphen-minus character :unicode:`002D` as the sign indicator. .. container:: issue-data-repr-basic-real-decimal - 3. MAY contain a single decimal point separator, which SHALL be the - Basic Latin full stop character :unicode:`002E`. + 3. MAY contain a single decimal point separator, which SHALL be the Basic Latin full stop character :unicode:`002E`. .. container:: issue-data-repr-basic-real-euro-num - 4. SHALL, other than the sign indicator and the decimal point - separator, consist only of :ref:`European numerals`. + 4. SHALL, other than the sign indicator and the decimal point separator, consist only of :ref:`European numerals`. .. marker_data_formats_4 @@ -358,34 +310,24 @@ specification: .. container:: issue-data-repr-real-base10 - 1. SHALL be a base 10 representation of a real number - :math:`r=s \times 10^e` where :math:`s` is the significand, a real - number, and :math:`e` is the exponent, an integer. + 1. SHALL be a base 10 representation of a real number :math:`r=s \times 10^e` where :math:`s` is the significand, a real number, and :math:`e` is the exponent, an integer. .. container:: issue-data-repr-real-repr - 2. The representation of the number SHALL be the representation of - the significand followed immediately by the representation of the - exponent. + 2. The representation of the number SHALL be the representation of the significand followed immediately by the representation of the exponent. .. container:: issue-data-repr-real-significand - 3. The significand SHALL be represented as a - :ref:`basic real number string`. + 3. The significand SHALL be represented as a :ref:`basic real number string`. .. container:: issue-data-repr-real-exponent - 4. An exponent SHALL be represented by an exponent separator - character, followed by the - :ref:`integer string representation` of the - value of the exponent. Non-negative exponents MAY begin with the - Basic Latin plus sign character :unicode:`002B` as the sign indicator. - The exponent separator character SHALL be either the Basic Latin ‘E’ - character :unicode:`0045` or the Basic Latin ‘e’ character :unicode:`0065`. + 4. An exponent SHALL be represented by an exponent separator character, followed by the :ref:`integer string representation` of the value of the exponent. + Non-negative exponents MAY begin with the Basic Latin plus sign character :unicode:`002B` as the sign indicator. + The exponent separator character SHALL be either the Basic Latin ‘E’ character :unicode:`0045` or the Basic Latin ‘e’ character :unicode:`0065`. .. container:: issue-data-repr-real-no-exponent - 5. A real number string without an exponent SHALL be a - :ref:`basic real number string`. + 5. A real number string without an exponent SHALL be a :ref:`basic real number string`. .. marker_data_formats_end diff --git a/reference/sectionB_elements.rst b/reference/sectionB_elements.rst index 0875ed95..2139f114 100644 --- a/reference/sectionB_elements.rst +++ b/reference/sectionB_elements.rst @@ -18,27 +18,22 @@ Top-level of CellML infosets .. container:: issue-model-element - The top-level element information item in a :ref:`CellML infoset` MUST be an - element in the :ref:`CellML namespace` with a - local name equal to :code:`model`. In this specification, the top-level - element is referred to as the :code:`model` element. + The top-level element information item in a :ref:`CellML infoset` MUST be an element in the :ref:`CellML namespace` with a local name equal to :code:`model`. + In this specification, the top-level element is referred to as the :code:`model` element. Specific information items -------------------------- .. container:: issue-model-name - 1. Every :code:`model` element MUST contain a :code:`name` - attribute. The value of the :code:`name` attribute MUST be a - :ref:`valid CellML identifier`. + 1. Every :code:`model` element MUST contain a :code:`name` attribute. + The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. .. marker_model_1 .. container:: issue-model-child - 2. A :code:`model` element MAY contain one or more additional specific - element children, each of which MUST be of one of the - following types: + 2. A :code:`model` element MAY contain one or more additional specific element children, each of which MUST be of one of the following types: #. A :code:`component` element; or @@ -55,8 +50,7 @@ Specific information items .. container:: issue-model-more-than-one-encapsulation - 3. A :code:`model` element MUST NOT contain more than one :code:`encapsulation` - elements. + 3. A :code:`model` element MUST NOT contain more than one :code:`encapsulation` elements. .. marker_model_end .. marker_import_start @@ -66,38 +60,26 @@ Specific information items The ``import`` element ====================== -An :code:`import` element information item (referred to in this -specification as an :code:`import` element) is an element -in the :ref:`CellML namespace` -with a local name equal to :code:`import`. +An :code:`import` element information item (referred to in this specification as an :code:`import` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`import`. Specific information items -------------------------- .. container:: issue-import-href - 1. Every :code:`import` element MUST contain an attribute - in the namespace :code:`http://www.w3.org/1999/xlink`, with a local - name equal to :code:`href`. + 1. Every :code:`import` element MUST contain an attribute in the namespace :code:`http://www.w3.org/1999/xlink`, with a local name equal to :code:`href`. - The value of this attribute SHALL be a valid - locator :code:`href`, as defined in - :href_locator:`Section 5.4 of the XLink specification`. + The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification`. - The :code:`href` attribute SHALL be treated according to the - :xlink:`XLink specification`, by applying the rules for simple-type elements. + The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification`, by applying the rules for simple-type elements. - When describing an :code:`import` element or one of its children, the phrase - “imported CellML infoset” SHALL refer to the - :ref:`CellML infoset` obtained - by parsing the document referenced by the :code:`href` attribute. + When describing an :code:`import` element or one of its children, the phrase “imported CellML infoset” SHALL refer to the :ref:`CellML infoset` obtained by parsing the document referenced by the :code:`href` attribute. .. marker_import_1 .. container:: issue-import-child - 2. Every :code:`import` element MAY contain one or more specific element - children, each of which MUST be of one of the following types: + 2. Every :code:`import` element MAY contain one or more specific element children, each of which MUST be of one of the following types: #. An :code:`import units` element; or @@ -107,11 +89,7 @@ Specific information items .. container:: issue-import-circular - 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported - CellML infoset MUST NOT be semantically equivalent to the importing - CellML infoset (see - :ref:`Semantically equivalent CellML infosets ` - ). + 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported CellML infoset MUST NOT be semantically equivalent to the importing CellML infoset (see :ref:`Semantically equivalent CellML infosets `). .. marker_import_end .. marker_import_units_start @@ -718,51 +696,33 @@ Specific information items The ``map_variables`` element ============================= -A :code:`map_variables` element information item (referred to in this -specification as a :code:`map_variables` element) is an element in the -:ref:`CellML namespace` with a local name equal to -:code:`map_variables`, and which appears as a child of a :code:`connection` -element. +A :code:`map_variables` element information item (referred to in this specification as a :code:`map_variables` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`map_variables`, and which appears as a child of a :code:`connection` element. Specific information items -------------------------- .. container:: issue-map-variables-variable1 - 1. Each :code:`map_variables` element MUST contain a - :code:`variable_1` attribute. + 1. Each :code:`map_variables` element MUST contain a :code:`variable_1` attribute. - The value of the :code:`variable_1` attribute - MUST be a :ref:`valid CellML identifier`. + The value of the :code:`variable_1` attribute MUST be a :ref:`valid CellML identifier`. - The value of this attribute MUST - be equal to the :code:`name` attribute on a :code:`variable` element child - of the :code:`component` element or :code:`import component` element - referenced by the :code:`component_1` attribute on the :code:`connection` - element which is the parent of this element. + The value of this attribute MUST be equal to the :code:`name` attribute on a :code:`variable` element child of the :code:`component` element or :code:`import component` element referenced by the :code:`component_1` attribute on the :code:`connection` element which is the parent of this element. .. marker_map_variables_1 .. container:: issue-map-variables-variable2 - 2. Each :code:`map_variables` element MUST contain a - :code:`variable_2` attribute. + 2. Each :code:`map_variables` element MUST contain a :code:`variable_2` attribute. - The value of the :code:`variable_2` attribute - MUST be a :ref:`valid CellML identifier`. + The value of the :code:`variable_2` attribute MUST be a :ref:`valid CellML identifier`. - The value of this attribute MUST - be equal to the :code:`name` attribute on a :code:`variable` element child - of the :code:`component` element or :code:`import component` element - referenced by the :code:`component_2` attribute on the :code:`connection` - element which is the parent of this element. + The value of this attribute MUST be equal to the :code:`name` attribute on a :code:`variable` element child of the :code:`component` element or :code:`import component` element referenced by the :code:`component_2` attribute on the :code:`connection` element which is the parent of this element. .. marker_map_variables_2 .. container:: issue-map-variables-unique - 3. A :code:`connection` element MUST NOT contain more than one - :code:`map_variables` element with a given :code:`variable_1` attribute - value and :code:`variable_2` attribute value pair. + 3. A :code:`connection` element MUST NOT contain more than one :code:`map_variables` element with a given :code:`variable_1` attribute value and :code:`variable_2` attribute value pair. .. marker_map_variables_end diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst index 7fe56cd0..400a96a3 100644 --- a/reference/sectionC_interpretation.rst +++ b/reference/sectionC_interpretation.rst @@ -3,7 +3,7 @@ .. sectnum:: =========================================== -Section C: Interpretation +Section C: Interpretation =========================================== .. marker_interpretation_of_imports_start @@ -12,13 +12,8 @@ Section C: Interpretation Interpretation of imports ------------------------- -#. Each :code:`import` element present in a - :ref:`CellML infoset` (the importing - infoset) SHALL define a new and separate instance of the CellML - infoset referenced by the :code:`href` attribute (the imported infoset). - See :ref:`Units reference` and - :ref:`Component reference` for the specifics - of importing units and components. +#. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and separate instance of the CellML infoset referenced by the :code:`href` attribute (the imported infoset). + See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. .. marker_interpretation_of_imports_end .. marker_units_reference_start @@ -28,32 +23,17 @@ Interpretation of imports Units reference --------------- -#. A units reference SHALL be a CellML identifier and SHALL be - interpreted dependent on the context of the :ref:`CellML model` in which it - occurs, according to the units referencing rules defined later in - this section. +#. A units reference SHALL be a CellML identifier and SHALL be interpreted dependent on the context of the :ref:`CellML model` in which it occurs, according to the units referencing rules defined later in this section. -#. A :ref:`CellML infoset` MUST NOT contain a units reference for which no - referencing rule can be held to have been followed. +#. A :ref:`CellML infoset` MUST NOT contain a units reference for which no referencing rule can be held to have been followed. #. The units referencing rules are: - #. Where there is a :code:`units` element with a :code:`name` attribute - identical to the units reference, then the units reference SHALL - refer to that :code:`units` element. + #. Where there is a :code:`units` element with a :code:`name` attribute identical to the units reference, then the units reference SHALL refer to that :code:`units` element. - #. Where there is an :code:`import units` element in the :ref:`CellML infoset`, - such that the :code:`import units` element has a :code:`name` attribute - identical to the units reference, then the units reference SHALL - be treated with respect to referencing rules as if the units - reference appeared in the imported infoset, and referring to the - :code:`name` specified in the :code:`units_ref` attribute of the - :code:`import units` element. + #. Where there is an :code:`import units` element in the :ref:`CellML infoset`, such that the :code:`import units` element has a :code:`name` attribute identical to the units reference, then the units reference SHALL be treated with respect to referencing rules as if the units reference appeared in the imported infoset, and referring to the :code:`name` specified in the :code:`units_ref` attribute of the :code:`import units` element. - #. Where the units reference is equal to the value in the ‘Name’ - column of the :ref:`Built-in units table` , - then the units reference SHALL be a reference to the built-in units - corresponding to that row of the table. + #. Where the units reference is equal to the value in the ‘Name’ column of the :ref:`Built-in units table`, then the units reference SHALL be a reference to the built-in units corresponding to that row of the table. .. marker_units_reference1 @@ -151,117 +131,66 @@ Interpretation of units 1. The :code:`units` element SHALL be interpreted as the product of its :code:`unit` element children, according to the following rules: - 1. The prefix term is a conceptual property of :code:`unit` elements. If - the :code:`unit` element does not have a :code:`prefix` attribute - information item, the prefix term SHALL have value 0. If the - :code:`prefix` attribute information item has a value which is an - integer string, then the value of the prefix term SHALL be the - numerical value of that string. Otherwise, the :code:`prefix` - attribute information item MUST have a value taken from the ‘Name’ - column of the :ref:`Prefix values table`, and the - prefix term SHALL have the value taken from the ‘Value’ column of - the same row. + 1. The prefix term is a conceptual property of :code:`unit` elements. + If the :code:`unit` element does not have a :code:`prefix` attribute information item, the prefix term SHALL have value 0. + If the :code:`prefix` attribute information item has a value which is an integer string, then the value of the prefix term SHALL be the numerical value of that string. + Otherwise, the :code:`prefix` attribute information item MUST have a value taken from the ‘Name’ column of the :ref:`Prefix values table`, and the prefix term SHALL have the value taken from the ‘Value’ column of the same row. .. marker_interpretation_of_units_1_1 2. The exponent term is a conceptual property of :code:`unit` elements. - If a :code:`unit` element has no :code:`exponent` attribute information - item, the exponent term SHALL have value 1.0. Otherwise, the value - of the :code:`exponent` attribute information item MUST be a real - number string, and the value of the exponent term SHALL be the - numerical value of that string. + If a :code:`unit` element has no :code:`exponent` attribute information item, the exponent term SHALL have value 1.0. + Otherwise, the value of the :code:`exponent` attribute information item MUST be a real number string, and the value of the exponent term SHALL be the numerical value of that string. 3. The multiplier term is a conceptual property of :code:`unit` elements. - If a :code:`unit` element has no :code:`multiplier` attribute information - item, the multiplier term SHALL have value 1.0. Otherwise, the - value of the :code:`multiplier` attribute information item MUST be a - real number string, and the value of the multiplier term SHALL be - the numerical value of that string. + If a :code:`unit` element has no :code:`multiplier` attribute information item, the multiplier term SHALL have value 1.0. + Otherwise, the value of the :code:`multiplier` attribute information item MUST be a real number string, and the value of the multiplier term SHALL be the numerical value of that string. .. marker_interpretation_of_units_1_3 - 4. The relationship between the product, :math:`P`, of numerical values - given in each and every child :code:`unit` element units, to a - numerical value, :math:`x`, with units given by the encompassing - :code:`units` element, SHALL be + 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element units, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be .. image:: images/equation_units_expansion.png :align: center :width: 50% - where: :math:`u_x` denotes the units of the :code:`units` element; - :math:`p_i`, :math:`e_i`, :math:`m_i` and :math:`u_i` - refer to the prefix, exponent and - multiplier terms and units of the :math:`i^{th}` :code:`unit` child - element, respectively. Square brackets encompass the units of numerical - values. + where: :math:`u_x` denotes the units of the :code:`units` element; :math:`p_i`, :math:`e_i`, :math:`m_i` and :math:`u_i` refer to the prefix, exponent and multiplier terms and units of the :math:`i^{th}` :code:`unit` child element, respectively. + Square brackets encompass the units of numerical values. .. marker_interpretation_of_units_1_4 -2. For the purposes of this specification, the "irreducible units" of a - model SHALL consist of 1) the units defined in a model that are not - defined in terms of other units (i.e. the set of :code:`units` elements - in the :ref:`CellML model` which have no :code:`unit` - child elements), and 2) - built-in irreducible units (those built-in units with "-" in the - "Unit Reduction" column of the - :ref:`Built-in units` - table) referenced by variables or other units in the model. +2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements), and 2) built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units` table) referenced by variables or other units in the model. .. marker_interpretation_of_units_2 3. The "unit reduction" is a conceptual property of :code:`units` elements. - It consists of a set of tuples where each tuple is composed of a) a - unit name and b) a real-valued exponent. Tuples SHALL be determined - as follows: - - 1. If the :code:`units` element has no :code:`unit` child elements, then the - set of tuples SHALL have a single member, which SHALL consist of - the name of the :code:`units` element and the exponent 1.0. - - 2. If the :code:`units` element has one or more :code:`unit` child elements, - then the set of tuples SHALL consist of the entire collection of - tuples given by all :code:`unit` child elements. Tuples for each - :code:`unit` child element SHALL be determined as follows: - - 1. Where the units reference of the :code:`unit` child element is to a - single unit which is an irreducible unit, then the set of - tuples SHALL have a single member, which SHALL consist of the - name of the irreducible unit being referenced and the exponent - 1.0. - - 2. Where the units reference of the :code:`unit` child element is to - built-in units other than an irreducible unit, then the tuples - SHALL be derived directly from the - :ref:`Built-in units` table. Specifically, - the set of tuples SHALL consist of the tuples given in the - "Unit reduction tuple set" column of the row for which the value in the - "Name" column matches the name of the units reference. - - 3. Where the units reference of the :code:`unit` child element is to a - unit which is neither built-in, nor an irreducible unit, the - set of tuples SHALL be defined recursively as the set of tuples - for the :code:`units` element so referenced. - - 4. The exponents of each tuple in the set for the current :code:`unit` - element, as derived by following rule 3.2.1, 3.2.2 or 3.2.3 - above, SHALL be multiplied by the exponent term of the current, - referencing, :code:`unit` element. + It consists of a set of tuples where each tuple is composed of a) a unit name and b) a real-valued exponent. + Tuples SHALL be determined as follows: + + 1. If the :code:`units` element has no :code:`unit` child elements, then the set of tuples SHALL have a single member, which SHALL consist of the name of the :code:`units` element and the exponent 1.0. + + 2. If the :code:`units` element has one or more :code:`unit` child elements, then the set of tuples SHALL consist of the entire collection of tuples given by all :code:`unit` child elements. + Tuples for each :code:`unit` child element SHALL be determined as follows: + + 1. Where the units reference of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. + + 2. Where the units reference of the :code:`unit` child element is to built-in units other than an irreducible unit, then the tuples SHALL be derived directly from the :ref:`Built-in units` table. + Specifically, the set of tuples SHALL consist of the tuples given in the "Unit reduction tuple set" column of the row for which the value in the "Name" column matches the name of the units reference. + + 3. Where the units reference of the :code:`unit` child element is to a unit which is neither built-in, nor an irreducible unit, the set of tuples SHALL be defined recursively as the set of tuples for the :code:`units` element so referenced. + + 4. The exponents of each tuple in the set for the current :code:`unit` element, as derived by following rule 3.2.1, 3.2.2 or 3.2.3 above, SHALL be multiplied by the exponent term of the current, referencing, :code:`unit` element. .. marker_interpretation_of_units_3_2 - 3. Tuples which have the name element of ‘dimensionless’ SHALL be - removed from the set of tuples. Note that this can result in the - set of tuples being empty. + 3. Tuples which have the name element of ‘dimensionless’ SHALL be removed from the set of tuples. + Note that this can result in the set of tuples being empty. .. marker_interpretation_of_units_3_3 - 4. Where the set of tuples consists of tuples which have the same - name element, those tuples SHALL be combined into a single tuple - with that name element and an exponent being the sum of the - combined tuples’ exponents. If the resulting tuple’s exponent term - is zero, the tuple SHALL be removed from the set of tuples. Note - that this can result in the set of tuples being empty. + 4. Where the set of tuples consists of tuples which have the same name element, those tuples SHALL be combined into a single tuple with that name element and an exponent being the sum of the combined tuples’ exponents. + If the resulting tuple’s exponent term is zero, the tuple SHALL be removed from the set of tuples. + Note that this can result in the set of tuples being empty. .. marker_interpretation_of_units_3_4 @@ -303,29 +232,15 @@ yocto −24 Component reference ------------------- -#. A component reference SHALL be the name of a component, and SHALL be - interpreted based on the context within the - :ref:`CellML model` in which it occurs. +#. A component reference SHALL be the name of a component, and SHALL be interpreted based on the context within the :ref:`CellML model` in which it occurs. -#. A component reference present in an information item which is a - descendant of a :code:`model` element SHALL be identical to either the - :code:`name` attribute on a :code:`component` element or to the :code:`name` - attribute on an :code:`import component` element. +#. A component reference present in an information item which is a descendant of a :code:`model` element SHALL be identical to either the :code:`name` attribute on a :code:`component` element or to the :code:`name` attribute on an :code:`import component` element. -#. A component reference which is identical to the :code:`name` attribute on - a :code:`component` element SHALL be treated as a reference to that - :code:`component` element. +#. A component reference which is identical to the :code:`name` attribute on a :code:`component` element SHALL be treated as a reference to that :code:`component` element. -#. A component reference which is identical to the :code:`name` attribute on - an :code:`import component` element SHALL be treated for the purposes of - referencing as if the component reference appeared in the imported - model, and referred to element with the :code:`name` specified in the - :code:`component_ref` attribute of the :code:`import component` element. +#. A component reference which is identical to the :code:`name` attribute on an :code:`import component` element SHALL be treated for the purposes of referencing as if the component reference appeared in the imported model, and referred to element with the :code:`name` specified in the :code:`component_ref` attribute of the :code:`import component` element. -#. It is noted, for the avoidance of doubt, that CellML models MAY apply - the previous rule recursively, to reference an :code:`import component` - element which in turn references another :code:`import component` - element. +#. It is noted, for the avoidance of doubt, that CellML models MAY apply the previous rule recursively, to reference an :code:`import component` element which in turn references another :code:`import component` element. .. marker_component_reference_end .. marker_variable_reference_start @@ -335,16 +250,10 @@ Component reference Variable reference ------------------ -#. When present in an information item which is a descendant of a - :code:`component` element, a variable reference SHALL be the name of a - variable, and SHALL refer to the :code:`variable` element in that - component with a :code:`name` attribute identical to the variable - reference. +#. When present in an information item which is a descendant of a :code:`component` element, a variable reference SHALL be the name of a variable, and SHALL refer to the :code:`variable` element in that component with a :code:`name` attribute identical to the variable reference. -#. In all other cases, a variable reference SHALL consist of a component - reference and a variable name. In this case, the variable reference - SHALL be treated as if it was just the variable name present in the - :code:`component` element referenced by the component reference. +#. In all other cases, a variable reference SHALL consist of a component reference and a variable name. +In this case, the variable reference SHALL be treated as if it was just the variable name present in the :code:`component` element referenced by the component reference. .. marker_variable_reference_end .. marker_interpretation_of_initial_values_start @@ -354,21 +263,13 @@ Variable reference Interpretation of initial values -------------------------------- -#. The :code:`initial_value` attribute of a :code:`variable` element MUST - either be a real number string, or a variable reference (see 19.5). +#. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a real number string, or a variable reference (see 19.5). -#. The conditions when initial values hold are (by design) not defined - in a :ref:`CellML model` document. +#. The conditions when initial values hold are (by design) not defined in a :ref:`CellML model` document. -#. Where the :code:`initial_value` attribute has a real number value, it - SHALL be interpreted as a statement that the variable on which the - attribute appears is equal to that real number value, under the - conditions when the initial value holds. +#. Where the :code:`initial_value` attribute has a real number value, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to that real number value, under the conditions when the initial value holds. -#. Where the :code:`initial_value` attribute is a variable reference, it - SHALL be interpreted as a statement that the variable on which the - attribute appears is equal to the referenced variable under the - conditions when the initial value holds. +#. Where the :code:`initial_value` attribute is a variable reference, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to the referenced variable under the conditions when the initial value holds. .. marker_interpretation_of_initial_values_end .. marker_effect_of_units_on_variables_start @@ -378,11 +279,8 @@ Interpretation of initial values Effect of units on variables ---------------------------- -#. The value of the :code:`units` attribute on every :code:`variable` element - MUST be a valid units reference. The target of this units reference - is referred to as the variable units, and the corresponding unit - reduction (see :ref:`Interpretation of units`) is referred - to as the variable unit reduction. +#. The value of the :code:`units` attribute on every :code:`variable` element MUST be a valid units reference. + The target of this units reference is referred to as the variable units, and the corresponding unit reduction (see :ref:`Interpretation of units`) is referred to as the variable unit reduction. .. marker_effect_of_units_on_variables_end .. marker_interpretation_of_mathematics_start @@ -392,32 +290,17 @@ Effect of units on variables Interpretation of mathematics ----------------------------- -#. The following :code:`component` elements SHALL, for the purposes of this - specification, be “pertinent component elements”: +#. The following :code:`component` elements SHALL, for the purposes of this specification, be “pertinent component elements”: - #. All :code:`component` elements in the top-level - :ref:`CellML infoset` for the - :ref:`CellML model`; + #. All :code:`component` elements in the top-level :ref:`CellML infoset` for the :ref:`CellML model`; - #. All :code:`component` elements referenced by :code:`import component` - elements (see - :ref:`The import component element `) - in the top-level :ref:`CellML infoset`; and + #. All :code:`component` elements referenced by :code:`import component` elements (see :ref:`The import component element `) in the top-level :ref:`CellML infoset`; and - #. All :code:`component` elements which are descendants in the - encapsulation digraph (see - :ref:`Interpretation of encapsulation `) - of a pertinent :code:`component` element. + #. All :code:`component` elements which are descendants in the encapsulation digraph (see :ref:`Interpretation of encapsulation `) of a pertinent :code:`component` element. -#. Every MathML element in the :ref:`CellML model` which appears as a direct - child information item of a MathML :code:`math` element information item, - which in turn appears as a child information item of a pertinent - :code:`component` element, SHALL be treated, in terms of the semantics of - the mathematical model, as a statement which holds true - unconditionally. +#. Every MathML element in the :ref:`CellML model` which appears as a direct child information item of a MathML :code:`math` element information item, which in turn appears as a child information item of a pertinent :code:`component` element, SHALL be treated, in terms of the semantics of the mathematical model, as a statement which holds true unconditionally. -#. Units referenced by a :code:`units` attribute information item SHALL NOT - affect the mathematical interpretation of the :ref:`CellML model`. +#. Units referenced by a :code:`units` attribute information item SHALL NOT affect the mathematical interpretation of the :ref:`CellML model`. .. marker_interpretation_of_mathematics_end .. marker_interpretation_of_encapsulation_start @@ -427,41 +310,20 @@ Interpretation of mathematics Interpretation of encapsulation ------------------------------- -#. For the purposes of this specification, there SHALL be a “conceptual - encapsulation digraph” in which there is EXACTLY one node for every - component in the :ref:`CellML model`. Therefore the encapsulation digraph - will not contain any loops. - -#. Where a :code:`component_ref` element appears as a child of another - :code:`component_ref` element, there SHALL be an arc in the encapsulation - digraph, and that arc SHALL be from the node corresponding to the - component referenced by the parent :code:`component_ref` element, and to - the node corresponding to the component referenced by the child - :code:`component_ref` element. - -#. The encapsulated set for a component *A* SHALL be the set of all - components *B* such that there exists an arc in the encapsulation - digraph from the node corresponding to *A* to the node corresponding - to *B*. - -#. The encapsulation parent for a component *A* SHALL be the component - corresponding to the node which is the parent node in the - encapsulation digraph of the node corresponding to *A*. - -#. The sibling set for a component *A* SHALL be the set of all - components which have the same encapsulation parent as *A*, or in the - case that *A* has no encapsulation parent, SHALL be the set of all - components which do not have an encapsulation parent. - -#. The hidden set for a component *A* SHALL be the set of all components - *B* where component *B* is not in the encapsulated set for component - *A*, and component *B* is not the encapsulation parent of component - *A*, and component *B* is not in the sibling set for component *A*. - -#. There MUST NOT be a :code:`connection` element such that the component - referenced by the :code:`component_1` attribute is in the hidden set of - the component referenced by the :code:`component_2` attribute, nor vice - versa. +#. For the purposes of this specification, there SHALL be a “conceptual encapsulation digraph” in which there is EXACTLY one node for every component in the :ref:`CellML model`. + Therefore the encapsulation digraph will not contain any loops. + +#. Where a :code:`component_ref` element appears as a child of another :code:`component_ref` element, there SHALL be an arc in the encapsulation digraph, and that arc SHALL be from the node corresponding to the component referenced by the parent :code:`component_ref` element, and to the node corresponding to the component referenced by the child :code:`component_ref` element. + +#. The encapsulated set for a component *A* SHALL be the set of all components *B* such that there exists an arc in the encapsulation digraph from the node corresponding to *A* to the node corresponding to *B*. + +#. The encapsulation parent for a component *A* SHALL be the component corresponding to the node which is the parent node in the encapsulation digraph of the node corresponding to *A*. + +#. The sibling set for a component *A* SHALL be the set of all components which have the same encapsulation parent as *A*, or in the case that *A* has no encapsulation parent, SHALL be the set of all components which do not have an encapsulation parent. + +#. The hidden set for a component *A* SHALL be the set of all components *B* where component *B* is not in the encapsulated set for component *A*, and component *B* is not the encapsulation parent of component *A*, and component *B* is not in the sibling set for component *A*. + +#. There MUST NOT be a :code:`connection` element such that the component referenced by the :code:`component_1` attribute is in the hidden set of the component referenced by the :code:`component_2` attribute, nor vice versa. .. marker_interpretation_of_encapsulation_end .. marker_interpretation_of_map_variables_start @@ -471,100 +333,56 @@ Interpretation of encapsulation Interpretation of map_variables ------------------------------- -#. For the purposes of this specification, the variable equivalence - (conceptual) network SHALL be an undirected graph with one node for - every :code:`variable` element in the :ref:`CellML model`. The arcs of this - graph SHALL be equivalences defined in the CellML model. +#. For the purposes of this specification, the variable equivalence (conceptual) network SHALL be an undirected graph with one node for every :code:`variable` element in the :ref:`CellML model`. + The arcs of this graph SHALL be equivalences defined in the CellML model. -#. For each :code:`map_variables` element present in the CellML model, we - define variables *A* and *B* for use in the rules in this section as - follows. +#. For each :code:`map_variables` element present in the CellML model, we define variables *A* and *B* for use in the rules in this section as follows. - #. Variable *A* SHALL be the variable referenced by the encompassing - :code:`connection` element’s :code:`component_1` and this - :code:`map_variables` element’s :code:`variable_1` attribute. + #. Variable *A* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_1` and this :code:`map_variables` element’s :code:`variable_1` attribute. - #. Variable *B* SHALL be the variable referenced by the encompassing - :code:`connection` element’s :code:`component_2` and this - :code:`map_variables` element’s :code:`variable_2` attribute. + #. Variable *B* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_2` and this :code:`map_variables` element’s :code:`variable_2` attribute. -#. For every :code:`map_variables` element present in the CellML model, - there SHALL be an arc in the variable equivalence network. +#. For every :code:`map_variables` element present in the CellML model, there SHALL be an arc in the variable equivalence network. - #. One endpoint of the arc in the variable equivalence network SHALL - be the node corresponding to variable *A*. + #. One endpoint of the arc in the variable equivalence network SHALL be the node corresponding to variable *A*. - #. One endpoint of the arc in the variable equivalence network SHALL - be the node corresponding to variable *B*. + #. One endpoint of the arc in the variable equivalence network SHALL be the node corresponding to variable *B*. -#. CellML models MUST NOT contain any pair of :code:`map_variables` - elements which duplicates an existing arc in the variable - equivalence network. +#. CellML models MUST NOT contain any pair of :code:`map_variables` elements which duplicates an existing arc in the variable equivalence network. #. The variable equivalence network MUST NOT contain any cycles. -#. For each :code:`map_variables` element present in the CellML model, the - variable unit reduction (see - :ref:`Effect of units on variables ` ) - of variable *A* MUST have an identical set - of tuples to the variable unit reduction of variable *B*. Two sets - of tuples SHALL be considered identical if all of the tuples from - each set are present in the other, or if both sets are empty. Two - tuples are considered identical if and only if both the name and - exponent value of each tuple are equivalent. +#. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :ref:`Effect of units on variables ` ) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. + Two sets of tuples SHALL be considered identical if all of the tuples from each set are present in the other, or if both sets are empty. + Two tuples are considered identical if and only if both the name and exponent value of each tuple are equivalent. -#. Tuples differing by a multiplying factor in their unit reduction - MUST be taken into account when interpreting the numerical values of - the variables (see :ref:`Interpretation of units`). +#. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :ref:`Interpretation of units`). -#. For a given variable, the available interfaces SHALL be determined - by the :code:`interface` attribute information item on the corresponding - :code:`variable` element as follows. +#. For a given variable, the available interfaces SHALL be determined by the :code:`interface` attribute information item on the corresponding :code:`variable` element as follows. - #. A value of :code:`public` specifies that the variable has a public - interface. + #. A value of :code:`public` specifies that the variable has a public interface. - #. A value of :code:`private` specifies that the variable has a private - interface. + #. A value of :code:`private` specifies that the variable has a private interface. - #. A value of :code:`public_and_private` specifies that the variable has - both a public and a private interface. + #. A value of :code:`public_and_private` specifies that the variable has both a public and a private interface. #. A value of :code:`none` specifies that the variable has no interface. - #. If the :code:`interface` attribute information item is absent, then - the variable has no interface. + #. If the :code:`interface` attribute information item is absent, then the variable has no interface. -#. The applicable interfaces for variables *A* and *B* SHALL be defined - as follows. +#. The applicable interfaces for variables *A* and *B* SHALL be defined as follows. - #. When the parent :code:`component` element of variable *A* is in the - sibling set of the parent :code:`component` element of variable *B*, - the applicable interface for both variables *A* and *B* SHALL be - the public interface. + #. When the parent :code:`component` element of variable *A* is in the sibling set of the parent :code:`component` element of variable *B*, the applicable interface for both variables *A* and *B* SHALL be the public interface. - #. When the parent :code:`component` element of variable *A* is in the - encapsulated set of the parent :code:`component` element of variable - *B*, the applicable interface for variable *A* SHALL be the - public interface, and the applicable interface for variable *B* - SHALL be the private interface. + #. When the parent :code:`component` element of variable *A* is in the encapsulated set of the parent :code:`component` element of variable *B*, the applicable interface for variable *A* SHALL be the public interface, and the applicable interface for variable *B* SHALL be the private interface. - #. When the parent :code:`component` element of variable *B* is in the - encapsulated set of the parent :code:`component` element of variable - *A*, the applicable interface for variable *A* SHALL be the - private interface, and the applicable interface for variable *B* - SHALL be the public interface. + #. When the parent :code:`component` element of variable *B* is in the encapsulated set of the parent :code:`component` element of variable *A*, the applicable interface for variable *A* SHALL be the private interface, and the applicable interface for variable *B* SHALL be the public interface. -#. CellML models MUST only contain :code:`map_variables` elements where the - interface of variable *A* and the interface of variable *B* are - applicable interfaces. +#. CellML models MUST only contain :code:`map_variables` elements where the interface of variable *A* and the interface of variable *B* are applicable interfaces. -#. The :code:`variable` elements in a CellML model SHALL be treated as - belonging to a single “connected variable set”. Each set of - connected variables is the set of all :code:`variable` elements for - which the corresponding nodes in the variable equivalence network - form a connected subgraph. Each set of connected variables - represents one variable in the underlying mathematical model. +#. The :code:`variable` elements in a CellML model SHALL be treated as belonging to a single “connected variable set”. + Each set of connected variables is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a connected subgraph. + Each set of connected variables represents one variable in the underlying mathematical model. .. marker_interpretation_of_map_variables_end .. marker_interpretation_of_variable_resets_start @@ -574,24 +392,13 @@ Interpretation of map_variables Interpretation of variable resets --------------------------------- -#. Each :code:`reset` element describes a change to be applied to the - variable referenced by the :code:`variable` attribute when specified - conditions are met during the simulation of the model. - -#. All :code:`reset` elements SHALL be considered sequentially for the - connected variable set (see - :ref:`Interpretation of map_variables`) - to which the referenced variable - belongs. The sequence SHALL be determined by the value of the reset - element’s :code:`order` attribute, lowest (least positive / most - negative) having priority. - -#. The condition under which a reset occurs SHALL be defined by the - equality of the reset element’s :code:`test_variable` attribute and the - evaluation of the MathML expression encoded in the :code:`test_value`. - -#. When a reset occurs, the variable referenced by the reset element’s - :code:`variable` attribute SHALL be set to the result of evaluating the - MathML expression encoded in the :code:`reset_value`. +#. Each :code:`reset` element describes a change to be applied to the variable referenced by the :code:`variable` attribute when specified conditions are met during the simulation of the model. + +#. All :code:`reset` elements SHALL be considered sequentially for the connected variable set (see :ref:`Interpretation of map_variables`) to which the referenced variable belongs. + The sequence SHALL be determined by the value of the reset element’s :code:`order` attribute, lowest (least positive / most negative) having priority. + +#. The condition under which a reset occurs SHALL be defined by the equality of the reset element’s :code:`test_variable` attribute and the evaluation of the MathML expression encoded in the :code:`test_value`. + +#. When a reset occurs, the variable referenced by the reset element’s :code:`variable` attribute SHALL be set to the result of evaluating the MathML expression encoded in the :code:`reset_value`. .. marker_interpretation_of_variable_resets_end diff --git a/reference/sectionD_references.rst b/reference/sectionD_references.rst index 01a40bb6..7dfd658d 100644 --- a/reference/sectionD_references.rst +++ b/reference/sectionD_references.rst @@ -5,27 +5,17 @@ Section D: References ===================== -`RFC 2119: Key words for use in RFCs to Indicate Requirement -Levels `__ (March 1997) +`RFC 2119: Key words for use in RFCs to Indicate Requirement Levels `__ (March 1997) -`Extensible Markup Language (XML) 1.1 (Second -Edition) `__ (16 August -2006) +`Extensible Markup Language (XML) 1.1 (Second Edition) `__ (16 August 2006) -`XML Information Set (Second -Edition) `__ (4 -February 2004) +`XML Information Set (Second Edition) `__ (4 February 2004) -`Namespaces in XML 1.1 (Second -Edition) `__ (16 -August 2006) +`Namespaces in XML 1.1 (Second Edition) `__ (16 August 2006) -`Mathematical Markup Language (MathML) Version 2.0 (Second -Edition) `__ (21 -October 2003) +`Mathematical Markup Language (MathML) Version 2.0 (Second Edition) `__ (21 October 2003) -`XML Linking Language (XLink) Version -1.0 `__ (27 June 2001) +`XML Linking Language (XLink) Version 1.0 `__ (27 June 2001) .. |Capture.JPG| image:: media/image1.jpg :width: 4.87135in From b3a63e53a6a9cc6fc3cef524c3587949a1bb6800 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 18 Mar 2020 11:53:30 +1300 Subject: [PATCH 066/604] Removing auto section heading links --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index e056dc34..a4b3e686 100644 --- a/conf.py +++ b/conf.py @@ -33,7 +33,7 @@ 'sphinx.ext.todo', 'sphinx.ext.viewcode', 'sphinx.ext.extlinks', - 'sphinx.ext.autosectionlabel', + # 'sphinx.ext.autosectionlabel', # Removing as we have a lot of duplicated titles 'sphinx.ext.intersphinx', 'hoverxref.extension', ] From a64b8e9cb9433e1d0632f6efc0f867aa3702fb45 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 18 Mar 2020 12:38:14 +1300 Subject: [PATCH 067/604] Working through warnings --- reference/inform/informB1_model1.rst | 1 + reference/libcellml/libcellmlB1.rst | 5 +++-- reference/sectionA_definitions.rst | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/reference/inform/informB1_model1.rst b/reference/inform/informB1_model1.rst index d1d508f4..983d5b73 100644 --- a/reference/inform/informB1_model1.rst +++ b/reference/inform/informB1_model1.rst @@ -24,3 +24,4 @@ than the underscore :code:`_` are not permitted) - :code:`1amNotValidEither` is not valid (must not begin with a number) - :code:`" "` empty string is not valid (a name must be present). + diff --git a/reference/libcellml/libcellmlB1.rst b/reference/libcellml/libcellmlB1.rst index b8b6859e..473846bd 100644 --- a/reference/libcellml/libcellmlB1.rst +++ b/reference/libcellml/libcellmlB1.rst @@ -8,7 +8,8 @@ .. container:: infolib - Possible errors related to the :code:`model` item - ------------------------------------------------- + .. container:: heading3 + + Possible errors related to the :code:`model` item **TODO** put list of errors/issues/hints from the validator/generator here. diff --git a/reference/sectionA_definitions.rst b/reference/sectionA_definitions.rst index 65088b06..e0af95ab 100644 --- a/reference/sectionA_definitions.rst +++ b/reference/sectionA_definitions.rst @@ -324,7 +324,7 @@ The following data representation formats are defined for use in this specificat 4. An exponent SHALL be represented by an exponent separator character, followed by the :ref:`integer string representation` of the value of the exponent. Non-negative exponents MAY begin with the Basic Latin plus sign character :unicode:`002B` as the sign indicator. - The exponent separator character SHALL be either the Basic Latin ‘E’ character :unicode:`0045` or the Basic Latin ‘e’ character :unicode:`0065`. + The exponent separator character SHALL be either the Basic Latin ‘E’ character :unicode:`0045` or the Basic Latin ‘e’ character :unicode:`0065`. .. container:: issue-data-repr-real-no-exponent From ba9ab83cbccde7be73aaaa8d0f0dfb85cda1f427 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 11:38:23 +1300 Subject: [PATCH 068/604] Created subfolders separating formal and informative spec presentation --- .../{ => formal_and_informative}/specA1.rst | 4 +-- .../{ => formal_and_informative}/specA2.rst | 4 +-- reference/formal_and_informative/specA3.rst | 31 +++++++++++++++++++ reference/formal_and_informative/specB01.rst | 21 +++++++++++++ .../{ => formal_and_informative}/specB02.rst | 12 +++---- .../{ => formal_and_informative}/specB03.rst | 6 ++-- .../{ => formal_and_informative}/specB04.rst | 4 +-- .../{ => formal_and_informative}/specB05.rst | 4 +-- .../{ => formal_and_informative}/specB06.rst | 8 ++--- .../{ => formal_and_informative}/specB07.rst | 12 +++---- .../{ => formal_and_informative}/specB08.rst | 4 +-- .../{ => formal_and_informative}/specB09.rst | 4 +-- .../{ => formal_and_informative}/specB10.rst | 4 +-- .../{ => formal_and_informative}/specB11.rst | 4 +-- .../{ => formal_and_informative}/specB12.rst | 18 +++++------ .../{ => formal_and_informative}/specB13.rst | 4 +-- .../{ => formal_and_informative}/specB14.rst | 4 +-- .../{ => formal_and_informative}/specB15.rst | 16 +++++----- .../{ => formal_and_informative}/specB16.rst | 8 ++--- .../specC01_interpretation_of_imports.rst | 4 +-- .../specC02_units_reference.rst | 6 ++-- .../specC03_interpretation_of_units.rst | 30 +++++++++--------- .../specC04_component_reference.rst | 4 +-- .../specC05_variable_reference.rst | 4 +-- ...ecC06_interpretation_of_initial_values.rst | 4 +-- .../specC07_effect_of_units_on_variables.rst | 4 +-- .../specC08_interpretation_of_mathematics.rst | 4 +-- ...pecC09_interpretation_of_encapsulation.rst | 4 +-- ...pecC10_interpretation_of_map_variables.rst | 4 +-- ...cC11_interpretation_of_variable_resets.rst | 4 +-- reference/formal_only/specA1.rst | 4 +++ reference/formal_only/specA2.rst | 4 +++ reference/formal_only/specA3.rst | 5 +++ reference/formal_only/specB01.rst | 4 +++ reference/formal_only/specB02.rst | 4 +++ reference/formal_only/specB03.rst | 5 +++ reference/formal_only/specB04.rst | 4 +++ reference/formal_only/specB05.rst | 4 +++ reference/formal_only/specB06.rst | 4 +++ reference/formal_only/specB07.rst | 4 +++ reference/formal_only/specB08.rst | 4 +++ reference/formal_only/specB09.rst | 5 +++ reference/formal_only/specB10.rst | 4 +++ reference/formal_only/specB11.rst | 5 +++ reference/formal_only/specB12.rst | 4 +++ reference/formal_only/specB13.rst | 4 +++ reference/formal_only/specB14.rst | 4 +++ reference/formal_only/specB15.rst | 4 +++ reference/formal_only/specB16.rst | 4 +++ .../specC01_interpretation_of_imports.rst | 4 +++ .../formal_only/specC02_units_reference.rst | 4 +++ .../specC03_interpretation_of_units.rst | 4 +++ .../specC04_component_reference.rst | 4 +++ .../specC05_variable_reference.rst | 4 +++ ...ecC06_interpretation_of_initial_values.rst | 4 +++ .../specC07_effect_of_units_on_variables.rst | 4 +++ .../specC08_interpretation_of_mathematics.rst | 4 +++ ...pecC09_interpretation_of_encapsulation.rst | 4 +++ ...pecC10_interpretation_of_map_variables.rst | 4 +++ ...cC11_interpretation_of_variable_resets.rst | 4 +++ reference/index_sectionA.rst | 2 +- reference/index_sectionB.rst | 2 +- reference/index_sectionC.rst | 2 +- .../{inform => informative}/informA1.rst | 0 .../{inform => informative}/informA2.rst | 0 .../{inform => informative}/informA3_1.rst | 0 .../{inform => informative}/informA3_2.rst | 0 .../{inform => informative}/informA3_3.rst | 0 .../{inform => informative}/informA3_4.rst | 0 .../{inform => informative}/informA3_5.rst | 0 .../informB10_test_value1.rst | 0 .../informB11_reset_value1.rst | 0 .../informB12_math1.rst | 0 .../informB12_math2.rst | 0 .../informB12_math3.rst | 0 .../informB12_math4.rst | 0 .../informB12_math5.rst | 0 .../informB13_encapsulation1.rst | 0 .../informB14_component_ref1.rst | 0 .../informB15_connection2.rst | 0 .../informB15_connection3.rst | 0 .../informB15_connection4.rst | 0 .../informB15_connection5.rst | 0 .../informB16_map_variables2.rst | 0 .../informB16_map_variables3.rst | 0 .../informB1_model1.rst | 0 .../informB1_model2.rst | 0 .../informB1_model3.rst | 0 .../informB2_import1.rst | 0 .../informB2_import2.rst | 0 .../informB2_import3.rst | 0 .../informB3_import_units1.rst | 0 .../informB4_import_component1.rst | 0 .../informB5_units1.rst | 0 .../informB6_unit1.rst | 0 .../informB6_unit2.rst | 0 .../informB7_component1.rst | 0 .../informB7_component2.rst | 0 .../informB7_component3.rst | 0 .../informB8_variable1.rst | 0 .../informB9_reset1.rst | 0 .../informC01_imports.rst | 0 .../informC02_units_reference.rst | 0 .../informC03_interpretation_of_units1_1.rst | 0 .../informC03_interpretation_of_units1_3.rst | 0 .../informC03_interpretation_of_units1_4.rst | 0 .../informC03_interpretation_of_units2.rst | 0 .../informC03_interpretation_of_units3_2.rst | 0 .../informC03_interpretation_of_units3_3.rst | 0 .../informC03_interpretation_of_units3_4.rst | 0 reference/specA3.rst | 31 ------------------- reference/specB01.rst | 21 ------------- 112 files changed, 275 insertions(+), 151 deletions(-) rename reference/{ => formal_and_informative}/specA1.rst (53%) rename reference/{ => formal_and_informative}/specA2.rst (58%) create mode 100644 reference/formal_and_informative/specA3.rst create mode 100644 reference/formal_and_informative/specB01.rst rename reference/{ => formal_and_informative}/specB02.rst (51%) rename reference/{ => formal_and_informative}/specB03.rst (64%) rename reference/{ => formal_and_informative}/specB04.rst (63%) rename reference/{ => formal_and_informative}/specB05.rst (53%) rename reference/{ => formal_and_informative}/specB06.rst (53%) rename reference/{ => formal_and_informative}/specB07.rst (52%) rename reference/{ => formal_and_informative}/specB08.rst (54%) rename reference/{ => formal_and_informative}/specB09.rst (53%) rename reference/{ => formal_and_informative}/specB10.rst (55%) rename reference/{ => formal_and_informative}/specB11.rst (55%) rename reference/{ => formal_and_informative}/specB12.rst (50%) rename reference/{ => formal_and_informative}/specB13.rst (56%) rename reference/{ => formal_and_informative}/specB14.rst (56%) rename reference/{ => formal_and_informative}/specB15.rst (51%) rename reference/{ => formal_and_informative}/specB16.rst (57%) rename reference/{ => formal_and_informative}/specC01_interpretation_of_imports.rst (56%) rename reference/{ => formal_and_informative}/specC02_units_reference.rst (57%) rename reference/{ => formal_and_informative}/specC03_interpretation_of_units.rst (51%) rename reference/{ => formal_and_informative}/specC04_component_reference.rst (51%) rename reference/{ => formal_and_informative}/specC05_variable_reference.rst (50%) rename reference/{ => formal_and_informative}/specC06_interpretation_of_initial_values.rst (53%) rename reference/{ => formal_and_informative}/specC07_effect_of_units_on_variables.rst (52%) rename reference/{ => formal_and_informative}/specC08_interpretation_of_mathematics.rst (53%) rename reference/{ => formal_and_informative}/specC09_interpretation_of_encapsulation.rst (53%) rename reference/{ => formal_and_informative}/specC10_interpretation_of_map_variables.rst (53%) rename reference/{ => formal_and_informative}/specC11_interpretation_of_variable_resets.rst (53%) create mode 100644 reference/formal_only/specA1.rst create mode 100644 reference/formal_only/specA2.rst create mode 100644 reference/formal_only/specA3.rst create mode 100644 reference/formal_only/specB01.rst create mode 100644 reference/formal_only/specB02.rst create mode 100644 reference/formal_only/specB03.rst create mode 100644 reference/formal_only/specB04.rst create mode 100644 reference/formal_only/specB05.rst create mode 100644 reference/formal_only/specB06.rst create mode 100644 reference/formal_only/specB07.rst create mode 100644 reference/formal_only/specB08.rst create mode 100644 reference/formal_only/specB09.rst create mode 100644 reference/formal_only/specB10.rst create mode 100644 reference/formal_only/specB11.rst create mode 100644 reference/formal_only/specB12.rst create mode 100644 reference/formal_only/specB13.rst create mode 100644 reference/formal_only/specB14.rst create mode 100644 reference/formal_only/specB15.rst create mode 100644 reference/formal_only/specB16.rst create mode 100644 reference/formal_only/specC01_interpretation_of_imports.rst create mode 100644 reference/formal_only/specC02_units_reference.rst create mode 100644 reference/formal_only/specC03_interpretation_of_units.rst create mode 100644 reference/formal_only/specC04_component_reference.rst create mode 100644 reference/formal_only/specC05_variable_reference.rst create mode 100644 reference/formal_only/specC06_interpretation_of_initial_values.rst create mode 100644 reference/formal_only/specC07_effect_of_units_on_variables.rst create mode 100644 reference/formal_only/specC08_interpretation_of_mathematics.rst create mode 100644 reference/formal_only/specC09_interpretation_of_encapsulation.rst create mode 100644 reference/formal_only/specC10_interpretation_of_map_variables.rst create mode 100644 reference/formal_only/specC11_interpretation_of_variable_resets.rst rename reference/{inform => informative}/informA1.rst (100%) rename reference/{inform => informative}/informA2.rst (100%) rename reference/{inform => informative}/informA3_1.rst (100%) rename reference/{inform => informative}/informA3_2.rst (100%) rename reference/{inform => informative}/informA3_3.rst (100%) rename reference/{inform => informative}/informA3_4.rst (100%) rename reference/{inform => informative}/informA3_5.rst (100%) rename reference/{inform => informative}/informB10_test_value1.rst (100%) rename reference/{inform => informative}/informB11_reset_value1.rst (100%) rename reference/{inform => informative}/informB12_math1.rst (100%) rename reference/{inform => informative}/informB12_math2.rst (100%) rename reference/{inform => informative}/informB12_math3.rst (100%) rename reference/{inform => informative}/informB12_math4.rst (100%) rename reference/{inform => informative}/informB12_math5.rst (100%) rename reference/{inform => informative}/informB13_encapsulation1.rst (100%) rename reference/{inform => informative}/informB14_component_ref1.rst (100%) rename reference/{inform => informative}/informB15_connection2.rst (100%) rename reference/{inform => informative}/informB15_connection3.rst (100%) rename reference/{inform => informative}/informB15_connection4.rst (100%) rename reference/{inform => informative}/informB15_connection5.rst (100%) rename reference/{inform => informative}/informB16_map_variables2.rst (100%) rename reference/{inform => informative}/informB16_map_variables3.rst (100%) rename reference/{inform => informative}/informB1_model1.rst (100%) rename reference/{inform => informative}/informB1_model2.rst (100%) rename reference/{inform => informative}/informB1_model3.rst (100%) rename reference/{inform => informative}/informB2_import1.rst (100%) rename reference/{inform => informative}/informB2_import2.rst (100%) rename reference/{inform => informative}/informB2_import3.rst (100%) rename reference/{inform => informative}/informB3_import_units1.rst (100%) rename reference/{inform => informative}/informB4_import_component1.rst (100%) rename reference/{inform => informative}/informB5_units1.rst (100%) rename reference/{inform => informative}/informB6_unit1.rst (100%) rename reference/{inform => informative}/informB6_unit2.rst (100%) rename reference/{inform => informative}/informB7_component1.rst (100%) rename reference/{inform => informative}/informB7_component2.rst (100%) rename reference/{inform => informative}/informB7_component3.rst (100%) rename reference/{inform => informative}/informB8_variable1.rst (100%) rename reference/{inform => informative}/informB9_reset1.rst (100%) rename reference/{inform => informative}/informC01_imports.rst (100%) rename reference/{inform => informative}/informC02_units_reference.rst (100%) rename reference/{inform => informative}/informC03_interpretation_of_units1_1.rst (100%) rename reference/{inform => informative}/informC03_interpretation_of_units1_3.rst (100%) rename reference/{inform => informative}/informC03_interpretation_of_units1_4.rst (100%) rename reference/{inform => informative}/informC03_interpretation_of_units2.rst (100%) rename reference/{inform => informative}/informC03_interpretation_of_units3_2.rst (100%) rename reference/{inform => informative}/informC03_interpretation_of_units3_3.rst (100%) rename reference/{inform => informative}/informC03_interpretation_of_units3_4.rst (100%) delete mode 100644 reference/specA3.rst delete mode 100644 reference/specB01.rst diff --git a/reference/specA1.rst b/reference/formal_and_informative/specA1.rst similarity index 53% rename from reference/specA1.rst rename to reference/formal_and_informative/specA1.rst index b6f4998c..87ef6e48 100644 --- a/reference/specA1.rst +++ b/reference/formal_and_informative/specA1.rst @@ -1,7 +1,7 @@ .. _specA1: -.. include:: sectionA_definitions.rst +.. include:: ../sectionA_definitions.rst :start-after: marker_terminology_start :end-before: marker_terminology_end -.. include:: inform/informA1.rst +.. include:: ../informative/informA1.rst diff --git a/reference/specA2.rst b/reference/formal_and_informative/specA2.rst similarity index 58% rename from reference/specA2.rst rename to reference/formal_and_informative/specA2.rst index 616acf73..e3f1cdc4 100644 --- a/reference/specA2.rst +++ b/reference/formal_and_informative/specA2.rst @@ -1,7 +1,7 @@ .. _specA2: -.. include:: sectionA_definitions.rst +.. include:: ../sectionA_definitions.rst :start-after: marker_cellml_information_sets_start :end-before: marker_cellml_information_sets_end -.. include:: inform/informA2.rst +.. include:: ../informative/informA2.rst diff --git a/reference/formal_and_informative/specA3.rst b/reference/formal_and_informative/specA3.rst new file mode 100644 index 00000000..f8e3774b --- /dev/null +++ b/reference/formal_and_informative/specA3.rst @@ -0,0 +1,31 @@ +.. _specA3: + +.. include:: ../sectionA_definitions.rst + :start-after: marker_data_formats_start + :end-before: marker_data_formats_1 + +.. include:: ../informative/informA3_1.rst + +.. include:: ../sectionA_definitions.rst + :start-after: marker_data_formats_1 + :end-before: marker_data_formats_2 + +.. include:: ../informative/informA3_2.rst + +.. include:: ../sectionA_definitions.rst + :start-after: marker_data_formats_2 + :end-before: marker_data_formats_3 + +.. include:: ../informative/informA3_3.rst + +.. include:: ../sectionA_definitions.rst + :start-after: marker_data_formats_3 + :end-before: marker_data_formats_4 + +.. include:: ../informative/informA3_4.rst + +.. include:: ../sectionA_definitions.rst + :start-after: marker_data_formats_4 + :end-before: marker_data_formats_end + +.. include:: ../informative/informA3_5.rst diff --git a/reference/formal_and_informative/specB01.rst b/reference/formal_and_informative/specB01.rst new file mode 100644 index 00000000..15a2700a --- /dev/null +++ b/reference/formal_and_informative/specB01.rst @@ -0,0 +1,21 @@ +.. _specB01: + +.. include:: ../sectionB_elements.rst + :start-after: marker_model_start + :end-before: marker_model_1 + +.. include:: ../informative/informB1_model1.rst + +.. include:: ../sectionB_elements.rst + :start-after: marker_model_1 + :end-before: marker_model_2 + +.. include:: ../informative/informB1_model2.rst + +.. include:: ../sectionB_elements.rst + :start-after: marker_model_2 + :end-before: marker_model_end + +.. include:: ../informative/informB1_model3.rst + +.. include:: libcellml/libcellmlB1.rst diff --git a/reference/specB02.rst b/reference/formal_and_informative/specB02.rst similarity index 51% rename from reference/specB02.rst rename to reference/formal_and_informative/specB02.rst index 542a4962..f75fd905 100644 --- a/reference/specB02.rst +++ b/reference/formal_and_informative/specB02.rst @@ -2,22 +2,22 @@ .. _specB_import: -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_import_start :end-before: marker_import_1 -.. include:: inform/informB2_import1.rst +.. include:: ../informative/informB2_import1.rst -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_import_1 :end-before: marker_import_2 -.. include:: inform/informB2_import2.rst +.. include:: ../informative/informB2_import2.rst -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_import_2 :end-before: marker_import_end -.. include:: inform/informB2_import3.rst +.. include:: ../informative/informB2_import3.rst .. include:: libcellml/libcellmlB2.rst diff --git a/reference/specB03.rst b/reference/formal_and_informative/specB03.rst similarity index 64% rename from reference/specB03.rst rename to reference/formal_and_informative/specB03.rst index ea09aee5..ea7cd1d2 100644 --- a/reference/specB03.rst +++ b/reference/formal_and_informative/specB03.rst @@ -2,13 +2,13 @@ .. _specB_import_units: -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_import_units_start :end-before: marker_import_units_1 -.. include:: inform/informB3_import_units1.rst +.. include:: ../informative/informB3_import_units1.rst -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_import_units_1 :end-before: marker_import_units_end diff --git a/reference/specB04.rst b/reference/formal_and_informative/specB04.rst similarity index 63% rename from reference/specB04.rst rename to reference/formal_and_informative/specB04.rst index a9943039..fa5f5728 100644 --- a/reference/specB04.rst +++ b/reference/formal_and_informative/specB04.rst @@ -1,10 +1,10 @@ .. _specB04: .. _specB_import_component: -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_import_component_start :end-before: marker_import_component_end -.. include:: inform/informB4_import_component1.rst +.. include:: ../informative/informB4_import_component1.rst .. include:: libcellml/libcellmlB4.rst diff --git a/reference/specB05.rst b/reference/formal_and_informative/specB05.rst similarity index 53% rename from reference/specB05.rst rename to reference/formal_and_informative/specB05.rst index a7fd229c..5f7e5dfd 100644 --- a/reference/specB05.rst +++ b/reference/formal_and_informative/specB05.rst @@ -1,8 +1,8 @@ .. _specB05: .. _specB_units: -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_units_start :end-before: marker_units_end -.. include:: inform/informB5_units1.rst +.. include:: ../informative/informB5_units1.rst diff --git a/reference/specB06.rst b/reference/formal_and_informative/specB06.rst similarity index 53% rename from reference/specB06.rst rename to reference/formal_and_informative/specB06.rst index dcc422b8..1c704472 100644 --- a/reference/specB06.rst +++ b/reference/formal_and_informative/specB06.rst @@ -1,16 +1,16 @@ .. _specB06: .. _specB_unit: -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_unit_start :end-before: marker_unit_1 -.. include:: inform/informB6_unit1.rst +.. include:: ../informative/informB6_unit1.rst -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_unit_1 :end-before: marker_unit_end -.. include:: inform/informB6_unit2.rst +.. include:: ../informative/informB6_unit2.rst .. include:: libcellml/libcellmlB6.rst diff --git a/reference/specB07.rst b/reference/formal_and_informative/specB07.rst similarity index 52% rename from reference/specB07.rst rename to reference/formal_and_informative/specB07.rst index 2666571e..09832810 100644 --- a/reference/specB07.rst +++ b/reference/formal_and_informative/specB07.rst @@ -1,22 +1,22 @@ .. _specB07: .. _specB_component: -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_component_start :end-before: marker_component_1 -.. include:: inform/informB7_component1.rst +.. include:: ../informative/informB7_component1.rst -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_component_1 :end-before: marker_component_2 -.. include:: inform/informB7_component2.rst +.. include:: ../informative/informB7_component2.rst -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_component_2 :end-before: marker_component_end -.. include:: inform/informB7_component3.rst +.. include:: ../informative/informB7_component3.rst .. include:: libcellml/libcellmlB7.rst diff --git a/reference/specB08.rst b/reference/formal_and_informative/specB08.rst similarity index 54% rename from reference/specB08.rst rename to reference/formal_and_informative/specB08.rst index cf618ab4..ba6bad6d 100644 --- a/reference/specB08.rst +++ b/reference/formal_and_informative/specB08.rst @@ -1,8 +1,8 @@ .. _specB08: .. _specB_variable: -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_variable_start :end-before: marker_variable_end -.. include:: inform/informB8_variable1.rst +.. include:: ../informative/informB8_variable1.rst diff --git a/reference/specB09.rst b/reference/formal_and_informative/specB09.rst similarity index 53% rename from reference/specB09.rst rename to reference/formal_and_informative/specB09.rst index 612086a3..22f03e25 100644 --- a/reference/specB09.rst +++ b/reference/formal_and_informative/specB09.rst @@ -1,8 +1,8 @@ .. _specB09: .. _specB_reset: -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_reset_start :end-before: marker_reset_end -.. include:: inform/informB9_reset1.rst +.. include:: ../informative/informB9_reset1.rst diff --git a/reference/specB10.rst b/reference/formal_and_informative/specB10.rst similarity index 55% rename from reference/specB10.rst rename to reference/formal_and_informative/specB10.rst index 904fdf23..26a5c1fb 100644 --- a/reference/specB10.rst +++ b/reference/formal_and_informative/specB10.rst @@ -1,8 +1,8 @@ .. _specB10: .. _specB_test_value: -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_test_value_start :end-before: marker_test_value_end -.. include:: inform/informB10_test_value1.rst +.. include:: ../informative/informB10_test_value1.rst diff --git a/reference/specB11.rst b/reference/formal_and_informative/specB11.rst similarity index 55% rename from reference/specB11.rst rename to reference/formal_and_informative/specB11.rst index 541fc428..3ea6a721 100644 --- a/reference/specB11.rst +++ b/reference/formal_and_informative/specB11.rst @@ -1,8 +1,8 @@ .. _specB11: .. _specB_reset_value: -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_reset_value_start :end-before: marker_reset_value_end -.. include:: inform/informB11_reset_value1.rst +.. include:: ../informative/informB11_reset_value1.rst diff --git a/reference/specB12.rst b/reference/formal_and_informative/specB12.rst similarity index 50% rename from reference/specB12.rst rename to reference/formal_and_informative/specB12.rst index 01bc6b24..6e045ee6 100644 --- a/reference/specB12.rst +++ b/reference/formal_and_informative/specB12.rst @@ -1,31 +1,31 @@ .. _specB12: .. _specB_math: -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_math_start :end-before: marker_math_1 -.. include:: inform/informB12_math1.rst +.. include:: ../informative/informB12_math1.rst -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_math_1 :end-before: marker_math_2 -.. include:: inform/informB12_math2.rst +.. include:: ../informative/informB12_math2.rst -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_math_2 :end-before: marker_math_3 -.. include:: inform/informB12_math3.rst +.. include:: ../informative/informB12_math3.rst -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_math_3 :end-before: marker_math_4 -.. include:: inform/informB12_math4.rst +.. include:: ../informative/informB12_math4.rst -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_math_4 :end-before: marker_math_end diff --git a/reference/specB13.rst b/reference/formal_and_informative/specB13.rst similarity index 56% rename from reference/specB13.rst rename to reference/formal_and_informative/specB13.rst index ee1f7dfd..c432a493 100644 --- a/reference/specB13.rst +++ b/reference/formal_and_informative/specB13.rst @@ -1,8 +1,8 @@ .. _specB13: .. _specB_encapsulation: -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_encapsulation_start :end-before: marker_encapsulation_end -.. include:: inform/informB13_encapsulation1.rst +.. include:: ../informative/informB13_encapsulation1.rst diff --git a/reference/specB14.rst b/reference/formal_and_informative/specB14.rst similarity index 56% rename from reference/specB14.rst rename to reference/formal_and_informative/specB14.rst index 144f9762..d3468599 100644 --- a/reference/specB14.rst +++ b/reference/formal_and_informative/specB14.rst @@ -1,8 +1,8 @@ .. _specB14: .. _specB_component_ref: -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_component_ref_start :end-before: marker_component_ref_end -.. include:: inform/informB14_component_ref1.rst +.. include:: ../informative/informB14_component_ref1.rst diff --git a/reference/specB15.rst b/reference/formal_and_informative/specB15.rst similarity index 51% rename from reference/specB15.rst rename to reference/formal_and_informative/specB15.rst index f159d375..dae1e86a 100644 --- a/reference/specB15.rst +++ b/reference/formal_and_informative/specB15.rst @@ -1,29 +1,29 @@ .. _specB15: .. _specB_connection: -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_connection_start :end-before: marker_connection_2 -.. include:: inform/informB15_connection2.rst +.. include:: ../informative/informB15_connection2.rst -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_connection_2 :end-before: marker_connection_3 -.. include:: inform/informB15_connection3.rst +.. include:: ../informative/informB15_connection3.rst -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_connection_3 :end-before: marker_connection_4 -.. include:: inform/informB15_connection4.rst +.. include:: ../informative/informB15_connection4.rst - .. include:: sectionB_elements.rst + .. include:: ../sectionB_elements.rst :start-after: marker_connection_4 :end-before: marker_connection_end -.. include:: inform/informB15_connection5.rst +.. include:: ../informative/informB15_connection5.rst .. include:: libcellml/libcellmlB15_connection.rst diff --git a/reference/specB16.rst b/reference/formal_and_informative/specB16.rst similarity index 57% rename from reference/specB16.rst rename to reference/formal_and_informative/specB16.rst index db2a4007..975df75b 100644 --- a/reference/specB16.rst +++ b/reference/formal_and_informative/specB16.rst @@ -1,17 +1,17 @@ .. _specB16: .. _specB_map_variables: -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_map_variables_start :end-before: marker_map_variables_2 -.. include:: inform/informB16_map_variables2.rst +.. include:: ../informative/informB16_map_variables2.rst -.. include:: sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_map_variables_2 :end-before: marker_map_variables_end -.. include:: inform/informB16_map_variables3.rst +.. include:: ../informative/informB16_map_variables3.rst .. include:: libcellml/libcellmlB16_map_variables.rst diff --git a/reference/specC01_interpretation_of_imports.rst b/reference/formal_and_informative/specC01_interpretation_of_imports.rst similarity index 56% rename from reference/specC01_interpretation_of_imports.rst rename to reference/formal_and_informative/specC01_interpretation_of_imports.rst index bc794ddc..92fd0055 100644 --- a/reference/specC01_interpretation_of_imports.rst +++ b/reference/formal_and_informative/specC01_interpretation_of_imports.rst @@ -1,7 +1,7 @@ .. _specC01: -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_interpretation_of_imports_start :end-before: marker_interpretation_of_imports_end -.. include:: inform/informC01_imports.rst +.. include:: ../informative/informC01_imports.rst diff --git a/reference/specC02_units_reference.rst b/reference/formal_and_informative/specC02_units_reference.rst similarity index 57% rename from reference/specC02_units_reference.rst rename to reference/formal_and_informative/specC02_units_reference.rst index 92150e42..f6bf1a5c 100644 --- a/reference/specC02_units_reference.rst +++ b/reference/formal_and_informative/specC02_units_reference.rst @@ -1,13 +1,13 @@ .. _specC02: -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_units_reference_start :end-before: marker_units_reference1 .. include ?? -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_units_reference1 :end-before: marker_units_reference_end -.. include:: inform/informC2_units_reference.rst +.. include:: ../informative/informC2_units_reference.rst diff --git a/reference/specC03_interpretation_of_units.rst b/reference/formal_and_informative/specC03_interpretation_of_units.rst similarity index 51% rename from reference/specC03_interpretation_of_units.rst rename to reference/formal_and_informative/specC03_interpretation_of_units.rst index 5a6994bd..fa1a0435 100644 --- a/reference/specC03_interpretation_of_units.rst +++ b/reference/formal_and_informative/specC03_interpretation_of_units.rst @@ -1,48 +1,48 @@ .. _specC03: -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_interpretation_of_units_start :end-before: marker_interpretation_of_units_1_1 -.. include:: inform/informC03_interpretation_of_units1_1.rst +.. include:: ../informative/informC03_interpretation_of_units1_1.rst -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_interpretation_of_units_1_1 :end-before: marker_interpretation_of_units_1_3 -.. include:: inform/informC03_interpretation_of_units1_3.rst +.. include:: ../informative/informC03_interpretation_of_units1_3.rst -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_interpretation_of_units_1_3 :end-before: marker_interpretation_of_units_1_4 -.. include:: inform/informC03_interpretation_of_units1_4.rst +.. include:: ../informative/informC03_interpretation_of_units1_4.rst -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_interpretation_of_units_1_4 :end-before: marker_interpretation_of_units_2 -.. include:: inform/informC03_interpretation_of_units2.rst +.. include:: ../informative/informC03_interpretation_of_units2.rst -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_interpretation_of_units_2 :end-before: marker_interpretation_of_units_3_2 -.. include:: inform/informC03_interpretation_of_units3_2.rst +.. include:: ../informative/informC03_interpretation_of_units3_2.rst -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_interpretation_of_units_3_2 :end-before: marker_interpretation_of_units_3_3 -.. include:: inform/informC03_interpretation_of_units3_3.rst +.. include:: ../informative/informC03_interpretation_of_units3_3.rst -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_interpretation_of_units_3_3 :end-before: marker_interpretation_of_units_3_4 -.. include:: inform/informC03_interpretation_of_units3_4.rst +.. include:: ../informative/informC03_interpretation_of_units3_4.rst -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_interpretation_of_units_3_4 :end-before: marker_interpretation_of_units_end diff --git a/reference/specC04_component_reference.rst b/reference/formal_and_informative/specC04_component_reference.rst similarity index 51% rename from reference/specC04_component_reference.rst rename to reference/formal_and_informative/specC04_component_reference.rst index 4bc14de9..7ac3d5c1 100644 --- a/reference/specC04_component_reference.rst +++ b/reference/formal_and_informative/specC04_component_reference.rst @@ -1,7 +1,7 @@ .. _specC04: -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_component_reference_start :end-before: marker_component_reference_end -.. include:: inform/informC4_component_reference.rst +.. include:: ../informative/informC4_component_reference.rst diff --git a/reference/specC05_variable_reference.rst b/reference/formal_and_informative/specC05_variable_reference.rst similarity index 50% rename from reference/specC05_variable_reference.rst rename to reference/formal_and_informative/specC05_variable_reference.rst index d5cb5ecb..0ed9687b 100644 --- a/reference/specC05_variable_reference.rst +++ b/reference/formal_and_informative/specC05_variable_reference.rst @@ -1,7 +1,7 @@ .. _specC05: -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_variable_reference_start :end-before: marker_variable_reference_end -.. include:: inform/informC5_variable_reference.rst +.. include:: ../informative/informC5_variable_reference.rst diff --git a/reference/specC06_interpretation_of_initial_values.rst b/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst similarity index 53% rename from reference/specC06_interpretation_of_initial_values.rst rename to reference/formal_and_informative/specC06_interpretation_of_initial_values.rst index e00229a7..b1c7e6d8 100644 --- a/reference/specC06_interpretation_of_initial_values.rst +++ b/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst @@ -1,7 +1,7 @@ .. _specC06: -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_interpretation_of_initial_values_start :end-before: marker_interpretation_of_initial_values_end -.. include:: inform/informC6_interpretation_of_initial_value.rst +.. include:: ../informative/informC6_interpretation_of_initial_value.rst diff --git a/reference/specC07_effect_of_units_on_variables.rst b/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst similarity index 52% rename from reference/specC07_effect_of_units_on_variables.rst rename to reference/formal_and_informative/specC07_effect_of_units_on_variables.rst index 59549bc8..d850f4e9 100644 --- a/reference/specC07_effect_of_units_on_variables.rst +++ b/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst @@ -1,7 +1,7 @@ .. _specC07: -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_effect_of_units_on_variables_start :end-before: marker_effect_of_units_on_variables_end -.. include:: inform/informC7_effect_of_units_on_variables.rst +.. include:: ../informative/informC7_effect_of_units_on_variables.rst diff --git a/reference/specC08_interpretation_of_mathematics.rst b/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst similarity index 53% rename from reference/specC08_interpretation_of_mathematics.rst rename to reference/formal_and_informative/specC08_interpretation_of_mathematics.rst index 09f6c737..213f95d5 100644 --- a/reference/specC08_interpretation_of_mathematics.rst +++ b/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst @@ -1,7 +1,7 @@ .. _specC08: -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_interpretation_of_mathematics_start :end-before: marker_interpretation_of_mathematics_end -.. include:: inform/informC8_interpretation_of_mathematics.rst +.. include:: ../informative/informC8_interpretation_of_mathematics.rst diff --git a/reference/specC09_interpretation_of_encapsulation.rst b/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst similarity index 53% rename from reference/specC09_interpretation_of_encapsulation.rst rename to reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst index 9e613245..bf03d41a 100644 --- a/reference/specC09_interpretation_of_encapsulation.rst +++ b/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst @@ -1,7 +1,7 @@ .. _specC09: -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_interpretation_of_encapsulation_start :end-before: marker_interpretation_of_encapsulation_end -.. include:: inform/informC9_interpretation_of_encapsulation.rst +.. include:: ../informative/informC9_interpretation_of_encapsulation.rst diff --git a/reference/specC10_interpretation_of_map_variables.rst b/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst similarity index 53% rename from reference/specC10_interpretation_of_map_variables.rst rename to reference/formal_and_informative/specC10_interpretation_of_map_variables.rst index 5365311c..2ed0e4f4 100644 --- a/reference/specC10_interpretation_of_map_variables.rst +++ b/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst @@ -1,7 +1,7 @@ .. _specC10: -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_interpretation_of_map_variables_start :end-before: marker_interpretation_of_map_variables_end -.. include:: inform/informC10_interpretation_of_map_variables.rst +.. include:: ../informative/informC10_interpretation_of_map_variables.rst diff --git a/reference/specC11_interpretation_of_variable_resets.rst b/reference/formal_and_informative/specC11_interpretation_of_variable_resets.rst similarity index 53% rename from reference/specC11_interpretation_of_variable_resets.rst rename to reference/formal_and_informative/specC11_interpretation_of_variable_resets.rst index 9c106911..319f96df 100644 --- a/reference/specC11_interpretation_of_variable_resets.rst +++ b/reference/formal_and_informative/specC11_interpretation_of_variable_resets.rst @@ -1,7 +1,7 @@ .. _specC11: -.. include:: sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.rst :start-after: marker_interpretation_of_variable_resets_start :end-before: marker_interpretation_of_variable_resets_end -.. include:: inform/informC11_interpretation_of_variable_resets.rst +.. include:: ../informative/informC11_interpretation_of_variable_resets.rst diff --git a/reference/formal_only/specA1.rst b/reference/formal_only/specA1.rst new file mode 100644 index 00000000..ed1890f4 --- /dev/null +++ b/reference/formal_only/specA1.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionA_definitions.rst + :start-after: marker_terminology_start + :end-before: marker_terminology_end diff --git a/reference/formal_only/specA2.rst b/reference/formal_only/specA2.rst new file mode 100644 index 00000000..cd8a9cce --- /dev/null +++ b/reference/formal_only/specA2.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionA_definitions.rst + :start-after: marker_cellml_information_sets_start + :end-before: marker_cellml_information_sets_end diff --git a/reference/formal_only/specA3.rst b/reference/formal_only/specA3.rst new file mode 100644 index 00000000..76fc37ed --- /dev/null +++ b/reference/formal_only/specA3.rst @@ -0,0 +1,5 @@ + +.. include:: ../sectionA_definitions.rst + :start-after: marker_data_formats_start + :end-before: marker_data_formats_end + diff --git a/reference/formal_only/specB01.rst b/reference/formal_only/specB01.rst new file mode 100644 index 00000000..cd069abd --- /dev/null +++ b/reference/formal_only/specB01.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionB_elements.rst + :start-after: marker_model_start + :end-before: marker_model_end diff --git a/reference/formal_only/specB02.rst b/reference/formal_only/specB02.rst new file mode 100644 index 00000000..ee5fd087 --- /dev/null +++ b/reference/formal_only/specB02.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionB_elements.rst + :start-after: marker_import_start + :end-before: marker_import_end diff --git a/reference/formal_only/specB03.rst b/reference/formal_only/specB03.rst new file mode 100644 index 00000000..b2b4c2ad --- /dev/null +++ b/reference/formal_only/specB03.rst @@ -0,0 +1,5 @@ + +.. include:: ../sectionB_elements.rst + :start-after: marker_import_units_start + :end-before: marker_import_units_end + diff --git a/reference/formal_only/specB04.rst b/reference/formal_only/specB04.rst new file mode 100644 index 00000000..58902762 --- /dev/null +++ b/reference/formal_only/specB04.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionB_elements.rst + :start-after: marker_import_component_start + :end-before: marker_import_component_end diff --git a/reference/formal_only/specB05.rst b/reference/formal_only/specB05.rst new file mode 100644 index 00000000..1cfc8289 --- /dev/null +++ b/reference/formal_only/specB05.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionB_elements.rst + :start-after: marker_units_start + :end-before: marker_units_end diff --git a/reference/formal_only/specB06.rst b/reference/formal_only/specB06.rst new file mode 100644 index 00000000..3ae04e20 --- /dev/null +++ b/reference/formal_only/specB06.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionB_elements.rst + :start-after: marker_unit_start + :end-before: marker_unit_end diff --git a/reference/formal_only/specB07.rst b/reference/formal_only/specB07.rst new file mode 100644 index 00000000..60fbeb9c --- /dev/null +++ b/reference/formal_only/specB07.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionB_elements.rst + :start-after: marker_component_start + :end-before: marker_component_end diff --git a/reference/formal_only/specB08.rst b/reference/formal_only/specB08.rst new file mode 100644 index 00000000..b440900e --- /dev/null +++ b/reference/formal_only/specB08.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionB_elements.rst + :start-after: marker_variable_start + :end-before: marker_variable_end diff --git a/reference/formal_only/specB09.rst b/reference/formal_only/specB09.rst new file mode 100644 index 00000000..5d3b4acf --- /dev/null +++ b/reference/formal_only/specB09.rst @@ -0,0 +1,5 @@ + +.. include:: ../sectionB_elements.rst + :start-after: marker_reset_start + :end-before: marker_reset_end + diff --git a/reference/formal_only/specB10.rst b/reference/formal_only/specB10.rst new file mode 100644 index 00000000..dc2b9906 --- /dev/null +++ b/reference/formal_only/specB10.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionB_elements.rst + :start-after: marker_test_value_start + :end-before: marker_test_value_end diff --git a/reference/formal_only/specB11.rst b/reference/formal_only/specB11.rst new file mode 100644 index 00000000..25a090a0 --- /dev/null +++ b/reference/formal_only/specB11.rst @@ -0,0 +1,5 @@ + +.. include:: ../sectionB_elements.rst + :start-after: marker_reset_value_start + :end-before: marker_reset_value_end + diff --git a/reference/formal_only/specB12.rst b/reference/formal_only/specB12.rst new file mode 100644 index 00000000..e121e68c --- /dev/null +++ b/reference/formal_only/specB12.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionB_elements.rst + :start-after: marker_math_start + :end-before: marker_math_end diff --git a/reference/formal_only/specB13.rst b/reference/formal_only/specB13.rst new file mode 100644 index 00000000..0a662efe --- /dev/null +++ b/reference/formal_only/specB13.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionB_elements.rst + :start-after: marker_encapsulation_start + :end-before: marker_encapsulation_end diff --git a/reference/formal_only/specB14.rst b/reference/formal_only/specB14.rst new file mode 100644 index 00000000..002a8da6 --- /dev/null +++ b/reference/formal_only/specB14.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionB_elements.rst + :start-after: marker_component_ref_start + :end-before: marker_component_ref_end diff --git a/reference/formal_only/specB15.rst b/reference/formal_only/specB15.rst new file mode 100644 index 00000000..e72899dd --- /dev/null +++ b/reference/formal_only/specB15.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionB_elements.rst + :start-after: marker_connection_start + :end-before: marker_connection_end diff --git a/reference/formal_only/specB16.rst b/reference/formal_only/specB16.rst new file mode 100644 index 00000000..659c6434 --- /dev/null +++ b/reference/formal_only/specB16.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionB_elements.rst + :start-after: marker_map_variables_start + :end-before: marker_map_variables_end diff --git a/reference/formal_only/specC01_interpretation_of_imports.rst b/reference/formal_only/specC01_interpretation_of_imports.rst new file mode 100644 index 00000000..b33e0263 --- /dev/null +++ b/reference/formal_only/specC01_interpretation_of_imports.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionC_interpretation.rst + :start-after: marker_interpretation_of_imports_start + :end-before: marker_interpretation_of_imports_end diff --git a/reference/formal_only/specC02_units_reference.rst b/reference/formal_only/specC02_units_reference.rst new file mode 100644 index 00000000..fe9d3306 --- /dev/null +++ b/reference/formal_only/specC02_units_reference.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionC_interpretation.rst + :start-after: marker_units_reference_start + :end-before: marker_units_reference_end diff --git a/reference/formal_only/specC03_interpretation_of_units.rst b/reference/formal_only/specC03_interpretation_of_units.rst new file mode 100644 index 00000000..add27e79 --- /dev/null +++ b/reference/formal_only/specC03_interpretation_of_units.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionC_interpretation.rst + :start-after: marker_interpretation_of_units_start + :end-before: marker_interpretation_of_units_end diff --git a/reference/formal_only/specC04_component_reference.rst b/reference/formal_only/specC04_component_reference.rst new file mode 100644 index 00000000..78e23f2f --- /dev/null +++ b/reference/formal_only/specC04_component_reference.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionC_interpretation.rst + :start-after: marker_component_reference_start + :end-before: marker_component_reference_end diff --git a/reference/formal_only/specC05_variable_reference.rst b/reference/formal_only/specC05_variable_reference.rst new file mode 100644 index 00000000..4663de4e --- /dev/null +++ b/reference/formal_only/specC05_variable_reference.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionC_interpretation.rst + :start-after: marker_variable_reference_start + :end-before: marker_variable_reference_end diff --git a/reference/formal_only/specC06_interpretation_of_initial_values.rst b/reference/formal_only/specC06_interpretation_of_initial_values.rst new file mode 100644 index 00000000..7c2ad3bc --- /dev/null +++ b/reference/formal_only/specC06_interpretation_of_initial_values.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionC_interpretation.rst + :start-after: marker_interpretation_of_initial_values_start + :end-before: marker_interpretation_of_initial_values_end diff --git a/reference/formal_only/specC07_effect_of_units_on_variables.rst b/reference/formal_only/specC07_effect_of_units_on_variables.rst new file mode 100644 index 00000000..af95adf7 --- /dev/null +++ b/reference/formal_only/specC07_effect_of_units_on_variables.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionC_interpretation.rst + :start-after: marker_effect_of_units_on_variables_start + :end-before: marker_effect_of_units_on_variables_end diff --git a/reference/formal_only/specC08_interpretation_of_mathematics.rst b/reference/formal_only/specC08_interpretation_of_mathematics.rst new file mode 100644 index 00000000..35ce6994 --- /dev/null +++ b/reference/formal_only/specC08_interpretation_of_mathematics.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionC_interpretation.rst + :start-after: marker_interpretation_of_mathematics_start + :end-before: marker_interpretation_of_mathematics_end diff --git a/reference/formal_only/specC09_interpretation_of_encapsulation.rst b/reference/formal_only/specC09_interpretation_of_encapsulation.rst new file mode 100644 index 00000000..97fc56f1 --- /dev/null +++ b/reference/formal_only/specC09_interpretation_of_encapsulation.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionC_interpretation.rst + :start-after: marker_interpretation_of_encapsulation_start + :end-before: marker_interpretation_of_encapsulation_end diff --git a/reference/formal_only/specC10_interpretation_of_map_variables.rst b/reference/formal_only/specC10_interpretation_of_map_variables.rst new file mode 100644 index 00000000..989deaaa --- /dev/null +++ b/reference/formal_only/specC10_interpretation_of_map_variables.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionC_interpretation.rst + :start-after: marker_interpretation_of_map_variables_start + :end-before: marker_interpretation_of_map_variables_end diff --git a/reference/formal_only/specC11_interpretation_of_variable_resets.rst b/reference/formal_only/specC11_interpretation_of_variable_resets.rst new file mode 100644 index 00000000..4e0cbaa9 --- /dev/null +++ b/reference/formal_only/specC11_interpretation_of_variable_resets.rst @@ -0,0 +1,4 @@ + +.. include:: ../sectionC_interpretation.rst + :start-after: marker_interpretation_of_variable_resets_start + :end-before: marker_interpretation_of_variable_resets_end diff --git a/reference/index_sectionA.rst b/reference/index_sectionA.rst index ecb35670..5328c18b 100644 --- a/reference/index_sectionA.rst +++ b/reference/index_sectionA.rst @@ -9,4 +9,4 @@ Section A: Definitions and preamble :numbered: :glob: - specA* + formal_and_informative/specA* diff --git a/reference/index_sectionB.rst b/reference/index_sectionB.rst index 6af288f1..0d7ff754 100644 --- a/reference/index_sectionB.rst +++ b/reference/index_sectionB.rst @@ -11,4 +11,4 @@ Section B of the Normative CellML2.0 Specification outlines the element informat :numbered: :glob: - specB* + formal_and_informative/specB* diff --git a/reference/index_sectionC.rst b/reference/index_sectionC.rst index e93cbf41..c503f5b1 100644 --- a/reference/index_sectionC.rst +++ b/reference/index_sectionC.rst @@ -11,4 +11,4 @@ Section C of the Normative CellML2.0 Specification describes the way in which th :numbered: :glob: - specC* + formal_and_informative/specC* diff --git a/reference/inform/informA1.rst b/reference/informative/informA1.rst similarity index 100% rename from reference/inform/informA1.rst rename to reference/informative/informA1.rst diff --git a/reference/inform/informA2.rst b/reference/informative/informA2.rst similarity index 100% rename from reference/inform/informA2.rst rename to reference/informative/informA2.rst diff --git a/reference/inform/informA3_1.rst b/reference/informative/informA3_1.rst similarity index 100% rename from reference/inform/informA3_1.rst rename to reference/informative/informA3_1.rst diff --git a/reference/inform/informA3_2.rst b/reference/informative/informA3_2.rst similarity index 100% rename from reference/inform/informA3_2.rst rename to reference/informative/informA3_2.rst diff --git a/reference/inform/informA3_3.rst b/reference/informative/informA3_3.rst similarity index 100% rename from reference/inform/informA3_3.rst rename to reference/informative/informA3_3.rst diff --git a/reference/inform/informA3_4.rst b/reference/informative/informA3_4.rst similarity index 100% rename from reference/inform/informA3_4.rst rename to reference/informative/informA3_4.rst diff --git a/reference/inform/informA3_5.rst b/reference/informative/informA3_5.rst similarity index 100% rename from reference/inform/informA3_5.rst rename to reference/informative/informA3_5.rst diff --git a/reference/inform/informB10_test_value1.rst b/reference/informative/informB10_test_value1.rst similarity index 100% rename from reference/inform/informB10_test_value1.rst rename to reference/informative/informB10_test_value1.rst diff --git a/reference/inform/informB11_reset_value1.rst b/reference/informative/informB11_reset_value1.rst similarity index 100% rename from reference/inform/informB11_reset_value1.rst rename to reference/informative/informB11_reset_value1.rst diff --git a/reference/inform/informB12_math1.rst b/reference/informative/informB12_math1.rst similarity index 100% rename from reference/inform/informB12_math1.rst rename to reference/informative/informB12_math1.rst diff --git a/reference/inform/informB12_math2.rst b/reference/informative/informB12_math2.rst similarity index 100% rename from reference/inform/informB12_math2.rst rename to reference/informative/informB12_math2.rst diff --git a/reference/inform/informB12_math3.rst b/reference/informative/informB12_math3.rst similarity index 100% rename from reference/inform/informB12_math3.rst rename to reference/informative/informB12_math3.rst diff --git a/reference/inform/informB12_math4.rst b/reference/informative/informB12_math4.rst similarity index 100% rename from reference/inform/informB12_math4.rst rename to reference/informative/informB12_math4.rst diff --git a/reference/inform/informB12_math5.rst b/reference/informative/informB12_math5.rst similarity index 100% rename from reference/inform/informB12_math5.rst rename to reference/informative/informB12_math5.rst diff --git a/reference/inform/informB13_encapsulation1.rst b/reference/informative/informB13_encapsulation1.rst similarity index 100% rename from reference/inform/informB13_encapsulation1.rst rename to reference/informative/informB13_encapsulation1.rst diff --git a/reference/inform/informB14_component_ref1.rst b/reference/informative/informB14_component_ref1.rst similarity index 100% rename from reference/inform/informB14_component_ref1.rst rename to reference/informative/informB14_component_ref1.rst diff --git a/reference/inform/informB15_connection2.rst b/reference/informative/informB15_connection2.rst similarity index 100% rename from reference/inform/informB15_connection2.rst rename to reference/informative/informB15_connection2.rst diff --git a/reference/inform/informB15_connection3.rst b/reference/informative/informB15_connection3.rst similarity index 100% rename from reference/inform/informB15_connection3.rst rename to reference/informative/informB15_connection3.rst diff --git a/reference/inform/informB15_connection4.rst b/reference/informative/informB15_connection4.rst similarity index 100% rename from reference/inform/informB15_connection4.rst rename to reference/informative/informB15_connection4.rst diff --git a/reference/inform/informB15_connection5.rst b/reference/informative/informB15_connection5.rst similarity index 100% rename from reference/inform/informB15_connection5.rst rename to reference/informative/informB15_connection5.rst diff --git a/reference/inform/informB16_map_variables2.rst b/reference/informative/informB16_map_variables2.rst similarity index 100% rename from reference/inform/informB16_map_variables2.rst rename to reference/informative/informB16_map_variables2.rst diff --git a/reference/inform/informB16_map_variables3.rst b/reference/informative/informB16_map_variables3.rst similarity index 100% rename from reference/inform/informB16_map_variables3.rst rename to reference/informative/informB16_map_variables3.rst diff --git a/reference/inform/informB1_model1.rst b/reference/informative/informB1_model1.rst similarity index 100% rename from reference/inform/informB1_model1.rst rename to reference/informative/informB1_model1.rst diff --git a/reference/inform/informB1_model2.rst b/reference/informative/informB1_model2.rst similarity index 100% rename from reference/inform/informB1_model2.rst rename to reference/informative/informB1_model2.rst diff --git a/reference/inform/informB1_model3.rst b/reference/informative/informB1_model3.rst similarity index 100% rename from reference/inform/informB1_model3.rst rename to reference/informative/informB1_model3.rst diff --git a/reference/inform/informB2_import1.rst b/reference/informative/informB2_import1.rst similarity index 100% rename from reference/inform/informB2_import1.rst rename to reference/informative/informB2_import1.rst diff --git a/reference/inform/informB2_import2.rst b/reference/informative/informB2_import2.rst similarity index 100% rename from reference/inform/informB2_import2.rst rename to reference/informative/informB2_import2.rst diff --git a/reference/inform/informB2_import3.rst b/reference/informative/informB2_import3.rst similarity index 100% rename from reference/inform/informB2_import3.rst rename to reference/informative/informB2_import3.rst diff --git a/reference/inform/informB3_import_units1.rst b/reference/informative/informB3_import_units1.rst similarity index 100% rename from reference/inform/informB3_import_units1.rst rename to reference/informative/informB3_import_units1.rst diff --git a/reference/inform/informB4_import_component1.rst b/reference/informative/informB4_import_component1.rst similarity index 100% rename from reference/inform/informB4_import_component1.rst rename to reference/informative/informB4_import_component1.rst diff --git a/reference/inform/informB5_units1.rst b/reference/informative/informB5_units1.rst similarity index 100% rename from reference/inform/informB5_units1.rst rename to reference/informative/informB5_units1.rst diff --git a/reference/inform/informB6_unit1.rst b/reference/informative/informB6_unit1.rst similarity index 100% rename from reference/inform/informB6_unit1.rst rename to reference/informative/informB6_unit1.rst diff --git a/reference/inform/informB6_unit2.rst b/reference/informative/informB6_unit2.rst similarity index 100% rename from reference/inform/informB6_unit2.rst rename to reference/informative/informB6_unit2.rst diff --git a/reference/inform/informB7_component1.rst b/reference/informative/informB7_component1.rst similarity index 100% rename from reference/inform/informB7_component1.rst rename to reference/informative/informB7_component1.rst diff --git a/reference/inform/informB7_component2.rst b/reference/informative/informB7_component2.rst similarity index 100% rename from reference/inform/informB7_component2.rst rename to reference/informative/informB7_component2.rst diff --git a/reference/inform/informB7_component3.rst b/reference/informative/informB7_component3.rst similarity index 100% rename from reference/inform/informB7_component3.rst rename to reference/informative/informB7_component3.rst diff --git a/reference/inform/informB8_variable1.rst b/reference/informative/informB8_variable1.rst similarity index 100% rename from reference/inform/informB8_variable1.rst rename to reference/informative/informB8_variable1.rst diff --git a/reference/inform/informB9_reset1.rst b/reference/informative/informB9_reset1.rst similarity index 100% rename from reference/inform/informB9_reset1.rst rename to reference/informative/informB9_reset1.rst diff --git a/reference/inform/informC01_imports.rst b/reference/informative/informC01_imports.rst similarity index 100% rename from reference/inform/informC01_imports.rst rename to reference/informative/informC01_imports.rst diff --git a/reference/inform/informC02_units_reference.rst b/reference/informative/informC02_units_reference.rst similarity index 100% rename from reference/inform/informC02_units_reference.rst rename to reference/informative/informC02_units_reference.rst diff --git a/reference/inform/informC03_interpretation_of_units1_1.rst b/reference/informative/informC03_interpretation_of_units1_1.rst similarity index 100% rename from reference/inform/informC03_interpretation_of_units1_1.rst rename to reference/informative/informC03_interpretation_of_units1_1.rst diff --git a/reference/inform/informC03_interpretation_of_units1_3.rst b/reference/informative/informC03_interpretation_of_units1_3.rst similarity index 100% rename from reference/inform/informC03_interpretation_of_units1_3.rst rename to reference/informative/informC03_interpretation_of_units1_3.rst diff --git a/reference/inform/informC03_interpretation_of_units1_4.rst b/reference/informative/informC03_interpretation_of_units1_4.rst similarity index 100% rename from reference/inform/informC03_interpretation_of_units1_4.rst rename to reference/informative/informC03_interpretation_of_units1_4.rst diff --git a/reference/inform/informC03_interpretation_of_units2.rst b/reference/informative/informC03_interpretation_of_units2.rst similarity index 100% rename from reference/inform/informC03_interpretation_of_units2.rst rename to reference/informative/informC03_interpretation_of_units2.rst diff --git a/reference/inform/informC03_interpretation_of_units3_2.rst b/reference/informative/informC03_interpretation_of_units3_2.rst similarity index 100% rename from reference/inform/informC03_interpretation_of_units3_2.rst rename to reference/informative/informC03_interpretation_of_units3_2.rst diff --git a/reference/inform/informC03_interpretation_of_units3_3.rst b/reference/informative/informC03_interpretation_of_units3_3.rst similarity index 100% rename from reference/inform/informC03_interpretation_of_units3_3.rst rename to reference/informative/informC03_interpretation_of_units3_3.rst diff --git a/reference/inform/informC03_interpretation_of_units3_4.rst b/reference/informative/informC03_interpretation_of_units3_4.rst similarity index 100% rename from reference/inform/informC03_interpretation_of_units3_4.rst rename to reference/informative/informC03_interpretation_of_units3_4.rst diff --git a/reference/specA3.rst b/reference/specA3.rst deleted file mode 100644 index 7a6307da..00000000 --- a/reference/specA3.rst +++ /dev/null @@ -1,31 +0,0 @@ -.. _specA3: - -.. include:: sectionA_definitions.rst - :start-after: marker_data_formats_start - :end-before: marker_data_formats_1 - -.. include:: inform/informA3_1.rst - -.. include:: sectionA_definitions.rst - :start-after: marker_data_formats_1 - :end-before: marker_data_formats_2 - -.. include:: inform/informA3_2.rst - -.. include:: sectionA_definitions.rst - :start-after: marker_data_formats_2 - :end-before: marker_data_formats_3 - -.. include:: inform/informA3_3.rst - -.. include:: sectionA_definitions.rst - :start-after: marker_data_formats_3 - :end-before: marker_data_formats_4 - -.. include:: inform/informA3_4.rst - -.. include:: sectionA_definitions.rst - :start-after: marker_data_formats_4 - :end-before: marker_data_formats_end - -.. include:: inform/informA3_5.rst diff --git a/reference/specB01.rst b/reference/specB01.rst deleted file mode 100644 index a0a6b3fa..00000000 --- a/reference/specB01.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. _specB01: - -.. include:: sectionB_elements.rst - :start-after: marker_model_start - :end-before: marker_model_1 - -.. include:: inform/informB1_model1.rst - -.. include:: sectionB_elements.rst - :start-after: marker_model_1 - :end-before: marker_model_2 - -.. include:: inform/informB1_model2.rst - -.. include:: sectionB_elements.rst - :start-after: marker_model_2 - :end-before: marker_model_end - -.. include:: inform/informB1_model3.rst - -.. include:: libcellml/libcellmlB1.rst From fc8c972760f620ab180643039358a908873adbba Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 11:42:06 +1300 Subject: [PATCH 069/604] Separating PDF creation into two files --- conf.py | 4 ++-- reference/formal.rst | 20 ++++++++++++++++++++ reference/formal_sectionA.rst | 12 ++++++++++++ reference/formal_sectionB.rst | 14 ++++++++++++++ reference/formal_sectionC.rst | 14 ++++++++++++++ 5 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 reference/formal.rst create mode 100644 reference/formal_sectionA.rst create mode 100644 reference/formal_sectionB.rst create mode 100644 reference/formal_sectionC.rst diff --git a/conf.py b/conf.py index e056dc34..0045fb27 100644 --- a/conf.py +++ b/conf.py @@ -284,8 +284,8 @@ # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('index', 'CellML.tex', u'CellML Specification', - u'CellML2.0 Editors and Contributors', 'manual'), + ('formal', 'formal.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), + ('index', 'manual.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of diff --git a/reference/formal.rst b/reference/formal.rst new file mode 100644 index 00000000..669c2fc7 --- /dev/null +++ b/reference/formal.rst @@ -0,0 +1,20 @@ +.. _index: + +========================================== +Normative specification for CellML2.0 +========================================== + +The first section here includes the normative specification documentation for +the CellML format. These represent the official rules about what must +and must not be included in order for a model to be syntactically valid CellML. + + +.. toctree:: + :maxdepth: 2 + + reference/formal_sectionA.rst + reference/formal_sectionB.rst + reference/formal_sectionC.rst + reference/sectionD_references.rst + + diff --git a/reference/formal_sectionA.rst b/reference/formal_sectionA.rst new file mode 100644 index 00000000..5328c18b --- /dev/null +++ b/reference/formal_sectionA.rst @@ -0,0 +1,12 @@ +.. _sectionA_index: + +==================================== +Section A: Definitions and preamble +==================================== + +.. toctree:: + :maxdepth: 1 + :numbered: + :glob: + + formal_and_informative/specA* diff --git a/reference/formal_sectionB.rst b/reference/formal_sectionB.rst new file mode 100644 index 00000000..0d7ff754 --- /dev/null +++ b/reference/formal_sectionB.rst @@ -0,0 +1,14 @@ +.. _sectionB_index: + +==================================== +Section B: Element information items +==================================== + +Section B of the Normative CellML2.0 Specification outlines the element information items and the rules governing their declaration. + +.. toctree:: + :maxdepth: 1 + :numbered: + :glob: + + formal_and_informative/specB* diff --git a/reference/formal_sectionC.rst b/reference/formal_sectionC.rst new file mode 100644 index 00000000..c503f5b1 --- /dev/null +++ b/reference/formal_sectionC.rst @@ -0,0 +1,14 @@ +.. _sectionC_index: + +============================================= +Section C: Interpretation +============================================= + +Section C of the Normative CellML2.0 Specification describes the way in which the elements defined in Section B are to be interpreted. + +.. toctree:: + :maxdepth: 1 + :numbered: + :glob: + + formal_and_informative/specC* From eac091cab01199f14b7914c334e0510489e8798c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 11:52:43 +1300 Subject: [PATCH 070/604] Update conf.py --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index 0045fb27..90405f5b 100644 --- a/conf.py +++ b/conf.py @@ -285,7 +285,7 @@ # author, documentclass [howto, manual, or own class]). latex_documents = [ ('formal', 'formal.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), - ('index', 'manual.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), + # ('index', 'manual.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of From c197bdc5da41e76bef0cb3515ae7857a29696f76 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 11:55:15 +1300 Subject: [PATCH 071/604] Update conf.py --- conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf.py b/conf.py index 90405f5b..28a8ed53 100644 --- a/conf.py +++ b/conf.py @@ -276,7 +276,7 @@ # 'pointsize': '10pt', # Additional stuff for the LaTeX preamble. - 'preamble': 'usepackage{textgreek}', + # 'preamble': 'usepackage{textgreek}', # Removing as weird ... ? } @@ -284,7 +284,7 @@ # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('formal', 'formal.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), + ('formal', 'manual.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), # ('index', 'manual.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), ] From c620a9ba22cf4f9863c1fffabdf007df7cf88b94 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 12:02:00 +1300 Subject: [PATCH 072/604] Moved formal.rst to top level --- conf.py | 4 ++-- reference/formal.rst => formal.rst | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename reference/formal.rst => formal.rst (100%) diff --git a/conf.py b/conf.py index 28a8ed53..2838893d 100644 --- a/conf.py +++ b/conf.py @@ -284,8 +284,8 @@ # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('formal', 'manual.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), - # ('index', 'manual.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), + ('formal', 'formal.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), + ('index', 'index.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of diff --git a/reference/formal.rst b/formal.rst similarity index 100% rename from reference/formal.rst rename to formal.rst From 312dc4f72485ed86ab502f3437740939652ff61d Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 12:06:26 +1300 Subject: [PATCH 073/604] Update conf.py --- conf.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conf.py b/conf.py index 2838893d..c20fa566 100644 --- a/conf.py +++ b/conf.py @@ -284,8 +284,8 @@ # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('formal', 'formal.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), - ('index', 'index.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), + ('formal', 'manual.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), + ('index', 'manual.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -294,7 +294,7 @@ # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. -#latex_use_parts = False +latex_use_parts = False # If true, show page references after internal links. #latex_show_pagerefs = False From 58636c8f6a07035144fc06fa910c068629489aa7 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 13:11:52 +1300 Subject: [PATCH 074/604] Update conf.py --- conf.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/conf.py b/conf.py index c20fa566..29fa66be 100644 --- a/conf.py +++ b/conf.py @@ -284,8 +284,8 @@ # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('formal', 'manual.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), - ('index', 'manual.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), + ('formal', 'formal.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), + ('index', 'index.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -314,8 +314,7 @@ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'cellml', u'CellML2.0 Documentation', - [u'CellML Editors'], 1) + ('index', 'cellml', u'CellML2.0 Documentation', [u'CellML Editors'], 1) ] # If true, show URL addresses after external links. From ee6fb50a19fa94519cf5f88bbf50c7d784f72b04 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 13:16:04 +1300 Subject: [PATCH 075/604] Update conf.py --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index 29fa66be..0f27ec65 100644 --- a/conf.py +++ b/conf.py @@ -285,7 +285,7 @@ # author, documentclass [howto, manual, or own class]). latex_documents = [ ('formal', 'formal.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), - ('index', 'index.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), + # ('index', 'index.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of From 18e3a0c209d97fcf1397a1fe6b2382ac7f72513a Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 13:39:11 +1300 Subject: [PATCH 076/604] direction to libcellml folder --- formal.rst | 2 +- reference/formal_and_informative/specB01.rst | 2 +- reference/formal_and_informative/specB02.rst | 2 +- reference/formal_and_informative/specB03.rst | 2 +- reference/formal_and_informative/specB04.rst | 2 +- reference/formal_and_informative/specB06.rst | 2 +- reference/formal_and_informative/specB07.rst | 2 +- reference/formal_and_informative/specB12.rst | 2 +- reference/formal_and_informative/specB15.rst | 2 +- reference/formal_and_informative/specB16.rst | 2 +- .../specC03_interpretation_of_units.rst | 2 +- reference/sectionA_definitions.rst | 9 --------- 12 files changed, 11 insertions(+), 20 deletions(-) diff --git a/formal.rst b/formal.rst index 669c2fc7..6d4be605 100644 --- a/formal.rst +++ b/formal.rst @@ -1,4 +1,4 @@ -.. _index: +.. _formal: ========================================== Normative specification for CellML2.0 diff --git a/reference/formal_and_informative/specB01.rst b/reference/formal_and_informative/specB01.rst index 15a2700a..312a95f0 100644 --- a/reference/formal_and_informative/specB01.rst +++ b/reference/formal_and_informative/specB01.rst @@ -18,4 +18,4 @@ .. include:: ../informative/informB1_model3.rst -.. include:: libcellml/libcellmlB1.rst +.. include:: ../libcellml/libcellmlB1.rst diff --git a/reference/formal_and_informative/specB02.rst b/reference/formal_and_informative/specB02.rst index f75fd905..8a315bf1 100644 --- a/reference/formal_and_informative/specB02.rst +++ b/reference/formal_and_informative/specB02.rst @@ -20,4 +20,4 @@ .. include:: ../informative/informB2_import3.rst -.. include:: libcellml/libcellmlB2.rst +.. include:: ../libcellml/libcellmlB2.rst diff --git a/reference/formal_and_informative/specB03.rst b/reference/formal_and_informative/specB03.rst index ea7cd1d2..08772c14 100644 --- a/reference/formal_and_informative/specB03.rst +++ b/reference/formal_and_informative/specB03.rst @@ -12,4 +12,4 @@ :start-after: marker_import_units_1 :end-before: marker_import_units_end -.. include:: libcellml/libcellmlB3.rst +.. include:: ../libcellml/libcellmlB3.rst diff --git a/reference/formal_and_informative/specB04.rst b/reference/formal_and_informative/specB04.rst index fa5f5728..ce475bc2 100644 --- a/reference/formal_and_informative/specB04.rst +++ b/reference/formal_and_informative/specB04.rst @@ -7,4 +7,4 @@ .. include:: ../informative/informB4_import_component1.rst -.. include:: libcellml/libcellmlB4.rst +.. include:: ../libcellml/libcellmlB4.rst diff --git a/reference/formal_and_informative/specB06.rst b/reference/formal_and_informative/specB06.rst index 1c704472..406e8265 100644 --- a/reference/formal_and_informative/specB06.rst +++ b/reference/formal_and_informative/specB06.rst @@ -13,4 +13,4 @@ .. include:: ../informative/informB6_unit2.rst -.. include:: libcellml/libcellmlB6.rst +.. include:: ../libcellml/libcellmlB6.rst diff --git a/reference/formal_and_informative/specB07.rst b/reference/formal_and_informative/specB07.rst index 09832810..af15b10e 100644 --- a/reference/formal_and_informative/specB07.rst +++ b/reference/formal_and_informative/specB07.rst @@ -19,4 +19,4 @@ .. include:: ../informative/informB7_component3.rst -.. include:: libcellml/libcellmlB7.rst +.. include:: ../libcellml/libcellmlB7.rst diff --git a/reference/formal_and_informative/specB12.rst b/reference/formal_and_informative/specB12.rst index 6e045ee6..ababaea0 100644 --- a/reference/formal_and_informative/specB12.rst +++ b/reference/formal_and_informative/specB12.rst @@ -29,7 +29,7 @@ :start-after: marker_math_4 :end-before: marker_math_end -.. include:: libcellml/libcellmlB12_math.rst +.. include:: ../libcellml/libcellmlB12_math.rst diff --git a/reference/formal_and_informative/specB15.rst b/reference/formal_and_informative/specB15.rst index dae1e86a..24e00f94 100644 --- a/reference/formal_and_informative/specB15.rst +++ b/reference/formal_and_informative/specB15.rst @@ -25,7 +25,7 @@ .. include:: ../informative/informB15_connection5.rst -.. include:: libcellml/libcellmlB15_connection.rst +.. include:: ../libcellml/libcellmlB15_connection.rst diff --git a/reference/formal_and_informative/specB16.rst b/reference/formal_and_informative/specB16.rst index 975df75b..009ae964 100644 --- a/reference/formal_and_informative/specB16.rst +++ b/reference/formal_and_informative/specB16.rst @@ -13,5 +13,5 @@ .. include:: ../informative/informB16_map_variables3.rst -.. include:: libcellml/libcellmlB16_map_variables.rst +.. include:: ../libcellml/libcellmlB16_map_variables.rst diff --git a/reference/formal_and_informative/specC03_interpretation_of_units.rst b/reference/formal_and_informative/specC03_interpretation_of_units.rst index fa1a0435..d8b46f72 100644 --- a/reference/formal_and_informative/specC03_interpretation_of_units.rst +++ b/reference/formal_and_informative/specC03_interpretation_of_units.rst @@ -46,4 +46,4 @@ :start-after: marker_interpretation_of_units_3_4 :end-before: marker_interpretation_of_units_end -.. include:: libcellml/libcellmlC03_interpretation_of_units.rst +.. include:: ../libcellml/libcellmlC03_interpretation_of_units.rst diff --git a/reference/sectionA_definitions.rst b/reference/sectionA_definitions.rst index 65088b06..30c12416 100644 --- a/reference/sectionA_definitions.rst +++ b/reference/sectionA_definitions.rst @@ -5,25 +5,16 @@ **Authors:** Michael T. Cooling\* - Michael Clerx - Jonathan Cooper - Alan Garny - Keri Moyle - David P. Nickerson - Hugh Sorby **Contributors:** - Jesús C. Fernández - David Brooks - Koray Atalag The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification - although the semantics have changed considerably. From 5aa45890348c982041ed950eff9666eccb1db1f7 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 13:39:24 +1300 Subject: [PATCH 077/604] Update conf.py --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index 0f27ec65..29fa66be 100644 --- a/conf.py +++ b/conf.py @@ -285,7 +285,7 @@ # author, documentclass [howto, manual, or own class]). latex_documents = [ ('formal', 'formal.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), - # ('index', 'index.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), + ('index', 'index.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of From ad4818fe6f9a2f674e07ea17b39cc71e0c65e347 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 13:46:20 +1300 Subject: [PATCH 078/604] changed formal index to point to formal spec only --- reference/formal_sectionA.rst | 2 +- reference/formal_sectionB.rst | 2 +- reference/formal_sectionC.rst | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/formal_sectionA.rst b/reference/formal_sectionA.rst index 5328c18b..b3721e88 100644 --- a/reference/formal_sectionA.rst +++ b/reference/formal_sectionA.rst @@ -9,4 +9,4 @@ Section A: Definitions and preamble :numbered: :glob: - formal_and_informative/specA* + formal_only/specA* diff --git a/reference/formal_sectionB.rst b/reference/formal_sectionB.rst index 0d7ff754..983abba7 100644 --- a/reference/formal_sectionB.rst +++ b/reference/formal_sectionB.rst @@ -11,4 +11,4 @@ Section B of the Normative CellML2.0 Specification outlines the element informat :numbered: :glob: - formal_and_informative/specB* + formal_only/specB* diff --git a/reference/formal_sectionC.rst b/reference/formal_sectionC.rst index c503f5b1..380d238f 100644 --- a/reference/formal_sectionC.rst +++ b/reference/formal_sectionC.rst @@ -11,4 +11,4 @@ Section C of the Normative CellML2.0 Specification describes the way in which th :numbered: :glob: - formal_and_informative/specC* + formal_only/specC* From b30ff93ea70d57bebbef7ff0c07d2809ee9fe4c1 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 14:03:34 +1300 Subject: [PATCH 079/604] fixing warnings --- conf.py | 2 ++ reference/informative/informB1_model3.rst | 2 +- reference/informative/informB8_variable1.rst | 4 ++-- reference/libcellml/libcellmlB5.rst | 2 +- reference/libcellml/libcellmlB6.rst | 2 +- reference/sectionA_definitions.rst | 2 +- reference/sectionB_elements.rst | 2 +- 7 files changed, 9 insertions(+), 7 deletions(-) diff --git a/conf.py b/conf.py index 29fa66be..686dad27 100644 --- a/conf.py +++ b/conf.py @@ -70,6 +70,8 @@ 'href_locator': ('https://www.w3.org/TR/2001/REC-xlink-20010627/#link-locators/%s', ''), 'libcellml': ('https://libcellml.org/%s', ''), 'libcellml_repo': ('https://github.com/cellml/libcellml.git%s', ''), + # TODO Update this when tutorials have a proper home. + 'libcellml_tutorials': ('https://libcellml-tutorials.readthedocs.io/en/pr344_documentation/%s',''), 'libxml2': ('http://www.xmlsoft.org/%s', ''), 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html#id.4.2.1.3%s', ''), 'mathml2spec': ('http://www.w3.org/TR/2003/REC-MathML2-20031021/%s', ''), diff --git a/reference/informative/informB1_model3.rst b/reference/informative/informB1_model3.rst index 47af5247..0c7fc5ac 100644 --- a/reference/informative/informB1_model3.rst +++ b/reference/informative/informB1_model3.rst @@ -14,5 +14,5 @@ For more information about encapsulation, please refer to :ref:`The encapsulation element information item`. - For more information and examples involving and explaining encapsulation, please refer to the :ref:`Theory of a sodium channel` page. + For more information and examples involving and explaining encapsulation, please refer to the :libcellml_tutorials:`Theory of a sodium channel ` page. **TODO** put link to theory section in libCellML here? diff --git a/reference/informative/informB8_variable1.rst b/reference/informative/informB8_variable1.rst index d5e4b3de..fc65ecd0 100644 --- a/reference/informative/informB8_variable1.rst +++ b/reference/informative/informB8_variable1.rst @@ -30,5 +30,5 @@ This determines the relative position in the encapsulation that the mapped component must have in order to access this variable. This is outlined in more detail in :ref:`The encapsulation item`. - For examples and further explanation of components and their encapsulation, please refer to :ref:`section 3 of the Sodium Channel theory` documentation. - **TODO** need to alias these links. + For examples and further explanation of components and their encapsulation, please refer to :libcellml_tutorials:`section 3 of the Sodium Channel theory` documentation. + diff --git a/reference/libcellml/libcellmlB5.rst b/reference/libcellml/libcellmlB5.rst index ae64135f..38476597 100644 --- a/reference/libcellml/libcellmlB5.rst +++ b/reference/libcellml/libcellmlB5.rst @@ -9,7 +9,7 @@ .. container:: infolib - For examples and more information on how :code:`Units` are used in libCellML, please refer to section 3 of :ref:`Tutorial 3`. + For examples and more information on how :code:`Units` are used in libCellML, please refer to section 3 of :libcellml_tutorials:`Tutorial 3 `. .. container:: heading3 diff --git a/reference/libcellml/libcellmlB6.rst b/reference/libcellml/libcellmlB6.rst index 827416e5..5bc7e41a 100644 --- a/reference/libcellml/libcellmlB6.rst +++ b/reference/libcellml/libcellmlB6.rst @@ -9,7 +9,7 @@ .. container:: infolib - For examples and more information on how :code:`Units` are used in libCellML, please refer to section 3 of :ref:`Tutorial 3`. + For examples and more information on how :code:`Units` are used in libCellML, please refer to section 3 of :libcellml_tutorials:`Tutorial 3 `. .. container:: heading3 diff --git a/reference/sectionA_definitions.rst b/reference/sectionA_definitions.rst index 30c12416..c96da26e 100644 --- a/reference/sectionA_definitions.rst +++ b/reference/sectionA_definitions.rst @@ -179,7 +179,7 @@ Semantically equivalent CellML infosets #. The following paragraph applies only to character information items which are the direct child of an element information item in a :ref:`CellML namespace`, or in the :ref:`MathML namespace`. - Inserting or removing character information items that consist entirely of :ref:`whitespace characters`, + Inserting or removing character information items that consist entirely of :ref:`whitespace characters`, changing the number of whitespace characters in such an information item, or changing the number of whitespace characters at the beginning or end of any character information item. diff --git a/reference/sectionB_elements.rst b/reference/sectionB_elements.rst index 2139f114..5d964c22 100644 --- a/reference/sectionB_elements.rst +++ b/reference/sectionB_elements.rst @@ -230,7 +230,7 @@ Specific information items 1. Every :code:`unit` element MUST contain a :code:`units` attribute. The value of the :code:`units` attribute MUST be a valid units reference, as defined in the - :ref:`Units reference` section. + :ref:`Units reference` section. .. container:: issue-unit-digraph From 0678115bc7701c59c4d7ab3a0f61fd1d8d1a0a6c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 14:22:38 +1300 Subject: [PATCH 080/604] Adding leading 0 to filenames --- reference/formal_and_informative/specB15.rst | 2 +- reference/formal_and_informative/specC02_units_reference.rst | 4 +--- .../formal_and_informative/specC04_component_reference.rst | 2 +- .../formal_and_informative/specC05_variable_reference.rst | 2 +- .../specC06_interpretation_of_initial_values.rst | 2 +- .../specC07_effect_of_units_on_variables.rst | 2 +- .../specC08_interpretation_of_mathematics.rst | 2 +- .../specC09_interpretation_of_encapsulation.rst | 2 +- reference/informative/informB2_import1.rst | 1 + reference/libcellml/libcellmlB1.rst | 5 +++-- reference/sectionA_definitions.rst | 3 +-- 11 files changed, 13 insertions(+), 14 deletions(-) diff --git a/reference/formal_and_informative/specB15.rst b/reference/formal_and_informative/specB15.rst index 24e00f94..44531092 100644 --- a/reference/formal_and_informative/specB15.rst +++ b/reference/formal_and_informative/specB15.rst @@ -19,7 +19,7 @@ .. include:: ../informative/informB15_connection4.rst - .. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.rst :start-after: marker_connection_4 :end-before: marker_connection_end diff --git a/reference/formal_and_informative/specC02_units_reference.rst b/reference/formal_and_informative/specC02_units_reference.rst index f6bf1a5c..f75fbb0e 100644 --- a/reference/formal_and_informative/specC02_units_reference.rst +++ b/reference/formal_and_informative/specC02_units_reference.rst @@ -4,10 +4,8 @@ :start-after: marker_units_reference_start :end-before: marker_units_reference1 -.. include ?? - .. include:: ../sectionC_interpretation.rst :start-after: marker_units_reference1 :end-before: marker_units_reference_end -.. include:: ../informative/informC2_units_reference.rst +.. include:: ../informative/informC02_units_reference.rst diff --git a/reference/formal_and_informative/specC04_component_reference.rst b/reference/formal_and_informative/specC04_component_reference.rst index 7ac3d5c1..13abf57a 100644 --- a/reference/formal_and_informative/specC04_component_reference.rst +++ b/reference/formal_and_informative/specC04_component_reference.rst @@ -4,4 +4,4 @@ :start-after: marker_component_reference_start :end-before: marker_component_reference_end -.. include:: ../informative/informC4_component_reference.rst +.. include:: ../informative/informC04_component_reference.rst diff --git a/reference/formal_and_informative/specC05_variable_reference.rst b/reference/formal_and_informative/specC05_variable_reference.rst index 0ed9687b..fe287459 100644 --- a/reference/formal_and_informative/specC05_variable_reference.rst +++ b/reference/formal_and_informative/specC05_variable_reference.rst @@ -4,4 +4,4 @@ :start-after: marker_variable_reference_start :end-before: marker_variable_reference_end -.. include:: ../informative/informC5_variable_reference.rst +.. include:: ../informative/informC05_variable_reference.rst diff --git a/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst b/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst index b1c7e6d8..f1bdb4d6 100644 --- a/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst +++ b/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst @@ -4,4 +4,4 @@ :start-after: marker_interpretation_of_initial_values_start :end-before: marker_interpretation_of_initial_values_end -.. include:: ../informative/informC6_interpretation_of_initial_value.rst +.. include:: ../informative/informC06_interpretation_of_initial_value.rst diff --git a/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst b/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst index d850f4e9..1fb31dfa 100644 --- a/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst +++ b/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst @@ -4,4 +4,4 @@ :start-after: marker_effect_of_units_on_variables_start :end-before: marker_effect_of_units_on_variables_end -.. include:: ../informative/informC7_effect_of_units_on_variables.rst +.. include:: ../informative/informC07_effect_of_units_on_variables.rst diff --git a/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst b/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst index 213f95d5..f1386742 100644 --- a/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst +++ b/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst @@ -4,4 +4,4 @@ :start-after: marker_interpretation_of_mathematics_start :end-before: marker_interpretation_of_mathematics_end -.. include:: ../informative/informC8_interpretation_of_mathematics.rst +.. include:: ../informative/informC08_interpretation_of_mathematics.rst diff --git a/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst b/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst index bf03d41a..c5a508c2 100644 --- a/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst +++ b/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst @@ -4,4 +4,4 @@ :start-after: marker_interpretation_of_encapsulation_start :end-before: marker_interpretation_of_encapsulation_end -.. include:: ../informative/informC9_interpretation_of_encapsulation.rst +.. include:: ../informative/informC09_interpretation_of_encapsulation.rst diff --git a/reference/informative/informB2_import1.rst b/reference/informative/informB2_import1.rst index 15db65a2..b05aef93 100644 --- a/reference/informative/informB2_import1.rst +++ b/reference/informative/informB2_import1.rst @@ -71,3 +71,4 @@ The path may either be absolute from the root directory, or relative to the impo + diff --git a/reference/libcellml/libcellmlB1.rst b/reference/libcellml/libcellmlB1.rst index b8b6859e..8773a162 100644 --- a/reference/libcellml/libcellmlB1.rst +++ b/reference/libcellml/libcellmlB1.rst @@ -8,7 +8,8 @@ .. container:: infolib - Possible errors related to the :code:`model` item - ------------------------------------------------- + .. container:: heading3 + + Messages related to the model item **TODO** put list of errors/issues/hints from the validator/generator here. diff --git a/reference/sectionA_definitions.rst b/reference/sectionA_definitions.rst index c96da26e..1644398b 100644 --- a/reference/sectionA_definitions.rst +++ b/reference/sectionA_definitions.rst @@ -18,8 +18,7 @@ David Brooks Koray Atalag The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification - although the semantics have changed considerably. -The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011: - +The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: Andrew K. Miller (who wrote the text reused here), Jonathan Cooper, Justin Marsh, From f2c8f119e8e2aaaf1b3fa41e56912681a5b10cb1 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 14:56:15 +1300 Subject: [PATCH 081/604] working through warnings --- reference/formal_and_informative/specB05.rst | 2 ++ reference/formal_and_informative/specB08.rst | 2 ++ reference/formal_sectionA.rst | 2 +- reference/formal_sectionB.rst | 2 +- reference/formal_sectionC.rst | 2 +- reference/informative/informB12_math5.rst | 16 ---------------- reference/informative/informB15_connection2.rst | 2 +- reference/informative/informB2_import1.rst | 2 +- reference/informative/informB8_variable1.rst | 4 ++-- .../libcellmlC03_interpretation_of_units.rst | 14 ++++++++++++++ reference/sectionB_elements.rst | 1 + reference/sectionC_interpretation.rst | 2 +- 12 files changed, 27 insertions(+), 24 deletions(-) delete mode 100644 reference/informative/informB12_math5.rst create mode 100644 reference/libcellml/libcellmlC03_interpretation_of_units.rst diff --git a/reference/formal_and_informative/specB05.rst b/reference/formal_and_informative/specB05.rst index 5f7e5dfd..9d8c7f6a 100644 --- a/reference/formal_and_informative/specB05.rst +++ b/reference/formal_and_informative/specB05.rst @@ -6,3 +6,5 @@ :end-before: marker_units_end .. include:: ../informative/informB5_units1.rst + +.. include:: ../libcellml/libcellmlB5.rst diff --git a/reference/formal_and_informative/specB08.rst b/reference/formal_and_informative/specB08.rst index ba6bad6d..455e72d0 100644 --- a/reference/formal_and_informative/specB08.rst +++ b/reference/formal_and_informative/specB08.rst @@ -6,3 +6,5 @@ :end-before: marker_variable_end .. include:: ../informative/informB8_variable1.rst + +.. include:: ../libcellml/libcellmlB8.rst diff --git a/reference/formal_sectionA.rst b/reference/formal_sectionA.rst index b3721e88..378e6ab6 100644 --- a/reference/formal_sectionA.rst +++ b/reference/formal_sectionA.rst @@ -1,4 +1,4 @@ -.. _sectionA_index: +.. _sectionA_index_formal: ==================================== Section A: Definitions and preamble diff --git a/reference/formal_sectionB.rst b/reference/formal_sectionB.rst index 983abba7..c17b25a7 100644 --- a/reference/formal_sectionB.rst +++ b/reference/formal_sectionB.rst @@ -1,4 +1,4 @@ -.. _sectionB_index: +.. _sectionB_index_formal: ==================================== Section B: Element information items diff --git a/reference/formal_sectionC.rst b/reference/formal_sectionC.rst index 380d238f..cfbb990f 100644 --- a/reference/formal_sectionC.rst +++ b/reference/formal_sectionC.rst @@ -1,4 +1,4 @@ -.. _sectionC_index: +.. _sectionC_index_formal: ============================================= Section C: Interpretation diff --git a/reference/informative/informB12_math5.rst b/reference/informative/informB12_math5.rst deleted file mode 100644 index 5c461371..00000000 --- a/reference/informative/informB12_math5.rst +++ /dev/null @@ -1,16 +0,0 @@ -.. _informB12_5: - -.. container:: toggle - - .. container:: header - - See more - - .. container:: infospec - - .. code-block:: xml - - # This is a valid block - - - diff --git a/reference/informative/informB15_connection2.rst b/reference/informative/informB15_connection2.rst index 50803525..0e57bef3 100644 --- a/reference/informative/informB15_connection2.rst +++ b/reference/informative/informB15_connection2.rst @@ -11,7 +11,7 @@ Creating :code:`connection` items allows :code:`variable` values to be passed between eligible :code:`components`. There are both syntactic (ie: format) and semantic (ie: meaning) rules about how these must be specified, including what "eligible" means. Syntax will be discussed below and in the other "See more" blocks on this page. - For more on the semantic rules, please see :ref:`Interpretation of map_variables.` + For more on the semantic rules, please see :ref:`Interpretation of map_variables`. Points 15.1.1 and 15.1.2 are both saying the same thing. The way in which you specify the :code:`component_1` and :code:`component_2` items must follow the general CellML2.0 format for a valid identifier, and must point to a :code:`component` which exists under that name. diff --git a/reference/informative/informB2_import1.rst b/reference/informative/informB2_import1.rst index b05aef93..12aaa6d3 100644 --- a/reference/informative/informB2_import1.rst +++ b/reference/informative/informB2_import1.rst @@ -11,7 +11,7 @@ .. container:: infospec At present (TODO) the location specified by the :code:`href` attribute must be a locally available file (not online). -The path may either be absolute from the root directory, or relative to the importing model's location. + The path may either be absolute from the root directory, or relative to the importing model's location. For example, here's a model based around casting for The Wizard of Oz. In the main model (the one doing the importing), the component used to play Dorothy is defined by importing a :code:`component` named :code:`judy_garland` from the file called :code:`role_of_dorothy.cellml` and setting its reference in the main file to be the component named :code:`dorothy`. diff --git a/reference/informative/informB8_variable1.rst b/reference/informative/informB8_variable1.rst index fc65ecd0..7662e566 100644 --- a/reference/informative/informB8_variable1.rst +++ b/reference/informative/informB8_variable1.rst @@ -24,11 +24,11 @@ Extra attributes that can be used as needed include the :code:`initial_value`, which will either set a constant value for a variable, or set its initial conditions if it's being solved for. - More information about initialisation can be found in the :ref:`Interpretation of initial values` section. + More information about initialisation can be found in the :ref:`Interpretation of initial values` section. Finally, where one :code:`variable` has been mapped to another in a different component, the :code:`interface` attribute must be specified. This determines the relative position in the encapsulation that the mapped component must have in order to access this variable. This is outlined in more detail in :ref:`The encapsulation item`. For examples and further explanation of components and their encapsulation, please refer to :libcellml_tutorials:`section 3 of the Sodium Channel theory` documentation. - + diff --git a/reference/libcellml/libcellmlC03_interpretation_of_units.rst b/reference/libcellml/libcellmlC03_interpretation_of_units.rst new file mode 100644 index 00000000..da964cad --- /dev/null +++ b/reference/libcellml/libcellmlC03_interpretation_of_units.rst @@ -0,0 +1,14 @@ + +.. container:: toggle + + .. container:: header + + See libCellML implementation + + .. container:: infolib + + .. container:: heading3 + + Messages related to interpretation of units + + **TODO** put errors here. diff --git a/reference/sectionB_elements.rst b/reference/sectionB_elements.rst index 5d964c22..90dfbdfc 100644 --- a/reference/sectionB_elements.rst +++ b/reference/sectionB_elements.rst @@ -562,6 +562,7 @@ Table: Supported MathML Elements | Constants | , , | | | , | +----------------------------------+----------------------------------+ + \* (child of or ) .. marker_math_end diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.rst index 400a96a3..ed22e076 100644 --- a/reference/sectionC_interpretation.rst +++ b/reference/sectionC_interpretation.rst @@ -258,7 +258,7 @@ In this case, the variable reference SHALL be treated as if it was just the vari .. marker_variable_reference_end .. marker_interpretation_of_initial_values_start -.. _specC_initial_values: +.. _specC_interpretation_of_initial_values: Interpretation of initial values -------------------------------- From 2160400a6d8208fc45a22f690f7865d69c8a3545 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 14:59:43 +1300 Subject: [PATCH 082/604] Changed to *.inc for source files --- reference/{sectionA_definitions.rst => sectionA_definitions.inc} | 0 reference/{sectionB_elements.rst => sectionB_elements.inc} | 0 .../{sectionC_interpretation.rst => sectionC_interpretation.inc} | 0 reference/{sectionD_references.rst => sectionD_references.inc} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename reference/{sectionA_definitions.rst => sectionA_definitions.inc} (100%) rename reference/{sectionB_elements.rst => sectionB_elements.inc} (100%) rename reference/{sectionC_interpretation.rst => sectionC_interpretation.inc} (100%) rename reference/{sectionD_references.rst => sectionD_references.inc} (100%) diff --git a/reference/sectionA_definitions.rst b/reference/sectionA_definitions.inc similarity index 100% rename from reference/sectionA_definitions.rst rename to reference/sectionA_definitions.inc diff --git a/reference/sectionB_elements.rst b/reference/sectionB_elements.inc similarity index 100% rename from reference/sectionB_elements.rst rename to reference/sectionB_elements.inc diff --git a/reference/sectionC_interpretation.rst b/reference/sectionC_interpretation.inc similarity index 100% rename from reference/sectionC_interpretation.rst rename to reference/sectionC_interpretation.inc diff --git a/reference/sectionD_references.rst b/reference/sectionD_references.inc similarity index 100% rename from reference/sectionD_references.rst rename to reference/sectionD_references.inc From 13c117abb15e854ef36e82cd666e28f1f4557c8c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 15:04:46 +1300 Subject: [PATCH 083/604] renamed references to *inc --- reference/formal_and_informative/specA1.rst | 2 +- reference/formal_and_informative/specA2.rst | 2 +- reference/formal_and_informative/specA3.rst | 10 +++++----- reference/formal_and_informative/specB01.rst | 6 +++--- reference/formal_and_informative/specB02.rst | 6 +++--- reference/formal_and_informative/specB03.rst | 4 ++-- reference/formal_and_informative/specB04.rst | 2 +- reference/formal_and_informative/specB05.rst | 2 +- reference/formal_and_informative/specB06.rst | 4 ++-- reference/formal_and_informative/specB07.rst | 6 +++--- reference/formal_and_informative/specB08.rst | 2 +- reference/formal_and_informative/specB09.rst | 2 +- reference/formal_and_informative/specB10.rst | 2 +- reference/formal_and_informative/specB11.rst | 2 +- reference/formal_and_informative/specB12.rst | 10 +++++----- reference/formal_and_informative/specB13.rst | 2 +- reference/formal_and_informative/specB14.rst | 2 +- reference/formal_and_informative/specB15.rst | 8 ++++---- reference/formal_and_informative/specB16.rst | 4 ++-- .../specC01_interpretation_of_imports.rst | 2 +- .../specC02_units_reference.rst | 4 ++-- .../specC03_interpretation_of_units.rst | 16 ++++++++-------- .../specC04_component_reference.rst | 2 +- .../specC05_variable_reference.rst | 2 +- .../specC06_interpretation_of_initial_values.rst | 2 +- .../specC07_effect_of_units_on_variables.rst | 2 +- .../specC08_interpretation_of_mathematics.rst | 2 +- .../specC09_interpretation_of_encapsulation.rst | 2 +- .../specC10_interpretation_of_map_variables.rst | 2 +- ...specC11_interpretation_of_variable_resets.rst | 2 +- reference/formal_only/specA1.rst | 2 +- reference/formal_only/specA2.rst | 2 +- reference/formal_only/specA3.rst | 2 +- reference/formal_only/specB01.rst | 2 +- reference/formal_only/specB02.rst | 2 +- reference/formal_only/specB03.rst | 2 +- reference/formal_only/specB04.rst | 2 +- reference/formal_only/specB05.rst | 2 +- reference/formal_only/specB06.rst | 2 +- reference/formal_only/specB07.rst | 2 +- reference/formal_only/specB08.rst | 2 +- reference/formal_only/specB09.rst | 2 +- reference/formal_only/specB10.rst | 2 +- reference/formal_only/specB11.rst | 2 +- reference/formal_only/specB12.rst | 2 +- reference/formal_only/specB13.rst | 2 +- reference/formal_only/specB14.rst | 2 +- reference/formal_only/specB15.rst | 2 +- reference/formal_only/specB16.rst | 2 +- .../specC01_interpretation_of_imports.rst | 2 +- .../formal_only/specC02_units_reference.rst | 2 +- .../specC03_interpretation_of_units.rst | 2 +- .../formal_only/specC04_component_reference.rst | 2 +- .../formal_only/specC05_variable_reference.rst | 2 +- .../specC06_interpretation_of_initial_values.rst | 2 +- .../specC07_effect_of_units_on_variables.rst | 2 +- .../specC08_interpretation_of_mathematics.rst | 2 +- .../specC09_interpretation_of_encapsulation.rst | 2 +- .../specC10_interpretation_of_map_variables.rst | 2 +- ...specC11_interpretation_of_variable_resets.rst | 2 +- 60 files changed, 88 insertions(+), 88 deletions(-) diff --git a/reference/formal_and_informative/specA1.rst b/reference/formal_and_informative/specA1.rst index 87ef6e48..0ade1d9d 100644 --- a/reference/formal_and_informative/specA1.rst +++ b/reference/formal_and_informative/specA1.rst @@ -1,6 +1,6 @@ .. _specA1: -.. include:: ../sectionA_definitions.rst +.. include:: ../sectionA_definitions.inc :start-after: marker_terminology_start :end-before: marker_terminology_end diff --git a/reference/formal_and_informative/specA2.rst b/reference/formal_and_informative/specA2.rst index e3f1cdc4..ab142647 100644 --- a/reference/formal_and_informative/specA2.rst +++ b/reference/formal_and_informative/specA2.rst @@ -1,6 +1,6 @@ .. _specA2: -.. include:: ../sectionA_definitions.rst +.. include:: ../sectionA_definitions.inc :start-after: marker_cellml_information_sets_start :end-before: marker_cellml_information_sets_end diff --git a/reference/formal_and_informative/specA3.rst b/reference/formal_and_informative/specA3.rst index f8e3774b..9d5ab81c 100644 --- a/reference/formal_and_informative/specA3.rst +++ b/reference/formal_and_informative/specA3.rst @@ -1,30 +1,30 @@ .. _specA3: -.. include:: ../sectionA_definitions.rst +.. include:: ../sectionA_definitions.inc :start-after: marker_data_formats_start :end-before: marker_data_formats_1 .. include:: ../informative/informA3_1.rst -.. include:: ../sectionA_definitions.rst +.. include:: ../sectionA_definitions.inc :start-after: marker_data_formats_1 :end-before: marker_data_formats_2 .. include:: ../informative/informA3_2.rst -.. include:: ../sectionA_definitions.rst +.. include:: ../sectionA_definitions.inc :start-after: marker_data_formats_2 :end-before: marker_data_formats_3 .. include:: ../informative/informA3_3.rst -.. include:: ../sectionA_definitions.rst +.. include:: ../sectionA_definitions.inc :start-after: marker_data_formats_3 :end-before: marker_data_formats_4 .. include:: ../informative/informA3_4.rst -.. include:: ../sectionA_definitions.rst +.. include:: ../sectionA_definitions.inc :start-after: marker_data_formats_4 :end-before: marker_data_formats_end diff --git a/reference/formal_and_informative/specB01.rst b/reference/formal_and_informative/specB01.rst index 312a95f0..9a13c162 100644 --- a/reference/formal_and_informative/specB01.rst +++ b/reference/formal_and_informative/specB01.rst @@ -1,18 +1,18 @@ .. _specB01: -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_model_start :end-before: marker_model_1 .. include:: ../informative/informB1_model1.rst -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_model_1 :end-before: marker_model_2 .. include:: ../informative/informB1_model2.rst -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_model_2 :end-before: marker_model_end diff --git a/reference/formal_and_informative/specB02.rst b/reference/formal_and_informative/specB02.rst index 8a315bf1..8c57e628 100644 --- a/reference/formal_and_informative/specB02.rst +++ b/reference/formal_and_informative/specB02.rst @@ -2,19 +2,19 @@ .. _specB_import: -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_import_start :end-before: marker_import_1 .. include:: ../informative/informB2_import1.rst -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_import_1 :end-before: marker_import_2 .. include:: ../informative/informB2_import2.rst -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_import_2 :end-before: marker_import_end diff --git a/reference/formal_and_informative/specB03.rst b/reference/formal_and_informative/specB03.rst index 08772c14..3846900c 100644 --- a/reference/formal_and_informative/specB03.rst +++ b/reference/formal_and_informative/specB03.rst @@ -2,13 +2,13 @@ .. _specB_import_units: -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_import_units_start :end-before: marker_import_units_1 .. include:: ../informative/informB3_import_units1.rst -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_import_units_1 :end-before: marker_import_units_end diff --git a/reference/formal_and_informative/specB04.rst b/reference/formal_and_informative/specB04.rst index ce475bc2..301a3907 100644 --- a/reference/formal_and_informative/specB04.rst +++ b/reference/formal_and_informative/specB04.rst @@ -1,7 +1,7 @@ .. _specB04: .. _specB_import_component: -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_import_component_start :end-before: marker_import_component_end diff --git a/reference/formal_and_informative/specB05.rst b/reference/formal_and_informative/specB05.rst index 9d8c7f6a..a43ae178 100644 --- a/reference/formal_and_informative/specB05.rst +++ b/reference/formal_and_informative/specB05.rst @@ -1,7 +1,7 @@ .. _specB05: .. _specB_units: -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_units_start :end-before: marker_units_end diff --git a/reference/formal_and_informative/specB06.rst b/reference/formal_and_informative/specB06.rst index 406e8265..afacc290 100644 --- a/reference/formal_and_informative/specB06.rst +++ b/reference/formal_and_informative/specB06.rst @@ -1,13 +1,13 @@ .. _specB06: .. _specB_unit: -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_unit_start :end-before: marker_unit_1 .. include:: ../informative/informB6_unit1.rst -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_unit_1 :end-before: marker_unit_end diff --git a/reference/formal_and_informative/specB07.rst b/reference/formal_and_informative/specB07.rst index af15b10e..ef637e03 100644 --- a/reference/formal_and_informative/specB07.rst +++ b/reference/formal_and_informative/specB07.rst @@ -1,19 +1,19 @@ .. _specB07: .. _specB_component: -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_component_start :end-before: marker_component_1 .. include:: ../informative/informB7_component1.rst -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_component_1 :end-before: marker_component_2 .. include:: ../informative/informB7_component2.rst -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_component_2 :end-before: marker_component_end diff --git a/reference/formal_and_informative/specB08.rst b/reference/formal_and_informative/specB08.rst index 455e72d0..13a58584 100644 --- a/reference/formal_and_informative/specB08.rst +++ b/reference/formal_and_informative/specB08.rst @@ -1,7 +1,7 @@ .. _specB08: .. _specB_variable: -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_variable_start :end-before: marker_variable_end diff --git a/reference/formal_and_informative/specB09.rst b/reference/formal_and_informative/specB09.rst index 22f03e25..a21f8668 100644 --- a/reference/formal_and_informative/specB09.rst +++ b/reference/formal_and_informative/specB09.rst @@ -1,7 +1,7 @@ .. _specB09: .. _specB_reset: -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_reset_start :end-before: marker_reset_end diff --git a/reference/formal_and_informative/specB10.rst b/reference/formal_and_informative/specB10.rst index 26a5c1fb..f9e678bf 100644 --- a/reference/formal_and_informative/specB10.rst +++ b/reference/formal_and_informative/specB10.rst @@ -1,7 +1,7 @@ .. _specB10: .. _specB_test_value: -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_test_value_start :end-before: marker_test_value_end diff --git a/reference/formal_and_informative/specB11.rst b/reference/formal_and_informative/specB11.rst index 3ea6a721..d147e0ff 100644 --- a/reference/formal_and_informative/specB11.rst +++ b/reference/formal_and_informative/specB11.rst @@ -1,7 +1,7 @@ .. _specB11: .. _specB_reset_value: -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_reset_value_start :end-before: marker_reset_value_end diff --git a/reference/formal_and_informative/specB12.rst b/reference/formal_and_informative/specB12.rst index ababaea0..6389dec0 100644 --- a/reference/formal_and_informative/specB12.rst +++ b/reference/formal_and_informative/specB12.rst @@ -1,31 +1,31 @@ .. _specB12: .. _specB_math: -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_math_start :end-before: marker_math_1 .. include:: ../informative/informB12_math1.rst -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_math_1 :end-before: marker_math_2 .. include:: ../informative/informB12_math2.rst -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_math_2 :end-before: marker_math_3 .. include:: ../informative/informB12_math3.rst -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_math_3 :end-before: marker_math_4 .. include:: ../informative/informB12_math4.rst -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_math_4 :end-before: marker_math_end diff --git a/reference/formal_and_informative/specB13.rst b/reference/formal_and_informative/specB13.rst index c432a493..53167eea 100644 --- a/reference/formal_and_informative/specB13.rst +++ b/reference/formal_and_informative/specB13.rst @@ -1,7 +1,7 @@ .. _specB13: .. _specB_encapsulation: -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_encapsulation_start :end-before: marker_encapsulation_end diff --git a/reference/formal_and_informative/specB14.rst b/reference/formal_and_informative/specB14.rst index d3468599..3ca560f1 100644 --- a/reference/formal_and_informative/specB14.rst +++ b/reference/formal_and_informative/specB14.rst @@ -1,7 +1,7 @@ .. _specB14: .. _specB_component_ref: -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_component_ref_start :end-before: marker_component_ref_end diff --git a/reference/formal_and_informative/specB15.rst b/reference/formal_and_informative/specB15.rst index 44531092..6fdcba8e 100644 --- a/reference/formal_and_informative/specB15.rst +++ b/reference/formal_and_informative/specB15.rst @@ -1,25 +1,25 @@ .. _specB15: .. _specB_connection: -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_connection_start :end-before: marker_connection_2 .. include:: ../informative/informB15_connection2.rst -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_connection_2 :end-before: marker_connection_3 .. include:: ../informative/informB15_connection3.rst -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_connection_3 :end-before: marker_connection_4 .. include:: ../informative/informB15_connection4.rst -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_connection_4 :end-before: marker_connection_end diff --git a/reference/formal_and_informative/specB16.rst b/reference/formal_and_informative/specB16.rst index 009ae964..f92e4804 100644 --- a/reference/formal_and_informative/specB16.rst +++ b/reference/formal_and_informative/specB16.rst @@ -1,13 +1,13 @@ .. _specB16: .. _specB_map_variables: -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_map_variables_start :end-before: marker_map_variables_2 .. include:: ../informative/informB16_map_variables2.rst -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_map_variables_2 :end-before: marker_map_variables_end diff --git a/reference/formal_and_informative/specC01_interpretation_of_imports.rst b/reference/formal_and_informative/specC01_interpretation_of_imports.rst index 92fd0055..15a8bebd 100644 --- a/reference/formal_and_informative/specC01_interpretation_of_imports.rst +++ b/reference/formal_and_informative/specC01_interpretation_of_imports.rst @@ -1,6 +1,6 @@ .. _specC01: -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_imports_start :end-before: marker_interpretation_of_imports_end diff --git a/reference/formal_and_informative/specC02_units_reference.rst b/reference/formal_and_informative/specC02_units_reference.rst index f75fbb0e..7b99b564 100644 --- a/reference/formal_and_informative/specC02_units_reference.rst +++ b/reference/formal_and_informative/specC02_units_reference.rst @@ -1,10 +1,10 @@ .. _specC02: -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_units_reference_start :end-before: marker_units_reference1 -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_units_reference1 :end-before: marker_units_reference_end diff --git a/reference/formal_and_informative/specC03_interpretation_of_units.rst b/reference/formal_and_informative/specC03_interpretation_of_units.rst index d8b46f72..83b63d97 100644 --- a/reference/formal_and_informative/specC03_interpretation_of_units.rst +++ b/reference/formal_and_informative/specC03_interpretation_of_units.rst @@ -1,48 +1,48 @@ .. _specC03: -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_units_start :end-before: marker_interpretation_of_units_1_1 .. include:: ../informative/informC03_interpretation_of_units1_1.rst -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_units_1_1 :end-before: marker_interpretation_of_units_1_3 .. include:: ../informative/informC03_interpretation_of_units1_3.rst -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_units_1_3 :end-before: marker_interpretation_of_units_1_4 .. include:: ../informative/informC03_interpretation_of_units1_4.rst -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_units_1_4 :end-before: marker_interpretation_of_units_2 .. include:: ../informative/informC03_interpretation_of_units2.rst -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_units_2 :end-before: marker_interpretation_of_units_3_2 .. include:: ../informative/informC03_interpretation_of_units3_2.rst -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_units_3_2 :end-before: marker_interpretation_of_units_3_3 .. include:: ../informative/informC03_interpretation_of_units3_3.rst -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_units_3_3 :end-before: marker_interpretation_of_units_3_4 .. include:: ../informative/informC03_interpretation_of_units3_4.rst -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_units_3_4 :end-before: marker_interpretation_of_units_end diff --git a/reference/formal_and_informative/specC04_component_reference.rst b/reference/formal_and_informative/specC04_component_reference.rst index 13abf57a..9bd86a09 100644 --- a/reference/formal_and_informative/specC04_component_reference.rst +++ b/reference/formal_and_informative/specC04_component_reference.rst @@ -1,6 +1,6 @@ .. _specC04: -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_component_reference_start :end-before: marker_component_reference_end diff --git a/reference/formal_and_informative/specC05_variable_reference.rst b/reference/formal_and_informative/specC05_variable_reference.rst index fe287459..c7a4388f 100644 --- a/reference/formal_and_informative/specC05_variable_reference.rst +++ b/reference/formal_and_informative/specC05_variable_reference.rst @@ -1,6 +1,6 @@ .. _specC05: -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_variable_reference_start :end-before: marker_variable_reference_end diff --git a/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst b/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst index f1bdb4d6..2e18b56d 100644 --- a/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst +++ b/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst @@ -1,6 +1,6 @@ .. _specC06: -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_initial_values_start :end-before: marker_interpretation_of_initial_values_end diff --git a/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst b/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst index 1fb31dfa..e2ee2813 100644 --- a/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst +++ b/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst @@ -1,6 +1,6 @@ .. _specC07: -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_effect_of_units_on_variables_start :end-before: marker_effect_of_units_on_variables_end diff --git a/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst b/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst index f1386742..1f5f388a 100644 --- a/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst +++ b/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst @@ -1,6 +1,6 @@ .. _specC08: -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_mathematics_start :end-before: marker_interpretation_of_mathematics_end diff --git a/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst b/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst index c5a508c2..cd428751 100644 --- a/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst +++ b/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst @@ -1,6 +1,6 @@ .. _specC09: -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_encapsulation_start :end-before: marker_interpretation_of_encapsulation_end diff --git a/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst b/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst index 2ed0e4f4..8ded5c8c 100644 --- a/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst +++ b/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst @@ -1,6 +1,6 @@ .. _specC10: -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_map_variables_start :end-before: marker_interpretation_of_map_variables_end diff --git a/reference/formal_and_informative/specC11_interpretation_of_variable_resets.rst b/reference/formal_and_informative/specC11_interpretation_of_variable_resets.rst index 319f96df..5ecb6417 100644 --- a/reference/formal_and_informative/specC11_interpretation_of_variable_resets.rst +++ b/reference/formal_and_informative/specC11_interpretation_of_variable_resets.rst @@ -1,6 +1,6 @@ .. _specC11: -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_variable_resets_start :end-before: marker_interpretation_of_variable_resets_end diff --git a/reference/formal_only/specA1.rst b/reference/formal_only/specA1.rst index ed1890f4..defea104 100644 --- a/reference/formal_only/specA1.rst +++ b/reference/formal_only/specA1.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionA_definitions.rst +.. include:: ../sectionA_definitions.inc :start-after: marker_terminology_start :end-before: marker_terminology_end diff --git a/reference/formal_only/specA2.rst b/reference/formal_only/specA2.rst index cd8a9cce..ee73c8b4 100644 --- a/reference/formal_only/specA2.rst +++ b/reference/formal_only/specA2.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionA_definitions.rst +.. include:: ../sectionA_definitions.inc :start-after: marker_cellml_information_sets_start :end-before: marker_cellml_information_sets_end diff --git a/reference/formal_only/specA3.rst b/reference/formal_only/specA3.rst index 76fc37ed..ff78348e 100644 --- a/reference/formal_only/specA3.rst +++ b/reference/formal_only/specA3.rst @@ -1,5 +1,5 @@ -.. include:: ../sectionA_definitions.rst +.. include:: ../sectionA_definitions.inc :start-after: marker_data_formats_start :end-before: marker_data_formats_end diff --git a/reference/formal_only/specB01.rst b/reference/formal_only/specB01.rst index cd069abd..9aecc8ce 100644 --- a/reference/formal_only/specB01.rst +++ b/reference/formal_only/specB01.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_model_start :end-before: marker_model_end diff --git a/reference/formal_only/specB02.rst b/reference/formal_only/specB02.rst index ee5fd087..020ff87f 100644 --- a/reference/formal_only/specB02.rst +++ b/reference/formal_only/specB02.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_import_start :end-before: marker_import_end diff --git a/reference/formal_only/specB03.rst b/reference/formal_only/specB03.rst index b2b4c2ad..11389807 100644 --- a/reference/formal_only/specB03.rst +++ b/reference/formal_only/specB03.rst @@ -1,5 +1,5 @@ -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_import_units_start :end-before: marker_import_units_end diff --git a/reference/formal_only/specB04.rst b/reference/formal_only/specB04.rst index 58902762..8cd3c4df 100644 --- a/reference/formal_only/specB04.rst +++ b/reference/formal_only/specB04.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_import_component_start :end-before: marker_import_component_end diff --git a/reference/formal_only/specB05.rst b/reference/formal_only/specB05.rst index 1cfc8289..c1c13420 100644 --- a/reference/formal_only/specB05.rst +++ b/reference/formal_only/specB05.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_units_start :end-before: marker_units_end diff --git a/reference/formal_only/specB06.rst b/reference/formal_only/specB06.rst index 3ae04e20..d8ac9c26 100644 --- a/reference/formal_only/specB06.rst +++ b/reference/formal_only/specB06.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_unit_start :end-before: marker_unit_end diff --git a/reference/formal_only/specB07.rst b/reference/formal_only/specB07.rst index 60fbeb9c..e9d4fd82 100644 --- a/reference/formal_only/specB07.rst +++ b/reference/formal_only/specB07.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_component_start :end-before: marker_component_end diff --git a/reference/formal_only/specB08.rst b/reference/formal_only/specB08.rst index b440900e..c120909c 100644 --- a/reference/formal_only/specB08.rst +++ b/reference/formal_only/specB08.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_variable_start :end-before: marker_variable_end diff --git a/reference/formal_only/specB09.rst b/reference/formal_only/specB09.rst index 5d3b4acf..9d5fdf5a 100644 --- a/reference/formal_only/specB09.rst +++ b/reference/formal_only/specB09.rst @@ -1,5 +1,5 @@ -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_reset_start :end-before: marker_reset_end diff --git a/reference/formal_only/specB10.rst b/reference/formal_only/specB10.rst index dc2b9906..8aa45be9 100644 --- a/reference/formal_only/specB10.rst +++ b/reference/formal_only/specB10.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_test_value_start :end-before: marker_test_value_end diff --git a/reference/formal_only/specB11.rst b/reference/formal_only/specB11.rst index 25a090a0..2144ee32 100644 --- a/reference/formal_only/specB11.rst +++ b/reference/formal_only/specB11.rst @@ -1,5 +1,5 @@ -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_reset_value_start :end-before: marker_reset_value_end diff --git a/reference/formal_only/specB12.rst b/reference/formal_only/specB12.rst index e121e68c..c52c3b28 100644 --- a/reference/formal_only/specB12.rst +++ b/reference/formal_only/specB12.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_math_start :end-before: marker_math_end diff --git a/reference/formal_only/specB13.rst b/reference/formal_only/specB13.rst index 0a662efe..3ade6086 100644 --- a/reference/formal_only/specB13.rst +++ b/reference/formal_only/specB13.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_encapsulation_start :end-before: marker_encapsulation_end diff --git a/reference/formal_only/specB14.rst b/reference/formal_only/specB14.rst index 002a8da6..3bd7e35e 100644 --- a/reference/formal_only/specB14.rst +++ b/reference/formal_only/specB14.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_component_ref_start :end-before: marker_component_ref_end diff --git a/reference/formal_only/specB15.rst b/reference/formal_only/specB15.rst index e72899dd..1511447e 100644 --- a/reference/formal_only/specB15.rst +++ b/reference/formal_only/specB15.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_connection_start :end-before: marker_connection_end diff --git a/reference/formal_only/specB16.rst b/reference/formal_only/specB16.rst index 659c6434..ec571ff9 100644 --- a/reference/formal_only/specB16.rst +++ b/reference/formal_only/specB16.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionB_elements.rst +.. include:: ../sectionB_elements.inc :start-after: marker_map_variables_start :end-before: marker_map_variables_end diff --git a/reference/formal_only/specC01_interpretation_of_imports.rst b/reference/formal_only/specC01_interpretation_of_imports.rst index b33e0263..399dd723 100644 --- a/reference/formal_only/specC01_interpretation_of_imports.rst +++ b/reference/formal_only/specC01_interpretation_of_imports.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_imports_start :end-before: marker_interpretation_of_imports_end diff --git a/reference/formal_only/specC02_units_reference.rst b/reference/formal_only/specC02_units_reference.rst index fe9d3306..b9424953 100644 --- a/reference/formal_only/specC02_units_reference.rst +++ b/reference/formal_only/specC02_units_reference.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_units_reference_start :end-before: marker_units_reference_end diff --git a/reference/formal_only/specC03_interpretation_of_units.rst b/reference/formal_only/specC03_interpretation_of_units.rst index add27e79..ec58e2cf 100644 --- a/reference/formal_only/specC03_interpretation_of_units.rst +++ b/reference/formal_only/specC03_interpretation_of_units.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_units_start :end-before: marker_interpretation_of_units_end diff --git a/reference/formal_only/specC04_component_reference.rst b/reference/formal_only/specC04_component_reference.rst index 78e23f2f..f8b867d6 100644 --- a/reference/formal_only/specC04_component_reference.rst +++ b/reference/formal_only/specC04_component_reference.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_component_reference_start :end-before: marker_component_reference_end diff --git a/reference/formal_only/specC05_variable_reference.rst b/reference/formal_only/specC05_variable_reference.rst index 4663de4e..510b073e 100644 --- a/reference/formal_only/specC05_variable_reference.rst +++ b/reference/formal_only/specC05_variable_reference.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_variable_reference_start :end-before: marker_variable_reference_end diff --git a/reference/formal_only/specC06_interpretation_of_initial_values.rst b/reference/formal_only/specC06_interpretation_of_initial_values.rst index 7c2ad3bc..68a62e2b 100644 --- a/reference/formal_only/specC06_interpretation_of_initial_values.rst +++ b/reference/formal_only/specC06_interpretation_of_initial_values.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_initial_values_start :end-before: marker_interpretation_of_initial_values_end diff --git a/reference/formal_only/specC07_effect_of_units_on_variables.rst b/reference/formal_only/specC07_effect_of_units_on_variables.rst index af95adf7..746c66f5 100644 --- a/reference/formal_only/specC07_effect_of_units_on_variables.rst +++ b/reference/formal_only/specC07_effect_of_units_on_variables.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_effect_of_units_on_variables_start :end-before: marker_effect_of_units_on_variables_end diff --git a/reference/formal_only/specC08_interpretation_of_mathematics.rst b/reference/formal_only/specC08_interpretation_of_mathematics.rst index 35ce6994..261b14c7 100644 --- a/reference/formal_only/specC08_interpretation_of_mathematics.rst +++ b/reference/formal_only/specC08_interpretation_of_mathematics.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_mathematics_start :end-before: marker_interpretation_of_mathematics_end diff --git a/reference/formal_only/specC09_interpretation_of_encapsulation.rst b/reference/formal_only/specC09_interpretation_of_encapsulation.rst index 97fc56f1..a2b0e7b2 100644 --- a/reference/formal_only/specC09_interpretation_of_encapsulation.rst +++ b/reference/formal_only/specC09_interpretation_of_encapsulation.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_encapsulation_start :end-before: marker_interpretation_of_encapsulation_end diff --git a/reference/formal_only/specC10_interpretation_of_map_variables.rst b/reference/formal_only/specC10_interpretation_of_map_variables.rst index 989deaaa..7a952bc2 100644 --- a/reference/formal_only/specC10_interpretation_of_map_variables.rst +++ b/reference/formal_only/specC10_interpretation_of_map_variables.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_map_variables_start :end-before: marker_interpretation_of_map_variables_end diff --git a/reference/formal_only/specC11_interpretation_of_variable_resets.rst b/reference/formal_only/specC11_interpretation_of_variable_resets.rst index 4e0cbaa9..629ac7c1 100644 --- a/reference/formal_only/specC11_interpretation_of_variable_resets.rst +++ b/reference/formal_only/specC11_interpretation_of_variable_resets.rst @@ -1,4 +1,4 @@ -.. include:: ../sectionC_interpretation.rst +.. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_variable_resets_start :end-before: marker_interpretation_of_variable_resets_end From 1901b4ba3a24e248082496739dc4f1b6a20e8d4b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 19 Mar 2020 15:22:32 +1300 Subject: [PATCH 084/604] added placeholder files --- .../specC06_interpretation_of_initial_values.rst | 2 +- .../informative/informC04_component_reference.rst | 11 +++++++++++ .../informative/informC05_variable_reference.rst | 11 +++++++++++ .../informC06_interpretation_of_initial_values.rst | 11 +++++++++++ .../informC07_effect_of_units_on_variables.rst | 11 +++++++++++ .../informC08_interpretation_of_mathematics.rst | 11 +++++++++++ .../informC09_interpretation_of_encapsulation.rst | 11 +++++++++++ .../informC10_interpretation_of_map_variables.rst | 11 +++++++++++ .../informC11_interpretation_of_variable_resets.rst | 11 +++++++++++ ...ectionD_references.inc => sectionD_references.rst} | 0 10 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 reference/informative/informC04_component_reference.rst create mode 100644 reference/informative/informC05_variable_reference.rst create mode 100644 reference/informative/informC06_interpretation_of_initial_values.rst create mode 100644 reference/informative/informC07_effect_of_units_on_variables.rst create mode 100644 reference/informative/informC08_interpretation_of_mathematics.rst create mode 100644 reference/informative/informC09_interpretation_of_encapsulation.rst create mode 100644 reference/informative/informC10_interpretation_of_map_variables.rst create mode 100644 reference/informative/informC11_interpretation_of_variable_resets.rst rename reference/{sectionD_references.inc => sectionD_references.rst} (100%) diff --git a/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst b/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst index 2e18b56d..5b7d960d 100644 --- a/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst +++ b/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst @@ -4,4 +4,4 @@ :start-after: marker_interpretation_of_initial_values_start :end-before: marker_interpretation_of_initial_values_end -.. include:: ../informative/informC06_interpretation_of_initial_value.rst +.. include:: ../informative/informC06_interpretation_of_initial_values.rst diff --git a/reference/informative/informC04_component_reference.rst b/reference/informative/informC04_component_reference.rst new file mode 100644 index 00000000..8ddc8dd4 --- /dev/null +++ b/reference/informative/informC04_component_reference.rst @@ -0,0 +1,11 @@ +.. _informC04_component_reference: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + **TODO** \ No newline at end of file diff --git a/reference/informative/informC05_variable_reference.rst b/reference/informative/informC05_variable_reference.rst new file mode 100644 index 00000000..d9328f97 --- /dev/null +++ b/reference/informative/informC05_variable_reference.rst @@ -0,0 +1,11 @@ +.. _informC05_variable_reference: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + **TODO** \ No newline at end of file diff --git a/reference/informative/informC06_interpretation_of_initial_values.rst b/reference/informative/informC06_interpretation_of_initial_values.rst new file mode 100644 index 00000000..6536d131 --- /dev/null +++ b/reference/informative/informC06_interpretation_of_initial_values.rst @@ -0,0 +1,11 @@ +.. _informC06_interpretation_of_initial_values: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + **TODO** \ No newline at end of file diff --git a/reference/informative/informC07_effect_of_units_on_variables.rst b/reference/informative/informC07_effect_of_units_on_variables.rst new file mode 100644 index 00000000..f3a945cc --- /dev/null +++ b/reference/informative/informC07_effect_of_units_on_variables.rst @@ -0,0 +1,11 @@ +.. _informC07_effect_of_units_on_variables: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + **TODO** \ No newline at end of file diff --git a/reference/informative/informC08_interpretation_of_mathematics.rst b/reference/informative/informC08_interpretation_of_mathematics.rst new file mode 100644 index 00000000..145e03ae --- /dev/null +++ b/reference/informative/informC08_interpretation_of_mathematics.rst @@ -0,0 +1,11 @@ +.. _informC08_interpretation_of_mathematics: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + **TODO** \ No newline at end of file diff --git a/reference/informative/informC09_interpretation_of_encapsulation.rst b/reference/informative/informC09_interpretation_of_encapsulation.rst new file mode 100644 index 00000000..491cb3bd --- /dev/null +++ b/reference/informative/informC09_interpretation_of_encapsulation.rst @@ -0,0 +1,11 @@ +.. _informC09_interpretation_of_encapsulation: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + **TODO** \ No newline at end of file diff --git a/reference/informative/informC10_interpretation_of_map_variables.rst b/reference/informative/informC10_interpretation_of_map_variables.rst new file mode 100644 index 00000000..7403672d --- /dev/null +++ b/reference/informative/informC10_interpretation_of_map_variables.rst @@ -0,0 +1,11 @@ +.. _informC10_interpretation_of_map_variables: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + **TODO** \ No newline at end of file diff --git a/reference/informative/informC11_interpretation_of_variable_resets.rst b/reference/informative/informC11_interpretation_of_variable_resets.rst new file mode 100644 index 00000000..a5e64e93 --- /dev/null +++ b/reference/informative/informC11_interpretation_of_variable_resets.rst @@ -0,0 +1,11 @@ +.. _informC11_interpretation_of_variable_resets: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + **TODO** \ No newline at end of file diff --git a/reference/sectionD_references.inc b/reference/sectionD_references.rst similarity index 100% rename from reference/sectionD_references.inc rename to reference/sectionD_references.rst From 679988448aa7503aa94f3d0282f0edea4bb5e0fe Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 19 Mar 2020 11:03:19 +0000 Subject: [PATCH 085/604] Changed more text to one-sentence-per-line format. --- formal.rst | 10 +- index.rst | 10 +- reference/formal_sectionA.rst | 4 +- reference/formal_sectionC.rst | 4 +- reference/index_sectionA.rst | 4 +- reference/index_sectionC.rst | 4 +- reference/sectionA_definitions.inc | 4 +- reference/sectionB_elements.inc | 298 +++++++------------------- reference/sectionC_interpretation.inc | 6 +- 9 files changed, 101 insertions(+), 243 deletions(-) diff --git a/formal.rst b/formal.rst index 6d4be605..91c8a3c8 100644 --- a/formal.rst +++ b/formal.rst @@ -1,12 +1,11 @@ .. _formal: -========================================== +===================================== Normative specification for CellML2.0 -========================================== +===================================== -The first section here includes the normative specification documentation for -the CellML format. These represent the official rules about what must -and must not be included in order for a model to be syntactically valid CellML. +The first section here includes the normative specification documentation for the CellML format. +These represent the official rules about what must and must not be included in order for a model to be syntactically valid CellML. .. toctree:: @@ -17,4 +16,3 @@ and must not be included in order for a model to be syntactically valid CellML. reference/formal_sectionC.rst reference/sectionD_references.rst - diff --git a/index.rst b/index.rst index a368e0be..878a26fb 100644 --- a/index.rst +++ b/index.rst @@ -1,12 +1,11 @@ .. _index: -========================================== +===================================== Normative specification for CellML2.0 -========================================== +===================================== -The first section here includes the normative specification documentation for -the CellML format. These represent the official rules about what must -and must not be included in order for a model to be syntactically valid CellML. +The first section here includes the normative specification documentation for the CellML format. +These represent the official rules about what must and must not be included in order for a model to be syntactically valid CellML. .. toctree:: @@ -17,4 +16,3 @@ and must not be included in order for a model to be syntactically valid CellML. reference/index_sectionC.rst reference/sectionD_references.rst - diff --git a/reference/formal_sectionA.rst b/reference/formal_sectionA.rst index 378e6ab6..119cf08d 100644 --- a/reference/formal_sectionA.rst +++ b/reference/formal_sectionA.rst @@ -1,8 +1,8 @@ .. _sectionA_index_formal: -==================================== +=================================== Section A: Definitions and preamble -==================================== +=================================== .. toctree:: :maxdepth: 1 diff --git a/reference/formal_sectionC.rst b/reference/formal_sectionC.rst index cfbb990f..fea08a8b 100644 --- a/reference/formal_sectionC.rst +++ b/reference/formal_sectionC.rst @@ -1,8 +1,8 @@ .. _sectionC_index_formal: -============================================= +========================= Section C: Interpretation -============================================= +========================= Section C of the Normative CellML2.0 Specification describes the way in which the elements defined in Section B are to be interpreted. diff --git a/reference/index_sectionA.rst b/reference/index_sectionA.rst index 5328c18b..8da7525f 100644 --- a/reference/index_sectionA.rst +++ b/reference/index_sectionA.rst @@ -1,8 +1,8 @@ .. _sectionA_index: -==================================== +=================================== Section A: Definitions and preamble -==================================== +=================================== .. toctree:: :maxdepth: 1 diff --git a/reference/index_sectionC.rst b/reference/index_sectionC.rst index c503f5b1..d5a95fb3 100644 --- a/reference/index_sectionC.rst +++ b/reference/index_sectionC.rst @@ -1,8 +1,8 @@ .. _sectionC_index: -============================================= +========================= Section C: Interpretation -============================================= +========================= Section C of the Normative CellML2.0 Specification describes the way in which the elements defined in Section B are to be interpreted. diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index 1644398b..96434fd9 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -45,9 +45,9 @@ Users of CellML models should read the informative version of the CellML Specifi Terminology =========== -The keywords “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in :rfc2119:`RFC 2119`. +The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in :rfc2119:`RFC 2119`. -The key phrase “information item”, as well as any specific type of information item such as an “element information item”, are to be interpreted as described in :xml_infoset:`XML Information Set`. +The key phrase "information item", as well as any specific type of information item such as an "element information item", are to be interpreted as described in :xml_infoset:`XML Information Set`. .. _specA_cellml_infoset: diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 90dfbdfc..1b8f02ed 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -73,7 +73,7 @@ Specific information items The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification`, by applying the rules for simple-type elements. - When describing an :code:`import` element or one of its children, the phrase “imported CellML infoset” SHALL refer to the :ref:`CellML infoset` obtained by parsing the document referenced by the :code:`href` attribute. + When describing an :code:`import` element or one of its children, the phrase "imported CellML infoset" SHALL refer to the :ref:`CellML infoset` obtained by parsing the document referenced by the :code:`href` attribute. .. marker_import_1 @@ -99,37 +99,26 @@ Specific information items The ``import units`` element ============================ -An :code:`import units` element information item (referred to in this -specification as an :code:`import units` element) is an element in the -:ref:`CellML namespace` with a local name equal to :code:`units`, which -appears as a child of an :code:`import` element. +An :code:`import units` element information item (referred to in this specification as an :code:`import units` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`units`, which appears as a child of an :code:`import` element. Specific information items -------------------------- .. container:: issue-import-units-name - 1. Every :code:`import units` element MUST contain a :code:`name` - attribute. The value of the :code:`name` attribute MUST be a - :ref:`valid CellML identifier`. + 1. Every :code:`import units` element MUST contain a :code:`name` attribute. + The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical - to the :code:`name` attribute of any other :code:`units` or - :code:`import units` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`units` or :code:`import units` element in the :ref:`CellML infoset`. .. marker_import_units_1 .. container:: issue-import-units-ref - 2. Every :code:`import units` element MUST contain a - :code:`units_ref` attribute. The value of the :code:`units_ref` attribute - MUST be a - :ref:`valid CellML identifier`. + 2. Every :code:`import units` element MUST contain a :code:`units_ref` attribute. + The value of the :code:`units_ref` attribute MUST be a :ref:`valid CellML identifier`. - The value of the :code:`units_ref` - attribute MUST match the value of the :code:`name` attribute on a - :code:`units` or :code:`import units` element in the imported CellML - infoset. + The value of the :code:`units_ref` attribute MUST match the value of the :code:`name` attribute on a :code:`units` or :code:`import units` element in the imported CellML infoset. .. marker_import_units_end .. marker_import_component_start @@ -139,36 +128,25 @@ Specific information items The ``import component`` element ================================ -An :code:`import component` element information item (referred to in this -specification as an :code:`import component` element) is an element -in the :ref:`CellML namespace` with a local name equal to -:code:`component`, which appears as a child of an :code:`import` element. +An :code:`import component` element information item (referred to in this specification as an :code:`import component` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`component`, which appears as a child of an :code:`import` element. Specific information items -------------------------- .. container:: issue-import-component-name - 1. Every :code:`import component` element MUST contain a - :code:`name` attribute. The value of the :code:`name` attribute MUST be a - :ref:`valid CellML identifier`. + 1. Every :code:`import component` element MUST contain a :code:`name` attribute. The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. - The value of the :code:`name` attribute MUST NOT - be identical to the :code:`name` attribute of any other :code:`component` or - :code:`import component` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`component` or :code:`import component` element in the :ref:`CellML infoset`. .. container:: issue-import-component-ref 2. Every :code:`import component` element MUST contain a - :code:`component_ref` attribute. The value of the :code:`component_ref` - attribute MUST be a :ref:`valid CellML identifier`. +:code:`component_ref` attribute. The value of the :code:`component_ref` +attribute MUST be a :ref:`valid CellML identifier`. - The value of the - :code:`component_ref` attribute MUST match the value of the :code:`name` - attribute on a :code:`component` or :code:`import component` element in the - imported :ref:`CellML infoset`. See also the - :ref:`Component reference` - section. + The value of the :code:`component_ref` attribute MUST match the value of the :code:`name` attribute on a :code:`component` or :code:`import component` element in the imported :ref:`CellML infoset`. + See also the :ref:`Component reference` section. .. marker_import_component_end .. marker_units_start @@ -178,36 +156,27 @@ Specific information items The ``units`` element ===================== -A :code:`units` element information item (referred to in this specification -as a :code:`units` element) is an element in the CellML -namespace with a local name equal to :code:`units`, and with a :code:`model` -element as its parent. +A :code:`units` element information item (referred to in this specification as a :code:`units` element) is an element in the CellML namespace with a local name equal to :code:`units`, and with a :code:`model` element as its parent. Specific information items -------------------------- .. container:: issue-units-name - 1. Every :code:`units` element MUST contain a :code:`name` - attribute. The value of the :code:`name` attribute MUST be a - :ref:`valid CellML identifier`. + 1. Every :code:`units` element MUST contain a :code:`name` attribute. + The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. .. container:: issue-units-name-unique - 2. The value of the :code:`name` attribute MUST NOT be identical to the - :code:`name` attribute of any other :code:`units` element or - :code:`import units` element in the :ref:`CellML infoset`. + 2. The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`units` element or :code:`import units` element in the :ref:`CellML infoset`. .. container:: issue-units-standard - 3. The value of the :code:`name` attribute MUST NOT be equal to the name of - any of the units listed in the :ref:`Built-in units ` - table. + 3. The value of the :code:`name` attribute MUST NOT be equal to the name of any of the units listed in the :ref:`Built-in units ` table. .. container:: issue-units-child - 4. A :code:`units` element MAY contain one or more :code:`unit` element - children. + 4. A :code:`units` element MAY contain one or more :code:`unit` element children. .. marker_units_end .. marker_unit_start @@ -217,39 +186,25 @@ Specific information items The ``unit`` element ==================== -A :code:`unit` element information item (referred to in this specification -as a :code:`unit` element) is an element in the CellML -namespace with a local name equal to :code:`unit`, and with a :code:`units` -element as its parent. +A :code:`unit` element information item (referred to in this specification as a :code:`unit` element) is an element in the CellML namespace with a local name equal to :code:`unit`, and with a :code:`units` element as its parent. Specific information items -------------------------- .. container:: issue-unit-units-ref - 1. Every :code:`unit` element MUST contain a :code:`units` - attribute. The value of the :code:`units` attribute MUST be - a valid units reference, as defined in the - :ref:`Units reference` section. + 1. Every :code:`unit` element MUST contain a :code:`units` attribute. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in the :ref:`Units reference` section. .. container:: issue-unit-digraph - 1. For the purpose of the constraint in the next paragraph, the - :code:`units` element inclusion digraph SHALL be defined as a - conceptual digraph which SHALL contain one node for every - :code:`units` element in the :ref:`CellML model`. + 1. For the purpose of the constraint in the next paragraph, the :code:`units` element inclusion digraph SHALL be defined as a conceptual digraph which SHALL contain one node for every :code:`units` element in the :ref:`CellML model`. - The :code:`units` element - inclusion digraph SHALL contain an arc from :code:`units` element *A* - to :code:`units` element *B* if and only if :code:`units` element *A* - contains a :code:`unit` element with :code:`units` attribute value that - is a units reference to :code:`units` element *B*. + The :code:`units` element inclusion digraph SHALL contain an arc from :code:`units` element *A* to :code:`units` element *B* if and only if :code:`units` element *A* contains a :code:`unit` element with :code:`units` attribute value that is a units reference to :code:`units` element *B*. .. container:: issue-unit-circular-ref - 2. The value of the :code:`units` attribute MUST NOT be such that the - :code:`units` element inclusion digraph contains one or more cycles - (in other words, units definitions must not be cyclical). + 2. The value of the :code:`units` attribute MUST NOT be such that the :code:`units` element inclusion digraph contains one or more cycles (in other words, units definitions must not be cyclical). .. marker_unit_1 @@ -259,19 +214,15 @@ Specific information items .. container:: issue-unit-prefix - 1. The :code:`prefix` attribute. If present, the value of the attribute - MUST meet the constraints specified in the - :ref:`Interpretation of units ` section. + 1. The :code:`prefix` attribute. If present, the value of the attribute MUST meet the constraints specified in the :ref:`Interpretation of units ` section. .. container:: issue-unit-multiplier - 2. The :code:`multiplier` attribute. If present, the value of the - attribute MUST be a real number string. + 2. The :code:`multiplier` attribute. If present, the value of the attribute MUST be a real number string. .. container:: issue-unit-exponent - 3. The :code:`exponent` attribute. If present, the value of the attribute - MUST be a real number string. + 3. The :code:`exponent` attribute. If present, the value of the attribute MUST be a real number string. .. marker_unit_end .. marker_component_start @@ -281,10 +232,7 @@ Specific information items The ``component`` element ========================= -A :code:`component` element information item (referred to in this -specification as a :code:`component` element) is an element -in the :ref:`CellML namespace` with a local name equal to :code:`component`, and -which appears as a child of a :code:`model` element. +A :code:`component` element information item (referred to in this specification as a :code:`component` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`component`, and which appears as a child of a :code:`model` element. .. marker_component_1 @@ -293,20 +241,15 @@ Specific information items .. container:: issue-component-name - 1. Every :code:`component` element MUST contain a :code:`name` - attribute. The value of the :code:`name` attribute MUST be a - :ref:`valid CellML identifier`. + 1. Every :code:`component` element MUST contain a :code:`name` attribute. The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical - to the :code:`name` attribute on any other :code:`component` element or - :code:`import component` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute on any other :code:`component` element or :code:`import component` element in the :ref:`CellML infoset`. .. marker_component_2 .. container:: issue-component-child - 2. A :code:`component` element MAY contain one or more specific element - children, each of which MUST be of one of the following types: + 2. A :code:`component` element MAY contain one or more specific element children, each of which MUST be of one of the following types: #. A :code:`variable` element; or @@ -322,48 +265,34 @@ Specific information items The ``variable`` element ======================== -A :code:`variable` element information item (referred to in this -specification as a :code:`variable` element) is an element -in the :ref:`CellML namespace` with a local name -equal to :code:`variable`, and which appears as a child of a :code:`component` element. +A :code:`variable` element information item (referred to in this specification as a :code:`variable` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`variable`, and which appears as a child of a :code:`component` element. Specific information items -------------------------- -1. Every :code:`variable` element MUST have exactly one of each of the following - attributes: +1. Every :code:`variable` element MUST have exactly one of each of the following attributes: .. container:: issue-variable-name - 1. The :code:`name` attribute. The value of the :code:`name` attribute MUST - be a :ref:`valid CellML identifier`. + 1. The :code:`name` attribute. The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. - The value of the :code:`name` attribute - MUST NOT be identical to the :code:`name` attribute on any sibling - :code:`variable` element. + The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute on any sibling :code:`variable` element. .. container:: issue-variable-units - 2. The :code:`units` attribute. The value of the :code:`units` attribute - MUST be a :ref:`valid CellML identifier`, - and MUST meet the constraints described in the - :ref:`Effect of units on variables` - section. + 2. The :code:`units` attribute. The value of the :code:`units` attribute MUST be a :ref:`valid CellML identifier`, and MUST meet the constraints described in the :ref:`Effect of units on variables` section. -2. Every :code:`variable` element MAY contain one or more of the following - attributes: +2. Every :code:`variable` element MAY contain one or more of the following attributes: .. container:: issue-variable-interface - 1. The :code:`interface` attribute. If the attribute is present, it MUST - have value of :code:`public`, :code:`private`, - :code:`public_and_private`, or :code:`none`. + 1. The :code:`interface` attribute. + If the attribute is present, it MUST have value of :code:`public`, :code:`private`, :code:`public_and_private`, or :code:`none`. .. container:: issue-variable-initial-value - 2. The :code:`initial_value` attribute. If the attribute is present, it - MUST meet the requirements described by the - :ref:`Interpretation of initial values` section. + 2. The :code:`initial_value` attribute. + If the attribute is present, it MUST meet the requirements described by the :ref:`Interpretation of initial values` section. .. marker_variable_end .. marker_reset_start @@ -373,44 +302,33 @@ Specific information items The ``reset`` element ===================== -A :code:`reset` element information item (referred to in this specification -as a :code:`reset` element) is an element in the CellML -namespace with a local name equal to :code:`reset`, and which appears as a -child of a :code:`component` element. +A :code:`reset` element information item (referred to in this specification as a :code:`reset` element) is an element in the CellML namespace with a local name equal to :code:`reset`, and which appears as a child of a :code:`component` element. Specific information items -------------------------- -1. Every :code:`reset` element MUST have exactly one each each of the following - attributes: +1. Every :code:`reset` element MUST have exactly one each each of the following attributes: .. container:: issue-reset-variable-reference - 1. The :code:`variable` attribute. The value of the :code:`variable` - attribute MUST be a variable reference to a variable defined - within the parent :code:`component` element of the :code:`reset` element. + 1. The :code:`variable` attribute. + The value of the :code:`variable` attribute MUST be a variable reference to a variable defined within the parent :code:`component` element of the :code:`reset` element. .. container:: issue-reset-test-variable-reference - 2. The :code:`test_variable` attribute. The value of the - :code:`test_variable` attribute MUST be a variable reference to a - variable defined within the parent :code:`component` element of the - :code:`reset` element. + 2. The :code:`test_variable` attribute. + The value of the :code:`test_variable` attribute MUST be a variable reference to a variable defined within the parent :code:`component` element of the :code:`reset` element. .. container:: issue-reset-order - 3. The :code:`order` attribute. The value of the :code:`order` attribute - MUST be an integer string. + 3. The :code:`order` attribute. + The value of the :code:`order` attribute MUST be an integer string. - The value of the :code:`order` attribute MUST - be unique for all :code:`reset` elements with :code:`variable` attributes - that reference variables in the same connected variable set (see - :ref:`Interpretation of map_variables`). + The value of the :code:`order` attribute MUST be unique for all :code:`reset` elements with :code:`variable` attributes that reference variables in the same connected variable set (see :ref:`Interpretation of map_variables`). .. container:: issue-reset-child - 2. A :code:`reset` element MUST contain exactly two element - children, which MUST be one each of the following types: + 2. A :code:`reset` element MUST contain exactly two element children, which MUST be one each of the following types: .. container:: issue-reset-test-value @@ -428,19 +346,14 @@ Specific information items The ``test_value`` element ========================== -A :code:`test_value` element information item (referred to in this -specification as a :code:`test_value` element) is an element in the -:ref:`CellML namespace` with a local name -equal to :code:`test_value`, -and which appears as a child of a :code:`reset` element. +A :code:`test_value` element information item (referred to in this specification as a :code:`test_value` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`test_value`, and which appears as a child of a :code:`reset` element. Specific information items -------------------------- .. container:: issue-test-value - 1. A :code:`test_value` element MUST contain exactly one :code:`math` element - child. + 1. A :code:`test_value` element MUST contain exactly one :code:`math` element child. .. marker_test_value_end .. marker_reset_value_start @@ -450,18 +363,14 @@ Specific information items The ``reset_value`` element =========================== -A :code:`reset_value` element information item (referred to in this -specification as a :code:`reset_value` element) is an element in the CellML -namespace with a local name equal to :code:`reset_value`, -and which appears as a child of a :code:`reset` element. +A :code:`reset_value` element information item (referred to in this specification as a :code:`reset_value` element) is an element in the CellML namespace with a local name equal to :code:`reset_value`, and which appears as a child of a :code:`reset` element. Specific information items -------------------------- .. container:: issue-reset-value - 1. A :code:`reset_value` element MUST contain exactly one :code:`math` element - child. + 1. A :code:`reset_value` element MUST contain exactly one :code:`math` element child. .. marker_reset_value_end .. marker_math_start @@ -471,49 +380,36 @@ Specific information items The ``math`` element ==================== -A :code:`math` element information item (referred to in this specification -as a :code:`math` element) is an element in the MathML -namespace that appears as a direct child of a :code:`component` element, a -:code:`test_value` element, or a :code:`reset_value` element. +A :code:`math` element information item (referred to in this specification as a :code:`math` element) is an element in the MathML namespace that appears as a direct child of a :code:`component` element, a :code:`test_value` element, or a :code:`reset_value` element. Specific information items -------------------------- .. container:: issue-math-mathml - 1. A :code:`math` element MUST be the top-level of a content MathML tree, as - described in :mathml2spec:`MathML 2.0 <>`. + 1. A :code:`math` element MUST be the top-level of a content MathML tree, as described in :mathml2spec:`MathML 2.0 <>`. .. marker_math_1 .. container:: issue-math-child - 2. Each element child of a :code:`math` element MUST have - an element-type name that is listed in the - :ref:`Supported MathML Elements` table. + 2. Each element child of a :code:`math` element MUST have an element-type name that is listed in the :ref:`Supported MathML Elements` table. .. marker_math_2 .. container:: issue-math-ci-variable-reference - 3. Every variable name given using the MathML :code:`ci` element MUST be a - :ref:`variable reference` to a :code:`variable` - within the :code:`component` element that the :code:`math` element - is contained. + 3. Every variable name given using the MathML :code:`ci` element MUST be a :ref:`variable reference` to a :code:`variable` within the :code:`component` element that the :code:`math` element is contained. .. marker_math_3 .. container:: issue-math-cn-units-attribute - 4. Any MathML :code:`cn` elements MUST each have an attribute in the - :ref:`CellML namespace`, with a local name equal - to :code:`units`. The value of this attribute MUST be a valid units - reference. + 4. Any MathML :code:`cn` elements MUST each have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. The value of this attribute MUST be a valid units reference. .. container:: issue-math-cn-type - 5. The :code:`cn` element MUST be one of the following - :mathml2types:`types`\: real or e-notation. + 5. The :code:`cn` element MUST be one of the following :mathml2types:`types`\: real or e-notation. .. container:: issue-math-cn-base10 @@ -573,18 +469,14 @@ Table: Supported MathML Elements The ``encapsulation`` element ============================= -An :code:`encapsulation` element information item (referred to in this -specification as an :code:`encapsulation` element) is an element in the -:ref:`CellML namespace` with a local name equal to -:code:`encapsulation`, and which appears as a child of a :code:`model` element. +An :code:`encapsulation` element information item (referred to in this specification as an :code:`encapsulation` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`encapsulation`, and which appears as a child of a :code:`model` element. Specific information items -------------------------- .. container:: issue-encapsulation-component-ref - 1. Every :code:`encapsulation` element MUST contain one or more - :code:`component_ref` elements. + 1. Every :code:`encapsulation` element MUST contain one or more :code:`component_ref` elements. .. marker_encapsulation_end .. marker_component_ref_start @@ -594,36 +486,24 @@ Specific information items The ``component_ref`` element ============================= -A :code:`component_ref` element information item (referred to in this -specification as a :code:`component_ref` element) is an element in the -:ref:`CellML namespace` with a local name equal to -:code:`component_ref`, and which appears as a child of an :code:`encapsulation` -element. +A :code:`component_ref` element information item (referred to in this specification as a :code:`component_ref` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`component_ref`, and which appears as a child of an :code:`encapsulation` element. Specific information items -------------------------- .. container:: issue-component-ref-component-attribute - 1. Every :code:`component_ref` element MUST contain a - :code:`component` attribute. + 1. Every :code:`component_ref` element MUST contain a :code:`component` attribute. - The value of this attribute - MUST be a :ref:`valid CellML identifier`, - and MUST match the :code:`name` - attribute on a :code:`component` element or an :code:`import component` - element in the :ref:`CellML infoset`. + The value of this attribute MUST be a :ref:`valid CellML identifier`, and MUST match the :code:`name` attribute on a :code:`component` element or an :code:`import component` element in the :ref:`CellML infoset`. .. container:: issue-component-ref-child - 2. Every :code:`component_ref` element MAY in turn contain one or more - :code:`component_ref` element children. + 2. Every :code:`component_ref` element MAY in turn contain one or more :code:`component_ref` element children. .. container:: issue-component-ref-encapsulation - 3. A :code:`component_ref` element which is an immediate child of an - :code:`encapsulation` element MUST each contain at least one - :code:`component_ref` element child. + 3. A :code:`component_ref` element which is an immediate child of an :code:`encapsulation` element MUST each contain at least one :code:`component_ref` element child. .. marker_component_ref_end .. marker_connection_start @@ -633,61 +513,43 @@ Specific information items The ``connection`` element ========================== -A :code:`connection` element information item (referred to in this -specification as a :code:`connection` element) is an element in the -:ref:`CellML namespace` with a local name equal to :code:`connection`, -and which appears as a child of a :code:`model` element. +A :code:`connection` element information item (referred to in this specification as a :code:`connection` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`connection`,and which appears as a child of a :code:`model` element. Specific information items -------------------------- .. container:: issue-connection-component1 - 1. Each :code:`connection` element MUST contain a - :code:`component_1` attribute. The value of the :code:`component_1` - attribute - MUST be a :ref:`valid CellML identifier`. + 1. Each :code:`connection` element MUST contain a :code:`component_1` attribute. The value of the :code:`component_1` attribute MUST be a :ref:`valid CellML identifier`. - The value of this attribute MUST - be equal to the :code:`name` attribute on a :code:`component` or - :code:`import component` element in the :ref:`CellML infoset` - (see :ref:`Component reference`). + The value of this attribute MUST be equal to the :code:`name` attribute on a :code:`component` or :code:`import component` element in the :ref:`CellML infoset` (see :ref:`Component reference`). .. marker_connection_1 .. container:: issue-connection-component2 - 2. Each :code:`connection` element MUST contain a - :code:`component_2` attribute. The value of the :code:`component_2` - attribute - MUST be a :ref:`valid CellML identifier`. + 2. Each :code:`connection` element MUST contain a :code:`component_2` attribute. + The value of the :code:`component_2` attribute MUST be a :ref:`valid CellML identifier`. - The value of this attribute MUST - be equal to the :code:`name` attribute on a :code:`component` or - :code:`import component` element in the :ref:`CellML infoset` - (see :ref:`Component reference `). + The value of this attribute MUST be equal to the :code:`name` attribute on a :code:`component` or :code:`import component` element in the :ref:`CellML infoset` (see :ref:`Component reference `). .. marker_connection_2 .. container:: issue-todo - 3. The value of the :code:`component_1` attribute MUST NOT be equal to the - value of the :code:`component_2` attribute. + 3. The value of the :code:`component_1` attribute MUST NOT be equal to the value of the :code:`component_2` attribute. .. marker_connection_3 .. container:: issue-connection-unique-transitive - 4. A :ref:`CellML infoset` MUST NOT contain more than one :code:`connection` - element with a given pair of :code:`component`\ s referenced by the - :code:`component_1` and :code:`component_2` attribute values, in any order. + 4. A :ref:`CellML infoset` MUST NOT contain more than one :code:`connection` element with a given pair of :code:`component`\ s referenced by the :code:`component_1` and :code:`component_2` attribute values, in any order. .. marker_connection_4 .. container:: issue-connection-map-variables - 5. Every :code:`connection` element MUST contain one or more - :code:`map_variables` elements. + 5. Every :code:`connection` element MUST contain one or more :code:`map_variables` elements. .. marker_connection_end .. marker_map_variables_start diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index ed22e076..cd94d725 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -290,7 +290,7 @@ Effect of units on variables Interpretation of mathematics ----------------------------- -#. The following :code:`component` elements SHALL, for the purposes of this specification, be “pertinent component elements”: +#. The following :code:`component` elements SHALL, for the purposes of this specification, be "pertinent component elements": #. All :code:`component` elements in the top-level :ref:`CellML infoset` for the :ref:`CellML model`; @@ -310,7 +310,7 @@ Interpretation of mathematics Interpretation of encapsulation ------------------------------- -#. For the purposes of this specification, there SHALL be a “conceptual encapsulation digraph” in which there is EXACTLY one node for every component in the :ref:`CellML model`. +#. For the purposes of this specification, there SHALL be a "conceptual encapsulation digraph" in which there is EXACTLY one node for every component in the :ref:`CellML model`. Therefore the encapsulation digraph will not contain any loops. #. Where a :code:`component_ref` element appears as a child of another :code:`component_ref` element, there SHALL be an arc in the encapsulation digraph, and that arc SHALL be from the node corresponding to the component referenced by the parent :code:`component_ref` element, and to the node corresponding to the component referenced by the child :code:`component_ref` element. @@ -380,7 +380,7 @@ Interpretation of map_variables #. CellML models MUST only contain :code:`map_variables` elements where the interface of variable *A* and the interface of variable *B* are applicable interfaces. -#. The :code:`variable` elements in a CellML model SHALL be treated as belonging to a single “connected variable set”. +#. The :code:`variable` elements in a CellML model SHALL be treated as belonging to a single "connected variable set". Each set of connected variables is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a connected subgraph. Each set of connected variables represents one variable in the underlying mathematical model. From 225bf27c4df411fc7e56f98e6ce2aa090af47aff Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 19 Mar 2020 11:08:13 +0000 Subject: [PATCH 086/604] Fixed quotes. Closes #74. --- reference/sectionA_definitions.inc | 2 +- reference/sectionC_interpretation.inc | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index 96434fd9..7f18d77b 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -314,7 +314,7 @@ The following data representation formats are defined for use in this specificat 4. An exponent SHALL be represented by an exponent separator character, followed by the :ref:`integer string representation` of the value of the exponent. Non-negative exponents MAY begin with the Basic Latin plus sign character :unicode:`002B` as the sign indicator. - The exponent separator character SHALL be either the Basic Latin ‘E’ character :unicode:`0045` or the Basic Latin ‘e’ character :unicode:`0065`. + The exponent separator character SHALL be either the Basic Latin "E" character :unicode:`0045` or the Basic Latin "e" character :unicode:`0065`. .. container:: issue-data-repr-real-no-exponent diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index cd94d725..07d5d23a 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -33,7 +33,7 @@ Units reference #. Where there is an :code:`import units` element in the :ref:`CellML infoset`, such that the :code:`import units` element has a :code:`name` attribute identical to the units reference, then the units reference SHALL be treated with respect to referencing rules as if the units reference appeared in the imported infoset, and referring to the :code:`name` specified in the :code:`units_ref` attribute of the :code:`import units` element. - #. Where the units reference is equal to the value in the ‘Name’ column of the :ref:`Built-in units table`, then the units reference SHALL be a reference to the built-in units corresponding to that row of the table. + #. Where the units reference is equal to the value in the "Name" column of the :ref:`Built-in units table`, then the units reference SHALL be a reference to the built-in units corresponding to that row of the table. .. marker_units_reference1 @@ -134,7 +134,7 @@ Interpretation of units 1. The prefix term is a conceptual property of :code:`unit` elements. If the :code:`unit` element does not have a :code:`prefix` attribute information item, the prefix term SHALL have value 0. If the :code:`prefix` attribute information item has a value which is an integer string, then the value of the prefix term SHALL be the numerical value of that string. - Otherwise, the :code:`prefix` attribute information item MUST have a value taken from the ‘Name’ column of the :ref:`Prefix values table`, and the prefix term SHALL have the value taken from the ‘Value’ column of the same row. + Otherwise, the :code:`prefix` attribute information item MUST have a value taken from the "Name" column of the :ref:`Prefix values table`, and the prefix term SHALL have the value taken from the "Value" column of the same row. .. marker_interpretation_of_units_1_1 @@ -183,7 +183,7 @@ Interpretation of units .. marker_interpretation_of_units_3_2 - 3. Tuples which have the name element of ‘dimensionless’ SHALL be removed from the set of tuples. + 3. Tuples which have the name element of "dimensionless" SHALL be removed from the set of tuples. Note that this can result in the set of tuples being empty. .. marker_interpretation_of_units_3_3 From af88d5e522c8dfd6d172b0f71c3c723f764ad380 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 19 Mar 2020 11:18:33 +0000 Subject: [PATCH 087/604] Added space into CellML2.0 --> CellML 2.0 --- conf.py | 12 ++++++------ formal.rst | 2 +- index.rst | 2 +- reference/formal_sectionB.rst | 2 +- reference/formal_sectionC.rst | 2 +- reference/index_sectionB.rst | 2 +- reference/index_sectionC.rst | 2 +- reference/informative/informB10_test_value1.rst | 2 +- reference/informative/informB11_reset_value1.rst | 2 +- reference/informative/informB12_math1.rst | 2 +- reference/informative/informB12_math2.rst | 2 +- reference/informative/informB15_connection2.rst | 4 ++-- reference/informative/informB15_connection5.rst | 2 +- reference/informative/informB16_map_variables2.rst | 2 +- reference/informative/informC01_imports.rst | 2 +- .../informC03_interpretation_of_units2.rst | 2 +- 16 files changed, 22 insertions(+), 22 deletions(-) diff --git a/conf.py b/conf.py index 686dad27..8390034f 100644 --- a/conf.py +++ b/conf.py @@ -71,7 +71,7 @@ 'libcellml': ('https://libcellml.org/%s', ''), 'libcellml_repo': ('https://github.com/cellml/libcellml.git%s', ''), # TODO Update this when tutorials have a proper home. - 'libcellml_tutorials': ('https://libcellml-tutorials.readthedocs.io/en/pr344_documentation/%s',''), + 'libcellml_tutorials': ('https://libcellml-tutorials.readthedocs.io/en/pr344_documentation/%s',''), 'libxml2': ('http://www.xmlsoft.org/%s', ''), 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html#id.4.2.1.3%s', ''), 'mathml2spec': ('http://www.w3.org/TR/2003/REC-MathML2-20031021/%s', ''), @@ -117,7 +117,7 @@ # """ # General information about the project. -project = u'CellML2.0' +project = u'CellML 2.0' copyright = u'2019-@SPHINX_YEAR@, CellML Editors and Contributors' # The version info for the project you're documenting, acts as replacement for @@ -286,8 +286,8 @@ # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('formal', 'formal.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), - ('index', 'index.tex', u'CellML Specification', u'CellML2.0 Editors and Contributors', 'manual'), + ('formal', 'formal.tex', u'CellML Specification', u'CellML 2.0 Editors and Contributors', 'manual'), + ('index', 'index.tex', u'CellML Specification', u'CellML 2.0 Editors and Contributors', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -316,7 +316,7 @@ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'cellml', u'CellML2.0 Documentation', [u'CellML Editors'], 1) + ('index', 'cellml', u'CellML 2.0 Documentation', [u'CellML Editors'], 1) ] # If true, show URL addresses after external links. @@ -330,7 +330,7 @@ # dir menu entry, description, category) texinfo_documents = [ ('index', 'CellML', u'CellML Documentation', - u'CellML2.0 Editors', 'CellML2.0', 'CellML2.0 Normative Specification.', + u'CellML 2.0 Editors', 'CellML 2.0', 'CellML 2.0 Normative Specification.', 'Miscellaneous'), ] diff --git a/formal.rst b/formal.rst index 6d4be605..ea9d4416 100644 --- a/formal.rst +++ b/formal.rst @@ -1,7 +1,7 @@ .. _formal: ========================================== -Normative specification for CellML2.0 +Normative specification for CellML 2.0 ========================================== The first section here includes the normative specification documentation for diff --git a/index.rst b/index.rst index a368e0be..95664cab 100644 --- a/index.rst +++ b/index.rst @@ -1,7 +1,7 @@ .. _index: ========================================== -Normative specification for CellML2.0 +Normative specification for CellML 2.0 ========================================== The first section here includes the normative specification documentation for diff --git a/reference/formal_sectionB.rst b/reference/formal_sectionB.rst index c17b25a7..e7d51410 100644 --- a/reference/formal_sectionB.rst +++ b/reference/formal_sectionB.rst @@ -4,7 +4,7 @@ Section B: Element information items ==================================== -Section B of the Normative CellML2.0 Specification outlines the element information items and the rules governing their declaration. +Section B of the Normative CellML 2.0 Specification outlines the element information items and the rules governing their declaration. .. toctree:: :maxdepth: 1 diff --git a/reference/formal_sectionC.rst b/reference/formal_sectionC.rst index cfbb990f..1f8b9b1b 100644 --- a/reference/formal_sectionC.rst +++ b/reference/formal_sectionC.rst @@ -4,7 +4,7 @@ Section C: Interpretation ============================================= -Section C of the Normative CellML2.0 Specification describes the way in which the elements defined in Section B are to be interpreted. +Section C of the Normative CellML 2.0 Specification describes the way in which the elements defined in Section B are to be interpreted. .. toctree:: :maxdepth: 1 diff --git a/reference/index_sectionB.rst b/reference/index_sectionB.rst index 0d7ff754..669d5f7b 100644 --- a/reference/index_sectionB.rst +++ b/reference/index_sectionB.rst @@ -4,7 +4,7 @@ Section B: Element information items ==================================== -Section B of the Normative CellML2.0 Specification outlines the element information items and the rules governing their declaration. +Section B of the Normative CellML 2.0 Specification outlines the element information items and the rules governing their declaration. .. toctree:: :maxdepth: 1 diff --git a/reference/index_sectionC.rst b/reference/index_sectionC.rst index c503f5b1..1f9f8489 100644 --- a/reference/index_sectionC.rst +++ b/reference/index_sectionC.rst @@ -4,7 +4,7 @@ Section C: Interpretation ============================================= -Section C of the Normative CellML2.0 Specification describes the way in which the elements defined in Section B are to be interpreted. +Section C of the Normative CellML 2.0 Specification describes the way in which the elements defined in Section B are to be interpreted. .. toctree:: :maxdepth: 1 diff --git a/reference/informative/informB10_test_value1.rst b/reference/informative/informB10_test_value1.rst index cbfba42a..df88f1ad 100644 --- a/reference/informative/informB10_test_value1.rst +++ b/reference/informative/informB10_test_value1.rst @@ -42,4 +42,4 @@ For the :code:`reset` to be useful, the equations it contains need to make sense. Be sure to check that the units that you're using within the :code:`test_value` block match those of the :code:`test_variable` against which it will be compared. In this example the :code:`reset_value` (the new position of the ball over the table) must be in metres to match the :code:`variable`\'s units, as with the :code:`test_value` which must match the units of the :code:`test_variable`. - A mismatch of units here doesn't mean you have an invalid CellML2.0 model, but it does mean that it may not behave in the way you are expecting! + A mismatch of units here doesn't mean you have an invalid CellML 2.0 model, but it does mean that it may not behave in the way you are expecting! diff --git a/reference/informative/informB11_reset_value1.rst b/reference/informative/informB11_reset_value1.rst index 90dd1a4d..7a826ae1 100644 --- a/reference/informative/informB11_reset_value1.rst +++ b/reference/informative/informB11_reset_value1.rst @@ -42,4 +42,4 @@ For the :code:`reset` to be useful, the equations it contains need to make sense. Be sure to check that the units that you're using within the :code:`test_value` block match those of the :code:`test_variable` against which it will be compared. In this example the :code:`reset_value` (the new position of the ball over the table) must be in metres to match the :code:`variable`\'s units, as with the :code:`test_value` which must match the units of the :code:`test_variable`. - A mismatch of units here doesn't mean you have an invalid CellML2.0 model, but it does mean that it may not behave in the way you are expecting! + A mismatch of units here doesn't mean you have an invalid CellML 2.0 model, but it does mean that it may not behave in the way you are expecting! diff --git a/reference/informative/informB12_math1.rst b/reference/informative/informB12_math1.rst index 10a68e8d..3c9f4409 100644 --- a/reference/informative/informB12_math1.rst +++ b/reference/informative/informB12_math1.rst @@ -11,5 +11,5 @@ Because MathML is an entire language in its own right, we just don't have the scope to go through its general aspects. Some great general resources are available on the :mathml2help:`MathML 2.0 site <>`, and we'll discuss below the more CellML specific restrictions in the other "See more" sections. - **Please note** that MathML2 content markup is the only syntax used in CellML, even though more recent versions (MathML3 and MathML4) are available. + **Please note** that MathML 2 content markup is the only syntax used in CellML, even though more recent versions (MathML 3 and MathML 4) are available. diff --git a/reference/informative/informB12_math2.rst b/reference/informative/informB12_math2.rst index a3ce3d3b..40f7b4c7 100644 --- a/reference/informative/informB12_math2.rst +++ b/reference/informative/informB12_math2.rst @@ -9,7 +9,7 @@ .. container:: infospec Probably the biggest aspect of CellML's restrictions of MathML is that it is confined to using **only MathML2** content markup. - No form of presentation markup is permitted, and only the version MathML2 is allowed (ie: not MathML3 or greater). + No form of presentation markup is permitted, and only the version MathML2 is allowed (ie: not MathML 3 or greater). .. container:: heading3 diff --git a/reference/informative/informB15_connection2.rst b/reference/informative/informB15_connection2.rst index 0e57bef3..699bf014 100644 --- a/reference/informative/informB15_connection2.rst +++ b/reference/informative/informB15_connection2.rst @@ -14,12 +14,12 @@ For more on the semantic rules, please see :ref:`Interpretation of map_variables`. Points 15.1.1 and 15.1.2 are both saying the same thing. - The way in which you specify the :code:`component_1` and :code:`component_2` items must follow the general CellML2.0 format for a valid identifier, and must point to a :code:`component` which exists under that name. + The way in which you specify the :code:`component_1` and :code:`component_2` items must follow the general CellML 2.0 format for a valid identifier, and must point to a :code:`component` which exists under that name. Note that this could be either an intantiated :code:`component`, or an :code:`import component` item. .. code-block:: xml - + diff --git a/reference/informative/informB15_connection5.rst b/reference/informative/informB15_connection5.rst index dbd022b6..de42ae78 100644 --- a/reference/informative/informB15_connection5.rst +++ b/reference/informative/informB15_connection5.rst @@ -13,7 +13,7 @@ .. code-block:: xml - + diff --git a/reference/informative/informB16_map_variables2.rst b/reference/informative/informB16_map_variables2.rst index d30c17a0..74e8bf0d 100644 --- a/reference/informative/informB16_map_variables2.rst +++ b/reference/informative/informB16_map_variables2.rst @@ -20,7 +20,7 @@ - + diff --git a/reference/informative/informC01_imports.rst b/reference/informative/informC01_imports.rst index 4409fccf..45c1e96b 100644 --- a/reference/informative/informC01_imports.rst +++ b/reference/informative/informC01_imports.rst @@ -8,7 +8,7 @@ .. container:: infospec - CellML2.0 is not xenophobic. + CellML 2.0 is not xenophobic. When an element (either a :code:`component` or a :code:`units` item) is imported, it is treated in the same way as the locally defined items. diff --git a/reference/informative/informC03_interpretation_of_units2.rst b/reference/informative/informC03_interpretation_of_units2.rst index 98eab5be..92c8fa5b 100644 --- a/reference/informative/informC03_interpretation_of_units2.rst +++ b/reference/informative/informC03_interpretation_of_units2.rst @@ -33,7 +33,7 @@ Some of the units listed in the :ref:`Built-in Units` are these base units, but others are combinations of them included for convenience. Only those rows in the table which have no entries in the "Unit reduction" column are "irreducible" or base units. - In the CellML2.0 world you are able to also define your own base units. + In the CellML 2.0 world you are able to also define your own base units. These are :code:`units` items which you create which do not reference any child :code:`unit` items, so are therefore "irreducible". For example: From 9997a5bad81b01d9d37673490e45f8e78cb6eb41 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 23 Mar 2020 09:12:25 +1300 Subject: [PATCH 088/604] Only build one PDF: the formal spec --- conf.py | 1 - 1 file changed, 1 deletion(-) diff --git a/conf.py b/conf.py index f02053ca..c246390a 100644 --- a/conf.py +++ b/conf.py @@ -287,7 +287,6 @@ # author, documentclass [howto, manual, or own class]). latex_documents = [ ('formal', 'formal.tex', u'CellML Specification', u'CellML 2.0 Editors and Contributors', 'manual'), - ('index', 'index.tex', u'CellML Specification', u'CellML 2.0 Editors and Contributors', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of From 313788a66aedae8336075e7df967e0c5879720df Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 23 Mar 2020 09:51:32 +1300 Subject: [PATCH 089/604] testing raw latex pagepbreaks --- reference/formal_only/specA1.rst | 4 ++++ reference/formal_only/specA2.rst | 4 ++++ reference/formal_only/specA3.rst | 3 +++ reference/formal_only/specB01.rst | 4 ++++ reference/formal_only/specB02.rst | 4 ++++ reference/formal_only/specB03.rst | 3 +++ reference/formal_only/specB04.rst | 4 ++++ 7 files changed, 26 insertions(+) diff --git a/reference/formal_only/specA1.rst b/reference/formal_only/specA1.rst index defea104..9b305c15 100644 --- a/reference/formal_only/specA1.rst +++ b/reference/formal_only/specA1.rst @@ -2,3 +2,7 @@ .. include:: ../sectionA_definitions.inc :start-after: marker_terminology_start :end-before: marker_terminology_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specA2.rst b/reference/formal_only/specA2.rst index ee73c8b4..30e0e577 100644 --- a/reference/formal_only/specA2.rst +++ b/reference/formal_only/specA2.rst @@ -2,3 +2,7 @@ .. include:: ../sectionA_definitions.inc :start-after: marker_cellml_information_sets_start :end-before: marker_cellml_information_sets_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specA3.rst b/reference/formal_only/specA3.rst index ff78348e..e3795085 100644 --- a/reference/formal_only/specA3.rst +++ b/reference/formal_only/specA3.rst @@ -3,3 +3,6 @@ :start-after: marker_data_formats_start :end-before: marker_data_formats_end +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specB01.rst b/reference/formal_only/specB01.rst index 9aecc8ce..7911bfdc 100644 --- a/reference/formal_only/specB01.rst +++ b/reference/formal_only/specB01.rst @@ -2,3 +2,7 @@ .. include:: ../sectionB_elements.inc :start-after: marker_model_start :end-before: marker_model_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specB02.rst b/reference/formal_only/specB02.rst index 020ff87f..23c5dd24 100644 --- a/reference/formal_only/specB02.rst +++ b/reference/formal_only/specB02.rst @@ -2,3 +2,7 @@ .. include:: ../sectionB_elements.inc :start-after: marker_import_start :end-before: marker_import_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specB03.rst b/reference/formal_only/specB03.rst index 11389807..96ff7e71 100644 --- a/reference/formal_only/specB03.rst +++ b/reference/formal_only/specB03.rst @@ -3,3 +3,6 @@ :start-after: marker_import_units_start :end-before: marker_import_units_end +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specB04.rst b/reference/formal_only/specB04.rst index 8cd3c4df..c3d6bfda 100644 --- a/reference/formal_only/specB04.rst +++ b/reference/formal_only/specB04.rst @@ -2,3 +2,7 @@ .. include:: ../sectionB_elements.inc :start-after: marker_import_component_start :end-before: marker_import_component_end + +.. raw:: latex + + \newpage From c5a40e155a75f8405efa03f01ec6073408b67386 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 23 Mar 2020 09:54:39 +1300 Subject: [PATCH 090/604] Page breaks throughout A and B, not C --- reference/formal_only/specB05.rst | 4 ++++ reference/formal_only/specB06.rst | 4 ++++ reference/formal_only/specB07.rst | 4 ++++ reference/formal_only/specB08.rst | 4 ++++ reference/formal_only/specB09.rst | 3 +++ reference/formal_only/specB10.rst | 4 ++++ reference/formal_only/specB11.rst | 3 +++ reference/formal_only/specB12.rst | 4 ++++ reference/formal_only/specB13.rst | 4 ++++ reference/formal_only/specB14.rst | 4 ++++ reference/formal_only/specB15.rst | 4 ++++ reference/formal_only/specB16.rst | 4 ++++ 12 files changed, 46 insertions(+) diff --git a/reference/formal_only/specB05.rst b/reference/formal_only/specB05.rst index c1c13420..5428e8ed 100644 --- a/reference/formal_only/specB05.rst +++ b/reference/formal_only/specB05.rst @@ -2,3 +2,7 @@ .. include:: ../sectionB_elements.inc :start-after: marker_units_start :end-before: marker_units_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specB06.rst b/reference/formal_only/specB06.rst index d8ac9c26..1ec8da3e 100644 --- a/reference/formal_only/specB06.rst +++ b/reference/formal_only/specB06.rst @@ -2,3 +2,7 @@ .. include:: ../sectionB_elements.inc :start-after: marker_unit_start :end-before: marker_unit_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specB07.rst b/reference/formal_only/specB07.rst index e9d4fd82..d04e25f2 100644 --- a/reference/formal_only/specB07.rst +++ b/reference/formal_only/specB07.rst @@ -2,3 +2,7 @@ .. include:: ../sectionB_elements.inc :start-after: marker_component_start :end-before: marker_component_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specB08.rst b/reference/formal_only/specB08.rst index c120909c..2f325f10 100644 --- a/reference/formal_only/specB08.rst +++ b/reference/formal_only/specB08.rst @@ -2,3 +2,7 @@ .. include:: ../sectionB_elements.inc :start-after: marker_variable_start :end-before: marker_variable_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specB09.rst b/reference/formal_only/specB09.rst index 9d5fdf5a..9dbed8f8 100644 --- a/reference/formal_only/specB09.rst +++ b/reference/formal_only/specB09.rst @@ -3,3 +3,6 @@ :start-after: marker_reset_start :end-before: marker_reset_end +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specB10.rst b/reference/formal_only/specB10.rst index 8aa45be9..fb080543 100644 --- a/reference/formal_only/specB10.rst +++ b/reference/formal_only/specB10.rst @@ -2,3 +2,7 @@ .. include:: ../sectionB_elements.inc :start-after: marker_test_value_start :end-before: marker_test_value_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specB11.rst b/reference/formal_only/specB11.rst index 2144ee32..ae0b24d0 100644 --- a/reference/formal_only/specB11.rst +++ b/reference/formal_only/specB11.rst @@ -3,3 +3,6 @@ :start-after: marker_reset_value_start :end-before: marker_reset_value_end +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specB12.rst b/reference/formal_only/specB12.rst index c52c3b28..9a9a8364 100644 --- a/reference/formal_only/specB12.rst +++ b/reference/formal_only/specB12.rst @@ -2,3 +2,7 @@ .. include:: ../sectionB_elements.inc :start-after: marker_math_start :end-before: marker_math_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specB13.rst b/reference/formal_only/specB13.rst index 3ade6086..5347d641 100644 --- a/reference/formal_only/specB13.rst +++ b/reference/formal_only/specB13.rst @@ -2,3 +2,7 @@ .. include:: ../sectionB_elements.inc :start-after: marker_encapsulation_start :end-before: marker_encapsulation_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specB14.rst b/reference/formal_only/specB14.rst index 3bd7e35e..0c6424fa 100644 --- a/reference/formal_only/specB14.rst +++ b/reference/formal_only/specB14.rst @@ -2,3 +2,7 @@ .. include:: ../sectionB_elements.inc :start-after: marker_component_ref_start :end-before: marker_component_ref_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specB15.rst b/reference/formal_only/specB15.rst index 1511447e..1c0e9ca5 100644 --- a/reference/formal_only/specB15.rst +++ b/reference/formal_only/specB15.rst @@ -2,3 +2,7 @@ .. include:: ../sectionB_elements.inc :start-after: marker_connection_start :end-before: marker_connection_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specB16.rst b/reference/formal_only/specB16.rst index ec571ff9..d65288d3 100644 --- a/reference/formal_only/specB16.rst +++ b/reference/formal_only/specB16.rst @@ -2,3 +2,7 @@ .. include:: ../sectionB_elements.inc :start-after: marker_map_variables_start :end-before: marker_map_variables_end + +.. raw:: latex + + \newpage From 3a98a89cd79c03d1e12fe7d3a9fd0c11210564c2 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 23 Mar 2020 10:14:45 +1300 Subject: [PATCH 091/604] Removed sectnum from files --- reference/sectionA_definitions.inc | 1 - reference/sectionB_elements.inc | 2 -- reference/sectionC_interpretation.inc | 2 -- 3 files changed, 5 deletions(-) diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index a3b8c6ce..c281fd2f 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -36,7 +36,6 @@ It is intended primarily for the developers of software tools which directly con Users of CellML models should read the informative version of the CellML Specification which is available here: https://doi.org/science/1.1.1.10. -.. sectnum:: .. marker_terminology_start diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 1b8f02ed..45ebfcd2 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -1,7 +1,5 @@ .. _sectionB: -.. sectnum:: - ==================================== Section B: Element information items ==================================== diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 2a512812..16e0e30a 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -1,7 +1,5 @@ .. _sectionC: -.. sectnum:: - =========================================== Section C: Interpretation =========================================== From 07f72eda3c58efdf0bb96c8b40dc4a57e42c5fb1 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 23 Mar 2020 10:45:17 +1300 Subject: [PATCH 092/604] Disable fncychap for chapter headings in PDF --- conf.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/conf.py b/conf.py index c246390a..affac4d8 100644 --- a/conf.py +++ b/conf.py @@ -280,6 +280,9 @@ # Additional stuff for the LaTeX preamble. # 'preamble': 'usepackage{textgreek}', # Removing as weird ... ? + # Fancy chapter names turned off + 'fncychap' : '', + } # Grouping the document tree into LaTeX files. List of tuples From 38171ce5a00f754cc9f99c163e19c14aeb3e710d Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 23 Mar 2020 10:54:22 +1300 Subject: [PATCH 093/604] Playing with chapters some more --- conf.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conf.py b/conf.py index affac4d8..d30d56c4 100644 --- a/conf.py +++ b/conf.py @@ -280,8 +280,8 @@ # Additional stuff for the LaTeX preamble. # 'preamble': 'usepackage{textgreek}', # Removing as weird ... ? - # Fancy chapter names turned off - 'fncychap' : '', + # Fancy chapter names, default is on. Doesn't affect numbering though. + # 'fncychap' : '', } @@ -298,7 +298,7 @@ # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. -latex_use_parts = False +latex_use_parts = True # If true, show page references after internal links. #latex_show_pagerefs = False From 83b07d3d0c21dc344f78d3d268bf63c15d6e3ae2 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 23 Mar 2020 10:57:00 +1300 Subject: [PATCH 094/604] Change to howto document --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index d30d56c4..2fbe4d25 100644 --- a/conf.py +++ b/conf.py @@ -289,7 +289,7 @@ # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('formal', 'formal.tex', u'CellML Specification', u'CellML 2.0 Editors and Contributors', 'manual'), + ('formal', 'formal.tex', u'CellML Specification', u'CellML 2.0 Editors and Contributors', 'howto'), ] # The name of an image file (relative to this directory) to place at the top of From 8da3d2e6768db1555ae8a4c45deb016013df7c6b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 23 Mar 2020 12:04:11 +1300 Subject: [PATCH 095/604] Revert "Removed sectnum from files" This reverts commit 3a98a89cd79c03d1e12fe7d3a9fd0c11210564c2. --- reference/sectionA_definitions.inc | 1 + reference/sectionB_elements.inc | 2 ++ reference/sectionC_interpretation.inc | 2 ++ 3 files changed, 5 insertions(+) diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index c281fd2f..a3b8c6ce 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -36,6 +36,7 @@ It is intended primarily for the developers of software tools which directly con Users of CellML models should read the informative version of the CellML Specification which is available here: https://doi.org/science/1.1.1.10. +.. sectnum:: .. marker_terminology_start diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 45ebfcd2..1b8f02ed 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -1,5 +1,7 @@ .. _sectionB: +.. sectnum:: + ==================================== Section B: Element information items ==================================== diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 16e0e30a..2a512812 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -1,5 +1,7 @@ .. _sectionC: +.. sectnum:: + =========================================== Section C: Interpretation =========================================== From ad82951ede715c8824d024f64f22ac855c3616ad Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 23 Mar 2020 12:07:28 +1300 Subject: [PATCH 096/604] Revert "Change to howto document" This reverts commit 83b07d3d0c21dc344f78d3d268bf63c15d6e3ae2. --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index 2fbe4d25..d30d56c4 100644 --- a/conf.py +++ b/conf.py @@ -289,7 +289,7 @@ # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('formal', 'formal.tex', u'CellML Specification', u'CellML 2.0 Editors and Contributors', 'howto'), + ('formal', 'formal.tex', u'CellML Specification', u'CellML 2.0 Editors and Contributors', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of From e2bb069cf7315e6225f228c80ea2f4b22685eaab Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 23 Mar 2020 15:12:04 +1300 Subject: [PATCH 097/604] Changing to complete numbering instead of sections --- formal.rst | 1 + index.rst | 1 + reference/formal_sectionA.rst | 3 +-- reference/formal_sectionB.rst | 5 +---- reference/formal_sectionC.rst | 5 +---- reference/index_sectionA.rst | 2 +- reference/index_sectionB.rst | 4 ++-- reference/index_sectionC.rst | 4 ++-- reference/sectionD_references.rst | 2 +- 9 files changed, 11 insertions(+), 16 deletions(-) diff --git a/formal.rst b/formal.rst index 7ee2cd92..cc62a0b3 100644 --- a/formal.rst +++ b/formal.rst @@ -10,6 +10,7 @@ These represent the official rules about what must and must not be included in o .. toctree:: :maxdepth: 2 + :numbered: reference/formal_sectionA.rst reference/formal_sectionB.rst diff --git a/index.rst b/index.rst index 72cd5f10..7d087944 100644 --- a/index.rst +++ b/index.rst @@ -10,6 +10,7 @@ These represent the official rules about what must and must not be included in o .. toctree:: :maxdepth: 2 + :numbered: reference/index_sectionA.rst reference/index_sectionB.rst diff --git a/reference/formal_sectionA.rst b/reference/formal_sectionA.rst index 119cf08d..b96cf4c8 100644 --- a/reference/formal_sectionA.rst +++ b/reference/formal_sectionA.rst @@ -1,12 +1,11 @@ .. _sectionA_index_formal: =================================== -Section A: Definitions and preamble +Definitions and preamble =================================== .. toctree:: :maxdepth: 1 - :numbered: :glob: formal_only/specA* diff --git a/reference/formal_sectionB.rst b/reference/formal_sectionB.rst index e7d51410..cf46a5a6 100644 --- a/reference/formal_sectionB.rst +++ b/reference/formal_sectionB.rst @@ -1,14 +1,11 @@ .. _sectionB_index_formal: ==================================== -Section B: Element information items +Element information items ==================================== -Section B of the Normative CellML 2.0 Specification outlines the element information items and the rules governing their declaration. - .. toctree:: :maxdepth: 1 - :numbered: :glob: formal_only/specB* diff --git a/reference/formal_sectionC.rst b/reference/formal_sectionC.rst index 3e5edb35..fd5054f7 100644 --- a/reference/formal_sectionC.rst +++ b/reference/formal_sectionC.rst @@ -1,14 +1,11 @@ .. _sectionC_index_formal: ========================= -Section C: Interpretation +Interpretation ========================= -Section C of the Normative CellML 2.0 Specification describes the way in which the elements defined in Section B are to be interpreted. - .. toctree:: :maxdepth: 1 - :numbered: :glob: formal_only/specC* diff --git a/reference/index_sectionA.rst b/reference/index_sectionA.rst index 8da7525f..2171e4bc 100644 --- a/reference/index_sectionA.rst +++ b/reference/index_sectionA.rst @@ -1,7 +1,7 @@ .. _sectionA_index: =================================== -Section A: Definitions and preamble +Chapter 1: Definitions and preamble =================================== .. toctree:: diff --git a/reference/index_sectionB.rst b/reference/index_sectionB.rst index 669d5f7b..db7b9b61 100644 --- a/reference/index_sectionB.rst +++ b/reference/index_sectionB.rst @@ -1,10 +1,10 @@ .. _sectionB_index: ==================================== -Section B: Element information items +Chapter 2: Element information items ==================================== -Section B of the Normative CellML 2.0 Specification outlines the element information items and the rules governing their declaration. +Chapter 2 of the Normative CellML 2.0 Specification outlines the element information items and the rules governing their declaration. .. toctree:: :maxdepth: 1 diff --git a/reference/index_sectionC.rst b/reference/index_sectionC.rst index fc73f63f..901cb1e9 100644 --- a/reference/index_sectionC.rst +++ b/reference/index_sectionC.rst @@ -1,10 +1,10 @@ .. _sectionC_index: ========================= -Section C: Interpretation +Chapter 3: Interpretation ========================= -Section C of the Normative CellML 2.0 Specification describes the way in which the elements defined in Section B are to be interpreted. +Chapter 3 of the Normative CellML 2.0 Specification describes the way in which the elements defined in Section B are to be interpreted. .. toctree:: :maxdepth: 1 diff --git a/reference/sectionD_references.rst b/reference/sectionD_references.rst index 7dfd658d..ab97dd4b 100644 --- a/reference/sectionD_references.rst +++ b/reference/sectionD_references.rst @@ -2,7 +2,7 @@ .. _sectionD: ===================== -Section D: References +References ===================== `RFC 2119: Key words for use in RFCs to Indicate Requirement Levels `__ (March 1997) From 6323ba75f273b7e27bdf0609fbfe8a485df01bb3 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 23 Mar 2020 17:23:38 +1300 Subject: [PATCH 098/604] Updated wording in C.9.4 --- reference/sectionC_interpretation.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 2a512812..2bc97c23 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -332,6 +332,7 @@ Interpretation of encapsulation #. The encapsulated set for a component *A* SHALL be the set of all components *B* such that there exists an arc in the encapsulation digraph from the node corresponding to *A* to the node corresponding to *B*. #. The encapsulation parent for a component *A* SHALL be the component corresponding to the node which is the parent node in the encapsulation digraph of the node corresponding to *A*. + A component SHALL NOT appear as child of more than one encapsulation parent. #. The sibling set for a component *A* SHALL be the set of all components which have the same encapsulation parent as *A*, or in the case that *A* has no encapsulation parent, SHALL be the set of all components which do not have an encapsulation parent. From bad9e443764dabf7123225eacdf3c16c20d4e29a Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 23 Mar 2020 17:36:09 +1300 Subject: [PATCH 099/604] Removing bold in C.9.1 --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 2a512812..f2356244 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -325,7 +325,7 @@ Interpretation of encapsulation ------------------------------- #. For the purposes of this specification, there SHALL be a "conceptual encapsulation digraph" in which there is EXACTLY one node for every component in the :ref:`CellML model`. - Therefore the encapsulation digraph will not contain any loops. + Therefore the encapsulation digraph will not contain any loops. #. Where a :code:`component_ref` element appears as a child of another :code:`component_ref` element, there SHALL be an arc in the encapsulation digraph, and that arc SHALL be from the node corresponding to the component referenced by the parent :code:`component_ref` element, and to the node corresponding to the component referenced by the child :code:`component_ref` element. From 8fc7daba0e8e107ab65d0932e514fe6dc48730f7 Mon Sep 17 00:00:00 2001 From: kerimoyle <46887220+kerimoyle@users.noreply.github.com> Date: Mon, 23 Mar 2020 18:04:37 +1300 Subject: [PATCH 100/604] Revert "Addresses i60, i63 re imports of units and components" --- conf.py | 2 +- reference/informative/informB1_model1.rst | 1 - reference/libcellml/libcellmlB1.rst | 2 +- reference/sectionA_definitions.inc | 2 +- reference/sectionC_interpretation.inc | 30 ++++++----------------- 5 files changed, 11 insertions(+), 26 deletions(-) diff --git a/conf.py b/conf.py index c246390a..d8b8c136 100644 --- a/conf.py +++ b/conf.py @@ -33,7 +33,7 @@ 'sphinx.ext.todo', 'sphinx.ext.viewcode', 'sphinx.ext.extlinks', - # 'sphinx.ext.autosectionlabel', # Removing as we have a lot of duplicated titles + 'sphinx.ext.autosectionlabel', 'sphinx.ext.intersphinx', 'hoverxref.extension', ] diff --git a/reference/informative/informB1_model1.rst b/reference/informative/informB1_model1.rst index 983d5b73..d1d508f4 100644 --- a/reference/informative/informB1_model1.rst +++ b/reference/informative/informB1_model1.rst @@ -24,4 +24,3 @@ than the underscore :code:`_` are not permitted) - :code:`1amNotValidEither` is not valid (must not begin with a number) - :code:`" "` empty string is not valid (a name must be present). - diff --git a/reference/libcellml/libcellmlB1.rst b/reference/libcellml/libcellmlB1.rst index 473846bd..8773a162 100644 --- a/reference/libcellml/libcellmlB1.rst +++ b/reference/libcellml/libcellmlB1.rst @@ -10,6 +10,6 @@ .. container:: heading3 - Possible errors related to the :code:`model` item + Messages related to the model item **TODO** put list of errors/issues/hints from the validator/generator here. diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index a3b8c6ce..7f18d77b 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -313,7 +313,7 @@ The following data representation formats are defined for use in this specificat .. container:: issue-data-repr-real-exponent 4. An exponent SHALL be represented by an exponent separator character, followed by the :ref:`integer string representation` of the value of the exponent. - Non-negative exponents MAY begin with the Basic Latin plus sign character :unicode:`002B` as the sign indicator. + Non-negative exponents MAY begin with the Basic Latin plus sign character :unicode:`002B` as the sign indicator. The exponent separator character SHALL be either the Basic Latin "E" character :unicode:`0045` or the Basic Latin "e" character :unicode:`0065`. .. container:: issue-data-repr-real-no-exponent diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index f2356244..0b5cd70c 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -5,7 +5,6 @@ =========================================== Section C: Interpretation =========================================== - .. marker_interpretation_of_imports_start .. _specC_interpretation_of_imports: @@ -13,13 +12,8 @@ Section C: Interpretation Interpretation of imports ------------------------- -#. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset which is referenced by the :code:`href` attribute (the imported infoset). This imported infoset instance SHALL provide the context in which the child of an import element (a :code:`units` or :code:`component` element) is defined and interpreted. - -#. The importing of an element SHALL be considered recursively such that items referenced or imported by the :code:`import` element child (a :code:`units` or :code:`component` element) are themselves available to that :code:`import` element child. - It is noted, for the avoidance of doubt, that the importing infoset SHALL NOT have access to such recursively imported items, but only to the explicitly specified :code:`import` element child. - -#. The import of an element SHALL be considered recursively such that items referenced or imported by the :code:`import` element's child (a :code:`units` or :code:`component` element) are themselves included. - See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. +#. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and separate instance of the CellML infoset referenced by the :code:`href` attribute (the imported infoset). + See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. .. marker_interpretation_of_imports_end .. marker_units_reference_start @@ -29,20 +23,18 @@ Interpretation of imports Units reference --------------- -#. A units reference SHALL be a CellML identifier and SHALL be interpreted dependent on the context of the :ref:`CellML model` in which it occurs. +#. A units reference SHALL be a CellML identifier and SHALL be interpreted dependent on the context of the :ref:`CellML model` in which it occurs, according to the units referencing rules defined later in this section. + +#. A :ref:`CellML infoset` MUST NOT contain a units reference for which no referencing rule can be held to have been followed. #. The units referencing rules are: - #. Where there is a :code:`units` element with a :code:`name` attribute identical to the units reference within the same infoset, then the units reference SHALL refer to that :code:`units` element. + #. Where there is a :code:`units` element with a :code:`name` attribute identical to the units reference, then the units reference SHALL refer to that :code:`units` element. #. Where there is an :code:`import units` element in the :ref:`CellML infoset`, such that the :code:`import units` element has a :code:`name` attribute identical to the units reference, then the units reference SHALL be treated with respect to referencing rules as if the units reference appeared in the imported infoset, and referring to the :code:`name` specified in the :code:`units_ref` attribute of the :code:`import units` element. #. Where the units reference is equal to the value in the "Name" column of the :ref:`Built-in units table`, then the units reference SHALL be a reference to the built-in units corresponding to that row of the table. -#. A :ref:`CellML infoset` MUST NOT contain a units reference for which no referencing rule can be held to have been followed. - -#. It is noted, for the avoidance of doubt, that a units reference specified within an imported CellML infoset SHALL refer to the :code:`units` or :code:`import units` element of the same :code:`name` within the imported (rather than importing) infoset. - .. marker_units_reference1 .. _table_built_in_units: @@ -244,17 +236,11 @@ Component reference #. A component reference present in an information item which is a descendant of a :code:`model` element SHALL be identical to either the :code:`name` attribute on a :code:`component` element or to the :code:`name` attribute on an :code:`import component` element. -#. A component reference which is identical to the :code:`name` attribute on a :code:`component` element in the same infoset SHALL be treated as a reference to that :code:`component` element. +#. A component reference which is identical to the :code:`name` attribute on a :code:`component` element SHALL be treated as a reference to that :code:`component` element. #. A component reference which is identical to the :code:`name` attribute on an :code:`import component` element SHALL be treated for the purposes of referencing as if the component reference appeared in the imported model, and referred to element with the :code:`name` specified in the :code:`component_ref` attribute of the :code:`import component` element. -#. It is noted, for the avoidance of doubt, that importing a CellML :code:`component` element SHALL additionally and recursively import: - - #. Any and all encapsulated :code:`component` children of the imported :code:`component`, and - #. Any and all :code:`units` elements referenced by the imported :code:`component` or its encapsulated children. - Note also that :code:`units` elements imported in this way SHALL remain within the scope of the imported infoset; they SHALL NOT be available to the importing infoset unless explicitly imported by a separate :code:`import units` element. - -#. It is further noted, for the avoidance of doubt, that CellML models MAY apply the previous rules recursively, to reference an :code:`import component` element which in turn references another :code:`import component` element. +#. It is noted, for the avoidance of doubt, that CellML models MAY apply the previous rule recursively, to reference an :code:`import component` element which in turn references another :code:`import component` element. .. marker_component_reference_end .. marker_variable_reference_start From 10aa7b298d7e3237bad8aa909e6483119e8d0c39 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 23 Mar 2020 19:43:41 +1300 Subject: [PATCH 101/604] Changes as per review --- reference/sectionC_interpretation.inc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index f2356244..9b52d08f 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -13,10 +13,11 @@ Section C: Interpretation Interpretation of imports ------------------------- -#. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset which is referenced by the :code:`href` attribute (the imported infoset). This imported infoset instance SHALL provide the context in which the child of an import element (a :code:`units` or :code:`component` element) is defined and interpreted. +#. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset which is referenced by the :code:`href` attribute (the imported infoset). + This imported infoset instance SHALL provide the context in which the child of an import element (a :code:`units` or :code:`component` element) is defined and interpreted. #. The importing of an element SHALL be considered recursively such that items referenced or imported by the :code:`import` element child (a :code:`units` or :code:`component` element) are themselves available to that :code:`import` element child. - It is noted, for the avoidance of doubt, that the importing infoset SHALL NOT have access to such recursively imported items, but only to the explicitly specified :code:`import` element child. + It is noted, for the avoidance of doubt, that the importing infoset SHALL NOT have access to such recursively imported items, but only to the explicitly specified :code:`import` element child, unless that child is itself explicitly imported. #. The import of an element SHALL be considered recursively such that items referenced or imported by the :code:`import` element's child (a :code:`units` or :code:`component` element) are themselves included. See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. @@ -33,7 +34,7 @@ Units reference #. The units referencing rules are: - #. Where there is a :code:`units` element with a :code:`name` attribute identical to the units reference within the same infoset, then the units reference SHALL refer to that :code:`units` element. + #. Where, within the same infoset, a :code:`units` element has a :code:`name` attribute identical to the units reference, the units reference SHALL refer to that :code:`units` element. #. Where there is an :code:`import units` element in the :ref:`CellML infoset`, such that the :code:`import units` element has a :code:`name` attribute identical to the units reference, then the units reference SHALL be treated with respect to referencing rules as if the units reference appeared in the imported infoset, and referring to the :code:`name` specified in the :code:`units_ref` attribute of the :code:`import units` element. @@ -244,7 +245,7 @@ Component reference #. A component reference present in an information item which is a descendant of a :code:`model` element SHALL be identical to either the :code:`name` attribute on a :code:`component` element or to the :code:`name` attribute on an :code:`import component` element. -#. A component reference which is identical to the :code:`name` attribute on a :code:`component` element in the same infoset SHALL be treated as a reference to that :code:`component` element. +#. Where, within the same infoset, a :code:`component` element has a :code:`name` attribute identical to the component reference, the component reference SHALL refer to that :code:`component` element. #. A component reference which is identical to the :code:`name` attribute on an :code:`import component` element SHALL be treated for the purposes of referencing as if the component reference appeared in the imported model, and referred to element with the :code:`name` specified in the :code:`component_ref` attribute of the :code:`import component` element. From 56d6e750bd340d71d69d20eddc43fd6e0497a0a0 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 24 Mar 2020 10:47:08 +1300 Subject: [PATCH 102/604] Changes as per review --- reference/sectionC_interpretation.inc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 666b9e10..6be239e1 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -15,10 +15,10 @@ Interpretation of imports #. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset which is referenced by the :code:`href` attribute (the imported infoset). This imported infoset instance SHALL provide the context in which the child of an import element (a :code:`units` or :code:`component` element) is defined and interpreted. -#. The importing of an element SHALL be considered recursively such that items referenced or imported by the :code:`import` element child (a :code:`units` or :code:`component` element) are themselves available to that :code:`import` element child. - It is noted, for the avoidance of doubt, that the importing infoset SHALL NOT have access to such recursively imported items, but only to the explicitly specified :code:`import` element child, unless that child is itself explicitly imported. +#. The import of an element SHALL be considered recursively such that items referenced by the :code:`import` element child (a :code:`units` or :code:`component` element) are themselves available to that :code:`import` element child. + It is noted, for the avoidance of doubt, that the importing infoset SHALL NOT have access to such recursively imported items, but only to explicitly specified :code:`import` element children. -#. The import of an element SHALL be considered recursively such that items referenced or imported by the :code:`import` element's child (a :code:`units` or :code:`component` element) are themselves included. +#. The import of an element SHALL be considered recursively such that items referenced by the :code:`import` element's child (a :code:`units` or :code:`component` element) are themselves included. See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. .. marker_interpretation_of_imports_end @@ -31,8 +31,6 @@ Units reference #. A units reference SHALL be a CellML identifier and SHALL be interpreted dependent on the context of the :ref:`CellML model` in which it occurs, according to the units referencing rules defined later in this section. -#. A :ref:`CellML infoset` MUST NOT contain a units reference for which no referencing rule can be held to have been followed. - #. The units referencing rules are: #. Where, within the same infoset, a :code:`units` element has a :code:`name` attribute identical to the units reference, the units reference SHALL refer to that :code:`units` element. From e07d5b74a69a21f4ffe34e7d49587653302220bb Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 24 Mar 2020 12:36:33 +1300 Subject: [PATCH 103/604] Added colum to built in units table, added wording to units ref --- reference/sectionC_interpretation.inc | 162 ++++++++++++++------------ 1 file changed, 85 insertions(+), 77 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 2b9009c1..e139aac3 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -23,6 +23,8 @@ Interpretation of imports Units reference --------------- +A "units reference" refers to the :code:`units_ref` attribute in :code:`import units` items, and the :code:`units` attribute used in :code:`unit` and :code:`variable` items. + #. A units reference SHALL be a CellML identifier and SHALL be interpreted dependent on the context of the :ref:`CellML model` in which it occurs, according to the units referencing rules defined later in this section. #. A :ref:`CellML infoset` MUST NOT contain a units reference for which no referencing rule can be held to have been followed. @@ -42,83 +44,87 @@ Units reference Table: Built-in units ~~~~~~~~~~~~~~~~~~~~~ -+---------------+-------------------+--------------------------------+ -| **Name** | **Multiplier(s)** | **Unit reduction tuple** | -| | | (dimension, exponent) set | -+---------------+-------------------+--------------------------------+ -| ampere | - | - | -+---------------+-------------------+--------------------------------+ -| becquerel | 1 | (second, -1) | -+---------------+-------------------+--------------------------------+ -| candela | - | - | -+---------------+-------------------+--------------------------------+ -| coulomb | 1, 1 | (second, 1), (ampere,1) | -+---------------+-------------------+--------------------------------+ -| dimensionless | - | - | -+---------------+-------------------+--------------------------------+ -| farad | 1, 1, 1, 1 | (metre, -2), (kilogram, -1), | -| | | (second, 4), (ampere, 2) | -+---------------+-------------------+--------------------------------+ -| gram | 0.001 | (kilogram,1 ) | -+---------------+-------------------+--------------------------------+ -| gray | 1, 1 | (metre, 2), (second, -2) | -+---------------+-------------------+--------------------------------+ -| henry | 1, 1, 1, 1 | (metre, 2), (kilogram, 1), | -| | | (second, -2), (ampere, -2) | -+---------------+-------------------+--------------------------------+ -| hertz | 1 | (second, -1) | -+---------------+-------------------+--------------------------------+ -| joule | 1, 1, 1 | (metre, 2), (kilogram, 1), | -| | | (second, -2) | -+---------------+-------------------+--------------------------------+ -| katal | 1, 1 | (second, -1), (mole, 1) | -+---------------+-------------------+--------------------------------+ -| kelvin | - | - | -+---------------+-------------------+--------------------------------+ -| kilogram | - | - | -+---------------+-------------------+--------------------------------+ -| litre | 0.001 | (metre, 3) | -+---------------+-------------------+--------------------------------+ -| lumen | 1 | (candela, 1) | -+---------------+-------------------+--------------------------------+ -| lux | 1, 1 | (metre, -2), (candela, 1) | -+---------------+-------------------+--------------------------------+ -| metre | - | - | -+---------------+-------------------+--------------------------------+ -| mole | - | - | -+---------------+-------------------+--------------------------------+ -| newton | 1, 1, 1 | (metre, 1), (kilogram, 1), | -| | | (second, -2) | -+---------------+-------------------+--------------------------------+ -| ohm | 1, 1, 1, 1 | (metre, 2), (kilogram, 1), | -| | | (second, -3), (ampere, -2) | -+---------------+-------------------+--------------------------------+ -| pascal | 1, 1, 1 | (metre, -1), (kilogram, 1), | -| | | (second, -2) | -+---------------+-------------------+--------------------------------+ -| radian | 1, 1 | (metre, 1), (metre, -1) | -+---------------+-------------------+--------------------------------+ -| second | - | - | -+---------------+-------------------+--------------------------------+ -| siemens | 1, 1, 1, 1 | (metre, -2), (kilogram -1), | -| | | (second, 3), (ampere, 2) | -+---------------+-------------------+--------------------------------+ -| sievert | 1, 1 | (metre, 2), (second, -2) | -+---------------+-------------------+--------------------------------+ -| steradian | 1, 1 | (metre, 2), (metre, -2) | -+---------------+-------------------+--------------------------------+ -| tesla | 1, 1, 1 | (kilogram, 1), (second, -2), | -| | | (ampere, -1) | -+---------------+-------------------+--------------------------------+ -| volt | 1, 1, 1, 1 | (metre, 2), (kilogram, 1), | -| | | (second , -3), (ampere, -1) | -+---------------+-------------------+--------------------------------+ -| watt | 1, 1, 1 | (metre, 2), (kilogram, 1), | -| | | (second, -3) | -+---------------+-------------------+--------------------------------+ -| weber | 1, 1, 1, 1 | (metre, 2), (kilogram, 1), | -| | | (second, -2), (ampere, -1) | -+---------------+-------------------+--------------------------------+ ++---------------+-------------------+--------------------------------+------------------------------------+ +| **Name** | **Multiplier(s)** | **Unit reduction tuple** | **Common equivalent definitions** | +| | | (dimension, exponent) set | | ++---------------+-------------------+--------------------------------+------------------------------------+ +| ampere | - | - | - | ++---------------+-------------------+--------------------------------+------------------------------------+ +| becquerel | 1 | (second, -1) | 1/s | ++---------------+-------------------+--------------------------------+------------------------------------+ +| candela | - | - | - | ++---------------+-------------------+--------------------------------+------------------------------------+ +| coulomb | 1, 1 | (second, 1), (ampere,1) | (second)(ampere), or | +| | | | (farad)(volt) | ++---------------+-------------------+--------------------------------+------------------------------------+ +| dimensionless | - | - | - | ++---------------+-------------------+--------------------------------+------------------------------------+ +| farad | 1, 1, 1, 1 | (metre, -2), (kilogram, -1), | (coulomb)/(volt), or | +| | | (second, 4), (ampere, 2) | (second)/(ohm) | ++---------------+-------------------+--------------------------------+------------------------------------+ +| gram | 0.001 | (kilogram,1 ) | | ++---------------+-------------------+--------------------------------+------------------------------------+ +| gray | 1, 1 | (metre, 2), (second, -2) | (joule)/(kilogram) | ++---------------+-------------------+--------------------------------+------------------------------------+ +| henry | 1, 1, 1, 1 | (metre, 2), (kilogram, 1), | (volt)(second)/(ampere), or | +| | | (second, -2), (ampere, -2) | (ohm)(second), or | +| | | | (weber)/(ampere) | ++---------------+-------------------+--------------------------------+------------------------------------+ +| hertz | 1 | (second, -1) | | ++---------------+-------------------+--------------------------------+------------------------------------+ +| joule | 1, 1, 1 | (metre, 2), (kilogram, 1), | (metre)(newton), or | +| | | (second, -2) | (coulomb)(volt), or | +| | | | (weber)(second) | ++---------------+-------------------+--------------------------------+------------------------------------+ +| katal | 1, 1 | (second, -1), (mole, 1) | | ++---------------+-------------------+--------------------------------+------------------------------------+ +| kelvin | - | - | | ++---------------+-------------------+--------------------------------+------------------------------------+ +| kilogram | - | - | | ++---------------+-------------------+--------------------------------+------------------------------------+ +| litre | 0.001 | (metre, 3) | | ++---------------+-------------------+--------------------------------+------------------------------------+ +| lumen | 1 | (candela, 1) | (candela)(steradian) | ++---------------+-------------------+--------------------------------+------------------------------------+ +| lux | 1, 1 | (metre, -2), (candela, 1) | (lumen)/(metre^2) | ++---------------+-------------------+--------------------------------+------------------------------------+ +| metre | - | - | | ++---------------+-------------------+--------------------------------+------------------------------------+ +| mole | - | - | | ++---------------+-------------------+--------------------------------+------------------------------------+ +| newton | 1, 1, 1 | (metre, 1), (kilogram, 1), | | +| | | (second, -2) | | ++---------------+-------------------+--------------------------------+------------------------------------+ +| ohm | 1, 1, 1, 1 | (metre, 2), (kilogram, 1), | 1/(siemen), or | +| | | (second, -3), (ampere, -2) | (volt)/(ampere) | ++---------------+-------------------+--------------------------------+------------------------------------+ +| pascal | 1, 1, 1 | (metre, -1), (kilogram, 1), | (newton)/(metre^2) | +| | | (second, -2) | | ++---------------+-------------------+--------------------------------+------------------------------------+ +| radian | 1, 1 | (dimensionless, 1) | (metre)/(metre) | ++---------------+-------------------+--------------------------------+------------------------------------+ +| second | - | - | | ++---------------+-------------------+--------------------------------+------------------------------------+ +| siemens | 1, 1, 1, 1 | (metre, -2), (kilogram -1), | 1/(ohm), or | +| | | (second, 3), (ampere, 2) | (ampere)/(volt) | ++---------------+-------------------+--------------------------------+------------------------------------+ +| sievert | 1, 1 | (metre, 2), (second, -2) | (joule)/(kilogram) | ++---------------+-------------------+--------------------------------+------------------------------------+ +| steradian | 1, 1 | (dimensionless, 1) | (metre^2)/(metre^2) | ++---------------+-------------------+--------------------------------+------------------------------------+ +| tesla | 1, 1, 1 | (kilogram, 1), (second, -2), | (volt)(second)/(metre^2), or | +| | | (ampere, -1) | (weber)/(metre^2), or | +| | | | (newton)/((amp)(metre)) | ++---------------+-------------------+--------------------------------+------------------------------------+ +| volt | 1, 1, 1, 1 | (metre, 2), (kilogram, 1), | (watt)/(amp), or | +| | | (second , -3), (ampere, -1) | (joule)/(coulomb) | ++---------------+-------------------+--------------------------------+------------------------------------+ +| watt | 1, 1, 1 | (metre, 2), (kilogram, 1), | (joule)/(second), or | +| | | (second, -3) | (volt)(amp) | ++---------------+-------------------+--------------------------------+------------------------------------+ +| weber | 1, 1, 1, 1 | (metre, 2), (kilogram, 1), | (joule)/(amp), or | +| | | (second, -2), (ampere, -1) | (tesla)(metre^2) | ++---------------+-------------------+--------------------------------+------------------------------------+ .. marker_units_reference_end .. marker_interpretation_of_units_start @@ -232,6 +238,8 @@ yocto −24 Component reference ------------------- +A "component reference" refers to the :code:`component_ref` attribute used in :code:`import component` items, to the :code:`component_ref` elements which occurs as children of :code:`encapsulation` items, and to the :code:`component_1` and :code:`component_2` attributes used in :code:`connection` items. + #. A component reference SHALL be the name of a component, and SHALL be interpreted based on the context within the :ref:`CellML model` in which it occurs. #. A component reference present in an information item which is a descendant of a :code:`model` element SHALL be identical to either the :code:`name` attribute on a :code:`component` element or to the :code:`name` attribute on an :code:`import component` element. From 98de3a5ed00333606908c2f64c89390a363ed58f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 24 Mar 2020 14:18:14 +1300 Subject: [PATCH 104/604] Changing units table to include symbols --- reference/sectionC_interpretation.inc | 162 +++++++++++++------------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index e139aac3..b9894e22 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -44,87 +44,87 @@ A "units reference" refers to the :code:`units_ref` attribute in :code:`import u Table: Built-in units ~~~~~~~~~~~~~~~~~~~~~ -+---------------+-------------------+--------------------------------+------------------------------------+ -| **Name** | **Multiplier(s)** | **Unit reduction tuple** | **Common equivalent definitions** | -| | | (dimension, exponent) set | | -+---------------+-------------------+--------------------------------+------------------------------------+ -| ampere | - | - | - | -+---------------+-------------------+--------------------------------+------------------------------------+ -| becquerel | 1 | (second, -1) | 1/s | -+---------------+-------------------+--------------------------------+------------------------------------+ -| candela | - | - | - | -+---------------+-------------------+--------------------------------+------------------------------------+ -| coulomb | 1, 1 | (second, 1), (ampere,1) | (second)(ampere), or | -| | | | (farad)(volt) | -+---------------+-------------------+--------------------------------+------------------------------------+ -| dimensionless | - | - | - | -+---------------+-------------------+--------------------------------+------------------------------------+ -| farad | 1, 1, 1, 1 | (metre, -2), (kilogram, -1), | (coulomb)/(volt), or | -| | | (second, 4), (ampere, 2) | (second)/(ohm) | -+---------------+-------------------+--------------------------------+------------------------------------+ -| gram | 0.001 | (kilogram,1 ) | | -+---------------+-------------------+--------------------------------+------------------------------------+ -| gray | 1, 1 | (metre, 2), (second, -2) | (joule)/(kilogram) | -+---------------+-------------------+--------------------------------+------------------------------------+ -| henry | 1, 1, 1, 1 | (metre, 2), (kilogram, 1), | (volt)(second)/(ampere), or | -| | | (second, -2), (ampere, -2) | (ohm)(second), or | -| | | | (weber)/(ampere) | -+---------------+-------------------+--------------------------------+------------------------------------+ -| hertz | 1 | (second, -1) | | -+---------------+-------------------+--------------------------------+------------------------------------+ -| joule | 1, 1, 1 | (metre, 2), (kilogram, 1), | (metre)(newton), or | -| | | (second, -2) | (coulomb)(volt), or | -| | | | (weber)(second) | -+---------------+-------------------+--------------------------------+------------------------------------+ -| katal | 1, 1 | (second, -1), (mole, 1) | | -+---------------+-------------------+--------------------------------+------------------------------------+ -| kelvin | - | - | | -+---------------+-------------------+--------------------------------+------------------------------------+ -| kilogram | - | - | | -+---------------+-------------------+--------------------------------+------------------------------------+ -| litre | 0.001 | (metre, 3) | | -+---------------+-------------------+--------------------------------+------------------------------------+ -| lumen | 1 | (candela, 1) | (candela)(steradian) | -+---------------+-------------------+--------------------------------+------------------------------------+ -| lux | 1, 1 | (metre, -2), (candela, 1) | (lumen)/(metre^2) | -+---------------+-------------------+--------------------------------+------------------------------------+ -| metre | - | - | | -+---------------+-------------------+--------------------------------+------------------------------------+ -| mole | - | - | | -+---------------+-------------------+--------------------------------+------------------------------------+ -| newton | 1, 1, 1 | (metre, 1), (kilogram, 1), | | -| | | (second, -2) | | -+---------------+-------------------+--------------------------------+------------------------------------+ -| ohm | 1, 1, 1, 1 | (metre, 2), (kilogram, 1), | 1/(siemen), or | -| | | (second, -3), (ampere, -2) | (volt)/(ampere) | -+---------------+-------------------+--------------------------------+------------------------------------+ -| pascal | 1, 1, 1 | (metre, -1), (kilogram, 1), | (newton)/(metre^2) | -| | | (second, -2) | | -+---------------+-------------------+--------------------------------+------------------------------------+ -| radian | 1, 1 | (dimensionless, 1) | (metre)/(metre) | -+---------------+-------------------+--------------------------------+------------------------------------+ -| second | - | - | | -+---------------+-------------------+--------------------------------+------------------------------------+ -| siemens | 1, 1, 1, 1 | (metre, -2), (kilogram -1), | 1/(ohm), or | -| | | (second, 3), (ampere, 2) | (ampere)/(volt) | -+---------------+-------------------+--------------------------------+------------------------------------+ -| sievert | 1, 1 | (metre, 2), (second, -2) | (joule)/(kilogram) | -+---------------+-------------------+--------------------------------+------------------------------------+ -| steradian | 1, 1 | (dimensionless, 1) | (metre^2)/(metre^2) | -+---------------+-------------------+--------------------------------+------------------------------------+ -| tesla | 1, 1, 1 | (kilogram, 1), (second, -2), | (volt)(second)/(metre^2), or | -| | | (ampere, -1) | (weber)/(metre^2), or | -| | | | (newton)/((amp)(metre)) | -+---------------+-------------------+--------------------------------+------------------------------------+ -| volt | 1, 1, 1, 1 | (metre, 2), (kilogram, 1), | (watt)/(amp), or | -| | | (second , -3), (ampere, -1) | (joule)/(coulomb) | -+---------------+-------------------+--------------------------------+------------------------------------+ -| watt | 1, 1, 1 | (metre, 2), (kilogram, 1), | (joule)/(second), or | -| | | (second, -3) | (volt)(amp) | -+---------------+-------------------+--------------------------------+------------------------------------+ -| weber | 1, 1, 1, 1 | (metre, 2), (kilogram, 1), | (joule)/(amp), or | -| | | (second, -2), (ampere, -1) | (tesla)(metre^2) | -+---------------+-------------------+--------------------------------+------------------------------------+ ++---------------+-------------------+----------------------------------+------------------------------------+ +| **Name** | **Symbol** | **Unit reduction tuple** | **Common equivalent definitions** | +| | | multiplier*(dimension, exponent) | | ++---------------+-------------------+----------------------------------+------------------------------------+ +| ampere | A | - | - | ++---------------+-------------------+----------------------------------+------------------------------------+ +| becquerel | Bq | (second, -1) | 1/s | ++---------------+-------------------+----------------------------------+------------------------------------+ +| candela | cd | - | - | ++---------------+-------------------+----------------------------------+------------------------------------+ +| coulomb | C | (second, 1), (ampere,1) | s.A, or | +| | | | F.V | ++---------------+-------------------+----------------------------------+------------------------------------+ +| dimensionless | - | - | - | ++---------------+-------------------+----------------------------------+------------------------------------+ +| farad | F | (metre, -2), (kilogram, -1), | C/V, or :math:`s/{\Omega}` | +| | | (second, 4), (ampere, 2) | | ++---------------+-------------------+----------------------------------+------------------------------------+ +| gram | g | 0.001 * (kilogram, 1) | | ++---------------+-------------------+----------------------------------+------------------------------------+ +| gray | Gy | (metre, 2), (second, -2) | J/kg | ++---------------+-------------------+----------------------------------+------------------------------------+ +| henry | H | (metre, 2), (kilogram, 1), | V.s/A, or | +| | | (second, -2), (ampere, -2) | :math:`\Omega . s`, or | +| | | | Wb/A | ++---------------+-------------------+----------------------------------+------------------------------------+ +| hertz | Hz | (second, -1) | | ++---------------+-------------------+----------------------------------+------------------------------------+ +| joule | J | (metre, 2), (kilogram, 1), | m.N, or | +| | | (second, -2) | C.V, or | +| | | | Wb.s | ++---------------+-------------------+----------------------------------+------------------------------------+ +| katal | kat | (second, -1), (mole, 1) | | ++---------------+-------------------+----------------------------------+------------------------------------+ +| kelvin | K | - | | ++---------------+-------------------+----------------------------------+------------------------------------+ +| kilogram | kg | - | | ++---------------+-------------------+----------------------------------+------------------------------------+ +| litre | l | 0.001 * (metre, 3) | | ++---------------+-------------------+----------------------------------+------------------------------------+ +| lumen | lm | (candela, 1) | cd.sr | ++---------------+-------------------+----------------------------------+------------------------------------+ +| lux | lx | (metre, -2), (candela, 1) | lm/m^2 | ++---------------+-------------------+----------------------------------+------------------------------------+ +| metre | m | - | | ++---------------+-------------------+----------------------------------+------------------------------------+ +| mole | mol | - | | ++---------------+-------------------+----------------------------------+------------------------------------+ +| newton | N | (metre, 1), (kilogram, 1), | | +| | | (second, -2) | | ++---------------+-------------------+----------------------------------+------------------------------------+ +| ohm | :math:`\Omega` | (metre, 2), (kilogram, 1), | 1/S, or | +| | | (second, -3), (ampere, -2) | V/A | ++---------------+-------------------+----------------------------------+------------------------------------+ +| pascal | Pa | (metre, -1), (kilogram, 1), | N/m^2 | +| | | (second, -2) | | ++---------------+-------------------+----------------------------------+------------------------------------+ +| radian | rad | (dimensionless, 1) | m/m | ++---------------+-------------------+----------------------------------+------------------------------------+ +| second | s | - | | ++---------------+-------------------+----------------------------------+------------------------------------+ +| siemens | S | (metre, -2), (kilogram -1), | :math:`s/{\Omega}`, or | +| | | (second, 3), (ampere, 2) | A/V | ++---------------+-------------------+----------------------------------+------------------------------------+ +| sievert | Sv | (metre, 2), (second, -2) | J/kg | ++---------------+-------------------+----------------------------------+------------------------------------+ +| steradian | sr | (dimensionless, 1) | m^2/m^2 | ++---------------+-------------------+----------------------------------+------------------------------------+ +| tesla | T | (kilogram, 1), (second, -2), | V.s/m^2, or | +| | | (ampere, -1) | Wb/m^2, or | +| | | | N/(A.m) | ++---------------+-------------------+----------------------------------+------------------------------------+ +| volt | V | (metre, 2), (kilogram, 1), | W/A, or | +| | | (second , -3), (ampere, -1) | J/C | ++---------------+-------------------+----------------------------------+------------------------------------+ +| watt | W | (metre, 2), (kilogram, 1), | J/s, or | +| | | (second, -3) | V.A | ++---------------+-------------------+----------------------------------+------------------------------------+ +| weber | Wb | (metre, 2), (kilogram, 1), | J/A, or | +| | | (second, -2), (ampere, -1) | T.m^2 | ++---------------+-------------------+----------------------------------+------------------------------------+ .. marker_units_reference_end .. marker_interpretation_of_units_start From e5519aa853b9a9edb1941390d509bbf9e990fdeb Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 24 Mar 2020 14:37:51 +1300 Subject: [PATCH 105/604] Update symbols and formulae in builtin units table --- reference/sectionC_interpretation.inc | 90 +++++++++++++-------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index b9894e22..d18956e7 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -45,85 +45,85 @@ Table: Built-in units ~~~~~~~~~~~~~~~~~~~~~ +---------------+-------------------+----------------------------------+------------------------------------+ -| **Name** | **Symbol** | **Unit reduction tuple** | **Common equivalent definitions** | -| | | multiplier*(dimension, exponent) | | +| **Name** | **Symbol** | | **Unit reduction tuple** | **Common equivalent definitions** | +| | | | multiplier*(base, exponent) | | +---------------+-------------------+----------------------------------+------------------------------------+ -| ampere | A | - | - | +| ampere | :math:`A` | - | - | +---------------+-------------------+----------------------------------+------------------------------------+ -| becquerel | Bq | (second, -1) | 1/s | +| becquerel | :math:`Bq` | (second, -1) | :math:`1/s` | +---------------+-------------------+----------------------------------+------------------------------------+ -| candela | cd | - | - | +| candela | :math:`cd` | - | - | +---------------+-------------------+----------------------------------+------------------------------------+ -| coulomb | C | (second, 1), (ampere,1) | s.A, or | -| | | | F.V | +| coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s.A`, or | +| | | | | :math:`F.V` | +---------------+-------------------+----------------------------------+------------------------------------+ | dimensionless | - | - | - | +---------------+-------------------+----------------------------------+------------------------------------+ -| farad | F | (metre, -2), (kilogram, -1), | C/V, or :math:`s/{\Omega}` | -| | | (second, 4), (ampere, 2) | | +| farad | :math:`F` | (metre, -2), (kilogram, -1), | | :math:`C/V, or | +| | | (second, 4), (ampere, 2) | | :math:`s/{\Omega}` | +---------------+-------------------+----------------------------------+------------------------------------+ -| gram | g | 0.001 * (kilogram, 1) | | +| gram | :math:`g` | 0.001 * (kilogram, 1) | | +---------------+-------------------+----------------------------------+------------------------------------+ -| gray | Gy | (metre, 2), (second, -2) | J/kg | +| gray | :math:`Gy` | (metre, 2), (second, -2) | :math:`J/{kg}` | +---------------+-------------------+----------------------------------+------------------------------------+ -| henry | H | (metre, 2), (kilogram, 1), | V.s/A, or | -| | | (second, -2), (ampere, -2) | :math:`\Omega . s`, or | -| | | | Wb/A | +| henry | :math:`H` | (metre, 2), (kilogram, 1), | | :math:`{V.s}/A` , or | +| | | (second, -2), (ampere, -2) | | :math:`\Omega .s`, or | +| | | | | :math:`Wb/A` | +---------------+-------------------+----------------------------------+------------------------------------+ -| hertz | Hz | (second, -1) | | +| hertz | :math:`Hz` | (second, -1) | | +---------------+-------------------+----------------------------------+------------------------------------+ -| joule | J | (metre, 2), (kilogram, 1), | m.N, or | -| | | (second, -2) | C.V, or | -| | | | Wb.s | +| joule | :math:`J` | (metre, 2), (kilogram, 1), | | :math:`m.N` or | +| | | (second, -2) | | :math:`C.V` or | +| | | | | :math:`Wb.s` | +---------------+-------------------+----------------------------------+------------------------------------+ -| katal | kat | (second, -1), (mole, 1) | | +| katal | :math:`kat` | (second, -1), (mole, 1) | | +---------------+-------------------+----------------------------------+------------------------------------+ -| kelvin | K | - | | +| kelvin | :math:`K` | - | | +---------------+-------------------+----------------------------------+------------------------------------+ -| kilogram | kg | - | | +| kilogram | :math:`kg` | - | | +---------------+-------------------+----------------------------------+------------------------------------+ -| litre | l | 0.001 * (metre, 3) | | +| litre | :math:`l` | 0.001 * (metre, 3) | | +---------------+-------------------+----------------------------------+------------------------------------+ -| lumen | lm | (candela, 1) | cd.sr | +| lumen | :math:`lm` | (candela, 1) | :math:`cd.sr` | +---------------+-------------------+----------------------------------+------------------------------------+ -| lux | lx | (metre, -2), (candela, 1) | lm/m^2 | +| lux | :math:`lx` | (metre, -2), (candela, 1) | :math:`{lm}/{m^2}` | +---------------+-------------------+----------------------------------+------------------------------------+ -| metre | m | - | | +| metre | :math:`m` | - | | +---------------+-------------------+----------------------------------+------------------------------------+ -| mole | mol | - | | +| mole | :math:`mol` | - | | +---------------+-------------------+----------------------------------+------------------------------------+ -| newton | N | (metre, 1), (kilogram, 1), | | +| newton | :math:`N` | (metre, 1), (kilogram, 1), | | | | | (second, -2) | | +---------------+-------------------+----------------------------------+------------------------------------+ -| ohm | :math:`\Omega` | (metre, 2), (kilogram, 1), | 1/S, or | -| | | (second, -3), (ampere, -2) | V/A | +| ohm | :math:`\Omega` | (metre, 2), (kilogram, 1), | | :math:`1/S`, or | +| | | (second, -3), (ampere, -2) | | :math:`V/A` | +---------------+-------------------+----------------------------------+------------------------------------+ -| pascal | Pa | (metre, -1), (kilogram, 1), | N/m^2 | +| pascal | :math:`Pa` | (metre, -1), (kilogram, 1), | :math:`N/m^2` | | | | (second, -2) | | +---------------+-------------------+----------------------------------+------------------------------------+ -| radian | rad | (dimensionless, 1) | m/m | +| radian | :math:`rad` | (dimensionless, 1) | :math:`m/m` | +---------------+-------------------+----------------------------------+------------------------------------+ -| second | s | - | | +| second | :math:`s` | - | | +---------------+-------------------+----------------------------------+------------------------------------+ -| siemens | S | (metre, -2), (kilogram -1), | :math:`s/{\Omega}`, or | -| | | (second, 3), (ampere, 2) | A/V | +| siemens | :math:`S` | (metre, -2), (kilogram -1), | | :math:`s/{\Omega}`, or | +| | | (second, 3), (ampere, 2) | | :math:`A/V` | +---------------+-------------------+----------------------------------+------------------------------------+ -| sievert | Sv | (metre, 2), (second, -2) | J/kg | +| sievert | :math:`Sv` | (metre, 2), (second, -2) | :math:`J/kg` | +---------------+-------------------+----------------------------------+------------------------------------+ -| steradian | sr | (dimensionless, 1) | m^2/m^2 | +| steradian | :math:`sr` | (dimensionless, 1) | :math:`m^2/m^2` | +---------------+-------------------+----------------------------------+------------------------------------+ -| tesla | T | (kilogram, 1), (second, -2), | V.s/m^2, or | -| | | (ampere, -1) | Wb/m^2, or | -| | | | N/(A.m) | +| tesla | :math:`T` | (kilogram, 1), (second, -2), | | :math:`{V.s}/{m^2}`, or | +| | | (ampere, -1) | | :math:`{Wb}/{m^2}`, or | +| | | | | :math:`N/{A.m}` | +---------------+-------------------+----------------------------------+------------------------------------+ -| volt | V | (metre, 2), (kilogram, 1), | W/A, or | -| | | (second , -3), (ampere, -1) | J/C | +| volt | :math:`V` | (metre, 2), (kilogram, 1), | | :math:`W/A`, or | +| | | (second , -3), (ampere, -1) | | :math:`J/C` | +---------------+-------------------+----------------------------------+------------------------------------+ -| watt | W | (metre, 2), (kilogram, 1), | J/s, or | -| | | (second, -3) | V.A | +| watt | :math:`W` | (metre, 2), (kilogram, 1), | | :math:`J/s`, or | +| | | (second, -3) | | :math:`V.A` | +---------------+-------------------+----------------------------------+------------------------------------+ -| weber | Wb | (metre, 2), (kilogram, 1), | J/A, or | -| | | (second, -2), (ampere, -1) | T.m^2 | +| weber | :math:`Wb` | (metre, 2), (kilogram, 1), | | :math:`J/A`, or | +| | | (second, -2), (ampere, -1) | | :math:`T.m^2` | +---------------+-------------------+----------------------------------+------------------------------------+ .. marker_units_reference_end From e6352bc7db5524a90576878d24d9c03ed424a247 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 24 Mar 2020 14:40:17 +1300 Subject: [PATCH 106/604] Update sectionC_interpretation.inc --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index d18956e7..4d03c4a7 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -86,7 +86,7 @@ Table: Built-in units +---------------+-------------------+----------------------------------+------------------------------------+ | lumen | :math:`lm` | (candela, 1) | :math:`cd.sr` | +---------------+-------------------+----------------------------------+------------------------------------+ -| lux | :math:`lx` | (metre, -2), (candela, 1) | :math:`{lm}/{m^2}` | +| lux | :math:`lx` | (metre, -2), (candela, 1) | :math:`{lm}/{m^2}` | +---------------+-------------------+----------------------------------+------------------------------------+ | metre | :math:`m` | - | | +---------------+-------------------+----------------------------------+------------------------------------+ From 584d6b4c0c95d08df8654495e6f579f601b9d609 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 24 Mar 2020 14:51:52 +1300 Subject: [PATCH 107/604] More table updates --- reference/sectionC_interpretation.inc | 42 +++++++++++++-------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 4d03c4a7..6fdb581d 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -48,39 +48,39 @@ Table: Built-in units | **Name** | **Symbol** | | **Unit reduction tuple** | **Common equivalent definitions** | | | | | multiplier*(base, exponent) | | +---------------+-------------------+----------------------------------+------------------------------------+ -| ampere | :math:`A` | - | - | +| ampere | :math:`A` | \- | | +---------------+-------------------+----------------------------------+------------------------------------+ | becquerel | :math:`Bq` | (second, -1) | :math:`1/s` | +---------------+-------------------+----------------------------------+------------------------------------+ -| candela | :math:`cd` | - | - | +| candela | :math:`cd` | \- | | +---------------+-------------------+----------------------------------+------------------------------------+ -| coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s.A`, or | +| coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s.A` | | | | | | :math:`F.V` | +---------------+-------------------+----------------------------------+------------------------------------+ -| dimensionless | - | - | - | +| dimensionless | - | \- | | +---------------+-------------------+----------------------------------+------------------------------------+ -| farad | :math:`F` | (metre, -2), (kilogram, -1), | | :math:`C/V, or | +| farad | :math:`F` | (metre, -2), (kilogram, -1), | | :math:`C/V` | | | | (second, 4), (ampere, 2) | | :math:`s/{\Omega}` | +---------------+-------------------+----------------------------------+------------------------------------+ | gram | :math:`g` | 0.001 * (kilogram, 1) | | +---------------+-------------------+----------------------------------+------------------------------------+ | gray | :math:`Gy` | (metre, 2), (second, -2) | :math:`J/{kg}` | +---------------+-------------------+----------------------------------+------------------------------------+ -| henry | :math:`H` | (metre, 2), (kilogram, 1), | | :math:`{V.s}/A` , or | -| | | (second, -2), (ampere, -2) | | :math:`\Omega .s`, or | +| henry | :math:`H` | (metre, 2), (kilogram, 1), | | :math:`{V.s}/A` | +| | | (second, -2), (ampere, -2) | | :math:`\Omega .s` | | | | | | :math:`Wb/A` | +---------------+-------------------+----------------------------------+------------------------------------+ | hertz | :math:`Hz` | (second, -1) | | +---------------+-------------------+----------------------------------+------------------------------------+ -| joule | :math:`J` | (metre, 2), (kilogram, 1), | | :math:`m.N` or | -| | | (second, -2) | | :math:`C.V` or | +| joule | :math:`J` | (metre, 2), (kilogram, 1), | | :math:`m.N` | +| | | (second, -2) | | :math:`C.V` | | | | | | :math:`Wb.s` | +---------------+-------------------+----------------------------------+------------------------------------+ | katal | :math:`kat` | (second, -1), (mole, 1) | | +---------------+-------------------+----------------------------------+------------------------------------+ -| kelvin | :math:`K` | - | | +| kelvin | :math:`K` | \- | | +---------------+-------------------+----------------------------------+------------------------------------+ -| kilogram | :math:`kg` | - | | +| kilogram | :math:`kg` | \- | | +---------------+-------------------+----------------------------------+------------------------------------+ | litre | :math:`l` | 0.001 * (metre, 3) | | +---------------+-------------------+----------------------------------+------------------------------------+ @@ -88,14 +88,14 @@ Table: Built-in units +---------------+-------------------+----------------------------------+------------------------------------+ | lux | :math:`lx` | (metre, -2), (candela, 1) | :math:`{lm}/{m^2}` | +---------------+-------------------+----------------------------------+------------------------------------+ -| metre | :math:`m` | - | | +| metre | :math:`m` | \- | | +---------------+-------------------+----------------------------------+------------------------------------+ -| mole | :math:`mol` | - | | +| mole | :math:`mol` | \- | | +---------------+-------------------+----------------------------------+------------------------------------+ | newton | :math:`N` | (metre, 1), (kilogram, 1), | | | | | (second, -2) | | +---------------+-------------------+----------------------------------+------------------------------------+ -| ohm | :math:`\Omega` | (metre, 2), (kilogram, 1), | | :math:`1/S`, or | +| ohm | :math:`\Omega` | (metre, 2), (kilogram, 1), | | :math:`1/S` | | | | (second, -3), (ampere, -2) | | :math:`V/A` | +---------------+-------------------+----------------------------------+------------------------------------+ | pascal | :math:`Pa` | (metre, -1), (kilogram, 1), | :math:`N/m^2` | @@ -103,26 +103,26 @@ Table: Built-in units +---------------+-------------------+----------------------------------+------------------------------------+ | radian | :math:`rad` | (dimensionless, 1) | :math:`m/m` | +---------------+-------------------+----------------------------------+------------------------------------+ -| second | :math:`s` | - | | +| second | :math:`s` | \- | | +---------------+-------------------+----------------------------------+------------------------------------+ -| siemens | :math:`S` | (metre, -2), (kilogram -1), | | :math:`s/{\Omega}`, or | +| siemens | :math:`S` | (metre, -2), (kilogram -1), | | :math:`s/{\Omega}` | | | | (second, 3), (ampere, 2) | | :math:`A/V` | +---------------+-------------------+----------------------------------+------------------------------------+ | sievert | :math:`Sv` | (metre, 2), (second, -2) | :math:`J/kg` | +---------------+-------------------+----------------------------------+------------------------------------+ | steradian | :math:`sr` | (dimensionless, 1) | :math:`m^2/m^2` | +---------------+-------------------+----------------------------------+------------------------------------+ -| tesla | :math:`T` | (kilogram, 1), (second, -2), | | :math:`{V.s}/{m^2}`, or | -| | | (ampere, -1) | | :math:`{Wb}/{m^2}`, or | +| tesla | :math:`T` | (kilogram, 1), (second, -2), | | :math:`{V.s}/{m^2}` | +| | | (ampere, -1) | | :math:`{Wb}/{m^2}` | | | | | | :math:`N/{A.m}` | +---------------+-------------------+----------------------------------+------------------------------------+ -| volt | :math:`V` | (metre, 2), (kilogram, 1), | | :math:`W/A`, or | +| volt | :math:`V` | (metre, 2), (kilogram, 1), | | :math:`W/A` | | | | (second , -3), (ampere, -1) | | :math:`J/C` | +---------------+-------------------+----------------------------------+------------------------------------+ -| watt | :math:`W` | (metre, 2), (kilogram, 1), | | :math:`J/s`, or | +| watt | :math:`W` | (metre, 2), (kilogram, 1), | | :math:`J/s` | | | | (second, -3) | | :math:`V.A` | +---------------+-------------------+----------------------------------+------------------------------------+ -| weber | :math:`Wb` | (metre, 2), (kilogram, 1), | | :math:`J/A`, or | +| weber | :math:`Wb` | (metre, 2), (kilogram, 1), | | :math:`J/A` | | | | (second, -2), (ampere, -1) | | :math:`T.m^2` | +---------------+-------------------+----------------------------------+------------------------------------+ From a530314884ca049756d81c392b09e905b70e148b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 24 Mar 2020 14:56:27 +1300 Subject: [PATCH 108/604] Update sectionC_interpretation.inc --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 6fdb581d..394c49db 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -45,7 +45,7 @@ Table: Built-in units ~~~~~~~~~~~~~~~~~~~~~ +---------------+-------------------+----------------------------------+------------------------------------+ -| **Name** | **Symbol** | | **Unit reduction tuple** | **Common equivalent definitions** | +| **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | | | | | multiplier*(base, exponent) | | +---------------+-------------------+----------------------------------+------------------------------------+ | ampere | :math:`A` | \- | | From 8fec3caff78280513db9c886ec1265183a00ebd0 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 24 Mar 2020 15:35:14 +1300 Subject: [PATCH 109/604] Update sectionC_interpretation.inc --- reference/sectionC_interpretation.inc | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 394c49db..c2b98cf0 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -54,8 +54,8 @@ Table: Built-in units +---------------+-------------------+----------------------------------+------------------------------------+ | candela | :math:`cd` | \- | | +---------------+-------------------+----------------------------------+------------------------------------+ -| coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s.A` | -| | | | | :math:`F.V` | +| coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s \cdot A` | +| | | | | :math:`F \cdot V` | +---------------+-------------------+----------------------------------+------------------------------------+ | dimensionless | - | \- | | +---------------+-------------------+----------------------------------+------------------------------------+ @@ -67,14 +67,14 @@ Table: Built-in units | gray | :math:`Gy` | (metre, 2), (second, -2) | :math:`J/{kg}` | +---------------+-------------------+----------------------------------+------------------------------------+ | henry | :math:`H` | (metre, 2), (kilogram, 1), | | :math:`{V.s}/A` | -| | | (second, -2), (ampere, -2) | | :math:`\Omega .s` | +| | | (second, -2), (ampere, -2) | | :math:`\Omega \cdot s` | | | | | | :math:`Wb/A` | +---------------+-------------------+----------------------------------+------------------------------------+ | hertz | :math:`Hz` | (second, -1) | | +---------------+-------------------+----------------------------------+------------------------------------+ -| joule | :math:`J` | (metre, 2), (kilogram, 1), | | :math:`m.N` | -| | | (second, -2) | | :math:`C.V` | -| | | | | :math:`Wb.s` | +| joule | :math:`J` | (metre, 2), (kilogram, 1), | | :math:`N \cdot m` | +| | | (second, -2) | | :math:`C \cdot V` | +| | | | | :math:`Wb \cdot s` | +---------------+-------------------+----------------------------------+------------------------------------+ | katal | :math:`kat` | (second, -1), (mole, 1) | | +---------------+-------------------+----------------------------------+------------------------------------+ @@ -84,7 +84,7 @@ Table: Built-in units +---------------+-------------------+----------------------------------+------------------------------------+ | litre | :math:`l` | 0.001 * (metre, 3) | | +---------------+-------------------+----------------------------------+------------------------------------+ -| lumen | :math:`lm` | (candela, 1) | :math:`cd.sr` | +| lumen | :math:`lm` | (candela, 1) | :math:`cd \cdot sr` | +---------------+-------------------+----------------------------------+------------------------------------+ | lux | :math:`lx` | (metre, -2), (candela, 1) | :math:`{lm}/{m^2}` | +---------------+-------------------+----------------------------------+------------------------------------+ @@ -114,16 +114,16 @@ Table: Built-in units +---------------+-------------------+----------------------------------+------------------------------------+ | tesla | :math:`T` | (kilogram, 1), (second, -2), | | :math:`{V.s}/{m^2}` | | | | (ampere, -1) | | :math:`{Wb}/{m^2}` | -| | | | | :math:`N/{A.m}` | +| | | | | :math:`N/{A \cdot m}` | +---------------+-------------------+----------------------------------+------------------------------------+ | volt | :math:`V` | (metre, 2), (kilogram, 1), | | :math:`W/A` | | | | (second , -3), (ampere, -1) | | :math:`J/C` | +---------------+-------------------+----------------------------------+------------------------------------+ | watt | :math:`W` | (metre, 2), (kilogram, 1), | | :math:`J/s` | -| | | (second, -3) | | :math:`V.A` | +| | | (second, -3) | | :math:`V \cdot A` | +---------------+-------------------+----------------------------------+------------------------------------+ | weber | :math:`Wb` | (metre, 2), (kilogram, 1), | | :math:`J/A` | -| | | (second, -2), (ampere, -1) | | :math:`T.m^2` | +| | | (second, -2), (ampere, -1) | | :math:`T \cdot m^2` | +---------------+-------------------+----------------------------------+------------------------------------+ .. marker_units_reference_end From 86f896ce6d2290f36840abefc7d755871f52aba4 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 24 Mar 2020 15:44:52 +1300 Subject: [PATCH 110/604] Update sectionC_interpretation.inc --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index c2b98cf0..74d0f31d 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -57,7 +57,7 @@ Table: Built-in units | coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s \cdot A` | | | | | | :math:`F \cdot V` | +---------------+-------------------+----------------------------------+------------------------------------+ -| dimensionless | - | \- | | +| dimensionless | \- | \- | | +---------------+-------------------+----------------------------------+------------------------------------+ | farad | :math:`F` | (metre, -2), (kilogram, -1), | | :math:`C/V` | | | | (second, 4), (ampere, 2) | | :math:`s/{\Omega}` | From 0f5b31951b76977ad63c4d032dd7a70355808d0b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 24 Mar 2020 17:20:38 +1300 Subject: [PATCH 111/604] Updating initial_values informative page --- ...rmC06_interpretation_of_initial_values.rst | 116 +++++++++++++++++- reference/sectionC_interpretation.inc | 2 +- 2 files changed, 116 insertions(+), 2 deletions(-) diff --git a/reference/informative/informC06_interpretation_of_initial_values.rst b/reference/informative/informC06_interpretation_of_initial_values.rst index 6536d131..68a0ea67 100644 --- a/reference/informative/informC06_interpretation_of_initial_values.rst +++ b/reference/informative/informC06_interpretation_of_initial_values.rst @@ -8,4 +8,118 @@ .. container:: infospec - **TODO** \ No newline at end of file + Best practice suggests that the :code:`initial_value` attribute is used to set the initial values only, rather than to simply set the value of a :code:`variable`. + Initialising a variable is different from setting the value of a variable; the former is true only at the *beginning* of a simulation, whereas the latter is true *throughout* the simulation. + The option to use a variable reference for initialisation is provided in CellML 2.0 to enable easier migration from CellML 1.1 models, and may not be supported in future releases. + Consider the model below which describes the countdown in a game of hide and seek. + The :code:`counter` variable is reduced from an initial value + + .. code-block:: xml + + + + + + + + + counter + + countdown_start + time + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is valid CellML and will work as expected, but it uses a constant (the :code:`initial_value` on the :code:`countdown_start` variable) embedded within the deepest level of the encapsulation, which makes it more difficult to restart the game from different countdown points. + A better way to organise the model is shown below, annotated with the differences as appropriate. + + .. code-block:: xml + + + + + + + + + + + counter + + countdown_start + time + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Moving the initialisation out of the encapsulation hierarchy and into a top-level component allows us to more easily adjust the parameters of the game, as well as making its use more modular so that it can be shared with others. + + + + + \ No newline at end of file diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 2b9009c1..be38f95c 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -263,7 +263,7 @@ In this case, the variable reference SHALL be treated as if it was just the vari Interpretation of initial values -------------------------------- -#. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a real number string, or a variable reference (see 19.5). +#. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a real number string, or a variable reference (see :ref:`Variable reference`). #. The conditions when initial values hold are (by design) not defined in a :ref:`CellML model` document. From 8a8946972ae98370f898e11b390eed79bc451e32 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 24 Mar 2020 17:23:53 +1300 Subject: [PATCH 112/604] Update informC06_interpretation_of_initial_values.rst --- .../informative/informC06_interpretation_of_initial_values.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/reference/informative/informC06_interpretation_of_initial_values.rst b/reference/informative/informC06_interpretation_of_initial_values.rst index 68a0ea67..2a109630 100644 --- a/reference/informative/informC06_interpretation_of_initial_values.rst +++ b/reference/informative/informC06_interpretation_of_initial_values.rst @@ -11,8 +11,7 @@ Best practice suggests that the :code:`initial_value` attribute is used to set the initial values only, rather than to simply set the value of a :code:`variable`. Initialising a variable is different from setting the value of a variable; the former is true only at the *beginning* of a simulation, whereas the latter is true *throughout* the simulation. The option to use a variable reference for initialisation is provided in CellML 2.0 to enable easier migration from CellML 1.1 models, and may not be supported in future releases. - Consider the model below which describes the countdown in a game of hide and seek. - The :code:`counter` variable is reduced from an initial value + Consider the model below which describes the countdown in a game of hide and seek. **TODO** put in proper time equation? .. code-block:: xml From 813758cbd8716937afe5fa57984be733058362b8 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 08:34:28 +1300 Subject: [PATCH 113/604] Updated contact address, reordered --- reference/sectionA_definitions.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index 7f18d77b..309ffcd5 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -4,8 +4,8 @@ **Authors:** -Michael T. Cooling\* Michael Clerx +Michael T. Cooling Jonathan Cooper Alan Garny Keri Moyle @@ -27,7 +27,7 @@ Randall Britten, Poul Nielsen and David P. Nickerson -\* corresponding author: mtcooling.research@gmail.com **TODO what should this be?** +**Contact:** help@physiomeproject.org **Preamble** From fe25f51832398c74d43583d2f95394b8d6374b51 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 08:46:59 +1300 Subject: [PATCH 114/604] Symbol for multiplier --- reference/sectionC_interpretation.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 74d0f31d..aac973f7 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -62,7 +62,7 @@ Table: Built-in units | farad | :math:`F` | (metre, -2), (kilogram, -1), | | :math:`C/V` | | | | (second, 4), (ampere, 2) | | :math:`s/{\Omega}` | +---------------+-------------------+----------------------------------+------------------------------------+ -| gram | :math:`g` | 0.001 * (kilogram, 1) | | +| gram | :math:`g` | :math:`0.001\cdot` (kilogram, 1) | | +---------------+-------------------+----------------------------------+------------------------------------+ | gray | :math:`Gy` | (metre, 2), (second, -2) | :math:`J/{kg}` | +---------------+-------------------+----------------------------------+------------------------------------+ @@ -82,7 +82,7 @@ Table: Built-in units +---------------+-------------------+----------------------------------+------------------------------------+ | kilogram | :math:`kg` | \- | | +---------------+-------------------+----------------------------------+------------------------------------+ -| litre | :math:`l` | 0.001 * (metre, 3) | | +| litre | :math:`l` | :math:`0.001 \cdot`(metre, 3) | | +---------------+-------------------+----------------------------------+------------------------------------+ | lumen | :math:`lm` | (candela, 1) | :math:`cd \cdot sr` | +---------------+-------------------+----------------------------------+------------------------------------+ From 88acf6d64295d740a4e382177937c5d5d81da2b5 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 08:53:06 +1300 Subject: [PATCH 115/604] Update sectionC_interpretation.inc --- reference/sectionC_interpretation.inc | 162 +++++++++++++------------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index aac973f7..4f4ce32d 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -44,87 +44,87 @@ A "units reference" refers to the :code:`units_ref` attribute in :code:`import u Table: Built-in units ~~~~~~~~~~~~~~~~~~~~~ -+---------------+-------------------+----------------------------------+------------------------------------+ -| **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | -| | | | multiplier*(base, exponent) | | -+---------------+-------------------+----------------------------------+------------------------------------+ -| ampere | :math:`A` | \- | | -+---------------+-------------------+----------------------------------+------------------------------------+ -| becquerel | :math:`Bq` | (second, -1) | :math:`1/s` | -+---------------+-------------------+----------------------------------+------------------------------------+ -| candela | :math:`cd` | \- | | -+---------------+-------------------+----------------------------------+------------------------------------+ -| coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s \cdot A` | -| | | | | :math:`F \cdot V` | -+---------------+-------------------+----------------------------------+------------------------------------+ -| dimensionless | \- | \- | | -+---------------+-------------------+----------------------------------+------------------------------------+ -| farad | :math:`F` | (metre, -2), (kilogram, -1), | | :math:`C/V` | -| | | (second, 4), (ampere, 2) | | :math:`s/{\Omega}` | -+---------------+-------------------+----------------------------------+------------------------------------+ -| gram | :math:`g` | :math:`0.001\cdot` (kilogram, 1) | | -+---------------+-------------------+----------------------------------+------------------------------------+ -| gray | :math:`Gy` | (metre, 2), (second, -2) | :math:`J/{kg}` | -+---------------+-------------------+----------------------------------+------------------------------------+ -| henry | :math:`H` | (metre, 2), (kilogram, 1), | | :math:`{V.s}/A` | -| | | (second, -2), (ampere, -2) | | :math:`\Omega \cdot s` | -| | | | | :math:`Wb/A` | -+---------------+-------------------+----------------------------------+------------------------------------+ -| hertz | :math:`Hz` | (second, -1) | | -+---------------+-------------------+----------------------------------+------------------------------------+ -| joule | :math:`J` | (metre, 2), (kilogram, 1), | | :math:`N \cdot m` | -| | | (second, -2) | | :math:`C \cdot V` | -| | | | | :math:`Wb \cdot s` | -+---------------+-------------------+----------------------------------+------------------------------------+ -| katal | :math:`kat` | (second, -1), (mole, 1) | | -+---------------+-------------------+----------------------------------+------------------------------------+ -| kelvin | :math:`K` | \- | | -+---------------+-------------------+----------------------------------+------------------------------------+ -| kilogram | :math:`kg` | \- | | -+---------------+-------------------+----------------------------------+------------------------------------+ -| litre | :math:`l` | :math:`0.001 \cdot`(metre, 3) | | -+---------------+-------------------+----------------------------------+------------------------------------+ -| lumen | :math:`lm` | (candela, 1) | :math:`cd \cdot sr` | -+---------------+-------------------+----------------------------------+------------------------------------+ -| lux | :math:`lx` | (metre, -2), (candela, 1) | :math:`{lm}/{m^2}` | -+---------------+-------------------+----------------------------------+------------------------------------+ -| metre | :math:`m` | \- | | -+---------------+-------------------+----------------------------------+------------------------------------+ -| mole | :math:`mol` | \- | | -+---------------+-------------------+----------------------------------+------------------------------------+ -| newton | :math:`N` | (metre, 1), (kilogram, 1), | | -| | | (second, -2) | | -+---------------+-------------------+----------------------------------+------------------------------------+ -| ohm | :math:`\Omega` | (metre, 2), (kilogram, 1), | | :math:`1/S` | -| | | (second, -3), (ampere, -2) | | :math:`V/A` | -+---------------+-------------------+----------------------------------+------------------------------------+ -| pascal | :math:`Pa` | (metre, -1), (kilogram, 1), | :math:`N/m^2` | -| | | (second, -2) | | -+---------------+-------------------+----------------------------------+------------------------------------+ -| radian | :math:`rad` | (dimensionless, 1) | :math:`m/m` | -+---------------+-------------------+----------------------------------+------------------------------------+ -| second | :math:`s` | \- | | -+---------------+-------------------+----------------------------------+------------------------------------+ -| siemens | :math:`S` | (metre, -2), (kilogram -1), | | :math:`s/{\Omega}` | -| | | (second, 3), (ampere, 2) | | :math:`A/V` | -+---------------+-------------------+----------------------------------+------------------------------------+ -| sievert | :math:`Sv` | (metre, 2), (second, -2) | :math:`J/kg` | -+---------------+-------------------+----------------------------------+------------------------------------+ -| steradian | :math:`sr` | (dimensionless, 1) | :math:`m^2/m^2` | -+---------------+-------------------+----------------------------------+------------------------------------+ -| tesla | :math:`T` | (kilogram, 1), (second, -2), | | :math:`{V.s}/{m^2}` | -| | | (ampere, -1) | | :math:`{Wb}/{m^2}` | -| | | | | :math:`N/{A \cdot m}` | -+---------------+-------------------+----------------------------------+------------------------------------+ -| volt | :math:`V` | (metre, 2), (kilogram, 1), | | :math:`W/A` | -| | | (second , -3), (ampere, -1) | | :math:`J/C` | -+---------------+-------------------+----------------------------------+------------------------------------+ -| watt | :math:`W` | (metre, 2), (kilogram, 1), | | :math:`J/s` | -| | | (second, -3) | | :math:`V \cdot A` | -+---------------+-------------------+----------------------------------+------------------------------------+ -| weber | :math:`Wb` | (metre, 2), (kilogram, 1), | | :math:`J/A` | -| | | (second, -2), (ampere, -1) | | :math:`T \cdot m^2` | -+---------------+-------------------+----------------------------------+------------------------------------+ ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | +| | | | multiplier :math:`\cdot`(base, exponent)| | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| ampere | :math:`A` | \- | | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| becquerel | :math:`Bq` | (second, -1) | :math:`1/s` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| candela | :math:`cd` | \- | | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s \cdot A` | +| | | | | :math:`F \cdot V` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| dimensionless | \- | \- | | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| farad | :math:`F` | (metre, -2), (kilogram, -1), | | :math:`C/V` | +| | | (second, 4), (ampere, 2) | | :math:`s/{\Omega}` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| gram | :math:`g` | :math:`0.001\cdot` (kilogram, 1) | | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| gray | :math:`Gy` | (metre, 2), (second, -2) | :math:`J/{kg}` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| henry | :math:`H` | (metre, 2), (kilogram, 1), | | :math:`{V.s}/A` | +| | | (second, -2), (ampere, -2) | | :math:`\Omega \cdot s` | +| | | | | :math:`Wb/A` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| hertz | :math:`Hz` | (second, -1) | | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| joule | :math:`J` | (metre, 2), (kilogram, 1), | | :math:`N \cdot m` | +| | | (second, -2) | | :math:`C \cdot V` | +| | | | | :math:`Wb \cdot s` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| katal | :math:`kat` | (second, -1), (mole, 1) | | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| kelvin | :math:`K` | \- | | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| kilogram | :math:`kg` | \- | | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| litre | :math:`l` | :math:`0.001 \cdot` (metre, 3) | | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| lumen | :math:`lm` | (candela, 1) | :math:`cd \cdot sr` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| lux | :math:`lx` | (metre, -2), (candela, 1) | :math:`{lm}/{m^2}` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| metre | :math:`m` | \- | | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| mole | :math:`mol` | \- | | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| newton | :math:`N` | (metre, 1), (kilogram, 1), | | +| | | (second, -2) | | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| ohm | :math:`\Omega` | (metre, 2), (kilogram, 1), | | :math:`1/S` | +| | | (second, -3), (ampere, -2) | | :math:`V/A` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| pascal | :math:`Pa` | (metre, -1), (kilogram, 1), | :math:`N/m^2` | +| | | (second, -2) | | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| radian | :math:`rad` | (dimensionless, 1) | :math:`m/m` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| second | :math:`s` | \- | | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| siemens | :math:`S` | (metre, -2), (kilogram -1), | | :math:`s/{\Omega}` | +| | | (second, 3), (ampere, 2) | | :math:`A/V` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| sievert | :math:`Sv` | (metre, 2), (second, -2) | :math:`J/kg` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| steradian | :math:`sr` | (dimensionless, 1) | :math:`m^2/m^2` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| tesla | :math:`T` | (kilogram, 1), (second, -2), | | :math:`{V.s}/{m^2}` | +| | | (ampere, -1) | | :math:`{Wb}/{m^2}` | +| | | | | :math:`N/{A \cdot m}` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| volt | :math:`V` | (metre, 2), (kilogram, 1), | | :math:`W/A` | +| | | (second , -3), (ampere, -1) | | :math:`J/C` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| watt | :math:`W` | (metre, 2), (kilogram, 1), | | :math:`J/s` | +| | | (second, -3) | | :math:`V \cdot A` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ +| weber | :math:`Wb` | (metre, 2), (kilogram, 1), | | :math:`J/A` | +| | | (second, -2), (ampere, -1) | | :math:`T \cdot m^2` | ++---------------+-------------------+-------------------------------------------+------------------------------------+ .. marker_units_reference_end .. marker_interpretation_of_units_start From 748d4a40bbf34893657b8cebd9bd46800bb26c87 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 09:20:45 +1300 Subject: [PATCH 116/604] Update sectionC_interpretation.inc --- reference/sectionC_interpretation.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 4f4ce32d..cb632cf2 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -46,7 +46,7 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+------------------------------------+ | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | -| | | | multiplier :math:`\cdot`(base, exponent)| | +| | | | multiplier⋅(base, exponent) | | +---------------+-------------------+-------------------------------------------+------------------------------------+ | ampere | :math:`A` | \- | | +---------------+-------------------+-------------------------------------------+------------------------------------+ @@ -62,7 +62,7 @@ Table: Built-in units | farad | :math:`F` | (metre, -2), (kilogram, -1), | | :math:`C/V` | | | | (second, 4), (ampere, 2) | | :math:`s/{\Omega}` | +---------------+-------------------+-------------------------------------------+------------------------------------+ -| gram | :math:`g` | :math:`0.001\cdot` (kilogram, 1) | | +| gram | :math:`g` | 0.001⋅(kilogram, 1) | | +---------------+-------------------+-------------------------------------------+------------------------------------+ | gray | :math:`Gy` | (metre, 2), (second, -2) | :math:`J/{kg}` | +---------------+-------------------+-------------------------------------------+------------------------------------+ @@ -82,7 +82,7 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+------------------------------------+ | kilogram | :math:`kg` | \- | | +---------------+-------------------+-------------------------------------------+------------------------------------+ -| litre | :math:`l` | :math:`0.001 \cdot` (metre, 3) | | +| litre | :math:`l` | 0.001⋅(metre, 3) | | +---------------+-------------------+-------------------------------------------+------------------------------------+ | lumen | :math:`lm` | (candela, 1) | :math:`cd \cdot sr` | +---------------+-------------------+-------------------------------------------+------------------------------------+ From 333b6f738c57b0f5f7be28fc6aee39eb2cd1629c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 09:29:33 +1300 Subject: [PATCH 117/604] Update sectionC_interpretation.inc --- reference/sectionC_interpretation.inc | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index cb632cf2..7e0bec25 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -54,8 +54,8 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+------------------------------------+ | candela | :math:`cd` | \- | | +---------------+-------------------+-------------------------------------------+------------------------------------+ -| coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s \cdot A` | -| | | | | :math:`F \cdot V` | +| coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s⋅A` | +| | | | | :math:`F⋅V` | +---------------+-------------------+-------------------------------------------+------------------------------------+ | dimensionless | \- | \- | | +---------------+-------------------+-------------------------------------------+------------------------------------+ @@ -67,14 +67,14 @@ Table: Built-in units | gray | :math:`Gy` | (metre, 2), (second, -2) | :math:`J/{kg}` | +---------------+-------------------+-------------------------------------------+------------------------------------+ | henry | :math:`H` | (metre, 2), (kilogram, 1), | | :math:`{V.s}/A` | -| | | (second, -2), (ampere, -2) | | :math:`\Omega \cdot s` | +| | | (second, -2), (ampere, -2) | | :math:`\Omega⋅s` | | | | | | :math:`Wb/A` | +---------------+-------------------+-------------------------------------------+------------------------------------+ | hertz | :math:`Hz` | (second, -1) | | +---------------+-------------------+-------------------------------------------+------------------------------------+ -| joule | :math:`J` | (metre, 2), (kilogram, 1), | | :math:`N \cdot m` | -| | | (second, -2) | | :math:`C \cdot V` | -| | | | | :math:`Wb \cdot s` | +| joule | :math:`J` | (metre, 2), (kilogram, 1), | | :math:`N⋅m` | +| | | (second, -2) | | :math:`C⋅V` | +| | | | | :math:`Wb⋅s` | +---------------+-------------------+-------------------------------------------+------------------------------------+ | katal | :math:`kat` | (second, -1), (mole, 1) | | +---------------+-------------------+-------------------------------------------+------------------------------------+ @@ -84,7 +84,7 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+------------------------------------+ | litre | :math:`l` | 0.001⋅(metre, 3) | | +---------------+-------------------+-------------------------------------------+------------------------------------+ -| lumen | :math:`lm` | (candela, 1) | :math:`cd \cdot sr` | +| lumen | :math:`lm` | (candela, 1) | :math:`cd⋅sr` | +---------------+-------------------+-------------------------------------------+------------------------------------+ | lux | :math:`lx` | (metre, -2), (candela, 1) | :math:`{lm}/{m^2}` | +---------------+-------------------+-------------------------------------------+------------------------------------+ @@ -114,16 +114,16 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+------------------------------------+ | tesla | :math:`T` | (kilogram, 1), (second, -2), | | :math:`{V.s}/{m^2}` | | | | (ampere, -1) | | :math:`{Wb}/{m^2}` | -| | | | | :math:`N/{A \cdot m}` | +| | | | | :math:`N/{A⋅m}` | +---------------+-------------------+-------------------------------------------+------------------------------------+ | volt | :math:`V` | (metre, 2), (kilogram, 1), | | :math:`W/A` | | | | (second , -3), (ampere, -1) | | :math:`J/C` | +---------------+-------------------+-------------------------------------------+------------------------------------+ | watt | :math:`W` | (metre, 2), (kilogram, 1), | | :math:`J/s` | -| | | (second, -3) | | :math:`V \cdot A` | +| | | (second, -3) | | :math:`V⋅A` | +---------------+-------------------+-------------------------------------------+------------------------------------+ | weber | :math:`Wb` | (metre, 2), (kilogram, 1), | | :math:`J/A` | -| | | (second, -2), (ampere, -1) | | :math:`T \cdot m^2` | +| | | (second, -2), (ampere, -1) | | :math:`T⋅m^2` | +---------------+-------------------+-------------------------------------------+------------------------------------+ .. marker_units_reference_end From fca6b726411afd063bc33fc43619c4a033ef5085 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 10:18:46 +1300 Subject: [PATCH 118/604] Updated wording in B.12 math element --- reference/sectionB_elements.inc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 1b8f02ed..ef7c3279 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -399,21 +399,21 @@ Specific information items .. container:: issue-math-ci-variable-reference - 3. Every variable name given using the MathML :code:`ci` element MUST be a :ref:`variable reference` to a :code:`variable` within the :code:`component` element that the :code:`math` element is contained. + 3. Every variable name given using the MathML :code:`ci` element MUST be a :ref:`variable reference` to a :code:`variable` within the :code:`component` element in which the :code:`math` element is contained. .. marker_math_3 .. container:: issue-math-cn-units-attribute - 4. Any MathML :code:`cn` elements MUST each have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. The value of this attribute MUST be a valid units reference. + 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. The value of this attribute MUST be a valid units reference to a :code:`units` item within the infoset or a :ref:`built-in units` item. .. container:: issue-math-cn-type - 5. The :code:`cn` element MUST be one of the following :mathml2types:`types`\: real or e-notation. + 5. A :code:`cn` element MUST be one of the following :mathml2types:`types`\: real or e-notation. .. container:: issue-math-cn-base10 - 6. The :code:`cn` element MUST be of base 10. + 6. A :code:`cn` element MUST be of base 10. .. marker_math_4 @@ -441,7 +441,7 @@ Table: Supported MathML Elements +----------------------------------+----------------------------------+ | Calculus Elements | | +----------------------------------+----------------------------------+ -| Qualifier Elements | , , * | +| Qualifier Elements | , , \* | +----------------------------------+----------------------------------+ | Trigonometric Operators | , , , , | | | , , | From 65ffaae5d9f95d3d5bdaa814eb480c7cd5e2e0db Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 10:55:43 +1300 Subject: [PATCH 119/604] Update example, add info about cycles --- ...rmC06_interpretation_of_initial_values.rst | 47 ++++++++++++++----- 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/reference/informative/informC06_interpretation_of_initial_values.rst b/reference/informative/informC06_interpretation_of_initial_values.rst index 2a109630..7175f457 100644 --- a/reference/informative/informC06_interpretation_of_initial_values.rst +++ b/reference/informative/informC06_interpretation_of_initial_values.rst @@ -8,13 +8,41 @@ .. container:: infospec - Best practice suggests that the :code:`initial_value` attribute is used to set the initial values only, rather than to simply set the value of a :code:`variable`. - Initialising a variable is different from setting the value of a variable; the former is true only at the *beginning* of a simulation, whereas the latter is true *throughout* the simulation. - The option to use a variable reference for initialisation is provided in CellML 2.0 to enable easier migration from CellML 1.1 models, and may not be supported in future releases. - Consider the model below which describes the countdown in a game of hide and seek. **TODO** put in proper time equation? + Cycles within initial values + ---------------------------- + As with other places, it's possible to set initial conditions which are valid in syntax but lacking in sense. + The examples below are technically valid CellML, but they will not lead to meaningful models. + + .. code-block:: + + + + + + + + + + + Best practice for constants, variables, and initial conditions + -------------------------------------------------------------- + + - A :code:`variable` whose value needs to be set for only the *beginning* of a simulation initialised using the :code:`initial_value` attribute is considered to be true at the *beginning* of a simulation. + + - This is most frequently used for state variables (those whose value is found by solving a differential equation). + - It's possible - but not recommended - to use a variable reference with the :code:`initial_value` attribute. + This option remains in CellML 2.0 only to provide ease of migration from CellML 1.1 models, and may be discontinued in future versions. + The recommended best practice is to make use of connections between variables to move all "hardcoding" of parameters (including initial values and constants) into a top-level component for ease of access. + This is demonstrated in the example below. + + - A :code:`variable` whose value is *constant* throughout the simulation is best set within the :code:`math` block, rather than via the :code:`initial_value` attribute. This is so that its value will be held to be true *throughout* the simulation, rather than only the beginning. + + - A :code:`variable` which is not a state variable, and whose value changes during the simulation does not require initialisation; simply include it in a :code:`math` block so it can be evaluated. + .. code-block:: xml + @@ -67,9 +95,9 @@ - + - + @@ -87,7 +115,7 @@ - + @@ -117,8 +145,3 @@ Moving the initialisation out of the encapsulation hierarchy and into a top-level component allows us to more easily adjust the parameters of the game, as well as making its use more modular so that it can be shared with others. - - - - - \ No newline at end of file From 0ff55eda14046dc3ea2a1af220faa647eb6f4a0b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 11:00:41 +1300 Subject: [PATCH 120/604] Headings ... --- ...informC06_interpretation_of_initial_values.rst | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/reference/informative/informC06_interpretation_of_initial_values.rst b/reference/informative/informC06_interpretation_of_initial_values.rst index 7175f457..d65c99af 100644 --- a/reference/informative/informC06_interpretation_of_initial_values.rst +++ b/reference/informative/informC06_interpretation_of_initial_values.rst @@ -8,12 +8,14 @@ .. container:: infospec - Cycles within initial values - ---------------------------- + .. container:: heading3 + + Cycles within initial values + As with other places, it's possible to set initial conditions which are valid in syntax but lacking in sense. The examples below are technically valid CellML, but they will not lead to meaningful models. - .. code-block:: + .. code-block:: xml @@ -24,8 +26,11 @@ - Best practice for constants, variables, and initial conditions - -------------------------------------------------------------- + + .. container:: heading3 + + Best practice for constants, variables, and initial conditions + - A :code:`variable` whose value needs to be set for only the *beginning* of a simulation initialised using the :code:`initial_value` attribute is considered to be true at the *beginning* of a simulation. From a173c21d3a3fff8f2d464d53c99261a20b420c8c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 11:03:13 +1300 Subject: [PATCH 121/604] Update informC06_interpretation_of_initial_values.rst --- ...rmC06_interpretation_of_initial_values.rst | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/reference/informative/informC06_interpretation_of_initial_values.rst b/reference/informative/informC06_interpretation_of_initial_values.rst index d65c99af..8693a651 100644 --- a/reference/informative/informC06_interpretation_of_initial_values.rst +++ b/reference/informative/informC06_interpretation_of_initial_values.rst @@ -32,17 +32,17 @@ Best practice for constants, variables, and initial conditions - - A :code:`variable` whose value needs to be set for only the *beginning* of a simulation initialised using the :code:`initial_value` attribute is considered to be true at the *beginning* of a simulation. - - - This is most frequently used for state variables (those whose value is found by solving a differential equation). - - It's possible - but not recommended - to use a variable reference with the :code:`initial_value` attribute. - This option remains in CellML 2.0 only to provide ease of migration from CellML 1.1 models, and may be discontinued in future versions. - The recommended best practice is to make use of connections between variables to move all "hardcoding" of parameters (including initial values and constants) into a top-level component for ease of access. - This is demonstrated in the example below. - - - A :code:`variable` whose value is *constant* throughout the simulation is best set within the :code:`math` block, rather than via the :code:`initial_value` attribute. This is so that its value will be held to be true *throughout* the simulation, rather than only the beginning. - - - A :code:`variable` which is not a state variable, and whose value changes during the simulation does not require initialisation; simply include it in a :code:`math` block so it can be evaluated. + - A :code:`variable` whose value needs to be set for only the *beginning* of a simulation initialised using the :code:`initial_value` attribute is considered to be true at the *beginning* of a simulation. + + - This is most frequently used for state variables (those whose value is found by solving a differential equation). + - It's possible - but not recommended - to use a variable reference with the :code:`initial_value` attribute. + This option remains in CellML 2.0 only to provide ease of migration from CellML 1.1 models, and may be discontinued in future versions. + The recommended best practice is to make use of connections between variables to move all "hardcoding" of parameters (including initial values and constants) into a top-level component for ease of access. + This is demonstrated in the example below. + + - A :code:`variable` whose value is *constant* throughout the simulation is best set within the :code:`math` block, rather than via the :code:`initial_value` attribute. This is so that its value will be held to be true *throughout* the simulation, rather than only the beginning. + + - A :code:`variable` which is not a state variable, and whose value changes during the simulation does not require initialisation; simply include it in a :code:`math` block so it can be evaluated. .. code-block:: xml From ea4fa4255198e2ca10b455f39099892f42ec569d Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 11:26:31 +1300 Subject: [PATCH 122/604] Update informC06_interpretation_of_initial_values.rst --- .../informC06_interpretation_of_initial_values.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/reference/informative/informC06_interpretation_of_initial_values.rst b/reference/informative/informC06_interpretation_of_initial_values.rst index 8693a651..29cb67f7 100644 --- a/reference/informative/informC06_interpretation_of_initial_values.rst +++ b/reference/informative/informC06_interpretation_of_initial_values.rst @@ -32,7 +32,7 @@ Best practice for constants, variables, and initial conditions - - A :code:`variable` whose value needs to be set for only the *beginning* of a simulation initialised using the :code:`initial_value` attribute is considered to be true at the *beginning* of a simulation. + - A :code:`variable` whose value needs to be set for only the *beginning* of a simulation is initialised using the :code:`initial_value` attribute. - This is most frequently used for state variables (those whose value is found by solving a differential equation). - It's possible - but not recommended - to use a variable reference with the :code:`initial_value` attribute. @@ -45,6 +45,9 @@ - A :code:`variable` which is not a state variable, and whose value changes during the simulation does not require initialisation; simply include it in a :code:`math` block so it can be evaluated. + The following example shows a model for counting games like hide and seek, where the first section shows an older format and the second section shows the best practice for CellML 2.0 models. + + .. code-block:: xml From 5d5083a3e6acce7440b6e5409c2522ab2a5733ea Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 11:51:51 +1300 Subject: [PATCH 123/604] Update sectionC_interpretation.inc --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 2b9009c1..e1ab2fd1 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -324,7 +324,7 @@ Interpretation of encapsulation #. The hidden set for a component *A* SHALL be the set of all components *B* where component *B* is not in the encapsulated set for component *A*, and component *B* is not the encapsulation parent of component *A*, and component *B* is not in the sibling set for component *A*. -#. There MUST NOT be a :code:`connection` element such that the component referenced by the :code:`component_1` attribute is in the hidden set of the component referenced by the :code:`component_2` attribute, nor vice versa. +#. For the avoidance of doubt, there MUST NOT be a :code:`connection` element such that the component referenced by the :code:`component_1` attribute is in the hidden set of the component referenced by the :code:`component_2` attribute, nor vice versa. .. marker_interpretation_of_encapsulation_end .. marker_interpretation_of_map_variables_start From 9c0456fd523f9cca7f15a81e0c9216dddd9a69c6 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 13:12:25 +1300 Subject: [PATCH 124/604] Changed "zero or more" to "any or none" --- reference/sectionA_definitions.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index 309ffcd5..9a1472b2 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -170,13 +170,13 @@ Specific information items Semantically equivalent CellML infosets --------------------------------------- -#. Two :ref:`CellML infosets` SHALL be deemed semantically equivalent if one can be transformed into the other by making zero or more of the following changes: +#. Two :ref:`CellML infosets` SHALL be deemed semantically equivalent if one can be transformed into the other by making any or none of the following changes: #. Adding, removing, and/or modifying comment information items. #. Changing (inserting, removing, and/or modifying) one or more namespace information items, and/or modifying the prefix of one or more information items, without changing the namespace that any information item is in. - #. The following paragraph applies only to character information items which are the direct child of an element information item in a :ref:`CellML namespace`, or in the :ref:`MathML namespace`. + #. The following paragraph applies only to character information items which are the direct child of an element information item in a :ref:`CellML namespace`, or in the :ref:`MathML namespace`: Inserting or removing character information items that consist entirely of :ref:`whitespace characters`, changing the number of whitespace characters in such an information item, From 95bdab38610b6788df8faf3c40b4568958b31129 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 13:33:46 +1300 Subject: [PATCH 125/604] Removed redundant "Chapter" from headings Fixed image link in section C, fixed indenting in A.3.5.4 --- formal.rst | 4 ---- index.rst | 4 ---- reference/formal_sectionA.rst | 2 +- reference/index_sectionA.rst | 2 +- reference/index_sectionB.rst | 4 +--- reference/index_sectionC.rst | 4 +--- reference/sectionA_definitions.inc | 2 +- reference/sectionB_elements.inc | 2 +- reference/sectionC_interpretation.inc | 4 ++-- 9 files changed, 8 insertions(+), 20 deletions(-) diff --git a/formal.rst b/formal.rst index cc62a0b3..0a4d3b13 100644 --- a/formal.rst +++ b/formal.rst @@ -4,10 +4,6 @@ Normative specification for CellML 2.0 ========================================== -The first section here includes the normative specification documentation for the CellML format. -These represent the official rules about what must and must not be included in order for a model to be syntactically valid CellML. - - .. toctree:: :maxdepth: 2 :numbered: diff --git a/index.rst b/index.rst index 7d087944..3765b486 100644 --- a/index.rst +++ b/index.rst @@ -4,10 +4,6 @@ Normative specification for CellML 2.0 ========================================== -The first section here includes the normative specification documentation for the CellML format. -These represent the official rules about what must and must not be included in order for a model to be syntactically valid CellML. - - .. toctree:: :maxdepth: 2 :numbered: diff --git a/reference/formal_sectionA.rst b/reference/formal_sectionA.rst index b96cf4c8..1c7441fe 100644 --- a/reference/formal_sectionA.rst +++ b/reference/formal_sectionA.rst @@ -5,7 +5,7 @@ Definitions and preamble =================================== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 :glob: formal_only/specA* diff --git a/reference/index_sectionA.rst b/reference/index_sectionA.rst index 2171e4bc..9925f89e 100644 --- a/reference/index_sectionA.rst +++ b/reference/index_sectionA.rst @@ -1,7 +1,7 @@ .. _sectionA_index: =================================== -Chapter 1: Definitions and preamble +Definitions and preamble =================================== .. toctree:: diff --git a/reference/index_sectionB.rst b/reference/index_sectionB.rst index db7b9b61..76492ca4 100644 --- a/reference/index_sectionB.rst +++ b/reference/index_sectionB.rst @@ -1,11 +1,9 @@ .. _sectionB_index: ==================================== -Chapter 2: Element information items +Element information items ==================================== -Chapter 2 of the Normative CellML 2.0 Specification outlines the element information items and the rules governing their declaration. - .. toctree:: :maxdepth: 1 :numbered: diff --git a/reference/index_sectionC.rst b/reference/index_sectionC.rst index 901cb1e9..6b72c85c 100644 --- a/reference/index_sectionC.rst +++ b/reference/index_sectionC.rst @@ -1,11 +1,9 @@ .. _sectionC_index: ========================= -Chapter 3: Interpretation +Interpretation ========================= -Chapter 3 of the Normative CellML 2.0 Specification describes the way in which the elements defined in Section B are to be interpreted. - .. toctree:: :maxdepth: 1 :numbered: diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index 309ffcd5..265e0f4f 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -313,7 +313,7 @@ The following data representation formats are defined for use in this specificat .. container:: issue-data-repr-real-exponent 4. An exponent SHALL be represented by an exponent separator character, followed by the :ref:`integer string representation` of the value of the exponent. - Non-negative exponents MAY begin with the Basic Latin plus sign character :unicode:`002B` as the sign indicator. + Non-negative exponents MAY begin with the Basic Latin plus sign character :unicode:`002B` as the sign indicator. The exponent separator character SHALL be either the Basic Latin "E" character :unicode:`0045` or the Basic Latin "e" character :unicode:`0065`. .. container:: issue-data-repr-real-no-exponent diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 1b8f02ed..0e29bcb7 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -3,7 +3,7 @@ .. sectnum:: ==================================== -Section B: Element information items +Element information items ==================================== .. marker_model_start diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 2b9009c1..ba282567 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -3,7 +3,7 @@ .. sectnum:: =========================================== -Section C: Interpretation +Interpretation =========================================== .. marker_interpretation_of_imports_start @@ -150,7 +150,7 @@ Interpretation of units 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element units, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be - .. image:: images/equation_units_expansion.png + .. image:: ./images/equation_units_expansion.png :align: center :width: 50% From 8f0a3d40c8ab00388f6c7fe10f0f7280028f66b1 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 13:43:04 +1300 Subject: [PATCH 126/604] Making headings consistent --- reference/sectionB_elements.inc | 4 ---- reference/sectionC_interpretation.inc | 23 ++++++++++------------- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 0e29bcb7..f0e61991 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -2,10 +2,6 @@ .. sectnum:: -==================================== -Element information items -==================================== - .. marker_model_start .. _model: diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index ba282567..56004f48 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -2,15 +2,12 @@ .. sectnum:: -=========================================== -Interpretation -=========================================== .. marker_interpretation_of_imports_start .. _specC_interpretation_of_imports: Interpretation of imports -------------------------- +========================= #. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and separate instance of the CellML infoset referenced by the :code:`href` attribute (the imported infoset). See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. @@ -21,7 +18,7 @@ Interpretation of imports .. _specC_units_reference: Units reference ---------------- +=============== #. A units reference SHALL be a CellML identifier and SHALL be interpreted dependent on the context of the :ref:`CellML model` in which it occurs, according to the units referencing rules defined later in this section. @@ -126,7 +123,7 @@ Table: Built-in units .. _specC_interpretation_of_units: Interpretation of units ------------------------ +======================= 1. The :code:`units` element SHALL be interpreted as the product of its :code:`unit` element children, according to the following rules: @@ -230,7 +227,7 @@ yocto −24 .. _specC_component_reference: Component reference -------------------- +=================== #. A component reference SHALL be the name of a component, and SHALL be interpreted based on the context within the :ref:`CellML model` in which it occurs. @@ -248,7 +245,7 @@ Component reference .. _specC_variable_reference: Variable reference ------------------- +================== #. When present in an information item which is a descendant of a :code:`component` element, a variable reference SHALL be the name of a variable, and SHALL refer to the :code:`variable` element in that component with a :code:`name` attribute identical to the variable reference. @@ -261,7 +258,7 @@ In this case, the variable reference SHALL be treated as if it was just the vari .. _specC_interpretation_of_initial_values: Interpretation of initial values --------------------------------- +================================ #. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a real number string, or a variable reference (see 19.5). @@ -277,7 +274,7 @@ Interpretation of initial values .. _specC_effect_of_units_on_variables: Effect of units on variables ----------------------------- +============================ #. The value of the :code:`units` attribute on every :code:`variable` element MUST be a valid units reference. The target of this units reference is referred to as the variable units, and the corresponding unit reduction (see :ref:`Interpretation of units`) is referred to as the variable unit reduction. @@ -288,7 +285,7 @@ Effect of units on variables .. _specC_interpretation_of_mathematics: Interpretation of mathematics ------------------------------ +============================= #. The following :code:`component` elements SHALL, for the purposes of this specification, be "pertinent component elements": @@ -308,7 +305,7 @@ Interpretation of mathematics .. _specC_interpretation_of_encapsulation: Interpretation of encapsulation -------------------------------- +=============================== #. For the purposes of this specification, there SHALL be a "conceptual encapsulation digraph" in which there is EXACTLY one node for every component in the :ref:`CellML model`. Therefore the encapsulation digraph will not contain any loops. @@ -391,7 +388,7 @@ Interpretation of map_variables .. _specC_interpretation_of_variable_resets: Interpretation of variable resets ---------------------------------- +================================= #. Each :code:`reset` element describes a change to be applied to the variable referenced by the :code:`variable` attribute when specified conditions are met during the simulation of the model. From f8c3039174e6eca680aeff469638781ad0d711ad Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 13:46:49 +1300 Subject: [PATCH 127/604] Indenting for 3.5.2 --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 56004f48..a3c9abcd 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -250,7 +250,7 @@ Variable reference #. When present in an information item which is a descendant of a :code:`component` element, a variable reference SHALL be the name of a variable, and SHALL refer to the :code:`variable` element in that component with a :code:`name` attribute identical to the variable reference. #. In all other cases, a variable reference SHALL consist of a component reference and a variable name. -In this case, the variable reference SHALL be treated as if it was just the variable name present in the :code:`component` element referenced by the component reference. + In this case, the variable reference SHALL be treated as if it was just the variable name present in the :code:`component` element referenced by the component reference. .. marker_variable_reference_end .. marker_interpretation_of_initial_values_start From e581e18fdd3c4ad2c89a41c5c20e411fe0dfa9b2 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 13:49:31 +1300 Subject: [PATCH 128/604] Path to image updated --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index a3c9abcd..6833b207 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -147,7 +147,7 @@ Interpretation of units 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element units, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be - .. image:: ./images/equation_units_expansion.png + .. image:: ../images/equation_units_expansion.png :align: center :width: 50% From ba237a27c39b9612a13b724aac880a26a483d7c2 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 13:52:44 +1300 Subject: [PATCH 129/604] Numbering (test) --- reference/sectionA_definitions.inc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index 265e0f4f..d2bcdaee 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -1,5 +1,7 @@ .. _sectionA: +.. sectnum:: + **CellML 2.0 Specification** **Authors:** @@ -35,9 +37,6 @@ This document is the normative version of the CellML Specification, defining the It is intended primarily for the developers of software tools which directly consume CellML syntax. Users of CellML models should read the informative version of the CellML Specification which is available here: https://doi.org/science/1.1.1.10. - -.. sectnum:: - .. marker_terminology_start .. _specA_terminology: From eaa5b9e2672e43f86539addb9d59ce20bc2a0688 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 13:57:31 +1300 Subject: [PATCH 130/604] REmoved title aspects of table titles --- reference/sectionB_elements.inc | 5 +++-- reference/sectionC_interpretation.inc | 10 ++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index f0e61991..68d9bd27 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -415,8 +415,9 @@ Specific information items .. _table_supported_mathml_elements: -Table: Supported MathML Elements -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. container:: heading3 + + Table: Supported MathML Elements +----------------------------------+----------------------------------+ | **Element Category** | **Element List** | diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 6833b207..4350a2fb 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -36,8 +36,9 @@ Units reference .. _table_built_in_units: -Table: Built-in units -~~~~~~~~~~~~~~~~~~~~~ +.. container:: heading3 + + Table: Built-in units +---------------+-------------------+--------------------------------+ | **Name** | **Multiplier(s)** | **Unit reduction tuple** | @@ -193,8 +194,9 @@ Interpretation of units .. _table_prefix_values: -Table: Prefix values -~~~~~~~~~~~~~~~~~~~~ +.. container:: heading3 + + Table: Prefix values ======== ========= **Name** **Value** From e884ae91a7c631850d5b7da54d8a33b398284125 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 14:02:40 +1300 Subject: [PATCH 131/604] Revert "REmoved title aspects of table titles" This reverts commit eaa5b9e2672e43f86539addb9d59ce20bc2a0688. --- reference/sectionB_elements.inc | 5 ++--- reference/sectionC_interpretation.inc | 10 ++++------ 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 68d9bd27..f0e61991 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -415,9 +415,8 @@ Specific information items .. _table_supported_mathml_elements: -.. container:: heading3 - - Table: Supported MathML Elements +Table: Supported MathML Elements +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------+----------------------------------+ | **Element Category** | **Element List** | diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 4350a2fb..6833b207 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -36,9 +36,8 @@ Units reference .. _table_built_in_units: -.. container:: heading3 - - Table: Built-in units +Table: Built-in units +~~~~~~~~~~~~~~~~~~~~~ +---------------+-------------------+--------------------------------+ | **Name** | **Multiplier(s)** | **Unit reduction tuple** | @@ -194,9 +193,8 @@ Interpretation of units .. _table_prefix_values: -.. container:: heading3 - - Table: Prefix values +Table: Prefix values +~~~~~~~~~~~~~~~~~~~~ ======== ========= **Name** **Value** From 8db33363f9692fffc734571af484beeb801c5d56 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 14:07:17 +1300 Subject: [PATCH 132/604] removed table headings --- reference/sectionB_elements.inc | 3 +-- reference/sectionC_interpretation.inc | 10 ++++------ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index f0e61991..d15465e9 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -415,8 +415,7 @@ Specific information items .. _table_supported_mathml_elements: -Table: Supported MathML Elements -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +**Table: Supported MathML Elements** +----------------------------------+----------------------------------+ | **Element Category** | **Element List** | diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 6833b207..f5a16772 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -10,7 +10,7 @@ Interpretation of imports ========================= #. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and separate instance of the CellML infoset referenced by the :code:`href` attribute (the imported infoset). - See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. + See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. .. marker_interpretation_of_imports_end .. marker_units_reference_start @@ -36,8 +36,7 @@ Units reference .. _table_built_in_units: -Table: Built-in units -~~~~~~~~~~~~~~~~~~~~~ +**Table: Built-in units** +---------------+-------------------+--------------------------------+ | **Name** | **Multiplier(s)** | **Unit reduction tuple** | @@ -156,7 +155,7 @@ Interpretation of units .. marker_interpretation_of_units_1_4 -2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements), and 2) built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units` table) referenced by variables or other units in the model. +2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements), and 2) built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units` table) referenced by variables or other units in the model. .. marker_interpretation_of_units_2 @@ -193,8 +192,7 @@ Interpretation of units .. _table_prefix_values: -Table: Prefix values -~~~~~~~~~~~~~~~~~~~~ +**Table: Prefix values** ======== ========= **Name** **Value** From 178770e60e06028bb22429c1beb0b70a6c802ee3 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 14:09:10 +1300 Subject: [PATCH 133/604] Revert "removed table headings" This reverts commit 8db33363f9692fffc734571af484beeb801c5d56. --- reference/sectionB_elements.inc | 3 ++- reference/sectionC_interpretation.inc | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index d15465e9..f0e61991 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -415,7 +415,8 @@ Specific information items .. _table_supported_mathml_elements: -**Table: Supported MathML Elements** +Table: Supported MathML Elements +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------+----------------------------------+ | **Element Category** | **Element List** | diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index f5a16772..6833b207 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -10,7 +10,7 @@ Interpretation of imports ========================= #. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and separate instance of the CellML infoset referenced by the :code:`href` attribute (the imported infoset). - See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. + See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. .. marker_interpretation_of_imports_end .. marker_units_reference_start @@ -36,7 +36,8 @@ Units reference .. _table_built_in_units: -**Table: Built-in units** +Table: Built-in units +~~~~~~~~~~~~~~~~~~~~~ +---------------+-------------------+--------------------------------+ | **Name** | **Multiplier(s)** | **Unit reduction tuple** | @@ -155,7 +156,7 @@ Interpretation of units .. marker_interpretation_of_units_1_4 -2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements), and 2) built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units` table) referenced by variables or other units in the model. +2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements), and 2) built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units` table) referenced by variables or other units in the model. .. marker_interpretation_of_units_2 @@ -192,7 +193,8 @@ Interpretation of units .. _table_prefix_values: -**Table: Prefix values** +Table: Prefix values +~~~~~~~~~~~~~~~~~~~~ ======== ========= **Name** **Value** From eb89e5ce44720ceb8f85f7c40c53dfcb61dcca35 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 14:28:04 +1300 Subject: [PATCH 134/604] Including preamble --- formal.rst | 3 ++- reference/preamble.rst | 5 ++++ reference/sectionA_definitions.inc | 41 ++++++++++++++++-------------- 3 files changed, 29 insertions(+), 20 deletions(-) create mode 100644 reference/preamble.rst diff --git a/formal.rst b/formal.rst index 0a4d3b13..4923b294 100644 --- a/formal.rst +++ b/formal.rst @@ -5,7 +5,7 @@ Normative specification for CellML 2.0 ========================================== .. toctree:: - :maxdepth: 2 + :maxdepth: 1 :numbered: reference/formal_sectionA.rst @@ -13,3 +13,4 @@ Normative specification for CellML 2.0 reference/formal_sectionC.rst reference/sectionD_references.rst +.. include:: reference/preamble.rst \ No newline at end of file diff --git a/reference/preamble.rst b/reference/preamble.rst new file mode 100644 index 00000000..622c0c0e --- /dev/null +++ b/reference/preamble.rst @@ -0,0 +1,5 @@ + +.. include:: ../sectionA_definitions.inc + :start-after: marker_intro_start + :end-before: marker_intro_end + diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index d2bcdaee..1fe44a04 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -2,41 +2,44 @@ .. sectnum:: -**CellML 2.0 Specification** +.. marker_intro_start **Authors:** -Michael Clerx -Michael T. Cooling -Jonathan Cooper -Alan Garny -Keri Moyle -David P. Nickerson -Hugh Sorby +| Michael Clerx +| Michael T. Cooling +| Jonathan Cooper +| Alan Garny +| Keri Moyle +| David P. Nickerson +| Hugh Sorby **Contributors:** -Jesús C. Fernández -David Brooks -Koray Atalag + +| Jesús C. Fernández +| David Brooks +| Koray Atalag The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification - although the semantics have changed considerably. The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: -Andrew K. Miller (who wrote the text reused here), -Jonathan Cooper, -Justin Marsh, -Alan Garny, -Randall Britten, -Poul Nielsen -and David P. Nickerson + +| Andrew K. Miller (who wrote the text reused here), +| Jonathan Cooper, +| Justin Marsh, +| Alan Garny, +| Randall Britten, +| Poul Nielsen +| and David P. Nickerson **Contact:** help@physiomeproject.org -**Preamble** +**Preamble:** This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. Users of CellML models should read the informative version of the CellML Specification which is available here: https://doi.org/science/1.1.1.10. +.. marker_intro_end .. marker_terminology_start .. _specA_terminology: From 46bb8f56f5557b8406debaeb1546038f56ed75cf Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 14:30:22 +1300 Subject: [PATCH 135/604] Update index.rst --- index.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.rst b/index.rst index 3765b486..4d67eafb 100644 --- a/index.rst +++ b/index.rst @@ -5,7 +5,7 @@ Normative specification for CellML 2.0 ========================================== .. toctree:: - :maxdepth: 2 + :maxdepth: 1 :numbered: reference/index_sectionA.rst @@ -13,3 +13,4 @@ Normative specification for CellML 2.0 reference/index_sectionC.rst reference/sectionD_references.rst +.. include:: reference/preamble.rst \ No newline at end of file From 33abc5446416822615ad06273f11851b7b268918 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 14:32:56 +1300 Subject: [PATCH 136/604] Revert "Update index.rst" This reverts commit 46bb8f56f5557b8406debaeb1546038f56ed75cf. --- index.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/index.rst b/index.rst index 4d67eafb..3765b486 100644 --- a/index.rst +++ b/index.rst @@ -5,7 +5,7 @@ Normative specification for CellML 2.0 ========================================== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 :numbered: reference/index_sectionA.rst @@ -13,4 +13,3 @@ Normative specification for CellML 2.0 reference/index_sectionC.rst reference/sectionD_references.rst -.. include:: reference/preamble.rst \ No newline at end of file From b7fc0a34ed68d5eaed538eafeb479516932db850 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 14:32:59 +1300 Subject: [PATCH 137/604] Revert "Including preamble" This reverts commit eb89e5ce44720ceb8f85f7c40c53dfcb61dcca35. --- formal.rst | 3 +-- reference/preamble.rst | 5 ---- reference/sectionA_definitions.inc | 41 ++++++++++++++---------------- 3 files changed, 20 insertions(+), 29 deletions(-) delete mode 100644 reference/preamble.rst diff --git a/formal.rst b/formal.rst index 4923b294..0a4d3b13 100644 --- a/formal.rst +++ b/formal.rst @@ -5,7 +5,7 @@ Normative specification for CellML 2.0 ========================================== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 :numbered: reference/formal_sectionA.rst @@ -13,4 +13,3 @@ Normative specification for CellML 2.0 reference/formal_sectionC.rst reference/sectionD_references.rst -.. include:: reference/preamble.rst \ No newline at end of file diff --git a/reference/preamble.rst b/reference/preamble.rst deleted file mode 100644 index 622c0c0e..00000000 --- a/reference/preamble.rst +++ /dev/null @@ -1,5 +0,0 @@ - -.. include:: ../sectionA_definitions.inc - :start-after: marker_intro_start - :end-before: marker_intro_end - diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index 1fe44a04..d2bcdaee 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -2,44 +2,41 @@ .. sectnum:: -.. marker_intro_start +**CellML 2.0 Specification** **Authors:** -| Michael Clerx -| Michael T. Cooling -| Jonathan Cooper -| Alan Garny -| Keri Moyle -| David P. Nickerson -| Hugh Sorby +Michael Clerx +Michael T. Cooling +Jonathan Cooper +Alan Garny +Keri Moyle +David P. Nickerson +Hugh Sorby **Contributors:** - -| Jesús C. Fernández -| David Brooks -| Koray Atalag +Jesús C. Fernández +David Brooks +Koray Atalag The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification - although the semantics have changed considerably. The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: - -| Andrew K. Miller (who wrote the text reused here), -| Jonathan Cooper, -| Justin Marsh, -| Alan Garny, -| Randall Britten, -| Poul Nielsen -| and David P. Nickerson +Andrew K. Miller (who wrote the text reused here), +Jonathan Cooper, +Justin Marsh, +Alan Garny, +Randall Britten, +Poul Nielsen +and David P. Nickerson **Contact:** help@physiomeproject.org -**Preamble:** +**Preamble** This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. Users of CellML models should read the informative version of the CellML Specification which is available here: https://doi.org/science/1.1.1.10. -.. marker_intro_end .. marker_terminology_start .. _specA_terminology: From df825e72ad8b422d6ca8b214544aedd15f0f71d4 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 14:34:09 +1300 Subject: [PATCH 138/604] Markers for preamble --- reference/sectionA_definitions.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index d2bcdaee..8eaf2372 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -2,6 +2,8 @@ .. sectnum:: +.. marker_preamble_start + **CellML 2.0 Specification** **Authors:** @@ -37,6 +39,7 @@ This document is the normative version of the CellML Specification, defining the It is intended primarily for the developers of software tools which directly consume CellML syntax. Users of CellML models should read the informative version of the CellML Specification which is available here: https://doi.org/science/1.1.1.10. +.. marker_premable_end .. marker_terminology_start .. _specA_terminology: From b40061ac450d0a770d45ba80c9399cde7527cd9c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 14:35:34 +1300 Subject: [PATCH 139/604] added includes to formal and index files --- formal.rst | 3 +++ index.rst | 3 +++ reference/sectionA_definitions.inc | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/formal.rst b/formal.rst index 0a4d3b13..2e04fc40 100644 --- a/formal.rst +++ b/formal.rst @@ -13,3 +13,6 @@ Normative specification for CellML 2.0 reference/formal_sectionC.rst reference/sectionD_references.rst +.. include:: reference/sectionA_definitions.inc + :start-after: marker_preamble_start + :end-before: marker_preamble_end \ No newline at end of file diff --git a/index.rst b/index.rst index 3765b486..2fce4aaf 100644 --- a/index.rst +++ b/index.rst @@ -13,3 +13,6 @@ Normative specification for CellML 2.0 reference/index_sectionC.rst reference/sectionD_references.rst +.. include:: reference/sectionA_definitions.inc + :start-after: marker_preamble_start + :end-before: marker_preamble_end \ No newline at end of file diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index 8eaf2372..a6474cd9 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -39,7 +39,7 @@ This document is the normative version of the CellML Specification, defining the It is intended primarily for the developers of software tools which directly consume CellML syntax. Users of CellML models should read the informative version of the CellML Specification which is available here: https://doi.org/science/1.1.1.10. -.. marker_premable_end +.. marker_preamble_end .. marker_terminology_start .. _specA_terminology: From 0c46365b55e2334669c6f7e1d99e09bf81e967f5 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 14:42:36 +1300 Subject: [PATCH 140/604] Move preamble to front --- formal.rst | 12 ++++--- index.rst | 11 ++++--- reference/sectionA_definitions.inc | 50 ++++++++++++++---------------- 3 files changed, 37 insertions(+), 36 deletions(-) diff --git a/formal.rst b/formal.rst index 2e04fc40..2e0c6ec2 100644 --- a/formal.rst +++ b/formal.rst @@ -1,11 +1,16 @@ .. _formal: ========================================== -Normative specification for CellML 2.0 +CellML 2.0 Specification ========================================== +.. include:: reference/sectionA_definitions.inc + :start-after: marker_preamble_start + :end-before: marker_preamble_end + + .. toctree:: - :maxdepth: 2 + :maxdepth: 1 :numbered: reference/formal_sectionA.rst @@ -13,6 +18,3 @@ Normative specification for CellML 2.0 reference/formal_sectionC.rst reference/sectionD_references.rst -.. include:: reference/sectionA_definitions.inc - :start-after: marker_preamble_start - :end-before: marker_preamble_end \ No newline at end of file diff --git a/index.rst b/index.rst index 2fce4aaf..7b5b4570 100644 --- a/index.rst +++ b/index.rst @@ -1,11 +1,15 @@ .. _index: ========================================== -Normative specification for CellML 2.0 +CellML 2.0 Specification ========================================== +.. include:: reference/sectionA_definitions.inc + :start-after: marker_preamble_start + :end-before: marker_preamble_end + .. toctree:: - :maxdepth: 2 + :maxdepth: 1 :numbered: reference/index_sectionA.rst @@ -13,6 +17,3 @@ Normative specification for CellML 2.0 reference/index_sectionC.rst reference/sectionD_references.rst -.. include:: reference/sectionA_definitions.inc - :start-after: marker_preamble_start - :end-before: marker_preamble_end \ No newline at end of file diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index a6474cd9..0c88e222 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -4,40 +4,38 @@ .. marker_preamble_start -**CellML 2.0 Specification** +This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. +It is intended primarily for the developers of software tools which directly consume CellML syntax. +Users of CellML models should read the informative version of the CellML Specification which is available here: https://doi.org/science/1.1.1.10. + +**Authors** -**Authors:** + Michael Clerx + Michael T. Cooling + Jonathan Cooper + Alan Garny + Keri Moyle + David P. Nickerson + Hugh Sorby -Michael Clerx -Michael T. Cooling -Jonathan Cooper -Alan Garny -Keri Moyle -David P. Nickerson -Hugh Sorby +**Contributors** -**Contributors:** -Jesús C. Fernández -David Brooks -Koray Atalag + Jesús C. Fernández + David Brooks + Koray Atalag The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification - although the semantics have changed considerably. The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: -Andrew K. Miller (who wrote the text reused here), -Jonathan Cooper, -Justin Marsh, -Alan Garny, -Randall Britten, -Poul Nielsen -and David P. Nickerson -**Contact:** help@physiomeproject.org + Andrew K. Miller (who wrote the text reused here) + Jonathan Cooper + Justin Marsh + Alan Garny + Randall Britten + Poul Nielsen + and David P. Nickerson -**Preamble** - -This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. -It is intended primarily for the developers of software tools which directly consume CellML syntax. -Users of CellML models should read the informative version of the CellML Specification which is available here: https://doi.org/science/1.1.1.10. +**Contact** help@physiomeproject.org .. marker_preamble_end .. marker_terminology_start From ce5e6d3cbc63a9775026b67771170ab6e178ca1b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 14:55:35 +1300 Subject: [PATCH 141/604] Update conf.py --- conf.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/conf.py b/conf.py index 5bdf7b65..87ad37c7 100644 --- a/conf.py +++ b/conf.py @@ -71,7 +71,7 @@ 'libcellml': ('https://libcellml.org/%s', ''), 'libcellml_repo': ('https://github.com/cellml/libcellml.git%s', ''), # TODO Update this when tutorials have a proper home. - 'libcellml_tutorials': ('https://libcellml-tutorials.readthedocs.io/en/pr344_documentation/%s',''), + 'libcellml_tutorials': ('https://libcellml-tutorials.readthedocs.io/en/pr344_documentation/%s', ''), 'libxml2': ('http://www.xmlsoft.org/%s', ''), 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html#id.4.2.1.3%s', ''), 'mathml2spec': ('http://www.w3.org/TR/2003/REC-MathML2-20031021/%s', ''), @@ -278,18 +278,19 @@ # 'pointsize': '10pt', # Additional stuff for the LaTeX preamble. - # 'preamble': 'usepackage{textgreek}', # Removing as weird ... ? - - # Fancy chapter names, default is on. Doesn't affect numbering though. - # 'fncychap' : '', - + 'preamble': r''' + \usepackage[titles]{tocloft} + \usepackage{textgreek} + \DeclareUnicodeCharacter{2212}{-} + ''' } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('formal', 'formal.tex', u'CellML Specification', u'CellML 2.0 Editors and Contributors', 'manual'), + ('formal', 'formal.tex', u'CellML Specification', + u'CellML 2.0 Editors and Contributors', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of From c05dcaa6d604591ac71f57b76af707ed51209c83 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 14:59:39 +1300 Subject: [PATCH 142/604] Update formal.rst --- formal.rst | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/formal.rst b/formal.rst index 2e0c6ec2..670d951b 100644 --- a/formal.rst +++ b/formal.rst @@ -4,13 +4,8 @@ CellML 2.0 Specification ========================================== -.. include:: reference/sectionA_definitions.inc - :start-after: marker_preamble_start - :end-before: marker_preamble_end - - .. toctree:: - :maxdepth: 1 + :maxdepth: 2 :numbered: reference/formal_sectionA.rst @@ -18,3 +13,7 @@ CellML 2.0 Specification reference/formal_sectionC.rst reference/sectionD_references.rst +.. include:: reference/sectionA_definitions.inc + :start-after: marker_preamble_start + :end-before: marker_preamble_end + From ed69498e53ffa6062d4430a42b4ebcbcfba29a4a Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 15:01:56 +1300 Subject: [PATCH 143/604] Removing table headings --- reference/sectionB_elements.inc | 3 --- reference/sectionC_interpretation.inc | 7 ------- 2 files changed, 10 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index f0e61991..e60ab538 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -415,9 +415,6 @@ Specific information items .. _table_supported_mathml_elements: -Table: Supported MathML Elements -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - +----------------------------------+----------------------------------+ | **Element Category** | **Element List** | +----------------------------------+----------------------------------+ diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 6833b207..8c0452f8 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -36,9 +36,6 @@ Units reference .. _table_built_in_units: -Table: Built-in units -~~~~~~~~~~~~~~~~~~~~~ - +---------------+-------------------+--------------------------------+ | **Name** | **Multiplier(s)** | **Unit reduction tuple** | | | | (dimension, exponent) set | @@ -193,9 +190,6 @@ Interpretation of units .. _table_prefix_values: -Table: Prefix values -~~~~~~~~~~~~~~~~~~~~ - ======== ========= **Name** **Value** yotta 24 @@ -220,7 +214,6 @@ zepto −21 yocto −24 ======== ========= - .. marker_interpretation_of_units_end .. marker_component_reference_start From d8df68b81b6bfc824b2ff6d645c41cbdb2b19167 Mon Sep 17 00:00:00 2001 From: David Nickerson Date: Wed, 25 Mar 2020 15:06:15 +1300 Subject: [PATCH 144/604] Couple more cdot's ;-) --- reference/sectionC_interpretation.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 7e0bec25..f9cc6885 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -66,7 +66,7 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+------------------------------------+ | gray | :math:`Gy` | (metre, 2), (second, -2) | :math:`J/{kg}` | +---------------+-------------------+-------------------------------------------+------------------------------------+ -| henry | :math:`H` | (metre, 2), (kilogram, 1), | | :math:`{V.s}/A` | +| henry | :math:`H` | (metre, 2), (kilogram, 1), | | :math:`{V⋅s}/A` | | | | (second, -2), (ampere, -2) | | :math:`\Omega⋅s` | | | | | | :math:`Wb/A` | +---------------+-------------------+-------------------------------------------+------------------------------------+ @@ -112,7 +112,7 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+------------------------------------+ | steradian | :math:`sr` | (dimensionless, 1) | :math:`m^2/m^2` | +---------------+-------------------+-------------------------------------------+------------------------------------+ -| tesla | :math:`T` | (kilogram, 1), (second, -2), | | :math:`{V.s}/{m^2}` | +| tesla | :math:`T` | (kilogram, 1), (second, -2), | | :math:`{V⋅s}/{m^2}` | | | | (ampere, -1) | | :math:`{Wb}/{m^2}` | | | | | | :math:`N/{A⋅m}` | +---------------+-------------------+-------------------------------------------+------------------------------------+ From 06ef2aac8cef22b2d89cf8eceb18b772bd20bda9 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 15:09:49 +1300 Subject: [PATCH 145/604] setting "numbered" only in index --- reference/index_sectionA.rst | 1 - reference/index_sectionB.rst | 1 - reference/index_sectionC.rst | 1 - reference/sectionA_definitions.inc | 2 -- reference/sectionB_elements.inc | 3 +-- reference/sectionC_interpretation.inc | 2 -- 6 files changed, 1 insertion(+), 9 deletions(-) diff --git a/reference/index_sectionA.rst b/reference/index_sectionA.rst index 9925f89e..403936d3 100644 --- a/reference/index_sectionA.rst +++ b/reference/index_sectionA.rst @@ -6,7 +6,6 @@ Definitions and preamble .. toctree:: :maxdepth: 1 - :numbered: :glob: formal_and_informative/specA* diff --git a/reference/index_sectionB.rst b/reference/index_sectionB.rst index 76492ca4..b89b45d6 100644 --- a/reference/index_sectionB.rst +++ b/reference/index_sectionB.rst @@ -6,7 +6,6 @@ Element information items .. toctree:: :maxdepth: 1 - :numbered: :glob: formal_and_informative/specB* diff --git a/reference/index_sectionC.rst b/reference/index_sectionC.rst index 6b72c85c..3077ee19 100644 --- a/reference/index_sectionC.rst +++ b/reference/index_sectionC.rst @@ -6,7 +6,6 @@ Interpretation .. toctree:: :maxdepth: 1 - :numbered: :glob: formal_and_informative/specC* diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index 0c88e222..05ecf576 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -1,7 +1,5 @@ .. _sectionA: -.. sectnum:: - .. marker_preamble_start This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index e60ab538..83cfd41d 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -1,7 +1,5 @@ .. _sectionB: -.. sectnum:: - .. marker_model_start .. _model: @@ -25,6 +23,7 @@ Specific information items 1. Every :code:`model` element MUST contain a :code:`name` attribute. The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. + .. marker_model_1 .. container:: issue-model-child diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 8c0452f8..93e06e36 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -1,7 +1,5 @@ .. _sectionC: -.. sectnum:: - .. marker_interpretation_of_imports_start .. _specC_interpretation_of_imports: From 84a088acc6036d40069925c0a0f11165f9eb3af7 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 15:16:16 +1300 Subject: [PATCH 146/604] Update first chapter heading --- index.rst | 1 - reference/formal_sectionA.rst | 2 +- reference/index_sectionA.rst | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/index.rst b/index.rst index 7b5b4570..0c6c4640 100644 --- a/index.rst +++ b/index.rst @@ -16,4 +16,3 @@ CellML 2.0 Specification reference/index_sectionB.rst reference/index_sectionC.rst reference/sectionD_references.rst - diff --git a/reference/formal_sectionA.rst b/reference/formal_sectionA.rst index 1c7441fe..05c06413 100644 --- a/reference/formal_sectionA.rst +++ b/reference/formal_sectionA.rst @@ -1,7 +1,7 @@ .. _sectionA_index_formal: =================================== -Definitions and preamble +Definitions =================================== .. toctree:: diff --git a/reference/index_sectionA.rst b/reference/index_sectionA.rst index 403936d3..831067df 100644 --- a/reference/index_sectionA.rst +++ b/reference/index_sectionA.rst @@ -1,7 +1,7 @@ .. _sectionA_index: =================================== -Definitions and preamble +Definitions =================================== .. toctree:: From 4adac6323d78e0c8878f84e7755efa9b352a23af Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 25 Mar 2020 15:25:32 +1300 Subject: [PATCH 147/604] Re-adding table titles --- reference/sectionB_elements.inc | 2 ++ reference/sectionC_interpretation.inc | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 83cfd41d..266eec61 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -414,6 +414,8 @@ Specific information items .. _table_supported_mathml_elements: +**Table 2.1: Supported MathML elements** + +----------------------------------+----------------------------------+ | **Element Category** | **Element List** | +----------------------------------+----------------------------------+ diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 93e06e36..08ec8b48 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -34,6 +34,8 @@ Units reference .. _table_built_in_units: +**Table 3.1: Built-in units** + +---------------+-------------------+--------------------------------+ | **Name** | **Multiplier(s)** | **Unit reduction tuple** | | | | (dimension, exponent) set | @@ -188,6 +190,8 @@ Interpretation of units .. _table_prefix_values: +**Table 3.2: Prefix values** + ======== ========= **Name** **Value** yotta 24 From cff1dc9a58eccd3929f9907849932377fccd18fd Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 10:15:38 +1300 Subject: [PATCH 148/604] Update wording of units ref and component ref sections --- reference/sectionC_interpretation.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index cfe65684..fb03a29d 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -23,7 +23,7 @@ Interpretation of imports Units reference --------------- -A "units reference" refers to the :code:`units_ref` attribute in :code:`import units` items, and the :code:`units` attribute used in :code:`unit` and :code:`variable` items. +The term "units reference" refers to the value of the :code:`units_ref` attribute in :code:`import` items for :code:`units`, and the values of the :code:`units` attribute used in :code:`unit` and :code:`variable` items. #. A units reference SHALL be a CellML identifier and SHALL be interpreted dependent on the context of the :ref:`CellML model` in which it occurs, according to the units referencing rules defined later in this section. @@ -238,7 +238,7 @@ yocto −24 Component reference ------------------- -A "component reference" refers to the :code:`component_ref` attribute used in :code:`import component` items, to the :code:`component_ref` elements which occurs as children of :code:`encapsulation` items, and to the :code:`component_1` and :code:`component_2` attributes used in :code:`connection` items. +The term "component reference" refers to the value of a :code:`component_ref` attribute used in an :code:`import` item for :code:`component` items, to :code:`component_ref` elements which occur as children of :code:`encapsulation` items, and to the value of :code:`component_1` and :code:`component_2` attributes used in :code:`connection` items. #. A component reference SHALL be the name of a component, and SHALL be interpreted based on the context within the :ref:`CellML model` in which it occurs. From 6a718c41c7116015774b0512c54761d92ea989ae Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 10:24:31 +1300 Subject: [PATCH 149/604] Changes as per review --- .../informC06_interpretation_of_initial_values.rst | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/reference/informative/informC06_interpretation_of_initial_values.rst b/reference/informative/informC06_interpretation_of_initial_values.rst index 29cb67f7..fc940f53 100644 --- a/reference/informative/informC06_interpretation_of_initial_values.rst +++ b/reference/informative/informC06_interpretation_of_initial_values.rst @@ -36,16 +36,15 @@ - This is most frequently used for state variables (those whose value is found by solving a differential equation). - It's possible - but not recommended - to use a variable reference with the :code:`initial_value` attribute. - This option remains in CellML 2.0 only to provide ease of migration from CellML 1.1 models, and may be discontinued in future versions. - The recommended best practice is to make use of connections between variables to move all "hardcoding" of parameters (including initial values and constants) into a top-level component for ease of access. - This is demonstrated in the example below. + This option remains in CellML 2.0 only to provide ease of migration from CellML 1.1 models, and may be discontinued in future versions. - - A :code:`variable` whose value is *constant* throughout the simulation is best set within the :code:`math` block, rather than via the :code:`initial_value` attribute. This is so that its value will be held to be true *throughout* the simulation, rather than only the beginning. + - A :code:`variable` whose value is *constant* throughout the simulation is best set within the :code:`math` block, rather than via the :code:`initial_value` attribute. + This is so that its value will be held to be true *throughout* the simulation, rather than only the beginning. - A :code:`variable` which is not a state variable, and whose value changes during the simulation does not require initialisation; simply include it in a :code:`math` block so it can be evaluated. - The following example shows a model for counting games like hide and seek, where the first section shows an older format and the second section shows the best practice for CellML 2.0 models. + The following example shows a model for counting games like hide and seek, where the first section shows an older format and the second section shows a better practice for CellML 2.0 models. .. code-block:: xml From 607888406ea22e67281147c419e725a20b39fb65 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 11:36:07 +1300 Subject: [PATCH 150/604] REmoved duplicated point in interpretation of imports --- reference/sectionC_interpretation.inc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index f50d6453..d00df16d 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -18,8 +18,7 @@ Interpretation of imports #. The import of an element SHALL be considered recursively such that items referenced by the :code:`import` element child (a :code:`units` or :code:`component` element) are themselves available to that :code:`import` element child. It is noted, for the avoidance of doubt, that the importing infoset SHALL NOT have access to such recursively imported items, but only to explicitly specified :code:`import` element children. -#. The import of an element SHALL be considered recursively such that items referenced by the :code:`import` element's child (a :code:`units` or :code:`component` element) are themselves included. - See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. +See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. .. marker_interpretation_of_imports_end .. marker_units_reference_start From 258cc832d7e05a3dd5724de7f5776294d20d802b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 11:57:48 +1300 Subject: [PATCH 151/604] Changed wording to allow empty encapsulations --- reference/sectionB_elements.inc | 6 +----- reference/sectionC_interpretation.inc | 6 ++++++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 1b8f02ed..53f3f39a 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -476,7 +476,7 @@ Specific information items .. container:: issue-encapsulation-component-ref - 1. Every :code:`encapsulation` element MUST contain one or more :code:`component_ref` elements. + 1. An :code:`encapsulation` element MAY contain one or more :code:`component_ref` elements. .. marker_encapsulation_end .. marker_component_ref_start @@ -501,10 +501,6 @@ Specific information items 2. Every :code:`component_ref` element MAY in turn contain one or more :code:`component_ref` element children. -.. container:: issue-component-ref-encapsulation - - 3. A :code:`component_ref` element which is an immediate child of an :code:`encapsulation` element MUST each contain at least one :code:`component_ref` element child. - .. marker_component_ref_end .. marker_connection_start diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index e1ab2fd1..154b020c 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -326,6 +326,12 @@ Interpretation of encapsulation #. For the avoidance of doubt, there MUST NOT be a :code:`connection` element such that the component referenced by the :code:`component_1` attribute is in the hidden set of the component referenced by the :code:`component_2` attribute, nor vice versa. +#. An :code:`encapsulation` element MAY be empty, implying that no encapsulation hierarchy exists. + This is the default condition, + +#. A :code:`component_ref` element MAY be empty, implying that the :code:`component` to which it refers has no encapsulated children. + This is the default condition. + .. marker_interpretation_of_encapsulation_end .. marker_interpretation_of_map_variables_start From b7a9226303988b4bfd97fcf275cbc06a8b335739 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 12:09:21 +1300 Subject: [PATCH 152/604] Added comments to informative spec --- .../informative/informB13_encapsulation1.rst | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/reference/informative/informB13_encapsulation1.rst b/reference/informative/informB13_encapsulation1.rst index a6ca2a39..8cc8b659 100644 --- a/reference/informative/informB13_encapsulation1.rst +++ b/reference/informative/informB13_encapsulation1.rst @@ -17,15 +17,14 @@ .. code-block:: xml - # Valid encapsulation structure. This will give the arrangement of: - # - grandad - # - father - # - child - # - aunt - # - # Because the component named orphan is not included in the encapsulation - # it will stay at the top level of the model. - + @@ -42,7 +41,7 @@ - # Invalid: More than one encapsulation is not permitted + @@ -60,7 +59,7 @@ - # Invalid: A component cannot appear more than once in an encapsulation + @@ -73,7 +72,8 @@ - # Invalid: An encapsulation can't be empty (just remove it!) + @@ -81,13 +81,14 @@ - # Invalid: An encapsulation must have a minimum of two levels of children to make sense + - # There has to be a child here or the parent is not a parent ... + From ab10e01dd56761fe3c2b8db92c2b088055638b91 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 13:17:56 +1300 Subject: [PATCH 153/604] Remove points from section C --- reference/sectionC_interpretation.inc | 6 ------ 1 file changed, 6 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 154b020c..e1ab2fd1 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -326,12 +326,6 @@ Interpretation of encapsulation #. For the avoidance of doubt, there MUST NOT be a :code:`connection` element such that the component referenced by the :code:`component_1` attribute is in the hidden set of the component referenced by the :code:`component_2` attribute, nor vice versa. -#. An :code:`encapsulation` element MAY be empty, implying that no encapsulation hierarchy exists. - This is the default condition, - -#. A :code:`component_ref` element MAY be empty, implying that the :code:`component` to which it refers has no encapsulated children. - This is the default condition. - .. marker_interpretation_of_encapsulation_end .. marker_interpretation_of_map_variables_start From 4824099062a52e362ce637757cc11ab797d9cd19 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 13:53:50 +1300 Subject: [PATCH 154/604] Rewording variable reference to follow component/units reference --- reference/sectionC_interpretation.inc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index e1ab2fd1..7884bb4a 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -250,10 +250,13 @@ Component reference Variable reference ------------------ -#. When present in an information item which is a descendant of a :code:`component` element, a variable reference SHALL be the name of a variable, and SHALL refer to the :code:`variable` element in that component with a :code:`name` attribute identical to the variable reference. +#. When present as the value of an :code:`initial_value` attribute of a :code:`variable` element, a variable reference SHALL be the name of a variable, and SHALL refer to the :code:`variable` element in that component with a :code:`name` attribute identical to the variable reference. -#. In all other cases, a variable reference SHALL consist of a component reference and a variable name. -In this case, the variable reference SHALL be treated as if it was just the variable name present in the :code:`component` element referenced by the component reference. +#. When present within :code:`` tags in a :code:`` element, a variable reference SHALL be the name of a variable, and SHALL refer to the :code:`variable` element in that component with a :code:`name` attribute identical to the variable reference. + +#. When present as the value of a :code:`variable_1` attribute of a :code:`map_variables` element, a variable reference SHALL be the name of a variable, and SHALL be interpreted as referring to the :code:`variable` element with a :code:`name` attribute identical to the variable reference and being a child of the :code:`component` named by the value of the :code:`component_1` attribute of the parent :code:`connection` element. + +#. When present as the value of a :code:`variable_2` attribute of a :code:`map_variables` element, a variable reference SHALL be the name of a variable, and SHALL be interpreted as referring to the :code:`variable` element with a :code:`name` attribute identical to the variable reference and being a child of the :code:`component` named by the value of the :code:`component_2` attribute of the parent :code:`connection` element. .. marker_variable_reference_end .. marker_interpretation_of_initial_values_start From 31e3c8eed4f115be3b89a7005b526a15f699d634 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 14:24:41 +1300 Subject: [PATCH 155/604] Changed dots in table --- reference/sectionC_interpretation.inc | 162 +++++++++++++------------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index fb03a29d..0a8cbf00 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -44,87 +44,87 @@ The term "units reference" refers to the value of the :code:`units_ref` attribut Table: Built-in units ~~~~~~~~~~~~~~~~~~~~~ -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | -| | | | multiplier⋅(base, exponent) | | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| ampere | :math:`A` | \- | | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| becquerel | :math:`Bq` | (second, -1) | :math:`1/s` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| candela | :math:`cd` | \- | | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s⋅A` | -| | | | | :math:`F⋅V` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| dimensionless | \- | \- | | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| farad | :math:`F` | (metre, -2), (kilogram, -1), | | :math:`C/V` | -| | | (second, 4), (ampere, 2) | | :math:`s/{\Omega}` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| gram | :math:`g` | 0.001⋅(kilogram, 1) | | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| gray | :math:`Gy` | (metre, 2), (second, -2) | :math:`J/{kg}` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| henry | :math:`H` | (metre, 2), (kilogram, 1), | | :math:`{V⋅s}/A` | -| | | (second, -2), (ampere, -2) | | :math:`\Omega⋅s` | -| | | | | :math:`Wb/A` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| hertz | :math:`Hz` | (second, -1) | | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| joule | :math:`J` | (metre, 2), (kilogram, 1), | | :math:`N⋅m` | -| | | (second, -2) | | :math:`C⋅V` | -| | | | | :math:`Wb⋅s` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| katal | :math:`kat` | (second, -1), (mole, 1) | | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| kelvin | :math:`K` | \- | | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| kilogram | :math:`kg` | \- | | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| litre | :math:`l` | 0.001⋅(metre, 3) | | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| lumen | :math:`lm` | (candela, 1) | :math:`cd⋅sr` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| lux | :math:`lx` | (metre, -2), (candela, 1) | :math:`{lm}/{m^2}` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| metre | :math:`m` | \- | | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| mole | :math:`mol` | \- | | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| newton | :math:`N` | (metre, 1), (kilogram, 1), | | -| | | (second, -2) | | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| ohm | :math:`\Omega` | (metre, 2), (kilogram, 1), | | :math:`1/S` | -| | | (second, -3), (ampere, -2) | | :math:`V/A` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| pascal | :math:`Pa` | (metre, -1), (kilogram, 1), | :math:`N/m^2` | -| | | (second, -2) | | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| radian | :math:`rad` | (dimensionless, 1) | :math:`m/m` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| second | :math:`s` | \- | | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| siemens | :math:`S` | (metre, -2), (kilogram -1), | | :math:`s/{\Omega}` | -| | | (second, 3), (ampere, 2) | | :math:`A/V` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| sievert | :math:`Sv` | (metre, 2), (second, -2) | :math:`J/kg` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| steradian | :math:`sr` | (dimensionless, 1) | :math:`m^2/m^2` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| tesla | :math:`T` | (kilogram, 1), (second, -2), | | :math:`{V⋅s}/{m^2}` | -| | | (ampere, -1) | | :math:`{Wb}/{m^2}` | -| | | | | :math:`N/{A⋅m}` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| volt | :math:`V` | (metre, 2), (kilogram, 1), | | :math:`W/A` | -| | | (second , -3), (ampere, -1) | | :math:`J/C` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| watt | :math:`W` | (metre, 2), (kilogram, 1), | | :math:`J/s` | -| | | (second, -3) | | :math:`V⋅A` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ -| weber | :math:`Wb` | (metre, 2), (kilogram, 1), | | :math:`J/A` | -| | | (second, -2), (ampere, -1) | | :math:`T⋅m^2` | -+---------------+-------------------+-------------------------------------------+------------------------------------+ ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | +| | | | multiplier⋅(base, exponent) | | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| ampere | :math:`A` | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| becquerel | :math:`Bq` | (second, -1) | :math:`1/s` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| candela | :math:`cd` | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s\textperiodcentered A` | +| | | | | :math:`F \textperiodcentered V` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| dimensionless | \- | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| farad | :math:`F` | (metre, -2), (kilogram, -1), | | :math:`C/V` | +| | | (second, 4), (ampere, 2) | | :math:`s/{\Omega}` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| gram | :math:`g` | 0.001⋅(kilogram, 1) | | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| gray | :math:`Gy` | (metre, 2), (second, -2) | :math:`J/{kg}` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| henry | :math:`H` | (metre, 2), (kilogram, 1), | | :math:`{V \textperiodcentered s}/A` | +| | | (second, -2), (ampere, -2) | | :math:`\Omega \textperiodcentered s` | +| | | | | :math:`Wb/A` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| hertz | :math:`Hz` | (second, -1) | | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| joule | :math:`J` | (metre, 2), (kilogram, 1), | | :math:`N \textperiodcentered m` | +| | | (second, -2) | | :math:`C \textperiodcentered V` | +| | | | | :math:`Wb \textperiodcentered s` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| katal | :math:`kat` | (second, -1), (mole, 1) | | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| kelvin | :math:`K` | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| kilogram | :math:`kg` | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| litre | :math:`l` | 0.001⋅(metre, 3) | | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| lumen | :math:`lm` | (candela, 1) | :math:`cd \textperiodcentered sr` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| lux | :math:`lx` | (metre, -2), (candela, 1) | :math:`{lm}/{m^2}` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| metre | :math:`m` | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| mole | :math:`mol` | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| newton | :math:`N` | (metre, 1), (kilogram, 1), | | +| | | (second, -2) | | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| ohm | :math:`\Omega` | (metre, 2), (kilogram, 1), | | :math:`1/S` | +| | | (second, -3), (ampere, -2) | | :math:`V/A` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| pascal | :math:`Pa` | (metre, -1), (kilogram, 1), | :math:`N/m^2` | +| | | (second, -2) | | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| radian | :math:`rad` | (dimensionless, 1) | :math:`m/m` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| second | :math:`s` | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| siemens | :math:`S` | (metre, -2), (kilogram -1), | | :math:`s/{\Omega}` | +| | | (second, 3), (ampere, 2) | | :math:`A/V` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| sievert | :math:`Sv` | (metre, 2), (second, -2) | :math:`J/kg` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| steradian | :math:`sr` | (dimensionless, 1) | :math:`m^2/m^2` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| tesla | :math:`T` | (kilogram, 1), (second, -2), | | :math:`{V \textperiodcentered s}/{m^2}` | +| | | (ampere, -1) | | :math:`{Wb}/{m^2}` | +| | | | | :math:`N/{A \textperiodcentered m}` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| volt | :math:`V` | (metre, 2), (kilogram, 1), | | :math:`W/A` | +| | | (second , -3), (ampere, -1) | | :math:`J/C` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| watt | :math:`W` | (metre, 2), (kilogram, 1), | | :math:`J/s` | +| | | (second, -3) | | :math:`V⋅A` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ +| weber | :math:`Wb` | (metre, 2), (kilogram, 1), | | :math:`J/A` | +| | | (second, -2), (ampere, -1) | | :math:`T \textperiodcentered m^2` | ++---------------+-------------------+-------------------------------------------+-------------------------------------------+ .. marker_units_reference_end .. marker_interpretation_of_units_start From 39195a4a4ecf19d1bd408a7b5fc5759a773079cd Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 14:25:02 +1300 Subject: [PATCH 156/604] Update sectionC_interpretation.inc --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 0a8cbf00..5588211a 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -54,7 +54,7 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | candela | :math:`cd` | \- | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s\textperiodcentered A` | +| coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s \textperiodcentered A` | | | | | | :math:`F \textperiodcentered V` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | dimensionless | \- | \- | | From 901fddc542d865ffde8ea49131b72dc3b8ea1023 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 14:38:30 +1300 Subject: [PATCH 157/604] testing spacing options --- reference/sectionC_interpretation.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 5588211a..aa25eb6d 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -54,8 +54,8 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | candela | :math:`cd` | \- | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s \textperiodcentered A` | -| | | | | :math:`F \textperiodcentered V` | +| coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s{\cdot}A` | +| | | | | :math:`F{{\mkern 0mu\cdot\mkern 0mu}}V` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | dimensionless | \- | \- | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ From 2985aead5f26119e70068c47631a6dfea393d8d3 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 14:42:59 +1300 Subject: [PATCH 158/604] More spacing stuff --- reference/sectionC_interpretation.inc | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index aa25eb6d..1921da4d 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -55,7 +55,7 @@ Table: Built-in units | candela | :math:`cd` | \- | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s{\cdot}A` | -| | | | | :math:`F{{\mkern 0mu\cdot\mkern 0mu}}V` | +| | | | | :math:`F{\cdot}V` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | dimensionless | \- | \- | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ @@ -66,15 +66,15 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | gray | :math:`Gy` | (metre, 2), (second, -2) | :math:`J/{kg}` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| henry | :math:`H` | (metre, 2), (kilogram, 1), | | :math:`{V \textperiodcentered s}/A` | -| | | (second, -2), (ampere, -2) | | :math:`\Omega \textperiodcentered s` | +| henry | :math:`H` | (metre, 2), (kilogram, 1), | | :math:`{V{\cdot}s}/A` | +| | | (second, -2), (ampere, -2) | | :math:`\Omega{\cdot}s` | | | | | | :math:`Wb/A` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | hertz | :math:`Hz` | (second, -1) | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| joule | :math:`J` | (metre, 2), (kilogram, 1), | | :math:`N \textperiodcentered m` | -| | | (second, -2) | | :math:`C \textperiodcentered V` | -| | | | | :math:`Wb \textperiodcentered s` | +| joule | :math:`J` | (metre, 2), (kilogram, 1), | | :math:`N{\cdot}m` | +| | | (second, -2) | | :math:`C{\cdot}V` | +| | | | | :math:`Wb{\cdot}s` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | katal | :math:`kat` | (second, -1), (mole, 1) | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ @@ -84,7 +84,7 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | litre | :math:`l` | 0.001⋅(metre, 3) | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| lumen | :math:`lm` | (candela, 1) | :math:`cd \textperiodcentered sr` | +| lumen | :math:`lm` | (candela, 1) | :math:`cd{\cdot}sr` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | lux | :math:`lx` | (metre, -2), (candela, 1) | :math:`{lm}/{m^2}` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ @@ -112,18 +112,18 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | steradian | :math:`sr` | (dimensionless, 1) | :math:`m^2/m^2` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| tesla | :math:`T` | (kilogram, 1), (second, -2), | | :math:`{V \textperiodcentered s}/{m^2}` | +| tesla | :math:`T` | (kilogram, 1), (second, -2), | | :math:`{V{\cdot}s}/{m^2}` | | | | (ampere, -1) | | :math:`{Wb}/{m^2}` | -| | | | | :math:`N/{A \textperiodcentered m}` | +| | | | | :math:`N/{A{\cdot}m}` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | volt | :math:`V` | (metre, 2), (kilogram, 1), | | :math:`W/A` | | | | (second , -3), (ampere, -1) | | :math:`J/C` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | watt | :math:`W` | (metre, 2), (kilogram, 1), | | :math:`J/s` | -| | | (second, -3) | | :math:`V⋅A` | +| | | (second, -3) | | :math:`V{\cdot}A` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | weber | :math:`Wb` | (metre, 2), (kilogram, 1), | | :math:`J/A` | -| | | (second, -2), (ampere, -1) | | :math:`T \textperiodcentered m^2` | +| | | (second, -2), (ampere, -1) | | :math:`T{\cdot}m^2` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ .. marker_units_reference_end From f0204a693f6693758df6e48c16aa46f2244e6e73 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 14:49:50 +1300 Subject: [PATCH 159/604] Trying out sans-serif fonts for maths --- conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/conf.py b/conf.py index d8b8c136..ebb0338f 100644 --- a/conf.py +++ b/conf.py @@ -279,6 +279,7 @@ # Additional stuff for the LaTeX preamble. # 'preamble': 'usepackage{textgreek}', # Removing as weird ... ? + 'preamble': '\\usepackage{newtxsf}' } From 3102b860fceaca30308cd9e5aeb0b36043d01a73 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 15:06:56 +1300 Subject: [PATCH 160/604] Defining characters --- conf.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/conf.py b/conf.py index ebb0338f..1af442e6 100644 --- a/conf.py +++ b/conf.py @@ -71,7 +71,7 @@ 'libcellml': ('https://libcellml.org/%s', ''), 'libcellml_repo': ('https://github.com/cellml/libcellml.git%s', ''), # TODO Update this when tutorials have a proper home. - 'libcellml_tutorials': ('https://libcellml-tutorials.readthedocs.io/en/pr344_documentation/%s',''), + 'libcellml_tutorials': ('https://libcellml-tutorials.readthedocs.io/en/pr344_documentation/%s', ''), 'libxml2': ('http://www.xmlsoft.org/%s', ''), 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html#id.4.2.1.3%s', ''), 'mathml2spec': ('http://www.w3.org/TR/2003/REC-MathML2-20031021/%s', ''), @@ -279,15 +279,19 @@ # Additional stuff for the LaTeX preamble. # 'preamble': 'usepackage{textgreek}', # Removing as weird ... ? - 'preamble': '\\usepackage{newtxsf}' - + 'preamble': r''' + \DeclareUnicodeCharacter{2212}{-} + \DeclareUnicodeCharacter{22C5}{⋅} + \usepackage{newtxsf} + ''' } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('formal', 'formal.tex', u'CellML Specification', u'CellML 2.0 Editors and Contributors', 'manual'), + ('formal', 'formal.tex', u'CellML Specification', + u'CellML 2.0 Editors and Contributors', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of From c757b28809addeee55c5c9f091ccf113ea51c10e Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 15:18:36 +1300 Subject: [PATCH 161/604] testing unicode declarations --- conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf.py b/conf.py index 1af442e6..642ea70c 100644 --- a/conf.py +++ b/conf.py @@ -281,9 +281,9 @@ # 'preamble': 'usepackage{textgreek}', # Removing as weird ... ? 'preamble': r''' \DeclareUnicodeCharacter{2212}{-} - \DeclareUnicodeCharacter{22C5}{⋅} - \usepackage{newtxsf} ''' + # \DeclareUnicodeCharacter{22C5}{⋅} + # \usepackage{newtxsf} } # Grouping the document tree into LaTeX files. List of tuples From 52f248d4b949c9e036cf23634e6afb46ae4a2f9f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 15:26:26 +1300 Subject: [PATCH 162/604] Declaring cdot symbol --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index 642ea70c..b9326a76 100644 --- a/conf.py +++ b/conf.py @@ -280,9 +280,9 @@ # Additional stuff for the LaTeX preamble. # 'preamble': 'usepackage{textgreek}', # Removing as weird ... ? 'preamble': r''' + \DeclareUnicodeCharacter{22C5}{⋅} \DeclareUnicodeCharacter{2212}{-} ''' - # \DeclareUnicodeCharacter{22C5}{⋅} # \usepackage{newtxsf} } From 1f6e180da5678271bdbef62a57d3702700ea6da0 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 15:35:15 +1300 Subject: [PATCH 163/604] More symbol testing --- conf.py | 3 +++ reference/sectionC_interpretation.inc | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/conf.py b/conf.py index b9326a76..1fcedf08 100644 --- a/conf.py +++ b/conf.py @@ -280,8 +280,11 @@ # Additional stuff for the LaTeX preamble. # 'preamble': 'usepackage{textgreek}', # Removing as weird ... ? 'preamble': r''' + \usepackage[utf8]{inputenc} + \usepackage{amssymb} \DeclareUnicodeCharacter{22C5}{⋅} \DeclareUnicodeCharacter{2212}{-} + \DeclareUnicodeCharacter{03A9}{Ω} ''' # \usepackage{newtxsf} } diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 1921da4d..8bbfc8cd 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -23,7 +23,7 @@ Interpretation of imports Units reference --------------- -The term "units reference" refers to the value of the :code:`units_ref` attribute in :code:`import` items for :code:`units`, and the values of the :code:`units` attribute used in :code:`unit` and :code:`variable` items. +The term "units reference" refers to the value of a :code:`units_ref` attribute in :code:`import` items for :code:`units`, and the values of :code:`units` attributes used in :code:`unit` and :code:`variable` items. #. A units reference SHALL be a CellML identifier and SHALL be interpreted dependent on the context of the :ref:`CellML model` in which it occurs, according to the units referencing rules defined later in this section. From 78418b6150121ec7e0831fd17071dfdd2566098a Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 15:43:23 +1300 Subject: [PATCH 164/604] still more symbol stuff --- conf.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/conf.py b/conf.py index 1fcedf08..120058a8 100644 --- a/conf.py +++ b/conf.py @@ -282,11 +282,14 @@ 'preamble': r''' \usepackage[utf8]{inputenc} \usepackage{amssymb} - \DeclareUnicodeCharacter{22C5}{⋅} + \usepackage{newunicodechar} \DeclareUnicodeCharacter{2212}{-} - \DeclareUnicodeCharacter{03A9}{Ω} + \newunicodechar{⋅}{\.} + \newunicodechar{Ω}{\ohm} ''' # \usepackage{newtxsf} + # \DeclareUnicodeCharacter{22C5}{⋅} + # \DeclareUnicodeCharacter{03A9}{Ω} } # Grouping the document tree into LaTeX files. List of tuples From e70bc479e15c06a4b1e4a109bf1632d8233d01ec Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 15:47:06 +1300 Subject: [PATCH 165/604] testing newunicodechar --- reference/sectionC_interpretation.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 8bbfc8cd..aa388c31 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -62,7 +62,7 @@ Table: Built-in units | farad | :math:`F` | (metre, -2), (kilogram, -1), | | :math:`C/V` | | | | (second, 4), (ampere, 2) | | :math:`s/{\Omega}` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| gram | :math:`g` | 0.001⋅(kilogram, 1) | | +| gram | :math:`g` | 0.001\.(kilogram, 1) | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | gray | :math:`Gy` | (metre, 2), (second, -2) | :math:`J/{kg}` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ @@ -82,7 +82,7 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | kilogram | :math:`kg` | \- | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| litre | :math:`l` | 0.001⋅(metre, 3) | | +| litre | :math:`l` | 0.001\.(metre, 3) | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | lumen | :math:`lm` | (candela, 1) | :math:`cd{\cdot}sr` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ @@ -95,7 +95,7 @@ Table: Built-in units | newton | :math:`N` | (metre, 1), (kilogram, 1), | | | | | (second, -2) | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| ohm | :math:`\Omega` | (metre, 2), (kilogram, 1), | | :math:`1/S` | +| ohm | \o | (metre, 2), (kilogram, 1), | | :math:`1/S` | | | | (second, -3), (ampere, -2) | | :math:`V/A` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | pascal | :math:`Pa` | (metre, -1), (kilogram, 1), | :math:`N/m^2` | From b3e1dc6ad0a367002017903d05b49ec17405fc70 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 15:49:33 +1300 Subject: [PATCH 166/604] Revert "testing newunicodechar" This reverts commit e70bc479e15c06a4b1e4a109bf1632d8233d01ec. --- reference/sectionC_interpretation.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index aa388c31..8bbfc8cd 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -62,7 +62,7 @@ Table: Built-in units | farad | :math:`F` | (metre, -2), (kilogram, -1), | | :math:`C/V` | | | | (second, 4), (ampere, 2) | | :math:`s/{\Omega}` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| gram | :math:`g` | 0.001\.(kilogram, 1) | | +| gram | :math:`g` | 0.001⋅(kilogram, 1) | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | gray | :math:`Gy` | (metre, 2), (second, -2) | :math:`J/{kg}` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ @@ -82,7 +82,7 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | kilogram | :math:`kg` | \- | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| litre | :math:`l` | 0.001\.(metre, 3) | | +| litre | :math:`l` | 0.001⋅(metre, 3) | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | lumen | :math:`lm` | (candela, 1) | :math:`cd{\cdot}sr` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ @@ -95,7 +95,7 @@ Table: Built-in units | newton | :math:`N` | (metre, 1), (kilogram, 1), | | | | | (second, -2) | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| ohm | \o | (metre, 2), (kilogram, 1), | | :math:`1/S` | +| ohm | :math:`\Omega` | (metre, 2), (kilogram, 1), | | :math:`1/S` | | | | (second, -3), (ampere, -2) | | :math:`V/A` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | pascal | :math:`Pa` | (metre, -1), (kilogram, 1), | :math:`N/m^2` | From 83fdf699f096141ea3341dfb9df907742b3967ce Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 15:52:03 +1300 Subject: [PATCH 167/604] manual omega --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 8bbfc8cd..62f2bb6c 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -96,7 +96,7 @@ Table: Built-in units | | | (second, -2) | | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | ohm | :math:`\Omega` | (metre, 2), (kilogram, 1), | | :math:`1/S` | -| | | (second, -3), (ampere, -2) | | :math:`V/A` | +| | Ω | (second, -3), (ampere, -2) | | :math:`V/A` | +---------------+-------------------+-------------------------------------------+-------------------------------------------+ | pascal | :math:`Pa` | (metre, -1), (kilogram, 1), | :math:`N/m^2` | | | | (second, -2) | | From fe79a4f455a5755e9a5b04f1b9392224fda2b6cd Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 16:05:32 +1300 Subject: [PATCH 168/604] Removed math from units symbols --- reference/sectionC_interpretation.inc | 162 +++++++++++++------------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 62f2bb6c..493dab25 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -44,87 +44,87 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute Table: Built-in units ~~~~~~~~~~~~~~~~~~~~~ -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | -| | | | multiplier⋅(base, exponent) | | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| ampere | :math:`A` | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| becquerel | :math:`Bq` | (second, -1) | :math:`1/s` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| candela | :math:`cd` | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| coulomb | :math:`C` | (second, 1), (ampere,1) | | :math:`s{\cdot}A` | -| | | | | :math:`F{\cdot}V` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| dimensionless | \- | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| farad | :math:`F` | (metre, -2), (kilogram, -1), | | :math:`C/V` | -| | | (second, 4), (ampere, 2) | | :math:`s/{\Omega}` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| gram | :math:`g` | 0.001⋅(kilogram, 1) | | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| gray | :math:`Gy` | (metre, 2), (second, -2) | :math:`J/{kg}` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| henry | :math:`H` | (metre, 2), (kilogram, 1), | | :math:`{V{\cdot}s}/A` | -| | | (second, -2), (ampere, -2) | | :math:`\Omega{\cdot}s` | -| | | | | :math:`Wb/A` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| hertz | :math:`Hz` | (second, -1) | | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| joule | :math:`J` | (metre, 2), (kilogram, 1), | | :math:`N{\cdot}m` | -| | | (second, -2) | | :math:`C{\cdot}V` | -| | | | | :math:`Wb{\cdot}s` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| katal | :math:`kat` | (second, -1), (mole, 1) | | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| kelvin | :math:`K` | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| kilogram | :math:`kg` | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| litre | :math:`l` | 0.001⋅(metre, 3) | | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| lumen | :math:`lm` | (candela, 1) | :math:`cd{\cdot}sr` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| lux | :math:`lx` | (metre, -2), (candela, 1) | :math:`{lm}/{m^2}` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| metre | :math:`m` | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| mole | :math:`mol` | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| newton | :math:`N` | (metre, 1), (kilogram, 1), | | -| | | (second, -2) | | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| ohm | :math:`\Omega` | (metre, 2), (kilogram, 1), | | :math:`1/S` | -| | Ω | (second, -3), (ampere, -2) | | :math:`V/A` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| pascal | :math:`Pa` | (metre, -1), (kilogram, 1), | :math:`N/m^2` | -| | | (second, -2) | | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| radian | :math:`rad` | (dimensionless, 1) | :math:`m/m` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| second | :math:`s` | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| siemens | :math:`S` | (metre, -2), (kilogram -1), | | :math:`s/{\Omega}` | -| | | (second, 3), (ampere, 2) | | :math:`A/V` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| sievert | :math:`Sv` | (metre, 2), (second, -2) | :math:`J/kg` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| steradian | :math:`sr` | (dimensionless, 1) | :math:`m^2/m^2` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| tesla | :math:`T` | (kilogram, 1), (second, -2), | | :math:`{V{\cdot}s}/{m^2}` | -| | | (ampere, -1) | | :math:`{Wb}/{m^2}` | -| | | | | :math:`N/{A{\cdot}m}` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| volt | :math:`V` | (metre, 2), (kilogram, 1), | | :math:`W/A` | -| | | (second , -3), (ampere, -1) | | :math:`J/C` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| watt | :math:`W` | (metre, 2), (kilogram, 1), | | :math:`J/s` | -| | | (second, -3) | | :math:`V{\cdot}A` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ -| weber | :math:`Wb` | (metre, 2), (kilogram, 1), | | :math:`J/A` | -| | | (second, -2), (ampere, -1) | | :math:`T{\cdot}m^2` | -+---------------+-------------------+-------------------------------------------+-------------------------------------------+ ++---------------+-------------------+-------------------------------------------+------------------------+ +| **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | +| | | | multiplier⋅(base, exponent) | | ++---------------+-------------------+-------------------------------------------+------------------------+ +| ampere | A | \- | | ++---------------+-------------------+-------------------------------------------+------------------------+ +| becquerel | Bq | (second, -1) | 1/s | ++---------------+-------------------+-------------------------------------------+------------------------+ +| candela | cd | \- | | ++---------------+-------------------+-------------------------------------------+------------------------+ +| coulomb | C | (second, 1), (ampere,1) | | s⋅A | +| | | | | F⋅V | ++---------------+-------------------+-------------------------------------------+------------------------+ +| dimensionless | \- | \- | | ++---------------+-------------------+-------------------------------------------+------------------------+ +| farad | F | (metre, -2), (kilogram, -1), | | C/V | +| | | (second, 4), (ampere, 2) | | s/Ω | ++---------------+-------------------+-------------------------------------------+------------------------+ +| gram | g | 0.001⋅(kilogram, 1) | | ++---------------+-------------------+-------------------------------------------+------------------------+ +| gray | Gy | (metre, 2), (second, -2) | J/kg | ++---------------+-------------------+-------------------------------------------+------------------------+ +| henry | H | (metre, 2), (kilogram, 1), | | V⋅s/A | +| | | (second, -2), (ampere, -2) | | Ω⋅s | +| | | | | Wb/A | ++---------------+-------------------+-------------------------------------------+------------------------+ +| hertz | Hz | (second, -1) | | ++---------------+-------------------+-------------------------------------------+------------------------+ +| joule | J | (metre, 2), (kilogram, 1), | | N⋅m | +| | | (second, -2) | | C⋅V | +| | | | | Wb⋅s | ++---------------+-------------------+-------------------------------------------+------------------------+ +| katal | kat | (second, -1), (mole, 1) | | ++---------------+-------------------+-------------------------------------------+------------------------+ +| kelvin | K | \- | | ++---------------+-------------------+-------------------------------------------+------------------------+ +| kilogram | kg | \- | | ++---------------+-------------------+-------------------------------------------+------------------------+ +| litre | l | 0.001⋅(metre, 3) | | ++---------------+-------------------+-------------------------------------------+------------------------+ +| lumen | lm | (candela, 1) | cd⋅sr | ++---------------+-------------------+-------------------------------------------+------------------------+ +| lux | lx | (metre, -2), (candela, 1) | lm/m:sup:`2` | ++---------------+-------------------+-------------------------------------------+------------------------+ +| metre | m | \- | | ++---------------+-------------------+-------------------------------------------+------------------------+ +| mole | mol | \- | | ++---------------+-------------------+-------------------------------------------+------------------------+ +| newton | N | (metre, 1), (kilogram, 1), | | +| | | (second, -2) | | ++---------------+-------------------+-------------------------------------------+------------------------+ +| ohm | Ω | (metre, 2), (kilogram, 1), | | 1/S | +| | | (second, -3), (ampere, -2) | | V/A | ++---------------+-------------------+-------------------------------------------+------------------------+ +| pascal | Pa | (metre, -1), (kilogram, 1), | N/m:sup:`2` | +| | | (second, -2) | | ++---------------+-------------------+-------------------------------------------+------------------------+ +| radian | rad | (dimensionless, 1) | m/m | ++---------------+-------------------+-------------------------------------------+------------------------+ +| second | s | \- | | ++---------------+-------------------+-------------------------------------------+------------------------+ +| siemens | S | (metre, -2), (kilogram -1), | | s/Ω | +| | | (second, 3), (ampere, 2) | | A/V | ++---------------+-------------------+-------------------------------------------+------------------------+ +| sievert | Sv | (metre, 2), (second, -2) | J/kg | ++---------------+-------------------+-------------------------------------------+------------------------+ +| steradian | sr | (dimensionless, 1) | m:sup:`2`/m:sup:`2` | ++---------------+-------------------+-------------------------------------------+------------------------+ +| tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m:sup:`2` | +| | | (ampere, -1) | | Wb/m:sup:`2` | +| | | | | N/(A⋅m) | ++---------------+-------------------+-------------------------------------------+------------------------+ +| volt | V | (metre, 2), (kilogram, 1), | | W/A | +| | | (second , -3), (ampere, -1) | | J/C | ++---------------+-------------------+-------------------------------------------+------------------------+ +| watt | W | (metre, 2), (kilogram, 1), | | J/s | +| | | (second, -3) | | V⋅A | ++---------------+-------------------+-------------------------------------------+------------------------+ +| weber | Wb | (metre, 2), (kilogram, 1), | | J/A | +| | | (second, -2), (ampere, -1) | | T⋅m:sup:`2` | ++---------------+-------------------+-------------------------------------------+------------------------+ .. marker_units_reference_end .. marker_interpretation_of_units_start From a8c5dc3c18f7065de2f563c25cae85b48f95b71f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 16:11:33 +1300 Subject: [PATCH 169/604] fixing superscript --- reference/sectionC_interpretation.inc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 493dab25..63e58625 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -86,7 +86,7 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+------------------------+ | lumen | lm | (candela, 1) | cd⋅sr | +---------------+-------------------+-------------------------------------------+------------------------+ -| lux | lx | (metre, -2), (candela, 1) | lm/m:sup:`2` | +| lux | lx | (metre, -2), (candela, 1) | lm/m :sup:`2` | +---------------+-------------------+-------------------------------------------+------------------------+ | metre | m | \- | | +---------------+-------------------+-------------------------------------------+------------------------+ @@ -98,7 +98,7 @@ Table: Built-in units | ohm | Ω | (metre, 2), (kilogram, 1), | | 1/S | | | | (second, -3), (ampere, -2) | | V/A | +---------------+-------------------+-------------------------------------------+------------------------+ -| pascal | Pa | (metre, -1), (kilogram, 1), | N/m:sup:`2` | +| pascal | Pa | (metre, -1), (kilogram, 1), | N/m :sup:`2` | | | | (second, -2) | | +---------------+-------------------+-------------------------------------------+------------------------+ | radian | rad | (dimensionless, 1) | m/m | @@ -110,10 +110,10 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+------------------------+ | sievert | Sv | (metre, 2), (second, -2) | J/kg | +---------------+-------------------+-------------------------------------------+------------------------+ -| steradian | sr | (dimensionless, 1) | m:sup:`2`/m:sup:`2` | +| steradian | sr | (dimensionless, 1) | m :sup:`2`/m :sup:`2` | +---------------+-------------------+-------------------------------------------+------------------------+ -| tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m:sup:`2` | -| | | (ampere, -1) | | Wb/m:sup:`2` | +| tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m :sup:`2` | +| | | (ampere, -1) | | Wb/m :sup:`2` | | | | | | N/(A⋅m) | +---------------+-------------------+-------------------------------------------+------------------------+ | volt | V | (metre, 2), (kilogram, 1), | | W/A | @@ -123,7 +123,7 @@ Table: Built-in units | | | (second, -3) | | V⋅A | +---------------+-------------------+-------------------------------------------+------------------------+ | weber | Wb | (metre, 2), (kilogram, 1), | | J/A | -| | | (second, -2), (ampere, -1) | | T⋅m:sup:`2` | +| | | (second, -2), (ampere, -1) | | T⋅m :sup:`2` | +---------------+-------------------+-------------------------------------------+------------------------+ .. marker_units_reference_end From 2cb5b9d9ebfec4d3d463f06f143338364709a981 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 16:21:33 +1300 Subject: [PATCH 170/604] escaping whitespace before sup --- reference/sectionC_interpretation.inc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 63e58625..16d9d6e2 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -86,7 +86,7 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+------------------------+ | lumen | lm | (candela, 1) | cd⋅sr | +---------------+-------------------+-------------------------------------------+------------------------+ -| lux | lx | (metre, -2), (candela, 1) | lm/m :sup:`2` | +| lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | +---------------+-------------------+-------------------------------------------+------------------------+ | metre | m | \- | | +---------------+-------------------+-------------------------------------------+------------------------+ @@ -98,7 +98,7 @@ Table: Built-in units | ohm | Ω | (metre, 2), (kilogram, 1), | | 1/S | | | | (second, -3), (ampere, -2) | | V/A | +---------------+-------------------+-------------------------------------------+------------------------+ -| pascal | Pa | (metre, -1), (kilogram, 1), | N/m :sup:`2` | +| pascal | Pa | (metre, -1), (kilogram, 1), | N/m\ :sup:`2` | | | | (second, -2) | | +---------------+-------------------+-------------------------------------------+------------------------+ | radian | rad | (dimensionless, 1) | m/m | @@ -110,10 +110,10 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+------------------------+ | sievert | Sv | (metre, 2), (second, -2) | J/kg | +---------------+-------------------+-------------------------------------------+------------------------+ -| steradian | sr | (dimensionless, 1) | m :sup:`2`/m :sup:`2` | +| steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2 | +---------------+-------------------+-------------------------------------------+------------------------+ -| tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m :sup:`2` | -| | | (ampere, -1) | | Wb/m :sup:`2` | +| tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | +| | | (ampere, -1) | | Wb/m\ :sup:`2` | | | | | | N/(A⋅m) | +---------------+-------------------+-------------------------------------------+------------------------+ | volt | V | (metre, 2), (kilogram, 1), | | W/A | @@ -123,7 +123,7 @@ Table: Built-in units | | | (second, -3) | | V⋅A | +---------------+-------------------+-------------------------------------------+------------------------+ | weber | Wb | (metre, 2), (kilogram, 1), | | J/A | -| | | (second, -2), (ampere, -1) | | T⋅m :sup:`2` | +| | | (second, -2), (ampere, -1) | | T⋅m\ :sup:`2` | +---------------+-------------------+-------------------------------------------+------------------------+ .. marker_units_reference_end From cc1b5c037355c963eaec689b2d2aa047663ed8da Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 16:24:50 +1300 Subject: [PATCH 171/604] fixed last subscript --- reference/sectionC_interpretation.inc | 162 +++++++++++++------------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 16d9d6e2..143556e6 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -44,87 +44,87 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute Table: Built-in units ~~~~~~~~~~~~~~~~~~~~~ -+---------------+-------------------+-------------------------------------------+------------------------+ -| **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | -| | | | multiplier⋅(base, exponent) | | -+---------------+-------------------+-------------------------------------------+------------------------+ -| ampere | A | \- | | -+---------------+-------------------+-------------------------------------------+------------------------+ -| becquerel | Bq | (second, -1) | 1/s | -+---------------+-------------------+-------------------------------------------+------------------------+ -| candela | cd | \- | | -+---------------+-------------------+-------------------------------------------+------------------------+ -| coulomb | C | (second, 1), (ampere,1) | | s⋅A | -| | | | | F⋅V | -+---------------+-------------------+-------------------------------------------+------------------------+ -| dimensionless | \- | \- | | -+---------------+-------------------+-------------------------------------------+------------------------+ -| farad | F | (metre, -2), (kilogram, -1), | | C/V | -| | | (second, 4), (ampere, 2) | | s/Ω | -+---------------+-------------------+-------------------------------------------+------------------------+ -| gram | g | 0.001⋅(kilogram, 1) | | -+---------------+-------------------+-------------------------------------------+------------------------+ -| gray | Gy | (metre, 2), (second, -2) | J/kg | -+---------------+-------------------+-------------------------------------------+------------------------+ -| henry | H | (metre, 2), (kilogram, 1), | | V⋅s/A | -| | | (second, -2), (ampere, -2) | | Ω⋅s | -| | | | | Wb/A | -+---------------+-------------------+-------------------------------------------+------------------------+ -| hertz | Hz | (second, -1) | | -+---------------+-------------------+-------------------------------------------+------------------------+ -| joule | J | (metre, 2), (kilogram, 1), | | N⋅m | -| | | (second, -2) | | C⋅V | -| | | | | Wb⋅s | -+---------------+-------------------+-------------------------------------------+------------------------+ -| katal | kat | (second, -1), (mole, 1) | | -+---------------+-------------------+-------------------------------------------+------------------------+ -| kelvin | K | \- | | -+---------------+-------------------+-------------------------------------------+------------------------+ -| kilogram | kg | \- | | -+---------------+-------------------+-------------------------------------------+------------------------+ -| litre | l | 0.001⋅(metre, 3) | | -+---------------+-------------------+-------------------------------------------+------------------------+ -| lumen | lm | (candela, 1) | cd⋅sr | -+---------------+-------------------+-------------------------------------------+------------------------+ -| lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | -+---------------+-------------------+-------------------------------------------+------------------------+ -| metre | m | \- | | -+---------------+-------------------+-------------------------------------------+------------------------+ -| mole | mol | \- | | -+---------------+-------------------+-------------------------------------------+------------------------+ -| newton | N | (metre, 1), (kilogram, 1), | | -| | | (second, -2) | | -+---------------+-------------------+-------------------------------------------+------------------------+ -| ohm | Ω | (metre, 2), (kilogram, 1), | | 1/S | -| | | (second, -3), (ampere, -2) | | V/A | -+---------------+-------------------+-------------------------------------------+------------------------+ -| pascal | Pa | (metre, -1), (kilogram, 1), | N/m\ :sup:`2` | -| | | (second, -2) | | -+---------------+-------------------+-------------------------------------------+------------------------+ -| radian | rad | (dimensionless, 1) | m/m | -+---------------+-------------------+-------------------------------------------+------------------------+ -| second | s | \- | | -+---------------+-------------------+-------------------------------------------+------------------------+ -| siemens | S | (metre, -2), (kilogram -1), | | s/Ω | -| | | (second, 3), (ampere, 2) | | A/V | -+---------------+-------------------+-------------------------------------------+------------------------+ -| sievert | Sv | (metre, 2), (second, -2) | J/kg | -+---------------+-------------------+-------------------------------------------+------------------------+ -| steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2 | -+---------------+-------------------+-------------------------------------------+------------------------+ -| tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | -| | | (ampere, -1) | | Wb/m\ :sup:`2` | -| | | | | N/(A⋅m) | -+---------------+-------------------+-------------------------------------------+------------------------+ -| volt | V | (metre, 2), (kilogram, 1), | | W/A | -| | | (second , -3), (ampere, -1) | | J/C | -+---------------+-------------------+-------------------------------------------+------------------------+ -| watt | W | (metre, 2), (kilogram, 1), | | J/s | -| | | (second, -3) | | V⋅A | -+---------------+-------------------+-------------------------------------------+------------------------+ -| weber | Wb | (metre, 2), (kilogram, 1), | | J/A | -| | | (second, -2), (ampere, -1) | | T⋅m\ :sup:`2` | -+---------------+-------------------+-------------------------------------------+------------------------+ ++---------------+-------------------+-------------------------------------------+-------------------------+ +| **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | +| | | | multiplier⋅(base, exponent) | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| ampere | A | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| becquerel | Bq | (second, -1) | 1/s | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| candela | cd | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| coulomb | C | (second, 1), (ampere,1) | | s⋅A | +| | | | | F⋅V | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| dimensionless | \- | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| farad | F | (metre, -2), (kilogram, -1), | | C/V | +| | | (second, 4), (ampere, 2) | | s/Ω | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| gram | g | 0.001⋅(kilogram, 1) | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| gray | Gy | (metre, 2), (second, -2) | J/kg | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| henry | H | (metre, 2), (kilogram, 1), | | V⋅s/A | +| | | (second, -2), (ampere, -2) | | Ω⋅s | +| | | | | Wb/A | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| hertz | Hz | (second, -1) | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| joule | J | (metre, 2), (kilogram, 1), | | N⋅m | +| | | (second, -2) | | C⋅V | +| | | | | Wb⋅s | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| katal | kat | (second, -1), (mole, 1) | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| kelvin | K | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| kilogram | kg | \- | | ++---------------+-------------------+-------------------------------------------+------------------------+ +| litre | l | 0.001⋅(metre, 3) | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| lumen | lm | (candela, 1) | cd⋅sr | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| metre | m | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| mole | mol | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| newton | N | (metre, 1), (kilogram, 1), | | +| | | (second, -2) | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| ohm | Ω | (metre, 2), (kilogram, 1), | | 1/S | +| | | (second, -3), (ampere, -2) | | V/A | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| pascal | Pa | (metre, -1), (kilogram, 1), | N/m\ :sup:`2` | +| | | (second, -2) | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| radian | rad | (dimensionless, 1) | m/m | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| second | s | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| siemens | S | (metre, -2), (kilogram -1), | | s/Ω | +| | | (second, 3), (ampere, 2) | | A/V | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| sievert | Sv | (metre, 2), (second, -2) | J/kg | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2` | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | +| | | (ampere, -1) | | Wb/m\ :sup:`2` | +| | | | | N/(A⋅m) | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| volt | V | (metre, 2), (kilogram, 1), | | W/A | +| | | (second , -3), (ampere, -1) | | J/C | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| watt | W | (metre, 2), (kilogram, 1), | | J/s | +| | | (second, -3) | | V⋅A | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| weber | Wb | (metre, 2), (kilogram, 1), | | J/A | +| | | (second, -2), (ampere, -1) | | T⋅m\ :sup:`2` | ++---------------+-------------------+-------------------------------------------+-------------------------+ .. marker_units_reference_end .. marker_interpretation_of_units_start From 19d1bf30d84a320d0cb7b79d80f7581a1da42a3c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 16:25:34 +1300 Subject: [PATCH 172/604] clean up conf.py --- conf.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/conf.py b/conf.py index 120058a8..3b966636 100644 --- a/conf.py +++ b/conf.py @@ -278,7 +278,6 @@ # 'pointsize': '10pt', # Additional stuff for the LaTeX preamble. - # 'preamble': 'usepackage{textgreek}', # Removing as weird ... ? 'preamble': r''' \usepackage[utf8]{inputenc} \usepackage{amssymb} @@ -287,9 +286,6 @@ \newunicodechar{⋅}{\.} \newunicodechar{Ω}{\ohm} ''' - # \usepackage{newtxsf} - # \DeclareUnicodeCharacter{22C5}{⋅} - # \DeclareUnicodeCharacter{03A9}{Ω} } # Grouping the document tree into LaTeX files. List of tuples From 9fa51004bac00593af7c9c78f4b55324598d4cf1 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 16:27:24 +1300 Subject: [PATCH 173/604] one missing hyphen ... --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 143556e6..2ef5dc6a 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -81,7 +81,7 @@ Table: Built-in units | kelvin | K | \- | | +---------------+-------------------+-------------------------------------------+-------------------------+ | kilogram | kg | \- | | -+---------------+-------------------+-------------------------------------------+------------------------+ ++---------------+-------------------+-------------------------------------------+-------------------------+ | litre | l | 0.001⋅(metre, 3) | | +---------------+-------------------+-------------------------------------------+-------------------------+ | lumen | lm | (candela, 1) | cd⋅sr | From 8fa9870061cd455850e1f7098290edb533e675a4 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 16:37:10 +1300 Subject: [PATCH 174/604] newunicodechar not working in PDF --- conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf.py b/conf.py index 3b966636..d564ff70 100644 --- a/conf.py +++ b/conf.py @@ -283,8 +283,8 @@ \usepackage{amssymb} \usepackage{newunicodechar} \DeclareUnicodeCharacter{2212}{-} - \newunicodechar{⋅}{\.} - \newunicodechar{Ω}{\ohm} + # \newunicodechar{⋅}{\.} + # \newunicodechar{Ω}{\ohm} ''' } From 2c65e2eeaa3a2c2ef42a141c5f77a08f379705e7 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 16:42:12 +1300 Subject: [PATCH 175/604] Update conf.py --- conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf.py b/conf.py index d564ff70..440b25bf 100644 --- a/conf.py +++ b/conf.py @@ -283,10 +283,10 @@ \usepackage{amssymb} \usepackage{newunicodechar} \DeclareUnicodeCharacter{2212}{-} - # \newunicodechar{⋅}{\.} - # \newunicodechar{Ω}{\ohm} ''' } +# \newunicodechar{⋅}{\.} +# \newunicodechar{Ω}{\ohm} # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, From 0df617d262bffa94cd77174e93de7172f51c9a2e Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 16:49:29 +1300 Subject: [PATCH 176/604] Declaring interpunct and omega again ... --- conf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conf.py b/conf.py index 440b25bf..d0b854bd 100644 --- a/conf.py +++ b/conf.py @@ -281,8 +281,9 @@ 'preamble': r''' \usepackage[utf8]{inputenc} \usepackage{amssymb} - \usepackage{newunicodechar} \DeclareUnicodeCharacter{2212}{-} + \DeclareUnicodeCharacter{03A9}{Ω} + \DeclareUnicodeCharacter{03A9}{⋅} ''' } # \newunicodechar{⋅}{\.} From 805cdf69fe8495a621f1655eaa1f4d4c09c3daea Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 16:53:15 +1300 Subject: [PATCH 177/604] Update conf.py --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index d0b854bd..3b67ec03 100644 --- a/conf.py +++ b/conf.py @@ -283,7 +283,7 @@ \usepackage{amssymb} \DeclareUnicodeCharacter{2212}{-} \DeclareUnicodeCharacter{03A9}{Ω} - \DeclareUnicodeCharacter{03A9}{⋅} + \DeclareUnicodeCharacter{00B7}{⋅} ''' } # \newunicodechar{⋅}{\.} From 8d9fb8bd4bef0e31451c5ab5ea22d6cd3885cfbc Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 26 Mar 2020 17:06:36 +1300 Subject: [PATCH 178/604] Changed to editors@cellml.org --- reference/sectionA_definitions.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index 9a1472b2..af39f250 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -27,7 +27,7 @@ Randall Britten, Poul Nielsen and David P. Nickerson -**Contact:** help@physiomeproject.org +**Contact:** editors@cellml.org **Preamble** From 50af41e9c8e1660e8d277d2a5ff7cbdf37642ed5 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Thu, 26 Mar 2020 17:33:38 +1300 Subject: [PATCH 179/604] Fixed a small issue the siemens unit. --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 2ef5dc6a..267f410d 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -105,7 +105,7 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+-------------------------+ | second | s | \- | | +---------------+-------------------+-------------------------------------------+-------------------------+ -| siemens | S | (metre, -2), (kilogram -1), | | s/Ω | +| siemens | S | (metre, -2), (kilogram -1), | | 1/Ω | | | | (second, 3), (ampere, 2) | | A/V | +---------------+-------------------+-------------------------------------------+-------------------------+ | sievert | Sv | (metre, 2), (second, -2) | J/kg | From 98da85d53f65ad4cd57eee48fd0bf2c73699d3b2 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Thu, 26 Mar 2020 17:38:05 +1300 Subject: [PATCH 180/604] Units table: move the `kilogram` information before the `metre` information. --- reference/sectionC_interpretation.inc | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 267f410d..1f9fd302 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -59,20 +59,20 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+-------------------------+ | dimensionless | \- | \- | | +---------------+-------------------+-------------------------------------------+-------------------------+ -| farad | F | (metre, -2), (kilogram, -1), | | C/V | +| farad | F | (kilogram, -1), (metre, -2), | | C/V | | | | (second, 4), (ampere, 2) | | s/Ω | +---------------+-------------------+-------------------------------------------+-------------------------+ | gram | g | 0.001⋅(kilogram, 1) | | +---------------+-------------------+-------------------------------------------+-------------------------+ | gray | Gy | (metre, 2), (second, -2) | J/kg | +---------------+-------------------+-------------------------------------------+-------------------------+ -| henry | H | (metre, 2), (kilogram, 1), | | V⋅s/A | +| henry | H | (kilogram, 1), (metre, 2), | | V⋅s/A | | | | (second, -2), (ampere, -2) | | Ω⋅s | | | | | | Wb/A | +---------------+-------------------+-------------------------------------------+-------------------------+ | hertz | Hz | (second, -1) | | +---------------+-------------------+-------------------------------------------+-------------------------+ -| joule | J | (metre, 2), (kilogram, 1), | | N⋅m | +| joule | J | (kilogram, 1), (metre, 2), | | N⋅m | | | | (second, -2) | | C⋅V | | | | | | Wb⋅s | +---------------+-------------------+-------------------------------------------+-------------------------+ @@ -92,20 +92,20 @@ Table: Built-in units +---------------+-------------------+-------------------------------------------+-------------------------+ | mole | mol | \- | | +---------------+-------------------+-------------------------------------------+-------------------------+ -| newton | N | (metre, 1), (kilogram, 1), | | +| newton | N | (kilogram, 1), (metre, 1), | | | | | (second, -2) | | +---------------+-------------------+-------------------------------------------+-------------------------+ -| ohm | Ω | (metre, 2), (kilogram, 1), | | 1/S | +| ohm | Ω | (kilogram, 1), (metre, 2), | | 1/S | | | | (second, -3), (ampere, -2) | | V/A | +---------------+-------------------+-------------------------------------------+-------------------------+ -| pascal | Pa | (metre, -1), (kilogram, 1), | N/m\ :sup:`2` | +| pascal | Pa | (kilogram, 1), (metre, -1), | N/m\ :sup:`2` | | | | (second, -2) | | +---------------+-------------------+-------------------------------------------+-------------------------+ | radian | rad | (dimensionless, 1) | m/m | +---------------+-------------------+-------------------------------------------+-------------------------+ | second | s | \- | | +---------------+-------------------+-------------------------------------------+-------------------------+ -| siemens | S | (metre, -2), (kilogram -1), | | 1/Ω | +| siemens | S | (kilogram -1), (metre, -2), | | 1/Ω | | | | (second, 3), (ampere, 2) | | A/V | +---------------+-------------------+-------------------------------------------+-------------------------+ | sievert | Sv | (metre, 2), (second, -2) | J/kg | @@ -116,13 +116,13 @@ Table: Built-in units | | | (ampere, -1) | | Wb/m\ :sup:`2` | | | | | | N/(A⋅m) | +---------------+-------------------+-------------------------------------------+-------------------------+ -| volt | V | (metre, 2), (kilogram, 1), | | W/A | +| volt | V | (kilogram, 1), (metre, 2), | | W/A | | | | (second , -3), (ampere, -1) | | J/C | +---------------+-------------------+-------------------------------------------+-------------------------+ -| watt | W | (metre, 2), (kilogram, 1), | | J/s | +| watt | W | (kilogram, 1), (metre, 2), | | J/s | | | | (second, -3) | | V⋅A | +---------------+-------------------+-------------------------------------------+-------------------------+ -| weber | Wb | (metre, 2), (kilogram, 1), | | J/A | +| weber | Wb | (kilogram, 1), (metre, 2), | | J/A | | | | (second, -2), (ampere, -1) | | T⋅m\ :sup:`2` | +---------------+-------------------+-------------------------------------------+-------------------------+ From 5609e0cf3ab1dd011ffc595ab11e9b95f67efc1f Mon Sep 17 00:00:00 2001 From: David Nickerson Date: Fri, 27 Mar 2020 17:47:03 +1300 Subject: [PATCH 181/604] Updating author and contributor lists --- reference/sectionA_definitions.inc | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index af39f250..d9dd5b12 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -10,22 +10,29 @@ Jonathan Cooper Alan Garny Keri Moyle David P. Nickerson +Poul Nielsen Hugh Sorby **Contributors:** -Jesús C. Fernández -David Brooks Koray Atalag +David Brooks +Edmund J. Crampin +Jesús Carro Fernández +Peter J. Hunter +Gary R. Mirams +Maxwell L. Neal The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification - although the semantics have changed considerably. The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: Andrew K. Miller (who wrote the text reused here), +Randall Britten, Jonathan Cooper, -Justin Marsh, Alan Garny, -Randall Britten, -Poul Nielsen -and David P. Nickerson +Peter J. Hunter +Justin Marsh, +Poul Nielsen, +David P. Nickerson, +and Hugh Sorby **Contact:** editors@cellml.org From 9e47b0dbedb370fafd17e471f9f9aa0ef1351791 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 08:24:55 +1300 Subject: [PATCH 182/604] remove refs to libcellml --- conf.py | 2 +- reference/informative/informB1_model3.rst | 2 +- reference/informative/informB3_import_units1.rst | 2 -- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/conf.py b/conf.py index d8b8c136..e89469f2 100644 --- a/conf.py +++ b/conf.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# libCellML documentation build configuration file, created by +# CellML specifications build configuration file, created by # sphinx-quickstart on Mon Jun 9 21:58:16 2014. # # This file is execfile()d with the current directory set to its diff --git a/reference/informative/informB1_model3.rst b/reference/informative/informB1_model3.rst index 0c7fc5ac..23c8876c 100644 --- a/reference/informative/informB1_model3.rst +++ b/reference/informative/informB1_model3.rst @@ -15,4 +15,4 @@ For more information about encapsulation, please refer to :ref:`The encapsulation element information item`. For more information and examples involving and explaining encapsulation, please refer to the :libcellml_tutorials:`Theory of a sodium channel ` page. - **TODO** put link to theory section in libCellML here? + diff --git a/reference/informative/informB3_import_units1.rst b/reference/informative/informB3_import_units1.rst index 7fb2315e..a432a12d 100644 --- a/reference/informative/informB3_import_units1.rst +++ b/reference/informative/informB3_import_units1.rst @@ -50,5 +50,3 @@ - Note that libCellML uses some workarounds to avoid this kind of conflict. - Please click the :ref:`See libCellML implementation +` toggle for details. From 0f9a861807d8ab67e3407ac5284af505ba2d8f67 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 08:36:34 +1300 Subject: [PATCH 183/604] Adding bullets and commas to author list --- reference/sectionA_definitions.inc | 50 ++++++++++++++++-------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index d9dd5b12..d38db272 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -4,35 +4,37 @@ **Authors:** -Michael Clerx -Michael T. Cooling -Jonathan Cooper -Alan Garny -Keri Moyle -David P. Nickerson -Poul Nielsen -Hugh Sorby + - Michael Clerx, + - Michael T. Cooling, + - Jonathan Cooper, + - Alan Garny, + - Keri Moyle, + - David P. Nickerson, + - Poul Nielsen, + - Hugh Sorby. **Contributors:** -Koray Atalag -David Brooks -Edmund J. Crampin -Jesús Carro Fernández -Peter J. Hunter -Gary R. Mirams -Maxwell L. Neal + + - Koray Atalag, + - David Brooks, + - Edmund J. Crampin, + - Jesús Carro Fernández, + - Peter J. Hunter, + - Gary R. Mirams, + - Maxwell L. Neal. The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification - although the semantics have changed considerably. The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: -Andrew K. Miller (who wrote the text reused here), -Randall Britten, -Jonathan Cooper, -Alan Garny, -Peter J. Hunter -Justin Marsh, -Poul Nielsen, -David P. Nickerson, -and Hugh Sorby + + - Andrew K. Miller (who wrote the text reused here), + - Randall Britten, + - Jonathan Cooper, + - Alan Garny, + - Peter J. Hunter + - Justin Marsh, + - Poul Nielsen, + - David P. Nickerson, + - Hugh Sorby. **Contact:** editors@cellml.org From 0facefb198af4ae55873f6bdb2b54372963e75c9 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 09:25:39 +1300 Subject: [PATCH 184/604] Moved preamble into separate docs for formal/inform --- formal.rst | 5 ++- index.rst | 4 +-- reference/formal_preamble.rst | 42 +++++++++++++++++++++++ reference/informative_preamble.rst | 43 ++++++++++++++++++++++++ reference/sectionA_definitions.inc | 53 ------------------------------ 5 files changed, 88 insertions(+), 59 deletions(-) create mode 100644 reference/formal_preamble.rst create mode 100644 reference/informative_preamble.rst diff --git a/formal.rst b/formal.rst index 670d951b..a8314244 100644 --- a/formal.rst +++ b/formal.rst @@ -4,16 +4,15 @@ CellML 2.0 Specification ========================================== + .. toctree:: :maxdepth: 2 :numbered: + reference/formal_preamble.rst reference/formal_sectionA.rst reference/formal_sectionB.rst reference/formal_sectionC.rst reference/sectionD_references.rst -.. include:: reference/sectionA_definitions.inc - :start-after: marker_preamble_start - :end-before: marker_preamble_end diff --git a/index.rst b/index.rst index 0c6c4640..0d8cb473 100644 --- a/index.rst +++ b/index.rst @@ -4,9 +4,7 @@ CellML 2.0 Specification ========================================== -.. include:: reference/sectionA_definitions.inc - :start-after: marker_preamble_start - :end-before: marker_preamble_end +.. include:: reference/informative_preamble.rst .. toctree:: :maxdepth: 1 diff --git a/reference/formal_preamble.rst b/reference/formal_preamble.rst new file mode 100644 index 00000000..96509664 --- /dev/null +++ b/reference/formal_preamble.rst @@ -0,0 +1,42 @@ +.. _formal_preamble: + +This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. +It is intended primarily for the developers of software tools which directly consume CellML syntax. +Users of CellML models should read the informative version of the CellML Specification which is available here: **TODO** + +**Authors:** + + - Michael Clerx, + - Michael T. Cooling, + - Jonathan Cooper, + - Alan Garny, + - Keri Moyle, + - David P. Nickerson, + - Poul Nielsen, + - Hugh Sorby. + +**Contributors:** + + - Koray Atalag, + - David Brooks, + - Edmund J. Crampin, + - Jesús Carro Fernández, + - Peter J. Hunter, + - Gary R. Mirams, + - Maxwell L. Neal. + +The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification - although the semantics have changed considerably. +The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: + + - Andrew K. Miller (who wrote the text reused here), + - Randall Britten, + - Jonathan Cooper, + - Alan Garny, + - Peter J. Hunter + - Justin Marsh, + - Poul Nielsen, + - David P. Nickerson, + - Hugh Sorby. + +**Contact:** editors@cellml.org + diff --git a/reference/informative_preamble.rst b/reference/informative_preamble.rst new file mode 100644 index 00000000..bace517c --- /dev/null +++ b/reference/informative_preamble.rst @@ -0,0 +1,43 @@ +.. _inform_preamble: + +This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. +It is intended primarily for the developers of software tools which directly consume CellML syntax. +Users of CellML models may expand the "See more" blocks throughout this document to access the informative version and see examples. +Software-specific information is also available under their repsective names or icons throughout the text. + +**Authors:** + + - Michael Clerx, + - Michael T. Cooling, + - Jonathan Cooper, + - Alan Garny, + - Keri Moyle, + - David P. Nickerson, + - Poul Nielsen, + - Hugh Sorby. + +**Contributors:** + + - Koray Atalag, + - David Brooks, + - Edmund J. Crampin, + - Jesús Carro Fernández, + - Peter J. Hunter, + - Gary R. Mirams, + - Maxwell L. Neal. + +The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification - although the semantics have changed considerably. +The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: + + - Andrew K. Miller (who wrote the text reused here), + - Randall Britten, + - Jonathan Cooper, + - Alan Garny, + - Peter J. Hunter + - Justin Marsh, + - Poul Nielsen, + - David P. Nickerson, + - Hugh Sorby. + +**Contact:** editors@cellml.org + diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index 2ef508f1..ef99c578 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -1,58 +1,5 @@ .. _sectionA: -.. marker_preamble_start - -This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. -It is intended primarily for the developers of software tools which directly consume CellML syntax. -Users of CellML models should read the informative version of the CellML Specification which is available here: https://doi.org/science/1.1.1.10. - -**Authors:** - - - Michael Clerx, - - Michael T. Cooling, - - Jonathan Cooper, - - Alan Garny, - - Keri Moyle, - - David P. Nickerson, - - Poul Nielsen, - - Hugh Sorby. - -**Contributors:** - - - Koray Atalag, - - David Brooks, - - Edmund J. Crampin, - - Jesús Carro Fernández, - - Peter J. Hunter, - - Gary R. Mirams, - - Maxwell L. Neal. - -The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification - although the semantics have changed considerably. -The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: - - - Andrew K. Miller (who wrote the text reused here), - - Randall Britten, - - Jonathan Cooper, - - Alan Garny, - - Peter J. Hunter - - Justin Marsh, - - Poul Nielsen, - - David P. Nickerson, - - Hugh Sorby. - -**Contact:** editors@cellml.org - - Andrew K. Miller (who wrote the text reused here) - Jonathan Cooper - Justin Marsh - Alan Garny - Randall Britten - Poul Nielsen - and David P. Nickerson - -**Contact:** editors@cellml.org - -.. marker_preamble_end .. marker_terminology_start .. _specA_terminology: From 3b86a8ce4234fc7d3a582506d2673fd9321e3789 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 09:33:41 +1300 Subject: [PATCH 185/604] Ordering of TOC, removed bullets from PDF --- index.rst | 4 +-- reference/formal_preamble.rst | 54 +++++++++++++++++++---------------- 2 files changed, 31 insertions(+), 27 deletions(-) diff --git a/index.rst b/index.rst index 0d8cb473..860504e1 100644 --- a/index.rst +++ b/index.rst @@ -4,8 +4,6 @@ CellML 2.0 Specification ========================================== -.. include:: reference/informative_preamble.rst - .. toctree:: :maxdepth: 1 :numbered: @@ -14,3 +12,5 @@ CellML 2.0 Specification reference/index_sectionB.rst reference/index_sectionC.rst reference/sectionD_references.rst + +.. include:: reference/informative_preamble.rst diff --git a/reference/formal_preamble.rst b/reference/formal_preamble.rst index 96509664..f8f6724f 100644 --- a/reference/formal_preamble.rst +++ b/reference/formal_preamble.rst @@ -1,42 +1,46 @@ .. _formal_preamble: +========= +Preamble +========= + This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. Users of CellML models should read the informative version of the CellML Specification which is available here: **TODO** **Authors:** - - Michael Clerx, - - Michael T. Cooling, - - Jonathan Cooper, - - Alan Garny, - - Keri Moyle, - - David P. Nickerson, - - Poul Nielsen, - - Hugh Sorby. +Michael Clerx, +Michael T. Cooling, +Jonathan Cooper, +Alan Garny, +Keri Moyle, +David P. Nickerson, +Poul Nielsen, +and Hugh Sorby. **Contributors:** - - Koray Atalag, - - David Brooks, - - Edmund J. Crampin, - - Jesús Carro Fernández, - - Peter J. Hunter, - - Gary R. Mirams, - - Maxwell L. Neal. +Koray Atalag, +David Brooks, +Edmund J. Crampin, +Jesús Carro Fernández, +Peter J. Hunter, +Gary R. Mirams, +and Maxwell L. Neal. -The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification - although the semantics have changed considerably. +The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specificationalthough the semantics have changed considerably. The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: - - Andrew K. Miller (who wrote the text reused here), - - Randall Britten, - - Jonathan Cooper, - - Alan Garny, - - Peter J. Hunter - - Justin Marsh, - - Poul Nielsen, - - David P. Nickerson, - - Hugh Sorby. +Andrew K. Miller (who wrote the text reused here), +Randall Britten, +Jonathan Cooper, +Alan Garny, +Peter J. Hunter +Justin Marsh, +Poul Nielsen, +David P. Nickerson, +and Hugh Sorby. **Contact:** editors@cellml.org From 5dd274670df4b23407747b6852fd6043055d81e8 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 09:39:11 +1300 Subject: [PATCH 186/604] Move preamble out of TOC in PDF --- formal.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/formal.rst b/formal.rst index a8314244..d735c802 100644 --- a/formal.rst +++ b/formal.rst @@ -4,12 +4,12 @@ CellML 2.0 Specification ========================================== +.. include:: reference/formal_preamble.rst .. toctree:: :maxdepth: 2 :numbered: - reference/formal_preamble.rst reference/formal_sectionA.rst reference/formal_sectionB.rst reference/formal_sectionC.rst From f427dc5a5ab027cd17797ae8dd05954c257e8dd5 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 10:21:36 +1300 Subject: [PATCH 187/604] Testing preamble stuff --- conf.py | 1 + reference/formal_preamble.rst | 3 +- reference/informative_preamble.rst | 50 +++++++++++++++--------------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/conf.py b/conf.py index 5d7425a0..8e846ee8 100644 --- a/conf.py +++ b/conf.py @@ -282,6 +282,7 @@ \usepackage[titles]{tocloft} \usepackage{textgreek} \DeclareUnicodeCharacter{2212}{-} + "This is where I want to put some text. I have no clue if it will work." ''' } diff --git a/reference/formal_preamble.rst b/reference/formal_preamble.rst index f8f6724f..16e6f6f2 100644 --- a/reference/formal_preamble.rst +++ b/reference/formal_preamble.rst @@ -1,8 +1,7 @@ .. _formal_preamble: -========= Preamble -========= +-------- This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. diff --git a/reference/informative_preamble.rst b/reference/informative_preamble.rst index bace517c..34aa2925 100644 --- a/reference/informative_preamble.rst +++ b/reference/informative_preamble.rst @@ -7,37 +7,37 @@ Software-specific information is also available under their repsective names or **Authors:** - - Michael Clerx, - - Michael T. Cooling, - - Jonathan Cooper, - - Alan Garny, - - Keri Moyle, - - David P. Nickerson, - - Poul Nielsen, - - Hugh Sorby. +Michael Clerx, +Michael T. Cooling, +Jonathan Cooper, +Alan Garny, +Keri Moyle, +David P. Nickerson, +Poul Nielsen, +and Hugh Sorby. **Contributors:** - - Koray Atalag, - - David Brooks, - - Edmund J. Crampin, - - Jesús Carro Fernández, - - Peter J. Hunter, - - Gary R. Mirams, - - Maxwell L. Neal. +Koray Atalag, +David Brooks, +Edmund J. Crampin, +Jesús Carro Fernández, +Peter J. Hunter, +Gary R. Mirams, +and Maxwell L. Neal. -The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification - although the semantics have changed considerably. +The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification, although the semantics have changed considerably. The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: - - Andrew K. Miller (who wrote the text reused here), - - Randall Britten, - - Jonathan Cooper, - - Alan Garny, - - Peter J. Hunter - - Justin Marsh, - - Poul Nielsen, - - David P. Nickerson, - - Hugh Sorby. +Andrew K. Miller (who wrote the text reused here), +Randall Britten, +Jonathan Cooper, +Alan Garny, +Peter J. Hunter +Justin Marsh, +Poul Nielsen, +David P. Nickerson, +and Hugh Sorby. **Contact:** editors@cellml.org From 5778ec5b86e9d786eca5f8cd0f22534b39775537 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 10:26:50 +1300 Subject: [PATCH 188/604] Yet more preamble testing --- conf.py | 1 - formal.rst | 40 ++++++++++++++++++++++++++++++- reference/formal_preamble.rst | 45 ----------------------------------- 3 files changed, 39 insertions(+), 47 deletions(-) delete mode 100644 reference/formal_preamble.rst diff --git a/conf.py b/conf.py index 8e846ee8..5d7425a0 100644 --- a/conf.py +++ b/conf.py @@ -282,7 +282,6 @@ \usepackage[titles]{tocloft} \usepackage{textgreek} \DeclareUnicodeCharacter{2212}{-} - "This is where I want to put some text. I have no clue if it will work." ''' } diff --git a/formal.rst b/formal.rst index d735c802..acb3acb2 100644 --- a/formal.rst +++ b/formal.rst @@ -4,7 +4,45 @@ CellML 2.0 Specification ========================================== -.. include:: reference/formal_preamble.rst +Preamble +-------- + +This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. +It is intended primarily for the developers of software tools which directly consume CellML syntax. +Users of CellML models should read the informative version of the CellML Specification which is available here: **TODO** + +**Authors:** +Michael Clerx, +Michael T. Cooling, +Jonathan Cooper, +Alan Garny, +Keri Moyle, +David P. Nickerson, +Poul Nielsen, +and Hugh Sorby. + +**Contributors:** +Koray Atalag, +David Brooks, +Edmund J. Crampin, +Jesús Carro Fernández, +Peter J. Hunter, +Gary R. Mirams, +and Maxwell L. Neal. + +The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification, although the semantics have changed considerably. +The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: +Andrew K. Miller (who wrote the text reused here), +Randall Britten, +Jonathan Cooper, +Alan Garny, +Peter J. Hunter +Justin Marsh, +Poul Nielsen, +David P. Nickerson, +and Hugh Sorby. + +**Contact:** editors@cellml.org .. toctree:: :maxdepth: 2 diff --git a/reference/formal_preamble.rst b/reference/formal_preamble.rst deleted file mode 100644 index 16e6f6f2..00000000 --- a/reference/formal_preamble.rst +++ /dev/null @@ -1,45 +0,0 @@ -.. _formal_preamble: - -Preamble --------- - -This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. -It is intended primarily for the developers of software tools which directly consume CellML syntax. -Users of CellML models should read the informative version of the CellML Specification which is available here: **TODO** - -**Authors:** - -Michael Clerx, -Michael T. Cooling, -Jonathan Cooper, -Alan Garny, -Keri Moyle, -David P. Nickerson, -Poul Nielsen, -and Hugh Sorby. - -**Contributors:** - -Koray Atalag, -David Brooks, -Edmund J. Crampin, -Jesús Carro Fernández, -Peter J. Hunter, -Gary R. Mirams, -and Maxwell L. Neal. - -The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specificationalthough the semantics have changed considerably. -The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: - -Andrew K. Miller (who wrote the text reused here), -Randall Britten, -Jonathan Cooper, -Alan Garny, -Peter J. Hunter -Justin Marsh, -Poul Nielsen, -David P. Nickerson, -and Hugh Sorby. - -**Contact:** editors@cellml.org - From 06782281a7ebaa6f4580548c663af25989d01a7d Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 10:28:36 +1300 Subject: [PATCH 189/604] If you know the tune, sing along --- formal.rst | 3 --- 1 file changed, 3 deletions(-) diff --git a/formal.rst b/formal.rst index acb3acb2..3607135c 100644 --- a/formal.rst +++ b/formal.rst @@ -4,9 +4,6 @@ CellML 2.0 Specification ========================================== -Preamble --------- - This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. Users of CellML models should read the informative version of the CellML Specification which is available here: **TODO** From af74f07b8d53fb4c09b674aec96f8aa1b98de4c0 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 10:48:50 +1300 Subject: [PATCH 190/604] Separate table using only sections --- conf.py | 2 - reference/sectionC_interpretation.inc | 248 +++++++++++++++++--------- 2 files changed, 167 insertions(+), 83 deletions(-) diff --git a/conf.py b/conf.py index d935cc76..26c1fdde 100644 --- a/conf.py +++ b/conf.py @@ -288,8 +288,6 @@ \DeclareUnicodeCharacter{00B7}{⋅} ''' } -# \newunicodechar{⋅}{\.} -# \newunicodechar{Ω}{\ohm} # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 824efa6c..85950dae 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -38,87 +38,173 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute **Table 3.1: Built-in units** -+---------------+-------------------+-------------------------------------------+-------------------------+ -| **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | -| | | | multiplier⋅(base, exponent) | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| ampere | A | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| becquerel | Bq | (second, -1) | 1/s | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| candela | cd | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| coulomb | C | (second, 1), (ampere,1) | | s⋅A | -| | | | | F⋅V | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| dimensionless | \- | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| farad | F | (kilogram, -1), (metre, -2), | | C/V | -| | | (second, 4), (ampere, 2) | | s/Ω | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| gram | g | 0.001⋅(kilogram, 1) | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| gray | Gy | (metre, 2), (second, -2) | J/kg | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| henry | H | (kilogram, 1), (metre, 2), | | V⋅s/A | -| | | (second, -2), (ampere, -2) | | Ω⋅s | -| | | | | Wb/A | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| hertz | Hz | (second, -1) | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| joule | J | (kilogram, 1), (metre, 2), | | N⋅m | -| | | (second, -2) | | C⋅V | -| | | | | Wb⋅s | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| katal | kat | (second, -1), (mole, 1) | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| kelvin | K | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| kilogram | kg | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| litre | l | 0.001⋅(metre, 3) | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| lumen | lm | (candela, 1) | cd⋅sr | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| metre | m | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| mole | mol | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| newton | N | (kilogram, 1), (metre, 1), | | -| | | (second, -2) | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| ohm | Ω | (kilogram, 1), (metre, 2), | | 1/S | -| | | (second, -3), (ampere, -2) | | V/A | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| pascal | Pa | (kilogram, 1), (metre, -1), | N/m\ :sup:`2` | -| | | (second, -2) | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| radian | rad | (dimensionless, 1) | m/m | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| second | s | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| siemens | S | (kilogram -1), (metre, -2), | | 1/Ω | -| | | (second, 3), (ampere, 2) | | A/V | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| sievert | Sv | (metre, 2), (second, -2) | J/kg | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2` | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | -| | | (ampere, -1) | | Wb/m\ :sup:`2` | -| | | | | N/(A⋅m) | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| volt | V | (kilogram, 1), (metre, 2), | | W/A | -| | | (second , -3), (ampere, -1) | | J/C | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| watt | W | (kilogram, 1), (metre, 2), | | J/s | -| | | (second, -3) | | V⋅A | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| weber | Wb | (kilogram, 1), (metre, 2), | | J/A | -| | | (second, -2), (ampere, -1) | | T⋅m\ :sup:`2` | -+---------------+-------------------+-------------------------------------------+-------------------------+ +.. only:: html + + +---------------+-------------------+-------------------------------------------+-------------------------+ + | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | + | | | | multiplier⋅(base, exponent) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | ampere | A | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | becquerel | Bq | (second, -1) | 1/s | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | candela | cd | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | coulomb | C | (second, 1), (ampere,1) | | s⋅A | + | | | | | F⋅V | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | dimensionless | \- | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | farad | F | (kilogram, -1), (metre, -2), | | C/V | + | | | (second, 4), (ampere, 2) | | s/Ω | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | gram | g | 0.001⋅(kilogram, 1) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | gray | Gy | (metre, 2), (second, -2) | J/kg | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | henry | H | (kilogram, 1), (metre, 2), | | V⋅s/A | + | | | (second, -2), (ampere, -2) | | Ω⋅s | + | | | | | Wb/A | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | hertz | Hz | (second, -1) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | joule | J | (kilogram, 1), (metre, 2), | | N⋅m | + | | | (second, -2) | | C⋅V | + | | | | | Wb⋅s | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | katal | kat | (second, -1), (mole, 1) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | kelvin | K | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | kilogram | kg | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | litre | l | 0.001⋅(metre, 3) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | lumen | lm | (candela, 1) | cd⋅sr | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | metre | m | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | mole | mol | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | newton | N | (kilogram, 1), (metre, 1), | | + | | | (second, -2) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | ohm | Ω | (kilogram, 1), (metre, 2), | | 1/S | + | | | (second, -3), (ampere, -2) | | V/A | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | pascal | Pa | (kilogram, 1), (metre, -1), | N/m\ :sup:`2` | + | | | (second, -2) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | radian | rad | (dimensionless, 1) | m/m | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | second | s | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | siemens | S | (kilogram -1), (metre, -2), | | 1/Ω | + | | | (second, 3), (ampere, 2) | | A/V | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | sievert | Sv | (metre, 2), (second, -2) | J/kg | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2` | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | + | | | (ampere, -1) | | Wb/m\ :sup:`2` | + | | | | | N/(A⋅m) | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | volt | V | (kilogram, 1), (metre, 2), | | W/A | + | | | (second , -3), (ampere, -1) | | J/C | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | watt | W | (kilogram, 1), (metre, 2), | | J/s | + | | | (second, -3) | | V⋅A | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | weber | Wb | (kilogram, 1), (metre, 2), | | J/A | + | | | (second, -2), (ampere, -1) | | T⋅m\ :sup:`2` | + +---------------+-------------------+-------------------------------------------+-------------------------+ + +.. only:: latex + + +---------------+-------------------+-------------------------------------------+-------------------------+ + | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | + | | | | multiplier.(base, exponent) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | ampere | A | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | becquerel | Bq | (second, -1) | 1/s | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | candela | cd | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | coulomb | C | (second, 1), (ampere,1) | | s.A | + | | | | | F.V | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | dimensionless | \- | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | farad | F | (kilogram, -1), (metre, -2), | | C/V | + | | | (second, 4), (ampere, 2) | | s/Ω | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | gram | g | 0.001 . (kilogram, 1) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | gray | Gy | (metre, 2), (second, -2) | J/kg | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | henry | H | (kilogram, 1), (metre, 2), | | V.s/A | + | | | (second, -2), (ampere, -2) | | Ω.s | + | | | | | Wb/A | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | hertz | Hz | (second, -1) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | joule | J | (kilogram, 1), (metre, 2), | | N.m | + | | | (second, -2) | | C.V | + | | | | | Wb.s | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | katal | kat | (second, -1), (mole, 1) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | kelvin | K | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | kilogram | kg | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | litre | l | 0.001 . (metre, 3) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | lumen | lm | (candela, 1) | cd.sr | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | metre | m | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | mole | mol | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | newton | N | (kilogram, 1), (metre, 1), | | + | | | (second, -2) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | ohm | Ω | (kilogram, 1), (metre, 2), | | 1/S | + | | | (second, -3), (ampere, -2) | | V/A | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | pascal | Pa | (kilogram, 1), (metre, -1), | N/m\ :sup:`2` | + | | | (second, -2) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | radian | rad | (dimensionless, 1) | m/m | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | second | s | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | siemens | S | (kilogram -1), (metre, -2), | | 1/Ω | + | | | (second, 3), (ampere, 2) | | A/V | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | sievert | Sv | (metre, 2), (second, -2) | J/kg | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2` | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | + | | | (ampere, -1) | | Wb/m\ :sup:`2` | + | | | | | N/(A.m) | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | volt | V | (kilogram, 1), (metre, 2), | | W/A | + | | | (second , -3), (ampere, -1) | | J/C | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | watt | W | (kilogram, 1), (metre, 2), | | J/s | + | | | (second, -3) | | V.A | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | weber | Wb | (kilogram, 1), (metre, 2), | | J/A | + | | | (second, -2), (ampere, -1) | | T.m\ :sup:`2` | + +---------------+-------------------+-------------------------------------------+-------------------------+ .. marker_units_reference_end .. marker_interpretation_of_units_start From 0eb0812534697d0161de6f8ff17fcff976dc3f6b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 11:11:18 +1300 Subject: [PATCH 191/604] Update newline in import component section --- reference/sectionB_elements.inc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 266eec61..c7e3c8fa 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -136,9 +136,7 @@ Specific information items .. container:: issue-import-component-ref - 2. Every :code:`import component` element MUST contain a -:code:`component_ref` attribute. The value of the :code:`component_ref` -attribute MUST be a :ref:`valid CellML identifier`. + 2. Every :code:`import component` element MUST contain a :code:`component_ref` attribute. The value of the :code:`component_ref` attribute MUST be a :ref:`valid CellML identifier`. The value of the :code:`component_ref` attribute MUST match the value of the :code:`name` attribute on a :code:`component` or :code:`import component` element in the imported :ref:`CellML infoset`. See also the :ref:`Component reference` section. From d1ee0685455b963568170fbd0eb30ca41f7021cb Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 11:37:35 +1300 Subject: [PATCH 192/604] REmoved hardcoded link to 19.5 --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 85950dae..a5e98953 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -349,7 +349,7 @@ Variable reference Interpretation of initial values ================================ -#. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a real number string, or a variable reference (see 19.5). +#. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a real number string, or a :ref:`variable reference<_specC_variable_reference>`. #. The conditions when initial values hold are (by design) not defined in a :ref:`CellML model` document. From b2232b58dfde2c642fdbaa3624042da56b371d9a Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 11:47:24 +1300 Subject: [PATCH 193/604] Added monospace to headings in chapter 3 --- reference/sectionC_interpretation.inc | 40 +++++++++++++-------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 1f9fd302..2632445d 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -9,8 +9,8 @@ Section C: Interpretation .. _specC_interpretation_of_imports: -Interpretation of imports -------------------------- +Interpretation of ``import`` elements +------------------------------------- #. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and separate instance of the CellML infoset referenced by the :code:`href` attribute (the imported infoset). See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. @@ -20,8 +20,8 @@ Interpretation of imports .. _specC_units_reference: -Units reference ---------------- +References to ``units`` elements +-------------------------------- The term "units reference" refers to the value of a :code:`units_ref` attribute in :code:`import` items for :code:`units`, and the values of :code:`units` attributes used in :code:`unit` and :code:`variable` items. @@ -131,8 +131,8 @@ Table: Built-in units .. _specC_interpretation_of_units: -Interpretation of units ------------------------ +Interpretation of ``units`` +--------------------------- 1. The :code:`units` element SHALL be interpreted as the product of its :code:`unit` element children, according to the following rules: @@ -235,8 +235,8 @@ yocto −24 .. _specC_component_reference: -Component reference -------------------- +References to ``component`` elements +------------------------------------ The term "component reference" refers to the value of a :code:`component_ref` attribute used in an :code:`import` item for :code:`component` items, to :code:`component_ref` elements which occur as children of :code:`encapsulation` items, and to the value of :code:`component_1` and :code:`component_2` attributes used in :code:`connection` items. @@ -255,8 +255,8 @@ The term "component reference" refers to the value of a :code:`component_ref` at .. _specC_variable_reference: -Variable reference ------------------- +References to ``variable`` elements +----------------------------------- #. When present in an information item which is a descendant of a :code:`component` element, a variable reference SHALL be the name of a variable, and SHALL refer to the :code:`variable` element in that component with a :code:`name` attribute identical to the variable reference. @@ -268,8 +268,8 @@ In this case, the variable reference SHALL be treated as if it was just the vari .. _specC_interpretation_of_initial_values: -Interpretation of initial values --------------------------------- +Interpretation of ``initial_value`` attributes +---------------------------------------------- #. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a real number string, or a variable reference (see 19.5). @@ -284,8 +284,8 @@ Interpretation of initial values .. _specC_effect_of_units_on_variables: -Effect of units on variables ----------------------------- +Effect of ``units`` element on a ``variable`` +--------------------------------------------- #. The value of the :code:`units` attribute on every :code:`variable` element MUST be a valid units reference. The target of this units reference is referred to as the variable units, and the corresponding unit reduction (see :ref:`Interpretation of units`) is referred to as the variable unit reduction. @@ -315,8 +315,8 @@ Interpretation of mathematics .. _specC_interpretation_of_encapsulation: -Interpretation of encapsulation -------------------------------- +Interpretation of ``encapsulation`` +----------------------------------- #. For the purposes of this specification, there SHALL be a "conceptual encapsulation digraph" in which there is EXACTLY one node for every component in the :ref:`CellML model`. Therefore the encapsulation digraph will not contain any loops. @@ -339,8 +339,8 @@ Interpretation of encapsulation .. _specC_interpretation_of_map_variables: -Interpretation of map_variables -------------------------------- +Interpretation of ``map_variables`` +----------------------------------- #. For the purposes of this specification, the variable equivalence (conceptual) network SHALL be an undirected graph with one node for every :code:`variable` element in the :ref:`CellML model`. The arcs of this graph SHALL be equivalences defined in the CellML model. @@ -398,8 +398,8 @@ Interpretation of map_variables .. _specC_interpretation_of_variable_resets: -Interpretation of variable resets ---------------------------------- +Interpretation of variable ``reset`` elements +--------------------------------------------- #. Each :code:`reset` element describes a change to be applied to the variable referenced by the :code:`variable` attribute when specified conditions are met during the simulation of the model. From 8997533bc99c9b342cda97fa845b4a726f6258de Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 11:55:28 +1300 Subject: [PATCH 194/604] Update sectionC_interpretation.inc --- reference/sectionC_interpretation.inc | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 2632445d..095a32c8 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -13,7 +13,7 @@ Interpretation of ``import`` elements ------------------------------------- #. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and separate instance of the CellML infoset referenced by the :code:`href` attribute (the imported infoset). - See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. + See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. .. marker_interpretation_of_imports_end .. marker_units_reference_start @@ -131,8 +131,8 @@ Table: Built-in units .. _specC_interpretation_of_units: -Interpretation of ``units`` ---------------------------- +Interpretation of ``units`` elements +------------------------------------ 1. The :code:`units` element SHALL be interpreted as the product of its :code:`unit` element children, according to the following rules: @@ -165,7 +165,7 @@ Interpretation of ``units`` .. marker_interpretation_of_units_1_4 -2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements), and 2) built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units` table) referenced by variables or other units in the model. +2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements), and 2) built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units` table) referenced by variables or other units in the model. .. marker_interpretation_of_units_2 @@ -284,8 +284,8 @@ Interpretation of ``initial_value`` attributes .. _specC_effect_of_units_on_variables: -Effect of ``units`` element on a ``variable`` ---------------------------------------------- +Effect of ``units`` on a ``variable`` +------------------------------------- #. The value of the :code:`units` attribute on every :code:`variable` element MUST be a valid units reference. The target of this units reference is referred to as the variable units, and the corresponding unit reduction (see :ref:`Interpretation of units`) is referred to as the variable unit reduction. @@ -398,8 +398,8 @@ Interpretation of ``map_variables`` .. _specC_interpretation_of_variable_resets: -Interpretation of variable ``reset`` elements ---------------------------------------------- +Interpretation of ``variable`` ``reset`` elements +------------------------------------------------- #. Each :code:`reset` element describes a change to be applied to the variable referenced by the :code:`variable` attribute when specified conditions are met during the simulation of the model. From a7e35bee50aaaafdc9a3af61ea0ef9da1adc6f9c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 12:20:43 +1300 Subject: [PATCH 195/604] Added equation as math instead of image --- reference/images/equation_units_expansion.png | Bin 36364 -> 0 bytes reference/sectionC_interpretation.inc | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 reference/images/equation_units_expansion.png diff --git a/reference/images/equation_units_expansion.png b/reference/images/equation_units_expansion.png deleted file mode 100644 index ecdf817d8a9d30e4faae81a27faac88ceb29201b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36364 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%0D3_8;4 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
3+jI$#3O0 zD*v{V+BoPb=SVml>p!*SKj_SV{(l!x<$GDwsTBWHcl`(F_~++snZd3lZ0;5R7u5OB zkNx}40D17+={sz6{{3tJ?+>&8?;ro)*Zx1Z-T!X5|2=B|BU=3b9Apl!Zz>No#Dzw; Q-T?opC~7K{Jg`LlAIQ9{u>b%7 diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 1f9fd302..a576b67a 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -156,9 +156,9 @@ Interpretation of units 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element units, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be - .. image:: images/equation_units_expansion.png - :align: center - :width: 50% + .. math:: + + x[u_x] = {\dfrac {1} {m_1 \dotsm m_n(10^{p_1})^{e_1} \dotsm (10^{p_1})^{e_n}}} { \left[ \dfrac {u_x}{u^{e_1} \dotsm u^{e_n}} \right ] }P \left[ u^{e_1} \dotsm u^{e_n} \right] where: :math:`u_x` denotes the units of the :code:`units` element; :math:`p_i`, :math:`e_i`, :math:`m_i` and :math:`u_i` refer to the prefix, exponent and multiplier terms and units of the :math:`i^{th}` :code:`unit` child element, respectively. Square brackets encompass the units of numerical values. From 95c9f510d5c92864d2bdf02e46ca617db1df24e9 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 12:24:58 +1300 Subject: [PATCH 196/604] Update sectionC_interpretation.inc --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index a576b67a..96225fcc 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -160,7 +160,7 @@ Interpretation of units x[u_x] = {\dfrac {1} {m_1 \dotsm m_n(10^{p_1})^{e_1} \dotsm (10^{p_1})^{e_n}}} { \left[ \dfrac {u_x}{u^{e_1} \dotsm u^{e_n}} \right ] }P \left[ u^{e_1} \dotsm u^{e_n} \right] - where: :math:`u_x` denotes the units of the :code:`units` element; :math:`p_i`, :math:`e_i`, :math:`m_i` and :math:`u_i` refer to the prefix, exponent and multiplier terms and units of the :math:`i^{th}` :code:`unit` child element, respectively. + where :math:`u_x` denotes the units of the :code:`units` element; :math:`p_i`, :math:`e_i`, :math:`m_i` and :math:`u_i` refer to the prefix, exponent and multiplier terms and units of the :math:`i^{th}` :code:`unit` child element, respectively. Square brackets encompass the units of numerical values. .. marker_interpretation_of_units_1_4 From 2cefca5578b30c91e52656db8e5b7c7a13ef988f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 12:55:23 +1300 Subject: [PATCH 197/604] INterpretation of units section missing items --- reference/sectionC_interpretation.inc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 96225fcc..fecf39e8 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -142,8 +142,10 @@ Interpretation of units If the :code:`prefix` attribute information item has a value which is an integer string, then the value of the prefix term SHALL be the numerical value of that string. Otherwise, the :code:`prefix` attribute information item MUST have a value taken from the "Name" column of the :ref:`Prefix values table`, and the prefix term SHALL have the value taken from the "Value" column of the same row. + .. marker_interpretation_of_units_1_1 + 2. The exponent term is a conceptual property of :code:`unit` elements. If a :code:`unit` element has no :code:`exponent` attribute information item, the exponent term SHALL have value 1.0. Otherwise, the value of the :code:`exponent` attribute information item MUST be a real number string, and the value of the exponent term SHALL be the numerical value of that string. @@ -152,8 +154,10 @@ Interpretation of units If a :code:`unit` element has no :code:`multiplier` attribute information item, the multiplier term SHALL have value 1.0. Otherwise, the value of the :code:`multiplier` attribute information item MUST be a real number string, and the value of the multiplier term SHALL be the numerical value of that string. + .. marker_interpretation_of_units_1_3 + 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element units, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be .. math:: @@ -163,6 +167,7 @@ Interpretation of units where :math:`u_x` denotes the units of the :code:`units` element; :math:`p_i`, :math:`e_i`, :math:`m_i` and :math:`u_i` refer to the prefix, exponent and multiplier terms and units of the :math:`i^{th}` :code:`unit` child element, respectively. Square brackets encompass the units of numerical values. + .. marker_interpretation_of_units_1_4 2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements), and 2) built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units` table) referenced by variables or other units in the model. From 3bf41677b25b169b4dc83a51e5ef133e6ce7d894 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 12:56:48 +1300 Subject: [PATCH 198/604] Updates as per review --- reference/sectionC_interpretation.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 095a32c8..0f06e8b0 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -315,8 +315,8 @@ Interpretation of mathematics .. _specC_interpretation_of_encapsulation: -Interpretation of ``encapsulation`` ------------------------------------ +Interpretation of ``encapsulation`` elements +-------------------------------------------- #. For the purposes of this specification, there SHALL be a "conceptual encapsulation digraph" in which there is EXACTLY one node for every component in the :ref:`CellML model`. Therefore the encapsulation digraph will not contain any loops. @@ -398,8 +398,8 @@ Interpretation of ``map_variables`` .. _specC_interpretation_of_variable_resets: -Interpretation of ``variable`` ``reset`` elements -------------------------------------------------- +Interpretation of ``reset`` elements +------------------------------------ #. Each :code:`reset` element describes a change to be applied to the variable referenced by the :code:`variable` attribute when specified conditions are met during the simulation of the model. From f130503d923bda3dd2b4bbb33e6904c7da154fa6 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 12:59:26 +1300 Subject: [PATCH 199/604] Revert "INterpretation of units section missing items" This reverts commit 2cefca5578b30c91e52656db8e5b7c7a13ef988f. --- reference/sectionC_interpretation.inc | 5 ----- 1 file changed, 5 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index fecf39e8..96225fcc 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -142,10 +142,8 @@ Interpretation of units If the :code:`prefix` attribute information item has a value which is an integer string, then the value of the prefix term SHALL be the numerical value of that string. Otherwise, the :code:`prefix` attribute information item MUST have a value taken from the "Name" column of the :ref:`Prefix values table`, and the prefix term SHALL have the value taken from the "Value" column of the same row. - .. marker_interpretation_of_units_1_1 - 2. The exponent term is a conceptual property of :code:`unit` elements. If a :code:`unit` element has no :code:`exponent` attribute information item, the exponent term SHALL have value 1.0. Otherwise, the value of the :code:`exponent` attribute information item MUST be a real number string, and the value of the exponent term SHALL be the numerical value of that string. @@ -154,10 +152,8 @@ Interpretation of units If a :code:`unit` element has no :code:`multiplier` attribute information item, the multiplier term SHALL have value 1.0. Otherwise, the value of the :code:`multiplier` attribute information item MUST be a real number string, and the value of the multiplier term SHALL be the numerical value of that string. - .. marker_interpretation_of_units_1_3 - 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element units, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be .. math:: @@ -167,7 +163,6 @@ Interpretation of units where :math:`u_x` denotes the units of the :code:`units` element; :math:`p_i`, :math:`e_i`, :math:`m_i` and :math:`u_i` refer to the prefix, exponent and multiplier terms and units of the :math:`i^{th}` :code:`unit` child element, respectively. Square brackets encompass the units of numerical values. - .. marker_interpretation_of_units_1_4 2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements), and 2) built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units` table) referenced by variables or other units in the model. From affef6bbf121e0b8626a3b0481c02d2670fa5c2e Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 13:14:45 +1300 Subject: [PATCH 200/604] Testing fix for missing sections in 3.3.1 --- .../specC03_interpretation_of_units.rst | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/reference/formal_only/specC03_interpretation_of_units.rst b/reference/formal_only/specC03_interpretation_of_units.rst index ec58e2cf..3b5ef42b 100644 --- a/reference/formal_only/specC03_interpretation_of_units.rst +++ b/reference/formal_only/specC03_interpretation_of_units.rst @@ -1,4 +1,32 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_units_start + :end-before: marker_interpretation_of_units_1_1 + +.. include:: ../sectionC_interpretation.inc + :start-after: marker_interpretation_of_units_1_1 + :end-before: marker_interpretation_of_units_1_3 + +.. include:: ../sectionC_interpretation.inc + :start-after: marker_interpretation_of_units_1_3 + :end-before: marker_interpretation_of_units_1_4 + +.. include:: ../sectionC_interpretation.inc + :start-after: marker_interpretation_of_units_1_4 + :end-before: marker_interpretation_of_units_2 + +.. include:: ../sectionC_interpretation.inc + :start-after: marker_interpretation_of_units_2 + :end-before: marker_interpretation_of_units_3_2 + +.. include:: ../sectionC_interpretation.inc + :start-after: marker_interpretation_of_units_3_2 + :end-before: marker_interpretation_of_units_3_3 + +.. include:: ../sectionC_interpretation.inc + :start-after: marker_interpretation_of_units_3_3 + :end-before: marker_interpretation_of_units_3_4 + +.. include:: ../sectionC_interpretation.inc + :start-after: marker_interpretation_of_units_3_4 :end-before: marker_interpretation_of_units_end From 5478e8ebd5a6df16f37293c1be1a131347605b27 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 13:30:17 +1300 Subject: [PATCH 201/604] section numbering in PDF --- reference/sectionC_interpretation.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 96225fcc..5f2ecd89 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -142,7 +142,7 @@ Interpretation of units If the :code:`prefix` attribute information item has a value which is an integer string, then the value of the prefix term SHALL be the numerical value of that string. Otherwise, the :code:`prefix` attribute information item MUST have a value taken from the "Name" column of the :ref:`Prefix values table`, and the prefix term SHALL have the value taken from the "Value" column of the same row. -.. marker_interpretation_of_units_1_1 + .. marker_interpretation_of_units_1_1 2. The exponent term is a conceptual property of :code:`unit` elements. If a :code:`unit` element has no :code:`exponent` attribute information item, the exponent term SHALL have value 1.0. @@ -152,7 +152,7 @@ Interpretation of units If a :code:`unit` element has no :code:`multiplier` attribute information item, the multiplier term SHALL have value 1.0. Otherwise, the value of the :code:`multiplier` attribute information item MUST be a real number string, and the value of the multiplier term SHALL be the numerical value of that string. -.. marker_interpretation_of_units_1_3 + .. marker_interpretation_of_units_1_3 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element units, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be From 3bf86681dbf1d9fc138224703df1b80873a21000 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 13:33:39 +1300 Subject: [PATCH 202/604] Update sectionC_interpretation.inc --- reference/sectionC_interpretation.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 0f06e8b0..150a2253 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -339,8 +339,8 @@ Interpretation of ``encapsulation`` elements .. _specC_interpretation_of_map_variables: -Interpretation of ``map_variables`` ------------------------------------ +Interpretation of ``map_variables`` elements +-------------------------------------------- #. For the purposes of this specification, the variable equivalence (conceptual) network SHALL be an undirected graph with one node for every :code:`variable` element in the :ref:`CellML model`. The arcs of this graph SHALL be equivalences defined in the CellML model. From 906fe3100e17e46bf6b8995e3ff21e78a4155949 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 13:43:48 +1300 Subject: [PATCH 203/604] Update sectionC_interpretation.inc --- reference/sectionC_interpretation.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 150a2253..421ecae3 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -295,8 +295,8 @@ Effect of ``units`` on a ``variable`` .. _specC_interpretation_of_mathematics: -Interpretation of mathematics ------------------------------ +Interpretation of ``math`` elements +----------------------------------- #. The following :code:`component` elements SHALL, for the purposes of this specification, be "pertinent component elements": From 356d428f43abc799270a11e367b5802c2f37f68f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 13:49:37 +1300 Subject: [PATCH 204/604] No informative sections within nested lists, take 1 --- .../specC03_interpretation_of_units.rst | 18 +-- .../specC03_interpretation_of_units.rst | 29 +--- .../informC03_interpretation_of_units1.rst | 151 ++++++++++++++++++ .../informC03_interpretation_of_units1_1.rst | 32 ---- .../informC03_interpretation_of_units1_3.rst | 55 ------- .../informC03_interpretation_of_units1_4.rst | 70 -------- reference/sectionC_interpretation.inc | 6 +- 7 files changed, 156 insertions(+), 205 deletions(-) create mode 100644 reference/informative/informC03_interpretation_of_units1.rst delete mode 100644 reference/informative/informC03_interpretation_of_units1_1.rst delete mode 100644 reference/informative/informC03_interpretation_of_units1_3.rst delete mode 100644 reference/informative/informC03_interpretation_of_units1_4.rst diff --git a/reference/formal_and_informative/specC03_interpretation_of_units.rst b/reference/formal_and_informative/specC03_interpretation_of_units.rst index 83b63d97..86f23a10 100644 --- a/reference/formal_and_informative/specC03_interpretation_of_units.rst +++ b/reference/formal_and_informative/specC03_interpretation_of_units.rst @@ -2,24 +2,12 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_units_start - :end-before: marker_interpretation_of_units_1_1 + :end-before: marker_interpretation_of_units_1 -.. include:: ../informative/informC03_interpretation_of_units1_1.rst +.. include:: ../informative/informC03_interpretation_of_units1.rst .. include:: ../sectionC_interpretation.inc - :start-after: marker_interpretation_of_units_1_1 - :end-before: marker_interpretation_of_units_1_3 - -.. include:: ../informative/informC03_interpretation_of_units1_3.rst - -.. include:: ../sectionC_interpretation.inc - :start-after: marker_interpretation_of_units_1_3 - :end-before: marker_interpretation_of_units_1_4 - -.. include:: ../informative/informC03_interpretation_of_units1_4.rst - -.. include:: ../sectionC_interpretation.inc - :start-after: marker_interpretation_of_units_1_4 + :start-after: marker_interpretation_of_units_1 :end-before: marker_interpretation_of_units_2 .. include:: ../informative/informC03_interpretation_of_units2.rst diff --git a/reference/formal_only/specC03_interpretation_of_units.rst b/reference/formal_only/specC03_interpretation_of_units.rst index 3b5ef42b..3ea2221e 100644 --- a/reference/formal_only/specC03_interpretation_of_units.rst +++ b/reference/formal_only/specC03_interpretation_of_units.rst @@ -1,32 +1,5 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_units_start - :end-before: marker_interpretation_of_units_1_1 - -.. include:: ../sectionC_interpretation.inc - :start-after: marker_interpretation_of_units_1_1 - :end-before: marker_interpretation_of_units_1_3 - -.. include:: ../sectionC_interpretation.inc - :start-after: marker_interpretation_of_units_1_3 - :end-before: marker_interpretation_of_units_1_4 - -.. include:: ../sectionC_interpretation.inc - :start-after: marker_interpretation_of_units_1_4 - :end-before: marker_interpretation_of_units_2 - -.. include:: ../sectionC_interpretation.inc - :start-after: marker_interpretation_of_units_2 - :end-before: marker_interpretation_of_units_3_2 - -.. include:: ../sectionC_interpretation.inc - :start-after: marker_interpretation_of_units_3_2 - :end-before: marker_interpretation_of_units_3_3 - -.. include:: ../sectionC_interpretation.inc - :start-after: marker_interpretation_of_units_3_3 - :end-before: marker_interpretation_of_units_3_4 - -.. include:: ../sectionC_interpretation.inc - :start-after: marker_interpretation_of_units_3_4 :end-before: marker_interpretation_of_units_end + diff --git a/reference/informative/informC03_interpretation_of_units1.rst b/reference/informative/informC03_interpretation_of_units1.rst new file mode 100644 index 00000000..9894927d --- /dev/null +++ b/reference/informative/informC03_interpretation_of_units1.rst @@ -0,0 +1,151 @@ +.. _informC03_interpretation_of_units_1_1: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + .. container:: heading3 + + Prefixes + + The :code:`prefix` term is different from the other attributes of a :code:`unit` element in that it can accept both a string (the name of the prefix from the :ref:`Prefix table`) or an integer (the base 10 log equivalent to the prefix). + It's also different because **it will become invalid if a real number is used**. + + For example, these are equivalent: + + .. code-block:: xml + + + + + + + + + + + **Note** that these examples are *only* equivalent because the :code:`exponent` in each case is 1. + + .. container:: heading3 + + Multipliers and exponents + + As you might expect, both the :code:`exponent` and :code:`multiplier` attributes must be :ref:`valid real numbers`, which could include an :ref:`integers`. + (This is in contrast to the :code:`prefix` which *must* be an integer or a :ref:`named prefix`.) + + All three attributes can be combined in different ways to give the same effective outcome. + The examples below all define a :code:`units` item equivalent to a 330 mL bottle of beer. + + .. code-block:: xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + **Note** that all spellings of built in units and prefixes must be UK (not US) English, ie: :code:`metre` (not meter), :code:`litre` (not liter), and :code:`deca` (not deka). + + .. container:: heading3 + + Combinations + + Once you've read the section in the previoussection on how single :code:`unit` items can be combined to form a :code:`units` item, we also need to define how :code:`units` items can be used to form generations of units. + Using the same example of the 330mL beer bottle as before, here are alternative, but equivalent, definitions. + + .. code-block:: xml + + + + + + + + + + + + + + + But we can also use child :code:`units` in conjunction with :code:`exponents` too. + In this situation you'll need to understand the equation above. Let's start by defining a centimeter: + + .. code-block:: xml + + + + + + + + + + + + + + Then cube it to get the units of millilitres: + + .. code-block:: xml + + + + + + + This is equivalent to creating the units of :math:`(10^{-6})(metre)^3`, because the effect of the :code:`exponent` is applied to the combination of :code:`units` and :code:`prefix`, but not to the :code:`multiplier`: + + .. code-block:: xml + + + + + + + + + + + + + It's good to get your head around the difference between how the :code:`multiplier` and :code:`prefix` terms work, or your scaling might not be quite what you expect (and your beer disappointing). + + + diff --git a/reference/informative/informC03_interpretation_of_units1_1.rst b/reference/informative/informC03_interpretation_of_units1_1.rst deleted file mode 100644 index 209d1dc2..00000000 --- a/reference/informative/informC03_interpretation_of_units1_1.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. _informC03_interpretation_of_units_1_1: - -.. container:: toggle - - .. container:: header - - See more - - .. container:: infospec - - The :code:`prefix` term is different from the other attributes of a :code:`unit` element in that it can accept both a string (the name of the prefix from the :ref:`Prefix table`) or an integer (the base 10 log equivalent to the prefix). - It's also different because **it will become invalid if a real number is used**. - - For example, these are equivalent: - - .. code-block:: xml - - - - - - - - - - - **Note** that these examples are *only* equivalent because the :code:`exponent` in each case is 1. - Please see the next "See more" block for a full explanation of its role. - diff --git a/reference/informative/informC03_interpretation_of_units1_3.rst b/reference/informative/informC03_interpretation_of_units1_3.rst deleted file mode 100644 index 8f902c7c..00000000 --- a/reference/informative/informC03_interpretation_of_units1_3.rst +++ /dev/null @@ -1,55 +0,0 @@ -.. _informC03_interpretation_of_units_1_3: - -.. container:: toggle - - .. container:: header - - See more - - .. container:: infospec - - As you might expect, both the :code:`exponent` and :code:`multiplier` attributes must be :ref:`valid real numbers`, which could include an :ref:`integers`. - (This is in contrast to the :code:`prefix` which *must* be an integer or a :ref:`named prefix`.) - - All three attributes can be combined in different ways to give the same effective outcome. - The examples below all define a :code:`units` item equivalent to a 330 mL bottle of beer. - - .. code-block:: xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - **Note** that all spellings of built in units and prefixes must be UK (not US) English, ie: :code:`metre` (not meter), :code:`litre` (not liter), and :code:`deca` (not deka). - diff --git a/reference/informative/informC03_interpretation_of_units1_4.rst b/reference/informative/informC03_interpretation_of_units1_4.rst deleted file mode 100644 index 5510d931..00000000 --- a/reference/informative/informC03_interpretation_of_units1_4.rst +++ /dev/null @@ -1,70 +0,0 @@ -.. _informC03_interpretation_of_units_1_4: - -.. container:: toggle - - .. container:: header - - See more - - .. container:: infospec - - Once you've read the section in the previous "See more" box on how single :code:`unit` items can be combined to form a :code:`units` item, we also need to define how :code:`units` items can be used to form generations of units. - Using the same example of the 330mL beer bottle as before, here are alternative, but equivalent, definitions. - - .. code-block:: xml - - - - - - - - - - - - - - - But we can also use child :code:`units` in conjunction with :code:`exponents` too. - In this situation you'll need to understand the equation above. Let's start by defining a centimeter: - - .. code-block:: xml - - - - - - - - - - - - - - Then cube it to get the units of millilitres: - - .. code-block:: xml - - - - - - - This is equivalent to creating the units of :math:`(10^{-6})(metre)^3`, because the effect of the :code:`exponent` is applied to the combination of :code:`units` and :code:`prefix`, but not to the :code:`multiplier`: - - .. code-block:: xml - - - - - - - - - - - - - It's good to get your head around the difference between how the :code:`multiplier` and :code:`prefix` terms work, or your scaling might not be quite what you expect (and your beer disappointing). diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 5f2ecd89..032442ee 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -142,8 +142,6 @@ Interpretation of units If the :code:`prefix` attribute information item has a value which is an integer string, then the value of the prefix term SHALL be the numerical value of that string. Otherwise, the :code:`prefix` attribute information item MUST have a value taken from the "Name" column of the :ref:`Prefix values table`, and the prefix term SHALL have the value taken from the "Value" column of the same row. - .. marker_interpretation_of_units_1_1 - 2. The exponent term is a conceptual property of :code:`unit` elements. If a :code:`unit` element has no :code:`exponent` attribute information item, the exponent term SHALL have value 1.0. Otherwise, the value of the :code:`exponent` attribute information item MUST be a real number string, and the value of the exponent term SHALL be the numerical value of that string. @@ -152,8 +150,6 @@ Interpretation of units If a :code:`unit` element has no :code:`multiplier` attribute information item, the multiplier term SHALL have value 1.0. Otherwise, the value of the :code:`multiplier` attribute information item MUST be a real number string, and the value of the multiplier term SHALL be the numerical value of that string. - .. marker_interpretation_of_units_1_3 - 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element units, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be .. math:: @@ -163,7 +159,7 @@ Interpretation of units where :math:`u_x` denotes the units of the :code:`units` element; :math:`p_i`, :math:`e_i`, :math:`m_i` and :math:`u_i` refer to the prefix, exponent and multiplier terms and units of the :math:`i^{th}` :code:`unit` child element, respectively. Square brackets encompass the units of numerical values. -.. marker_interpretation_of_units_1_4 +.. marker_interpretation_of_units_1 2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements), and 2) built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units` table) referenced by variables or other units in the model. From 4e5cf5b1209697b20b1ebfd81e9064c3d8e76ca7 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 14:00:46 +1300 Subject: [PATCH 205/604] Take #2 --- .../informC03_interpretation_of_units3.rst | 149 ++++++++++++++++++ .../informC03_interpretation_of_units3_2.rst | 62 -------- .../informC03_interpretation_of_units3_3.rst | 24 --- 3 files changed, 149 insertions(+), 86 deletions(-) create mode 100644 reference/informative/informC03_interpretation_of_units3.rst delete mode 100644 reference/informative/informC03_interpretation_of_units3_2.rst delete mode 100644 reference/informative/informC03_interpretation_of_units3_3.rst diff --git a/reference/informative/informC03_interpretation_of_units3.rst b/reference/informative/informC03_interpretation_of_units3.rst new file mode 100644 index 00000000..b8df0460 --- /dev/null +++ b/reference/informative/informC03_interpretation_of_units3.rst @@ -0,0 +1,149 @@ +.. _informC03_interpretation_of_units_3_2: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + .. container:: heading3 + + Unit reduction + + As discussed in the previous "See more" block, "irreducible" or "base" units are those fundamental quantities which cannot be expressed in any other way. + This includes user-defined base units too. + The "unit reduction" of any :code:`units` item is simply a recipe for how any units item is constructed from these "base unit" ingredients. + + For example, the units "metres per second" could be written :math:`m/s` or :code:`product[ (metre)^1 , (second)^-1 ]`, or :code:`product[ power(metre, 1) , power(second, -2) ]`. + This final list of tuples, representing the base unit and its exponent, is referred to as the unit reduction tuples for the :code:`units` element. + Some other examples are given below. + + Related to C03.3.2.1: + + .. code-block:: xml + + + + + + + + + + + Related to C03.3.2.3 and 4: The concentration of apples per litre of cider is expressed using the custom base units "apple", the custom derived units "bushell_of_apples" and the built-in convenience units of "litre", the last being equivalent to cubic metres. + Note that: + + - scaling does not affect the unit reduction tuples, + - the custom derived units :code:`bushell_of_apples` does not appear, as it can be further reduced to :code:`apple`, + - the final exponent of the :code:`metre` base unit comes from applying 3.3.2.4 and multiplying the exponent of the litre reduction tuple (metre, 3) with the exponent given in the :code:`cider_concentration` tuple (litre, -1) to give a (metre, -3) in the final unit reduction tuple set. + + .. code-block:: xml + + + + + + + + + + + + + + + .. container:: heading3 + + Dimensionless base units + + You may have noticed in the :ref:`Built-in Units` that there is an entry labelled :code:`dimensionless`. + + This is provided for convenience, and doesn't take part in determining the unit reduction for any :code:`units` items. + Together with the next point, this means that the all unit reduction tuples represent the *minimum possible* description of a :code:`units` item. + For example, this :code:`units` item has the unit reduction of :code:`(metre, 1)`: + + .. code-block:: xml + + + + + + + + .. container:: heading3 + + Combining unit reductions + + As outlined above, the built-in base units :code:`dimensionless` do not contribute to the unit reduction tuple set. + This holds for built-in units which are effectively dimensionless (like :code:`radian` and :code:`steradian`) but also for situations in which base units' exponents could be simplified or cancelled. + For example, all of the :code:`units` items below have identical unit reduction tuples of :code:`(metre, 1), (second, -1)`: + + .. code-block:: xml + + + + + + + Here the "metre" exponents of 3 and -4 reduce to 1: + + .. code-block:: xml + + + + + + + + Here the "steradian" inclusion has no effect on the final unit reduction as its own units cancel out: + + .. code-block:: xml + + + + + + + + + Finally a complicated one with the same outcome. + Note that even though there are some irreducible units used, they end up with an exponent of 0 in the tuple, and are therefore removed from the final unit reduction. + Note that a Volt is equivalent to :math:`m^2.kg.s^{-3}.A^{-1}` + + .. code-block:: xml + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/reference/informative/informC03_interpretation_of_units3_2.rst b/reference/informative/informC03_interpretation_of_units3_2.rst deleted file mode 100644 index fec1336a..00000000 --- a/reference/informative/informC03_interpretation_of_units3_2.rst +++ /dev/null @@ -1,62 +0,0 @@ -.. _informC03_interpretation_of_units_3_2: - -.. container:: toggle - - .. container:: header - - See more - - .. container:: infospec - - As discussed in the previous "See more" block, "irreducible" or "base" units are those fundamental quantities which cannot be expressed in any other way. - This includes user-defined base units too. - - The "unit reduction" of any :code:`units` item is simply a recipe for how any units are constructed, from these "base unit" ingredients. - - - For example, the units "metres per second" could be written :math:`m/s` or :code:`product[ (metre)^1 , (second)^-1 ]`, or :code:`product[ power(metre, 1) , power(second, -2) ]`. - This final list of tuples, representing the base unit and its exponent, is referred to as the unit reduction tuples for the :code:`units` element. - Some other examples are given below. - - Related to C03.3.2.1: - - .. code-block:: xml - - - - - - - - - - - Related to C03.3.2.3 and 4: The concentration of apples per litre of cider is expressed using the custom base units "apple", the custom derived units "bushell_of_apples" and the built-in convenience units of "litre", the last being equivalent to cubic metres. - Note that: - - - scaling does not affect the unit reduction tuples, - - the custom derived units :code:`bushell_of_apples` does not appear, as it can be further reduced to :code:`apple`, - - the final exponent of the :code:`metre` base unit comes from applying 3.3.2.4 and multiplying the exponent of the litre reduction tuple (metre, 3) with the exponent given in the :code:`cider_concentration` tuple (litre, -1) to give a (metre, -3) in the final unit reduction tuple set. - - .. code-block:: xml - - - - - - - - - - - - - - diff --git a/reference/informative/informC03_interpretation_of_units3_3.rst b/reference/informative/informC03_interpretation_of_units3_3.rst deleted file mode 100644 index 54718022..00000000 --- a/reference/informative/informC03_interpretation_of_units3_3.rst +++ /dev/null @@ -1,24 +0,0 @@ -.. _informC03_interpretation_of_units_3_3: - -.. container:: toggle - - .. container:: header - - See more - - .. container:: infospec - - You may have noticed in the :ref:`Built-in Units` that there is an entry labelled :code:`dimensionless`. - - This is provided for convenience, and doesn't take part in determining the unit reduction for any :code:`units` items. - Together with the next point, this means that the all unit reduction tuples represent the *minimum possible* description of a :code:`units` item. - For example, this :code:`units` item has the unit reduction of :code:`(metre, 1)`: - - .. code-block:: xml - - - - - - - From 18933f215a456d98b71ae64da56b32c5591ab88c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 14:03:19 +1300 Subject: [PATCH 206/604] Updating informative includes --- .../specC03_interpretation_of_units.rst | 20 +----- .../informC03_interpretation_of_units3_4.rst | 72 ------------------- 2 files changed, 2 insertions(+), 90 deletions(-) delete mode 100644 reference/informative/informC03_interpretation_of_units3_4.rst diff --git a/reference/formal_and_informative/specC03_interpretation_of_units.rst b/reference/formal_and_informative/specC03_interpretation_of_units.rst index 86f23a10..6ef49bab 100644 --- a/reference/formal_and_informative/specC03_interpretation_of_units.rst +++ b/reference/formal_and_informative/specC03_interpretation_of_units.rst @@ -14,24 +14,8 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_units_2 - :end-before: marker_interpretation_of_units_3_2 + :end-before: marker_interpretation_of_units_3 -.. include:: ../informative/informC03_interpretation_of_units3_2.rst - -.. include:: ../sectionC_interpretation.inc - :start-after: marker_interpretation_of_units_3_2 - :end-before: marker_interpretation_of_units_3_3 - -.. include:: ../informative/informC03_interpretation_of_units3_3.rst - -.. include:: ../sectionC_interpretation.inc - :start-after: marker_interpretation_of_units_3_3 - :end-before: marker_interpretation_of_units_3_4 - -.. include:: ../informative/informC03_interpretation_of_units3_4.rst - -.. include:: ../sectionC_interpretation.inc - :start-after: marker_interpretation_of_units_3_4 - :end-before: marker_interpretation_of_units_end +.. include:: ../informative/informC03_interpretation_of_units3.rst .. include:: ../libcellml/libcellmlC03_interpretation_of_units.rst diff --git a/reference/informative/informC03_interpretation_of_units3_4.rst b/reference/informative/informC03_interpretation_of_units3_4.rst deleted file mode 100644 index bc33ce21..00000000 --- a/reference/informative/informC03_interpretation_of_units3_4.rst +++ /dev/null @@ -1,72 +0,0 @@ -.. _informC03_interpretation_of_units_3_4: - -.. container:: toggle - - .. container:: header - - See more - - .. container:: infospec - - As outlined in the previous "See more" block, the built-in base units :code:`dimensionless` do not contribute to the unit reduction tuple set. - This holds for built-in units which are effectively dimensionless (like :code:`radian` and :code:`steradian`) but also for situations in which base units' exponents could be simplified or cancelled. - For example, all of the :code:`units` items below have identical unit reduction tuples of :code:`(metre, 1), (second, -1)`: - - .. code-block:: xml - - - - - - - Here the "metre" exponents of 3 and -4 reduce to 1: - - .. code-block:: xml - - - - - - - - Here the "steradian" inclusion has no effect on the final unit reduction as its own units cancel out: - - .. code-block:: xml - - - - - - - - - Finally a complicated one with the same outcome. - Note that even though there are some irreducible units used, they end up with an exponent of 0 in the tuple, and are therefore removed from the final unit reduction. - Note that a Volt is equivalent to :math:`m^2.kg.s^{-3}.A^{-1}` - - .. code-block:: xml - - - - - - - - - - - - - - - - - - - - - - - - - From 4b088f61a801c99336d6a1ee86ad6dd8514ae7e3 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 14:05:31 +1300 Subject: [PATCH 207/604] Tweaks to formatting --- .../informative/informC03_interpretation_of_units3.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/informative/informC03_interpretation_of_units3.rst b/reference/informative/informC03_interpretation_of_units3.rst index b8df0460..c44668a6 100644 --- a/reference/informative/informC03_interpretation_of_units3.rst +++ b/reference/informative/informC03_interpretation_of_units3.rst @@ -20,7 +20,7 @@ This final list of tuples, representing the base unit and its exponent, is referred to as the unit reduction tuples for the :code:`units` element. Some other examples are given below. - Related to C03.3.2.1: + **Related to 3.3.3.2.1:** .. code-block:: xml @@ -30,7 +30,7 @@ - Related to C03.3.2.3 and 4: The concentration of apples per litre of cider is expressed using the custom base units "apple", the custom derived units "bushell_of_apples" and the built-in convenience units of "litre", the last being equivalent to cubic metres. + **Related to 3.3.3.2.3 and 4:** The concentration of apples per litre of cider is expressed using the custom base units "apple", the custom derived units "bushell_of_apples" and the built-in convenience units of "litre", the last being equivalent to cubic metres. Note that: - scaling does not affect the unit reduction tuples, From a2eec1d48f50c8e05f882a4d299902cf7011f9a2 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 14:26:35 +1300 Subject: [PATCH 208/604] Table tidy for PDF --- reference/sectionC_interpretation.inc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index a736274c..fd1c2443 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -139,15 +139,15 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute +---------------+-------------------+-------------------------------------------+-------------------------+ | dimensionless | \- | \- | | +---------------+-------------------+-------------------------------------------+-------------------------+ - | farad | F | (kilogram, -1), (metre, -2), | | C/V | - | | | (second, 4), (ampere, 2) | | s/Ω | + | farad | F | | (kilogram, -1), (metre, -2), | | C/V | + | | | | (second, 4), (ampere, 2) | | s/Ω | +---------------+-------------------+-------------------------------------------+-------------------------+ | gram | g | 0.001 . (kilogram, 1) | | +---------------+-------------------+-------------------------------------------+-------------------------+ | gray | Gy | (metre, 2), (second, -2) | J/kg | +---------------+-------------------+-------------------------------------------+-------------------------+ - | henry | H | (kilogram, 1), (metre, 2), | | V.s/A | - | | | (second, -2), (ampere, -2) | | Ω.s | + | henry | H | | (kilogram, 1), (metre, 2), | | V.s/A | + | | | | (second, -2), (ampere, -2) | | Ω.s | | | | | | Wb/A | +---------------+-------------------+-------------------------------------------+-------------------------+ | hertz | Hz | (second, -1) | | @@ -192,8 +192,8 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute +---------------+-------------------+-------------------------------------------+-------------------------+ | steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2` | +---------------+-------------------+-------------------------------------------+-------------------------+ - | tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | - | | | (ampere, -1) | | Wb/m\ :sup:`2` | + | tesla | T | | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | + | | | | (ampere, -1) | | Wb/m\ :sup:`2` | | | | | | N/(A.m) | +---------------+-------------------+-------------------------------------------+-------------------------+ | volt | V | (kilogram, 1), (metre, 2), | | W/A | From 227d9f6fe7af394696dd8b1d7046d3e0cba01998 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 14:32:38 +1300 Subject: [PATCH 209/604] pagebreak before builtin units table --- .../formal_only/specC03_interpretation_of_units.rst | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/reference/formal_only/specC03_interpretation_of_units.rst b/reference/formal_only/specC03_interpretation_of_units.rst index 3ea2221e..1173bcb9 100644 --- a/reference/formal_only/specC03_interpretation_of_units.rst +++ b/reference/formal_only/specC03_interpretation_of_units.rst @@ -1,5 +1,12 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_units_start - :end-before: marker_interpretation_of_units_end + :end-before: marker_units_reference1 +.. raw:: latex + + \newpage + +.. include:: ../sectionC_interpretation.inc + :start-after: marker_units_reference1 + :end-before: marker_interpretation_of_units_end \ No newline at end of file From 034c2ef415fafea0db0f1f9df5fab8ab0820f7e1 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 16:22:37 +1300 Subject: [PATCH 210/604] Review tweaks --- formal.rst | 14 +++++++------- reference/informative_preamble.rst | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/formal.rst b/formal.rst index 3607135c..49499522 100644 --- a/formal.rst +++ b/formal.rst @@ -15,8 +15,8 @@ Jonathan Cooper, Alan Garny, Keri Moyle, David P. Nickerson, -Poul Nielsen, -and Hugh Sorby. +Poul Nielsen, and +Hugh Sorby. **Contributors:** Koray Atalag, @@ -24,8 +24,8 @@ David Brooks, Edmund J. Crampin, Jesús Carro Fernández, Peter J. Hunter, -Gary R. Mirams, -and Maxwell L. Neal. +Gary R. Mirams, and +Maxwell L. Neal. The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification, although the semantics have changed considerably. The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: @@ -33,11 +33,11 @@ Andrew K. Miller (who wrote the text reused here), Randall Britten, Jonathan Cooper, Alan Garny, -Peter J. Hunter +Peter J. Hunter, Justin Marsh, Poul Nielsen, -David P. Nickerson, -and Hugh Sorby. +David P. Nickerson, and +Hugh Sorby. **Contact:** editors@cellml.org diff --git a/reference/informative_preamble.rst b/reference/informative_preamble.rst index 34aa2925..36db4c10 100644 --- a/reference/informative_preamble.rst +++ b/reference/informative_preamble.rst @@ -13,8 +13,8 @@ Jonathan Cooper, Alan Garny, Keri Moyle, David P. Nickerson, -Poul Nielsen, -and Hugh Sorby. +Poul Nielsen, and +Hugh Sorby. **Contributors:** @@ -23,8 +23,8 @@ David Brooks, Edmund J. Crampin, Jesús Carro Fernández, Peter J. Hunter, -Gary R. Mirams, -and Maxwell L. Neal. +Gary R. Mirams, and +Maxwell L. Neal. The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification, although the semantics have changed considerably. The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: @@ -33,11 +33,11 @@ Andrew K. Miller (who wrote the text reused here), Randall Britten, Jonathan Cooper, Alan Garny, -Peter J. Hunter +Peter J. Hunter, Justin Marsh, Poul Nielsen, -David P. Nickerson, -and Hugh Sorby. +David P. Nickerson, and +Hugh Sorby. **Contact:** editors@cellml.org From 91b50cb34e6b468ad3c439d05c2062a15cc73548 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 16:32:45 +1300 Subject: [PATCH 211/604] Review tweaks --- reference/sectionC_interpretation.inc | 248 +++++++++----------------- 1 file changed, 81 insertions(+), 167 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 48db1499..64faa55a 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -40,173 +40,87 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute **Table 3.1: Built-in units** -.. only:: html - - +---------------+-------------------+-------------------------------------------+-------------------------+ - | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | - | | | | multiplier⋅(base, exponent) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | ampere | A | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | becquerel | Bq | (second, -1) | 1/s | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | candela | cd | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | coulomb | C | (second, 1), (ampere,1) | | s⋅A | - | | | | | F⋅V | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | dimensionless | \- | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | farad | F | (kilogram, -1), (metre, -2), | | C/V | - | | | (second, 4), (ampere, 2) | | s/Ω | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | gram | g | 0.001⋅(kilogram, 1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | gray | Gy | (metre, 2), (second, -2) | J/kg | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | henry | H | (kilogram, 1), (metre, 2), | | V⋅s/A | - | | | (second, -2), (ampere, -2) | | Ω⋅s | - | | | | | Wb/A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | hertz | Hz | (second, -1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | joule | J | (kilogram, 1), (metre, 2), | | N⋅m | - | | | (second, -2) | | C⋅V | - | | | | | Wb⋅s | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | katal | kat | (second, -1), (mole, 1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | kelvin | K | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | kilogram | kg | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | litre | l | 0.001⋅(metre, 3) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | lumen | lm | (candela, 1) | cd⋅sr | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | metre | m | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | mole | mol | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | newton | N | (kilogram, 1), (metre, 1), | | - | | | (second, -2) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | ohm | Ω | (kilogram, 1), (metre, 2), | | 1/S | - | | | (second, -3), (ampere, -2) | | V/A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | pascal | Pa | (kilogram, 1), (metre, -1), | N/m\ :sup:`2` | - | | | (second, -2) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | radian | rad | (dimensionless, 1) | m/m | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | second | s | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | siemens | S | (kilogram -1), (metre, -2), | | 1/Ω | - | | | (second, 3), (ampere, 2) | | A/V | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | sievert | Sv | (metre, 2), (second, -2) | J/kg | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | - | | | (ampere, -1) | | Wb/m\ :sup:`2` | - | | | | | N/(A⋅m) | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | volt | V | (kilogram, 1), (metre, 2), | | W/A | - | | | (second , -3), (ampere, -1) | | J/C | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | watt | W | (kilogram, 1), (metre, 2), | | J/s | - | | | (second, -3) | | V⋅A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | weber | Wb | (kilogram, 1), (metre, 2), | | J/A | - | | | (second, -2), (ampere, -1) | | T⋅m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ - -.. only:: latex - - +---------------+-------------------+-------------------------------------------+-------------------------+ - | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | - | | | | multiplier.(base, exponent) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | ampere | A | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | becquerel | Bq | (second, -1) | 1/s | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | candela | cd | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | coulomb | C | (second, 1), (ampere,1) | | s.A | - | | | | | F.V | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | dimensionless | \- | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | farad | F | | (kilogram, -1), (metre, -2), | | C/V | - | | | | (second, 4), (ampere, 2) | | s/Ω | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | gram | g | 0.001 . (kilogram, 1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | gray | Gy | (metre, 2), (second, -2) | J/kg | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | henry | H | | (kilogram, 1), (metre, 2), | | V.s/A | - | | | | (second, -2), (ampere, -2) | | Ω.s | - | | | | | Wb/A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | hertz | Hz | (second, -1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | joule | J | (kilogram, 1), (metre, 2), | | N.m | - | | | (second, -2) | | C.V | - | | | | | Wb.s | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | katal | kat | (second, -1), (mole, 1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | kelvin | K | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | kilogram | kg | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | litre | l | 0.001 . (metre, 3) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | lumen | lm | (candela, 1) | cd.sr | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | metre | m | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | mole | mol | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | newton | N | (kilogram, 1), (metre, 1), | | - | | | (second, -2) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | ohm | Ω | (kilogram, 1), (metre, 2), | | 1/S | - | | | (second, -3), (ampere, -2) | | V/A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | pascal | Pa | (kilogram, 1), (metre, -1), | N/m\ :sup:`2` | - | | | (second, -2) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | radian | rad | (dimensionless, 1) | m/m | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | second | s | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | siemens | S | (kilogram -1), (metre, -2), | | 1/Ω | - | | | (second, 3), (ampere, 2) | | A/V | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | sievert | Sv | (metre, 2), (second, -2) | J/kg | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | tesla | T | | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | - | | | | (ampere, -1) | | Wb/m\ :sup:`2` | - | | | | | N/(A.m) | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | volt | V | (kilogram, 1), (metre, 2), | | W/A | - | | | (second , -3), (ampere, -1) | | J/C | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | watt | W | (kilogram, 1), (metre, 2), | | J/s | - | | | (second, -3) | | V.A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | weber | Wb | (kilogram, 1), (metre, 2), | | J/A | - | | | (second, -2), (ampere, -1) | | T.m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ ++---------------+-------------------+-------------------------------------------+-------------------------+ +| **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | +| | | | multiplier⋅(base, exponent) | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| ampere | A | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| becquerel | Bq | (second, -1) | 1/s | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| candela | cd | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| coulomb | C | (second, 1), (ampere,1) | | s⋅A | +| | | | | F⋅V | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| dimensionless | \- | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| farad | F | (kilogram, -1), (metre, -2), | | C/V | +| | | (second, 4), (ampere, 2) | | s/Ω | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| gram | g | 0.001⋅(kilogram, 1) | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| gray | Gy | (metre, 2), (second, -2) | J/kg | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| henry | H | (kilogram, 1), (metre, 2), | | V⋅s/A | +| | | (second, -2), (ampere, -2) | | Ω⋅s | +| | | | | Wb/A | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| hertz | Hz | (second, -1) | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| joule | J | (kilogram, 1), (metre, 2), | | N⋅m | +| | | (second, -2) | | C⋅V | +| | | | | Wb⋅s | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| katal | kat | (second, -1), (mole, 1) | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| kelvin | K | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| kilogram | kg | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| litre | l | 0.001⋅(metre, 3) | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| lumen | lm | (candela, 1) | cd⋅sr | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| metre | m | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| mole | mol | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| newton | N | (kilogram, 1), (metre, 1), | | +| | | (second, -2) | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| ohm | Ω | (kilogram, 1), (metre, 2), | | 1/S | +| | | (second, -3), (ampere, -2) | | V/A | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| pascal | Pa | (kilogram, 1), (metre, -1), | N/m\ :sup:`2` | +| | | (second, -2) | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| radian | rad | (dimensionless, 1) | m/m | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| second | s | \- | | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| siemens | S | (kilogram -1), (metre, -2), | | 1/Ω | +| | | (second, 3), (ampere, 2) | | A/V | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| sievert | Sv | (metre, 2), (second, -2) | J/kg | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2` | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | +| | | (ampere, -1) | | Wb/m\ :sup:`2` | +| | | | | N/(A⋅m) | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| volt | V | (kilogram, 1), (metre, 2), | | W/A | +| | | (second , -3), (ampere, -1) | | J/C | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| watt | W | (kilogram, 1), (metre, 2), | | J/s | +| | | (second, -3) | | V⋅A | ++---------------+-------------------+-------------------------------------------+-------------------------+ +| weber | Wb | (kilogram, 1), (metre, 2), | | J/A | +| | | (second, -2), (ampere, -1) | | T⋅m\ :sup:`2` | ++---------------+-------------------+-------------------------------------------+-------------------------+ .. marker_units_reference_end .. marker_interpretation_of_units_start From 76cdc2f81fc9531740ec08e078056527ed64d1d4 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 16:56:27 +1300 Subject: [PATCH 212/604] Double table in PDF --- .../formal_only/specC02_units_reference.rst | 13 +- .../specC03_interpretation_of_units.rst | 12 +- reference/sectionC_interpretation.inc | 251 ++++++++++++------ 3 files changed, 182 insertions(+), 94 deletions(-) diff --git a/reference/formal_only/specC02_units_reference.rst b/reference/formal_only/specC02_units_reference.rst index b9424953..bffc9f60 100644 --- a/reference/formal_only/specC02_units_reference.rst +++ b/reference/formal_only/specC02_units_reference.rst @@ -1,4 +1,13 @@ + +.. include:: ../sectionC_interpretation.inc + :start-after: marker_units_reference_start + :end-before: marker_units_reference1 + +.. raw:: latex + + \newpage + .. include:: ../sectionC_interpretation.inc - :start-after: marker_units_reference_start - :end-before: marker_units_reference_end + :start-after: marker_units_reference1 + :end-before: marker_units_reference_end \ No newline at end of file diff --git a/reference/formal_only/specC03_interpretation_of_units.rst b/reference/formal_only/specC03_interpretation_of_units.rst index 1173bcb9..44532739 100644 --- a/reference/formal_only/specC03_interpretation_of_units.rst +++ b/reference/formal_only/specC03_interpretation_of_units.rst @@ -1,12 +1,4 @@ .. include:: ../sectionC_interpretation.inc - :start-after: marker_interpretation_of_units_start - :end-before: marker_units_reference1 - -.. raw:: latex - - \newpage - -.. include:: ../sectionC_interpretation.inc - :start-after: marker_units_reference1 - :end-before: marker_interpretation_of_units_end \ No newline at end of file + :start-after: marker_interpretation_of_units_start + :end-before: marker_interpretation_of_units_end diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 64faa55a..22e4f3ab 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -40,94 +40,181 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute **Table 3.1: Built-in units** -+---------------+-------------------+-------------------------------------------+-------------------------+ -| **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | -| | | | multiplier⋅(base, exponent) | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| ampere | A | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| becquerel | Bq | (second, -1) | 1/s | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| candela | cd | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| coulomb | C | (second, 1), (ampere,1) | | s⋅A | -| | | | | F⋅V | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| dimensionless | \- | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| farad | F | (kilogram, -1), (metre, -2), | | C/V | -| | | (second, 4), (ampere, 2) | | s/Ω | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| gram | g | 0.001⋅(kilogram, 1) | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| gray | Gy | (metre, 2), (second, -2) | J/kg | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| henry | H | (kilogram, 1), (metre, 2), | | V⋅s/A | -| | | (second, -2), (ampere, -2) | | Ω⋅s | -| | | | | Wb/A | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| hertz | Hz | (second, -1) | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| joule | J | (kilogram, 1), (metre, 2), | | N⋅m | -| | | (second, -2) | | C⋅V | -| | | | | Wb⋅s | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| katal | kat | (second, -1), (mole, 1) | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| kelvin | K | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| kilogram | kg | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| litre | l | 0.001⋅(metre, 3) | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| lumen | lm | (candela, 1) | cd⋅sr | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| metre | m | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| mole | mol | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| newton | N | (kilogram, 1), (metre, 1), | | -| | | (second, -2) | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| ohm | Ω | (kilogram, 1), (metre, 2), | | 1/S | -| | | (second, -3), (ampere, -2) | | V/A | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| pascal | Pa | (kilogram, 1), (metre, -1), | N/m\ :sup:`2` | -| | | (second, -2) | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| radian | rad | (dimensionless, 1) | m/m | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| second | s | \- | | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| siemens | S | (kilogram -1), (metre, -2), | | 1/Ω | -| | | (second, 3), (ampere, 2) | | A/V | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| sievert | Sv | (metre, 2), (second, -2) | J/kg | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2` | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | -| | | (ampere, -1) | | Wb/m\ :sup:`2` | -| | | | | N/(A⋅m) | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| volt | V | (kilogram, 1), (metre, 2), | | W/A | -| | | (second , -3), (ampere, -1) | | J/C | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| watt | W | (kilogram, 1), (metre, 2), | | J/s | -| | | (second, -3) | | V⋅A | -+---------------+-------------------+-------------------------------------------+-------------------------+ -| weber | Wb | (kilogram, 1), (metre, 2), | | J/A | -| | | (second, -2), (ampere, -1) | | T⋅m\ :sup:`2` | -+---------------+-------------------+-------------------------------------------+-------------------------+ +.. only:: html + + +---------------+-------------------+-------------------------------------------+-------------------------+ + | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | + | | | | multiplier⋅(base, exponent) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | ampere | A | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | becquerel | Bq | (second, -1) | 1/s | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | candela | cd | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | coulomb | C | (second, 1), (ampere,1) | | s⋅A | + | | | | | F⋅V | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | dimensionless | \- | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | farad | F | (kilogram, -1), (metre, -2), | | C/V | + | | | (second, 4), (ampere, 2) | | s/Ω | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | gram | g | 0.001⋅(kilogram, 1) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | gray | Gy | (metre, 2), (second, -2) | J/kg | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | henry | H | (kilogram, 1), (metre, 2), | | V⋅s/A | + | | | (second, -2), (ampere, -2) | | Ω⋅s | + | | | | | Wb/A | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | hertz | Hz | (second, -1) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | joule | J | (kilogram, 1), (metre, 2), | | N⋅m | + | | | (second, -2) | | C⋅V | + | | | | | Wb⋅s | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | katal | kat | (second, -1), (mole, 1) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | kelvin | K | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | kilogram | kg | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | litre | l | 0.001⋅(metre, 3) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | lumen | lm | (candela, 1) | cd⋅sr | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | metre | m | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | mole | mol | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | newton | N | (kilogram, 1), (metre, 1), | | + | | | (second, -2) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | ohm | Ω | (kilogram, 1), (metre, 2), | | 1/S | + | | | (second, -3), (ampere, -2) | | V/A | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | pascal | Pa | (kilogram, 1), (metre, -1), | N/m\ :sup:`2` | + | | | (second, -2) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | radian | rad | (dimensionless, 1) | m/m | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | second | s | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | siemens | S | (kilogram -1), (metre, -2), | | 1/Ω | + | | | (second, 3), (ampere, 2) | | A/V | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | sievert | Sv | (metre, 2), (second, -2) | J/kg | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2` | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | + | | | (ampere, -1) | | Wb/m\ :sup:`2` | + | | | | | N/(A⋅m) | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | volt | V | (kilogram, 1), (metre, 2), | | W/A | + | | | (second , -3), (ampere, -1) | | J/C | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | watt | W | (kilogram, 1), (metre, 2), | | J/s | + | | | (second, -3) | | V⋅A | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | weber | Wb | (kilogram, 1), (metre, 2), | | J/A | + | | | (second, -2), (ampere, -1) | | T⋅m\ :sup:`2` | + +---------------+-------------------+-------------------------------------------+-------------------------+ + + +.. only:: latex + + +---------------+-------------------+-------------------------------------------+-------------------------+ + | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | + | | | | multiplier.(base, exponent) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | ampere | A | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | becquerel | Bq | (second, -1) | 1/s | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | candela | cd | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | coulomb | C | (second, 1), (ampere,1) | | s.A | + | | | | | F.V | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | dimensionless | \- | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | farad | F | | (kilogram, -1), (metre, -2), | | C/V | + | | | | (second, 4), (ampere, 2) | | s/Ω | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | gram | g | 0.001 . (kilogram, 1) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | gray | Gy | (metre, 2), (second, -2) | J/kg | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | henry | H | | (kilogram, 1), (metre, 2), | | V.s/A | + | | | | (second, -2), (ampere, -2) | | Ω.s | + | | | | | Wb/A | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | hertz | Hz | (second, -1) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | joule | J | (kilogram, 1), (metre, 2), | | N.m | + | | | (second, -2) | | C.V | + | | | | | Wb.s | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | katal | kat | (second, -1), (mole, 1) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | kelvin | K | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | kilogram | kg | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | litre | l | 0.001 . (metre, 3) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | lumen | lm | (candela, 1) | cd.sr | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | metre | m | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | mole | mol | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | newton | N | (kilogram, 1), (metre, 1), | | + | | | (second, -2) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | ohm | Ω | (kilogram, 1), (metre, 2), | | 1/S | + | | | (second, -3), (ampere, -2) | | V/A | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | pascal | Pa | (kilogram, 1), (metre, -1), | N/m\ :sup:`2` | + | | | (second, -2) | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | radian | rad | (dimensionless, 1) | m/m | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | second | s | \- | | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | siemens | S | (kilogram -1), (metre, -2), | | 1/Ω | + | | | (second, 3), (ampere, 2) | | A/V | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | sievert | Sv | (metre, 2), (second, -2) | J/kg | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2` | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | tesla | T | | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | + | | | | (ampere, -1) | | Wb/m\ :sup:`2` | + | | | | | N/(A.m) | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | volt | V | (kilogram, 1), (metre, 2), | | W/A | + | | | (second , -3), (ampere, -1) | | J/C | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | watt | W | (kilogram, 1), (metre, 2), | | J/s | + | | | (second, -3) | | V.A | + +---------------+-------------------+-------------------------------------------+-------------------------+ + | weber | Wb | (kilogram, 1), (metre, 2), | | J/A | + | | | (second, -2), (ampere, -1) | | T.m\ :sup:`2` | + +---------------+-------------------+-------------------------------------------+-------------------------+ + .. marker_units_reference_end .. marker_interpretation_of_units_start .. _specC_interpretation_of_units: - Interpretation of ``units`` elements ------------------------------------ From 46c8e062ea0c5b6045b268033bce65e09b4f51c4 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 17:00:37 +1300 Subject: [PATCH 213/604] Newpage before prefix table in PDF --- reference/sectionC_interpretation.inc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 22e4f3ab..f2a3eb76 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -280,6 +280,10 @@ Interpretation of ``units`` elements .. marker_interpretation_of_units_3_4 +.. raw:: latex + + \newpage + .. _table_prefix_values: **Table 3.2: Prefix values** From 22c682e528288743782e5729367dc3c50d6bd6b8 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 17:07:04 +1300 Subject: [PATCH 214/604] Fix inludes in html in C03 --- .../specC03_interpretation_of_units.rst | 4 ++++ reference/sectionC_interpretation.inc | 5 +---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/reference/formal_and_informative/specC03_interpretation_of_units.rst b/reference/formal_and_informative/specC03_interpretation_of_units.rst index 6ef49bab..a545498a 100644 --- a/reference/formal_and_informative/specC03_interpretation_of_units.rst +++ b/reference/formal_and_informative/specC03_interpretation_of_units.rst @@ -18,4 +18,8 @@ .. include:: ../informative/informC03_interpretation_of_units3.rst +.. include:: ../sectionC_interpretation.inc + :start-after: marker_interpretation_of_units_3 + :end-before: marker_interpretation_of_units_end + .. include:: ../libcellml/libcellmlC03_interpretation_of_units.rst diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index f2a3eb76..9db42454 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -267,18 +267,15 @@ Interpretation of ``units`` elements 4. The exponents of each tuple in the set for the current :code:`unit` element, as derived by following rule 3.2.1, 3.2.2 or 3.2.3 above, SHALL be multiplied by the exponent term of the current, referencing, :code:`unit` element. -.. marker_interpretation_of_units_3_2 - 3. Tuples which have the name element of "dimensionless" SHALL be removed from the set of tuples. Note that this can result in the set of tuples being empty. -.. marker_interpretation_of_units_3_3 4. Where the set of tuples consists of tuples which have the same name element, those tuples SHALL be combined into a single tuple with that name element and an exponent being the sum of the combined tuples’ exponents. If the resulting tuple’s exponent term is zero, the tuple SHALL be removed from the set of tuples. Note that this can result in the set of tuples being empty. -.. marker_interpretation_of_units_3_4 +.. marker_interpretation_of_units_3 .. raw:: latex From 4dd62d5d8b5fbb0651e02180b0d3c302c2ddaca5 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 17:21:51 +1300 Subject: [PATCH 215/604] Removed third-level "Specific information items" headings from Chapter 2 --- reference/sectionB_elements.inc | 52 --------------------------------- 1 file changed, 52 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index c7e3c8fa..741e6739 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -7,23 +7,16 @@ The ``model`` element ===================== -Top-level of CellML infosets ----------------------------- - .. container:: issue-model-element The top-level element information item in a :ref:`CellML infoset` MUST be an element in the :ref:`CellML namespace` with a local name equal to :code:`model`. In this specification, the top-level element is referred to as the :code:`model` element. -Specific information items --------------------------- - .. container:: issue-model-name 1. Every :code:`model` element MUST contain a :code:`name` attribute. The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. - .. marker_model_1 .. container:: issue-model-child @@ -57,9 +50,6 @@ The ``import`` element An :code:`import` element information item (referred to in this specification as an :code:`import` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`import`. -Specific information items --------------------------- - .. container:: issue-import-href 1. Every :code:`import` element MUST contain an attribute in the namespace :code:`http://www.w3.org/1999/xlink`, with a local name equal to :code:`href`. @@ -96,9 +86,6 @@ The ``import units`` element An :code:`import units` element information item (referred to in this specification as an :code:`import units` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`units`, which appears as a child of an :code:`import` element. -Specific information items --------------------------- - .. container:: issue-import-units-name 1. Every :code:`import units` element MUST contain a :code:`name` attribute. @@ -125,9 +112,6 @@ The ``import component`` element An :code:`import component` element information item (referred to in this specification as an :code:`import component` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`component`, which appears as a child of an :code:`import` element. -Specific information items --------------------------- - .. container:: issue-import-component-name 1. Every :code:`import component` element MUST contain a :code:`name` attribute. The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. @@ -151,9 +135,6 @@ The ``units`` element A :code:`units` element information item (referred to in this specification as a :code:`units` element) is an element in the CellML namespace with a local name equal to :code:`units`, and with a :code:`model` element as its parent. -Specific information items --------------------------- - .. container:: issue-units-name 1. Every :code:`units` element MUST contain a :code:`name` attribute. @@ -181,9 +162,6 @@ The ``unit`` element A :code:`unit` element information item (referred to in this specification as a :code:`unit` element) is an element in the CellML namespace with a local name equal to :code:`unit`, and with a :code:`units` element as its parent. -Specific information items --------------------------- - .. container:: issue-unit-units-ref 1. Every :code:`unit` element MUST contain a :code:`units` attribute. @@ -229,9 +207,6 @@ A :code:`component` element information item (referred to in this specification .. marker_component_1 -Specific information items --------------------------- - .. container:: issue-component-name 1. Every :code:`component` element MUST contain a :code:`name` attribute. The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. @@ -260,9 +235,6 @@ The ``variable`` element A :code:`variable` element information item (referred to in this specification as a :code:`variable` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`variable`, and which appears as a child of a :code:`component` element. -Specific information items --------------------------- - 1. Every :code:`variable` element MUST have exactly one of each of the following attributes: .. container:: issue-variable-name @@ -297,9 +269,6 @@ The ``reset`` element A :code:`reset` element information item (referred to in this specification as a :code:`reset` element) is an element in the CellML namespace with a local name equal to :code:`reset`, and which appears as a child of a :code:`component` element. -Specific information items --------------------------- - 1. Every :code:`reset` element MUST have exactly one each each of the following attributes: .. container:: issue-reset-variable-reference @@ -341,9 +310,6 @@ The ``test_value`` element A :code:`test_value` element information item (referred to in this specification as a :code:`test_value` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`test_value`, and which appears as a child of a :code:`reset` element. -Specific information items --------------------------- - .. container:: issue-test-value 1. A :code:`test_value` element MUST contain exactly one :code:`math` element child. @@ -358,9 +324,6 @@ The ``reset_value`` element A :code:`reset_value` element information item (referred to in this specification as a :code:`reset_value` element) is an element in the CellML namespace with a local name equal to :code:`reset_value`, and which appears as a child of a :code:`reset` element. -Specific information items --------------------------- - .. container:: issue-reset-value 1. A :code:`reset_value` element MUST contain exactly one :code:`math` element child. @@ -375,9 +338,6 @@ The ``math`` element A :code:`math` element information item (referred to in this specification as a :code:`math` element) is an element in the MathML namespace that appears as a direct child of a :code:`component` element, a :code:`test_value` element, or a :code:`reset_value` element. -Specific information items --------------------------- - .. container:: issue-math-mathml 1. A :code:`math` element MUST be the top-level of a content MathML tree, as described in :mathml2spec:`MathML 2.0 <>`. @@ -463,9 +423,6 @@ The ``encapsulation`` element An :code:`encapsulation` element information item (referred to in this specification as an :code:`encapsulation` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`encapsulation`, and which appears as a child of a :code:`model` element. -Specific information items --------------------------- - .. container:: issue-encapsulation-component-ref 1. Every :code:`encapsulation` element MUST contain one or more :code:`component_ref` elements. @@ -480,9 +437,6 @@ The ``component_ref`` element A :code:`component_ref` element information item (referred to in this specification as a :code:`component_ref` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`component_ref`, and which appears as a child of an :code:`encapsulation` element. -Specific information items --------------------------- - .. container:: issue-component-ref-component-attribute 1. Every :code:`component_ref` element MUST contain a :code:`component` attribute. @@ -507,9 +461,6 @@ The ``connection`` element A :code:`connection` element information item (referred to in this specification as a :code:`connection` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`connection`,and which appears as a child of a :code:`model` element. -Specific information items --------------------------- - .. container:: issue-connection-component1 1. Each :code:`connection` element MUST contain a :code:`component_1` attribute. The value of the :code:`component_1` attribute MUST be a :ref:`valid CellML identifier`. @@ -553,9 +504,6 @@ The ``map_variables`` element A :code:`map_variables` element information item (referred to in this specification as a :code:`map_variables` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`map_variables`, and which appears as a child of a :code:`connection` element. -Specific information items --------------------------- - .. container:: issue-map-variables-variable1 1. Each :code:`map_variables` element MUST contain a :code:`variable_1` attribute. From e1bc1db9c34762aafc3745d7295e0908fe640e0e Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 17:23:30 +1300 Subject: [PATCH 216/604] Heading decoration length --- reference/formal_sectionA.rst | 4 ++-- reference/formal_sectionB.rst | 4 ++-- reference/formal_sectionC.rst | 4 ++-- reference/index_sectionA.rst | 4 ++-- reference/index_sectionB.rst | 4 ++-- reference/index_sectionC.rst | 4 ++-- reference/sectionD_references.rst | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/reference/formal_sectionA.rst b/reference/formal_sectionA.rst index 05c06413..08669433 100644 --- a/reference/formal_sectionA.rst +++ b/reference/formal_sectionA.rst @@ -1,8 +1,8 @@ .. _sectionA_index_formal: -=================================== +=========== Definitions -=================================== +=========== .. toctree:: :maxdepth: 2 diff --git a/reference/formal_sectionB.rst b/reference/formal_sectionB.rst index cf46a5a6..70afeb22 100644 --- a/reference/formal_sectionB.rst +++ b/reference/formal_sectionB.rst @@ -1,8 +1,8 @@ .. _sectionB_index_formal: -==================================== +========================= Element information items -==================================== +========================= .. toctree:: :maxdepth: 1 diff --git a/reference/formal_sectionC.rst b/reference/formal_sectionC.rst index fd5054f7..cc7a6f24 100644 --- a/reference/formal_sectionC.rst +++ b/reference/formal_sectionC.rst @@ -1,8 +1,8 @@ .. _sectionC_index_formal: -========================= +============== Interpretation -========================= +============== .. toctree:: :maxdepth: 1 diff --git a/reference/index_sectionA.rst b/reference/index_sectionA.rst index 831067df..8884944f 100644 --- a/reference/index_sectionA.rst +++ b/reference/index_sectionA.rst @@ -1,8 +1,8 @@ .. _sectionA_index: -=================================== +=========== Definitions -=================================== +=========== .. toctree:: :maxdepth: 1 diff --git a/reference/index_sectionB.rst b/reference/index_sectionB.rst index b89b45d6..30022456 100644 --- a/reference/index_sectionB.rst +++ b/reference/index_sectionB.rst @@ -1,8 +1,8 @@ .. _sectionB_index: -==================================== +========================= Element information items -==================================== +========================= .. toctree:: :maxdepth: 1 diff --git a/reference/index_sectionC.rst b/reference/index_sectionC.rst index 3077ee19..8f5dae6c 100644 --- a/reference/index_sectionC.rst +++ b/reference/index_sectionC.rst @@ -1,8 +1,8 @@ .. _sectionC_index: -========================= +============== Interpretation -========================= +============== .. toctree:: :maxdepth: 1 diff --git a/reference/sectionD_references.rst b/reference/sectionD_references.rst index ab97dd4b..5bd578f5 100644 --- a/reference/sectionD_references.rst +++ b/reference/sectionD_references.rst @@ -1,9 +1,9 @@ .. _sectionD: -===================== +========== References -===================== +========== `RFC 2119: Key words for use in RFCs to Indicate Requirement Levels `__ (March 1997) From 1e8b0ee29b7d19f8898fa42f2a81f428d55db3e0 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 17:24:11 +1300 Subject: [PATCH 217/604] Normative and informative headings --- formal.rst | 6 +++--- index.rst | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/formal.rst b/formal.rst index 49499522..e6349cb1 100644 --- a/formal.rst +++ b/formal.rst @@ -1,8 +1,8 @@ .. _formal: -========================================== -CellML 2.0 Specification -========================================== +================================== +Normative CellML 2.0 Specification +================================== This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. diff --git a/index.rst b/index.rst index 860504e1..0da7e412 100644 --- a/index.rst +++ b/index.rst @@ -1,8 +1,8 @@ .. _index: -========================================== -CellML 2.0 Specification -========================================== +==================================== +Informative CellML 2.0 Specification +==================================== .. toctree:: :maxdepth: 1 From ef0c6c5fb5554c90b297748b52710fb048a54e20 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 17:34:46 +1300 Subject: [PATCH 218/604] MInor spacing tweaks --- reference/sectionB_elements.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 741e6739..3d962f57 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -12,6 +12,7 @@ The ``model`` element The top-level element information item in a :ref:`CellML infoset` MUST be an element in the :ref:`CellML namespace` with a local name equal to :code:`model`. In this specification, the top-level element is referred to as the :code:`model` element. + .. container:: issue-model-name 1. Every :code:`model` element MUST contain a :code:`name` attribute. From 5e6fed7bed44f2bb11425f480a1c3a629f727ae0 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 18:20:23 +1300 Subject: [PATCH 219/604] Remove blank pages between PDF chapters --- conf.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/conf.py b/conf.py index 26c1fdde..9ea00338 100644 --- a/conf.py +++ b/conf.py @@ -277,6 +277,9 @@ # The font size ('10pt', '11pt' or '12pt'). # 'pointsize': '10pt', + # Removing the blank pages between chapters + 'extraclassoptions': 'openany,oneside' + # Additional stuff for the LaTeX preamble. 'preamble': r''' \usepackage[titles]{tocloft} From 95f9aadb4a85086e6d7edc260028e52cc72c80d4 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 18:20:46 +1300 Subject: [PATCH 220/604] This time with comma ... --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index 9ea00338..99572a3b 100644 --- a/conf.py +++ b/conf.py @@ -278,7 +278,7 @@ # 'pointsize': '10pt', # Removing the blank pages between chapters - 'extraclassoptions': 'openany,oneside' + 'extraclassoptions': 'openany,oneside', # Additional stuff for the LaTeX preamble. 'preamble': r''' From d4fd1957dd18340009958a51a4d250e8f011fb48 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Mon, 30 Mar 2020 18:29:27 +1300 Subject: [PATCH 221/604] pagebreaks throughout chapter 3 --- .../formal_only/specC01_interpretation_of_imports.rst | 4 ++++ reference/formal_only/specC02_units_reference.rst | 8 ++++---- reference/formal_only/specC03_interpretation_of_units.rst | 4 ++++ reference/formal_only/specC04_component_reference.rst | 4 ++++ reference/formal_only/specC05_variable_reference.rst | 4 ++++ .../specC06_interpretation_of_initial_values.rst | 4 ++++ .../formal_only/specC07_effect_of_units_on_variables.rst | 4 ++++ .../formal_only/specC08_interpretation_of_mathematics.rst | 4 ++++ .../specC09_interpretation_of_encapsulation.rst | 4 ++++ .../specC10_interpretation_of_map_variables.rst | 4 ++++ .../specC11_interpretation_of_variable_resets.rst | 4 ++++ reference/sectionC_interpretation.inc | 5 ----- 12 files changed, 44 insertions(+), 9 deletions(-) diff --git a/reference/formal_only/specC01_interpretation_of_imports.rst b/reference/formal_only/specC01_interpretation_of_imports.rst index 399dd723..6a88fe56 100644 --- a/reference/formal_only/specC01_interpretation_of_imports.rst +++ b/reference/formal_only/specC01_interpretation_of_imports.rst @@ -2,3 +2,7 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_imports_start :end-before: marker_interpretation_of_imports_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specC02_units_reference.rst b/reference/formal_only/specC02_units_reference.rst index bffc9f60..e39063b8 100644 --- a/reference/formal_only/specC02_units_reference.rst +++ b/reference/formal_only/specC02_units_reference.rst @@ -4,10 +4,10 @@ :start-after: marker_units_reference_start :end-before: marker_units_reference1 +.. include:: ../sectionC_interpretation.inc + :start-after: marker_units_reference1 + :end-before: marker_units_reference_end + .. raw:: latex \newpage - -.. include:: ../sectionC_interpretation.inc - :start-after: marker_units_reference1 - :end-before: marker_units_reference_end \ No newline at end of file diff --git a/reference/formal_only/specC03_interpretation_of_units.rst b/reference/formal_only/specC03_interpretation_of_units.rst index 44532739..55e65d2a 100644 --- a/reference/formal_only/specC03_interpretation_of_units.rst +++ b/reference/formal_only/specC03_interpretation_of_units.rst @@ -2,3 +2,7 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_units_start :end-before: marker_interpretation_of_units_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specC04_component_reference.rst b/reference/formal_only/specC04_component_reference.rst index f8b867d6..7bb47e88 100644 --- a/reference/formal_only/specC04_component_reference.rst +++ b/reference/formal_only/specC04_component_reference.rst @@ -2,3 +2,7 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_component_reference_start :end-before: marker_component_reference_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specC05_variable_reference.rst b/reference/formal_only/specC05_variable_reference.rst index 510b073e..642ae064 100644 --- a/reference/formal_only/specC05_variable_reference.rst +++ b/reference/formal_only/specC05_variable_reference.rst @@ -2,3 +2,7 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_variable_reference_start :end-before: marker_variable_reference_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specC06_interpretation_of_initial_values.rst b/reference/formal_only/specC06_interpretation_of_initial_values.rst index 68a62e2b..ec3b39f5 100644 --- a/reference/formal_only/specC06_interpretation_of_initial_values.rst +++ b/reference/formal_only/specC06_interpretation_of_initial_values.rst @@ -2,3 +2,7 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_initial_values_start :end-before: marker_interpretation_of_initial_values_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specC07_effect_of_units_on_variables.rst b/reference/formal_only/specC07_effect_of_units_on_variables.rst index 746c66f5..d04536ce 100644 --- a/reference/formal_only/specC07_effect_of_units_on_variables.rst +++ b/reference/formal_only/specC07_effect_of_units_on_variables.rst @@ -2,3 +2,7 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_effect_of_units_on_variables_start :end-before: marker_effect_of_units_on_variables_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specC08_interpretation_of_mathematics.rst b/reference/formal_only/specC08_interpretation_of_mathematics.rst index 261b14c7..bd611a62 100644 --- a/reference/formal_only/specC08_interpretation_of_mathematics.rst +++ b/reference/formal_only/specC08_interpretation_of_mathematics.rst @@ -2,3 +2,7 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_mathematics_start :end-before: marker_interpretation_of_mathematics_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specC09_interpretation_of_encapsulation.rst b/reference/formal_only/specC09_interpretation_of_encapsulation.rst index a2b0e7b2..5786f933 100644 --- a/reference/formal_only/specC09_interpretation_of_encapsulation.rst +++ b/reference/formal_only/specC09_interpretation_of_encapsulation.rst @@ -2,3 +2,7 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_encapsulation_start :end-before: marker_interpretation_of_encapsulation_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specC10_interpretation_of_map_variables.rst b/reference/formal_only/specC10_interpretation_of_map_variables.rst index 7a952bc2..21ec7139 100644 --- a/reference/formal_only/specC10_interpretation_of_map_variables.rst +++ b/reference/formal_only/specC10_interpretation_of_map_variables.rst @@ -2,3 +2,7 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_map_variables_start :end-before: marker_interpretation_of_map_variables_end + +.. raw:: latex + + \newpage diff --git a/reference/formal_only/specC11_interpretation_of_variable_resets.rst b/reference/formal_only/specC11_interpretation_of_variable_resets.rst index 629ac7c1..cb26cd44 100644 --- a/reference/formal_only/specC11_interpretation_of_variable_resets.rst +++ b/reference/formal_only/specC11_interpretation_of_variable_resets.rst @@ -2,3 +2,7 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_variable_resets_start :end-before: marker_interpretation_of_variable_resets_end + +.. raw:: latex + + \newpage diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 9db42454..85cf0b96 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -270,17 +270,12 @@ Interpretation of ``units`` elements 3. Tuples which have the name element of "dimensionless" SHALL be removed from the set of tuples. Note that this can result in the set of tuples being empty. - 4. Where the set of tuples consists of tuples which have the same name element, those tuples SHALL be combined into a single tuple with that name element and an exponent being the sum of the combined tuples’ exponents. If the resulting tuple’s exponent term is zero, the tuple SHALL be removed from the set of tuples. Note that this can result in the set of tuples being empty. .. marker_interpretation_of_units_3 -.. raw:: latex - - \newpage - .. _table_prefix_values: **Table 3.2: Prefix values** From ed086124b97f7644b588ad8948366a2176aee844 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 08:22:30 +1300 Subject: [PATCH 222/604] Add real url to normative intro --- formal.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/formal.rst b/formal.rst index e6349cb1..48ae9fcd 100644 --- a/formal.rst +++ b/formal.rst @@ -6,7 +6,9 @@ Normative CellML 2.0 Specification This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. -Users of CellML models should read the informative version of the CellML Specification which is available here: **TODO** + + +Users of CellML models should read the informative version of the CellML Specification which is available here: https://cellml.org/specifications/cellml_2.0 **Authors:** Michael Clerx, From 2798c7d51f069bc3469e6192a06fb5ed1c066c77 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 08:35:20 +1300 Subject: [PATCH 223/604] Update sectionC_interpretation.inc --- reference/sectionC_interpretation.inc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 65136489..f66f8b89 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -338,9 +338,7 @@ The term "component reference" refers to the value of a :code:`component_ref` at References to ``variable`` elements ----------------------------------- -#. When present as the value of an :code:`initial_value` attribute of a :code:`variable` element, a variable reference SHALL be the name of a variable, and SHALL refer to the :code:`variable` element in that component with a :code:`name` attribute identical to the variable reference. - -#. When present within :code:`` tags in a :code:`` element, a variable reference SHALL be the name of a variable, and SHALL refer to the :code:`variable` element in that component with a :code:`name` attribute identical to the variable reference. +#. When present in a descendant of a :code:`component` element, a variable reference SHALL be the name of a variable, and SHALL refer to the :code:`variable` element in that component with a :code:`name` attribute identical to the variable reference. #. When present as the value of a :code:`variable_1` attribute of a :code:`map_variables` element, a variable reference SHALL be the name of a variable, and SHALL be interpreted as referring to the :code:`variable` element with a :code:`name` attribute identical to the variable reference and being a child of the :code:`component` named by the value of the :code:`component_1` attribute of the parent :code:`connection` element. From f2ebd87ad881b4500cec76032b15d5cac2af034d Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 08:41:19 +1300 Subject: [PATCH 224/604] Update formal.rst --- formal.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/formal.rst b/formal.rst index 48ae9fcd..e379fef6 100644 --- a/formal.rst +++ b/formal.rst @@ -8,7 +8,7 @@ This document is the normative version of the CellML Specification, defining the It is intended primarily for the developers of software tools which directly consume CellML syntax. -Users of CellML models should read the informative version of the CellML Specification which is available here: https://cellml.org/specifications/cellml_2.0 +Users of CellML models should read the informative version of the CellML Specification which is available at https://cellml.org/specifications/cellml_2.0. **Authors:** Michael Clerx, From f0a29f78f2865b16a22a7fae6b6fb70371f38c7c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 08:51:54 +1300 Subject: [PATCH 225/604] Tweaks to Math block wording --- reference/sectionB_elements.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index ef7c3279..ce7d85e7 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -405,7 +405,8 @@ Specific information items .. container:: issue-math-cn-units-attribute - 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. The value of this attribute MUST be a valid units reference to a :code:`units` item within the infoset or a :ref:`built-in units` item. + 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. + The value of this attribute MUST be a valid :ref:`units reference` to a :code:`units` item within the infoset or a :ref:`built-in units` item. .. container:: issue-math-cn-type From ab863ae0c7a3dc22b509887a66cd28a07135f874 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 09:20:42 +1300 Subject: [PATCH 226/604] Allow empty connections --- reference/sectionB_elements.inc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 53f3f39a..5146b402 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -141,9 +141,7 @@ Specific information items .. container:: issue-import-component-ref - 2. Every :code:`import component` element MUST contain a -:code:`component_ref` attribute. The value of the :code:`component_ref` -attribute MUST be a :ref:`valid CellML identifier`. + 2. Every :code:`import component` element MUST contain a :code:`component_ref` attribute. The value of the :code:`component_ref` attribute MUST be a :ref:`valid CellML identifier`. The value of the :code:`component_ref` attribute MUST match the value of the :code:`name` attribute on a :code:`component` or :code:`import component` element in the imported :ref:`CellML infoset`. See also the :ref:`Component reference` section. @@ -545,7 +543,7 @@ Specific information items .. container:: issue-connection-map-variables - 5. Every :code:`connection` element MUST contain one or more :code:`map_variables` elements. + 5. A :code:`connection` element MAY contain one or more :code:`map_variables` elements. .. marker_connection_end .. marker_map_variables_start From 4f3fa453a1880bff34dd39aeeef46a0562c5f321 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 09:57:22 +1300 Subject: [PATCH 227/604] Updated informative examples for connections --- reference/informative/informB14_component_ref1.rst | 2 +- reference/informative/informB15_connection5.rst | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/reference/informative/informB14_component_ref1.rst b/reference/informative/informB14_component_ref1.rst index 2b75a001..22767f7f 100644 --- a/reference/informative/informB14_component_ref1.rst +++ b/reference/informative/informB14_component_ref1.rst @@ -9,5 +9,5 @@ .. container:: infospec - There are notes about the :code:`component_ref` usage under the informal link on the :ref:`encapsulation element` page. + There are notes about the :code:`component_ref` usage under the "See more" link on the :ref:`encapsulation element` page. diff --git a/reference/informative/informB15_connection5.rst b/reference/informative/informB15_connection5.rst index de42ae78..7ed48849 100644 --- a/reference/informative/informB15_connection5.rst +++ b/reference/informative/informB15_connection5.rst @@ -9,11 +9,10 @@ .. container:: infospec The point of creating a :code:`connection` item is in order to connect :code:`variables` between eligible :code:`components`. - There is no reason to have an empty :code:`connection` - just delete it. + You are allowed to have an empty :code:`connection`, but it is meaningless. .. code-block:: xml - @@ -22,7 +21,7 @@ - + From 9dab0ad55dfc489f48784a5b388c919c1c67695a Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 09:59:54 +1300 Subject: [PATCH 228/604] Update informB15_connection4.rst --- reference/informative/informB15_connection4.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/informative/informB15_connection4.rst b/reference/informative/informB15_connection4.rst index 23e978a2..32ccd1ef 100644 --- a/reference/informative/informB15_connection4.rst +++ b/reference/informative/informB15_connection4.rst @@ -10,7 +10,7 @@ You may only have one :code:`connection` any two :code:`components`, regardless of which is specified as :code:`component_1` and which is specified as :code:`component_2`. If you have found duplicate :code:`connection` elements, simply merge their contents - a :code:`connection` can contain any number of :code:`map_variables` children. - Make sure that the order in which you spe **TODO** + Make sure that the order in which you specify the :code:`component` attributes matches the order in which you specify their child :code:`variable` items too: ie, all :code:`variable_1` items must be within the :code:`component_1` component and vice versa. .. code-block:: xml @@ -35,7 +35,7 @@ - + From c389c8319796774e6b167c9216b9efdd51dae385 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 10:10:34 +1300 Subject: [PATCH 229/604] Removed unneeded end of sentence --- reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 0318db1f..04697904 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -360,7 +360,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-cn-units-attribute 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. - The value of this attribute MUST be a valid :ref:`units reference` to a :code:`units` item within the infoset or a :ref:`built-in units` item. + The value of this attribute MUST be a valid :ref:`units reference`. .. container:: issue-math-cn-type From 759bf319611013977186794a3bf3930d86457687 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 10:13:08 +1300 Subject: [PATCH 230/604] Removed "see" from link --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 5c50c438..eba57d1d 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -348,7 +348,7 @@ References to ``variable`` elements Interpretation of ``initial_value`` attributes ---------------------------------------------- -#. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a real number string, or a variable reference (see :ref:`Variable reference`). +#. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a real number string, or a :ref:variable reference`. #. The conditions when initial values hold are (by design) not defined in a :ref:`CellML model` document. From f94f2dda863d85b232358a2101d23f5e3a395604 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 10:20:25 +1300 Subject: [PATCH 231/604] Added references elsewhere too --- reference/sectionB_elements.inc | 4 ++-- reference/sectionC_interpretation.inc | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 3d962f57..f23971ba 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -359,7 +359,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-cn-units-attribute - 4. Any MathML :code:`cn` elements MUST each have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. The value of this attribute MUST be a valid units reference. + 4. Any MathML :code:`cn` elements MUST each have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. The value of this attribute MUST be a valid :ref:`units reference`. .. container:: issue-math-cn-type @@ -475,7 +475,7 @@ A :code:`connection` element information item (referred to in this specification 2. Each :code:`connection` element MUST contain a :code:`component_2` attribute. The value of the :code:`component_2` attribute MUST be a :ref:`valid CellML identifier`. - The value of this attribute MUST be equal to the :code:`name` attribute on a :code:`component` or :code:`import component` element in the :ref:`CellML infoset` (see :ref:`Component reference `). + The value of this attribute MUST be equal to the :code:`name` attribute on a :code:`component` or :code:`import component` element in the :ref:`CellML infoset` (see :ref:`Component reference`). .. marker_connection_2 diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index eba57d1d..91eebcdc 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -9,14 +9,13 @@ Interpretation of ``import`` elements ------------------------------------- #. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and separate instance of the CellML infoset referenced by the :code:`href` attribute (the imported infoset). - See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. + See :ref:`References to units elements` and :ref:`References to component elements` for the specifics of importing units and components. .. marker_interpretation_of_imports_end .. marker_units_reference_start .. _specC_units_reference: - References to ``units`` elements -------------------------------- @@ -258,7 +257,7 @@ Interpretation of ``units`` elements 2. If the :code:`units` element has one or more :code:`unit` child elements, then the set of tuples SHALL consist of the entire collection of tuples given by all :code:`unit` child elements. Tuples for each :code:`unit` child element SHALL be determined as follows: - 1. Where the units reference of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. + 1. Where the ref:`units reference` of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. 2. Where the units reference of the :code:`unit` child element is to built-in units other than an irreducible unit, then the tuples SHALL be derived directly from the :ref:`Built-in units` table. Specifically, the set of tuples SHALL consist of the tuples given in the "Unit reduction tuple set" column of the row for which the value in the "Name" column matches the name of the units reference. @@ -365,7 +364,7 @@ Interpretation of ``initial_value`` attributes Effect of ``units`` on a ``variable`` ------------------------------------- -#. The value of the :code:`units` attribute on every :code:`variable` element MUST be a valid units reference. +#. The value of the :code:`units` attribute on every :code:`variable` element MUST be a valid :ref:`units reference`. The target of this units reference is referred to as the variable units, and the corresponding unit reduction (see :ref:`Interpretation of units`) is referred to as the variable unit reduction. .. marker_effect_of_units_on_variables_end From ce393c8e097f4610d909afc4a3aba4ad9a7598a8 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 10:47:36 +1300 Subject: [PATCH 232/604] Created a singlepage HTML version, moved acknowledgements into a separate file --- formal.rst | 34 +-------------------------- formal_singlepage.rst | 20 ++++++++++++++++ reference/acknowledgements.rst | 35 ++++++++++++++++++++++++++++ reference/informative_preamble.rst | 37 +----------------------------- 4 files changed, 57 insertions(+), 69 deletions(-) create mode 100644 formal_singlepage.rst create mode 100644 reference/acknowledgements.rst diff --git a/formal.rst b/formal.rst index e379fef6..9eb26453 100644 --- a/formal.rst +++ b/formal.rst @@ -7,41 +7,9 @@ Normative CellML 2.0 Specification This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. - Users of CellML models should read the informative version of the CellML Specification which is available at https://cellml.org/specifications/cellml_2.0. -**Authors:** -Michael Clerx, -Michael T. Cooling, -Jonathan Cooper, -Alan Garny, -Keri Moyle, -David P. Nickerson, -Poul Nielsen, and -Hugh Sorby. - -**Contributors:** -Koray Atalag, -David Brooks, -Edmund J. Crampin, -Jesús Carro Fernández, -Peter J. Hunter, -Gary R. Mirams, and -Maxwell L. Neal. - -The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification, although the semantics have changed considerably. -The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: -Andrew K. Miller (who wrote the text reused here), -Randall Britten, -Jonathan Cooper, -Alan Garny, -Peter J. Hunter, -Justin Marsh, -Poul Nielsen, -David P. Nickerson, and -Hugh Sorby. - -**Contact:** editors@cellml.org +.. include:: reference/acknowledgements.rst .. toctree:: :maxdepth: 2 diff --git a/formal_singlepage.rst b/formal_singlepage.rst new file mode 100644 index 00000000..9c5e0b75 --- /dev/null +++ b/formal_singlepage.rst @@ -0,0 +1,20 @@ +.. _formal_singlepage: + +================================== +Normative CellML 2.0 Specification +================================== + +This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. +It is intended primarily for the developers of software tools which directly consume CellML syntax. + +Users of CellML models should read the informative version of the CellML Specification which is available at https://cellml.org/specifications/cellml_2.0. + +A PDF of this page is available from **TODO**. + +.. include:: reference/acknowledgements.rst +.. include:: reference/formal_sectionA.rst +.. include:: reference/formal_sectionB.rst +.. include:: reference/formal_sectionC.rst +.. include:: reference/sectionD_references.rst + + diff --git a/reference/acknowledgements.rst b/reference/acknowledgements.rst new file mode 100644 index 00000000..41c24d51 --- /dev/null +++ b/reference/acknowledgements.rst @@ -0,0 +1,35 @@ +**Authors:** + +Michael Clerx, +Michael T. Cooling, +Jonathan Cooper, +Alan Garny, +Keri Moyle, +David P. Nickerson, +Poul Nielsen, and +Hugh Sorby. + +**Contributors:** + +Koray Atalag, +David Brooks, +Edmund J. Crampin, +Jesús Carro Fernández, +Peter J. Hunter, +Gary R. Mirams, and +Maxwell L. Neal. + +The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification, although the semantics have changed considerably. +The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: + +Andrew K. Miller (who wrote the text reused here), +Randall Britten, +Jonathan Cooper, +Alan Garny, +Peter J. Hunter, +Justin Marsh, +Poul Nielsen, +David P. Nickerson, and +Hugh Sorby. + +**Contact:** editors@cellml.org diff --git a/reference/informative_preamble.rst b/reference/informative_preamble.rst index 36db4c10..8fcfee3c 100644 --- a/reference/informative_preamble.rst +++ b/reference/informative_preamble.rst @@ -5,39 +5,4 @@ It is intended primarily for the developers of software tools which directly con Users of CellML models may expand the "See more" blocks throughout this document to access the informative version and see examples. Software-specific information is also available under their repsective names or icons throughout the text. -**Authors:** - -Michael Clerx, -Michael T. Cooling, -Jonathan Cooper, -Alan Garny, -Keri Moyle, -David P. Nickerson, -Poul Nielsen, and -Hugh Sorby. - -**Contributors:** - -Koray Atalag, -David Brooks, -Edmund J. Crampin, -Jesús Carro Fernández, -Peter J. Hunter, -Gary R. Mirams, and -Maxwell L. Neal. - -The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification, although the semantics have changed considerably. -The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: - -Andrew K. Miller (who wrote the text reused here), -Randall Britten, -Jonathan Cooper, -Alan Garny, -Peter J. Hunter, -Justin Marsh, -Poul Nielsen, -David P. Nickerson, and -Hugh Sorby. - -**Contact:** editors@cellml.org - +.. include:: acknowledgements.rst From 0e2f7ab7558539233797675e09dc6e073dae976d Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 10:50:43 +1300 Subject: [PATCH 233/604] Update formal_singlepage.rst --- formal_singlepage.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/formal_singlepage.rst b/formal_singlepage.rst index 9c5e0b75..1122f4f4 100644 --- a/formal_singlepage.rst +++ b/formal_singlepage.rst @@ -12,9 +12,9 @@ Users of CellML models should read the informative version of the CellML Specifi A PDF of this page is available from **TODO**. .. include:: reference/acknowledgements.rst -.. include:: reference/formal_sectionA.rst -.. include:: reference/formal_sectionB.rst -.. include:: reference/formal_sectionC.rst +.. include:: reference/sectionA_definitions.inc +.. include:: reference/sectionB_elements.inc +.. include:: reference/sectionC_interpretation.inc .. include:: reference/sectionD_references.rst From f157074d55f12084c21e4f16633337c757d08ada Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 10:55:44 +1300 Subject: [PATCH 234/604] Try out sectnum for singlepage --- formal.rst | 2 -- formal_singlepage.rst | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/formal.rst b/formal.rst index 9eb26453..b7a56915 100644 --- a/formal.rst +++ b/formal.rst @@ -19,5 +19,3 @@ Users of CellML models should read the informative version of the CellML Specifi reference/formal_sectionB.rst reference/formal_sectionC.rst reference/sectionD_references.rst - - diff --git a/formal_singlepage.rst b/formal_singlepage.rst index 1122f4f4..20bdb655 100644 --- a/formal_singlepage.rst +++ b/formal_singlepage.rst @@ -12,6 +12,9 @@ Users of CellML models should read the informative version of the CellML Specifi A PDF of this page is available from **TODO**. .. include:: reference/acknowledgements.rst + +.. sectnum:: + .. include:: reference/sectionA_definitions.inc .. include:: reference/sectionB_elements.inc .. include:: reference/sectionC_interpretation.inc From 40a2d211f843ebd58ed8e34d73bbd97c711bd8c4 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 11:04:18 +1300 Subject: [PATCH 235/604] Decorations consistent between .inc files --- formal_singlepage.rst | 13 ++++++++++++ reference/sectionA_definitions.inc | 18 ++++++++--------- reference/sectionB_elements.inc | 32 +++++++++++++++--------------- 3 files changed, 38 insertions(+), 25 deletions(-) diff --git a/formal_singlepage.rst b/formal_singlepage.rst index 20bdb655..abffa2b8 100644 --- a/formal_singlepage.rst +++ b/formal_singlepage.rst @@ -15,9 +15,22 @@ A PDF of this page is available from **TODO**. .. sectnum:: + +Definitions +=========== .. include:: reference/sectionA_definitions.inc + + +Element information items +========================= .. include:: reference/sectionB_elements.inc + + +Interpretation +============== .. include:: reference/sectionC_interpretation.inc + + .. include:: reference/sectionD_references.rst diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index ef99c578..1d97e00e 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -5,7 +5,7 @@ .. _specA_terminology: Terminology -=========== +----------- The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in :rfc2119:`RFC 2119`. @@ -93,17 +93,17 @@ Any one of the Unicode characters :unicode:`0020`, :unicode:`0009`, :unicode:`00 .. _specA_cellml_information_sets: CellML information sets -======================= +----------------------- CellML and XML --------------- +~~~~~~~~~~~~~~ #. Every CellML infoset SHALL be represented in an XML information set which conforms with the well-formedness requirements of :xml_1_1:`XML 1.1`. #. In this document, the remaining provisions relating to CellML infosets SHALL be interpreted as additional constraints on the XML information set represented by a CellML infoset. Specific information items --------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~ #. For the purposes of this specification, a specific information item is one of the following (see https://www.w3.org/TR/xml-infoset/#infoitem for definitions): @@ -130,7 +130,7 @@ Specific information items .. _specA_semantic_equivalence: Semantically equivalent CellML infosets ---------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #. Two :ref:`CellML infosets` SHALL be deemed semantically equivalent if one can be transformed into the other by making any or none of the following changes: @@ -145,12 +145,12 @@ Semantically equivalent CellML infosets or changing the number of whitespace characters at the beginning or end of any character information item. Character information items ---------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~ #. An element information item in the :ref:`CellML namespace` MUST NOT contain any character information items, except for character information items which consist entirely of whitespace characters. Use of namespaces ------------------ +~~~~~~~~~~~~~~~~~ #. Element information items in a :ref:`CellML infoset` MUST belong to one of the following namespaces, unless explicitly indicated otherwise: @@ -161,7 +161,7 @@ Use of namespaces #. Attribute information items in a CellML element MUST NOT be prefixed with a namespace, unless explicitly indicated otherwise. XML ID Attributes ------------------ +~~~~~~~~~~~~~~~~~ #. Any element information item in the :ref:`CellML namespace` MAY contain an attribute with local name :code:`id.` This attribute SHALL be treated as having attribute type ID, as defined in `section 3.3.1 `__ of `XML 1.1 `__. @@ -172,7 +172,7 @@ XML ID Attributes .. _specA_data_representation_formats: Data representation formats in CellML -===================================== +------------------------------------- The following data representation formats are defined for use in this specification: diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 3d962f57..e5d643c9 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -5,7 +5,7 @@ .. _model: The ``model`` element -===================== +--------------------- .. container:: issue-model-element @@ -47,7 +47,7 @@ The ``model`` element .. _import: The ``import`` element -====================== +---------------------- An :code:`import` element information item (referred to in this specification as an :code:`import` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`import`. @@ -83,7 +83,7 @@ An :code:`import` element information item (referred to in this specification as .. _import_units: The ``import units`` element -============================ +---------------------------- An :code:`import units` element information item (referred to in this specification as an :code:`import units` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`units`, which appears as a child of an :code:`import` element. @@ -109,7 +109,7 @@ An :code:`import units` element information item (referred to in this specificat .. _import_component: The ``import component`` element -================================ +-------------------------------- An :code:`import component` element information item (referred to in this specification as an :code:`import component` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`component`, which appears as a child of an :code:`import` element. @@ -132,7 +132,7 @@ An :code:`import component` element information item (referred to in this specif .. _units: The ``units`` element -===================== +--------------------- A :code:`units` element information item (referred to in this specification as a :code:`units` element) is an element in the CellML namespace with a local name equal to :code:`units`, and with a :code:`model` element as its parent. @@ -159,7 +159,7 @@ A :code:`units` element information item (referred to in this specification as a .. _unit: The ``unit`` element -==================== +-------------------- A :code:`unit` element information item (referred to in this specification as a :code:`unit` element) is an element in the CellML namespace with a local name equal to :code:`unit`, and with a :code:`units` element as its parent. @@ -202,7 +202,7 @@ A :code:`unit` element information item (referred to in this specification as a .. _component: The ``component`` element -========================= +------------------------- A :code:`component` element information item (referred to in this specification as a :code:`component` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`component`, and which appears as a child of a :code:`model` element. @@ -232,7 +232,7 @@ A :code:`component` element information item (referred to in this specification .. _variable: The ``variable`` element -======================== +------------------------ A :code:`variable` element information item (referred to in this specification as a :code:`variable` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`variable`, and which appears as a child of a :code:`component` element. @@ -266,7 +266,7 @@ A :code:`variable` element information item (referred to in this specification a .. _reset: The ``reset`` element -===================== +--------------------- A :code:`reset` element information item (referred to in this specification as a :code:`reset` element) is an element in the CellML namespace with a local name equal to :code:`reset`, and which appears as a child of a :code:`component` element. @@ -307,7 +307,7 @@ A :code:`reset` element information item (referred to in this specification as a .. _test_value: The ``test_value`` element -========================== +-------------------------- A :code:`test_value` element information item (referred to in this specification as a :code:`test_value` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`test_value`, and which appears as a child of a :code:`reset` element. @@ -321,7 +321,7 @@ A :code:`test_value` element information item (referred to in this specification .. _reset_value: The ``reset_value`` element -=========================== +--------------------------- A :code:`reset_value` element information item (referred to in this specification as a :code:`reset_value` element) is an element in the CellML namespace with a local name equal to :code:`reset_value`, and which appears as a child of a :code:`reset` element. @@ -335,7 +335,7 @@ A :code:`reset_value` element information item (referred to in this specificatio .. _math: The ``math`` element -==================== +-------------------- A :code:`math` element information item (referred to in this specification as a :code:`math` element) is an element in the MathML namespace that appears as a direct child of a :code:`component` element, a :code:`test_value` element, or a :code:`reset_value` element. @@ -420,7 +420,7 @@ A :code:`math` element information item (referred to in this specification as a .. _encapsulation: The ``encapsulation`` element -============================= +----------------------------- An :code:`encapsulation` element information item (referred to in this specification as an :code:`encapsulation` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`encapsulation`, and which appears as a child of a :code:`model` element. @@ -434,7 +434,7 @@ An :code:`encapsulation` element information item (referred to in this specifica .. _component_ref: The ``component_ref`` element -============================= +----------------------------- A :code:`component_ref` element information item (referred to in this specification as a :code:`component_ref` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`component_ref`, and which appears as a child of an :code:`encapsulation` element. @@ -458,7 +458,7 @@ A :code:`component_ref` element information item (referred to in this specificat .. _connection: The ``connection`` element -========================== +-------------------------- A :code:`connection` element information item (referred to in this specification as a :code:`connection` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`connection`,and which appears as a child of a :code:`model` element. @@ -501,7 +501,7 @@ A :code:`connection` element information item (referred to in this specification .. _map_variables: The ``map_variables`` element -============================= +----------------------------- A :code:`map_variables` element information item (referred to in this specification as a :code:`map_variables` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`map_variables`, and which appears as a child of a :code:`connection` element. From 2fbd681ff152c81f5629bd11bc3b0d559e96b418 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 11:07:19 +1300 Subject: [PATCH 236/604] Update formal_singlepage.rst --- formal_singlepage.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/formal_singlepage.rst b/formal_singlepage.rst index abffa2b8..7b68cba9 100644 --- a/formal_singlepage.rst +++ b/formal_singlepage.rst @@ -1,8 +1,8 @@ .. _formal_singlepage: -================================== + Normative CellML 2.0 Specification -================================== + This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. @@ -15,17 +15,17 @@ A PDF of this page is available from **TODO**. .. sectnum:: - +=========== Definitions =========== .. include:: reference/sectionA_definitions.inc - +========================= Element information items ========================= .. include:: reference/sectionB_elements.inc - +============== Interpretation ============== .. include:: reference/sectionC_interpretation.inc From c1fd490927f8cf9b30533f52f536f825fe36fcd3 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 11:48:56 +1300 Subject: [PATCH 237/604] Heading on landing page --- formal_singlepage.rst | 4 ++-- static/css/cellml.css | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/formal_singlepage.rst b/formal_singlepage.rst index 7b68cba9..7e98187c 100644 --- a/formal_singlepage.rst +++ b/formal_singlepage.rst @@ -1,8 +1,8 @@ .. _formal_singlepage: +.. container:: heading1 -Normative CellML 2.0 Specification - + Normative CellML 2.0 Specification This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. diff --git a/static/css/cellml.css b/static/css/cellml.css index 25948031..b72b9dac 100644 --- a/static/css/cellml.css +++ b/static/css/cellml.css @@ -115,6 +115,13 @@ div[class^="issue"], div[class*=" issue"] > ol { font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; } +.heading1 { + color: #444444; + font-family: "Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif; + font-size:200%; + font-weight: 700; +} + .heading2 { color: #444444; font-family: "Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif; From 9337799af2aa6b77f47ff5492182bba5d43de1c6 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 11:51:58 +1300 Subject: [PATCH 238/604] Update cellml.css --- static/css/cellml.css | 1 + 1 file changed, 1 insertion(+) diff --git a/static/css/cellml.css b/static/css/cellml.css index b72b9dac..8d49989b 100644 --- a/static/css/cellml.css +++ b/static/css/cellml.css @@ -120,6 +120,7 @@ div[class^="issue"], div[class*=" issue"] > ol { font-family: "Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif; font-size:200%; font-weight: 700; + padding-bottom: 20px; } .heading2 { From 770e756855ad911cb72e644355e97972f3f973cf Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 11:54:51 +1300 Subject: [PATCH 239/604] Newline between sentences. --- reference/sectionB_elements.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index f23971ba..2d22080e 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -359,7 +359,8 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-cn-units-attribute - 4. Any MathML :code:`cn` elements MUST each have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. The value of this attribute MUST be a valid :ref:`units reference`. + 4. Any MathML :code:`cn` elements MUST each have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. + The value of this attribute MUST be a valid :ref:`units reference`. .. container:: issue-math-cn-type From 43cc83d9b323b20a4bc322ab6fb3f4895a7d1b60 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 31 Mar 2020 11:57:34 +1300 Subject: [PATCH 240/604] Ignore build/ directory and .DS_Store files. --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 1d74e219..5dfa7929 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ .vscode/ +.DS_Store +build/ From d6c24a91b3e5a179f870d8cc407f00f2e83c6cce Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 31 Mar 2020 11:59:04 +1300 Subject: [PATCH 241/604] Move source files into src/ directory. --- Makefile | 2 +- conf.py => src/conf.py | 0 formal.rst => src/formal.rst | 0 index.rst => src/index.rst | 0 {reference => src/reference}/formal_and_informative/specA1.rst | 0 {reference => src/reference}/formal_and_informative/specA2.rst | 0 {reference => src/reference}/formal_and_informative/specA3.rst | 0 {reference => src/reference}/formal_and_informative/specB01.rst | 0 {reference => src/reference}/formal_and_informative/specB02.rst | 0 {reference => src/reference}/formal_and_informative/specB03.rst | 0 {reference => src/reference}/formal_and_informative/specB04.rst | 0 {reference => src/reference}/formal_and_informative/specB05.rst | 0 {reference => src/reference}/formal_and_informative/specB06.rst | 0 {reference => src/reference}/formal_and_informative/specB07.rst | 0 {reference => src/reference}/formal_and_informative/specB08.rst | 0 {reference => src/reference}/formal_and_informative/specB09.rst | 0 {reference => src/reference}/formal_and_informative/specB10.rst | 0 {reference => src/reference}/formal_and_informative/specB11.rst | 0 {reference => src/reference}/formal_and_informative/specB12.rst | 0 {reference => src/reference}/formal_and_informative/specB13.rst | 0 {reference => src/reference}/formal_and_informative/specB14.rst | 0 {reference => src/reference}/formal_and_informative/specB15.rst | 0 {reference => src/reference}/formal_and_informative/specB16.rst | 0 .../specC01_interpretation_of_imports.rst | 0 .../formal_and_informative/specC02_units_reference.rst | 0 .../formal_and_informative/specC03_interpretation_of_units.rst | 0 .../formal_and_informative/specC04_component_reference.rst | 0 .../formal_and_informative/specC05_variable_reference.rst | 0 .../specC06_interpretation_of_initial_values.rst | 0 .../specC07_effect_of_units_on_variables.rst | 0 .../specC08_interpretation_of_mathematics.rst | 0 .../specC09_interpretation_of_encapsulation.rst | 0 .../specC10_interpretation_of_map_variables.rst | 0 .../specC11_interpretation_of_variable_resets.rst | 0 {reference => src/reference}/formal_only/specA1.rst | 0 {reference => src/reference}/formal_only/specA2.rst | 0 {reference => src/reference}/formal_only/specA3.rst | 0 {reference => src/reference}/formal_only/specB01.rst | 0 {reference => src/reference}/formal_only/specB02.rst | 0 {reference => src/reference}/formal_only/specB03.rst | 0 {reference => src/reference}/formal_only/specB04.rst | 0 {reference => src/reference}/formal_only/specB05.rst | 0 {reference => src/reference}/formal_only/specB06.rst | 0 {reference => src/reference}/formal_only/specB07.rst | 0 {reference => src/reference}/formal_only/specB08.rst | 0 {reference => src/reference}/formal_only/specB09.rst | 0 {reference => src/reference}/formal_only/specB10.rst | 0 {reference => src/reference}/formal_only/specB11.rst | 0 {reference => src/reference}/formal_only/specB12.rst | 0 {reference => src/reference}/formal_only/specB13.rst | 0 {reference => src/reference}/formal_only/specB14.rst | 0 {reference => src/reference}/formal_only/specB15.rst | 0 {reference => src/reference}/formal_only/specB16.rst | 0 .../formal_only/specC01_interpretation_of_imports.rst | 0 .../reference}/formal_only/specC02_units_reference.rst | 0 .../reference}/formal_only/specC03_interpretation_of_units.rst | 0 .../reference}/formal_only/specC04_component_reference.rst | 0 .../reference}/formal_only/specC05_variable_reference.rst | 0 .../formal_only/specC06_interpretation_of_initial_values.rst | 0 .../formal_only/specC07_effect_of_units_on_variables.rst | 0 .../formal_only/specC08_interpretation_of_mathematics.rst | 0 .../formal_only/specC09_interpretation_of_encapsulation.rst | 0 .../formal_only/specC10_interpretation_of_map_variables.rst | 0 .../formal_only/specC11_interpretation_of_variable_resets.rst | 0 {reference => src/reference}/formal_sectionA.rst | 0 {reference => src/reference}/formal_sectionB.rst | 0 {reference => src/reference}/formal_sectionC.rst | 0 {reference => src/reference}/index_sectionA.rst | 0 {reference => src/reference}/index_sectionB.rst | 0 {reference => src/reference}/index_sectionC.rst | 0 {reference => src/reference}/informative/informA1.rst | 0 {reference => src/reference}/informative/informA2.rst | 0 {reference => src/reference}/informative/informA3_1.rst | 0 {reference => src/reference}/informative/informA3_2.rst | 0 {reference => src/reference}/informative/informA3_3.rst | 0 {reference => src/reference}/informative/informA3_4.rst | 0 {reference => src/reference}/informative/informA3_5.rst | 0 .../reference}/informative/informB10_test_value1.rst | 0 .../reference}/informative/informB11_reset_value1.rst | 0 {reference => src/reference}/informative/informB12_math1.rst | 0 {reference => src/reference}/informative/informB12_math2.rst | 0 {reference => src/reference}/informative/informB12_math3.rst | 0 {reference => src/reference}/informative/informB12_math4.rst | 0 .../reference}/informative/informB13_encapsulation1.rst | 0 .../reference}/informative/informB14_component_ref1.rst | 0 .../reference}/informative/informB15_connection2.rst | 0 .../reference}/informative/informB15_connection3.rst | 0 .../reference}/informative/informB15_connection4.rst | 0 .../reference}/informative/informB15_connection5.rst | 0 .../reference}/informative/informB16_map_variables2.rst | 0 .../reference}/informative/informB16_map_variables3.rst | 0 {reference => src/reference}/informative/informB1_model1.rst | 0 {reference => src/reference}/informative/informB1_model2.rst | 0 {reference => src/reference}/informative/informB1_model3.rst | 0 {reference => src/reference}/informative/informB2_import1.rst | 0 {reference => src/reference}/informative/informB2_import2.rst | 0 {reference => src/reference}/informative/informB2_import3.rst | 0 .../reference}/informative/informB3_import_units1.rst | 0 .../reference}/informative/informB4_import_component1.rst | 0 {reference => src/reference}/informative/informB5_units1.rst | 0 {reference => src/reference}/informative/informB6_unit1.rst | 0 {reference => src/reference}/informative/informB6_unit2.rst | 0 .../reference}/informative/informB7_component1.rst | 0 .../reference}/informative/informB7_component2.rst | 0 .../reference}/informative/informB7_component3.rst | 0 {reference => src/reference}/informative/informB8_variable1.rst | 0 {reference => src/reference}/informative/informB9_reset1.rst | 0 {reference => src/reference}/informative/informC01_imports.rst | 0 .../reference}/informative/informC02_units_reference.rst | 0 .../informative/informC03_interpretation_of_units1.rst | 0 .../informative/informC03_interpretation_of_units2.rst | 0 .../informative/informC03_interpretation_of_units3.rst | 0 .../reference}/informative/informC04_component_reference.rst | 0 .../reference}/informative/informC05_variable_reference.rst | 0 .../informative/informC06_interpretation_of_initial_values.rst | 0 .../informative/informC07_effect_of_units_on_variables.rst | 0 .../informative/informC08_interpretation_of_mathematics.rst | 0 .../informative/informC09_interpretation_of_encapsulation.rst | 0 .../informative/informC10_interpretation_of_map_variables.rst | 0 .../informative/informC11_interpretation_of_variable_resets.rst | 0 {reference => src/reference}/informative_preamble.rst | 0 {reference => src/reference}/libcellml/libcellmlB1.rst | 0 {reference => src/reference}/libcellml/libcellmlB12_math.rst | 0 .../reference}/libcellml/libcellmlB15_connection.rst | 0 .../reference}/libcellml/libcellmlB16_map_variables.rst | 0 {reference => src/reference}/libcellml/libcellmlB2.rst | 0 {reference => src/reference}/libcellml/libcellmlB3.rst | 0 {reference => src/reference}/libcellml/libcellmlB4.rst | 0 {reference => src/reference}/libcellml/libcellmlB5.rst | 0 {reference => src/reference}/libcellml/libcellmlB6.rst | 0 {reference => src/reference}/libcellml/libcellmlB7.rst | 0 {reference => src/reference}/libcellml/libcellmlB8.rst | 0 .../libcellml/libcellmlC03_interpretation_of_units.rst | 0 {reference => src/reference}/sectionA_definitions.inc | 0 {reference => src/reference}/sectionB_elements.inc | 0 {reference => src/reference}/sectionC_interpretation.inc | 0 {reference => src/reference}/sectionD_references.rst | 0 {static => src/static}/css/cellml.css | 0 {static => src/static}/templates/page.html | 0 139 files changed, 1 insertion(+), 1 deletion(-) rename conf.py => src/conf.py (100%) rename formal.rst => src/formal.rst (100%) rename index.rst => src/index.rst (100%) rename {reference => src/reference}/formal_and_informative/specA1.rst (100%) rename {reference => src/reference}/formal_and_informative/specA2.rst (100%) rename {reference => src/reference}/formal_and_informative/specA3.rst (100%) rename {reference => src/reference}/formal_and_informative/specB01.rst (100%) rename {reference => src/reference}/formal_and_informative/specB02.rst (100%) rename {reference => src/reference}/formal_and_informative/specB03.rst (100%) rename {reference => src/reference}/formal_and_informative/specB04.rst (100%) rename {reference => src/reference}/formal_and_informative/specB05.rst (100%) rename {reference => src/reference}/formal_and_informative/specB06.rst (100%) rename {reference => src/reference}/formal_and_informative/specB07.rst (100%) rename {reference => src/reference}/formal_and_informative/specB08.rst (100%) rename {reference => src/reference}/formal_and_informative/specB09.rst (100%) rename {reference => src/reference}/formal_and_informative/specB10.rst (100%) rename {reference => src/reference}/formal_and_informative/specB11.rst (100%) rename {reference => src/reference}/formal_and_informative/specB12.rst (100%) rename {reference => src/reference}/formal_and_informative/specB13.rst (100%) rename {reference => src/reference}/formal_and_informative/specB14.rst (100%) rename {reference => src/reference}/formal_and_informative/specB15.rst (100%) rename {reference => src/reference}/formal_and_informative/specB16.rst (100%) rename {reference => src/reference}/formal_and_informative/specC01_interpretation_of_imports.rst (100%) rename {reference => src/reference}/formal_and_informative/specC02_units_reference.rst (100%) rename {reference => src/reference}/formal_and_informative/specC03_interpretation_of_units.rst (100%) rename {reference => src/reference}/formal_and_informative/specC04_component_reference.rst (100%) rename {reference => src/reference}/formal_and_informative/specC05_variable_reference.rst (100%) rename {reference => src/reference}/formal_and_informative/specC06_interpretation_of_initial_values.rst (100%) rename {reference => src/reference}/formal_and_informative/specC07_effect_of_units_on_variables.rst (100%) rename {reference => src/reference}/formal_and_informative/specC08_interpretation_of_mathematics.rst (100%) rename {reference => src/reference}/formal_and_informative/specC09_interpretation_of_encapsulation.rst (100%) rename {reference => src/reference}/formal_and_informative/specC10_interpretation_of_map_variables.rst (100%) rename {reference => src/reference}/formal_and_informative/specC11_interpretation_of_variable_resets.rst (100%) rename {reference => src/reference}/formal_only/specA1.rst (100%) rename {reference => src/reference}/formal_only/specA2.rst (100%) rename {reference => src/reference}/formal_only/specA3.rst (100%) rename {reference => src/reference}/formal_only/specB01.rst (100%) rename {reference => src/reference}/formal_only/specB02.rst (100%) rename {reference => src/reference}/formal_only/specB03.rst (100%) rename {reference => src/reference}/formal_only/specB04.rst (100%) rename {reference => src/reference}/formal_only/specB05.rst (100%) rename {reference => src/reference}/formal_only/specB06.rst (100%) rename {reference => src/reference}/formal_only/specB07.rst (100%) rename {reference => src/reference}/formal_only/specB08.rst (100%) rename {reference => src/reference}/formal_only/specB09.rst (100%) rename {reference => src/reference}/formal_only/specB10.rst (100%) rename {reference => src/reference}/formal_only/specB11.rst (100%) rename {reference => src/reference}/formal_only/specB12.rst (100%) rename {reference => src/reference}/formal_only/specB13.rst (100%) rename {reference => src/reference}/formal_only/specB14.rst (100%) rename {reference => src/reference}/formal_only/specB15.rst (100%) rename {reference => src/reference}/formal_only/specB16.rst (100%) rename {reference => src/reference}/formal_only/specC01_interpretation_of_imports.rst (100%) rename {reference => src/reference}/formal_only/specC02_units_reference.rst (100%) rename {reference => src/reference}/formal_only/specC03_interpretation_of_units.rst (100%) rename {reference => src/reference}/formal_only/specC04_component_reference.rst (100%) rename {reference => src/reference}/formal_only/specC05_variable_reference.rst (100%) rename {reference => src/reference}/formal_only/specC06_interpretation_of_initial_values.rst (100%) rename {reference => src/reference}/formal_only/specC07_effect_of_units_on_variables.rst (100%) rename {reference => src/reference}/formal_only/specC08_interpretation_of_mathematics.rst (100%) rename {reference => src/reference}/formal_only/specC09_interpretation_of_encapsulation.rst (100%) rename {reference => src/reference}/formal_only/specC10_interpretation_of_map_variables.rst (100%) rename {reference => src/reference}/formal_only/specC11_interpretation_of_variable_resets.rst (100%) rename {reference => src/reference}/formal_sectionA.rst (100%) rename {reference => src/reference}/formal_sectionB.rst (100%) rename {reference => src/reference}/formal_sectionC.rst (100%) rename {reference => src/reference}/index_sectionA.rst (100%) rename {reference => src/reference}/index_sectionB.rst (100%) rename {reference => src/reference}/index_sectionC.rst (100%) rename {reference => src/reference}/informative/informA1.rst (100%) rename {reference => src/reference}/informative/informA2.rst (100%) rename {reference => src/reference}/informative/informA3_1.rst (100%) rename {reference => src/reference}/informative/informA3_2.rst (100%) rename {reference => src/reference}/informative/informA3_3.rst (100%) rename {reference => src/reference}/informative/informA3_4.rst (100%) rename {reference => src/reference}/informative/informA3_5.rst (100%) rename {reference => src/reference}/informative/informB10_test_value1.rst (100%) rename {reference => src/reference}/informative/informB11_reset_value1.rst (100%) rename {reference => src/reference}/informative/informB12_math1.rst (100%) rename {reference => src/reference}/informative/informB12_math2.rst (100%) rename {reference => src/reference}/informative/informB12_math3.rst (100%) rename {reference => src/reference}/informative/informB12_math4.rst (100%) rename {reference => src/reference}/informative/informB13_encapsulation1.rst (100%) rename {reference => src/reference}/informative/informB14_component_ref1.rst (100%) rename {reference => src/reference}/informative/informB15_connection2.rst (100%) rename {reference => src/reference}/informative/informB15_connection3.rst (100%) rename {reference => src/reference}/informative/informB15_connection4.rst (100%) rename {reference => src/reference}/informative/informB15_connection5.rst (100%) rename {reference => src/reference}/informative/informB16_map_variables2.rst (100%) rename {reference => src/reference}/informative/informB16_map_variables3.rst (100%) rename {reference => src/reference}/informative/informB1_model1.rst (100%) rename {reference => src/reference}/informative/informB1_model2.rst (100%) rename {reference => src/reference}/informative/informB1_model3.rst (100%) rename {reference => src/reference}/informative/informB2_import1.rst (100%) rename {reference => src/reference}/informative/informB2_import2.rst (100%) rename {reference => src/reference}/informative/informB2_import3.rst (100%) rename {reference => src/reference}/informative/informB3_import_units1.rst (100%) rename {reference => src/reference}/informative/informB4_import_component1.rst (100%) rename {reference => src/reference}/informative/informB5_units1.rst (100%) rename {reference => src/reference}/informative/informB6_unit1.rst (100%) rename {reference => src/reference}/informative/informB6_unit2.rst (100%) rename {reference => src/reference}/informative/informB7_component1.rst (100%) rename {reference => src/reference}/informative/informB7_component2.rst (100%) rename {reference => src/reference}/informative/informB7_component3.rst (100%) rename {reference => src/reference}/informative/informB8_variable1.rst (100%) rename {reference => src/reference}/informative/informB9_reset1.rst (100%) rename {reference => src/reference}/informative/informC01_imports.rst (100%) rename {reference => src/reference}/informative/informC02_units_reference.rst (100%) rename {reference => src/reference}/informative/informC03_interpretation_of_units1.rst (100%) rename {reference => src/reference}/informative/informC03_interpretation_of_units2.rst (100%) rename {reference => src/reference}/informative/informC03_interpretation_of_units3.rst (100%) rename {reference => src/reference}/informative/informC04_component_reference.rst (100%) rename {reference => src/reference}/informative/informC05_variable_reference.rst (100%) rename {reference => src/reference}/informative/informC06_interpretation_of_initial_values.rst (100%) rename {reference => src/reference}/informative/informC07_effect_of_units_on_variables.rst (100%) rename {reference => src/reference}/informative/informC08_interpretation_of_mathematics.rst (100%) rename {reference => src/reference}/informative/informC09_interpretation_of_encapsulation.rst (100%) rename {reference => src/reference}/informative/informC10_interpretation_of_map_variables.rst (100%) rename {reference => src/reference}/informative/informC11_interpretation_of_variable_resets.rst (100%) rename {reference => src/reference}/informative_preamble.rst (100%) rename {reference => src/reference}/libcellml/libcellmlB1.rst (100%) rename {reference => src/reference}/libcellml/libcellmlB12_math.rst (100%) rename {reference => src/reference}/libcellml/libcellmlB15_connection.rst (100%) rename {reference => src/reference}/libcellml/libcellmlB16_map_variables.rst (100%) rename {reference => src/reference}/libcellml/libcellmlB2.rst (100%) rename {reference => src/reference}/libcellml/libcellmlB3.rst (100%) rename {reference => src/reference}/libcellml/libcellmlB4.rst (100%) rename {reference => src/reference}/libcellml/libcellmlB5.rst (100%) rename {reference => src/reference}/libcellml/libcellmlB6.rst (100%) rename {reference => src/reference}/libcellml/libcellmlB7.rst (100%) rename {reference => src/reference}/libcellml/libcellmlB8.rst (100%) rename {reference => src/reference}/libcellml/libcellmlC03_interpretation_of_units.rst (100%) rename {reference => src/reference}/sectionA_definitions.inc (100%) rename {reference => src/reference}/sectionB_elements.inc (100%) rename {reference => src/reference}/sectionC_interpretation.inc (100%) rename {reference => src/reference}/sectionD_references.rst (100%) rename {static => src/static}/css/cellml.css (100%) rename {static => src/static}/templates/page.html (100%) diff --git a/Makefile b/Makefile index 88d23dc4..08a2505a 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ BUILDDIR = build # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) src # the i18n builder cannot share the environment and doctrees with the others I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source diff --git a/conf.py b/src/conf.py similarity index 100% rename from conf.py rename to src/conf.py diff --git a/formal.rst b/src/formal.rst similarity index 100% rename from formal.rst rename to src/formal.rst diff --git a/index.rst b/src/index.rst similarity index 100% rename from index.rst rename to src/index.rst diff --git a/reference/formal_and_informative/specA1.rst b/src/reference/formal_and_informative/specA1.rst similarity index 100% rename from reference/formal_and_informative/specA1.rst rename to src/reference/formal_and_informative/specA1.rst diff --git a/reference/formal_and_informative/specA2.rst b/src/reference/formal_and_informative/specA2.rst similarity index 100% rename from reference/formal_and_informative/specA2.rst rename to src/reference/formal_and_informative/specA2.rst diff --git a/reference/formal_and_informative/specA3.rst b/src/reference/formal_and_informative/specA3.rst similarity index 100% rename from reference/formal_and_informative/specA3.rst rename to src/reference/formal_and_informative/specA3.rst diff --git a/reference/formal_and_informative/specB01.rst b/src/reference/formal_and_informative/specB01.rst similarity index 100% rename from reference/formal_and_informative/specB01.rst rename to src/reference/formal_and_informative/specB01.rst diff --git a/reference/formal_and_informative/specB02.rst b/src/reference/formal_and_informative/specB02.rst similarity index 100% rename from reference/formal_and_informative/specB02.rst rename to src/reference/formal_and_informative/specB02.rst diff --git a/reference/formal_and_informative/specB03.rst b/src/reference/formal_and_informative/specB03.rst similarity index 100% rename from reference/formal_and_informative/specB03.rst rename to src/reference/formal_and_informative/specB03.rst diff --git a/reference/formal_and_informative/specB04.rst b/src/reference/formal_and_informative/specB04.rst similarity index 100% rename from reference/formal_and_informative/specB04.rst rename to src/reference/formal_and_informative/specB04.rst diff --git a/reference/formal_and_informative/specB05.rst b/src/reference/formal_and_informative/specB05.rst similarity index 100% rename from reference/formal_and_informative/specB05.rst rename to src/reference/formal_and_informative/specB05.rst diff --git a/reference/formal_and_informative/specB06.rst b/src/reference/formal_and_informative/specB06.rst similarity index 100% rename from reference/formal_and_informative/specB06.rst rename to src/reference/formal_and_informative/specB06.rst diff --git a/reference/formal_and_informative/specB07.rst b/src/reference/formal_and_informative/specB07.rst similarity index 100% rename from reference/formal_and_informative/specB07.rst rename to src/reference/formal_and_informative/specB07.rst diff --git a/reference/formal_and_informative/specB08.rst b/src/reference/formal_and_informative/specB08.rst similarity index 100% rename from reference/formal_and_informative/specB08.rst rename to src/reference/formal_and_informative/specB08.rst diff --git a/reference/formal_and_informative/specB09.rst b/src/reference/formal_and_informative/specB09.rst similarity index 100% rename from reference/formal_and_informative/specB09.rst rename to src/reference/formal_and_informative/specB09.rst diff --git a/reference/formal_and_informative/specB10.rst b/src/reference/formal_and_informative/specB10.rst similarity index 100% rename from reference/formal_and_informative/specB10.rst rename to src/reference/formal_and_informative/specB10.rst diff --git a/reference/formal_and_informative/specB11.rst b/src/reference/formal_and_informative/specB11.rst similarity index 100% rename from reference/formal_and_informative/specB11.rst rename to src/reference/formal_and_informative/specB11.rst diff --git a/reference/formal_and_informative/specB12.rst b/src/reference/formal_and_informative/specB12.rst similarity index 100% rename from reference/formal_and_informative/specB12.rst rename to src/reference/formal_and_informative/specB12.rst diff --git a/reference/formal_and_informative/specB13.rst b/src/reference/formal_and_informative/specB13.rst similarity index 100% rename from reference/formal_and_informative/specB13.rst rename to src/reference/formal_and_informative/specB13.rst diff --git a/reference/formal_and_informative/specB14.rst b/src/reference/formal_and_informative/specB14.rst similarity index 100% rename from reference/formal_and_informative/specB14.rst rename to src/reference/formal_and_informative/specB14.rst diff --git a/reference/formal_and_informative/specB15.rst b/src/reference/formal_and_informative/specB15.rst similarity index 100% rename from reference/formal_and_informative/specB15.rst rename to src/reference/formal_and_informative/specB15.rst diff --git a/reference/formal_and_informative/specB16.rst b/src/reference/formal_and_informative/specB16.rst similarity index 100% rename from reference/formal_and_informative/specB16.rst rename to src/reference/formal_and_informative/specB16.rst diff --git a/reference/formal_and_informative/specC01_interpretation_of_imports.rst b/src/reference/formal_and_informative/specC01_interpretation_of_imports.rst similarity index 100% rename from reference/formal_and_informative/specC01_interpretation_of_imports.rst rename to src/reference/formal_and_informative/specC01_interpretation_of_imports.rst diff --git a/reference/formal_and_informative/specC02_units_reference.rst b/src/reference/formal_and_informative/specC02_units_reference.rst similarity index 100% rename from reference/formal_and_informative/specC02_units_reference.rst rename to src/reference/formal_and_informative/specC02_units_reference.rst diff --git a/reference/formal_and_informative/specC03_interpretation_of_units.rst b/src/reference/formal_and_informative/specC03_interpretation_of_units.rst similarity index 100% rename from reference/formal_and_informative/specC03_interpretation_of_units.rst rename to src/reference/formal_and_informative/specC03_interpretation_of_units.rst diff --git a/reference/formal_and_informative/specC04_component_reference.rst b/src/reference/formal_and_informative/specC04_component_reference.rst similarity index 100% rename from reference/formal_and_informative/specC04_component_reference.rst rename to src/reference/formal_and_informative/specC04_component_reference.rst diff --git a/reference/formal_and_informative/specC05_variable_reference.rst b/src/reference/formal_and_informative/specC05_variable_reference.rst similarity index 100% rename from reference/formal_and_informative/specC05_variable_reference.rst rename to src/reference/formal_and_informative/specC05_variable_reference.rst diff --git a/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst b/src/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst similarity index 100% rename from reference/formal_and_informative/specC06_interpretation_of_initial_values.rst rename to src/reference/formal_and_informative/specC06_interpretation_of_initial_values.rst diff --git a/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst b/src/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst similarity index 100% rename from reference/formal_and_informative/specC07_effect_of_units_on_variables.rst rename to src/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst diff --git a/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst b/src/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst similarity index 100% rename from reference/formal_and_informative/specC08_interpretation_of_mathematics.rst rename to src/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst diff --git a/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst b/src/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst similarity index 100% rename from reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst rename to src/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst diff --git a/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst b/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst similarity index 100% rename from reference/formal_and_informative/specC10_interpretation_of_map_variables.rst rename to src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst diff --git a/reference/formal_and_informative/specC11_interpretation_of_variable_resets.rst b/src/reference/formal_and_informative/specC11_interpretation_of_variable_resets.rst similarity index 100% rename from reference/formal_and_informative/specC11_interpretation_of_variable_resets.rst rename to src/reference/formal_and_informative/specC11_interpretation_of_variable_resets.rst diff --git a/reference/formal_only/specA1.rst b/src/reference/formal_only/specA1.rst similarity index 100% rename from reference/formal_only/specA1.rst rename to src/reference/formal_only/specA1.rst diff --git a/reference/formal_only/specA2.rst b/src/reference/formal_only/specA2.rst similarity index 100% rename from reference/formal_only/specA2.rst rename to src/reference/formal_only/specA2.rst diff --git a/reference/formal_only/specA3.rst b/src/reference/formal_only/specA3.rst similarity index 100% rename from reference/formal_only/specA3.rst rename to src/reference/formal_only/specA3.rst diff --git a/reference/formal_only/specB01.rst b/src/reference/formal_only/specB01.rst similarity index 100% rename from reference/formal_only/specB01.rst rename to src/reference/formal_only/specB01.rst diff --git a/reference/formal_only/specB02.rst b/src/reference/formal_only/specB02.rst similarity index 100% rename from reference/formal_only/specB02.rst rename to src/reference/formal_only/specB02.rst diff --git a/reference/formal_only/specB03.rst b/src/reference/formal_only/specB03.rst similarity index 100% rename from reference/formal_only/specB03.rst rename to src/reference/formal_only/specB03.rst diff --git a/reference/formal_only/specB04.rst b/src/reference/formal_only/specB04.rst similarity index 100% rename from reference/formal_only/specB04.rst rename to src/reference/formal_only/specB04.rst diff --git a/reference/formal_only/specB05.rst b/src/reference/formal_only/specB05.rst similarity index 100% rename from reference/formal_only/specB05.rst rename to src/reference/formal_only/specB05.rst diff --git a/reference/formal_only/specB06.rst b/src/reference/formal_only/specB06.rst similarity index 100% rename from reference/formal_only/specB06.rst rename to src/reference/formal_only/specB06.rst diff --git a/reference/formal_only/specB07.rst b/src/reference/formal_only/specB07.rst similarity index 100% rename from reference/formal_only/specB07.rst rename to src/reference/formal_only/specB07.rst diff --git a/reference/formal_only/specB08.rst b/src/reference/formal_only/specB08.rst similarity index 100% rename from reference/formal_only/specB08.rst rename to src/reference/formal_only/specB08.rst diff --git a/reference/formal_only/specB09.rst b/src/reference/formal_only/specB09.rst similarity index 100% rename from reference/formal_only/specB09.rst rename to src/reference/formal_only/specB09.rst diff --git a/reference/formal_only/specB10.rst b/src/reference/formal_only/specB10.rst similarity index 100% rename from reference/formal_only/specB10.rst rename to src/reference/formal_only/specB10.rst diff --git a/reference/formal_only/specB11.rst b/src/reference/formal_only/specB11.rst similarity index 100% rename from reference/formal_only/specB11.rst rename to src/reference/formal_only/specB11.rst diff --git a/reference/formal_only/specB12.rst b/src/reference/formal_only/specB12.rst similarity index 100% rename from reference/formal_only/specB12.rst rename to src/reference/formal_only/specB12.rst diff --git a/reference/formal_only/specB13.rst b/src/reference/formal_only/specB13.rst similarity index 100% rename from reference/formal_only/specB13.rst rename to src/reference/formal_only/specB13.rst diff --git a/reference/formal_only/specB14.rst b/src/reference/formal_only/specB14.rst similarity index 100% rename from reference/formal_only/specB14.rst rename to src/reference/formal_only/specB14.rst diff --git a/reference/formal_only/specB15.rst b/src/reference/formal_only/specB15.rst similarity index 100% rename from reference/formal_only/specB15.rst rename to src/reference/formal_only/specB15.rst diff --git a/reference/formal_only/specB16.rst b/src/reference/formal_only/specB16.rst similarity index 100% rename from reference/formal_only/specB16.rst rename to src/reference/formal_only/specB16.rst diff --git a/reference/formal_only/specC01_interpretation_of_imports.rst b/src/reference/formal_only/specC01_interpretation_of_imports.rst similarity index 100% rename from reference/formal_only/specC01_interpretation_of_imports.rst rename to src/reference/formal_only/specC01_interpretation_of_imports.rst diff --git a/reference/formal_only/specC02_units_reference.rst b/src/reference/formal_only/specC02_units_reference.rst similarity index 100% rename from reference/formal_only/specC02_units_reference.rst rename to src/reference/formal_only/specC02_units_reference.rst diff --git a/reference/formal_only/specC03_interpretation_of_units.rst b/src/reference/formal_only/specC03_interpretation_of_units.rst similarity index 100% rename from reference/formal_only/specC03_interpretation_of_units.rst rename to src/reference/formal_only/specC03_interpretation_of_units.rst diff --git a/reference/formal_only/specC04_component_reference.rst b/src/reference/formal_only/specC04_component_reference.rst similarity index 100% rename from reference/formal_only/specC04_component_reference.rst rename to src/reference/formal_only/specC04_component_reference.rst diff --git a/reference/formal_only/specC05_variable_reference.rst b/src/reference/formal_only/specC05_variable_reference.rst similarity index 100% rename from reference/formal_only/specC05_variable_reference.rst rename to src/reference/formal_only/specC05_variable_reference.rst diff --git a/reference/formal_only/specC06_interpretation_of_initial_values.rst b/src/reference/formal_only/specC06_interpretation_of_initial_values.rst similarity index 100% rename from reference/formal_only/specC06_interpretation_of_initial_values.rst rename to src/reference/formal_only/specC06_interpretation_of_initial_values.rst diff --git a/reference/formal_only/specC07_effect_of_units_on_variables.rst b/src/reference/formal_only/specC07_effect_of_units_on_variables.rst similarity index 100% rename from reference/formal_only/specC07_effect_of_units_on_variables.rst rename to src/reference/formal_only/specC07_effect_of_units_on_variables.rst diff --git a/reference/formal_only/specC08_interpretation_of_mathematics.rst b/src/reference/formal_only/specC08_interpretation_of_mathematics.rst similarity index 100% rename from reference/formal_only/specC08_interpretation_of_mathematics.rst rename to src/reference/formal_only/specC08_interpretation_of_mathematics.rst diff --git a/reference/formal_only/specC09_interpretation_of_encapsulation.rst b/src/reference/formal_only/specC09_interpretation_of_encapsulation.rst similarity index 100% rename from reference/formal_only/specC09_interpretation_of_encapsulation.rst rename to src/reference/formal_only/specC09_interpretation_of_encapsulation.rst diff --git a/reference/formal_only/specC10_interpretation_of_map_variables.rst b/src/reference/formal_only/specC10_interpretation_of_map_variables.rst similarity index 100% rename from reference/formal_only/specC10_interpretation_of_map_variables.rst rename to src/reference/formal_only/specC10_interpretation_of_map_variables.rst diff --git a/reference/formal_only/specC11_interpretation_of_variable_resets.rst b/src/reference/formal_only/specC11_interpretation_of_variable_resets.rst similarity index 100% rename from reference/formal_only/specC11_interpretation_of_variable_resets.rst rename to src/reference/formal_only/specC11_interpretation_of_variable_resets.rst diff --git a/reference/formal_sectionA.rst b/src/reference/formal_sectionA.rst similarity index 100% rename from reference/formal_sectionA.rst rename to src/reference/formal_sectionA.rst diff --git a/reference/formal_sectionB.rst b/src/reference/formal_sectionB.rst similarity index 100% rename from reference/formal_sectionB.rst rename to src/reference/formal_sectionB.rst diff --git a/reference/formal_sectionC.rst b/src/reference/formal_sectionC.rst similarity index 100% rename from reference/formal_sectionC.rst rename to src/reference/formal_sectionC.rst diff --git a/reference/index_sectionA.rst b/src/reference/index_sectionA.rst similarity index 100% rename from reference/index_sectionA.rst rename to src/reference/index_sectionA.rst diff --git a/reference/index_sectionB.rst b/src/reference/index_sectionB.rst similarity index 100% rename from reference/index_sectionB.rst rename to src/reference/index_sectionB.rst diff --git a/reference/index_sectionC.rst b/src/reference/index_sectionC.rst similarity index 100% rename from reference/index_sectionC.rst rename to src/reference/index_sectionC.rst diff --git a/reference/informative/informA1.rst b/src/reference/informative/informA1.rst similarity index 100% rename from reference/informative/informA1.rst rename to src/reference/informative/informA1.rst diff --git a/reference/informative/informA2.rst b/src/reference/informative/informA2.rst similarity index 100% rename from reference/informative/informA2.rst rename to src/reference/informative/informA2.rst diff --git a/reference/informative/informA3_1.rst b/src/reference/informative/informA3_1.rst similarity index 100% rename from reference/informative/informA3_1.rst rename to src/reference/informative/informA3_1.rst diff --git a/reference/informative/informA3_2.rst b/src/reference/informative/informA3_2.rst similarity index 100% rename from reference/informative/informA3_2.rst rename to src/reference/informative/informA3_2.rst diff --git a/reference/informative/informA3_3.rst b/src/reference/informative/informA3_3.rst similarity index 100% rename from reference/informative/informA3_3.rst rename to src/reference/informative/informA3_3.rst diff --git a/reference/informative/informA3_4.rst b/src/reference/informative/informA3_4.rst similarity index 100% rename from reference/informative/informA3_4.rst rename to src/reference/informative/informA3_4.rst diff --git a/reference/informative/informA3_5.rst b/src/reference/informative/informA3_5.rst similarity index 100% rename from reference/informative/informA3_5.rst rename to src/reference/informative/informA3_5.rst diff --git a/reference/informative/informB10_test_value1.rst b/src/reference/informative/informB10_test_value1.rst similarity index 100% rename from reference/informative/informB10_test_value1.rst rename to src/reference/informative/informB10_test_value1.rst diff --git a/reference/informative/informB11_reset_value1.rst b/src/reference/informative/informB11_reset_value1.rst similarity index 100% rename from reference/informative/informB11_reset_value1.rst rename to src/reference/informative/informB11_reset_value1.rst diff --git a/reference/informative/informB12_math1.rst b/src/reference/informative/informB12_math1.rst similarity index 100% rename from reference/informative/informB12_math1.rst rename to src/reference/informative/informB12_math1.rst diff --git a/reference/informative/informB12_math2.rst b/src/reference/informative/informB12_math2.rst similarity index 100% rename from reference/informative/informB12_math2.rst rename to src/reference/informative/informB12_math2.rst diff --git a/reference/informative/informB12_math3.rst b/src/reference/informative/informB12_math3.rst similarity index 100% rename from reference/informative/informB12_math3.rst rename to src/reference/informative/informB12_math3.rst diff --git a/reference/informative/informB12_math4.rst b/src/reference/informative/informB12_math4.rst similarity index 100% rename from reference/informative/informB12_math4.rst rename to src/reference/informative/informB12_math4.rst diff --git a/reference/informative/informB13_encapsulation1.rst b/src/reference/informative/informB13_encapsulation1.rst similarity index 100% rename from reference/informative/informB13_encapsulation1.rst rename to src/reference/informative/informB13_encapsulation1.rst diff --git a/reference/informative/informB14_component_ref1.rst b/src/reference/informative/informB14_component_ref1.rst similarity index 100% rename from reference/informative/informB14_component_ref1.rst rename to src/reference/informative/informB14_component_ref1.rst diff --git a/reference/informative/informB15_connection2.rst b/src/reference/informative/informB15_connection2.rst similarity index 100% rename from reference/informative/informB15_connection2.rst rename to src/reference/informative/informB15_connection2.rst diff --git a/reference/informative/informB15_connection3.rst b/src/reference/informative/informB15_connection3.rst similarity index 100% rename from reference/informative/informB15_connection3.rst rename to src/reference/informative/informB15_connection3.rst diff --git a/reference/informative/informB15_connection4.rst b/src/reference/informative/informB15_connection4.rst similarity index 100% rename from reference/informative/informB15_connection4.rst rename to src/reference/informative/informB15_connection4.rst diff --git a/reference/informative/informB15_connection5.rst b/src/reference/informative/informB15_connection5.rst similarity index 100% rename from reference/informative/informB15_connection5.rst rename to src/reference/informative/informB15_connection5.rst diff --git a/reference/informative/informB16_map_variables2.rst b/src/reference/informative/informB16_map_variables2.rst similarity index 100% rename from reference/informative/informB16_map_variables2.rst rename to src/reference/informative/informB16_map_variables2.rst diff --git a/reference/informative/informB16_map_variables3.rst b/src/reference/informative/informB16_map_variables3.rst similarity index 100% rename from reference/informative/informB16_map_variables3.rst rename to src/reference/informative/informB16_map_variables3.rst diff --git a/reference/informative/informB1_model1.rst b/src/reference/informative/informB1_model1.rst similarity index 100% rename from reference/informative/informB1_model1.rst rename to src/reference/informative/informB1_model1.rst diff --git a/reference/informative/informB1_model2.rst b/src/reference/informative/informB1_model2.rst similarity index 100% rename from reference/informative/informB1_model2.rst rename to src/reference/informative/informB1_model2.rst diff --git a/reference/informative/informB1_model3.rst b/src/reference/informative/informB1_model3.rst similarity index 100% rename from reference/informative/informB1_model3.rst rename to src/reference/informative/informB1_model3.rst diff --git a/reference/informative/informB2_import1.rst b/src/reference/informative/informB2_import1.rst similarity index 100% rename from reference/informative/informB2_import1.rst rename to src/reference/informative/informB2_import1.rst diff --git a/reference/informative/informB2_import2.rst b/src/reference/informative/informB2_import2.rst similarity index 100% rename from reference/informative/informB2_import2.rst rename to src/reference/informative/informB2_import2.rst diff --git a/reference/informative/informB2_import3.rst b/src/reference/informative/informB2_import3.rst similarity index 100% rename from reference/informative/informB2_import3.rst rename to src/reference/informative/informB2_import3.rst diff --git a/reference/informative/informB3_import_units1.rst b/src/reference/informative/informB3_import_units1.rst similarity index 100% rename from reference/informative/informB3_import_units1.rst rename to src/reference/informative/informB3_import_units1.rst diff --git a/reference/informative/informB4_import_component1.rst b/src/reference/informative/informB4_import_component1.rst similarity index 100% rename from reference/informative/informB4_import_component1.rst rename to src/reference/informative/informB4_import_component1.rst diff --git a/reference/informative/informB5_units1.rst b/src/reference/informative/informB5_units1.rst similarity index 100% rename from reference/informative/informB5_units1.rst rename to src/reference/informative/informB5_units1.rst diff --git a/reference/informative/informB6_unit1.rst b/src/reference/informative/informB6_unit1.rst similarity index 100% rename from reference/informative/informB6_unit1.rst rename to src/reference/informative/informB6_unit1.rst diff --git a/reference/informative/informB6_unit2.rst b/src/reference/informative/informB6_unit2.rst similarity index 100% rename from reference/informative/informB6_unit2.rst rename to src/reference/informative/informB6_unit2.rst diff --git a/reference/informative/informB7_component1.rst b/src/reference/informative/informB7_component1.rst similarity index 100% rename from reference/informative/informB7_component1.rst rename to src/reference/informative/informB7_component1.rst diff --git a/reference/informative/informB7_component2.rst b/src/reference/informative/informB7_component2.rst similarity index 100% rename from reference/informative/informB7_component2.rst rename to src/reference/informative/informB7_component2.rst diff --git a/reference/informative/informB7_component3.rst b/src/reference/informative/informB7_component3.rst similarity index 100% rename from reference/informative/informB7_component3.rst rename to src/reference/informative/informB7_component3.rst diff --git a/reference/informative/informB8_variable1.rst b/src/reference/informative/informB8_variable1.rst similarity index 100% rename from reference/informative/informB8_variable1.rst rename to src/reference/informative/informB8_variable1.rst diff --git a/reference/informative/informB9_reset1.rst b/src/reference/informative/informB9_reset1.rst similarity index 100% rename from reference/informative/informB9_reset1.rst rename to src/reference/informative/informB9_reset1.rst diff --git a/reference/informative/informC01_imports.rst b/src/reference/informative/informC01_imports.rst similarity index 100% rename from reference/informative/informC01_imports.rst rename to src/reference/informative/informC01_imports.rst diff --git a/reference/informative/informC02_units_reference.rst b/src/reference/informative/informC02_units_reference.rst similarity index 100% rename from reference/informative/informC02_units_reference.rst rename to src/reference/informative/informC02_units_reference.rst diff --git a/reference/informative/informC03_interpretation_of_units1.rst b/src/reference/informative/informC03_interpretation_of_units1.rst similarity index 100% rename from reference/informative/informC03_interpretation_of_units1.rst rename to src/reference/informative/informC03_interpretation_of_units1.rst diff --git a/reference/informative/informC03_interpretation_of_units2.rst b/src/reference/informative/informC03_interpretation_of_units2.rst similarity index 100% rename from reference/informative/informC03_interpretation_of_units2.rst rename to src/reference/informative/informC03_interpretation_of_units2.rst diff --git a/reference/informative/informC03_interpretation_of_units3.rst b/src/reference/informative/informC03_interpretation_of_units3.rst similarity index 100% rename from reference/informative/informC03_interpretation_of_units3.rst rename to src/reference/informative/informC03_interpretation_of_units3.rst diff --git a/reference/informative/informC04_component_reference.rst b/src/reference/informative/informC04_component_reference.rst similarity index 100% rename from reference/informative/informC04_component_reference.rst rename to src/reference/informative/informC04_component_reference.rst diff --git a/reference/informative/informC05_variable_reference.rst b/src/reference/informative/informC05_variable_reference.rst similarity index 100% rename from reference/informative/informC05_variable_reference.rst rename to src/reference/informative/informC05_variable_reference.rst diff --git a/reference/informative/informC06_interpretation_of_initial_values.rst b/src/reference/informative/informC06_interpretation_of_initial_values.rst similarity index 100% rename from reference/informative/informC06_interpretation_of_initial_values.rst rename to src/reference/informative/informC06_interpretation_of_initial_values.rst diff --git a/reference/informative/informC07_effect_of_units_on_variables.rst b/src/reference/informative/informC07_effect_of_units_on_variables.rst similarity index 100% rename from reference/informative/informC07_effect_of_units_on_variables.rst rename to src/reference/informative/informC07_effect_of_units_on_variables.rst diff --git a/reference/informative/informC08_interpretation_of_mathematics.rst b/src/reference/informative/informC08_interpretation_of_mathematics.rst similarity index 100% rename from reference/informative/informC08_interpretation_of_mathematics.rst rename to src/reference/informative/informC08_interpretation_of_mathematics.rst diff --git a/reference/informative/informC09_interpretation_of_encapsulation.rst b/src/reference/informative/informC09_interpretation_of_encapsulation.rst similarity index 100% rename from reference/informative/informC09_interpretation_of_encapsulation.rst rename to src/reference/informative/informC09_interpretation_of_encapsulation.rst diff --git a/reference/informative/informC10_interpretation_of_map_variables.rst b/src/reference/informative/informC10_interpretation_of_map_variables.rst similarity index 100% rename from reference/informative/informC10_interpretation_of_map_variables.rst rename to src/reference/informative/informC10_interpretation_of_map_variables.rst diff --git a/reference/informative/informC11_interpretation_of_variable_resets.rst b/src/reference/informative/informC11_interpretation_of_variable_resets.rst similarity index 100% rename from reference/informative/informC11_interpretation_of_variable_resets.rst rename to src/reference/informative/informC11_interpretation_of_variable_resets.rst diff --git a/reference/informative_preamble.rst b/src/reference/informative_preamble.rst similarity index 100% rename from reference/informative_preamble.rst rename to src/reference/informative_preamble.rst diff --git a/reference/libcellml/libcellmlB1.rst b/src/reference/libcellml/libcellmlB1.rst similarity index 100% rename from reference/libcellml/libcellmlB1.rst rename to src/reference/libcellml/libcellmlB1.rst diff --git a/reference/libcellml/libcellmlB12_math.rst b/src/reference/libcellml/libcellmlB12_math.rst similarity index 100% rename from reference/libcellml/libcellmlB12_math.rst rename to src/reference/libcellml/libcellmlB12_math.rst diff --git a/reference/libcellml/libcellmlB15_connection.rst b/src/reference/libcellml/libcellmlB15_connection.rst similarity index 100% rename from reference/libcellml/libcellmlB15_connection.rst rename to src/reference/libcellml/libcellmlB15_connection.rst diff --git a/reference/libcellml/libcellmlB16_map_variables.rst b/src/reference/libcellml/libcellmlB16_map_variables.rst similarity index 100% rename from reference/libcellml/libcellmlB16_map_variables.rst rename to src/reference/libcellml/libcellmlB16_map_variables.rst diff --git a/reference/libcellml/libcellmlB2.rst b/src/reference/libcellml/libcellmlB2.rst similarity index 100% rename from reference/libcellml/libcellmlB2.rst rename to src/reference/libcellml/libcellmlB2.rst diff --git a/reference/libcellml/libcellmlB3.rst b/src/reference/libcellml/libcellmlB3.rst similarity index 100% rename from reference/libcellml/libcellmlB3.rst rename to src/reference/libcellml/libcellmlB3.rst diff --git a/reference/libcellml/libcellmlB4.rst b/src/reference/libcellml/libcellmlB4.rst similarity index 100% rename from reference/libcellml/libcellmlB4.rst rename to src/reference/libcellml/libcellmlB4.rst diff --git a/reference/libcellml/libcellmlB5.rst b/src/reference/libcellml/libcellmlB5.rst similarity index 100% rename from reference/libcellml/libcellmlB5.rst rename to src/reference/libcellml/libcellmlB5.rst diff --git a/reference/libcellml/libcellmlB6.rst b/src/reference/libcellml/libcellmlB6.rst similarity index 100% rename from reference/libcellml/libcellmlB6.rst rename to src/reference/libcellml/libcellmlB6.rst diff --git a/reference/libcellml/libcellmlB7.rst b/src/reference/libcellml/libcellmlB7.rst similarity index 100% rename from reference/libcellml/libcellmlB7.rst rename to src/reference/libcellml/libcellmlB7.rst diff --git a/reference/libcellml/libcellmlB8.rst b/src/reference/libcellml/libcellmlB8.rst similarity index 100% rename from reference/libcellml/libcellmlB8.rst rename to src/reference/libcellml/libcellmlB8.rst diff --git a/reference/libcellml/libcellmlC03_interpretation_of_units.rst b/src/reference/libcellml/libcellmlC03_interpretation_of_units.rst similarity index 100% rename from reference/libcellml/libcellmlC03_interpretation_of_units.rst rename to src/reference/libcellml/libcellmlC03_interpretation_of_units.rst diff --git a/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc similarity index 100% rename from reference/sectionA_definitions.inc rename to src/reference/sectionA_definitions.inc diff --git a/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc similarity index 100% rename from reference/sectionB_elements.inc rename to src/reference/sectionB_elements.inc diff --git a/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc similarity index 100% rename from reference/sectionC_interpretation.inc rename to src/reference/sectionC_interpretation.inc diff --git a/reference/sectionD_references.rst b/src/reference/sectionD_references.rst similarity index 100% rename from reference/sectionD_references.rst rename to src/reference/sectionD_references.rst diff --git a/static/css/cellml.css b/src/static/css/cellml.css similarity index 100% rename from static/css/cellml.css rename to src/static/css/cellml.css diff --git a/static/templates/page.html b/src/static/templates/page.html similarity index 100% rename from static/templates/page.html rename to src/static/templates/page.html From 485c87f2ede5a2197004fe8e69473bd2ffbc1575 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 31 Mar 2020 12:20:10 +1300 Subject: [PATCH 242/604] Update README.rst with instructions on building the documenation locally. --- README.md | 6 ------ README.rst | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 6 deletions(-) delete mode 100644 README.md create mode 100644 README.rst diff --git a/README.md b/README.md deleted file mode 100644 index a3a1eb1a..00000000 --- a/README.md +++ /dev/null @@ -1,6 +0,0 @@ -cellml-specification -==================== - -This repository will be used by the CellML editors to develop the CellML specification (starting with version 1.2). The content has been reworked to include an informal guide embedded within the normative specification text (in version 2.0). - -If things work correctly, changes in this repository will be reflected over at: https://cellml-specification.readthedocs.org/. diff --git a/README.rst b/README.rst new file mode 100644 index 00000000..034b2694 --- /dev/null +++ b/README.rst @@ -0,0 +1,46 @@ + +CellML Specification +==================== + +This repository will be used by the CellML editors to develop the CellML specification (starting with version 1.2). The content has been reworked to include an informal guide embedded within the normative specification text (in version 2.0). + +If things work correctly, changes in this repository will be reflected over at: https://cellml-specification.readthedocs.org/. + +Building the documentation locally +---------------------------------- + +The documentation can be built on your local machine following these instructions. The following instructions are suitable for Unicies derived operating systems and may need modification for other operating systems. + +First clone a local copy of the CellML specification repository:: + + git clone https://github.com/cellml/cellml-specification.git + +Next setup a virtual environment:: + + virtualenv venv_specification + +Note: Make sure you are creating a Python 3 virtual environment, if required use the -p flag to set the Python interpreter (for example `virtualenv -p /absolute/path/to/python venv_specification`). + +Then activate the virtual environment and install the required packages:: + + source venv_specification/bin/activate + pip install sphinx sphinx_rtd_theme + pip install -r cellml-specification/requirements.txt + +That completes the environment setup required for building the documentation. Once the environment is completed the html form of the documentation can be built with the following commands:: + + cd cell-specification + make html + +The built documentation will be available at:: + + /absolute/path/to/cellml-specification/build/html/index.html + +Any good internet browser will be able to display the documentation. + +To build the pdf form of the documentation simply execute the following command:: + + make pdf + + + From c9a70e5ff8d8c3b5aaa91353940627ed7bc1c24a Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 31 Mar 2020 12:45:19 +1300 Subject: [PATCH 243/604] Correct command for changing directory into cellml-specification directory. --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 034b2694..492a0b84 100644 --- a/README.rst +++ b/README.rst @@ -29,7 +29,7 @@ Then activate the virtual environment and install the required packages:: That completes the environment setup required for building the documentation. Once the environment is completed the html form of the documentation can be built with the following commands:: - cd cell-specification + cd cellml-specification make html The built documentation will be available at:: From 04f85b33381cafe1cf730ecae713f79ffbb64695 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 31 Mar 2020 12:46:08 +1300 Subject: [PATCH 244/604] One sentence per line in README.rst. --- README.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 492a0b84..1b38aa06 100644 --- a/README.rst +++ b/README.rst @@ -2,14 +2,16 @@ CellML Specification ==================== -This repository will be used by the CellML editors to develop the CellML specification (starting with version 1.2). The content has been reworked to include an informal guide embedded within the normative specification text (in version 2.0). +This repository will be used by the CellML editors to develop the CellML specification (starting with version 1.2) +The content has been reworked to include an informal guide embedded within the normative specification text (in version 2.0). If things work correctly, changes in this repository will be reflected over at: https://cellml-specification.readthedocs.org/. Building the documentation locally ---------------------------------- -The documentation can be built on your local machine following these instructions. The following instructions are suitable for Unicies derived operating systems and may need modification for other operating systems. +The documentation can be built on your local machine following these instructions. +The following instructions are suitable for Unicies derived operating systems and may need modification for other operating systems. First clone a local copy of the CellML specification repository:: @@ -27,7 +29,8 @@ Then activate the virtual environment and install the required packages:: pip install sphinx sphinx_rtd_theme pip install -r cellml-specification/requirements.txt -That completes the environment setup required for building the documentation. Once the environment is completed the html form of the documentation can be built with the following commands:: +That completes the environment setup required for building the documentation. +Once the environment is completed the html form of the documentation can be built with the following commands:: cd cellml-specification make html From 2a0d4c612f0996888e980843e6aea6f6a870d035 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 31 Mar 2020 12:49:47 +1300 Subject: [PATCH 245/604] Resolve review comments. --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 1b38aa06..adde1b7f 100644 --- a/README.rst +++ b/README.rst @@ -11,7 +11,7 @@ Building the documentation locally ---------------------------------- The documentation can be built on your local machine following these instructions. -The following instructions are suitable for Unicies derived operating systems and may need modification for other operating systems. +The following instructions are suitable for Unix-derived derived operating systems and may need modification for other operating systems. First clone a local copy of the CellML specification repository:: @@ -23,7 +23,7 @@ Next setup a virtual environment:: Note: Make sure you are creating a Python 3 virtual environment, if required use the -p flag to set the Python interpreter (for example `virtualenv -p /absolute/path/to/python venv_specification`). -Then activate the virtual environment and install the required packages:: +Then activate the virtual environment and instal the required packages:: source venv_specification/bin/activate pip install sphinx sphinx_rtd_theme From 94306613ffb539668fbf90a7a8f0b422e146ae73 Mon Sep 17 00:00:00 2001 From: David Nickerson Date: Tue, 31 Mar 2020 13:57:16 +1300 Subject: [PATCH 246/604] Tweaking language for import scope --- reference/sectionC_interpretation.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 55db8fda..32bc7cc7 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -11,8 +11,8 @@ Interpretation of ``import`` elements #. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset which is referenced by the :code:`href` attribute (the imported infoset). This imported infoset instance SHALL provide the context in which the child of an import element (a :code:`units` or :code:`component` element) is defined and interpreted. -#. The import of an element SHALL be considered recursively such that items referenced by the :code:`import` element child (a :code:`units` or :code:`component` element) are themselves available to that :code:`import` element child. - It is noted, for the avoidance of doubt, that the importing infoset SHALL NOT have access to such recursively imported items, but only to explicitly specified :code:`import` element children. +#. The imported infoset SHALL be considered holistically such that items relevant to the imported infoset (:code:`unit` children of imported :code:`units` elements or encapsulation children of imported :code:`component` elements) are themselves available to that :code:`import` element child. + It is noted, for the avoidance of doubt, that the importing infoset SHALL NOT have access to such implicitly imported items, but only to explicitly specified :code:`import` element children. See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. From bd661d5b36dc9f4df47a7a99befd84698c906a39 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 31 Mar 2020 13:57:30 +1300 Subject: [PATCH 247/604] Correct make pdf command to make latexpdf with note. --- README.rst | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index adde1b7f..2454a253 100644 --- a/README.rst +++ b/README.rst @@ -43,7 +43,6 @@ Any good internet browser will be able to display the documentation. To build the pdf form of the documentation simply execute the following command:: - make pdf - - + make latexpdf +Note: Creating the pdf form of the documentation requires that latexmk is available. From f4e7187c9c59521c734dcb8f5251e73079fc3f65 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 14:32:46 +1300 Subject: [PATCH 248/604] Added missing backtick --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 91eebcdc..3455be03 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -347,7 +347,7 @@ References to ``variable`` elements Interpretation of ``initial_value`` attributes ---------------------------------------------- -#. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a real number string, or a :ref:variable reference`. +#. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a real number string, or a :ref:`variable reference`. #. The conditions when initial values hold are (by design) not defined in a :ref:`CellML model` document. From f98eac6c0c92030543b788ef5082fcb8eeaea9a3 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 31 Mar 2020 15:10:43 +1300 Subject: [PATCH 249/604] Tweak the README.rst text. --- README.rst | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 2454a253..49f8c44d 100644 --- a/README.rst +++ b/README.rst @@ -10,8 +10,9 @@ If things work correctly, changes in this repository will be reflected over at: Building the documentation locally ---------------------------------- -The documentation can be built on your local machine following these instructions. -The following instructions are suitable for Unix-derived derived operating systems and may need modification for other operating systems. +The documentation can be built on your local machine with the following instructions. +Do take note that the following instructions are suitable for Unix-derived operating systems and may need modification for other operating systems. +Also, note that we require at least version 3.5 of Python to build the documentation. First clone a local copy of the CellML specification repository:: @@ -45,4 +46,8 @@ To build the pdf form of the documentation simply execute the following command: make latexpdf -Note: Creating the pdf form of the documentation requires that latexmk is available. +Note: Creating the pdf form of the documentation requires that latexmk is available, information on latexmk can be found at https://ctan.org/pkg/latexmk/. + +Note: The documentation built with `make html` is different to the documentation built with `make latexpdf`. +The html form of the documentation is the full form being both the normative specification and the informative specification. +Whilst the pdf form of the documentation is solely the normative specification. From 994bf9bc2e6baf3b2e7a6112e2cf4186df6229a8 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 31 Mar 2020 15:28:18 +1300 Subject: [PATCH 250/604] Correct html to HTML and pdf to PDF where applicable. --- README.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index 49f8c44d..d8e74789 100644 --- a/README.rst +++ b/README.rst @@ -31,7 +31,7 @@ Then activate the virtual environment and instal the required packages:: pip install -r cellml-specification/requirements.txt That completes the environment setup required for building the documentation. -Once the environment is completed the html form of the documentation can be built with the following commands:: +Once the environment is completed the HTML form of the documentation can be built with the following commands:: cd cellml-specification make html @@ -42,12 +42,12 @@ The built documentation will be available at:: Any good internet browser will be able to display the documentation. -To build the pdf form of the documentation simply execute the following command:: +To build the PDF form of the documentation simply execute the following command:: make latexpdf -Note: Creating the pdf form of the documentation requires that latexmk is available, information on latexmk can be found at https://ctan.org/pkg/latexmk/. +Note: Creating the PDF form of the documentation requires that latexmk is available, information on latexmk can be found at https://ctan.org/pkg/latexmk/. Note: The documentation built with `make html` is different to the documentation built with `make latexpdf`. -The html form of the documentation is the full form being both the normative specification and the informative specification. -Whilst the pdf form of the documentation is solely the normative specification. +The HTML form of the documentation is the full form being both the normative specification and the informative specification. +Whilst the PDF form of the documentation is solely the normative specification. From 91e0fe8a6e97280d58920edc6cc4e05c706f0778 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 15:52:03 +1300 Subject: [PATCH 251/604] Added reference to the encapuslation set --- reference/sectionC_interpretation.inc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 7c09e98c..8ead5446 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -11,7 +11,7 @@ Interpretation of ``import`` elements #. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset which is referenced by the :code:`href` attribute (the imported infoset). This imported infoset instance SHALL provide the context in which the child of an import element (a :code:`units` or :code:`component` element) is defined and interpreted. -#. The imported infoset SHALL be considered holistically such that items relevant to the imported infoset (:code:`unit` children of imported :code:`units` elements or encapsulation children of imported :code:`component` elements) are themselves available to that :code:`import` element child. +#. The imported infoset SHALL be considered holistically such that items relevant to the imported infoset (:code:`unit` children of imported :code:`units` elements or :ref:`encapsulation set` of imported :code:`component` elements) are themselves available to that :code:`import` element child. It is noted, for the avoidance of doubt, that the importing infoset SHALL NOT have access to such implicitly imported items, but only to explicitly specified :code:`import` element children. See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. @@ -405,7 +405,9 @@ Interpretation of ``encapsulation`` elements #. Where a :code:`component_ref` element appears as a child of another :code:`component_ref` element, there SHALL be an arc in the encapsulation digraph, and that arc SHALL be from the node corresponding to the component referenced by the parent :code:`component_ref` element, and to the node corresponding to the component referenced by the child :code:`component_ref` element. -#. The encapsulated set for a component *A* SHALL be the set of all components *B* such that there exists an arc in the encapsulation digraph from the node corresponding to *A* to the node corresponding to *B*. +.. _specC_encapsulation_set + +3. The encapsulated set for a component *A* SHALL be the set of all components *B* such that there exists an arc in the encapsulation digraph from the node corresponding to *A* to the node corresponding to *B*. #. The encapsulation parent for a component *A* SHALL be the component corresponding to the node which is the parent node in the encapsulation digraph of the node corresponding to *A*. A component SHALL NOT appear as child of more than one encapsulation parent. From dadc400efcb26bd6436be8c902aec06ec74eb16a Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 16:02:23 +1300 Subject: [PATCH 252/604] Added colon to link --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 8ead5446..b96a9816 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -405,7 +405,7 @@ Interpretation of ``encapsulation`` elements #. Where a :code:`component_ref` element appears as a child of another :code:`component_ref` element, there SHALL be an arc in the encapsulation digraph, and that arc SHALL be from the node corresponding to the component referenced by the parent :code:`component_ref` element, and to the node corresponding to the component referenced by the child :code:`component_ref` element. -.. _specC_encapsulation_set +.. _specC_encapsulation_set: 3. The encapsulated set for a component *A* SHALL be the set of all components *B* such that there exists an arc in the encapsulation digraph from the node corresponding to *A* to the node corresponding to *B*. From 6eb9c5bb4de3c89abcf35e6e717a7ee75898d75e Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 16:18:53 +1300 Subject: [PATCH 253/604] builtin units table formatting --- reference/sectionC_interpretation.inc | 324 +++++++++++++------------- 1 file changed, 162 insertions(+), 162 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 3455be03..de38d34c 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -41,172 +41,172 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute .. only:: html - +---------------+-------------------+-------------------------------------------+-------------------------+ - | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | - | | | | multiplier⋅(base, exponent) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | ampere | A | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | becquerel | Bq | (second, -1) | 1/s | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | candela | cd | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | coulomb | C | (second, 1), (ampere,1) | | s⋅A | - | | | | | F⋅V | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | dimensionless | \- | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | farad | F | (kilogram, -1), (metre, -2), | | C/V | - | | | (second, 4), (ampere, 2) | | s/Ω | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | gram | g | 0.001⋅(kilogram, 1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | gray | Gy | (metre, 2), (second, -2) | J/kg | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | henry | H | (kilogram, 1), (metre, 2), | | V⋅s/A | - | | | (second, -2), (ampere, -2) | | Ω⋅s | - | | | | | Wb/A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | hertz | Hz | (second, -1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | joule | J | (kilogram, 1), (metre, 2), | | N⋅m | - | | | (second, -2) | | C⋅V | - | | | | | Wb⋅s | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | katal | kat | (second, -1), (mole, 1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | kelvin | K | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | kilogram | kg | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | litre | l | 0.001⋅(metre, 3) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | lumen | lm | (candela, 1) | cd⋅sr | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | metre | m | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | mole | mol | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | newton | N | (kilogram, 1), (metre, 1), | | - | | | (second, -2) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | ohm | Ω | (kilogram, 1), (metre, 2), | | 1/S | - | | | (second, -3), (ampere, -2) | | V/A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | pascal | Pa | (kilogram, 1), (metre, -1), | N/m\ :sup:`2` | - | | | (second, -2) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | radian | rad | (dimensionless, 1) | m/m | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | second | s | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | siemens | S | (kilogram -1), (metre, -2), | | 1/Ω | - | | | (second, 3), (ampere, 2) | | A/V | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | sievert | Sv | (metre, 2), (second, -2) | J/kg | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | - | | | (ampere, -1) | | Wb/m\ :sup:`2` | - | | | | | N/(A⋅m) | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | volt | V | (kilogram, 1), (metre, 2), | | W/A | - | | | (second , -3), (ampere, -1) | | J/C | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | watt | W | (kilogram, 1), (metre, 2), | | J/s | - | | | (second, -3) | | V⋅A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | weber | Wb | (kilogram, 1), (metre, 2), | | J/A | - | | | (second, -2), (ampere, -1) | | T⋅m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | + | | | | multiplier⋅(base, exponent) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`ampere` | A | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`becquerel` | Bq | (:code:`second`, -1) | 1/s | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`candela` | cd | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`coulomb` | C | (:code:`second`, 1), (:code:`ampere`,1) | | s⋅A | + | | | | | F⋅V | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`dimensionless` | \- | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`farad` | F | (:code:`kilogram`, -1), (:code:`metre`, -2), | | C/V | + | | | (:code:`second`, 4), (:code:`ampere`, 2) | | s/Ω | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`gram` | g | 0.001⋅(:code:`kilogram`, 1) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`gray` | Gy | (:code:`metre`, 2), (:code:`second`, -2) | J/kg | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`henry` | H | (:code:`kilogram`, 1), (:code:`metre`, 2), | | V⋅s/A | + | | | (:code:`second`, -2), (:code:`ampere`, -2) | | Ω⋅s | + | | | | | Wb/A | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`hertz` | Hz | (:code:`second`, -1) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`joule` | J | (:code:`kilogram`, 1), (:code:`metre`, 2), | | N⋅m | + | | | (:code:`second`, -2) | | C⋅V | + | | | | | Wb⋅s | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`katal` | kat | (:code:`second`, -1), (:code:`mole`, 1) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`kelvin` | K | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`kilogram` | kg | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`litre` | l | 0.001⋅(:code:`metre`, 3) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`lumen` | lm | (:code:`candela`, 1) | cd⋅sr | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`lux` | lx | (:code:`metre`, -2), (:code:`candela`, 1) | lm/m\ :sup:`2` | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`metre` | m | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`mole` | mol | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`newton` | N | (:code:`kilogram`, 1), (:code:`metre`, 1), | | + | | | (:code:`second`, -2) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`ohm` | Ω | (:code:`kilogram`, 1), (:code:`metre`, 2), | | 1/S | + | | | (:code:`second`, -3), (:code:`ampere`, -2) | | V/A | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`pascal` | Pa | (:code:`kilogram`, 1), (:code:`metre`, -1), | N/m\ :sup:`2` | + | | | (:code:`second`, -2) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`radian` | rad | (:code:`dimensionless`, 1) | m/m | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`second` | s | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`siemens` | S | (:code:`kilogram`, -1), (:code:`metre`, -2), | | 1/Ω | + | | | (:code:`second`, 3), (:code:`ampere`, 2) | | A/V | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`sievert` | Sv | (:code:`metre`, 2), (:code:`second`, -2) | J/kg | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`steradian` | sr | (:code:`dimensionless`, 1) | m\ :sup:`2`/m\ :sup:`2` | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`tesla` | T | (:code:`kilogram`, 1), (:code:`second`, -2), | | V⋅s/m\ :sup:`2` | + | | | (:code:`ampere`, -1) | | Wb/m\ :sup:`2` | + | | | | | N/(A⋅m) | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`volt` | V | (:code:`kilogram`, 1), (:code:`metre`, 2), | | W/A | + | | | (:code:`second`, -3), (:code:`ampere`, -1) | | J/C | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`watt` | W | (:code:`kilogram`, 1), (:code:`metre`, 2), | | J/s | + | | | (:code:`second`, -3) | | V⋅A | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`weber` | Wb | (:code:`kilogram`, 1), (:code:`metre`, 2), | | J/A | + | | | (:code:`second`, -2), (:code:`ampere`, -1) | | T⋅m\ :sup:`2` | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ .. only:: latex - +---------------+-------------------+-------------------------------------------+-------------------------+ - | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | - | | | | multiplier.(base, exponent) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | ampere | A | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | becquerel | Bq | (second, -1) | 1/s | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | candela | cd | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | coulomb | C | (second, 1), (ampere,1) | | s.A | - | | | | | F.V | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | dimensionless | \- | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | farad | F | | (kilogram, -1), (metre, -2), | | C/V | - | | | | (second, 4), (ampere, 2) | | s/Ω | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | gram | g | 0.001 . (kilogram, 1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | gray | Gy | (metre, 2), (second, -2) | J/kg | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | henry | H | | (kilogram, 1), (metre, 2), | | V.s/A | - | | | | (second, -2), (ampere, -2) | | Ω.s | - | | | | | Wb/A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | hertz | Hz | (second, -1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | joule | J | (kilogram, 1), (metre, 2), | | N.m | - | | | (second, -2) | | C.V | - | | | | | Wb.s | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | katal | kat | (second, -1), (mole, 1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | kelvin | K | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | kilogram | kg | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | litre | l | 0.001 . (metre, 3) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | lumen | lm | (candela, 1) | cd.sr | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | metre | m | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | mole | mol | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | newton | N | (kilogram, 1), (metre, 1), | | - | | | (second, -2) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | ohm | Ω | (kilogram, 1), (metre, 2), | | 1/S | - | | | (second, -3), (ampere, -2) | | V/A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | pascal | Pa | (kilogram, 1), (metre, -1), | N/m\ :sup:`2` | - | | | (second, -2) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | radian | rad | (dimensionless, 1) | m/m | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | second | s | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | siemens | S | (kilogram -1), (metre, -2), | | 1/Ω | - | | | (second, 3), (ampere, 2) | | A/V | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | sievert | Sv | (metre, 2), (second, -2) | J/kg | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | tesla | T | | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | - | | | | (ampere, -1) | | Wb/m\ :sup:`2` | - | | | | | N/(A.m) | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | volt | V | (kilogram, 1), (metre, 2), | | W/A | - | | | (second , -3), (ampere, -1) | | J/C | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | watt | W | (kilogram, 1), (metre, 2), | | J/s | - | | | (second, -3) | | V.A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | weber | Wb | (kilogram, 1), (metre, 2), | | J/A | - | | | (second, -2), (ampere, -1) | | T.m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | + | | | | multiplier.(base, exponent) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`ampere` | A | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`becquerel` | Bq | (:code:`second`, -1) | 1/s | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`candela` | cd | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`coulomb` | C | (:code:`second`, 1), (:code:`ampere`,1) | | s.A | + | | | | | F.V | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`dimensionless` | \- | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`farad` | F | (:code:`kilogram`, -1), (:code:`metre`, -2), | | C/V | + | | | (:code:`second`, 4), (:code:`ampere`, 2) | | s/Ω | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`gram` | g | 0.001.(:code:`kilogram`, 1) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`gray` | Gy | (:code:`metre`, 2), (:code:`second`, -2) | J/kg | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`henry` | H | (:code:`kilogram`, 1), (:code:`metre`, 2), | | V.s/A | + | | | (:code:`second`, -2), (:code:`ampere`, -2) | | Ω.s | + | | | | | Wb/A | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`hertz` | Hz | (:code:`second`, -1) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`joule` | J | (:code:`kilogram`, 1), (:code:`metre`, 2), | | N.m | + | | | (:code:`second`, -2) | | C.V | + | | | | | Wb.s | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`katal` | kat | (:code:`second`, -1), (:code:`mole`, 1) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`kelvin` | K | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`kilogram` | kg | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`litre` | l | 0.001.(:code:`metre`, 3) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`lumen` | lm | (:code:`candela`, 1) | cd.sr | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`lux` | lx | (:code:`metre`, -2), (:code:`candela`, 1) | lm/m\ :sup:`2` | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`metre` | m | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`mole` | mol | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`newton` | N | (:code:`kilogram`, 1), (:code:`metre`, 1), | | + | | | (:code:`second`, -2) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`ohm` | Ω | (:code:`kilogram`, 1), (:code:`metre`, 2), | | 1/S | + | | | (:code:`second`, -3), (:code:`ampere`, -2) | | V/A | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`pascal` | Pa | (:code:`kilogram`, 1), (:code:`metre`, -1), | N/m\ :sup:`2` | + | | | (:code:`second`, -2) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`radian` | rad | (:code:`dimensionless`, 1) | m/m | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`second` | s | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`siemens` | S | (:code:`kilogram`, -1), (:code:`metre`, -2), | | 1/Ω | + | | | (:code:`second`, 3), (:code:`ampere`, 2) | | A/V | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`sievert` | Sv | (:code:`metre`, 2), (:code:`second`, -2) | J/kg | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`steradian` | sr | (:code:`dimensionless`, 1) | m\ :sup:`2`/m\ :sup:`2` | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`tesla` | T | (:code:`kilogram`, 1), (:code:`second`, -2), | | V.s/m\ :sup:`2` | + | | | (:code:`ampere`, -1) | | Wb/m\ :sup:`2` | + | | | | | N/(A.m) | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`volt` | V | (:code:`kilogram`, 1), (:code:`metre`, 2), | | W/A | + | | | (:code:`second`, -3), (:code:`ampere`, -1) | | J/C | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`watt` | W | (:code:`kilogram`, 1), (:code:`metre`, 2), | | J/s | + | | | (:code:`second`, -3) | | V.A | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`weber` | Wb | (:code:`kilogram`, 1), (:code:`metre`, 2), | | J/A | + | | | (:code:`second`, -2), (:code:`ampere`, -1) | | T.m\ :sup:`2` | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ .. marker_units_reference_end From 9b99bb012ab79ff1e7cd2c1a1960f489399d5cba Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 16:22:13 +1300 Subject: [PATCH 254/604] prefix table formatting --- reference/sectionC_interpretation.inc | 46 +++++++++++++-------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index de38d34c..07d6cc94 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -279,29 +279,29 @@ Interpretation of ``units`` elements **Table 3.2: Prefix values** -======== ========= -**Name** **Value** -yotta 24 -zetta 21 -exa 18 -peta 15 -tera 12 -giga 9 -mega 6 -kilo 3 -hecto 2 -deca 1 -deci −1 -centi −2 -milli −3 -micro −6 -nano −9 -pico −12 -femto −15 -atto −18 -zepto −21 -yocto −24 -======== ========= +============== ========= +**Name** **Value** +:code:`yotta` 24 +:code:`zetta` 21 +:code:`exa` 18 +:code:`peta` 15 +:code:`tera` 12 +:code:`giga` 9 +:code:`mega` 6 +:code:`kilo` 3 +:code:`hecto` 2 +:code:`deca` 1 +:code:`deci` −1 +:code:`centi` −2 +:code:`milli` −3 +:code:`micro` −6 +:code:`nano` −9 +:code:`pico` −12 +:code:`femto` −15 +:code:`atto` −18 +:code:`zepto` −21 +:code:`yocto` −24 +============== ========= .. marker_interpretation_of_units_end .. marker_component_reference_start From 1c2935698ee5aa66b22feb91f2fa2bae1bed2a18 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 16:25:52 +1300 Subject: [PATCH 255/604] mathml table formatting --- reference/sectionB_elements.inc | 76 ++++++++++++++++----------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 8d21784d..3a29fd91 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -377,44 +377,44 @@ A :code:`math` element information item (referred to in this specification as a **Table 2.1: Supported MathML elements** -+----------------------------------+----------------------------------+ -| **Element Category** | **Element List** | -+----------------------------------+----------------------------------+ -| Simple Operands | , , | -+----------------------------------+----------------------------------+ -| Basic Structural | , , , | -| | | -+----------------------------------+----------------------------------+ -| Relational and Logical Operators | , , , , , | -| | , , , , | -+----------------------------------+----------------------------------+ -| Arithmetic Operators | , , , | -| | , , , | -| | , , , , | -| | , , , | -| | , , | -+----------------------------------+----------------------------------+ -| Calculus Elements | | -+----------------------------------+----------------------------------+ -| Qualifier Elements | , , \* | -+----------------------------------+----------------------------------+ -| Trigonometric Operators | , , , , | -| | , , | -| | | -| | , , , , | -| | , , , | -| | , , | -| | | -| | , , , | -| | , , , | -| | , , | -+----------------------------------+----------------------------------+ -| Mathematical and Logical | , , | -| Constants | , , | -| | , | -+----------------------------------+----------------------------------+ - -\* (child of or ) ++----------------------------------+----------------------------------------------------------------+ +| **Element Category** | **Element List** | ++----------------------------------+----------------------------------------------------------------+ +| Simple Operands | :code:`ci`, :code:`cn`, :code:`sep` | ++----------------------------------+----------------------------------------------------------------+ +| Basic Structural | :code:`apply`, :code:`piecewise`, :code:`piece`, | +| | :code:`otherwise` | ++----------------------------------+----------------------------------------------------------------+ +| Relational and Logical Operators | :code:`eq`, :code:`neq`, :code:`gt`, :code:`lt`, :code:`geq`, | +| | :code:`leq`, :code:`and`, :code:`or`, :code:`xor`, :code:`not` | ++----------------------------------+----------------------------------------------------------------+ +| Arithmetic Operators | :code:`plus`, :code:`minus`, :code:`times`, | +| | :code:`divide`, :code:`power`, :code:`root`, | +| | :code:`abs`, :code:`exp`, :code:`ln`, :code:`log`, | +| | :code:`floor`, :code:`ceiling`, :code:`min`, | +| | :code:`max`, :code:`rem`, | ++----------------------------------+----------------------------------------------------------------+ +| Calculus Elements | :code:`diff` | ++----------------------------------+----------------------------------------------------------------+ +| Qualifier Elements | :code:`bvar`, :code:`logbase`, :code:`degree` \* | ++----------------------------------+----------------------------------------------------------------+ +| Trigonometric Operators | :code:`sin`, :code:`cos`, :code:`tan`, :code:`sec`, | +| | :code:`csc`, :code:`cot`, | +| | | +| | :code:`sinh`, :code:`cosh`, :code:`tanh`, :code:`sech`, | +| | :code:`csch`, :code:`coth`, :code:`arcsin`, | +| | :code:`arccos`, :code:`arctan`, | +| | | +| | :code:`arcsec`, :code:`arccsc`, :code:`arccot`, | +| | :code:`arcsinh`, :code:`arccosh`, :code:`arctanh`, | +| | :code:`arcsech`, :code:`arccsch`, :code:`arccoth` | ++----------------------------------+----------------------------------------------------------------+ +| Mathematical and Logical | :code:`pi`, :code:`exponentiale`, | +| Constants | :code:`notanumber`, :code:`infinity`, | +| | :code:`true`, :code:`false` | ++----------------------------------+----------------------------------------------------------------+ + +\* (child of :code:`root` or :code:`diff`) .. marker_math_end .. marker_encapsulation_start From 6dcd5e8b6574e3eb1822c54baf865336a14cb0ca Mon Sep 17 00:00:00 2001 From: David Nickerson Date: Tue, 31 Mar 2020 16:29:41 +1300 Subject: [PATCH 256/604] small tweak in the encapsulated set reference text --- reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index b96a9816..c8b3ea08 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -11,7 +11,7 @@ Interpretation of ``import`` elements #. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset which is referenced by the :code:`href` attribute (the imported infoset). This imported infoset instance SHALL provide the context in which the child of an import element (a :code:`units` or :code:`component` element) is defined and interpreted. -#. The imported infoset SHALL be considered holistically such that items relevant to the imported infoset (:code:`unit` children of imported :code:`units` elements or :ref:`encapsulation set` of imported :code:`component` elements) are themselves available to that :code:`import` element child. +#. The imported infoset SHALL be considered holistically such that items relevant to the imported infoset (:code:`unit` children of imported :code:`units` elements or the :ref:`encapsulated set` of imported :code:`component` elements) are themselves available to that :code:`import` element child. It is noted, for the avoidance of doubt, that the importing infoset SHALL NOT have access to such implicitly imported items, but only to explicitly specified :code:`import` element children. See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. From 6d3bb27d1774f8e92ff66a5239d9d0bcebe67a5d Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 16:34:19 +1300 Subject: [PATCH 257/604] Update sectionB_elements.inc --- reference/sectionB_elements.inc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 3a29fd91..c13ca0ce 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -390,13 +390,15 @@ A :code:`math` element information item (referred to in this specification as a +----------------------------------+----------------------------------------------------------------+ | Arithmetic Operators | :code:`plus`, :code:`minus`, :code:`times`, | | | :code:`divide`, :code:`power`, :code:`root`, | -| | :code:`abs`, :code:`exp`, :code:`ln`, :code:`log`, | +| | :code:`abs`, :code:`exp`, :code:`ln`, | +| | | +| | :code:`log`, | | | :code:`floor`, :code:`ceiling`, :code:`min`, | | | :code:`max`, :code:`rem`, | +----------------------------------+----------------------------------------------------------------+ | Calculus Elements | :code:`diff` | +----------------------------------+----------------------------------------------------------------+ -| Qualifier Elements | :code:`bvar`, :code:`logbase`, :code:`degree` \* | +| Qualifier Elements \* | :code:`bvar`, :code:`logbase`, :code:`degree` | +----------------------------------+----------------------------------------------------------------+ | Trigonometric Operators | :code:`sin`, :code:`cos`, :code:`tan`, :code:`sec`, | | | :code:`csc`, :code:`cot`, | @@ -414,7 +416,7 @@ A :code:`math` element information item (referred to in this specification as a | | :code:`true`, :code:`false` | +----------------------------------+----------------------------------------------------------------+ -\* (child of :code:`root` or :code:`diff`) +\* (:code:`degree` must be a child of :code:`root` or :code:`diff`) .. marker_math_end .. marker_encapsulation_start From 92eb2641ecff8db10356d96c13512c8d8c2df06b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 16:44:46 +1300 Subject: [PATCH 258/604] mathml table tweaks --- reference/sectionB_elements.inc | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index c13ca0ce..6f1a9675 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -388,28 +388,26 @@ A :code:`math` element information item (referred to in this specification as a | Relational and Logical Operators | :code:`eq`, :code:`neq`, :code:`gt`, :code:`lt`, :code:`geq`, | | | :code:`leq`, :code:`and`, :code:`or`, :code:`xor`, :code:`not` | +----------------------------------+----------------------------------------------------------------+ -| Arithmetic Operators | :code:`plus`, :code:`minus`, :code:`times`, | -| | :code:`divide`, :code:`power`, :code:`root`, | -| | :code:`abs`, :code:`exp`, :code:`ln`, | -| | | -| | :code:`log`, | -| | :code:`floor`, :code:`ceiling`, :code:`min`, | -| | :code:`max`, :code:`rem`, | +| Arithmetic Operators | | :code:`plus`, :code:`minus`, :code:`times`, :code:`divide`, | +| | | :code:`power`, :code:`root`, :code:`abs`, | +| | | :code:`exp`, :code:`ln`, :code:`log`, | +| | | :code:`floor`, :code:`ceiling`, | +| | | :code:`min`, :code:`max`, :code:`rem`, | +----------------------------------+----------------------------------------------------------------+ | Calculus Elements | :code:`diff` | +----------------------------------+----------------------------------------------------------------+ | Qualifier Elements \* | :code:`bvar`, :code:`logbase`, :code:`degree` | +----------------------------------+----------------------------------------------------------------+ -| Trigonometric Operators | :code:`sin`, :code:`cos`, :code:`tan`, :code:`sec`, | -| | :code:`csc`, :code:`cot`, | +| Trigonometric Operators | | :code:`sin`, :code:`cos`, :code:`tan`, :code:`sec`, | +| | | :code:`csc`, :code:`cot`, | | | | -| | :code:`sinh`, :code:`cosh`, :code:`tanh`, :code:`sech`, | -| | :code:`csch`, :code:`coth`, :code:`arcsin`, | -| | :code:`arccos`, :code:`arctan`, | +| | | :code:`sinh`, :code:`cosh`, :code:`tanh`, :code:`sech`, | +| | | :code:`csch`, :code:`coth`, :code:`arcsin`, | +| | | :code:`arccos`, :code:`arctan`, | | | | -| | :code:`arcsec`, :code:`arccsc`, :code:`arccot`, | -| | :code:`arcsinh`, :code:`arccosh`, :code:`arctanh`, | -| | :code:`arcsech`, :code:`arccsch`, :code:`arccoth` | +| | | :code:`arcsec`, :code:`arccsc`, :code:`arccot`, | +| | | :code:`arcsinh`, :code:`arccosh`, :code:`arctanh`, | +| | | :code:`arcsech`, :code:`arccsch`, :code:`arccoth` | +----------------------------------+----------------------------------------------------------------+ | Mathematical and Logical | :code:`pi`, :code:`exponentiale`, | | Constants | :code:`notanumber`, :code:`infinity`, | From aa130c584ae07bcfcd0541531a63b59df285813b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 16:45:05 +1300 Subject: [PATCH 259/604] Update sectionB_elements.inc --- reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 6f1a9675..2fb621f8 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -396,7 +396,7 @@ A :code:`math` element information item (referred to in this specification as a +----------------------------------+----------------------------------------------------------------+ | Calculus Elements | :code:`diff` | +----------------------------------+----------------------------------------------------------------+ -| Qualifier Elements \* | :code:`bvar`, :code:`logbase`, :code:`degree` | +| Qualifier Elements | :code:`bvar`, :code:`logbase`, :code:`degree` \* | +----------------------------------+----------------------------------------------------------------+ | Trigonometric Operators | | :code:`sin`, :code:`cos`, :code:`tan`, :code:`sec`, | | | | :code:`csc`, :code:`cot`, | From 4578ca4ac99cb088771966287baa7967e8a081c3 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 16:59:38 +1300 Subject: [PATCH 260/604] newlines and brackets --- reference/sectionB_elements.inc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 2fb621f8..748da366 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -399,12 +399,10 @@ A :code:`math` element information item (referred to in this specification as a | Qualifier Elements | :code:`bvar`, :code:`logbase`, :code:`degree` \* | +----------------------------------+----------------------------------------------------------------+ | Trigonometric Operators | | :code:`sin`, :code:`cos`, :code:`tan`, :code:`sec`, | -| | | :code:`csc`, :code:`cot`, | -| | | +| | :code:`csc`, :code:`cot`, | | | | :code:`sinh`, :code:`cosh`, :code:`tanh`, :code:`sech`, | -| | | :code:`csch`, :code:`coth`, :code:`arcsin`, | -| | | :code:`arccos`, :code:`arctan`, | -| | | +| | :code:`csch`, :code:`coth`, | +| | | :code:`arcsin`, :code:`arccos`, :code:`arctan`, | | | | :code:`arcsec`, :code:`arccsc`, :code:`arccot`, | | | | :code:`arcsinh`, :code:`arccosh`, :code:`arctanh`, | | | | :code:`arcsech`, :code:`arccsch`, :code:`arccoth` | @@ -414,7 +412,7 @@ A :code:`math` element information item (referred to in this specification as a | | :code:`true`, :code:`false` | +----------------------------------+----------------------------------------------------------------+ -\* (:code:`degree` must be a child of :code:`root` or :code:`diff`) +\* :code:`degree` must be a child of :code:`root` or :code:`diff` .. marker_math_end .. marker_encapsulation_start From 9daf08a1cdf3a890a87d2a1c4a5ba80146f1a873 Mon Sep 17 00:00:00 2001 From: David Nickerson Date: Tue, 31 Mar 2020 17:03:56 +1300 Subject: [PATCH 261/604] remove extra comma in math operator table --- reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 748da366..b7496c28 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -392,7 +392,7 @@ A :code:`math` element information item (referred to in this specification as a | | | :code:`power`, :code:`root`, :code:`abs`, | | | | :code:`exp`, :code:`ln`, :code:`log`, | | | | :code:`floor`, :code:`ceiling`, | -| | | :code:`min`, :code:`max`, :code:`rem`, | +| | | :code:`min`, :code:`max`, :code:`rem` | +----------------------------------+----------------------------------------------------------------+ | Calculus Elements | :code:`diff` | +----------------------------------+----------------------------------------------------------------+ From d6a68942cb05238cb3a4d75c2a9e416a256e0deb Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 17:17:01 +1300 Subject: [PATCH 262/604] WIP --- formal.rst | 2 +- index.rst | 2 +- reference/formal_sectionD.rst | 7 +++++++ reference/index_sectionD.rst | 7 +++++++ reference/sectionD_references.inc | 21 +++++++++++++++++++++ reference/sectionD_references.rst | 22 ---------------------- 6 files changed, 37 insertions(+), 24 deletions(-) create mode 100644 reference/formal_sectionD.rst create mode 100644 reference/index_sectionD.rst create mode 100644 reference/sectionD_references.inc delete mode 100644 reference/sectionD_references.rst diff --git a/formal.rst b/formal.rst index e379fef6..f2a7a586 100644 --- a/formal.rst +++ b/formal.rst @@ -50,6 +50,6 @@ Hugh Sorby. reference/formal_sectionA.rst reference/formal_sectionB.rst reference/formal_sectionC.rst - reference/sectionD_references.rst + reference/formal_sectionD.rst diff --git a/index.rst b/index.rst index 0da7e412..0ac86cd5 100644 --- a/index.rst +++ b/index.rst @@ -11,6 +11,6 @@ Informative CellML 2.0 Specification reference/index_sectionA.rst reference/index_sectionB.rst reference/index_sectionC.rst - reference/sectionD_references.rst + reference/index_sectionD.rst .. include:: reference/informative_preamble.rst diff --git a/reference/formal_sectionD.rst b/reference/formal_sectionD.rst new file mode 100644 index 00000000..e95ebe31 --- /dev/null +++ b/reference/formal_sectionD.rst @@ -0,0 +1,7 @@ +.. _sectionD_index_formal: + +========== +References +========== + +.. include:: sectionD_references.inc diff --git a/reference/index_sectionD.rst b/reference/index_sectionD.rst new file mode 100644 index 00000000..ef242bde --- /dev/null +++ b/reference/index_sectionD.rst @@ -0,0 +1,7 @@ +.. _sectionD_index: + +========== +References +========== + +.. include:: sectionD_references.inc diff --git a/reference/sectionD_references.inc b/reference/sectionD_references.inc new file mode 100644 index 00000000..a207a7ac --- /dev/null +++ b/reference/sectionD_references.inc @@ -0,0 +1,21 @@ + +.. _sectionD: + + +Extensible Markup Language (XML) 1.1 (Second Edition) http://www.w3.org/TR/2006/REC-xml11-20060816 (16 August 2006) + +Mathematical Markup Language (MathML) Version 2.0 (Second Edition) http://www.w3.org/TR/2003/REC-MathML2-20031021/ (21 October 2003) + +Namespaces in XML 1.1 (Second Edition) http://www.w3.org/TR/2006/REC-xml-names11-20060816/ (16 August 2006) + +RFC 2119: Key words for use in RFCs to Indicate Requirement Levels http://www.ietf.org/rfc/rfc2119.txt (March 1997) + +Unicode + +XML Information Set (Second Edition) http://www.w3.org/TR/2004/REC-xml-infoset-20040204/ (4 February 2004) + +XML Linking Language (XLink) Version 1.0 http://www.w3.org/TR/2001/REC-xlink-20010627/ (27 June 2001) + +.. |Capture.JPG| image:: media/image1.jpg + :width: 4.87135in + :height: 0.67261in diff --git a/reference/sectionD_references.rst b/reference/sectionD_references.rst deleted file mode 100644 index 5bd578f5..00000000 --- a/reference/sectionD_references.rst +++ /dev/null @@ -1,22 +0,0 @@ - -.. _sectionD: - -========== -References -========== - -`RFC 2119: Key words for use in RFCs to Indicate Requirement Levels `__ (March 1997) - -`Extensible Markup Language (XML) 1.1 (Second Edition) `__ (16 August 2006) - -`XML Information Set (Second Edition) `__ (4 February 2004) - -`Namespaces in XML 1.1 (Second Edition) `__ (16 August 2006) - -`Mathematical Markup Language (MathML) Version 2.0 (Second Edition) `__ (21 October 2003) - -`XML Linking Language (XLink) Version 1.0 `__ (27 June 2001) - -.. |Capture.JPG| image:: media/image1.jpg - :width: 4.87135in - :height: 0.67261in From c1dba094173fa761dc12f5f00fecb338efcfb263 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 17:25:39 +1300 Subject: [PATCH 263/604] ABC order, added unicode ref --- reference/sectionD_references.inc | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/reference/sectionD_references.inc b/reference/sectionD_references.inc index a207a7ac..18fff880 100644 --- a/reference/sectionD_references.inc +++ b/reference/sectionD_references.inc @@ -1,7 +1,6 @@ .. _sectionD: - Extensible Markup Language (XML) 1.1 (Second Edition) http://www.w3.org/TR/2006/REC-xml11-20060816 (16 August 2006) Mathematical Markup Language (MathML) Version 2.0 (Second Edition) http://www.w3.org/TR/2003/REC-MathML2-20031021/ (21 October 2003) @@ -10,12 +9,9 @@ Namespaces in XML 1.1 (Second Edition) http://www.w3.org/TR/2006/REC-xml-names11 RFC 2119: Key words for use in RFCs to Indicate Requirement Levels http://www.ietf.org/rfc/rfc2119.txt (March 1997) -Unicode +Unicode 1.1.0 https://www.unicode.org/charts/ (June, 1993) XML Information Set (Second Edition) http://www.w3.org/TR/2004/REC-xml-infoset-20040204/ (4 February 2004) XML Linking Language (XLink) Version 1.0 http://www.w3.org/TR/2001/REC-xlink-20010627/ (27 June 2001) -.. |Capture.JPG| image:: media/image1.jpg - :width: 4.87135in - :height: 0.67261in From 456a5996a0dadcb0b481b9ecccd33da51a8ae7b3 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 17:28:45 +1300 Subject: [PATCH 264/604] removed comma --- reference/sectionD_references.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionD_references.inc b/reference/sectionD_references.inc index 18fff880..11564e8c 100644 --- a/reference/sectionD_references.inc +++ b/reference/sectionD_references.inc @@ -9,7 +9,7 @@ Namespaces in XML 1.1 (Second Edition) http://www.w3.org/TR/2006/REC-xml-names11 RFC 2119: Key words for use in RFCs to Indicate Requirement Levels http://www.ietf.org/rfc/rfc2119.txt (March 1997) -Unicode 1.1.0 https://www.unicode.org/charts/ (June, 1993) +Unicode 1.1.0 https://www.unicode.org/charts/ (June 1993) XML Information Set (Second Edition) http://www.w3.org/TR/2004/REC-xml-infoset-20040204/ (4 February 2004) From 3eb05da44c9457b58591bb84d98f115bdccba541 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 17:45:23 +1300 Subject: [PATCH 265/604] https --- reference/sectionD_references.inc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/reference/sectionD_references.inc b/reference/sectionD_references.inc index 11564e8c..13a38f14 100644 --- a/reference/sectionD_references.inc +++ b/reference/sectionD_references.inc @@ -1,17 +1,17 @@ .. _sectionD: -Extensible Markup Language (XML) 1.1 (Second Edition) http://www.w3.org/TR/2006/REC-xml11-20060816 (16 August 2006) +Extensible Markup Language (XML) 1.1 (Second Edition) https://www.w3.org/TR/2006/REC-xml11-20060816 (16 August 2006) -Mathematical Markup Language (MathML) Version 2.0 (Second Edition) http://www.w3.org/TR/2003/REC-MathML2-20031021/ (21 October 2003) +Mathematical Markup Language (MathML) Version 2.0 (Second Edition) https://www.w3.org/TR/2003/REC-MathML2-20031021/ (21 October 2003) -Namespaces in XML 1.1 (Second Edition) http://www.w3.org/TR/2006/REC-xml-names11-20060816/ (16 August 2006) +Namespaces in XML 1.1 (Second Edition) https://www.w3.org/TR/2006/REC-xml-names11-20060816/ (16 August 2006) -RFC 2119: Key words for use in RFCs to Indicate Requirement Levels http://www.ietf.org/rfc/rfc2119.txt (March 1997) +RFC 2119: Key words for use in RFCs to Indicate Requirement Levels https://www.ietf.org/rfc/rfc2119.txt (March 1997) Unicode 1.1.0 https://www.unicode.org/charts/ (June 1993) -XML Information Set (Second Edition) http://www.w3.org/TR/2004/REC-xml-infoset-20040204/ (4 February 2004) +XML Information Set (Second Edition) https://www.w3.org/TR/2004/REC-xml-infoset-20040204/ (4 February 2004) -XML Linking Language (XLink) Version 1.0 http://www.w3.org/TR/2001/REC-xlink-20010627/ (27 June 2001) +XML Linking Language (XLink) Version 1.0 https://www.w3.org/TR/2001/REC-xlink-20010627/ (27 June 2001) From 00b9efa5d01ea1e9a26e126506deaf7a94d3ac65 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 31 Mar 2020 20:21:18 +1300 Subject: [PATCH 266/604] Move unicode into this millenium --- reference/sectionD_references.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionD_references.inc b/reference/sectionD_references.inc index 13a38f14..48b6994d 100644 --- a/reference/sectionD_references.inc +++ b/reference/sectionD_references.inc @@ -9,7 +9,7 @@ Namespaces in XML 1.1 (Second Edition) https://www.w3.org/TR/2006/REC-xml-names1 RFC 2119: Key words for use in RFCs to Indicate Requirement Levels https://www.ietf.org/rfc/rfc2119.txt (March 1997) -Unicode 1.1.0 https://www.unicode.org/charts/ (June 1993) +Unicode 13.0 https://www.unicode.org/charts/ (6 February 2020) XML Information Set (Second Edition) https://www.w3.org/TR/2004/REC-xml-infoset-20040204/ (4 February 2004) From a4f2ab268340df1caa149c6990d72c5c227d8daf Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 31 Mar 2020 22:03:23 +1300 Subject: [PATCH 267/604] Changes as per review. --- README.rst | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index d8e74789..9300aea2 100644 --- a/README.rst +++ b/README.rst @@ -31,7 +31,7 @@ Then activate the virtual environment and instal the required packages:: pip install -r cellml-specification/requirements.txt That completes the environment setup required for building the documentation. -Once the environment is completed the HTML form of the documentation can be built with the following commands:: +Once the environment is completed the html form of the documentation can be built with the following commands:: cd cellml-specification make html @@ -42,12 +42,11 @@ The built documentation will be available at:: Any good internet browser will be able to display the documentation. -To build the PDF form of the documentation simply execute the following command:: +To build the pdf form of the documentation simply execute the following command:: make latexpdf -Note: Creating the PDF form of the documentation requires that latexmk is available, information on latexmk can be found at https://ctan.org/pkg/latexmk/. +Note: Creating the pdf form of the documentation requires that latexmk is available, information on latexmk can be found at https://ctan.org/pkg/latexmk/. Note: The documentation built with `make html` is different to the documentation built with `make latexpdf`. -The HTML form of the documentation is the full form being both the normative specification and the informative specification. -Whilst the PDF form of the documentation is solely the normative specification. +The html form of the documentation is the full form being both the normative specification and the informative specification, the pdf form of the documentation is solely the normative specification. From 69b75e2d3c717982127c80c8738203e918885f64 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 09:24:08 +1300 Subject: [PATCH 268/604] A1 informative, generic links for w3 mathml --- conf.py | 6 +++-- reference/informative/informA1.rst | 33 ++++++++++++++++++++++- reference/informative/informB12_math1.rst | 2 +- reference/sectionB_elements.inc | 2 +- 4 files changed, 38 insertions(+), 5 deletions(-) diff --git a/conf.py b/conf.py index 99572a3b..ca5b72bf 100644 --- a/conf.py +++ b/conf.py @@ -73,9 +73,10 @@ # TODO Update this when tutorials have a proper home. 'libcellml_tutorials': ('https://libcellml-tutorials.readthedocs.io/en/pr344_documentation/%s', ''), 'libxml2': ('http://www.xmlsoft.org/%s', ''), - 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html#id.4.2.1.3%s', ''), + 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html%s', ''), 'mathml2spec': ('http://www.w3.org/TR/2003/REC-MathML2-20031021/%s', ''), - 'mathml2types': ('https://www.w3.org/TR/MathML2/chapter4.html#contm.typeattrib%s', ''), + # 'mathml2types': ('https://www.w3.org/TR/MathML2/chapter4.html#contm.typeattrib%s', ''), + 'namespace_help':('https://www.w3schools.com/xml/xml_namespaces.asp%s',''), 'opencor': ('https://opencor.ws/%s', ''), 'pmr': ('https://models.physiomeproject.org/welcome/%s', ''), 'python': ('https://www.python.org/%s', ''), @@ -88,6 +89,7 @@ 'xml_1_1': ('http://www.w3.org/TR/xml11/%s', ''), 'xml_infoset': ('http://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816/%s', ''), + } diff --git a/reference/informative/informA1.rst b/reference/informative/informA1.rst index 08f4d6ed..8a1e86af 100644 --- a/reference/informative/informA1.rst +++ b/reference/informative/informA1.rst @@ -8,4 +8,35 @@ .. container:: infospec - **TODO** Informal notes go here + .. container:: heading3 + + Namespaces + + Namespaces are a way of making sure that names and definitions are interpreted within the right frame of reference. In CellML, two namespaces are used. These are the CellML namespace itself (which helps to define the :code:`units` elements as distinct from the XML default units system) and the MathML namespace used to interpret the :code:`` elements. For more information on namespaces in general, please refer to the :namespace_help:`W3 schools namespace page <>`. For more information on the MathML namespace please refer to the :mathml2help:`W3 MathML namespace <#inferf.namespace>` page. + + .. container:: heading3 + + Unicode, Basic Latin, and European numerals + + The Unicode project is an attempt to codify all of the symbols - alphabets, writings, even emojis - of all the languages of the world so that they can be interchangeable and interpreted by computers. Since computers understand numbers rather than symbols, each character in each language is given an unique numerical code. The codes themselves are arranged into blocks representing sets or alphabets of characters, and the Basic Latin alphabet is one of these. It contains the upper and lowercase alphabet without decoration: + + :code:`abcdefghijklmnopqrstuvwxyz` (symbols between U+0061 and U+007A) + :code:`ABCDEFGHIJKLMNOPQRSTUVWXYZ` (symbols between U+0041 and U+005A) + + The European numerals are the Unicode set: + + :code:`0123456789` (symbols between U+0030 and U+0039) + + In addition, CellML recognises four special characters: + + :code:`+` the plus sign (U+002B) + :code:`-` the minus sign (U+002D) + :code:`_` the underscore (U+005F) + :code:`.` the fullstop (U+002E) + + and the following whitespace characters: the space (U+0020), the tab (U+0009), the carriage return (U+000D), or the line feed (U+000A). + + Together these seventy symbols define the only characters which can be interpreted into values for CellML element attributes and element content. + + **TODO** Something about comments here too? + diff --git a/reference/informative/informB12_math1.rst b/reference/informative/informB12_math1.rst index 3c9f4409..c1ef2291 100644 --- a/reference/informative/informB12_math1.rst +++ b/reference/informative/informB12_math1.rst @@ -9,7 +9,7 @@ .. container:: infospec Because MathML is an entire language in its own right, we just don't have the scope to go through its general aspects. - Some great general resources are available on the :mathml2help:`MathML 2.0 site <>`, and we'll discuss below the more CellML specific restrictions in the other "See more" sections. + Some great general resources are available on the :mathml2help:`MathML 2.0 site <#id.4.2.1.3>`, and we'll discuss below the more CellML specific restrictions in the other "See more" sections. **Please note** that MathML 2 content markup is the only syntax used in CellML, even though more recent versions (MathML 3 and MathML 4) are available. diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index b7496c28..9376a449 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -365,7 +365,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-cn-type - 5. A :code:`cn` element MUST be one of the following :mathml2types:`types`\: real or e-notation. + 5. A :code:`cn` element MUST be one of the following :mathml2help:`types<#contm.typeattrib>`\: real or e-notation. .. container:: issue-math-cn-base10 From 9ecb25f681a0314bcd329c3afcbc55adab0605d0 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Wed, 1 Apr 2020 09:30:57 +1300 Subject: [PATCH 269/604] Update README.rst --- README.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index 9300aea2..3c39fcd4 100644 --- a/README.rst +++ b/README.rst @@ -31,7 +31,7 @@ Then activate the virtual environment and instal the required packages:: pip install -r cellml-specification/requirements.txt That completes the environment setup required for building the documentation. -Once the environment is completed the html form of the documentation can be built with the following commands:: +Once the environment is completed the HTML form of the documentation can be built with the following commands:: cd cellml-specification make html @@ -42,11 +42,11 @@ The built documentation will be available at:: Any good internet browser will be able to display the documentation. -To build the pdf form of the documentation simply execute the following command:: +To build the PDF form of the documentation simply execute the following command:: make latexpdf -Note: Creating the pdf form of the documentation requires that latexmk is available, information on latexmk can be found at https://ctan.org/pkg/latexmk/. +Note: Creating the PDF form of the documentation requires that latexmk is available, information on latexmk can be found at https://ctan.org/pkg/latexmk/. Note: The documentation built with `make html` is different to the documentation built with `make latexpdf`. -The html form of the documentation is the full form being both the normative specification and the informative specification, the pdf form of the documentation is solely the normative specification. +The HTML form of the documentation is the full form being both the normative specification and the informative specification, the PDF form of the documentation is solely the normative specification. From 14711fe8048c057f9a24c11c4dc108d5ab10faf2 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 09:31:32 +1300 Subject: [PATCH 270/604] cellml2 namespace link --- reference/sectionA_definitions.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index ef99c578..b995491c 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -35,7 +35,7 @@ An XML namespace, as defined in :xml_namespace_1_1:`Namespaces in XML 1.1`. .. _specA_cellml2_namespace: **CellML 2.0 namespace:** -The namespace http://www.cellml.org/cellml/2.0#. +The namespace :cellml2:`http://www.cellml.org/cellml/2.0# `\. .. _specA_mathml_namespace: From 52c6e4f2d3a58a300c6a423a0735903918c3aef8 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 11:09:39 +1300 Subject: [PATCH 271/604] 1.2 informative spec --- reference/formal_and_informative/specA2.rst | 16 ++++- reference/informative/informA2.rst | 12 ---- reference/informative/informA2_2.rst | 71 +++++++++++++++++++++ reference/informative/informA2_3.rst | 62 ++++++++++++++++++ reference/informative/informA2_4.rst | 15 +++++ reference/sectionA_definitions.inc | 6 ++ 6 files changed, 168 insertions(+), 14 deletions(-) delete mode 100644 reference/informative/informA2.rst create mode 100644 reference/informative/informA2_2.rst create mode 100644 reference/informative/informA2_3.rst create mode 100644 reference/informative/informA2_4.rst diff --git a/reference/formal_and_informative/specA2.rst b/reference/formal_and_informative/specA2.rst index ab142647..00d5af67 100644 --- a/reference/formal_and_informative/specA2.rst +++ b/reference/formal_and_informative/specA2.rst @@ -2,6 +2,18 @@ .. include:: ../sectionA_definitions.inc :start-after: marker_cellml_information_sets_start - :end-before: marker_cellml_information_sets_end + :end-before: marker_cellml_information_sets_2 -.. include:: ../informative/informA2.rst +.. include:: ../informative/informA2_2.rst + +.. include:: ../sectionA_definitions.inc + :start-after: marker_cellml_information_sets_2 + :end-before: marker_cellml_information_sets_3 + +.. include:: ../informative/informA2_3.rst + +.. include:: ../sectionA_definitions.inc + :start-after: marker_cellml_information_sets_3 + :end-before: marker_cellml_information_sets_4 + +.. include:: ../informative/informA2_4.rst diff --git a/reference/informative/informA2.rst b/reference/informative/informA2.rst deleted file mode 100644 index 49eeb866..00000000 --- a/reference/informative/informA2.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. _inform2: - -.. container:: toggle - - .. container:: header - - See more - - .. container:: infospec - - **TODO** Informal notes go here - diff --git a/reference/informative/informA2_2.rst b/reference/informative/informA2_2.rst new file mode 100644 index 00000000..559e907e --- /dev/null +++ b/reference/informative/informA2_2.rst @@ -0,0 +1,71 @@ +.. _inform2_2: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + .. container:: heading3 + + Specific information items + + There are different kinds of information stored in XML elements. In the example below, the :code:`` element has + In the example below: + - :code:`title`, :code:`instructions`, :code:`ingredient` have *text* content (note that numbers like 1.0 are treated as text), + - :code:`ingredients` and :code:`food_ideas` have *element* contents, because they have child elements inside them, + - :code:`category` is an *attribute* of the :code:`recipe` element, and :code:`name` and :code:`units` are *attributes* of the :code:`ingredient` element, and + - the note within :code:`` comment tags is an *unparsed* and is ignored. + + .. code-block:: xml + + + + Three ingredient scones + + + 1.0 + 1 + 4 + + + Mix them all together using your hands. + You can use extra flour if you need to. + Bake at 220C for about 12 minutes or until golden. + + + + + Using CellML this could be written: + + .. code-block:: xml + + + + + + + + + + + + + + mixture + + cream + lemonade + selfraising_flour + + + + + + + Even though this looks like a valid XML text block, it's not allowed here. Only those + elements which are explicitly specified as types of children are allowed! + + diff --git a/reference/informative/informA2_3.rst b/reference/informative/informA2_3.rst new file mode 100644 index 00000000..220cbd7c --- /dev/null +++ b/reference/informative/informA2_3.rst @@ -0,0 +1,62 @@ +.. _inform2_3: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + .. container:: heading3 + + Semantic equivalence + + The example below is identical to that in the previous "See more" block because: + + - newlines, tabs, whitespace do not affect equivalence (except as part of text or attribute content), + - the order of element definition does not affect equivalence, + - the order of attribute definition does not affect equivalence, and + - comments do not affect equivalence. + + .. code-block:: xml + + + + + + + + + mixture + + cream + lemonade + selfraising_flour + + + + + + + + + + + + + + + + + + + + diff --git a/reference/informative/informA2_4.rst b/reference/informative/informA2_4.rst new file mode 100644 index 00000000..bb5986df --- /dev/null +++ b/reference/informative/informA2_4.rst @@ -0,0 +1,15 @@ +.. _inform2_4: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + .. code-block:: xml + + + ... + diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index b995491c..e70f55c5 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -127,6 +127,8 @@ Specific information items #. The order in which specific information items appear, as children of an element information item defined in this specification, SHALL NOT affect the semantic interpretation of the :ref:`CellML model`. +.. marker_cellml_information_sets_2 + .. _specA_semantic_equivalence: Semantically equivalent CellML infosets @@ -144,11 +146,15 @@ Semantically equivalent CellML infosets changing the number of whitespace characters in such an information item, or changing the number of whitespace characters at the beginning or end of any character information item. +.. marker_cellml_information_sets_3 + Character information items --------------------------- #. An element information item in the :ref:`CellML namespace` MUST NOT contain any character information items, except for character information items which consist entirely of whitespace characters. +.. marker_cellml_information_sets_4 + Use of namespaces ----------------- From 15e3656af488fdc5cab65b7ef86d5fceca62a226 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 11:44:40 +1300 Subject: [PATCH 272/604] A2 fixes --- reference/formal_and_informative/specA2.rst | 4 ++++ reference/informative/informA2_4.rst | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/reference/formal_and_informative/specA2.rst b/reference/formal_and_informative/specA2.rst index 00d5af67..08ac5747 100644 --- a/reference/formal_and_informative/specA2.rst +++ b/reference/formal_and_informative/specA2.rst @@ -17,3 +17,7 @@ :end-before: marker_cellml_information_sets_4 .. include:: ../informative/informA2_4.rst + +.. include:: ../sectionA_definitions.inc + :start-after: marker_cellml_information_sets_4 + :end-before: marker_cellml_information_sets_end diff --git a/reference/informative/informA2_4.rst b/reference/informative/informA2_4.rst index bb5986df..0384d35b 100644 --- a/reference/informative/informA2_4.rst +++ b/reference/informative/informA2_4.rst @@ -11,5 +11,5 @@ .. code-block:: xml - ... + From 9a351ff7f522ac393eb0dd189763e8e9e1b09ef5 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 12:36:23 +1300 Subject: [PATCH 273/604] WIP: chapter 2 tweaks --- reference/informative/informA1.rst | 4 +- reference/informative/informA2_3.rst | 6 +-- reference/informative/informA3_1.rst | 12 +++--- reference/informative/informA3_5.rst | 6 +-- reference/informative/informB1_model1.rst | 13 +++---- reference/informative/informB1_model2.rst | 10 ++--- reference/informative/informB1_model3.rst | 1 - reference/informative/informB2_import1.rst | 18 ++++----- reference/informative/informB2_import3.rst | 8 ++-- .../informative/informB3_import_units1.rst | 14 +++---- .../informB4_import_component1.rst | 39 +++++++++---------- reference/informative/informB5_units1.rst | 12 +++--- reference/informative/informB6_unit1.rst | 15 ++++--- reference/informative/informB6_unit2.rst | 32 +++++++-------- reference/sectionB_elements.inc | 5 ++- 15 files changed, 94 insertions(+), 101 deletions(-) diff --git a/reference/informative/informA1.rst b/reference/informative/informA1.rst index 8a1e86af..e7f4cb92 100644 --- a/reference/informative/informA1.rst +++ b/reference/informative/informA1.rst @@ -36,7 +36,5 @@ and the following whitespace characters: the space (U+0020), the tab (U+0009), the carriage return (U+000D), or the line feed (U+000A). - Together these seventy symbols define the only characters which can be interpreted into values for CellML element attributes and element content. - - **TODO** Something about comments here too? + Together these seventy symbols define the only characters which can be interpreted into values for CellML element attributes and content. diff --git a/reference/informative/informA2_3.rst b/reference/informative/informA2_3.rst index 220cbd7c..14f16c49 100644 --- a/reference/informative/informA2_3.rst +++ b/reference/informative/informA2_3.rst @@ -41,21 +41,21 @@ - + - + - + diff --git a/reference/informative/informA3_1.rst b/reference/informative/informA3_1.rst index c4f296ab..d349523b 100644 --- a/reference/informative/informA3_1.rst +++ b/reference/informative/informA3_1.rst @@ -11,14 +11,14 @@ Names and identifiers need to be a single word, and without any special characters other than an underscore. For example, these are allowed: - - :code:`myName` - - :code:`my_name` - - :code:`myName1` + - :code:`myName`\, + - :code:`my_name`\, + - :code:`myName1`\, ... but these are not permitted: - - :code:`my Name` has a space - - :code:`myName!` contains a special character - - :code:`1myName` starts with a numerical character + - :code:`my Name` has a space, + - :code:`myName!` contains a special character, and + - :code:`1myName` starts with a numerical character. Note that CellML identifiers are case-sensitive, and empty strings are not allowed. diff --git a/reference/informative/informA3_5.rst b/reference/informative/informA3_5.rst index 873787e2..42807670 100644 --- a/reference/informative/informA3_5.rst +++ b/reference/informative/informA3_5.rst @@ -23,6 +23,6 @@ - :code:`"1.234e3"` is valid (either case of `E` or `e` is permitted), - :code:`"123,45E03"` is not valid (the decimal signifier must be a full-stop symbol :code:`.`), - :code:`"123.45"` is valid, and is treated as if it were a basic real number string: the exponent term is effectivly zero, - - :code:`"123.45E"` is not valid (if the exponent is present it may not be blank), and - - :code:`"123,456.7e89"` is not valid (you may not use a thousands separator), - - :code:`"0x123abc"` is not valid (base 10 numbers only) + - :code:`"123.45E"` is not valid (if the exponent is present it may not be blank), + - :code:`"123,456.7e89"` is not valid (you may not use a thousands separator), and + - :code:`"0x123abc"` is not valid (base 10 numbers only). diff --git a/reference/informative/informB1_model1.rst b/reference/informative/informB1_model1.rst index d1d508f4..2db46fd3 100644 --- a/reference/informative/informB1_model1.rst +++ b/reference/informative/informB1_model1.rst @@ -13,14 +13,13 @@ These are valid CellML name attributes: - - :code:`myValidName` is valid (both cases are permitted) - - :code:`my_other_valid_name` is valid (underscores are permitted) - - :code:`this1too` is valid (numerals 0-9 are permitted) + - :code:`myValidName` is valid (both cases are permitted), + - :code:`my_other_valid_name` is valid (underscores are permitted), and + - :code:`this1too` is valid (numerals 0-9 are permitted). These are not valid CellML name attributes: - - :code:`my invalid name` is not valid (spaces are not permitted) - - :code:`thisIsInvalidToo!` is not valid (special characters other - than the underscore :code:`_` are not permitted) - - :code:`1amNotValidEither` is not valid (must not begin with a number) + - :code:`my invalid name` is not valid (spaces are not permitted), + - :code:`thisIsInvalidToo!` is not valid (special characters other than the underscore :code:`_` are not permitted), + - :code:`1amNotValidEither` is not valid (must not begin with a number), and - :code:`" "` empty string is not valid (a name must be present). diff --git a/reference/informative/informB1_model2.rst b/reference/informative/informB1_model2.rst index 43365044..cdc40717 100644 --- a/reference/informative/informB1_model2.rst +++ b/reference/informative/informB1_model2.rst @@ -14,26 +14,26 @@ ... ... - + ... ... ... ... - + ... - + - + ... - + ... diff --git a/reference/informative/informB1_model3.rst b/reference/informative/informB1_model3.rst index 23c8876c..24e74749 100644 --- a/reference/informative/informB1_model3.rst +++ b/reference/informative/informB1_model3.rst @@ -14,5 +14,4 @@ For more information about encapsulation, please refer to :ref:`The encapsulation element information item`. - For more information and examples involving and explaining encapsulation, please refer to the :libcellml_tutorials:`Theory of a sodium channel ` page. diff --git a/reference/informative/informB2_import1.rst b/reference/informative/informB2_import1.rst index 12aaa6d3..ad49a9df 100644 --- a/reference/informative/informB2_import1.rst +++ b/reference/informative/informB2_import1.rst @@ -10,17 +10,15 @@ .. container:: infospec - At present (TODO) the location specified by the :code:`href` attribute must be a locally available file (not online). + At present the location specified by the :code:`href` attribute must be a locally available file (not online). The path may either be absolute from the root directory, or relative to the importing model's location. For example, here's a model based around casting for The Wizard of Oz. In the main model (the one doing the importing), the component used to play Dorothy is defined by importing a :code:`component` named :code:`judy_garland` from the file called :code:`role_of_dorothy.cellml` and setting its reference in the main file to be the component named :code:`dorothy`. - Note the file structure - the path to the imported file is specified relative to the importing file, in this case :code:`role_of_dorothy.cellml` sits inside a folder called :code:`characters`. - - - oz_model.cellml + Note the file structure: the path to the imported file is specified relative to the importing file, in this case :code:`role_of_dorothy.cellml` sits inside a folder called :code:`characters`. + **oz_model.cellml** .. code-block:: xml @@ -30,8 +28,7 @@ ... - characters/dorothy.cellml - + **characters/dorothy.cellml** .. code-block:: xml @@ -42,8 +39,7 @@ - characters/role_of_toto.cellml - + **characters/role_of_toto.cellml** .. code-block:: xml @@ -61,12 +57,12 @@ - + - + diff --git a/reference/informative/informB2_import3.rst b/reference/informative/informB2_import3.rst index c96c5c96..6b4069c9 100644 --- a/reference/informative/informB2_import3.rst +++ b/reference/informative/informB2_import3.rst @@ -31,7 +31,7 @@ .. code-block:: xml - + @@ -42,21 +42,21 @@ .. code-block:: xml - + - + - + diff --git a/reference/informative/informB3_import_units1.rst b/reference/informative/informB3_import_units1.rst index a432a12d..ef2db41c 100644 --- a/reference/informative/informB3_import_units1.rst +++ b/reference/informative/informB3_import_units1.rst @@ -8,19 +8,19 @@ .. container:: infospec - Importing :code:`Units` means that you're assured of consistency between your models, and allows for a more modular reuse of the components which use them. - There are three ingredients required in importing an item: + Importing units means that you're assured of consistency between your models, and allows for a more modular reuse of the components which use them. + There are three ingredients required in importing any item: - - a destination item in the importing model (this is the :code:`units` item called :code:`smallPotOfPaint` in the example below) + - A destination item in the importing model (this is the :code:`units` item called :code:`smallPotOfPaint` in the example below). - - a file to import from, specified using the :code:`xlink:href` attribute of the parent :code:`import` block. + - A file to import from, specified using the :code:`xlink:href` attribute of the parent :code:`import` block. This is discussed in more detail in :ref:`The import element information item`. In the example below this is the :code:`paint_pot_sizes.cellml` file. - - the specific item name to retrieve from the imported file. + - The specific item name to retrieve from the imported file. In the example below this is the :code:`twoLitrePot` value passed to the :code:`units_ref` attribute. - Thus we can read the import statement below as: "retrieve the :code:`Units` named :code:`twoLitrePot` from the file :code:`paint_pot_sizes.cellml`, and store it here in this model under the name :code:`potOfPaint` ". + Thus we can read the import statement below as: "retrieve the :code:`units` named :code:`twoLitrePot` from the file :code:`paint_pot_sizes.cellml`, and store it here in this model under the name :code:`potOfPaint`". .. code-block:: xml @@ -32,7 +32,7 @@ Imported items have the same restrictions as concrete items regarding the uniqueness of their names. In the example below, the name :code:`potOfPaint` is used for the locally defined units in line 2, but the same name is used as the name for the imported units in line 6. - This is not permitted as it violates 6.1.1. + This is not permitted as it violates :ref:`the uniqueness requirement for unit names`\. .. code-block:: xml diff --git a/reference/informative/informB4_import_component1.rst b/reference/informative/informB4_import_component1.rst index e7412ccf..631492e6 100644 --- a/reference/informative/informB4_import_component1.rst +++ b/reference/informative/informB4_import_component1.rst @@ -9,15 +9,15 @@ .. container:: infospec The ablility to import and reuse :code:`component` items is one of the most powerful features in CellML, as it allows modellers to easily plug-n-play different variations and model parts. - There are three ingredients required in importing an item: + There are three ingredients required in importing any item: - - a destination in the importing model (this is the :code:`component` item called :code:`pi_calculator` in the example below) + - A destination in the importing model (this is the :code:`component` item called :code:`pi_calculator` in the example below), - - a file to import from, specified using the :code:`xlink:href` attribute of the parent :code:`import` block. + - A file to import from, specified using the :code:`xlink:href` attribute of the parent :code:`import` block. This is discussed in more detail in :ref:`The import element information item`. In the example below this is the :code:`pi_approximators.cellml` file. - - the specific item name to retrieve from the imported file. + - The specific item name to retrieve from the imported file. In the example below this is the :code:`circumference_over_diameter` value passed to the :code:`component_ref` attribute. Thus we can read the import statement below as: "retrieve the :code:`component` named :code:`circumference_over_diameter` from the file :code:`pi_approximators.cellml`, and store it here in this model under the name :code:`pi_calculator`". @@ -30,14 +30,14 @@ Things to watch out for: - 1) **The namespace**. - Note that if you've already defined the :code:`xmlns:xlink` namespace inside the :code:`` tags then you would not need to repeat it here. + 1. **The namespace**. + Note that if you've already defined the :code:`xmlns:xlink` namespace inside the :code:`` tags then you would not need to repeat it here. - 2) **The name attribute**. - Imported items have the same restrictions as locally defined items regarding the uniqueness of their names and their format. - In the example below, the name :code:`pi_calculator` is used for the locally defined component in line 2, but the same name is used as the name for the imported component in line 6. - This is not permitted as it violates 7.1.1. - The second imported component uses an invalid name attribute (see :ref:`Data representation formats in CellML`) so is not permitted either. + 2. **The name attribute**. + Imported items have the same restrictions as locally defined items regarding the uniqueness of their names and their format. + In the example below, the name :code:`pi_calculator` is used for the locally defined component in line 2, but the same name is used as the name for the imported component in line 6. + This is not permitted as it violates the uniqueness requirement for names specified above. + The second imported component uses an invalid name attribute (see :ref:`Data representation formats in CellML`) so is not permitted either. .. code-block:: xml @@ -46,35 +46,34 @@ ... - + - + - 3) **The component_ref attribute**. - This must be a :ref:`valid CellML identifier` (see :ref:`Data representation formats in CellML`). - It also has to actually exist as a :code:`component` in the given :code:`href` location! - Neither of the imports below are permitted: + 3. **The component_ref attribute**. + This must be a :ref:`valid CellML identifier` (see :ref:`Data representation formats in CellML`). + It also has to actually exist as a :code:`component` in the given :code:`href` location! + Neither of the imports below are permitted: .. code-block:: xml - + - + - diff --git a/reference/informative/informB5_units1.rst b/reference/informative/informB5_units1.rst index 05507d8a..fcbdcc8a 100644 --- a/reference/informative/informB5_units1.rst +++ b/reference/informative/informB5_units1.rst @@ -8,23 +8,23 @@ .. container:: infospec - The best way to understand how :code:`units` work is to read the next section which defines their child :code:`unit` items. + The best way to understand how :code:`units` work is to read the informative sections within the :ref:`Unit element section` in the next section, which defines their child :code:`unit` items. - The following examples show examples of what is not permitted in defining :code:`units` items. + The following examples show examples of what is not permitted when defining :code:`units` items. .. code-block:: xml - + ... - + ... ... - + - + ... diff --git a/reference/informative/informB6_unit1.rst b/reference/informative/informB6_unit1.rst index b5915436..3b38a68c 100644 --- a/reference/informative/informB6_unit1.rst +++ b/reference/informative/informB6_unit1.rst @@ -8,15 +8,14 @@ .. container:: infospec - :code:`Units` items are simply a collection of :code:`Unit` items, each with a prefix, multiplier, and exponent. - They can be nested and contain multiple generations of inheritance, which means that there's always a possibility of circular definitions. - These are not permitted. + A :code:`Units` item is simply a collection of :code:`Unit` items, each with a :code:`prefix`, :code:`multiplier`, and :code:`exponent`. + They can be nested and contain multiple generations of inheritance, which means that there's always a possibility of circular definitions: these are not permitted. For example, the first definition is valid: .. code-block:: xml - + @@ -24,7 +23,7 @@ - + @@ -34,17 +33,17 @@ .. code-block:: xml - + - + - + diff --git a/reference/informative/informB6_unit2.rst b/reference/informative/informB6_unit2.rst index de8c1659..34cc3fbc 100644 --- a/reference/informative/informB6_unit2.rst +++ b/reference/informative/informB6_unit2.rst @@ -9,28 +9,28 @@ .. container:: infospec There are two items related to units in CellML, and their naming can be confusing! - The plural - :code:`units` represents the actual final units to be used in the model. - This is a collection of smaller :code:`unit` items which transform the base dimensionality into the form required by the final units by way of prefixes, multipliers, and exponents. + The plural form, :code:`units`, represents the units to be used in the model by being assigned to :code:`variable` and :code:`cn` elements. + A :code:`units` item is a collection of smaller :code:`unit` items which transform the base dimensionality into the form required by the final units by way of prefixes, multipliers, and exponents. - In the example, we'll need to use two of the *built-in* base units, :code:`metre` and :code:`second`, and manipulate them to form :math:`cm^3/s`. + In the example, we'll need to use two of the *built-in* base units, :code:`metre` and :code:`second`, and manipulate them to form cm\ :sup:`3`\ /s. This is done by including child :code:`unit` items. - First, we need to change the base units of :code:`metre` into :math:`cm^3`: + First, we need to change the base units of :code:`metre` into cm\ :sup:`3`\ /s: .. code-block:: xml - # default multiplier of 1 + ... - Next, we include the time dependency, changing the built-in units :code:`second` into :math:`s^{-1}`. + Next, we include the time dependency, changing the built-in units :code:`second` into s\ :sup:`-1`\ . Note that sibling :code:`unit` items within a parent :code:`units` item are simply multplied together to form the final representation: .. code-block:: xml - # default multiplier of 1 - # default prefix of 0, default multiplier of 1 + + This is exactly equivalent to the alterantives below: @@ -38,24 +38,24 @@ .. code-block:: xml - # prefix can be specified as a power of 10 + - # or + - # multiplier specified instead + - # or + - # default exponent of 1 ... - # ... is repeated ... - # ... to give the equivalent power of 3 + + + - For more information on :code:`Units` items please refer to the + For more information on :code:`units` items please refer to :ref:`the previous section`. diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 9376a449..fdfb76b3 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -139,8 +139,9 @@ A :code:`units` element information item (referred to in this specification as a .. container:: issue-units-name 1. Every :code:`units` element MUST contain a :code:`name` attribute. - The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. + The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. +.. _issue-units-name-unique: .. container:: issue-units-name-unique 2. The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`units` element or :code:`import units` element in the :ref:`CellML infoset`. @@ -208,6 +209,8 @@ A :code:`component` element information item (referred to in this specification .. marker_component_1 +.. _issue-component-name: + .. container:: issue-component-name 1. Every :code:`component` element MUST contain a :code:`name` attribute. The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. From abe1ea1920689ffdc2d1e78ddb3b853e00c6bbb2 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 13:41:57 +1300 Subject: [PATCH 274/604] WIP chapter 2 --- reference/informative/informB12_math1.rst | 2 +- reference/informative/informB12_math2.rst | 10 +++--- reference/informative/informB12_math3.rst | 16 ++++++---- reference/informative/informB12_math4.rst | 32 +++++++++---------- .../informative/informB13_encapsulation1.rst | 8 ++--- .../informative/informB14_component_ref1.rst | 2 +- .../informative/informB15_connection2.rst | 2 +- .../informative/informB15_connection3.rst | 2 +- .../informative/informB15_connection4.rst | 2 +- reference/informative/informB7_component1.rst | 2 +- reference/informative/informB7_component2.rst | 8 ++--- reference/informative/informB7_component3.rst | 10 +++--- reference/informative/informB8_variable1.rst | 5 ++- reference/informative/informB9_reset1.rst | 2 +- .../informC03_interpretation_of_units1.rst | 4 +-- 15 files changed, 55 insertions(+), 52 deletions(-) diff --git a/reference/informative/informB12_math1.rst b/reference/informative/informB12_math1.rst index c1ef2291..b93aefc2 100644 --- a/reference/informative/informB12_math1.rst +++ b/reference/informative/informB12_math1.rst @@ -8,7 +8,7 @@ .. container:: infospec - Because MathML is an entire language in its own right, we just don't have the scope to go through its general aspects. + Because MathML is an entire language in its own right, we just don't have the ability to go through all its general aspects here. Some great general resources are available on the :mathml2help:`MathML 2.0 site <#id.4.2.1.3>`, and we'll discuss below the more CellML specific restrictions in the other "See more" sections. **Please note** that MathML 2 content markup is the only syntax used in CellML, even though more recent versions (MathML 3 and MathML 4) are available. diff --git a/reference/informative/informB12_math2.rst b/reference/informative/informB12_math2.rst index 40f7b4c7..6e8ae57f 100644 --- a/reference/informative/informB12_math2.rst +++ b/reference/informative/informB12_math2.rst @@ -9,7 +9,7 @@ .. container:: infospec Probably the biggest aspect of CellML's restrictions of MathML is that it is confined to using **only MathML2** content markup. - No form of presentation markup is permitted, and only the version MathML2 is allowed (ie: not MathML 3 or greater). + No form of presentation markup is permitted, and only the version MathML2 is allowed (i.e.: not MathML 3 or greater). .. container:: heading3 @@ -41,7 +41,9 @@ + their units are taken from the units of the variable + (even though in this case, E really does have units Joules). --> + E @@ -50,8 +52,8 @@ c - - + + variable_with_value_of_two diff --git a/reference/informative/informB12_math3.rst b/reference/informative/informB12_math3.rst index 1b256039..9f32a224 100644 --- a/reference/informative/informB12_math3.rst +++ b/reference/informative/informB12_math3.rst @@ -13,10 +13,12 @@ .. code-block:: xml - + + - + + E @@ -35,15 +37,15 @@ This situation is not valid, as the :code:`math` block in component :code:`mass_into_energy` doesn't have access to the variable :code:`m` in the component :code:`calculate_mass`. - To get around this, you would need to create a new local variable within the :code:`mass_into_energy` component, and use a :code:`connection` element to link it to variable :code:`m` in the other component. - The valid form of the model is shown below, and you can read more about :code:`connections` in :ref:`The connection element`, and the :code:`interface_type` attribute in :ref:`The variable element`. + To get around this, you would need to create a new local variable within the :code:`mass_into_energy` component, and use a :code:`connection` element to link it to the mass variable :code:`m` in the other component. + The valid form of the model is shown below. You can read more about :code:`connections` in :ref:`The connection element`, and the :code:`interface_type` attribute in :ref:`The variable element`. .. code-block:: xml - + @@ -61,9 +63,9 @@ - + - + diff --git a/reference/informative/informB12_math4.rst b/reference/informative/informB12_math4.rst index 28e8d8a5..a5035ec7 100644 --- a/reference/informative/informB12_math4.rst +++ b/reference/informative/informB12_math4.rst @@ -16,10 +16,10 @@ .. code-block:: xml - - 35.3 - 10 - 3.14159e+03 + + 35.3 + 10 + 3.14159e+03 Please note that the units name specified must refer to a :code:`units` element that exists in the :code:`model` element, or be one from the :ref:`Built-in Units` table. @@ -27,15 +27,15 @@ .. code-block:: xml - - 35.3 - 42 - 502.642 - 26.6 - 3,000 - +4.0 - 0x235abc - i_am_a_variable + + 35.3 + 42 + 502.642 + 26.6 + 3,000 + +4.0 + 0x235abc + i_am_a_variable .. container:: heading3 @@ -54,7 +54,7 @@ E - + m @@ -66,8 +66,8 @@ - Believe it or not, this is valid! + Believe it or not, this is valid! (Perhaps it's better to say it's not invalid). It's clearly nonsense, but it doesn't actually violate any syntax rules. The only instance where you will create an invalid model by assigning :code:`units` to :code:`variables` is when you need to form a :code:`map_variables` pair with a :code:`variable` in another :code:`component`. - In this case, each :code:`variable` must have an equivalent unit reduction (see :ref:`Section C.5.3`) or it won't be valid CellML. + In this case, each :code:`variable` must have an :ref:`equivalent unit reduction` or it won't be valid CellML. diff --git a/reference/informative/informB13_encapsulation1.rst b/reference/informative/informB13_encapsulation1.rst index 8cc8b659..353aa84a 100644 --- a/reference/informative/informB13_encapsulation1.rst +++ b/reference/informative/informB13_encapsulation1.rst @@ -12,7 +12,7 @@ Encapsulation is the way that CellML manages the hierarchy of components and keeps their modularity. This is why there can be only one :code:`encapsulation` element within a :code:`model`: you can think of it as a table of contents for components in the whole model. - Encapsulations don't have to include all of the model's components - only the ones which need to sit within another component. + Encapsulations don't have to include all of the model's components; only the ones which need to sit within another component. Components which are not listed within the encapsulation are top-level children of the :code:`model`. .. code-block:: xml @@ -41,7 +41,7 @@ - + @@ -59,7 +59,7 @@ - + @@ -88,7 +88,7 @@ - + diff --git a/reference/informative/informB14_component_ref1.rst b/reference/informative/informB14_component_ref1.rst index 22767f7f..c2622b90 100644 --- a/reference/informative/informB14_component_ref1.rst +++ b/reference/informative/informB14_component_ref1.rst @@ -9,5 +9,5 @@ .. container:: infospec - There are notes about the :code:`component_ref` usage under the "See more" link on the :ref:`encapsulation element` page. + Please see the notes about the :code:`component_ref` usage under the "See more" link on the :ref:`encapsulation element` page. diff --git a/reference/informative/informB15_connection2.rst b/reference/informative/informB15_connection2.rst index 699bf014..ca767824 100644 --- a/reference/informative/informB15_connection2.rst +++ b/reference/informative/informB15_connection2.rst @@ -9,7 +9,7 @@ .. container:: infospec Creating :code:`connection` items allows :code:`variable` values to be passed between eligible :code:`components`. - There are both syntactic (ie: format) and semantic (ie: meaning) rules about how these must be specified, including what "eligible" means. + There are both syntactic (i.e.: format) and semantic (i.e.: meaning) rules about how these must be specified, including what "eligible" means. Syntax will be discussed below and in the other "See more" blocks on this page. For more on the semantic rules, please see :ref:`Interpretation of map_variables`. diff --git a/reference/informative/informB15_connection3.rst b/reference/informative/informB15_connection3.rst index d9790eec..0d9ccf72 100644 --- a/reference/informative/informB15_connection3.rst +++ b/reference/informative/informB15_connection3.rst @@ -8,7 +8,7 @@ .. container:: infospec - All this means is that mapped/connected :code:`variables` (ie: those specified by :code:`connection` and :code:`map_variables` items) must be in different :code:`components`. + All this means is that mapped/connected :code:`variables` (i.e.: those specified by :code:`connection` and :code:`map_variables` items) must be in different :code:`components`. Since the only reason you'd need to use these connections is in order to access a :code:`variable` in another :code:`component`, this restriction does kinda make sense! .. code-block:: xml diff --git a/reference/informative/informB15_connection4.rst b/reference/informative/informB15_connection4.rst index 32ccd1ef..96c3ef2c 100644 --- a/reference/informative/informB15_connection4.rst +++ b/reference/informative/informB15_connection4.rst @@ -46,7 +46,7 @@ - diff --git a/reference/informative/informB7_component1.rst b/reference/informative/informB7_component1.rst index 0e950888..e7a750e7 100644 --- a/reference/informative/informB7_component1.rst +++ b/reference/informative/informB7_component1.rst @@ -8,7 +8,7 @@ .. container:: infospec - Components are a convenient way to modularise the model, allowing parts to be removed, replaced, and reused easily. + Components are a convenient way to modularise a model, and allow parts to be removed, replaced, and reused easily. They define the scope of their contents, meaning that the items within a component need only be uniquely named in that local scope. Commonly needed variables (like *time*, for example) can be given the same name in multiple components without triggering an error. diff --git a/reference/informative/informB7_component2.rst b/reference/informative/informB7_component2.rst index f2f1f1c8..f4a7d82b 100644 --- a/reference/informative/informB7_component2.rst +++ b/reference/informative/informB7_component2.rst @@ -13,17 +13,17 @@ .. code-block:: xml - + ... - + ... - + ... ... - + diff --git a/reference/informative/informB7_component3.rst b/reference/informative/informB7_component3.rst index ae88c0eb..67ea3a7a 100644 --- a/reference/informative/informB7_component3.rst +++ b/reference/informative/informB7_component3.rst @@ -36,14 +36,14 @@ ... - Please refer to :ref:`The math element` for information on the :code:`math` items and MathML format. + Please refer to :ref:`The math element` section for information on the :code:`math` items and MathML format. .. container:: heading3 The variables of a component - The MathML block above refers to three variables, named :code:`E`, :code:`m` and :code:`c`. - These variable names be the same as the :code:`name` attributes of the child :code:`variable` items in this component. + The MathML block above refers to three variables named :code:`E`, :code:`m` and :code:`c`. + These variable names must be the same as the :code:`name` attributes of the child :code:`variable` items in this component. .. code-block:: xml @@ -54,10 +54,10 @@ - Please refer to :ref:`The variable information item` for information on the :code:`variable` items. + Please refer to :ref:`The variable information item` section for information on the :code:`variable` items. .. container:: heading3 The reset items of a component - **TODO** when resets are finalised + **TODO** diff --git a/reference/informative/informB8_variable1.rst b/reference/informative/informB8_variable1.rst index 7662e566..1b4dc703 100644 --- a/reference/informative/informB8_variable1.rst +++ b/reference/informative/informB8_variable1.rst @@ -10,7 +10,7 @@ In addition to the standard :code:`name` attribute, each :code:`variable` must also define a :code:`units` attribute too. - Reusing the example from :ref:`The component item` we can give the three variables their fuller definitions: + Reusing Einstein's example from the :ref:`component item` section we can give the three variables their fuller definitions: .. code-block:: xml @@ -28,7 +28,6 @@ Finally, where one :code:`variable` has been mapped to another in a different component, the :code:`interface` attribute must be specified. This determines the relative position in the encapsulation that the mapped component must have in order to access this variable. - This is outlined in more detail in :ref:`The encapsulation item`. + This is outlined in more detail in the :ref:`encapsulation item` section. - For examples and further explanation of components and their encapsulation, please refer to :libcellml_tutorials:`section 3 of the Sodium Channel theory` documentation. diff --git a/reference/informative/informB9_reset1.rst b/reference/informative/informB9_reset1.rst index 41460f2f..6bee1caf 100644 --- a/reference/informative/informB9_reset1.rst +++ b/reference/informative/informB9_reset1.rst @@ -9,4 +9,4 @@ .. container:: infospec - **TODO** Informal notes go here + **TODO** Informative notes about resets go here diff --git a/reference/informative/informC03_interpretation_of_units1.rst b/reference/informative/informC03_interpretation_of_units1.rst index 9894927d..0b3e474f 100644 --- a/reference/informative/informC03_interpretation_of_units1.rst +++ b/reference/informative/informC03_interpretation_of_units1.rst @@ -56,7 +56,7 @@ @@ -80,7 +80,7 @@ - **Note** that all spellings of built in units and prefixes must be UK (not US) English, ie: :code:`metre` (not meter), :code:`litre` (not liter), and :code:`deca` (not deka). + **Note** that all spellings of built in units and prefixes must be UK (not US) English, i.e.: :code:`metre` (not meter), :code:`litre` (not liter), and :code:`deca` (not deka). .. container:: heading3 From 961d22ed64d611830210aa703521191c0b7b8f35 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 13:53:35 +1300 Subject: [PATCH 275/604] Finished chapter 2 informal (except resets) --- .../informative/informB15_connection2.rst | 18 ++++++++++-------- .../informative/informB15_connection3.rst | 2 +- .../informative/informB15_connection4.rst | 14 +++++++------- .../informative/informB15_connection5.rst | 2 +- .../informative/informB16_map_variables2.rst | 8 ++++---- .../informative/informB16_map_variables3.rst | 6 ++++-- 6 files changed, 27 insertions(+), 23 deletions(-) diff --git a/reference/informative/informB15_connection2.rst b/reference/informative/informB15_connection2.rst index ca767824..2fec5db0 100644 --- a/reference/informative/informB15_connection2.rst +++ b/reference/informative/informB15_connection2.rst @@ -13,13 +13,12 @@ Syntax will be discussed below and in the other "See more" blocks on this page. For more on the semantic rules, please see :ref:`Interpretation of map_variables`. - Points 15.1.1 and 15.1.2 are both saying the same thing. - The way in which you specify the :code:`component_1` and :code:`component_2` items must follow the general CellML 2.0 format for a valid identifier, and must point to a :code:`component` which exists under that name. - Note that this could be either an intantiated :code:`component`, or an :code:`import component` item. + Both points above are really saying the same thing. + The way in which you specify the :code:`component_1` and :code:`component_2` items must follow the general CellML 2.0 format for a valid identifier, and must point to a :code:`component` which exists under that name (note that this could be either an intantiated :code:`component`, or an :code:`import component` item). .. code-block:: xml - + @@ -32,7 +31,7 @@ - + @@ -40,10 +39,13 @@ - - - + + + + + + diff --git a/reference/informative/informB15_connection3.rst b/reference/informative/informB15_connection3.rst index 0d9ccf72..05741154 100644 --- a/reference/informative/informB15_connection3.rst +++ b/reference/informative/informB15_connection3.rst @@ -19,7 +19,7 @@ - + diff --git a/reference/informative/informB15_connection4.rst b/reference/informative/informB15_connection4.rst index 96c3ef2c..fb628e63 100644 --- a/reference/informative/informB15_connection4.rst +++ b/reference/informative/informB15_connection4.rst @@ -14,7 +14,7 @@ .. code-block:: xml - + @@ -28,14 +28,14 @@ - - + - + @@ -45,9 +45,9 @@ - - + diff --git a/reference/informative/informB15_connection5.rst b/reference/informative/informB15_connection5.rst index 7ed48849..76ec2c1a 100644 --- a/reference/informative/informB15_connection5.rst +++ b/reference/informative/informB15_connection5.rst @@ -21,7 +21,7 @@ - + diff --git a/reference/informative/informB16_map_variables2.rst b/reference/informative/informB16_map_variables2.rst index 74e8bf0d..87b2f42d 100644 --- a/reference/informative/informB16_map_variables2.rst +++ b/reference/informative/informB16_map_variables2.rst @@ -8,7 +8,7 @@ .. container:: infospec - Points 16.1.1 and 16.1.2 are both saying the same thing for their :code:`variable_1` and :code:`variable_2` attributes respectively: + The points above are both saying the same thing for their :code:`variable_1` and :code:`variable_2` attributes respectively: .. code-block:: xml @@ -20,17 +20,17 @@ - + - + - + diff --git a/reference/informative/informB16_map_variables3.rst b/reference/informative/informB16_map_variables3.rst index 771d3793..e62da2be 100644 --- a/reference/informative/informB16_map_variables3.rst +++ b/reference/informative/informB16_map_variables3.rst @@ -8,7 +8,7 @@ .. container:: infospec - Just as you can have only one :code:`connection` between any two :code:`components`, within that :code:`connection` you can have only one :code:`map_variables` item between any two :code:`variables`. + Just as you can have only one :code:`connection` between any two :code:`components`, within that :code:`connection` you can have only one :code:`map_variables` item between any two :code:`variables`: .. code-block:: xml @@ -19,9 +19,11 @@ + + + - From c634b95a14d8914f8387b6623c07e4df053bd4d4 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 14:30:42 +1300 Subject: [PATCH 276/604] Chapter 3 proofreading done, others to write --- .../informC03_interpretation_of_units1.rst | 27 ++++++++---------- .../informC03_interpretation_of_units2.rst | 10 +++---- .../informC03_interpretation_of_units3.rst | 28 +++++++++++-------- ...rmC06_interpretation_of_initial_values.rst | 18 ++++++------ reference/sectionC_interpretation.inc | 10 +++---- 5 files changed, 47 insertions(+), 46 deletions(-) diff --git a/reference/informative/informC03_interpretation_of_units1.rst b/reference/informative/informC03_interpretation_of_units1.rst index 0b3e474f..1d470689 100644 --- a/reference/informative/informC03_interpretation_of_units1.rst +++ b/reference/informative/informC03_interpretation_of_units1.rst @@ -31,7 +31,7 @@ - **Note** that these examples are *only* equivalent because the :code:`exponent` in each case is 1. + **Note:** These examples are *only* equivalent because the :code:`exponent` in each case is 1. .. container:: heading3 @@ -45,7 +45,7 @@ .. code-block:: xml - + @@ -62,15 +62,15 @@ - + @@ -80,13 +80,13 @@ - **Note** that all spellings of built in units and prefixes must be UK (not US) English, i.e.: :code:`metre` (not meter), :code:`litre` (not liter), and :code:`deca` (not deka). + **Note:** All spellings of built-in units and prefixes must be UK (not US) English, i.e.: :code:`metre` (not meter), :code:`litre` (not liter), and :code:`deca` (not deka). .. container:: heading3 Combinations - Once you've read the section in the previoussection on how single :code:`unit` items can be combined to form a :code:`units` item, we also need to define how :code:`units` items can be used to form generations of units. + Once you've read above how single :code:`unit` items can be combined to form a :code:`units` item, you'll also need to define how :code:`units` items can be used to form generations of units. Using the same example of the 330mL beer bottle as before, here are alternative, but equivalent, definitions. .. code-block:: xml @@ -95,11 +95,11 @@ - + - + @@ -121,7 +121,7 @@ - Then cube it to get the units of millilitres: + Now cube it to get the units of millilitres: .. code-block:: xml @@ -130,7 +130,7 @@ - This is equivalent to creating the units of :math:`(10^{-6})(metre)^3`, because the effect of the :code:`exponent` is applied to the combination of :code:`units` and :code:`prefix`, but not to the :code:`multiplier`: + This is equivalent to creating the units of (10\ :sup:`-6`\ )(:code:`metre`)\ :sup:`3`\ , because the effect of the :code:`exponent` is applied to the combination of :code:`units` and :code:`prefix`, but not to the :code:`multiplier`. For example: .. code-block:: xml @@ -139,13 +139,10 @@ - + It's good to get your head around the difference between how the :code:`multiplier` and :code:`prefix` terms work, or your scaling might not be quite what you expect (and your beer disappointing). - - - diff --git a/reference/informative/informC03_interpretation_of_units2.rst b/reference/informative/informC03_interpretation_of_units2.rst index 92c8fa5b..8bb49f0a 100644 --- a/reference/informative/informC03_interpretation_of_units2.rst +++ b/reference/informative/informC03_interpretation_of_units2.rst @@ -30,26 +30,26 @@ | cd | candela | luminous intensity | +--------+------------+---------------------------+ - Some of the units listed in the :ref:`Built-in Units` are these base units, but others are combinations of them included for convenience. + Some of the units listed in the :ref:`Built-in Units` table are these base units, but others are combinations of them included for convenience. Only those rows in the table which have no entries in the "Unit reduction" column are "irreducible" or base units. In the CellML 2.0 world you are able to also define your own base units. - These are :code:`units` items which you create which do not reference any child :code:`unit` items, so are therefore "irreducible". + These are :code:`units` items which you create which do not reference any child :code:`unit` items (thus rendering them "irreducible"). For example: .. code-block:: xml + It's a base unit because it has no child unit items. --> - + - + diff --git a/reference/informative/informC03_interpretation_of_units3.rst b/reference/informative/informC03_interpretation_of_units3.rst index c44668a6..cd20f71b 100644 --- a/reference/informative/informC03_interpretation_of_units3.rst +++ b/reference/informative/informC03_interpretation_of_units3.rst @@ -16,8 +16,14 @@ This includes user-defined base units too. The "unit reduction" of any :code:`units` item is simply a recipe for how any units item is constructed from these "base unit" ingredients. - For example, the units "metres per second" could be written :math:`m/s` or :code:`product[ (metre)^1 , (second)^-1 ]`, or :code:`product[ power(metre, 1) , power(second, -2) ]`. - This final list of tuples, representing the base unit and its exponent, is referred to as the unit reduction tuples for the :code:`units` element. + For example, the units "metres per second" could be written: + + - m/s, + - m⋅s\ :sup:`-1`, + - :code:`product[ (metre)^1 , (second)^-1 ]`, or + - :code:`product[ power(metre, 1) , power(second, -2) ]`. + + This final list of tuples - representing the base unit and its exponent - is referred to as the *unit reduction tuples* for the :code:`units` element. Some other examples are given below. **Related to 3.3.3.2.1:** @@ -30,7 +36,7 @@ - **Related to 3.3.3.2.3 and 4:** The concentration of apples per litre of cider is expressed using the custom base units "apple", the custom derived units "bushell_of_apples" and the built-in convenience units of "litre", the last being equivalent to cubic metres. + **Related to 3.3.3.2.3 and 4:** The concentration of apples per litre of cider is expressed using the custom base units :code:`apple`, the custom derived units :code:`bushell_of_apples` and the built-in convenience units of :code:`litre`, the last being equivalent to 0.001m\ :sup:`3`\ . Note that: - scaling does not affect the unit reduction tuples, - - the custom derived units :code:`bushell_of_apples` does not appear, as it can be further reduced to :code:`apple`, - - the final exponent of the :code:`metre` base unit comes from applying 3.3.2.4 and multiplying the exponent of the litre reduction tuple (metre, 3) with the exponent given in the :code:`cider_concentration` tuple (litre, -1) to give a (metre, -3) in the final unit reduction tuple set. + - the custom derived units :code:`bushell_of_apples` do not appear because it can be further reduced to :code:`apple`, and + - the final exponent of the :code:`metre` base unit comes from applying 3.3.3.2.4 and multiplying the exponent of the litre reduction tuple (metre, 3) with the exponent given in the :code:`cider_concentration` tuple (litre, -1) to give a (metre, -3) in the final unit reduction tuple set. .. code-block:: xml @@ -74,7 +80,7 @@ .. code-block:: xml - + @@ -95,7 +101,7 @@ - Here the "metre" exponents of 3 and -4 reduce to 1: + Here the :code:`metre` exponents of 3 and -4 reduce to 1: .. code-block:: xml @@ -105,7 +111,7 @@ - Here the "steradian" inclusion has no effect on the final unit reduction as its own units cancel out: + Here the :code:`steradian` inclusion has no effect on the final unit reduction as its own units cancel out: .. code-block:: xml @@ -115,10 +121,9 @@ - Finally a complicated one with the same outcome. Note that even though there are some irreducible units used, they end up with an exponent of 0 in the tuple, and are therefore removed from the final unit reduction. - Note that a Volt is equivalent to :math:`m^2.kg.s^{-3}.A^{-1}` + Note that a :code:`volt` V is equivalent to m\ :sup:`2`·kg·s\ :sup:`-3`·A\ :sup:`-1`\ . .. code-block:: xml @@ -146,4 +151,3 @@ - diff --git a/reference/informative/informC06_interpretation_of_initial_values.rst b/reference/informative/informC06_interpretation_of_initial_values.rst index fc940f53..315f18ac 100644 --- a/reference/informative/informC06_interpretation_of_initial_values.rst +++ b/reference/informative/informC06_interpretation_of_initial_values.rst @@ -49,7 +49,7 @@ .. code-block:: xml - + @@ -72,12 +72,12 @@ - + - + @@ -85,7 +85,7 @@ - + @@ -102,7 +102,7 @@ - + @@ -118,15 +118,15 @@ - + - + - + @@ -139,7 +139,7 @@ - + diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 02c54da0..19a64bba 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -38,10 +38,11 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute .. marker_units_reference1 -.. _table_built_in_units: + **Table 3.1: Built-in units** +.. _table_built_in_units: .. only:: html +-----------------------+-------------------+----------------------------------------------+-------------------------+ @@ -260,14 +261,14 @@ Interpretation of ``units`` elements 2. If the :code:`units` element has one or more :code:`unit` child elements, then the set of tuples SHALL consist of the entire collection of tuples given by all :code:`unit` child elements. Tuples for each :code:`unit` child element SHALL be determined as follows: - 1. Where the ref:`units reference` of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. + 1. Where the :ref:`units reference` of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. 2. Where the units reference of the :code:`unit` child element is to built-in units other than an irreducible unit, then the tuples SHALL be derived directly from the :ref:`Built-in units` table. Specifically, the set of tuples SHALL consist of the tuples given in the "Unit reduction tuple set" column of the row for which the value in the "Name" column matches the name of the units reference. 3. Where the units reference of the :code:`unit` child element is to a unit which is neither built-in, nor an irreducible unit, the set of tuples SHALL be defined recursively as the set of tuples for the :code:`units` element so referenced. - 4. The exponents of each tuple in the set for the current :code:`unit` element, as derived by following rule 3.2.1, 3.2.2 or 3.2.3 above, SHALL be multiplied by the exponent term of the current, referencing, :code:`unit` element. + 4. The exponents of each tuple in the set for the current :code:`unit` element, as derived by following rules 3.3.3.2.1, 3.3.3.2.2 or 3.3.3.2.3 above, SHALL be multiplied by the exponent term of the current, referencing, :code:`unit` element. 3. Tuples which have the name element of "dimensionless" SHALL be removed from the set of tuples. Note that this can result in the set of tuples being empty. @@ -278,10 +279,9 @@ Interpretation of ``units`` elements .. marker_interpretation_of_units_3 -.. _table_prefix_values: - **Table 3.2: Prefix values** +.. _table_prefix_values: ============== ========= **Name** **Value** :code:`yotta` 24 From 5d1bcf11c3d32ce73dd52427f6429a5b9ffdbefa Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 14:32:04 +1300 Subject: [PATCH 277/604] Removed "each each" from 2.9.1 --- reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index fdfb76b3..40cf8508 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -273,7 +273,7 @@ The ``reset`` element A :code:`reset` element information item (referred to in this specification as a :code:`reset` element) is an element in the CellML namespace with a local name equal to :code:`reset`, and which appears as a child of a :code:`component` element. -1. Every :code:`reset` element MUST have exactly one each each of the following attributes: +1. Every :code:`reset` element MUST have exactly one each of the following attributes: .. container:: issue-reset-variable-reference From 48aed1f7b7034730049c3d3c40d3c8f9f4a0dee8 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 15:06:47 +1300 Subject: [PATCH 278/604] playing with tables for hover tips --- .../informC03_interpretation_of_units1.rst | 18 ++++++++---------- reference/sectionC_interpretation.inc | 12 ++++-------- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/reference/informative/informC03_interpretation_of_units1.rst b/reference/informative/informC03_interpretation_of_units1.rst index 1d470689..5db9c1af 100644 --- a/reference/informative/informC03_interpretation_of_units1.rst +++ b/reference/informative/informC03_interpretation_of_units1.rst @@ -13,13 +13,13 @@ Prefixes The :code:`prefix` term is different from the other attributes of a :code:`unit` element in that it can accept both a string (the name of the prefix from the :ref:`Prefix table`) or an integer (the base 10 log equivalent to the prefix). - It's also different because **it will become invalid if a real number is used**. + It's also different because **it will become invalid if a non-integer real number is used**. For example, these are equivalent: .. code-block:: xml - @@ -29,7 +29,7 @@ - + **Note:** These examples are *only* equivalent because the :code:`exponent` in each case is 1. @@ -47,15 +47,14 @@ - + - + - @@ -67,8 +66,7 @@ - diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 19a64bba..10cdea9a 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -38,11 +38,8 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute .. marker_units_reference1 - - -**Table 3.1: Built-in units** - .. _table_built_in_units: +**Table 3.1: Built-in units** .. only:: html +-----------------------+-------------------+----------------------------------------------+-------------------------+ @@ -279,10 +276,9 @@ Interpretation of ``units`` elements .. marker_interpretation_of_units_3 -**Table 3.2: Prefix values** - .. _table_prefix_values: -============== ========= +**Table 3.2: Prefix values** +============== ========== **Name** **Value** :code:`yotta` 24 :code:`zetta` 21 @@ -304,7 +300,7 @@ Interpretation of ``units`` elements :code:`atto` −18 :code:`zepto` −21 :code:`yocto` −24 -============== ========= +============== ========== .. marker_interpretation_of_units_end .. marker_component_reference_start From 0c35fe050f8344fadeb6fb4ebead87306eb6a71c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 15:26:37 +1300 Subject: [PATCH 279/604] more table stuff --- reference/sectionC_interpretation.inc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 10cdea9a..b77c94ce 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -39,7 +39,9 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute .. marker_units_reference1 .. _table_built_in_units: + **Table 3.1: Built-in units** + .. only:: html +-----------------------+-------------------+----------------------------------------------+-------------------------+ @@ -277,7 +279,9 @@ Interpretation of ``units`` elements .. marker_interpretation_of_units_3 .. _table_prefix_values: + **Table 3.2: Prefix values** + ============== ========== **Name** **Value** :code:`yotta` 24 From 51f2745aea956f35d6c0859f3d6ec24b28b23a54 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 15:31:35 +1300 Subject: [PATCH 280/604] Added prefixes to a container to see if they would popup --- reference/sectionC_interpretation.inc | 221 +++++++++++++------------- 1 file changed, 111 insertions(+), 110 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index b77c94ce..e9b1a578 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -39,11 +39,10 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute .. marker_units_reference1 .. _table_built_in_units: - -**Table 3.1: Built-in units** - .. only:: html + **Table 3.1: Built-in units** + +-----------------------+-------------------+----------------------------------------------+-------------------------+ | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | | | | | multiplier⋅(base, exponent) | | @@ -129,87 +128,89 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute .. only:: latex - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | - | | | | multiplier.(base, exponent) | | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`ampere` | A | \- | | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`becquerel` | Bq | (:code:`second`, -1) | 1/s | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`candela` | cd | \- | | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`coulomb` | C | (:code:`second`, 1), (:code:`ampere`,1) | | s.A | - | | | | | F.V | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`dimensionless` | \- | \- | | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`farad` | F | (:code:`kilogram`, -1), (:code:`metre`, -2), | | C/V | - | | | (:code:`second`, 4), (:code:`ampere`, 2) | | s/Ω | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`gram` | g | 0.001.(:code:`kilogram`, 1) | | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`gray` | Gy | (:code:`metre`, 2), (:code:`second`, -2) | J/kg | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`henry` | H | (:code:`kilogram`, 1), (:code:`metre`, 2), | | V.s/A | - | | | (:code:`second`, -2), (:code:`ampere`, -2) | | Ω.s | - | | | | | Wb/A | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`hertz` | Hz | (:code:`second`, -1) | | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`joule` | J | (:code:`kilogram`, 1), (:code:`metre`, 2), | | N.m | - | | | (:code:`second`, -2) | | C.V | - | | | | | Wb.s | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`katal` | kat | (:code:`second`, -1), (:code:`mole`, 1) | | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`kelvin` | K | \- | | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`kilogram` | kg | \- | | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`litre` | l | 0.001.(:code:`metre`, 3) | | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`lumen` | lm | (:code:`candela`, 1) | cd.sr | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`lux` | lx | (:code:`metre`, -2), (:code:`candela`, 1) | lm/m\ :sup:`2` | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`metre` | m | \- | | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`mole` | mol | \- | | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`newton` | N | (:code:`kilogram`, 1), (:code:`metre`, 1), | | - | | | (:code:`second`, -2) | | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`ohm` | Ω | (:code:`kilogram`, 1), (:code:`metre`, 2), | | 1/S | - | | | (:code:`second`, -3), (:code:`ampere`, -2) | | V/A | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`pascal` | Pa | (:code:`kilogram`, 1), (:code:`metre`, -1), | N/m\ :sup:`2` | - | | | (:code:`second`, -2) | | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`radian` | rad | (:code:`dimensionless`, 1) | m/m | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`second` | s | \- | | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`siemens` | S | (:code:`kilogram`, -1), (:code:`metre`, -2), | | 1/Ω | - | | | (:code:`second`, 3), (:code:`ampere`, 2) | | A/V | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`sievert` | Sv | (:code:`metre`, 2), (:code:`second`, -2) | J/kg | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`steradian` | sr | (:code:`dimensionless`, 1) | m\ :sup:`2`/m\ :sup:`2` | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`tesla` | T | (:code:`kilogram`, 1), (:code:`second`, -2), | | V.s/m\ :sup:`2` | - | | | (:code:`ampere`, -1) | | Wb/m\ :sup:`2` | - | | | | | N/(A.m) | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`volt` | V | (:code:`kilogram`, 1), (:code:`metre`, 2), | | W/A | - | | | (:code:`second`, -3), (:code:`ampere`, -1) | | J/C | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`watt` | W | (:code:`kilogram`, 1), (:code:`metre`, 2), | | J/s | - | | | (:code:`second`, -3) | | V.A | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ - | :code:`weber` | Wb | (:code:`kilogram`, 1), (:code:`metre`, 2), | | J/A | - | | | (:code:`second`, -2), (:code:`ampere`, -1) | | T.m\ :sup:`2` | - +-----------------------+-------------------+----------------------------------------------+-------------------------+ + **Table 3.1: Built-in units** + + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | + | | | | multiplier.(base, exponent) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`ampere` | A | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`becquerel` | Bq | (:code:`second`, -1) | 1/s | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`candela` | cd | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`coulomb` | C | (:code:`second`, 1), (:code:`ampere`,1) | | s.A | + | | | | | F.V | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`dimensionless` | \- | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`farad` | F | (:code:`kilogram`, -1), (:code:`metre`, -2), | | C/V | + | | | (:code:`second`, 4), (:code:`ampere`, 2) | | s/Ω | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`gram` | g | 0.001.(:code:`kilogram`, 1) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`gray` | Gy | (:code:`metre`, 2), (:code:`second`, -2) | J/kg | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`henry` | H | (:code:`kilogram`, 1), (:code:`metre`, 2), | | V.s/A | + | | | (:code:`second`, -2), (:code:`ampere`, -2) | | Ω.s | + | | | | | Wb/A | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`hertz` | Hz | (:code:`second`, -1) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`joule` | J | (:code:`kilogram`, 1), (:code:`metre`, 2), | | N.m | + | | | (:code:`second`, -2) | | C.V | + | | | | | Wb.s | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`katal` | kat | (:code:`second`, -1), (:code:`mole`, 1) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`kelvin` | K | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`kilogram` | kg | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`litre` | l | 0.001.(:code:`metre`, 3) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`lumen` | lm | (:code:`candela`, 1) | cd.sr | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`lux` | lx | (:code:`metre`, -2), (:code:`candela`, 1) | lm/m\ :sup:`2` | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`metre` | m | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`mole` | mol | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`newton` | N | (:code:`kilogram`, 1), (:code:`metre`, 1), | | + | | | (:code:`second`, -2) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`ohm` | Ω | (:code:`kilogram`, 1), (:code:`metre`, 2), | | 1/S | + | | | (:code:`second`, -3), (:code:`ampere`, -2) | | V/A | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`pascal` | Pa | (:code:`kilogram`, 1), (:code:`metre`, -1), | N/m\ :sup:`2` | + | | | (:code:`second`, -2) | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`radian` | rad | (:code:`dimensionless`, 1) | m/m | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`second` | s | \- | | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`siemens` | S | (:code:`kilogram`, -1), (:code:`metre`, -2), | | 1/Ω | + | | | (:code:`second`, 3), (:code:`ampere`, 2) | | A/V | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`sievert` | Sv | (:code:`metre`, 2), (:code:`second`, -2) | J/kg | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`steradian` | sr | (:code:`dimensionless`, 1) | m\ :sup:`2`/m\ :sup:`2` | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`tesla` | T | (:code:`kilogram`, 1), (:code:`second`, -2), | | V.s/m\ :sup:`2` | + | | | (:code:`ampere`, -1) | | Wb/m\ :sup:`2` | + | | | | | N/(A.m) | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`volt` | V | (:code:`kilogram`, 1), (:code:`metre`, 2), | | W/A | + | | | (:code:`second`, -3), (:code:`ampere`, -1) | | J/C | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`watt` | W | (:code:`kilogram`, 1), (:code:`metre`, 2), | | J/s | + | | | (:code:`second`, -3) | | V.A | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ + | :code:`weber` | Wb | (:code:`kilogram`, 1), (:code:`metre`, 2), | | J/A | + | | | (:code:`second`, -2), (:code:`ampere`, -1) | | T.m\ :sup:`2` | + +-----------------------+-------------------+----------------------------------------------+-------------------------+ .. marker_units_reference_end @@ -279,32 +280,32 @@ Interpretation of ``units`` elements .. marker_interpretation_of_units_3 .. _table_prefix_values: - -**Table 3.2: Prefix values** - -============== ========== -**Name** **Value** -:code:`yotta` 24 -:code:`zetta` 21 -:code:`exa` 18 -:code:`peta` 15 -:code:`tera` 12 -:code:`giga` 9 -:code:`mega` 6 -:code:`kilo` 3 -:code:`hecto` 2 -:code:`deca` 1 -:code:`deci` −1 -:code:`centi` −2 -:code:`milli` −3 -:code:`micro` −6 -:code:`nano` −9 -:code:`pico` −12 -:code:`femto` −15 -:code:`atto` −18 -:code:`zepto` −21 -:code:`yocto` −24 -============== ========== +.. container: + + **Table 3.2: Prefix values** + ============== ========== + **Name** **Value** + :code:`yotta` 24 + :code:`zetta` 21 + :code:`exa` 18 + :code:`peta` 15 + :code:`tera` 12 + :code:`giga` 9 + :code:`mega` 6 + :code:`kilo` 3 + :code:`hecto` 2 + :code:`deca` 1 + :code:`deci` −1 + :code:`centi` −2 + :code:`milli` −3 + :code:`micro` −6 + :code:`nano` −9 + :code:`pico` −12 + :code:`femto` −15 + :code:`atto` −18 + :code:`zepto` −21 + :code:`yocto` −24 + ============== ========== .. marker_interpretation_of_units_end .. marker_component_reference_start From b3b2ae2c9a9c1bc2da8f481ed2acc8951d0492a1 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 15:35:19 +1300 Subject: [PATCH 281/604] more table stuff --- reference/sectionC_interpretation.inc | 52 +++++++++++++-------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index e9b1a578..492dc2db 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -42,7 +42,6 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute .. only:: html **Table 3.1: Built-in units** - +-----------------------+-------------------+----------------------------------------------+-------------------------+ | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | | | | | multiplier⋅(base, exponent) | | @@ -280,32 +279,31 @@ Interpretation of ``units`` elements .. marker_interpretation_of_units_3 .. _table_prefix_values: -.. container: - - **Table 3.2: Prefix values** - ============== ========== - **Name** **Value** - :code:`yotta` 24 - :code:`zetta` 21 - :code:`exa` 18 - :code:`peta` 15 - :code:`tera` 12 - :code:`giga` 9 - :code:`mega` 6 - :code:`kilo` 3 - :code:`hecto` 2 - :code:`deca` 1 - :code:`deci` −1 - :code:`centi` −2 - :code:`milli` −3 - :code:`micro` −6 - :code:`nano` −9 - :code:`pico` −12 - :code:`femto` −15 - :code:`atto` −18 - :code:`zepto` −21 - :code:`yocto` −24 - ============== ========== + +**Table 3.2: Prefix values** +============== ========== +**Name** **Value** +:code:`yotta` 24 +:code:`zetta` 21 +:code:`exa` 18 +:code:`peta` 15 +:code:`tera` 12 +:code:`giga` 9 +:code:`mega` 6 +:code:`kilo` 3 +:code:`hecto` 2 +:code:`deca` 1 +:code:`deci` −1 +:code:`centi` −2 +:code:`milli` −3 +:code:`micro` −6 +:code:`nano` −9 +:code:`pico` −12 +:code:`femto` −15 +:code:`atto` −18 +:code:`zepto` −21 +:code:`yocto` −24 +============== ========== .. marker_interpretation_of_units_end .. marker_component_reference_start From f837fdb7a1a35741e62c30b0c5358e26a399b22b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 15:40:34 +1300 Subject: [PATCH 282/604] Still more table stuff --- reference/sectionC_interpretation.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 492dc2db..6aa762c4 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -42,6 +42,7 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute .. only:: html **Table 3.1: Built-in units** + +-----------------------+-------------------+----------------------------------------------+-------------------------+ | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | | | | | multiplier⋅(base, exponent) | | @@ -279,8 +280,8 @@ Interpretation of ``units`` elements .. marker_interpretation_of_units_3 .. _table_prefix_values: - **Table 3.2: Prefix values** + ============== ========== **Name** **Value** :code:`yotta` 24 From d43fd47b78d9bfaaa7a1d28991999d7792a23022 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 15:55:37 +1300 Subject: [PATCH 283/604] Removed include directives for empty placeholders --- reference/formal_and_informative/specB01.rst | 2 +- reference/formal_and_informative/specB02.rst | 2 +- reference/formal_and_informative/specB03.rst | 2 +- reference/formal_and_informative/specB04.rst | 2 +- reference/formal_and_informative/specB05.rst | 2 +- reference/formal_and_informative/specB06.rst | 2 +- reference/formal_and_informative/specB07.rst | 2 +- reference/formal_and_informative/specB08.rst | 2 +- reference/formal_and_informative/specB09.rst | 2 +- reference/formal_and_informative/specB12.rst | 2 +- reference/formal_and_informative/specB15.rst | 2 +- reference/formal_and_informative/specB16.rst | 2 +- .../specC01_interpretation_of_imports.rst | 2 +- .../formal_and_informative/specC02_units_reference.rst | 2 +- .../formal_and_informative/specC04_component_reference.rst | 2 +- .../formal_and_informative/specC05_variable_reference.rst | 2 +- .../specC07_effect_of_units_on_variables.rst | 2 +- .../specC08_interpretation_of_mathematics.rst | 2 +- .../specC09_interpretation_of_encapsulation.rst | 2 +- .../specC10_interpretation_of_map_variables.rst | 2 +- .../specC11_interpretation_of_variable_resets.rst | 2 +- reference/informative/informB7_component3.rst | 6 +++--- 22 files changed, 24 insertions(+), 24 deletions(-) diff --git a/reference/formal_and_informative/specB01.rst b/reference/formal_and_informative/specB01.rst index 9a13c162..e5cc3edc 100644 --- a/reference/formal_and_informative/specB01.rst +++ b/reference/formal_and_informative/specB01.rst @@ -18,4 +18,4 @@ .. include:: ../informative/informB1_model3.rst -.. include:: ../libcellml/libcellmlB1.rst +.. todo ../libcellml/libcellmlB1.rst diff --git a/reference/formal_and_informative/specB02.rst b/reference/formal_and_informative/specB02.rst index 8c57e628..b695ac9e 100644 --- a/reference/formal_and_informative/specB02.rst +++ b/reference/formal_and_informative/specB02.rst @@ -20,4 +20,4 @@ .. include:: ../informative/informB2_import3.rst -.. include:: ../libcellml/libcellmlB2.rst +.. todo ../libcellml/libcellmlB2.rst diff --git a/reference/formal_and_informative/specB03.rst b/reference/formal_and_informative/specB03.rst index 3846900c..06ae8ba3 100644 --- a/reference/formal_and_informative/specB03.rst +++ b/reference/formal_and_informative/specB03.rst @@ -12,4 +12,4 @@ :start-after: marker_import_units_1 :end-before: marker_import_units_end -.. include:: ../libcellml/libcellmlB3.rst +.. todo ../libcellml/libcellmlB3.rst diff --git a/reference/formal_and_informative/specB04.rst b/reference/formal_and_informative/specB04.rst index 301a3907..4b135309 100644 --- a/reference/formal_and_informative/specB04.rst +++ b/reference/formal_and_informative/specB04.rst @@ -7,4 +7,4 @@ .. include:: ../informative/informB4_import_component1.rst -.. include:: ../libcellml/libcellmlB4.rst +.. todo ../libcellml/libcellmlB4.rst diff --git a/reference/formal_and_informative/specB05.rst b/reference/formal_and_informative/specB05.rst index a43ae178..c6196362 100644 --- a/reference/formal_and_informative/specB05.rst +++ b/reference/formal_and_informative/specB05.rst @@ -7,4 +7,4 @@ .. include:: ../informative/informB5_units1.rst -.. include:: ../libcellml/libcellmlB5.rst +.. todo ../libcellml/libcellmlB5.rst diff --git a/reference/formal_and_informative/specB06.rst b/reference/formal_and_informative/specB06.rst index afacc290..cb4334d9 100644 --- a/reference/formal_and_informative/specB06.rst +++ b/reference/formal_and_informative/specB06.rst @@ -13,4 +13,4 @@ .. include:: ../informative/informB6_unit2.rst -.. include:: ../libcellml/libcellmlB6.rst +.. todo ../libcellml/libcellmlB6.rst diff --git a/reference/formal_and_informative/specB07.rst b/reference/formal_and_informative/specB07.rst index ef637e03..c6a83b78 100644 --- a/reference/formal_and_informative/specB07.rst +++ b/reference/formal_and_informative/specB07.rst @@ -19,4 +19,4 @@ .. include:: ../informative/informB7_component3.rst -.. include:: ../libcellml/libcellmlB7.rst +.. todo ../libcellml/libcellmlB7.rst diff --git a/reference/formal_and_informative/specB08.rst b/reference/formal_and_informative/specB08.rst index 13a58584..6a198922 100644 --- a/reference/formal_and_informative/specB08.rst +++ b/reference/formal_and_informative/specB08.rst @@ -7,4 +7,4 @@ .. include:: ../informative/informB8_variable1.rst -.. include:: ../libcellml/libcellmlB8.rst +.. todo ../libcellml/libcellmlB8.rst diff --git a/reference/formal_and_informative/specB09.rst b/reference/formal_and_informative/specB09.rst index a21f8668..ec99b36e 100644 --- a/reference/formal_and_informative/specB09.rst +++ b/reference/formal_and_informative/specB09.rst @@ -5,4 +5,4 @@ :start-after: marker_reset_start :end-before: marker_reset_end -.. include:: ../informative/informB9_reset1.rst +.. todo .. include:: ../informative/informB9_reset1.rst diff --git a/reference/formal_and_informative/specB12.rst b/reference/formal_and_informative/specB12.rst index 6389dec0..981d097c 100644 --- a/reference/formal_and_informative/specB12.rst +++ b/reference/formal_and_informative/specB12.rst @@ -29,7 +29,7 @@ :start-after: marker_math_4 :end-before: marker_math_end -.. include:: ../libcellml/libcellmlB12_math.rst +.. todo ../libcellml/libcellmlB12_math.rst diff --git a/reference/formal_and_informative/specB15.rst b/reference/formal_and_informative/specB15.rst index 6fdcba8e..76ace9f7 100644 --- a/reference/formal_and_informative/specB15.rst +++ b/reference/formal_and_informative/specB15.rst @@ -25,7 +25,7 @@ .. include:: ../informative/informB15_connection5.rst -.. include:: ../libcellml/libcellmlB15_connection.rst +.. todo ../libcellml/libcellmlB15_connection.rst diff --git a/reference/formal_and_informative/specB16.rst b/reference/formal_and_informative/specB16.rst index f92e4804..889b3d57 100644 --- a/reference/formal_and_informative/specB16.rst +++ b/reference/formal_and_informative/specB16.rst @@ -13,5 +13,5 @@ .. include:: ../informative/informB16_map_variables3.rst -.. include:: ../libcellml/libcellmlB16_map_variables.rst +.. todo ../libcellml/libcellmlB16_map_variables.rst diff --git a/reference/formal_and_informative/specC01_interpretation_of_imports.rst b/reference/formal_and_informative/specC01_interpretation_of_imports.rst index 15a8bebd..da43814e 100644 --- a/reference/formal_and_informative/specC01_interpretation_of_imports.rst +++ b/reference/formal_and_informative/specC01_interpretation_of_imports.rst @@ -4,4 +4,4 @@ :start-after: marker_interpretation_of_imports_start :end-before: marker_interpretation_of_imports_end -.. include:: ../informative/informC01_imports.rst +.. todo ../informative/informC01_imports.rst diff --git a/reference/formal_and_informative/specC02_units_reference.rst b/reference/formal_and_informative/specC02_units_reference.rst index 7b99b564..cee5ecfd 100644 --- a/reference/formal_and_informative/specC02_units_reference.rst +++ b/reference/formal_and_informative/specC02_units_reference.rst @@ -8,4 +8,4 @@ :start-after: marker_units_reference1 :end-before: marker_units_reference_end -.. include:: ../informative/informC02_units_reference.rst +.. todo ../informative/informC02_units_reference.rst diff --git a/reference/formal_and_informative/specC04_component_reference.rst b/reference/formal_and_informative/specC04_component_reference.rst index 9bd86a09..94ba6977 100644 --- a/reference/formal_and_informative/specC04_component_reference.rst +++ b/reference/formal_and_informative/specC04_component_reference.rst @@ -4,4 +4,4 @@ :start-after: marker_component_reference_start :end-before: marker_component_reference_end -.. include:: ../informative/informC04_component_reference.rst +.. todo ../informative/informC04_component_reference.rst diff --git a/reference/formal_and_informative/specC05_variable_reference.rst b/reference/formal_and_informative/specC05_variable_reference.rst index c7a4388f..b1503fc7 100644 --- a/reference/formal_and_informative/specC05_variable_reference.rst +++ b/reference/formal_and_informative/specC05_variable_reference.rst @@ -4,4 +4,4 @@ :start-after: marker_variable_reference_start :end-before: marker_variable_reference_end -.. include:: ../informative/informC05_variable_reference.rst +.. todo ../informative/informC05_variable_reference.rst diff --git a/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst b/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst index e2ee2813..e3469932 100644 --- a/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst +++ b/reference/formal_and_informative/specC07_effect_of_units_on_variables.rst @@ -4,4 +4,4 @@ :start-after: marker_effect_of_units_on_variables_start :end-before: marker_effect_of_units_on_variables_end -.. include:: ../informative/informC07_effect_of_units_on_variables.rst +.. todo ../informative/informC07_effect_of_units_on_variables.rst diff --git a/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst b/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst index 1f5f388a..886594dd 100644 --- a/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst +++ b/reference/formal_and_informative/specC08_interpretation_of_mathematics.rst @@ -4,4 +4,4 @@ :start-after: marker_interpretation_of_mathematics_start :end-before: marker_interpretation_of_mathematics_end -.. include:: ../informative/informC08_interpretation_of_mathematics.rst +.. todo ../informative/informC08_interpretation_of_mathematics.rst diff --git a/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst b/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst index cd428751..f9c4212c 100644 --- a/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst +++ b/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst @@ -4,4 +4,4 @@ :start-after: marker_interpretation_of_encapsulation_start :end-before: marker_interpretation_of_encapsulation_end -.. include:: ../informative/informC09_interpretation_of_encapsulation.rst +.. todo ../informative/informC09_interpretation_of_encapsulation.rst diff --git a/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst b/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst index 8ded5c8c..f46605cd 100644 --- a/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst +++ b/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst @@ -4,4 +4,4 @@ :start-after: marker_interpretation_of_map_variables_start :end-before: marker_interpretation_of_map_variables_end -.. include:: ../informative/informC10_interpretation_of_map_variables.rst +.. todo ../informative/informC10_interpretation_of_map_variables.rst diff --git a/reference/formal_and_informative/specC11_interpretation_of_variable_resets.rst b/reference/formal_and_informative/specC11_interpretation_of_variable_resets.rst index 5ecb6417..dbfcf84a 100644 --- a/reference/formal_and_informative/specC11_interpretation_of_variable_resets.rst +++ b/reference/formal_and_informative/specC11_interpretation_of_variable_resets.rst @@ -4,4 +4,4 @@ :start-after: marker_interpretation_of_variable_resets_start :end-before: marker_interpretation_of_variable_resets_end -.. include:: ../informative/informC11_interpretation_of_variable_resets.rst +.. todo ../informative/informC11_interpretation_of_variable_resets.rst diff --git a/reference/informative/informB7_component3.rst b/reference/informative/informB7_component3.rst index 67ea3a7a..b43e2b51 100644 --- a/reference/informative/informB7_component3.rst +++ b/reference/informative/informB7_component3.rst @@ -36,7 +36,7 @@ ... - Please refer to :ref:`The math element` section for information on the :code:`math` items and MathML format. + Please refer to the :ref:`math element` section for information on the :code:`math` items and MathML format. .. container:: heading3 @@ -54,10 +54,10 @@ - Please refer to :ref:`The variable information item` section for information on the :code:`variable` items. + Please refer to the :ref:`variable element` section for information on :code:`variable` items. .. container:: heading3 The reset items of a component - **TODO** + Please refer to the :ref:`reset element` section for more information on :code:`reset` items. From 8b5e99aab5dce850bfec90450287a7b018fa60bd Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 16:02:21 +1300 Subject: [PATCH 284/604] Merged sections 2.5.1 and 2.5.2 --- reference/sectionB_elements.inc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index b7496c28..e2888b77 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -141,17 +141,15 @@ A :code:`units` element information item (referred to in this specification as a 1. Every :code:`units` element MUST contain a :code:`name` attribute. The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. -.. container:: issue-units-name-unique - - 2. The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`units` element or :code:`import units` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`units` element or :code:`import units` element in the :ref:`CellML infoset`. .. container:: issue-units-standard - 3. The value of the :code:`name` attribute MUST NOT be equal to the name of any of the units listed in the :ref:`Built-in units ` table. + 2. The value of the :code:`name` attribute MUST NOT be equal to the name of any of the units listed in the :ref:`Built-in units ` table. .. container:: issue-units-child - 4. A :code:`units` element MAY contain one or more :code:`unit` element children. + 3. A :code:`units` element MAY contain one or more :code:`unit` element children. .. marker_units_end .. marker_unit_start From 1e81cfefd9ec73dcd2786a4d946b5592c27bcc40 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 16:02:43 +1300 Subject: [PATCH 285/604] Update sectionB_elements.inc --- reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index e2888b77..6c671cca 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -145,7 +145,7 @@ A :code:`units` element information item (referred to in this specification as a .. container:: issue-units-standard - 2. The value of the :code:`name` attribute MUST NOT be equal to the name of any of the units listed in the :ref:`Built-in units ` table. + 2. The value of the :code:`name` attribute MUST NOT be equal to the name of any of the units listed in the :ref:`Built-in units` table. .. container:: issue-units-child From 387f07936f1ccd39122561a57816d5bbf03c9293 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 1 Apr 2020 16:05:15 +1300 Subject: [PATCH 286/604] Update sectionB_elements.inc --- reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sectionB_elements.inc b/reference/sectionB_elements.inc index 40cf8508..6575feba 100644 --- a/reference/sectionB_elements.inc +++ b/reference/sectionB_elements.inc @@ -148,7 +148,7 @@ A :code:`units` element information item (referred to in this specification as a .. container:: issue-units-standard - 3. The value of the :code:`name` attribute MUST NOT be equal to the name of any of the units listed in the :ref:`Built-in units ` table. + 3. The value of the :code:`name` attribute MUST NOT be equal to the name of any of the units listed in the :ref:`Built-in units` table. .. container:: issue-units-child From 2e545ce4bbda6bbbbd535bc7c11d0c754312cb9b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 08:57:09 +1300 Subject: [PATCH 287/604] Update informB2_import1.rst --- reference/informative/informB2_import1.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/reference/informative/informB2_import1.rst b/reference/informative/informB2_import1.rst index ad49a9df..c084d695 100644 --- a/reference/informative/informB2_import1.rst +++ b/reference/informative/informB2_import1.rst @@ -19,6 +19,7 @@ Note the file structure: the path to the imported file is specified relative to the importing file, in this case :code:`role_of_dorothy.cellml` sits inside a folder called :code:`characters`. **oz_model.cellml** + .. code-block:: xml @@ -29,6 +30,7 @@ **characters/dorothy.cellml** + .. code-block:: xml @@ -40,6 +42,7 @@ **characters/role_of_toto.cellml** + .. code-block:: xml From 31cc6f2348d0d83c84419ba4032f99541b487e84 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 09:51:17 +1300 Subject: [PATCH 288/604] Update informC02_units_reference.rst --- .../informative/informC02_units_reference.rst | 156 +++++++++++++++++- 1 file changed, 155 insertions(+), 1 deletion(-) diff --git a/reference/informative/informC02_units_reference.rst b/reference/informative/informC02_units_reference.rst index 8d195d9a..42df1cef 100644 --- a/reference/informative/informC02_units_reference.rst +++ b/reference/informative/informC02_units_reference.rst @@ -8,4 +8,158 @@ .. container:: infospec - **TODO** \ No newline at end of file + .. container:: heading3 + + Understanding units references + + There are two key points to understand when thinking about how units references work; one is naming - which is pretty straightforward - and the other is context. + + Units are different from other element types in that their names could refer either to other units which you've imported or created in your model, or to one of the list of :ref:`built-in units`. + The same naming conventions apply here as elsewhere, so this part is fairly straightforward. + + The trickier part is understanding the *scope* or *domain* in which named units exist, and this is what points 1 and 2.2 are alluding to. + + Consider the example below. + The first model :code:`BlueberryPieRecipe` simply combines two pre-made component ingredients; one for the crust and one for the filling. + + + .. code-block:: xml + + + + + + + + + + + + The components are imported from separate files, each of which defines and uses its own local definitions of the custom measurement units :code:`spoon`, :code:`dash`, and :code:`smidgen`. + + .. code-block:: xml + + + + + + + + + + + + + + + + + ... + + + + ... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ... + + + + + ... + + + + + + + + + + + + + This is where the idea of *context* becomes important. + As it stands, there is no conflict between the two different definitions of :code:`spoonful` and :code:`dash`, because each of the components refers to *its own definition* of these units. + The components do not "know" that there is any other definition out there, because they cannot "see" up into the importing model. + + Now let's consider that the cook wants to alter the recipe a little after these two main ingredients have been imported, by adding a spoonful of brandy to some custard. + The top-level model becomes: + + .. code-block:: xml + + + + + + + + + + + + + + + ... + + + + At this stage the model is invalid because the units :code:`spoonful` in the top-level model are not defined. Just as the imported models cannot "see" up into the importing model, neither can the importing model "see" down into the imported models beyond those items which it has explicitly imported. + + In order to reuse the :code:`spoonful` units from either of the imported models, they must be explicitly imported. The top-level model becomes: + + .. code-block:: xml + + + + + + + + + + + + + + + ... + + + + + + + + + + At this stage we have three sets of units all named "spoonful". + Since each is only accessible to its local components there is no conflict of definition or interpretation. + Since the units required in the new :code:`BrandyCustard` component are now defined within the same infoset, the model becomes valid once more. From e4c3334a717bfca55073da163c978b9f6ef22666 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 09:56:37 +1300 Subject: [PATCH 289/604] Updated with agarny review suggestion --- reference/sectionD_references.inc | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/reference/sectionD_references.inc b/reference/sectionD_references.inc index 48b6994d..0203196c 100644 --- a/reference/sectionD_references.inc +++ b/reference/sectionD_references.inc @@ -1,17 +1,16 @@ .. _sectionD: -Extensible Markup Language (XML) 1.1 (Second Edition) https://www.w3.org/TR/2006/REC-xml11-20060816 (16 August 2006) +Extensible Markup Language (XML) 1.1 https://www.w3.org/TR/xml11 -Mathematical Markup Language (MathML) Version 2.0 (Second Edition) https://www.w3.org/TR/2003/REC-MathML2-20031021/ (21 October 2003) +Mathematical Markup Language (MathML) Version 2.0 https://www.w3.org/TR/MathML2/ -Namespaces in XML 1.1 (Second Edition) https://www.w3.org/TR/2006/REC-xml-names11-20060816/ (16 August 2006) +Namespaces in XML 1.1 https://www.w3.org/TR/xml-names11/ -RFC 2119: Key words for use in RFCs to Indicate Requirement Levels https://www.ietf.org/rfc/rfc2119.txt (March 1997) +RFC 2119: Key words for use in RFCs to Indicate Requirement Levels https://www.ietf.org/rfc/rfc2119.txt -Unicode 13.0 https://www.unicode.org/charts/ (6 February 2020) +Unicode 13.0.0 https://www.unicode.org/versions/Unicode13.0.0/ -XML Information Set (Second Edition) https://www.w3.org/TR/2004/REC-xml-infoset-20040204/ (4 February 2004) - -XML Linking Language (XLink) Version 1.0 https://www.w3.org/TR/2001/REC-xlink-20010627/ (27 June 2001) +XML Information Set https://www.w3.org/TR/xml-infoset/ +XML Linking Language (XLink) Version 1.1 https://www.w3.org/TR/xlink11/ From d24196de9fe292d05e5aad6df415bc62ae69cada Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 10:09:03 +1300 Subject: [PATCH 290/604] Move informative section above table --- reference/formal_and_informative/specC02_units_reference.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/formal_and_informative/specC02_units_reference.rst b/reference/formal_and_informative/specC02_units_reference.rst index 7b99b564..41cb8017 100644 --- a/reference/formal_and_informative/specC02_units_reference.rst +++ b/reference/formal_and_informative/specC02_units_reference.rst @@ -4,8 +4,8 @@ :start-after: marker_units_reference_start :end-before: marker_units_reference1 +.. include:: ../informative/informC02_units_reference.rst + .. include:: ../sectionC_interpretation.inc :start-after: marker_units_reference1 :end-before: marker_units_reference_end - -.. include:: ../informative/informC02_units_reference.rst From 91e610476d4257416e0f1d760acea18017441d77 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 10:10:21 +1300 Subject: [PATCH 291/604] Tweaks --- reference/informative/informC02_units_reference.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/informative/informC02_units_reference.rst b/reference/informative/informC02_units_reference.rst index 42df1cef..2fcbf72e 100644 --- a/reference/informative/informC02_units_reference.rst +++ b/reference/informative/informC02_units_reference.rst @@ -162,4 +162,4 @@ At this stage we have three sets of units all named "spoonful". Since each is only accessible to its local components there is no conflict of definition or interpretation. - Since the units required in the new :code:`BrandyCustard` component are now defined within the same infoset, the model becomes valid once more. + Now that the units required in the new :code:`BrandyCustard` component are defined within the same infoset, the model becomes valid, and our dessert needs are satisfied once more. From 4c0ee3e729ea156a327e9c9cacdec9ac2eff0813 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Thu, 2 Apr 2020 10:18:30 +1300 Subject: [PATCH 292/604] Removed unnecessary empty line. --- reference/sectionD_references.inc | 1 - 1 file changed, 1 deletion(-) diff --git a/reference/sectionD_references.inc b/reference/sectionD_references.inc index 0203196c..bd88016d 100644 --- a/reference/sectionD_references.inc +++ b/reference/sectionD_references.inc @@ -1,4 +1,3 @@ - .. _sectionD: Extensible Markup Language (XML) 1.1 https://www.w3.org/TR/xml11 From f4567c36059f11d7d823c9e1ca60e7101e7dd0c9 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 10:19:08 +1300 Subject: [PATCH 293/604] Tweaks and component names --- reference/informative/informC02_units_reference.rst | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/reference/informative/informC02_units_reference.rst b/reference/informative/informC02_units_reference.rst index 2fcbf72e..b58a0620 100644 --- a/reference/informative/informC02_units_reference.rst +++ b/reference/informative/informC02_units_reference.rst @@ -12,8 +12,6 @@ Understanding units references - There are two key points to understand when thinking about how units references work; one is naming - which is pretty straightforward - and the other is context. - Units are different from other element types in that their names could refer either to other units which you've imported or created in your model, or to one of the list of :ref:`built-in units`. The same naming conventions apply here as elsewhere, so this part is fairly straightforward. @@ -22,16 +20,15 @@ Consider the example below. The first model :code:`BlueberryPieRecipe` simply combines two pre-made component ingredients; one for the crust and one for the filling. - .. code-block:: xml - + - + From 6578cd542b98f9a21b94727a009396dddfdc7be6 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 10:26:58 +1300 Subject: [PATCH 294/604] Update informC02_units_reference.rst --- reference/informative/informC02_units_reference.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/informative/informC02_units_reference.rst b/reference/informative/informC02_units_reference.rst index b58a0620..b9033d6f 100644 --- a/reference/informative/informC02_units_reference.rst +++ b/reference/informative/informC02_units_reference.rst @@ -28,7 +28,7 @@ - + From b38b5b0ab5c809e9ff0d3f88db6ee16643e0b570 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 10:30:58 +1300 Subject: [PATCH 295/604] Update informC02_units_reference.rst --- reference/informative/informC02_units_reference.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/informative/informC02_units_reference.rst b/reference/informative/informC02_units_reference.rst index b9033d6f..05f8606c 100644 --- a/reference/informative/informC02_units_reference.rst +++ b/reference/informative/informC02_units_reference.rst @@ -13,9 +13,9 @@ Understanding units references Units are different from other element types in that their names could refer either to other units which you've imported or created in your model, or to one of the list of :ref:`built-in units`. - The same naming conventions apply here as elsewhere, so this part is fairly straightforward. + The same naming conventions apply here as elsewhere, so that part is fairly straightforward. - The trickier part is understanding the *scope* or *domain* in which named units exist, and this is what points 1 and 2.2 are alluding to. + The trickier part is understanding the *scope* or *domain* in which named units exist, which is what points 1 and 2.2 are alluding to. Consider the example below. The first model :code:`BlueberryPieRecipe` simply combines two pre-made component ingredients; one for the crust and one for the filling. From 0b95697e715f5cb86c25baf9bc4fc80c6356d340 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 10:34:18 +1300 Subject: [PATCH 296/604] Update informC02_units_reference.rst --- reference/informative/informC02_units_reference.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/informative/informC02_units_reference.rst b/reference/informative/informC02_units_reference.rst index 05f8606c..efe3048e 100644 --- a/reference/informative/informC02_units_reference.rst +++ b/reference/informative/informC02_units_reference.rst @@ -122,7 +122,7 @@ - + ... @@ -145,7 +145,7 @@ - + ... From d18405089a0deadd88e383754252fa530ffce68e Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Thu, 2 Apr 2020 10:35:04 +1300 Subject: [PATCH 297/604] Progress on creating a single page document for the normative spec. --- Makefile | 2 +- conf.py | 55 ++++++++++++++----- formal.rst => formal_index.rst | 0 ...glepage.rst => formal_singlepage_index.rst | 26 ++++----- index.rst | 16 ------ reference/sectionA_definitions.inc | 6 ++ reference/sectionC_interpretation.inc | 28 ++++++---- reference/sectionD_references.rst | 6 +- 8 files changed, 80 insertions(+), 59 deletions(-) rename formal.rst => formal_index.rst (100%) rename formal_singlepage.rst => formal_singlepage_index.rst (75%) delete mode 100644 index.rst diff --git a/Makefile b/Makefile index 88d23dc4..7152b340 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ BUILDDIR = build # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) -v . # the i18n builder cannot share the environment and doctrees with the others I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source diff --git a/conf.py b/conf.py index 99572a3b..b23bb9e3 100644 --- a/conf.py +++ b/conf.py @@ -15,6 +15,9 @@ import sys import os +if 'FORMAL_SINGLEPAGE' in os.environ: + print("Only doing formal single page build") + # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. @@ -48,6 +51,10 @@ #source_encoding = 'utf-8-sig' # The master toctree document. +if 'FORMAL_SINGLEPAGE' in os.environ: + os.rename('formal_singlepage_index.rst', 'index.rst') +else: + os.rename('master_index.rst', 'index.rst') master_doc = 'index' autosectionlabel_prefix_document = True @@ -141,7 +148,17 @@ # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. -exclude_patterns = [] +if 'FORMAL_SINGLEPAGE' in os.environ: + exclude_patterns = ['master_index.rst', 'formal_index.rst', 'reference/formal_and_informative/*.rst', 'reference/formal_only/*.rst', + 'reference/libcellml/*.rst', 'reference/informative/*.rst', + 'reference/formal_section*', + 'reference/index_section*', + 'reference/sectionD_references.rst', + 'reference/acknowledgements.rst', + 'reference/informative_preamble.rst'] +else: + exclude_patterns = [] + # The reST default role (used for this markup: `text`) to use for all # documents. @@ -270,6 +287,8 @@ # -- Options for LaTeX output --------------------------------------------- +latex_engine = 'xelatex' + latex_elements = { # The paper size ('letterpaper' or 'a4paper'). # 'papersize': 'letterpaper', @@ -284,19 +303,19 @@ 'preamble': r''' \usepackage[titles]{tocloft} \usepackage{textgreek} - \usepackage[utf8]{inputenc} \usepackage{amssymb} - \DeclareUnicodeCharacter{2212}{-} - \DeclareUnicodeCharacter{03A9}{Ω} - \DeclareUnicodeCharacter{00B7}{⋅} ''' } +#\usepackage[utf8]{inputenc} +#\DeclareUnicodeCharacter{2212}{-} +#\DeclareUnicodeCharacter{03A9}{Ω} +#\DeclareUnicodeCharacter{22C5}{⋅} # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('formal', 'formal.tex', u'CellML Specification', + ('index', 'normative.tex', u'CellML Specification', u'CellML 2.0 Editors and Contributors', 'manual'), ] @@ -325,9 +344,9 @@ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'cellml', u'CellML 2.0 Documentation', [u'CellML Editors'], 1) -] +#man_pages = [ +# ('index', 'cellml', u'CellML 2.0 Documentation', [u'CellML Editors'], 1) +#] # If true, show URL addresses after external links. #man_show_urls = False @@ -338,11 +357,11 @@ # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) -texinfo_documents = [ - ('index', 'CellML', u'CellML Documentation', - u'CellML 2.0 Editors', 'CellML 2.0', 'CellML 2.0 Normative Specification.', - 'Miscellaneous'), -] +#texinfo_documents = [ +# ('index', 'CellML', u'CellML Documentation', +# u'CellML 2.0 Editors', 'CellML 2.0', 'CellML 2.0 Normative Specification.', +# 'Miscellaneous'), +#] # Documents to append as an appendix to all manuals. #texinfo_appendices = [] @@ -356,6 +375,14 @@ # If true, do not generate a @detailmenu in the "Top" node's menu. #texinfo_no_detailmenu = False +def build_finished_handler(app, exception): + print('build finished') + if 'FORMAL_SINGLEPAGE' in os.environ: + os.rename('index.rst', 'formal_singlepage_index.rst') + else: + os.rename('index.rst', 'master_index.rst') + def setup(app): + app.connect('build-finished', build_finished_handler) app.add_css_file('cellml.css') diff --git a/formal.rst b/formal_index.rst similarity index 100% rename from formal.rst rename to formal_index.rst diff --git a/formal_singlepage.rst b/formal_singlepage_index.rst similarity index 75% rename from formal_singlepage.rst rename to formal_singlepage_index.rst index 7e98187c..99f8ffcb 100644 --- a/formal_singlepage.rst +++ b/formal_singlepage_index.rst @@ -13,24 +13,24 @@ A PDF of this page is available from **TODO**. .. include:: reference/acknowledgements.rst -.. sectnum:: +.. toctree:: + :numbered: + +.. _formal_singlepage_definitions: + +----------- +Definitions +----------- -=========== -Definitions -=========== .. include:: reference/sectionA_definitions.inc + :start-after: .. marker_terminology_start -========================= +------------------------- Element information items -========================= +------------------------- + .. include:: reference/sectionB_elements.inc -============== -Interpretation -============== .. include:: reference/sectionC_interpretation.inc - -.. include:: reference/sectionD_references.rst - - +.. include:: reference/sectionD_references.inc diff --git a/index.rst b/index.rst deleted file mode 100644 index 0da7e412..00000000 --- a/index.rst +++ /dev/null @@ -1,16 +0,0 @@ -.. _index: - -==================================== -Informative CellML 2.0 Specification -==================================== - -.. toctree:: - :maxdepth: 1 - :numbered: - - reference/index_sectionA.rst - reference/index_sectionB.rst - reference/index_sectionC.rst - reference/sectionD_references.rst - -.. include:: reference/informative_preamble.rst diff --git a/reference/sectionA_definitions.inc b/reference/sectionA_definitions.inc index 1d97e00e..aea2a7eb 100644 --- a/reference/sectionA_definitions.inc +++ b/reference/sectionA_definitions.inc @@ -1,5 +1,11 @@ .. _sectionA: +.. _formal_singlepage_definitions: + +----------- +Definitions +----------- + .. marker_terminology_start .. _specA_terminology: diff --git a/reference/sectionC_interpretation.inc b/reference/sectionC_interpretation.inc index 5afb2db9..525ac906 100644 --- a/reference/sectionC_interpretation.inc +++ b/reference/sectionC_interpretation.inc @@ -1,5 +1,9 @@ .. _sectionC: +-------------- +Interpretation +-------------- + .. marker_interpretation_of_imports_start .. _specC_interpretation_of_imports: @@ -137,8 +141,8 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute +---------------+-------------------+-------------------------------------------+-------------------------+ | candela | cd | \- | | +---------------+-------------------+-------------------------------------------+-------------------------+ - | coulomb | C | (second, 1), (ampere,1) | | s.A | - | | | | | F.V | + | coulomb | C | (second, 1), (ampere,1) | | s⋅A | + | | | | | F⋅V | +---------------+-------------------+-------------------------------------------+-------------------------+ | dimensionless | \- | \- | | +---------------+-------------------+-------------------------------------------+-------------------------+ @@ -149,15 +153,15 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute +---------------+-------------------+-------------------------------------------+-------------------------+ | gray | Gy | (metre, 2), (second, -2) | J/kg | +---------------+-------------------+-------------------------------------------+-------------------------+ - | henry | H | | (kilogram, 1), (metre, 2), | | V.s/A | - | | | | (second, -2), (ampere, -2) | | Ω.s | + | henry | H | | (kilogram, 1), (metre, 2), | | V⋅s/A | + | | | | (second, -2), (ampere, -2) | | Ω⋅s | | | | | | Wb/A | +---------------+-------------------+-------------------------------------------+-------------------------+ | hertz | Hz | (second, -1) | | +---------------+-------------------+-------------------------------------------+-------------------------+ - | joule | J | (kilogram, 1), (metre, 2), | | N.m | - | | | (second, -2) | | C.V | - | | | | | Wb.s | + | joule | J | (kilogram, 1), (metre, 2), | | N⋅m | + | | | (second, -2) | | C⋅V | + | | | | | Wb⋅s | +---------------+-------------------+-------------------------------------------+-------------------------+ | katal | kat | (second, -1), (mole, 1) | | +---------------+-------------------+-------------------------------------------+-------------------------+ @@ -167,7 +171,7 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute +---------------+-------------------+-------------------------------------------+-------------------------+ | litre | l | 0.001 . (metre, 3) | | +---------------+-------------------+-------------------------------------------+-------------------------+ - | lumen | lm | (candela, 1) | cd.sr | + | lumen | lm | (candela, 1) | cd⋅sr | +---------------+-------------------+-------------------------------------------+-------------------------+ | lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | +---------------+-------------------+-------------------------------------------+-------------------------+ @@ -197,16 +201,16 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute +---------------+-------------------+-------------------------------------------+-------------------------+ | tesla | T | | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | | | | | (ampere, -1) | | Wb/m\ :sup:`2` | - | | | | | N/(A.m) | + | | | | | N/(A⋅m) | +---------------+-------------------+-------------------------------------------+-------------------------+ | volt | V | (kilogram, 1), (metre, 2), | | W/A | | | | (second , -3), (ampere, -1) | | J/C | +---------------+-------------------+-------------------------------------------+-------------------------+ | watt | W | (kilogram, 1), (metre, 2), | | J/s | - | | | (second, -3) | | V.A | + | | | (second, -3) | | V⋅A | +---------------+-------------------+-------------------------------------------+-------------------------+ | weber | Wb | (kilogram, 1), (metre, 2), | | J/A | - | | | (second, -2), (ampere, -1) | | T.m\ :sup:`2` | + | | | (second, -2), (ampere, -1) | | T⋅m\ :sup:`2` | +---------------+-------------------+-------------------------------------------+-------------------------+ @@ -348,7 +352,7 @@ References to ``variable`` elements Interpretation of ``initial_value`` attributes ---------------------------------------------- -#. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a real number string, or a :ref:`variable reference<_specC_variable_reference>`. +#. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a real number string, or a :ref:`variable reference`. #. The conditions when initial values hold are (by design) not defined in a :ref:`CellML model` document. diff --git a/reference/sectionD_references.rst b/reference/sectionD_references.rst index 5bd578f5..751a0be4 100644 --- a/reference/sectionD_references.rst +++ b/reference/sectionD_references.rst @@ -1,9 +1,9 @@ -.. _sectionD: +.. _sectionD_references: -========== +---------- References -========== +---------- `RFC 2119: Key words for use in RFCs to Indicate Requirement Levels `__ (March 1997) From cf3a05fc4077578629a740a86d9cba591d845b59 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 12:18:16 +1300 Subject: [PATCH 298/604] Added informative block to 3.4 component reference --- .../informC04_component_reference.rst | 67 ++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/src/reference/informative/informC04_component_reference.rst b/src/reference/informative/informC04_component_reference.rst index 8ddc8dd4..26fae454 100644 --- a/src/reference/informative/informC04_component_reference.rst +++ b/src/reference/informative/informC04_component_reference.rst @@ -8,4 +8,69 @@ .. container:: infospec - **TODO** \ No newline at end of file + .. container:: heading3 + + Understanding component references + + As with references to units and variables, the term "component reference" refers to both sides of the naming and calling transaction. + Its use includes both the item which *possesses* the reference (i.e.: a :code:`component` or :code:`import component` with a :code:`name` attribute) as well as the item which is *calling* the reference (i.e.: an item requesting the named component via its own :code:`component_ref` attribute). + + The only complicated part to understand is the *scope* of a component's reference, or the appropriate name by which to call it depending on who is doing the calling. + + Consider the following example. + Here, two families live next door to one another, and within each family unit use the terms "husband" and "wife" to refer to one another. + In the wider neighbourhood, however, they must be referred to by their names: "BarbaraGood", "TomGood", "JerryLeadbetter", and "MargotLeadbetter". + + .. code-block:: xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From e2790944a05000a39fa39ce18e1f5447de586f2f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 12:57:04 +1300 Subject: [PATCH 299/604] Removed links and blank lines from conf.py --- src/conf.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/conf.py b/src/conf.py index ca5b72bf..70edb6a2 100644 --- a/src/conf.py +++ b/src/conf.py @@ -70,13 +70,10 @@ 'href_locator': ('https://www.w3.org/TR/2001/REC-xlink-20010627/#link-locators/%s', ''), 'libcellml': ('https://libcellml.org/%s', ''), 'libcellml_repo': ('https://github.com/cellml/libcellml.git%s', ''), - # TODO Update this when tutorials have a proper home. - 'libcellml_tutorials': ('https://libcellml-tutorials.readthedocs.io/en/pr344_documentation/%s', ''), 'libxml2': ('http://www.xmlsoft.org/%s', ''), 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html%s', ''), 'mathml2spec': ('http://www.w3.org/TR/2003/REC-MathML2-20031021/%s', ''), - # 'mathml2types': ('https://www.w3.org/TR/MathML2/chapter4.html#contm.typeattrib%s', ''), - 'namespace_help':('https://www.w3schools.com/xml/xml_namespaces.asp%s',''), + 'namespace_help': ('https://www.w3schools.com/xml/xml_namespaces.asp%s', ''), 'opencor': ('https://opencor.ws/%s', ''), 'pmr': ('https://models.physiomeproject.org/welcome/%s', ''), 'python': ('https://www.python.org/%s', ''), @@ -89,8 +86,6 @@ 'xml_1_1': ('http://www.w3.org/TR/xml11/%s', ''), 'xml_infoset': ('http://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816/%s', ''), - - } # rst_epilog to define formatted, clickable code substitutions throughout. It's included From 0ad0d51f9a952fd40b75096f07b4e5384af1eab6 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 13:03:45 +1300 Subject: [PATCH 300/604] blank lines/newlines throughout --- src/reference/informative/informA1.rst | 1 - src/reference/informative/informA2.rst | 12 ------------ src/reference/informative/informA2_3.rst | 1 - src/reference/informative/informB12_math1.rst | 1 - src/reference/informative/informB12_math2.rst | 1 - src/reference/informative/informB12_math3.rst | 1 - src/reference/informative/informB12_math4.rst | 1 - .../informative/informB13_encapsulation1.rst | 1 - .../informative/informB14_component_ref1.rst | 1 - src/reference/informative/informB15_connection2.rst | 1 - .../informative/informB16_map_variables2.rst | 1 - src/reference/informative/informB1_model3.rst | 2 -- src/reference/informative/informB2_import1.rst | 1 - src/reference/informative/informB3_import_units1.rst | 1 - src/reference/informative/informB8_variable1.rst | 2 -- .../informC03_interpretation_of_units2.rst | 1 - .../informative/informC04_component_reference.rst | 2 +- .../informative/informC05_variable_reference.rst | 2 +- .../informC07_effect_of_units_on_variables.rst | 2 +- .../informC08_interpretation_of_mathematics.rst | 2 +- .../informC09_interpretation_of_encapsulation.rst | 2 +- .../informC10_interpretation_of_map_variables.rst | 2 +- .../informC11_interpretation_of_variable_resets.rst | 2 +- src/reference/libcellml/libcellmlB1.rst | 1 + src/reference/libcellml/libcellmlB15_connection.rst | 2 +- .../libcellml/libcellmlB16_map_variables.rst | 2 +- 26 files changed, 10 insertions(+), 38 deletions(-) delete mode 100644 src/reference/informative/informA2.rst diff --git a/src/reference/informative/informA1.rst b/src/reference/informative/informA1.rst index e7f4cb92..a096f78f 100644 --- a/src/reference/informative/informA1.rst +++ b/src/reference/informative/informA1.rst @@ -37,4 +37,3 @@ and the following whitespace characters: the space (U+0020), the tab (U+0009), the carriage return (U+000D), or the line feed (U+000A). Together these seventy symbols define the only characters which can be interpreted into values for CellML element attributes and content. - diff --git a/src/reference/informative/informA2.rst b/src/reference/informative/informA2.rst deleted file mode 100644 index 49eeb866..00000000 --- a/src/reference/informative/informA2.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. _inform2: - -.. container:: toggle - - .. container:: header - - See more - - .. container:: infospec - - **TODO** Informal notes go here - diff --git a/src/reference/informative/informA2_3.rst b/src/reference/informative/informA2_3.rst index 14f16c49..d5aff6a1 100644 --- a/src/reference/informative/informA2_3.rst +++ b/src/reference/informative/informA2_3.rst @@ -59,4 +59,3 @@ - diff --git a/src/reference/informative/informB12_math1.rst b/src/reference/informative/informB12_math1.rst index b93aefc2..14bc3ff2 100644 --- a/src/reference/informative/informB12_math1.rst +++ b/src/reference/informative/informB12_math1.rst @@ -12,4 +12,3 @@ Some great general resources are available on the :mathml2help:`MathML 2.0 site <#id.4.2.1.3>`, and we'll discuss below the more CellML specific restrictions in the other "See more" sections. **Please note** that MathML 2 content markup is the only syntax used in CellML, even though more recent versions (MathML 3 and MathML 4) are available. - diff --git a/src/reference/informative/informB12_math2.rst b/src/reference/informative/informB12_math2.rst index 6e8ae57f..5ac5d64c 100644 --- a/src/reference/informative/informB12_math2.rst +++ b/src/reference/informative/informB12_math2.rst @@ -60,4 +60,3 @@ - diff --git a/src/reference/informative/informB12_math3.rst b/src/reference/informative/informB12_math3.rst index 9f32a224..441e82e9 100644 --- a/src/reference/informative/informB12_math3.rst +++ b/src/reference/informative/informB12_math3.rst @@ -68,4 +68,3 @@ - diff --git a/src/reference/informative/informB12_math4.rst b/src/reference/informative/informB12_math4.rst index a5035ec7..318d8b08 100644 --- a/src/reference/informative/informB12_math4.rst +++ b/src/reference/informative/informB12_math4.rst @@ -70,4 +70,3 @@ It's clearly nonsense, but it doesn't actually violate any syntax rules. The only instance where you will create an invalid model by assigning :code:`units` to :code:`variables` is when you need to form a :code:`map_variables` pair with a :code:`variable` in another :code:`component`. In this case, each :code:`variable` must have an :ref:`equivalent unit reduction` or it won't be valid CellML. - diff --git a/src/reference/informative/informB13_encapsulation1.rst b/src/reference/informative/informB13_encapsulation1.rst index 353aa84a..413a4003 100644 --- a/src/reference/informative/informB13_encapsulation1.rst +++ b/src/reference/informative/informB13_encapsulation1.rst @@ -92,4 +92,3 @@ - diff --git a/src/reference/informative/informB14_component_ref1.rst b/src/reference/informative/informB14_component_ref1.rst index c2622b90..0dcbab26 100644 --- a/src/reference/informative/informB14_component_ref1.rst +++ b/src/reference/informative/informB14_component_ref1.rst @@ -10,4 +10,3 @@ .. container:: infospec Please see the notes about the :code:`component_ref` usage under the "See more" link on the :ref:`encapsulation element` page. - diff --git a/src/reference/informative/informB15_connection2.rst b/src/reference/informative/informB15_connection2.rst index 2fec5db0..cf4cd1d6 100644 --- a/src/reference/informative/informB15_connection2.rst +++ b/src/reference/informative/informB15_connection2.rst @@ -48,4 +48,3 @@ - diff --git a/src/reference/informative/informB16_map_variables2.rst b/src/reference/informative/informB16_map_variables2.rst index 87b2f42d..068c18ec 100644 --- a/src/reference/informative/informB16_map_variables2.rst +++ b/src/reference/informative/informB16_map_variables2.rst @@ -35,4 +35,3 @@ - diff --git a/src/reference/informative/informB1_model3.rst b/src/reference/informative/informB1_model3.rst index 24e74749..e47dad80 100644 --- a/src/reference/informative/informB1_model3.rst +++ b/src/reference/informative/informB1_model3.rst @@ -13,5 +13,3 @@ For this reason, there can be only one :code:`encapsulation` item in any model. For more information about encapsulation, please refer to :ref:`The encapsulation element information item`. - - diff --git a/src/reference/informative/informB2_import1.rst b/src/reference/informative/informB2_import1.rst index c084d695..aaf679d6 100644 --- a/src/reference/informative/informB2_import1.rst +++ b/src/reference/informative/informB2_import1.rst @@ -70,4 +70,3 @@ - diff --git a/src/reference/informative/informB3_import_units1.rst b/src/reference/informative/informB3_import_units1.rst index ef2db41c..446e64c2 100644 --- a/src/reference/informative/informB3_import_units1.rst +++ b/src/reference/informative/informB3_import_units1.rst @@ -49,4 +49,3 @@ ... - diff --git a/src/reference/informative/informB8_variable1.rst b/src/reference/informative/informB8_variable1.rst index 1b4dc703..8ff140a5 100644 --- a/src/reference/informative/informB8_variable1.rst +++ b/src/reference/informative/informB8_variable1.rst @@ -29,5 +29,3 @@ Finally, where one :code:`variable` has been mapped to another in a different component, the :code:`interface` attribute must be specified. This determines the relative position in the encapsulation that the mapped component must have in order to access this variable. This is outlined in more detail in the :ref:`encapsulation item` section. - - diff --git a/src/reference/informative/informC03_interpretation_of_units2.rst b/src/reference/informative/informC03_interpretation_of_units2.rst index 8bb49f0a..e33df313 100644 --- a/src/reference/informative/informC03_interpretation_of_units2.rst +++ b/src/reference/informative/informC03_interpretation_of_units2.rst @@ -58,4 +58,3 @@ The terms "irreducible units" and "unit reduction" are used when discussing situations where the units of two variables must be equivalent. It makes no sense to equate a variable with units of seconds to another with units of kilograms, for example. The same is true for more complicated versions of units, as outlined in the next section. - diff --git a/src/reference/informative/informC04_component_reference.rst b/src/reference/informative/informC04_component_reference.rst index 8ddc8dd4..92e68d50 100644 --- a/src/reference/informative/informC04_component_reference.rst +++ b/src/reference/informative/informC04_component_reference.rst @@ -8,4 +8,4 @@ .. container:: infospec - **TODO** \ No newline at end of file + **TODO** diff --git a/src/reference/informative/informC05_variable_reference.rst b/src/reference/informative/informC05_variable_reference.rst index d9328f97..6df2292a 100644 --- a/src/reference/informative/informC05_variable_reference.rst +++ b/src/reference/informative/informC05_variable_reference.rst @@ -8,4 +8,4 @@ .. container:: infospec - **TODO** \ No newline at end of file + **TODO** diff --git a/src/reference/informative/informC07_effect_of_units_on_variables.rst b/src/reference/informative/informC07_effect_of_units_on_variables.rst index f3a945cc..3dc24a54 100644 --- a/src/reference/informative/informC07_effect_of_units_on_variables.rst +++ b/src/reference/informative/informC07_effect_of_units_on_variables.rst @@ -8,4 +8,4 @@ .. container:: infospec - **TODO** \ No newline at end of file + **TODO** diff --git a/src/reference/informative/informC08_interpretation_of_mathematics.rst b/src/reference/informative/informC08_interpretation_of_mathematics.rst index 145e03ae..202108e2 100644 --- a/src/reference/informative/informC08_interpretation_of_mathematics.rst +++ b/src/reference/informative/informC08_interpretation_of_mathematics.rst @@ -8,4 +8,4 @@ .. container:: infospec - **TODO** \ No newline at end of file + **TODO** diff --git a/src/reference/informative/informC09_interpretation_of_encapsulation.rst b/src/reference/informative/informC09_interpretation_of_encapsulation.rst index 491cb3bd..4ce529c1 100644 --- a/src/reference/informative/informC09_interpretation_of_encapsulation.rst +++ b/src/reference/informative/informC09_interpretation_of_encapsulation.rst @@ -8,4 +8,4 @@ .. container:: infospec - **TODO** \ No newline at end of file + **TODO** diff --git a/src/reference/informative/informC10_interpretation_of_map_variables.rst b/src/reference/informative/informC10_interpretation_of_map_variables.rst index 7403672d..a0ef1272 100644 --- a/src/reference/informative/informC10_interpretation_of_map_variables.rst +++ b/src/reference/informative/informC10_interpretation_of_map_variables.rst @@ -8,4 +8,4 @@ .. container:: infospec - **TODO** \ No newline at end of file + **TODO** diff --git a/src/reference/informative/informC11_interpretation_of_variable_resets.rst b/src/reference/informative/informC11_interpretation_of_variable_resets.rst index a5e64e93..632707d3 100644 --- a/src/reference/informative/informC11_interpretation_of_variable_resets.rst +++ b/src/reference/informative/informC11_interpretation_of_variable_resets.rst @@ -8,4 +8,4 @@ .. container:: infospec - **TODO** \ No newline at end of file + **TODO** diff --git a/src/reference/libcellml/libcellmlB1.rst b/src/reference/libcellml/libcellmlB1.rst index 8773a162..77615392 100644 --- a/src/reference/libcellml/libcellmlB1.rst +++ b/src/reference/libcellml/libcellmlB1.rst @@ -13,3 +13,4 @@ Messages related to the model item **TODO** put list of errors/issues/hints from the validator/generator here. + diff --git a/src/reference/libcellml/libcellmlB15_connection.rst b/src/reference/libcellml/libcellmlB15_connection.rst index 4b08c9a6..ae074bdf 100644 --- a/src/reference/libcellml/libcellmlB15_connection.rst +++ b/src/reference/libcellml/libcellmlB15_connection.rst @@ -13,4 +13,4 @@ Messages related to :code:`connection` items - **TODO** put errors here. \ No newline at end of file + **TODO** put errors here. diff --git a/src/reference/libcellml/libcellmlB16_map_variables.rst b/src/reference/libcellml/libcellmlB16_map_variables.rst index fc5205d2..9f122c92 100644 --- a/src/reference/libcellml/libcellmlB16_map_variables.rst +++ b/src/reference/libcellml/libcellmlB16_map_variables.rst @@ -13,4 +13,4 @@ Messages related to :code:`map_variables` items - **TODO** put errors here. \ No newline at end of file + **TODO** put errors here. From 2edf8ff3d83a4b87913382d1556334ea07e3adbf Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 13:07:27 +1300 Subject: [PATCH 301/604] (forgot to save ...) --- src/reference/formal_and_informative/specB12.rst | 4 ---- src/reference/formal_and_informative/specB15.rst | 4 ---- src/reference/formal_and_informative/specB16.rst | 1 - src/reference/informative/informB15_connection4.rst | 1 - 4 files changed, 10 deletions(-) diff --git a/src/reference/formal_and_informative/specB12.rst b/src/reference/formal_and_informative/specB12.rst index 981d097c..2c65ba8c 100644 --- a/src/reference/formal_and_informative/specB12.rst +++ b/src/reference/formal_and_informative/specB12.rst @@ -30,7 +30,3 @@ :end-before: marker_math_end .. todo ../libcellml/libcellmlB12_math.rst - - - - diff --git a/src/reference/formal_and_informative/specB15.rst b/src/reference/formal_and_informative/specB15.rst index 76ace9f7..2f7ee67c 100644 --- a/src/reference/formal_and_informative/specB15.rst +++ b/src/reference/formal_and_informative/specB15.rst @@ -26,7 +26,3 @@ .. include:: ../informative/informB15_connection5.rst .. todo ../libcellml/libcellmlB15_connection.rst - - - - diff --git a/src/reference/formal_and_informative/specB16.rst b/src/reference/formal_and_informative/specB16.rst index 889b3d57..a370fe62 100644 --- a/src/reference/formal_and_informative/specB16.rst +++ b/src/reference/formal_and_informative/specB16.rst @@ -14,4 +14,3 @@ .. include:: ../informative/informB16_map_variables3.rst .. todo ../libcellml/libcellmlB16_map_variables.rst - diff --git a/src/reference/informative/informB15_connection4.rst b/src/reference/informative/informB15_connection4.rst index fb628e63..2b766661 100644 --- a/src/reference/informative/informB15_connection4.rst +++ b/src/reference/informative/informB15_connection4.rst @@ -53,4 +53,3 @@ - From b232210eb6d3e8d613c661fe5650f915962242df Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 13:26:36 +1300 Subject: [PATCH 302/604] Update informC04_component_reference.rst --- .../informC04_component_reference.rst | 48 ++++++++++++++++--- 1 file changed, 42 insertions(+), 6 deletions(-) diff --git a/src/reference/informative/informC04_component_reference.rst b/src/reference/informative/informC04_component_reference.rst index 26fae454..bd197b56 100644 --- a/src/reference/informative/informC04_component_reference.rst +++ b/src/reference/informative/informC04_component_reference.rst @@ -15,7 +15,7 @@ As with references to units and variables, the term "component reference" refers to both sides of the naming and calling transaction. Its use includes both the item which *possesses* the reference (i.e.: a :code:`component` or :code:`import component` with a :code:`name` attribute) as well as the item which is *calling* the reference (i.e.: an item requesting the named component via its own :code:`component_ref` attribute). - The only complicated part to understand is the *scope* of a component's reference, or the appropriate name by which to call it depending on who is doing the calling. + The complicated part to understand is the *scope* of a component's reference, or the appropriate name by which to call it depending on who is doing the calling. Consider the following example. Here, two families live next door to one another, and within each family unit use the terms "husband" and "wife" to refer to one another. @@ -44,6 +44,28 @@ + + + + + + + + + + + + + + + Now let's make things more interesting by adding an encapsulation hierarchy: + + .. code-block:: xml + + + + ... + @@ -60,17 +82,31 @@ - + This particular encapsulation structure means that the women (Barbara and Margot) are essentially unable to have any contact with the men (Tom and Jerry) even though their original components in the imported models were able to access one another. + + Note also that these locality naming-calling rules are be applied through multiple generations of importing. + Since The Good Life is a TV show, there are actors who play the roles of each of the characters. + This could be reflected by using another generation of imports within the two family files like this: + + .. code-block:: xml + - - + + + + - - + + + + + + Note that in this situation, the original :code:`SurbitonNeighbourhood` model does not need to change at all. + Each of the component references remains correct, as each is isolated in its own scope. \ No newline at end of file From 3c2b0cd2d369573c7e495860855005b89f9904d5 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 14:11:05 +1300 Subject: [PATCH 303/604] Update informC05_variable_reference.rst --- .../informC05_variable_reference.rst | 52 ++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/src/reference/informative/informC05_variable_reference.rst b/src/reference/informative/informC05_variable_reference.rst index d9328f97..86b3c498 100644 --- a/src/reference/informative/informC05_variable_reference.rst +++ b/src/reference/informative/informC05_variable_reference.rst @@ -8,4 +8,54 @@ .. container:: infospec - **TODO** \ No newline at end of file + .. container:: heading3 + + Understanding variable references + + A :code:`variable` item only exists within its parent :code:`component` item, but since it can be connected to others via the :code:`map_variables` functionality, there are two different ways that any :code:`variable` could be referenced. + + The first and simplest is within its own local scope, the parent :code:`component`. + In that situation, the :code:`variable`\'s :code:`name` attribute is enough to uniquely locate it. + + The second situation is when a :code:`variable` is referred to from a :code:`component` other than its parent. + In this situation, a reference to the parent :code:`component` as well as the :code:`variable`'s :code:`name` attribute is required. + + The example below shows how the pairing of components and variables are required to form a valid connection. + + .. code-block:: xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 10e3518ca7c05bd0f6c2d6041d8c8db4fa425914 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 14:15:57 +1300 Subject: [PATCH 304/604] Update informC05_variable_reference.rst --- .../informative/informC05_variable_reference.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/reference/informative/informC05_variable_reference.rst b/src/reference/informative/informC05_variable_reference.rst index 86b3c498..1ab83bde 100644 --- a/src/reference/informative/informC05_variable_reference.rst +++ b/src/reference/informative/informC05_variable_reference.rst @@ -12,13 +12,14 @@ Understanding variable references - A :code:`variable` item only exists within its parent :code:`component` item, but since it can be connected to others via the :code:`map_variables` functionality, there are two different ways that any :code:`variable` could be referenced. + A :code:`variable` item only exists within its parent :code:`component` item, but can be connected to others via the :code:`map_variables` functionality. + There are two different ways that any :code:`variable` could be referenced. The first and simplest is within its own local scope, the parent :code:`component`. In that situation, the :code:`variable`\'s :code:`name` attribute is enough to uniquely locate it. - The second situation is when a :code:`variable` is referred to from a :code:`component` other than its parent. - In this situation, a reference to the parent :code:`component` as well as the :code:`variable`'s :code:`name` attribute is required. + The second situation is when a :code:`variable` is referred to from a :code:`component` other than its parent, so a reference to the parent :code:`component` as well as the :code:`variable`'s :code:`name` is required. + This is found when creating :code:`connection` items using :code:`map_variables`. The example below shows how the pairing of components and variables are required to form a valid connection. @@ -47,15 +48,14 @@ - + - + - From c00854e5ab4d892a86c3623652642a6c3c43f581 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 14:21:19 +1300 Subject: [PATCH 305/604] Update informC05_variable_reference.rst --- .../informC05_variable_reference.rst | 69 ++++++++++--------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/src/reference/informative/informC05_variable_reference.rst b/src/reference/informative/informC05_variable_reference.rst index 1ab83bde..a8cc049b 100644 --- a/src/reference/informative/informC05_variable_reference.rst +++ b/src/reference/informative/informC05_variable_reference.rst @@ -23,39 +23,40 @@ The example below shows how the pairing of components and variables are required to form a valid connection. + .. code-block:: xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 945b63bab97137d570c3873e315159946d6651b1 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 14:31:12 +1300 Subject: [PATCH 306/604] typo in code --- .../informative/informC05_variable_reference.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/reference/informative/informC05_variable_reference.rst b/src/reference/informative/informC05_variable_reference.rst index a8cc049b..36556887 100644 --- a/src/reference/informative/informC05_variable_reference.rst +++ b/src/reference/informative/informC05_variable_reference.rst @@ -44,18 +44,18 @@ - + variable "FredFlintsone" in the "CartoonCharacters" component. --> + variable "FredAstaire" from component "Astair": variable_1 must exist within + component_1, and variable_2 must exist within component_2. --> From 2f392d386ece48c9e50cb9051b241c447e340758 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 14:42:17 +1300 Subject: [PATCH 307/604] Typos in code segments giving lex errors --- src/reference/informative/informA2_4.rst | 2 +- src/reference/informative/informB12_math4.rst | 2 +- src/reference/informative/informB7_component3.rst | 6 +++--- .../informative/informC03_interpretation_of_units1.rst | 2 +- src/reference/sectionB_elements.inc | 10 ++++------ 5 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/reference/informative/informA2_4.rst b/src/reference/informative/informA2_4.rst index 0384d35b..39a1c1f4 100644 --- a/src/reference/informative/informA2_4.rst +++ b/src/reference/informative/informA2_4.rst @@ -8,7 +8,7 @@ .. container:: infospec - .. code-block:: xml + .. code-block:: diff --git a/src/reference/informative/informB12_math4.rst b/src/reference/informative/informB12_math4.rst index 318d8b08..25c97da3 100644 --- a/src/reference/informative/informB12_math4.rst +++ b/src/reference/informative/informB12_math4.rst @@ -30,7 +30,7 @@ 35.3 42 - 502.642 + 502.642 26.6 3,000 +4.0 diff --git a/src/reference/informative/informB7_component3.rst b/src/reference/informative/informB7_component3.rst index b43e2b51..a4998cec 100644 --- a/src/reference/informative/informB7_component3.rst +++ b/src/reference/informative/informB7_component3.rst @@ -49,9 +49,9 @@ ... - - - + + + Please refer to the :ref:`variable element` section for information on :code:`variable` items. diff --git a/src/reference/informative/informC03_interpretation_of_units1.rst b/src/reference/informative/informC03_interpretation_of_units1.rst index 5db9c1af..fc64645d 100644 --- a/src/reference/informative/informC03_interpretation_of_units1.rst +++ b/src/reference/informative/informC03_interpretation_of_units1.rst @@ -63,7 +63,7 @@ - ` comment tags is an *unparsed* and is ignored. + + - :code:`title`, :code:`instructions`, :code:`ingredient` have *text* content (note that numbers like 1.0 are treated as text), + - :code:`ingredients` and :code:`food_ideas` have *element* contents, because they have child elements inside them, + - :code:`category` is an *attribute* of the :code:`recipe` element, and :code:`name` and :code:`units` are *attributes* of the :code:`ingredient` element, and + - the note within :code:`` comment tags is an *unparsed* and is ignored. .. code-block:: xml diff --git a/src/reference/informative/informA2_4.rst b/src/reference/informative/informA2_4.rst index 39a1c1f4..7d7fff85 100644 --- a/src/reference/informative/informA2_4.rst +++ b/src/reference/informative/informA2_4.rst @@ -8,7 +8,7 @@ .. container:: infospec - .. code-block:: + .. code-block:: none diff --git a/src/reference/informative/informB3_import_units1.rst b/src/reference/informative/informB3_import_units1.rst index 446e64c2..c4dc208b 100644 --- a/src/reference/informative/informB3_import_units1.rst +++ b/src/reference/informative/informB3_import_units1.rst @@ -32,7 +32,7 @@ Imported items have the same restrictions as concrete items regarding the uniqueness of their names. In the example below, the name :code:`potOfPaint` is used for the locally defined units in line 2, but the same name is used as the name for the imported units in line 6. - This is not permitted as it violates :ref:`the uniqueness requirement for unit names`\. + This is not permitted as it violates :ref:`the uniqueness requirement for unit names`\. .. code-block:: xml diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 552e5e6b..5a5be744 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -136,7 +136,7 @@ The ``units`` element A :code:`units` element information item (referred to in this specification as a :code:`units` element) is an element in the CellML namespace with a local name equal to :code:`units`, and with a :code:`model` element as its parent. -.. _issue-units-name +.. _issue_units_name .. container:: issue-units-name 1. Every :code:`units` element MUST contain a :code:`name` attribute. diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 6aa762c4..a92e5f18 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -4,7 +4,6 @@ .. _specC_interpretation_of_imports: - Interpretation of ``import`` elements ------------------------------------- From ef8977458d0d1671a297716dcf9e27257b8a0390 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 15:01:25 +1300 Subject: [PATCH 309/604] informA1 review --- src/reference/informative/informA1.rst | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/reference/informative/informA1.rst b/src/reference/informative/informA1.rst index a096f78f..b146d58b 100644 --- a/src/reference/informative/informA1.rst +++ b/src/reference/informative/informA1.rst @@ -12,13 +12,19 @@ Namespaces - Namespaces are a way of making sure that names and definitions are interpreted within the right frame of reference. In CellML, two namespaces are used. These are the CellML namespace itself (which helps to define the :code:`units` elements as distinct from the XML default units system) and the MathML namespace used to interpret the :code:`` elements. For more information on namespaces in general, please refer to the :namespace_help:`W3 schools namespace page <>`. For more information on the MathML namespace please refer to the :mathml2help:`W3 MathML namespace <#inferf.namespace>` page. + Namespaces are a way of making sure that names and definitions are interpreted within the right frame of reference. + In CellML, two namespaces are used. + These are the CellML namespace itself (which helps to define the :code:`units` elements as distinct from the XML default units system) and the MathML namespace used to interpret the :code:`` elements. + For more information on namespaces in general, please refer to the :namespace_help:`W3 schools namespace page <>`, or for the MathML namespace please refer to the :mathml2help:`W3 MathML namespace <#inferf.namespace>` page. .. container:: heading3 Unicode, Basic Latin, and European numerals - The Unicode project is an attempt to codify all of the symbols - alphabets, writings, even emojis - of all the languages of the world so that they can be interchangeable and interpreted by computers. Since computers understand numbers rather than symbols, each character in each language is given an unique numerical code. The codes themselves are arranged into blocks representing sets or alphabets of characters, and the Basic Latin alphabet is one of these. It contains the upper and lowercase alphabet without decoration: + The Unicode project is an attempt to codify all of the symbols - alphabets, writings, even emojis - of all the languages of the world so that they can be interchangeable and interpreted by computers. + Since computers understand numbers rather than symbols, each character in each language is given an unique numerical code. + The codes themselves are arranged into blocks representing sets or alphabets of characters, and the Basic Latin alphabet is one of these. + It contains the upper and lowercase alphabet without decoration: :code:`abcdefghijklmnopqrstuvwxyz` (symbols between U+0061 and U+007A) :code:`ABCDEFGHIJKLMNOPQRSTUVWXYZ` (symbols between U+0041 and U+005A) @@ -36,4 +42,4 @@ and the following whitespace characters: the space (U+0020), the tab (U+0009), the carriage return (U+000D), or the line feed (U+000A). - Together these seventy symbols define the only characters which can be interpreted into values for CellML element attributes and content. + Together these symbols define the only characters which can be interpreted into values for CellML element attributes and content. From 486cd2191b1ee5d5a3dfee898f1935bccec1fbac Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 15:02:39 +1300 Subject: [PATCH 310/604] Update informA1.rst --- src/reference/informative/informA1.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/informative/informA1.rst b/src/reference/informative/informA1.rst index b146d58b..ff84a904 100644 --- a/src/reference/informative/informA1.rst +++ b/src/reference/informative/informA1.rst @@ -14,7 +14,7 @@ Namespaces are a way of making sure that names and definitions are interpreted within the right frame of reference. In CellML, two namespaces are used. - These are the CellML namespace itself (which helps to define the :code:`units` elements as distinct from the XML default units system) and the MathML namespace used to interpret the :code:`` elements. + These are the CellML namespace itself (which helps to define the :code:`units` elements as distinct from the XML default units system) and the MathML namespace used to interpret the :code:`math` elements. For more information on namespaces in general, please refer to the :namespace_help:`W3 schools namespace page <>`, or for the MathML namespace please refer to the :mathml2help:`W3 MathML namespace <#inferf.namespace>` page. .. container:: heading3 @@ -22,7 +22,7 @@ Unicode, Basic Latin, and European numerals The Unicode project is an attempt to codify all of the symbols - alphabets, writings, even emojis - of all the languages of the world so that they can be interchangeable and interpreted by computers. - Since computers understand numbers rather than symbols, each character in each language is given an unique numerical code. + Since computers understand numbers rather than symbols, each character in each language is given a unique numerical code. The codes themselves are arranged into blocks representing sets or alphabets of characters, and the Basic Latin alphabet is one of these. It contains the upper and lowercase alphabet without decoration: From a5ab48b31919489116ac0fdc9352c6c34d9a19a6 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 15:05:19 +1300 Subject: [PATCH 311/604] Update informA1.rst --- src/reference/informative/informA1.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/reference/informative/informA1.rst b/src/reference/informative/informA1.rst index ff84a904..72e80fc3 100644 --- a/src/reference/informative/informA1.rst +++ b/src/reference/informative/informA1.rst @@ -35,11 +35,11 @@ In addition, CellML recognises four special characters: - :code:`+` the plus sign (U+002B) - :code:`-` the minus sign (U+002D) - :code:`_` the underscore (U+005F) - :code:`.` the fullstop (U+002E) + - :code:`+` the plus sign (U+002B) + - :code:`-` the minus sign (U+002D) + - :code:`_` the underscore (U+005F) + - :code:`.` the fullstop (U+002E) - and the following whitespace characters: the space (U+0020), the tab (U+0009), the carriage return (U+000D), or the line feed (U+000A). + and the following whitespace characters: the space (U+0020), the tab (U+0009), the carriage return (U+000D), and the line feed (U+000A). Together these symbols define the only characters which can be interpreted into values for CellML element attributes and content. From 5ccad7d7bc789b9829a7a2d78571b6cf8a9cfb4b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 15:06:39 +1300 Subject: [PATCH 312/604] Update informA1.rst --- src/reference/informative/informA1.rst | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/reference/informative/informA1.rst b/src/reference/informative/informA1.rst index 72e80fc3..90367cd9 100644 --- a/src/reference/informative/informA1.rst +++ b/src/reference/informative/informA1.rst @@ -35,11 +35,16 @@ In addition, CellML recognises four special characters: - - :code:`+` the plus sign (U+002B) - - :code:`-` the minus sign (U+002D) - - :code:`_` the underscore (U+005F) - - :code:`.` the fullstop (U+002E) + - :code:`+` the plus sign (U+002B), + - :code:`-` the minus sign (U+002D), + - :code:`_` the underscore (U+005F), + - :code:`.` the fullstop (U+002E), - and the following whitespace characters: the space (U+0020), the tab (U+0009), the carriage return (U+000D), and the line feed (U+000A). + and the following whitespace characters: + + - the space (U+0020), + - the tab (U+0009), + - the carriage return (U+000D), and + - the line feed (U+000A). Together these symbols define the only characters which can be interpreted into values for CellML element attributes and content. From 473ee6cce3b5b4015f0d75e3b37a9937932ad5c5 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 15:09:11 +1300 Subject: [PATCH 313/604] Update informA2_2.rst --- src/reference/informative/informA2_2.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/reference/informative/informA2_2.rst b/src/reference/informative/informA2_2.rst index 79fa3b87..b4feda9f 100644 --- a/src/reference/informative/informA2_2.rst +++ b/src/reference/informative/informA2_2.rst @@ -12,13 +12,13 @@ Specific information items - There are different kinds of information stored in XML elements. In the example below, the :code:`` element has - In the example below: + There are different kinds of information stored in XML elements. + In the example below, the :code:`food_ideas` element has: - :code:`title`, :code:`instructions`, :code:`ingredient` have *text* content (note that numbers like 1.0 are treated as text), - :code:`ingredients` and :code:`food_ideas` have *element* contents, because they have child elements inside them, - :code:`category` is an *attribute* of the :code:`recipe` element, and :code:`name` and :code:`units` are *attributes* of the :code:`ingredient` element, and - - the note within :code:`` comment tags is an *unparsed* and is ignored. + - the note within :code:`` comment tags is of an *unparsed* type and is ignored. .. code-block:: xml From 48a9597c09c1f5a68ec581d0fb10f6119bf8cfe6 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 15:34:48 +1300 Subject: [PATCH 314/604] Unicode links --- src/reference/informative/informA1.rst | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/reference/informative/informA1.rst b/src/reference/informative/informA1.rst index 90367cd9..084078f5 100644 --- a/src/reference/informative/informA1.rst +++ b/src/reference/informative/informA1.rst @@ -26,25 +26,25 @@ The codes themselves are arranged into blocks representing sets or alphabets of characters, and the Basic Latin alphabet is one of these. It contains the upper and lowercase alphabet without decoration: - :code:`abcdefghijklmnopqrstuvwxyz` (symbols between U+0061 and U+007A) - :code:`ABCDEFGHIJKLMNOPQRSTUVWXYZ` (symbols between U+0041 and U+005A) + :code:`abcdefghijklmnopqrstuvwxyz` (symbols between :unicode:`0061` and :unicode:`007A`) + :code:`ABCDEFGHIJKLMNOPQRSTUVWXYZ` (symbols between :unicode:`0041` and :unicode:`005A`) The European numerals are the Unicode set: - :code:`0123456789` (symbols between U+0030 and U+0039) + :code:`0123456789` (symbols between :unicode:`0030` and :unicode:`0039`) In addition, CellML recognises four special characters: - - :code:`+` the plus sign (U+002B), - - :code:`-` the minus sign (U+002D), - - :code:`_` the underscore (U+005F), - - :code:`.` the fullstop (U+002E), + - :code:`+` the plus sign (:unicode:`002B`), + - :code:`-` the minus sign (:unicode:`002D`), + - :code:`_` the underscore (:unicode:`005F`), + - :code:`.` the fullstop (:unicode:`002E`), and the following whitespace characters: - - the space (U+0020), - - the tab (U+0009), - - the carriage return (U+000D), and - - the line feed (U+000A). + - the space (:unicode:`0020`), + - the tab (:unicode:`0009`), + - the carriage return (:unicode:`000D`), and + - the line feed (:unicode:`000A`). Together these symbols define the only characters which can be interpreted into values for CellML element attributes and content. From e6709a254fd23faecc0766c5ba16fc543bf92c3d Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 15:45:56 +1300 Subject: [PATCH 315/604] Update cellml.css --- src/static/css/cellml.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/static/css/cellml.css b/src/static/css/cellml.css index 25948031..b0c900c5 100644 --- a/src/static/css/cellml.css +++ b/src/static/css/cellml.css @@ -4,6 +4,10 @@ color:darkslategray; } +.wy-plain-list-decimal, .rst-content .section ol, .rst-content ol.arabic, article ol { + margin-bottom: 5px; +} + pre { border: none; background-color:#eeeeee; @@ -32,6 +36,10 @@ div[class^="issue"], div[class*=" issue"] > ol { margin-bottom: 0; } +li { + margin-bottom:12px; +} + .issue-title { font-weight: 700; font-size: large; From 961a65597a2c7a8b5b7487140e0a89d22625d583 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 15:46:54 +1300 Subject: [PATCH 316/604] indenting in 2.8 --- src/reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 5a5be744..5ae53a97 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -254,7 +254,7 @@ A :code:`variable` element information item (referred to in this specification a .. container:: issue-variable-interface 1. The :code:`interface` attribute. - If the attribute is present, it MUST have value of :code:`public`, :code:`private`, :code:`public_and_private`, or :code:`none`. + If the attribute is present, it MUST have value of :code:`public`, :code:`private`, :code:`public_and_private`, or :code:`none`. .. container:: issue-variable-initial-value From 0759f91710bfb1b05e6bf323feba562eb322a126 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 2 Apr 2020 15:54:34 +1300 Subject: [PATCH 317/604] css file formatting tidy --- src/static/css/cellml.css | 60 +++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/src/static/css/cellml.css b/src/static/css/cellml.css index b0c900c5..e675f61d 100644 --- a/src/static/css/cellml.css +++ b/src/static/css/cellml.css @@ -1,7 +1,7 @@ /* @import url("../theme.css"); */ .rst-content tt.literal, .rst-content tt.literal, .rst-content code.literal { - color:darkslategray; + color: darkslategray; } .wy-plain-list-decimal, .rst-content .section ol, .rst-content ol.arabic, article ol { @@ -10,14 +10,14 @@ pre { border: none; - background-color:#eeeeee; + background-color: #eeeeee; color: darkslategray; } .highlight { margin-top: 10px; margin-bottom: 10px; - background-color:#eeeeee; + background-color: #eeeeee; } div.figure a.image-reference { @@ -37,7 +37,7 @@ div[class^="issue"], div[class*=" issue"] > ol { } li { - margin-bottom:12px; + margin-bottom: 12px; } .issue-title { @@ -54,12 +54,12 @@ li { .dothis { border-left: 5px solid rgb(174, 189, 145); - background:rgb(242, 249, 227); + background: rgb(242, 249, 227); padding: 3px 3px 3px 8px; - margin-top:20px; - margin-bottom:20px; + margin-top: 20px; + margin-bottom: 20px; line-height: 24px; - font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; + font-family: "Lato", "proxima-nova", "Helvetica Neue", "Arial", sans-serif; } .dothis > .guilabel { @@ -85,63 +85,63 @@ li { .infospec { /* border-top: 1px solid #b9c6dd; */ - background:#e1eaf0; + background: #e1eaf0; color: #444444; padding: 10px; - margin-top:0px; - margin-bottom:15px; - margin-left:0; - margin-right:0; + margin-top: 0px; + margin-bottom: 15px; + margin-left: 0; + margin-right: 0; line-height: 24px; - font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; + font-family: "Lato", "proxima-nova", "Helvetica Neue", "Arial", sans-serif; } .infolib { /* border-top: 1px solid #b9c6dd; */ - background:#e7f0e1; + background: #e7f0e1; color: #444444; padding: 10px; - margin-top:0px; - margin-bottom:15px; - margin-left:0; - margin-right:0; + margin-top: 0px; + margin-bottom: 15px; + margin-left: 0; + margin-right: 0; line-height: 24px; - font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; + font-family: "Lato", "proxima-nova", "Helvetica Neue", "Arial", sans-serif; } .nb { border-left: 5px solid sandybrown; - background:rgb(255, 243, 206); + background: rgb(255, 243, 206); padding: 3px 3px 3px 8px; - margin-top:20px; - margin-bottom:20px; + margin-top: 20px; + margin-bottom: 20px; line-height: 24px; - font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; + font-family: "Lato", "proxima-nova", "Helvetica Neue", "Arial", sans-serif; } .heading2 { color: #444444; - font-family: "Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif; - font-size:150%; + font-family: "Roboto Slab", "ff-tisa-web-pro", "Georgia", "Arial", sans-serif; + font-size: 150%; font-weight: 700; } .heading3 { color: #444444; - font-family: "Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif; - font-size:120%; + font-family: "Roboto Slab", "ff-tisa-web-pro", "Georgia", "Arial", sans-serif; + font-size: 120%; font-weight: 700; } .terminal { border: none; color: white; - background-color:#777777; + background-color: #777777; padding: 5px 0px 0px 10px; - font-family: 'Consolas', 'Deja Vu Sans Mono','Bitstream Vera Sans Mono', monospace; + font-family: "Consolas", "Deja Vu Sans Mono", "Bitstream Vera Sans Mono", monospace; font-size: 0.85em; } From 2cbf8378415df809efdc6ab8ba3b3c3fae1f7da1 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Thu, 2 Apr 2020 16:04:38 +1300 Subject: [PATCH 318/604] Adjuxt the documentation built based on environment variables. --- src/conf.py | 86 +++-- src/{formal.rst => formal_only_index.rst} | 0 .../formal_singlepage_index.rst | 17 +- src/master_index.rst | 2 +- ...nowledgements.rst => acknowledgements.inc} | 0 ..._preamble.rst => informative_preamble.inc} | 2 +- src/reference/sectionA_definitions.inc | 6 - src/reference/sectionB_elements.inc | 4 +- src/reference/sectionC_interpretation.inc | 323 +++++++----------- 9 files changed, 195 insertions(+), 245 deletions(-) rename src/{formal.rst => formal_only_index.rst} (100%) rename formal_singlepage_index.rst => src/formal_singlepage_index.rst (82%) rename src/reference/{acknowledgements.rst => acknowledgements.inc} (100%) rename src/reference/{informative_preamble.rst => informative_preamble.inc} (91%) diff --git a/src/conf.py b/src/conf.py index db493821..dfca5f92 100644 --- a/src/conf.py +++ b/src/conf.py @@ -12,11 +12,56 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys import os +import sys + +def manage_index(direction, base_dir=''): + files = ['master_index.rst', 'index.rst'] + if 'FORMAL_SINGLEPAGE' in os.environ: + files = ['formal_singlepage_index.rst', 'index.rst'] + elif 'FORMAL_ONLY' in os.environ: + files = ['formal_only_index.rst', 'index.rst'] + + files = [os.path.join(base_dir, files[0]), os.path.join(base_dir, files[1])] + if direction == 'out': + files.reverse() + + os.rename(os.path.abspath(files[0]), os.path.abspath(files[1])) -if 'FORMAL_SINGLEPAGE' in os.environ: - print("Only doing formal single page build") + +def tex_document_name(): + name = 'cellml2_specification' + if 'FORMAL_SINGLEPAGE' in os.environ: + name = 'cellml2_singlepage_normative_specification' + elif 'FORMAL_ONLY' in os.environ: + name = 'cellml2_normative_specification' + + return name + + +def define_excluded_patterns(): + exclude_patterns = ['formal_only_index.rst', 'formal_singlepage_index.rst', + 'reference/formal_section*', + 'reference/formal_only/*',] + if 'FORMAL_SINGLEPAGE' in os.environ: + exclude_patterns = ['master_index.rst', 'formal_only_index.rst', + 'reference/formal_and_informative/*.rst', + 'reference/formal_only/*.rst', + 'reference/libcellml/*.rst', + 'reference/informative/*.rst', + 'reference/formal_section*', + 'reference/index_section*', + 'reference/sectionD_references.rst',] + elif 'FORMAL_ONLY' in os.environ: + exclude_patterns = ['master_index.rst', 'formal_singlepage_index.rst', + 'reference/index_section*', + 'reference/formal_and_informative/*.rst', + 'reference/informative/*.rst', + 'reference/libcellml/*.rst',] + + return exclude_patterns + +manage_index('in') # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the @@ -51,10 +96,6 @@ #source_encoding = 'utf-8-sig' # The master toctree document. -if 'FORMAL_SINGLEPAGE' in os.environ: - os.rename('formal_singlepage_index.rst', 'index.rst') -else: - os.rename('master_index.rst', 'index.rst') master_doc = 'index' autosectionlabel_prefix_document = True @@ -148,16 +189,7 @@ # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. -if 'FORMAL_SINGLEPAGE' in os.environ: - exclude_patterns = ['master_index.rst', 'formal_index.rst', 'reference/formal_and_informative/*.rst', 'reference/formal_only/*.rst', - 'reference/libcellml/*.rst', 'reference/informative/*.rst', - 'reference/formal_section*', - 'reference/index_section*', - 'reference/sectionD_references.rst', - 'reference/acknowledgements.rst', - 'reference/informative_preamble.rst'] -else: - exclude_patterns = [] +exclude_patterns = define_excluded_patterns() # The reST default role (used for this markup: `text`) to use for all @@ -292,26 +324,28 @@ latex_elements = { # The paper size ('letterpaper' or 'a4paper'). # 'papersize': 'letterpaper', + 'papersize': 'a4paper', # The font size ('10pt', '11pt' or '12pt'). # 'pointsize': '10pt', # Removing the blank pages between chapters - 'extraclassoptions': 'openany,oneside', + 'extraclassoptions': 'openany,twoside', # Additional stuff for the LaTeX preamble. 'preamble': r''' - \usepackage[titles]{tocloft} - \usepackage{textgreek} - \usepackage{amssymb} - ''' +% Preamble set from Sphinx configuration +\usepackage[titles]{tocloft} +\usepackage{textgreek} +\usepackage{amssymb} +''' } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('index', 'normative.tex', u'CellML Specification', + ('index', '{0}.tex'.format(tex_document_name()), u'CellML Specification', u'CellML 2.0 Editors and Contributors', 'manual'), ] @@ -372,11 +406,7 @@ #texinfo_no_detailmenu = False def build_finished_handler(app, exception): - print('build finished') - if 'FORMAL_SINGLEPAGE' in os.environ: - os.rename('index.rst', 'formal_singlepage_index.rst') - else: - os.rename('index.rst', 'master_index.rst') + manage_index('out', base_dir=app.confdir) def setup(app): diff --git a/src/formal.rst b/src/formal_only_index.rst similarity index 100% rename from src/formal.rst rename to src/formal_only_index.rst diff --git a/formal_singlepage_index.rst b/src/formal_singlepage_index.rst similarity index 82% rename from formal_singlepage_index.rst rename to src/formal_singlepage_index.rst index 99f8ffcb..9a7c854b 100644 --- a/formal_singlepage_index.rst +++ b/src/formal_singlepage_index.rst @@ -11,19 +11,24 @@ Users of CellML models should read the informative version of the CellML Specifi A PDF of this page is available from **TODO**. -.. include:: reference/acknowledgements.rst +.. include:: reference/acknowledgements.inc .. toctree:: :numbered: .. _formal_singlepage_definitions: +.. only:: latex + + ----------- + Definitions + ----------- + ----------- Definitions ----------- .. include:: reference/sectionA_definitions.inc - :start-after: .. marker_terminology_start ------------------------- Element information items @@ -31,6 +36,14 @@ Element information items .. include:: reference/sectionB_elements.inc +-------------- +Interpretation +-------------- + .. include:: reference/sectionC_interpretation.inc +---------- +References +---------- + .. include:: reference/sectionD_references.inc diff --git a/src/master_index.rst b/src/master_index.rst index 0ac86cd5..23379566 100644 --- a/src/master_index.rst +++ b/src/master_index.rst @@ -13,4 +13,4 @@ Informative CellML 2.0 Specification reference/index_sectionC.rst reference/index_sectionD.rst -.. include:: reference/informative_preamble.rst +.. include:: reference/informative_preamble.inc diff --git a/src/reference/acknowledgements.rst b/src/reference/acknowledgements.inc similarity index 100% rename from src/reference/acknowledgements.rst rename to src/reference/acknowledgements.inc diff --git a/src/reference/informative_preamble.rst b/src/reference/informative_preamble.inc similarity index 91% rename from src/reference/informative_preamble.rst rename to src/reference/informative_preamble.inc index 8fcfee3c..1d2ec1e3 100644 --- a/src/reference/informative_preamble.rst +++ b/src/reference/informative_preamble.inc @@ -5,4 +5,4 @@ It is intended primarily for the developers of software tools which directly con Users of CellML models may expand the "See more" blocks throughout this document to access the informative version and see examples. Software-specific information is also available under their repsective names or icons throughout the text. -.. include:: acknowledgements.rst +.. include:: reference/acknowledgements.inc diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index aea2a7eb..1d97e00e 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -1,11 +1,5 @@ .. _sectionA: -.. _formal_singlepage_definitions: - ------------ -Definitions ------------ - .. marker_terminology_start .. _specA_terminology: diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index e6c7b503..e70def82 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -398,8 +398,8 @@ A :code:`math` element information item (referred to in this specification as a +----------------------------------+----------------------------------------------------------------+ | Qualifier Elements | :code:`bvar`, :code:`logbase`, :code:`degree` \* | +----------------------------------+----------------------------------------------------------------+ -| Trigonometric Operators | | :code:`sin`, :code:`cos`, :code:`tan`, :code:`sec`, | -| | :code:`csc`, :code:`cot`, | +| | | :code:`sin`, :code:`cos`, :code:`tan`, :code:`sec`, | +| Trigonometric Operators | :code:`csc`, :code:`cot`, | | | | :code:`sinh`, :code:`cosh`, :code:`tanh`, :code:`sech`, | | | :code:`csch`, :code:`coth`, | | | | :code:`arcsin`, :code:`arccos`, :code:`arctan`, | diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 525ac906..1b66977c 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -1,9 +1,5 @@ .. _sectionC: --------------- -Interpretation --------------- - .. marker_interpretation_of_imports_start .. _specC_interpretation_of_imports: @@ -12,15 +8,19 @@ Interpretation Interpretation of ``import`` elements ------------------------------------- -#. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and separate instance of the CellML infoset referenced by the :code:`href` attribute (the imported infoset). - See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. +#. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset which is referenced by the :code:`href` attribute (the imported infoset). + This imported infoset instance SHALL provide the context in which the child of an import element (a :code:`units` or :code:`component` element) is defined and interpreted. + +#. The imported infoset SHALL be considered holistically such that items relevant to the imported infoset (:code:`unit` children of imported :code:`units` elements or the :ref:`encapsulated set` of imported :code:`component` elements) are themselves available to that :code:`import` element child. + It is noted, for the avoidance of doubt, that the importing infoset SHALL NOT have access to such implicitly imported items, but only to explicitly specified :code:`import` element children. + +See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. .. marker_interpretation_of_imports_end .. marker_units_reference_start .. _specC_units_reference: - References to ``units`` elements -------------------------------- @@ -28,11 +28,9 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute #. A units reference SHALL be a CellML identifier and SHALL be interpreted dependent on the context of the :ref:`CellML model` in which it occurs, according to the units referencing rules defined later in this section. -#. A :ref:`CellML infoset` MUST NOT contain a units reference for which no referencing rule can be held to have been followed. - #. The units referencing rules are: - #. Where there is a :code:`units` element with a :code:`name` attribute identical to the units reference, then the units reference SHALL refer to that :code:`units` element. + #. Where, within the same infoset, a :code:`units` element has a :code:`name` attribute identical to the units reference, the units reference SHALL refer to that :code:`units` element. #. Where there is an :code:`import units` element in the :ref:`CellML infoset`, such that the :code:`import units` element has a :code:`name` attribute identical to the units reference, then the units reference SHALL be treated with respect to referencing rules as if the units reference appeared in the imported infoset, and referring to the :code:`name` specified in the :code:`units_ref` attribute of the :code:`import units` element. @@ -44,174 +42,87 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute **Table 3.1: Built-in units** -.. only:: html - - +---------------+-------------------+-------------------------------------------+-------------------------+ - | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | - | | | | multiplier⋅(base, exponent) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | ampere | A | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | becquerel | Bq | (second, -1) | 1/s | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | candela | cd | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | coulomb | C | (second, 1), (ampere,1) | | s⋅A | - | | | | | F⋅V | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | dimensionless | \- | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | farad | F | (kilogram, -1), (metre, -2), | | C/V | - | | | (second, 4), (ampere, 2) | | s/Ω | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | gram | g | 0.001⋅(kilogram, 1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | gray | Gy | (metre, 2), (second, -2) | J/kg | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | henry | H | (kilogram, 1), (metre, 2), | | V⋅s/A | - | | | (second, -2), (ampere, -2) | | Ω⋅s | - | | | | | Wb/A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | hertz | Hz | (second, -1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | joule | J | (kilogram, 1), (metre, 2), | | N⋅m | - | | | (second, -2) | | C⋅V | - | | | | | Wb⋅s | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | katal | kat | (second, -1), (mole, 1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | kelvin | K | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | kilogram | kg | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | litre | l | 0.001⋅(metre, 3) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | lumen | lm | (candela, 1) | cd⋅sr | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | metre | m | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | mole | mol | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | newton | N | (kilogram, 1), (metre, 1), | | - | | | (second, -2) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | ohm | Ω | (kilogram, 1), (metre, 2), | | 1/S | - | | | (second, -3), (ampere, -2) | | V/A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | pascal | Pa | (kilogram, 1), (metre, -1), | N/m\ :sup:`2` | - | | | (second, -2) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | radian | rad | (dimensionless, 1) | m/m | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | second | s | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | siemens | S | (kilogram -1), (metre, -2), | | 1/Ω | - | | | (second, 3), (ampere, 2) | | A/V | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | sievert | Sv | (metre, 2), (second, -2) | J/kg | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | tesla | T | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | - | | | (ampere, -1) | | Wb/m\ :sup:`2` | - | | | | | N/(A⋅m) | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | volt | V | (kilogram, 1), (metre, 2), | | W/A | - | | | (second , -3), (ampere, -1) | | J/C | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | watt | W | (kilogram, 1), (metre, 2), | | J/s | - | | | (second, -3) | | V⋅A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | weber | Wb | (kilogram, 1), (metre, 2), | | J/A | - | | | (second, -2), (ampere, -1) | | T⋅m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ - - -.. only:: latex - - +---------------+-------------------+-------------------------------------------+-------------------------+ - | **Name** | **Symbol** | | **Unit reduction tuple** | **Common definitions** | - | | | | multiplier.(base, exponent) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | ampere | A | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | becquerel | Bq | (second, -1) | 1/s | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | candela | cd | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | coulomb | C | (second, 1), (ampere,1) | | s⋅A | - | | | | | F⋅V | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | dimensionless | \- | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | farad | F | | (kilogram, -1), (metre, -2), | | C/V | - | | | | (second, 4), (ampere, 2) | | s/Ω | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | gram | g | 0.001 . (kilogram, 1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | gray | Gy | (metre, 2), (second, -2) | J/kg | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | henry | H | | (kilogram, 1), (metre, 2), | | V⋅s/A | - | | | | (second, -2), (ampere, -2) | | Ω⋅s | - | | | | | Wb/A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | hertz | Hz | (second, -1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | joule | J | (kilogram, 1), (metre, 2), | | N⋅m | - | | | (second, -2) | | C⋅V | - | | | | | Wb⋅s | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | katal | kat | (second, -1), (mole, 1) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | kelvin | K | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | kilogram | kg | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | litre | l | 0.001 . (metre, 3) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | lumen | lm | (candela, 1) | cd⋅sr | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | lux | lx | (metre, -2), (candela, 1) | lm/m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | metre | m | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | mole | mol | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | newton | N | (kilogram, 1), (metre, 1), | | - | | | (second, -2) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | ohm | Ω | (kilogram, 1), (metre, 2), | | 1/S | - | | | (second, -3), (ampere, -2) | | V/A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | pascal | Pa | (kilogram, 1), (metre, -1), | N/m\ :sup:`2` | - | | | (second, -2) | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | radian | rad | (dimensionless, 1) | m/m | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | second | s | \- | | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | siemens | S | (kilogram -1), (metre, -2), | | 1/Ω | - | | | (second, 3), (ampere, 2) | | A/V | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | sievert | Sv | (metre, 2), (second, -2) | J/kg | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | steradian | sr | (dimensionless, 1) | m\ :sup:`2`/m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | tesla | T | | (kilogram, 1), (second, -2), | | V⋅s/m\ :sup:`2` | - | | | | (ampere, -1) | | Wb/m\ :sup:`2` | - | | | | | N/(A⋅m) | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | volt | V | (kilogram, 1), (metre, 2), | | W/A | - | | | (second , -3), (ampere, -1) | | J/C | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | watt | W | (kilogram, 1), (metre, 2), | | J/s | - | | | (second, -3) | | V⋅A | - +---------------+-------------------+-------------------------------------------+-------------------------+ - | weber | Wb | (kilogram, 1), (metre, 2), | | J/A | - | | | (second, -2), (ampere, -1) | | T⋅m\ :sup:`2` | - +---------------+-------------------+-------------------------------------------+-------------------------+ ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| **Name** | **Symbol** | **Unit reduction tuple** | | **Common** | +| | | multiplier (base, exponent) | | **definitions** | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`ampere` | A | \- | | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`becquerel` | Bq | (:code:`second`, -1) | 1/s | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`candela` | cd | \- | | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`coulomb` | C | (:code:`second`, 1), (:code:`ampere`, 1) | | s⋅A | +| | | | | F⋅V | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`dimensionless` | \- | \- | | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`farad` | F | (:code:`kilogram`, -1), (:code:`metre`, -2), | | C/V | +| | | (:code:`second`, 4), (:code:`ampere`, 2) | | s/Ω | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`gram` | g | 0.001⋅(:code:`kilogram`, 1) | | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`gray` | Gy | (:code:`metre`, 2), (:code:`second`, -2) | J/kg | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`henry` | H | (:code:`kilogram`, 1), (:code:`metre`, 2), | | V⋅s/A | +| | | (:code:`second`, -2), (:code:`ampere`, -2) | | Ω⋅s | +| | | | | Wb/A | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`hertz` | Hz | (:code:`second`, -1) | | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`joule` | J | (:code:`kilogram`, 1), (:code:`metre`, 2), | | N⋅m | +| | | (:code:`second`, -2) | | C⋅V | +| | | | | Wb⋅s | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`katal` | kat | (:code:`second`, -1), (:code:`mole`, 1) | | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`kelvin` | K | \- | | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`kilogram` | kg | \- | | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`litre` | l | 0.001⋅(:code:`metre`, 3) | | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`lumen` | lm | (:code:`candela`, 1) | cd⋅sr | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`lux` | lx | (:code:`metre`, -2), (:code:`candela`, 1) | lm/m\ :sup:`2` | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`metre` | m | \- | | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`mole` | mol | \- | | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`newton` | N | (:code:`kilogram`, 1), (:code:`metre`, 1), | | +| | | (:code:`second`, -2) | | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`ohm` | Ω | (:code:`kilogram`, 1), (:code:`metre`, 2), | | 1/S | +| | | (:code:`second`, -3), (:code:`ampere`, -2) | | V/A | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`pascal` | Pa | (:code:`kilogram`, 1), (:code:`metre`, -1), | N/m\ :sup:`2` | +| | | (:code:`second`, -2) | | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`radian` | rad | (:code:`dimensionless`, 1) | m/m | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`second` | s | \- | | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`siemens` | S | (:code:`kilogram`, -1), (:code:`metre`, -2), | | 1/Ω | +| | | (:code:`second`, 3), (:code:`ampere`, 2) | | A/V | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`sievert` | Sv | (:code:`metre`, 2), (:code:`second`, -2) | J/kg | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`steradian` | sr | (:code:`dimensionless`, 1) | m\ :sup:`2`/m\ :sup:`2` | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`tesla` | T | (:code:`kilogram`, 1), (:code:`second`, -2), | | V⋅s/m\ :sup:`2` | +| | | (:code:`ampere`, -1) | | Wb/m\ :sup:`2` | +| | | | | N/(A⋅m) | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`volt` | V | (:code:`kilogram`, 1), (:code:`metre`, 2), | | W/A | +| | | (:code:`second`, -3), (:code:`ampere`, -1) | | J/C | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`watt` | W | (:code:`kilogram`, 1), (:code:`metre`, 2), | | J/s | +| | | (:code:`second`, -3) | | V⋅A | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ +| :code:`weber` | Wb | (:code:`kilogram`, 1), (:code:`metre`, 2), | | J/A | +| | | (:code:`second`, -2), (:code:`ampere`, -1) | | T⋅m\ :sup:`2` | ++-----------------------+-------------------+----------------------------------------------+-------------------------+ .. marker_units_reference_end @@ -262,7 +173,7 @@ Interpretation of ``units`` elements 2. If the :code:`units` element has one or more :code:`unit` child elements, then the set of tuples SHALL consist of the entire collection of tuples given by all :code:`unit` child elements. Tuples for each :code:`unit` child element SHALL be determined as follows: - 1. Where the units reference of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. + 1. Where the ref:`units reference` of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. 2. Where the units reference of the :code:`unit` child element is to built-in units other than an irreducible unit, then the tuples SHALL be derived directly from the :ref:`Built-in units` table. Specifically, the set of tuples SHALL consist of the tuples given in the "Unit reduction tuple set" column of the row for which the value in the "Name" column matches the name of the units reference. @@ -284,29 +195,29 @@ Interpretation of ``units`` elements **Table 3.2: Prefix values** -======== ========= -**Name** **Value** -yotta 24 -zetta 21 -exa 18 -peta 15 -tera 12 -giga 9 -mega 6 -kilo 3 -hecto 2 -deca 1 -deci −1 -centi −2 -milli −3 -micro −6 -nano −9 -pico −12 -femto −15 -atto −18 -zepto −21 -yocto −24 -======== ========= +============== ========= +**Name** **Value** +:code:`yotta` 24 +:code:`zetta` 21 +:code:`exa` 18 +:code:`peta` 15 +:code:`tera` 12 +:code:`giga` 9 +:code:`mega` 6 +:code:`kilo` 3 +:code:`hecto` 2 +:code:`deca` 1 +:code:`deci` −1 +:code:`centi` −2 +:code:`milli` −3 +:code:`micro` −6 +:code:`nano` −9 +:code:`pico` −12 +:code:`femto` −15 +:code:`atto` −18 +:code:`zepto` −21 +:code:`yocto` −24 +============== ========= .. marker_interpretation_of_units_end .. marker_component_reference_start @@ -323,7 +234,7 @@ The term "component reference" refers to the value of a :code:`component_ref` at #. A component reference present in an information item which is a descendant of a :code:`model` element SHALL be identical to either the :code:`name` attribute on a :code:`component` element or to the :code:`name` attribute on an :code:`import component` element. -#. A component reference which is identical to the :code:`name` attribute on a :code:`component` element SHALL be treated as a reference to that :code:`component` element. +#. Where, within the same infoset, a :code:`component` element has a :code:`name` attribute identical to the component reference, the component reference SHALL refer to that :code:`component` element. #. A component reference which is identical to the :code:`name` attribute on an :code:`import component` element SHALL be treated for the purposes of referencing as if the component reference appeared in the imported model, and referred to element with the :code:`name` specified in the :code:`component_ref` attribute of the :code:`import component` element. @@ -369,7 +280,7 @@ Interpretation of ``initial_value`` attributes Effect of ``units`` on a ``variable`` ------------------------------------- -#. The value of the :code:`units` attribute on every :code:`variable` element MUST be a valid units reference. +#. The value of the :code:`units` attribute on every :code:`variable` element MUST be a valid :ref:`units reference`. The target of this units reference is referred to as the variable units, and the corresponding unit reduction (see :ref:`Interpretation of units`) is referred to as the variable unit reduction. .. marker_effect_of_units_on_variables_end @@ -407,7 +318,9 @@ Interpretation of ``encapsulation`` elements #. Where a :code:`component_ref` element appears as a child of another :code:`component_ref` element, there SHALL be an arc in the encapsulation digraph, and that arc SHALL be from the node corresponding to the component referenced by the parent :code:`component_ref` element, and to the node corresponding to the component referenced by the child :code:`component_ref` element. -#. The encapsulated set for a component *A* SHALL be the set of all components *B* such that there exists an arc in the encapsulation digraph from the node corresponding to *A* to the node corresponding to *B*. +.. _specC_encapsulation_set: + +3. The encapsulated set for a component *A* SHALL be the set of all components *B* such that there exists an arc in the encapsulation digraph from the node corresponding to *A* to the node corresponding to *B*. #. The encapsulation parent for a component *A* SHALL be the component corresponding to the node which is the parent node in the encapsulation digraph of the node corresponding to *A*. A component SHALL NOT appear as child of more than one encapsulation parent. From 5d967721a8152ea9f3c58d9aec019d7061d94fab Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Thu, 2 Apr 2020 16:06:07 +1300 Subject: [PATCH 319/604] Set version to '1.0.0-rc1'. --- src/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index dfca5f92..99643b20 100644 --- a/src/conf.py +++ b/src/conf.py @@ -173,9 +173,9 @@ def define_excluded_patterns(): # built documents. # # The short X.Y version. -version = 'latest' +version = '1.0.0-rc1' # The full version, including alpha/beta/rc tags. -release = 'latest' +release = '1.0.0-rc1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From d072da9a3c2eb373bda5b907aa1d848f0299a24c Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Thu, 2 Apr 2020 16:15:00 +1300 Subject: [PATCH 320/604] Move 'Trigonometric Operators' back to its original spot. --- src/reference/sectionB_elements.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index e70def82..e6c7b503 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -398,8 +398,8 @@ A :code:`math` element information item (referred to in this specification as a +----------------------------------+----------------------------------------------------------------+ | Qualifier Elements | :code:`bvar`, :code:`logbase`, :code:`degree` \* | +----------------------------------+----------------------------------------------------------------+ -| | | :code:`sin`, :code:`cos`, :code:`tan`, :code:`sec`, | -| Trigonometric Operators | :code:`csc`, :code:`cot`, | +| Trigonometric Operators | | :code:`sin`, :code:`cos`, :code:`tan`, :code:`sec`, | +| | :code:`csc`, :code:`cot`, | | | | :code:`sinh`, :code:`cosh`, :code:`tanh`, :code:`sech`, | | | :code:`csch`, :code:`coth`, | | | | :code:`arcsin`, :code:`arccos`, :code:`arctan`, | From f9142f8b0c32dd8b86ae51d51ea0b2e2a376af98 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Thu, 2 Apr 2020 16:15:34 +1300 Subject: [PATCH 321/604] Delete empty line in conf.py. --- src/conf.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/conf.py b/src/conf.py index 99643b20..3c4e3f5f 100644 --- a/src/conf.py +++ b/src/conf.py @@ -191,7 +191,6 @@ def define_excluded_patterns(): # directories to ignore when looking for source files. exclude_patterns = define_excluded_patterns() - # The reST default role (used for this markup: `text`) to use for all # documents. #default_role = None From 91d61a7ffce8c7aa10751deffce9ab2bbaef7210 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Thu, 2 Apr 2020 16:20:57 +1300 Subject: [PATCH 322/604] Bump version to 2.0.0-rc1. --- src/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index 3c4e3f5f..7f28b0ab 100644 --- a/src/conf.py +++ b/src/conf.py @@ -173,9 +173,9 @@ def define_excluded_patterns(): # built documents. # # The short X.Y version. -version = '1.0.0-rc1' +version = '2.0.0-rc1' # The full version, including alpha/beta/rc tags. -release = '1.0.0-rc1' +release = '2.0.0-rc1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From 8113f0ce03db7e534e7c3a441847cb694b5db987 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Thu, 2 Apr 2020 17:53:25 +1300 Subject: [PATCH 323/604] Change to usng a set environment variable with values. --- src/conf.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/conf.py b/src/conf.py index 7f28b0ab..2afd54f7 100644 --- a/src/conf.py +++ b/src/conf.py @@ -15,11 +15,13 @@ import os import sys +build_type = os.environ['CELLML_SPEC_BUILD'] if 'CELLML_SPEC_BUILD' in os.environ else 'Full' + def manage_index(direction, base_dir=''): files = ['master_index.rst', 'index.rst'] - if 'FORMAL_SINGLEPAGE' in os.environ: + if build_type == 'SinglePageNormative': files = ['formal_singlepage_index.rst', 'index.rst'] - elif 'FORMAL_ONLY' in os.environ: + elif build_type == 'MultiPageNormative': files = ['formal_only_index.rst', 'index.rst'] files = [os.path.join(base_dir, files[0]), os.path.join(base_dir, files[1])] @@ -31,9 +33,9 @@ def manage_index(direction, base_dir=''): def tex_document_name(): name = 'cellml2_specification' - if 'FORMAL_SINGLEPAGE' in os.environ: + if build_type == 'SinglePageNormative': name = 'cellml2_singlepage_normative_specification' - elif 'FORMAL_ONLY' in os.environ: + elif build_type == 'MultiPageNormative': name = 'cellml2_normative_specification' return name @@ -43,7 +45,7 @@ def define_excluded_patterns(): exclude_patterns = ['formal_only_index.rst', 'formal_singlepage_index.rst', 'reference/formal_section*', 'reference/formal_only/*',] - if 'FORMAL_SINGLEPAGE' in os.environ: + if build_type == 'SinglePageNormative': exclude_patterns = ['master_index.rst', 'formal_only_index.rst', 'reference/formal_and_informative/*.rst', 'reference/formal_only/*.rst', @@ -52,7 +54,7 @@ def define_excluded_patterns(): 'reference/formal_section*', 'reference/index_section*', 'reference/sectionD_references.rst',] - elif 'FORMAL_ONLY' in os.environ: + elif build_type == 'MultiPageNormative': exclude_patterns = ['master_index.rst', 'formal_singlepage_index.rst', 'reference/index_section*', 'reference/formal_and_informative/*.rst', @@ -61,6 +63,7 @@ def define_excluded_patterns(): return exclude_patterns + manage_index('in') # If extensions (or modules to document with autodoc) are in another directory, From a9f486d9846d82ade96fbab48e0eb454e85e5d55 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Thu, 2 Apr 2020 18:05:09 +1300 Subject: [PATCH 324/604] Update README with environment variable information. --- README.rst | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 3c39fcd4..940f83b4 100644 --- a/README.rst +++ b/README.rst @@ -46,7 +46,21 @@ To build the PDF form of the documentation simply execute the following command: make latexpdf -Note: Creating the PDF form of the documentation requires that latexmk is available, information on latexmk can be found at https://ctan.org/pkg/latexmk/. +Note: Creating the PDF form of the documentation requires that some or all of a tool like Windows/MikTeX, macOS/MacTeX, Windows/TeXlive, Linux/TeXlive is available to the Sphinx build tool. -Note: The documentation built with `make html` is different to the documentation built with `make latexpdf`. -The HTML form of the documentation is the full form being both the normative specification and the informative specification, the PDF form of the documentation is solely the normative specification. +Documentation builds +^^^^^^^^^^^^^^^^^^^^ + +There are three types of build that can be created from this codebase. + +1. Full documentation build of the normative and informative specification combined. +2. Multi-paged documentation build of the normative specification. +3. Single page documentation build of the normative specification. + +The different builds can be controlled through the use of the environment variable: + + CELLML_SPEC_BUILD + +To build the multi-paged normative specification set the value of this environment variable to 'MultiPageNormative'. +For the single page normative specification set the value of the environment variable to 'SinglePageNormative'. +Any other value, or if the environment variable is not set, will build the full documentation. From 56d2158b6377014c6aaefc26c7d8654cfb22086a Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Thu, 2 Apr 2020 18:07:46 +1300 Subject: [PATCH 325/604] Update README.rst --- README.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 940f83b4..0954fbd6 100644 --- a/README.rst +++ b/README.rst @@ -57,10 +57,10 @@ There are three types of build that can be created from this codebase. 2. Multi-paged documentation build of the normative specification. 3. Single page documentation build of the normative specification. -The different builds can be controlled through the use of the environment variable: +The different builds can be controlled through the use of the environment variable:: CELLML_SPEC_BUILD -To build the multi-paged normative specification set the value of this environment variable to 'MultiPageNormative'. -For the single page normative specification set the value of the environment variable to 'SinglePageNormative'. +To build the multi-paged normative specification set the value of this environment variable to **MultiPageNormative**. +For the single page normative specification set the value of the environment variable to **SinglePageNormative**. Any other value, or if the environment variable is not set, will build the full documentation. From 512bd56f22af78ef1aa5743b611f655715f9bd47 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Thu, 2 Apr 2020 21:05:49 +1300 Subject: [PATCH 326/604] Place spaces after colons in css files. --- src/static/css/cellml.css | 46 +++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/static/css/cellml.css b/src/static/css/cellml.css index 8d49989b..9af02ee2 100644 --- a/src/static/css/cellml.css +++ b/src/static/css/cellml.css @@ -1,19 +1,19 @@ /* @import url("../theme.css"); */ .rst-content tt.literal, .rst-content tt.literal, .rst-content code.literal { - color:darkslategray; + color: darkslategray; } pre { border: none; - background-color:#eeeeee; + background-color: #eeeeee; color: darkslategray; } .highlight { margin-top: 10px; margin-bottom: 10px; - background-color:#eeeeee; + background-color: #eeeeee; } div.figure a.image-reference { @@ -46,10 +46,10 @@ div[class^="issue"], div[class*=" issue"] > ol { .dothis { border-left: 5px solid rgb(174, 189, 145); - background:rgb(242, 249, 227); + background: rgb(242, 249, 227); padding: 3px 3px 3px 8px; - margin-top:20px; - margin-bottom:20px; + margin-top: 20px; + margin-bottom: 20px; line-height: 24px; font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; } @@ -77,14 +77,14 @@ div[class^="issue"], div[class*=" issue"] > ol { .infospec { /* border-top: 1px solid #b9c6dd; */ - background:#e1eaf0; + background: #e1eaf0; color: #444444; padding: 10px; - margin-top:0px; - margin-bottom:15px; - margin-left:0; - margin-right:0; + margin-top: 0px; + margin-bottom: 15px; + margin-left: 0; + margin-right: 0; line-height: 24px; font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; @@ -92,14 +92,14 @@ div[class^="issue"], div[class*=" issue"] > ol { .infolib { /* border-top: 1px solid #b9c6dd; */ - background:#e7f0e1; + background: #e7f0e1; color: #444444; padding: 10px; - margin-top:0px; - margin-bottom:15px; - margin-left:0; - margin-right:0; + margin-top: 0px; + margin-bottom: 15px; + margin-left: 0; + margin-right: 0; line-height: 24px; font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; @@ -107,10 +107,10 @@ div[class^="issue"], div[class*=" issue"] > ol { .nb { border-left: 5px solid sandybrown; - background:rgb(255, 243, 206); + background: rgb(255, 243, 206); padding: 3px 3px 3px 8px; - margin-top:20px; - margin-bottom:20px; + margin-top: 20px; + margin-bottom: 20px; line-height: 24px; font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; } @@ -118,7 +118,7 @@ div[class^="issue"], div[class*=" issue"] > ol { .heading1 { color: #444444; font-family: "Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif; - font-size:200%; + font-size: 200%; font-weight: 700; padding-bottom: 20px; } @@ -126,21 +126,21 @@ div[class^="issue"], div[class*=" issue"] > ol { .heading2 { color: #444444; font-family: "Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif; - font-size:150%; + font-size: 150%; font-weight: 700; } .heading3 { color: #444444; font-family: "Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif; - font-size:120%; + font-size: 120%; font-weight: 700; } .terminal { border: none; color: white; - background-color:#777777; + background-color: #777777; padding: 5px 0px 0px 10px; font-family: 'Consolas', 'Deja Vu Sans Mono','Bitstream Vera Sans Mono', monospace; font-size: 0.85em; From 6663ff897c91116a2bedbbb9fefc7aa80662227d Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Thu, 2 Apr 2020 21:22:18 +1300 Subject: [PATCH 327/604] Rework README text on CELLML_SPEC_BUILD. --- README.rst | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/README.rst b/README.rst index 940f83b4..be856415 100644 --- a/README.rst +++ b/README.rst @@ -46,21 +46,13 @@ To build the PDF form of the documentation simply execute the following command: make latexpdf -Note: Creating the PDF form of the documentation requires that some or all of a tool like Windows/MikTeX, macOS/MacTeX, Windows/TeXlive, Linux/TeXlive is available to the Sphinx build tool. +Note: Creating the PDF form of the documentation requires that some or all of a tool like Windows/MikTeX, Windows/TeXlive, Linux/TeXlive, and macOS/MacTeX is available to the Sphinx build tool. Documentation builds ^^^^^^^^^^^^^^^^^^^^ -There are three types of build that can be created from this codebase. +There are three types of build that can be created from this codebase, they can be selected through the use of the environment variable ``CELLML_SPEC_BUILD``. -1. Full documentation build of the normative and informative specification combined. -2. Multi-paged documentation build of the normative specification. -3. Single page documentation build of the normative specification. - -The different builds can be controlled through the use of the environment variable: - - CELLML_SPEC_BUILD - -To build the multi-paged normative specification set the value of this environment variable to 'MultiPageNormative'. -For the single page normative specification set the value of the environment variable to 'SinglePageNormative'. -Any other value, or if the environment variable is not set, will build the full documentation. +1. Full documentation build of the normative and informative specification combined [The default build]. +2. Single page documentation build of the normative specification, set ``CELLML_SPEC_BUILD=SinglePageNormative``. +3. Multi-paged documentation build of the normative specification, set ``CELLML_SPEC_BUILD=MultiPageNormative``. From 82e1a1ecfb4f154fab48f33600fbe65eeb6c4d35 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 3 Apr 2020 12:05:02 +1300 Subject: [PATCH 328/604] Add infromation on latexmk back in to README. --- README.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.rst b/README.rst index be856415..15bed147 100644 --- a/README.rst +++ b/README.rst @@ -47,6 +47,8 @@ To build the PDF form of the documentation simply execute the following command: make latexpdf Note: Creating the PDF form of the documentation requires that some or all of a tool like Windows/MikTeX, Windows/TeXlive, Linux/TeXlive, and macOS/MacTeX is available to the Sphinx build tool. +Also check that you have ``latexmk`` available as this is required for creating the PDF form of the documentation. +Information on latexmk can be found at https://ctan.org/pkg/latexmk/. Documentation builds ^^^^^^^^^^^^^^^^^^^^ From 748f108254e12cb9d5d80d62a9e826d3cd0638c6 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 3 Apr 2020 12:05:22 +1300 Subject: [PATCH 329/604] Set location of celmml.css to match destination location in build. --- src/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf.py b/src/conf.py index 2afd54f7..b4ef1ba0 100644 --- a/src/conf.py +++ b/src/conf.py @@ -413,4 +413,4 @@ def build_finished_handler(app, exception): def setup(app): app.connect('build-finished', build_finished_handler) - app.add_css_file('cellml.css') + app.add_css_file('css/cellml.css') From 6c5cd0e0563329abbe2a91da79c1c33c49b30a7f Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 3 Apr 2020 12:17:28 +1300 Subject: [PATCH 330/604] Added instructions on starting a web server to serve documentation. --- README.rst | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 15bed147..9ffdd17f 100644 --- a/README.rst +++ b/README.rst @@ -40,7 +40,7 @@ The built documentation will be available at:: /absolute/path/to/cellml-specification/build/html/index.html -Any good internet browser will be able to display the documentation. +Any good internet browser will be able to display the documentation (see also _`Serving the documentation`). To build the PDF form of the documentation simply execute the following command:: @@ -58,3 +58,30 @@ There are three types of build that can be created from this codebase, they can 1. Full documentation build of the normative and informative specification combined [The default build]. 2. Single page documentation build of the normative specification, set ``CELLML_SPEC_BUILD=SinglePageNormative``. 3. Multi-paged documentation build of the normative specification, set ``CELLML_SPEC_BUILD=MultiPageNormative``. + +Serving the documentation +^^^^^^^^^^^^^^^^^^^^^^^^^ + +You can serve the documentation locally using a simple Python server. +Save the following text to a file named ``webserver.py`` (this file can be saved anywhere on your harddrive):: + + #!/usr/bin/env python + + import http.server + import socketserver + + PORT = 8008 + Handler = http.server.SimpleHTTPRequestHandler + + with socketserver.TCPServer(("", PORT), Handler) as httpd: + print("Serving at port", PORT) + httpd.serve_forever() + +To run the web server use a terminal type application and change directory into:: + + cd /absolute/path/to/cellml-specification/build/html/ + python /absolute/path/to/webserver.py + +Now open your internet browser and open the location:: + + http://localhost:8008/ From 04233da6f75280990071c0834894c275389e4f23 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 3 Apr 2020 12:21:48 +1300 Subject: [PATCH 331/604] Update README.rst Modify link to serving documentation heading. --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 9ffdd17f..32c6d177 100644 --- a/README.rst +++ b/README.rst @@ -40,7 +40,7 @@ The built documentation will be available at:: /absolute/path/to/cellml-specification/build/html/index.html -Any good internet browser will be able to display the documentation (see also _`Serving the documentation`). +Any good internet browser will be able to display the documentation (see also `Serving the documentation`_). To build the PDF form of the documentation simply execute the following command:: From 3b808f51dee734f43dfa3e81c2fd2dfc5e705561 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 3 Apr 2020 12:23:56 +1300 Subject: [PATCH 332/604] Modify README serving documentation. --- README.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 32c6d177..ccd4a9c8 100644 --- a/README.rst +++ b/README.rst @@ -80,8 +80,11 @@ Save the following text to a file named ``webserver.py`` (this file can be saved To run the web server use a terminal type application and change directory into:: cd /absolute/path/to/cellml-specification/build/html/ + +then run the command:: + python /absolute/path/to/webserver.py -Now open your internet browser and open the location:: +Now launch your internet browser and open the location:: http://localhost:8008/ From 9dd5962dfd8d7b0f479fdd9d0c7aeffc5854987b Mon Sep 17 00:00:00 2001 From: David Nickerson Date: Fri, 3 Apr 2020 14:50:34 +1300 Subject: [PATCH 333/604] Tidy up 3.4, issue 149 Fixes #149, tidying up the rules. The intro paragraph is explicit in the elements and attributes being discussed so no longer a need for the catch-all clause in the rules. --- src/reference/sectionC_interpretation.inc | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 02c54da0..b274ba25 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -319,8 +319,6 @@ The term "component reference" refers to the value of a :code:`component_ref` at #. A component reference SHALL be the name of a component, and SHALL be interpreted based on the context within the :ref:`CellML model` in which it occurs. -#. A component reference present in an information item which is a descendant of a :code:`model` element SHALL be identical to either the :code:`name` attribute on a :code:`component` element or to the :code:`name` attribute on an :code:`import component` element. - #. Where, within the same infoset, a :code:`component` element has a :code:`name` attribute identical to the component reference, the component reference SHALL refer to that :code:`component` element. #. A component reference which is identical to the :code:`name` attribute on an :code:`import component` element SHALL be treated for the purposes of referencing as if the component reference appeared in the imported model, and referred to element with the :code:`name` specified in the :code:`component_ref` attribute of the :code:`import component` element. From ae1fc7d8ffebc7459135675ce15543a20769ab60 Mon Sep 17 00:00:00 2001 From: David Nickerson Date: Fri, 3 Apr 2020 14:59:46 +1300 Subject: [PATCH 334/604] Add link to comment infoitems Fixes #129. --- src/reference/sectionA_definitions.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index ef99c578..01792822 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -134,7 +134,7 @@ Semantically equivalent CellML infosets #. Two :ref:`CellML infosets` SHALL be deemed semantically equivalent if one can be transformed into the other by making any or none of the following changes: - #. Adding, removing, and/or modifying comment information items. + #. Adding, removing, and/or modifying comment information items (https://www.w3.org/TR/xml-infoset/#infoitem.comment). #. Changing (inserting, removing, and/or modifying) one or more namespace information items, and/or modifying the prefix of one or more information items, without changing the namespace that any information item is in. From 80745d469cfa17c6e2586149ef1a52a3850ecc02 Mon Sep 17 00:00:00 2001 From: David Nickerson Date: Fri, 3 Apr 2020 15:13:45 +1300 Subject: [PATCH 335/604] Tweak title of semantic equivalence rules Fixes #131 --- src/reference/sectionA_definitions.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 01792822..69283506 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -129,12 +129,12 @@ Specific information items .. _specA_semantic_equivalence: -Semantically equivalent CellML infosets ---------------------------------------- +Non-specific information items +------------------------------ #. Two :ref:`CellML infosets` SHALL be deemed semantically equivalent if one can be transformed into the other by making any or none of the following changes: - #. Adding, removing, and/or modifying comment information items (https://www.w3.org/TR/xml-infoset/#infoitem.comment). + #. Adding, removing, and/or modifying `comment information items `__. #. Changing (inserting, removing, and/or modifying) one or more namespace information items, and/or modifying the prefix of one or more information items, without changing the namespace that any information item is in. From 32dbae2b30360b5ceee777095969f24837456be1 Mon Sep 17 00:00:00 2001 From: David Nickerson Date: Fri, 3 Apr 2020 15:28:59 +1300 Subject: [PATCH 336/604] Improved language for interpretation of imports. Fixes #155. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index b274ba25..5caf0b5b 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -11,7 +11,7 @@ Interpretation of ``import`` elements #. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset which is referenced by the :code:`href` attribute (the imported infoset). This imported infoset instance SHALL provide the context in which the child of an import element (a :code:`units` or :code:`component` element) is defined and interpreted. -#. The imported infoset SHALL be considered holistically such that items relevant to the imported infoset (:code:`unit` children of imported :code:`units` elements or the :ref:`encapsulated set` of imported :code:`component` elements) are themselves available to that :code:`import` element child. +#. The imported infoset SHALL be considered such that items relevant to the imported infoset (:code:`unit` children of imported :code:`units` elements or the :ref:`encapsulated set` of imported :code:`component` elements) are themselves available to that :code:`import` element child. It is noted, for the avoidance of doubt, that the importing infoset SHALL NOT have access to such implicitly imported items, but only to explicitly specified :code:`import` element children. See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. From c83419f419ab9bd1d2f040d536372257c9d148ca Mon Sep 17 00:00:00 2001 From: David Nickerson Date: Fri, 3 Apr 2020 15:57:06 +1300 Subject: [PATCH 337/604] Correct heading level Oops, missed the change in section heading underline format when resolving conflict. --- src/reference/sectionA_definitions.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index c182a064..34230070 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -130,7 +130,7 @@ Specific information items .. _specA_semantic_equivalence: Non-specific information items ------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #. Two :ref:`CellML infosets` SHALL be deemed semantically equivalent if one can be transformed into the other by making any or none of the following changes: From 9a2b45cabf2d8220f3915d54f39b18de78b9086c Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 7 Apr 2020 12:04:47 +1200 Subject: [PATCH 338/604] Use Sphinx singlehtml target to build single page HTML. --- README.rst | 15 +++++++--- src/conf.py | 19 ++----------- src/formal_only_index.rst | 36 ++---------------------- src/formal_singlepage_index.rst | 49 --------------------------------- 4 files changed, 17 insertions(+), 102 deletions(-) delete mode 100644 src/formal_singlepage_index.rst diff --git a/README.rst b/README.rst index ccd4a9c8..2c9e67a7 100644 --- a/README.rst +++ b/README.rst @@ -42,6 +42,14 @@ The built documentation will be available at:: Any good internet browser will be able to display the documentation (see also `Serving the documentation`_). +To build the documentation into a single page HTML document execute the following command:: + + make singlehtml + +The built documentation will be available at:: + + /absolute/path/to/cellml-specification/build/singlehtml/index.html + To build the PDF form of the documentation simply execute the following command:: make latexpdf @@ -53,11 +61,10 @@ Information on latexmk can be found at https://ctan.org/pkg/latexmk/. Documentation builds ^^^^^^^^^^^^^^^^^^^^ -There are three types of build that can be created from this codebase, they can be selected through the use of the environment variable ``CELLML_SPEC_BUILD``. +There are two types of build that can be created from this codebase, they can be selected through the use of the environment variable ``CELLML_SPEC_BUILD``. -1. Full documentation build of the normative and informative specification combined [The default build]. -2. Single page documentation build of the normative specification, set ``CELLML_SPEC_BUILD=SinglePageNormative``. -3. Multi-paged documentation build of the normative specification, set ``CELLML_SPEC_BUILD=MultiPageNormative``. +1. Normative and informative specification combined, the default build. +2. Normative only, set ``CELLML_SPEC_BUILD=Normative``. Serving the documentation ^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/conf.py b/src/conf.py index b4ef1ba0..dea2e8ca 100644 --- a/src/conf.py +++ b/src/conf.py @@ -19,9 +19,7 @@ def manage_index(direction, base_dir=''): files = ['master_index.rst', 'index.rst'] - if build_type == 'SinglePageNormative': - files = ['formal_singlepage_index.rst', 'index.rst'] - elif build_type == 'MultiPageNormative': + if build_type == 'Normative': files = ['formal_only_index.rst', 'index.rst'] files = [os.path.join(base_dir, files[0]), os.path.join(base_dir, files[1])] @@ -33,9 +31,7 @@ def manage_index(direction, base_dir=''): def tex_document_name(): name = 'cellml2_specification' - if build_type == 'SinglePageNormative': - name = 'cellml2_singlepage_normative_specification' - elif build_type == 'MultiPageNormative': + if build_type == 'Normative': name = 'cellml2_normative_specification' return name @@ -45,16 +41,7 @@ def define_excluded_patterns(): exclude_patterns = ['formal_only_index.rst', 'formal_singlepage_index.rst', 'reference/formal_section*', 'reference/formal_only/*',] - if build_type == 'SinglePageNormative': - exclude_patterns = ['master_index.rst', 'formal_only_index.rst', - 'reference/formal_and_informative/*.rst', - 'reference/formal_only/*.rst', - 'reference/libcellml/*.rst', - 'reference/informative/*.rst', - 'reference/formal_section*', - 'reference/index_section*', - 'reference/sectionD_references.rst',] - elif build_type == 'MultiPageNormative': + if build_type == 'Normative': exclude_patterns = ['master_index.rst', 'formal_singlepage_index.rst', 'reference/index_section*', 'reference/formal_and_informative/*.rst', diff --git a/src/formal_only_index.rst b/src/formal_only_index.rst index f2a7a586..7a48a4be 100644 --- a/src/formal_only_index.rst +++ b/src/formal_only_index.rst @@ -7,41 +7,11 @@ Normative CellML 2.0 Specification This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. - Users of CellML models should read the informative version of the CellML Specification which is available at https://cellml.org/specifications/cellml_2.0. -**Authors:** -Michael Clerx, -Michael T. Cooling, -Jonathan Cooper, -Alan Garny, -Keri Moyle, -David P. Nickerson, -Poul Nielsen, and -Hugh Sorby. - -**Contributors:** -Koray Atalag, -David Brooks, -Edmund J. Crampin, -Jesús Carro Fernández, -Peter J. Hunter, -Gary R. Mirams, and -Maxwell L. Neal. - -The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification, although the semantics have changed considerably. -The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: -Andrew K. Miller (who wrote the text reused here), -Randall Britten, -Jonathan Cooper, -Alan Garny, -Peter J. Hunter, -Justin Marsh, -Poul Nielsen, -David P. Nickerson, and -Hugh Sorby. - -**Contact:** editors@cellml.org +A PDF of this page is available from https://www.cellml.org/specifications/cellml_2.0/Normative_CellML_2.0_Specifcation_PDF. + +.. include:: reference/acknowledgements.inc .. toctree:: :maxdepth: 2 diff --git a/src/formal_singlepage_index.rst b/src/formal_singlepage_index.rst deleted file mode 100644 index 9a7c854b..00000000 --- a/src/formal_singlepage_index.rst +++ /dev/null @@ -1,49 +0,0 @@ -.. _formal_singlepage: - -.. container:: heading1 - - Normative CellML 2.0 Specification - -This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. -It is intended primarily for the developers of software tools which directly consume CellML syntax. - -Users of CellML models should read the informative version of the CellML Specification which is available at https://cellml.org/specifications/cellml_2.0. - -A PDF of this page is available from **TODO**. - -.. include:: reference/acknowledgements.inc - -.. toctree:: - :numbered: - -.. _formal_singlepage_definitions: - -.. only:: latex - - ----------- - Definitions - ----------- - ------------ -Definitions ------------ - -.. include:: reference/sectionA_definitions.inc - -------------------------- -Element information items -------------------------- - -.. include:: reference/sectionB_elements.inc - --------------- -Interpretation --------------- - -.. include:: reference/sectionC_interpretation.inc - ----------- -References ----------- - -.. include:: reference/sectionD_references.inc From b59ff126798688a1be44096c6b257e5ea356c12e Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 7 Apr 2020 14:08:56 +1200 Subject: [PATCH 339/604] Remove black line in conf.py. --- src/conf.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/conf.py b/src/conf.py index 8d9e555f..7e269746 100644 --- a/src/conf.py +++ b/src/conf.py @@ -302,7 +302,6 @@ def define_excluded_patterns(): # Output file base name for HTML help builder. htmlhelp_basename = 'CellMLdoc' - # -- Options for LaTeX output --------------------------------------------- latex_engine = 'xelatex' From e3450edb0cea6e590bbd603cca703d4e4d3fd623 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 7 Apr 2020 18:08:42 +1200 Subject: [PATCH 340/604] Remove exclusion of deleted file. --- src/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index 7e269746..39735f8d 100644 --- a/src/conf.py +++ b/src/conf.py @@ -38,11 +38,11 @@ def tex_document_name(): def define_excluded_patterns(): - exclude_patterns = ['formal_only_index.rst', 'formal_singlepage_index.rst', + exclude_patterns = ['formal_only_index.rst', 'reference/formal_section*', 'reference/formal_only/*',] if build_type == 'Normative': - exclude_patterns = ['master_index.rst', 'formal_singlepage_index.rst', + exclude_patterns = ['master_index.rst', 'reference/index_section*', 'reference/formal_and_informative/*.rst', 'reference/informative/*.rst', From 74565b56212134c16f06975659faa2ef1546f9a0 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 7 Apr 2020 18:08:54 +1200 Subject: [PATCH 341/604] Add comma to documentation. --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 2c9e67a7..ef1e6c4c 100644 --- a/README.rst +++ b/README.rst @@ -50,7 +50,7 @@ The built documentation will be available at:: /absolute/path/to/cellml-specification/build/singlehtml/index.html -To build the PDF form of the documentation simply execute the following command:: +To build the PDF form of the documentation, simply execute the following command:: make latexpdf From ac11c44170822270e717cb787f55ccba822e9564 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 7 Apr 2020 20:57:41 +1200 Subject: [PATCH 342/604] Add more styling to README.rst. --- README.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index ef1e6c4c..1ddd80c2 100644 --- a/README.rst +++ b/README.rst @@ -22,7 +22,7 @@ Next setup a virtual environment:: virtualenv venv_specification -Note: Make sure you are creating a Python 3 virtual environment, if required use the -p flag to set the Python interpreter (for example `virtualenv -p /absolute/path/to/python venv_specification`). +**Note:** make sure you are creating virtual environment using a suitable Python interpreter, if required use the ``-p`` flag to set the Python interpreter (for example ``virtualenv -p /absolute/path/to/python venv_specification``). Then activate the virtual environment and instal the required packages:: @@ -31,7 +31,7 @@ Then activate the virtual environment and instal the required packages:: pip install -r cellml-specification/requirements.txt That completes the environment setup required for building the documentation. -Once the environment is completed the HTML form of the documentation can be built with the following commands:: +Once the environment is completed, the HTML form of the documentation can be built with the following commands:: cd cellml-specification make html @@ -54,9 +54,9 @@ To build the PDF form of the documentation, simply execute the following command make latexpdf -Note: Creating the PDF form of the documentation requires that some or all of a tool like Windows/MikTeX, Windows/TeXlive, Linux/TeXlive, and macOS/MacTeX is available to the Sphinx build tool. +**Note:** creating the PDF form of the documentation requires that some or all of a tool like Windows/`MikTeX `_, Windows/`TeXlive `_, Linux/`TeXlive `_, and macOS/`MacTeX `_ is available to the Sphinx build tool. Also check that you have ``latexmk`` available as this is required for creating the PDF form of the documentation. -Information on latexmk can be found at https://ctan.org/pkg/latexmk/. +Information on ``latexmk`` can be found at https://ctan.org/pkg/latexmk/. Documentation builds ^^^^^^^^^^^^^^^^^^^^ @@ -84,7 +84,7 @@ Save the following text to a file named ``webserver.py`` (this file can be saved print("Serving at port", PORT) httpd.serve_forever() -To run the web server use a terminal type application and change directory into:: +To run the web server, use a terminal type application and change directory into:: cd /absolute/path/to/cellml-specification/build/html/ From e88cad1a0d73b77e0a423bccd67ed9dd23edb3cd Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 7 Apr 2020 20:58:28 +1200 Subject: [PATCH 343/604] Set the year to the current build year. Set an unofficial document statement at the top of the documentation. --- src/conf.py | 7 ++++++- src/formal_only_index.rst | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index 39735f8d..25b3d44c 100644 --- a/src/conf.py +++ b/src/conf.py @@ -14,6 +14,11 @@ import os import sys +import datetime + +date_today = datetime.datetime.today() + +tags.add('unofficial') build_type = os.environ['CELLML_SPEC_BUILD'] if 'CELLML_SPEC_BUILD' in os.environ else 'Full' @@ -153,7 +158,7 @@ def define_excluded_patterns(): # General information about the project. project = u'CellML 2.0' -copyright = u'2019-@SPHINX_YEAR@, CellML Editors and Contributors' +copyright = u'2019-{0}, CellML Editors and Contributors'.format(date_today.year) # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the diff --git a/src/formal_only_index.rst b/src/formal_only_index.rst index 7a48a4be..b124ce01 100644 --- a/src/formal_only_index.rst +++ b/src/formal_only_index.rst @@ -1,9 +1,13 @@ -.. _formal: +.. _normative: ================================== Normative CellML 2.0 Specification ================================== +.. only:: unofficial + + This is **not** the official version of the normative specification. + This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. From 430791422a62c27e6a2b500a018487516d5bfb7f Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Tue, 7 Apr 2020 21:01:00 +1200 Subject: [PATCH 344/604] Change the name of src/formal_only_index.rst -> src/normative_only_index.rst. --- src/conf.py | 4 ++-- src/{formal_only_index.rst => normative_only_index.rst} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename src/{formal_only_index.rst => normative_only_index.rst} (100%) diff --git a/src/conf.py b/src/conf.py index 25b3d44c..5a5fee72 100644 --- a/src/conf.py +++ b/src/conf.py @@ -25,7 +25,7 @@ def manage_index(direction, base_dir=''): files = ['master_index.rst', 'index.rst'] if build_type == 'Normative': - files = ['formal_only_index.rst', 'index.rst'] + files = ['normative_only_index.rst', 'index.rst'] files = [os.path.join(base_dir, files[0]), os.path.join(base_dir, files[1])] if direction == 'out': @@ -43,7 +43,7 @@ def tex_document_name(): def define_excluded_patterns(): - exclude_patterns = ['formal_only_index.rst', + exclude_patterns = ['normative_only_index.rst', 'reference/formal_section*', 'reference/formal_only/*',] if build_type == 'Normative': diff --git a/src/formal_only_index.rst b/src/normative_only_index.rst similarity index 100% rename from src/formal_only_index.rst rename to src/normative_only_index.rst From dc25db51a630553bfecd74d3eef62a5e5542481f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 8 Apr 2020 09:08:39 +1200 Subject: [PATCH 345/604] Adding cellml toggles and pseudocode --- .../informC04_component_reference.rst | 216 ++++++++++++------ 1 file changed, 151 insertions(+), 65 deletions(-) diff --git a/src/reference/informative/informC04_component_reference.rst b/src/reference/informative/informC04_component_reference.rst index d7b97311..a32881f8 100644 --- a/src/reference/informative/informC04_component_reference.rst +++ b/src/reference/informative/informC04_component_reference.rst @@ -12,89 +12,175 @@ Understanding component references - As with references to units and variables, the term "component reference" refers to both sides of the naming and calling transaction. - Its use includes both the item which *possesses* the reference (i.e.: a :code:`component` or :code:`import component` with a :code:`name` attribute) as well as the item which is *calling* the reference (i.e.: an item requesting the named component via its own :code:`component_ref` attribute). + As with references to units and variables, the term "component reference" refers to places where you need to specify a component by name. + This is done through the :code:`component_ref` attribute found in :code:`encapsulation` and :code:`import component` elements, as well as the :code:`component_1` and :code:`component_2` attributes of :code:`connection` elements. - The complicated part to understand is the *scope* of a component's reference, or the appropriate name by which to call it depending on who is doing the calling. + The complicated part occurs during imports, and involves understanding the *scope* of a component's reference. + This is really just the appropriate name by which to call it depending on who is doing the calling. Consider the following example. Here, two families live next door to one another, and within each family unit use the terms "husband" and "wife" to refer to one another. In the wider neighbourhood, however, they must be referred to by their names: "BarbaraGood", "TomGood", "JerryLeadbetter", and "MargotLeadbetter". - .. code-block:: xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - + .. code:: + + model: SurbitonNeighbourhood + ├─ component: TomGood <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ + ├─ component: BarbaraGood <╴╴╴╴╴╴╴╴╴┐ ╷ + ├─ component: MargotLeadbetter <╴╴╷ ╷ ╷ + └─ component: JerryLeadbetter <╴┐ ╷ ╷ ╷ + ╷ ╷ ╷ ╷ + imported components + ╵ ╵ ╵ ╵ + # In LeadbetterFamily.cellml: ╵ ╵ ╵ ╵ + model: LeadbetterFamilyModel ╵ ╵ ╵ ╵ + ├─ component: husband ╴╴╴╴╴╴╴╴╴╴┘ ╵ ╵ ╵ + └─ component: wife ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ ╵ ╵ + ╵ ╵ + # In GoodFamily.cellml: ╵ ╵ + model: GoodFamilyModel ╵ ╵ + ├─ component: wife ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ ╵ + └─ component: husband ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ + + + .. toggle:: + + .. header:: + + See CellML syntax + + .. code-block:: xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Now let's make things more interesting by adding an encapsulation hierarchy: - .. code-block:: xml - - - - ... - - - - - - - - - - - - - - - - - - This particular encapsulation structure means that the women (Barbara and Margot) are essentially unable to have any contact with the men (Tom and Jerry) even though their original components in the imported models were able to access one another. + .. code:: + + model: SurbitonNeighbourhood + ├─ component: WomenInTheNeighbourhood + │ ├─ component: BarbaraGood <╴╴╴╴╴╴╴╴╴╴╴┐ + │ └─ component: MargotLeadbetter <╴╴╴╴┐ ╷ + └─ component: MenInTheNeighbourhood ╷ ╷ + ├─ component: TomGood <╴╴╴╴╴╴╴╴╴╴╴┐ ╷ ╷ + └─ component: JerryLeadbetter <╴┐ ╷ ╷ ╷ + ╷ ╷ ╷ ╷ + imported components + ╵ ╵ ╵ ╵ + # In LeadbetterFamily.cellml: ╵ ╵ ╵ ╵ + model: LeadbetterFamilyModel ╵ ╵ ╵ ╵ + ├─ component: husband ╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ ╵ ╵ ╵ + └─ component: wife ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┼╴┘ ╵ + ╵ ╵ + # In GoodFamily.cellml: ╵ ╵ + model: GoodFamilyModel ╵ ╵ + ├─ component: husband ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ ╵ + └─ component: wife ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ + + .. toggle:: + + .. header:: + + See CellML syntax + + .. code-block:: xml + + + ... + + + + + + + + + + + + + + + + + This particular encapsulation structure means that the women (Barbara and Margot) are essentially unable to have any contact with the men (Tom and Jerry) even though their original components in the models from which they were imported *were* able to access one another. Note also that these locality naming-calling rules are be applied through multiple generations of importing. Since The Good Life is a TV show, there are actors who play the roles of each of the characters. This could be reflected by using another generation of imports within the two family files like this: + .. code:: + + model: SurbitonNeighbourhood + ├─ component: WomenInTheNeighbourhood + │ ├─ component: BarbaraGood <╴╴╴╴╴╴╴╴╴╴╴╴╴┐ + │ └─ component: MargotLeadbetter <╴╴╴╴╴╴┐ ╷ + └─ component: MenInTheNeighbourhood ╷ ╷ + ├─ component: TomGood <╴╴╴╴╴╴╴╴╴╴╴╴╴┐ ╷ ╷ + └─ component: JerryLeadbetter <╴╴╴┐ ╷ ╷ ╷ + ╷ ╷ ╷ ╷ + imported components + ╵ ╵ ╵ ╵ + # In LeadbetterFamily.cellml: ╵ ╵ ╵ ╵ + model: TheLeadbetterFamilyUnit ╵ ╵ ╵ ╵ + ┌╴╴╴╴╴╴╴╴> ├─ component: husband ╴╴╴╴╴╴╴┘ ╵ ╵ ╵ + ╷ ┌ ╴╴╴╴╴> └─ component: wife ╴╴╴╴╴╴╴╴╴╴╴╴┼╴┘ ╵ + ╷ ╷ ╵ ╵ + ╷ ╷ # In GoodFamily.cellml: ╵ ╵ + ╷ ╷ model: TheGoodFamilyUnit ╵ ╵ + ╷ ╷ ┌╴╴╴> ├─ component: husband ╴╴╴╴╴╴╴╴╴╴┘ ╵ + ╷ ╷ ╷ ┌╴> └─ component: wife ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ + ╷ ╷ ╷ ╷ + imported components + ╵ ╵ ╵ ╵ + ╵ ╵ ╵ ╵ # In CastOfCharacters.cellml: + ╵ ╵ ╵ ╵ model: + ╵ ╵ ╵ └╴╴╴├─ component: FelicityKendal + ╵ ╵ └╴╴╴╴╴├─ component: RichardBriers + ╵ └╴╴╴╴╴╴╴├─ component: + └╴╴╴╴╴╴╴╴╴└─ component: + .. code-block:: xml - + @@ -102,7 +188,7 @@ - + From 1e4cd58a2da8e5c412515b64ae8188ff59716095 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 8 Apr 2020 09:10:19 +1200 Subject: [PATCH 346/604] Includin informative spec block --- .../formal_and_informative/specC04_component_reference.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/formal_and_informative/specC04_component_reference.rst b/src/reference/formal_and_informative/specC04_component_reference.rst index 94ba6977..9bd86a09 100644 --- a/src/reference/formal_and_informative/specC04_component_reference.rst +++ b/src/reference/formal_and_informative/specC04_component_reference.rst @@ -4,4 +4,4 @@ :start-after: marker_component_reference_start :end-before: marker_component_reference_end -.. todo ../informative/informC04_component_reference.rst +.. include:: ../informative/informC04_component_reference.rst From 2f88f95217505621d2eba61fe41ed00e875e6bca Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 8 Apr 2020 09:16:33 +1200 Subject: [PATCH 347/604] Added missing names --- src/reference/informative/informC04_component_reference.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/informative/informC04_component_reference.rst b/src/reference/informative/informC04_component_reference.rst index a32881f8..254a9f1f 100644 --- a/src/reference/informative/informC04_component_reference.rst +++ b/src/reference/informative/informC04_component_reference.rst @@ -173,8 +173,8 @@ ╵ ╵ ╵ ╵ model: ╵ ╵ ╵ └╴╴╴├─ component: FelicityKendal ╵ ╵ └╴╴╴╴╴├─ component: RichardBriers - ╵ └╴╴╴╴╴╴╴├─ component: - └╴╴╴╴╴╴╴╴╴└─ component: + ╵ └╴╴╴╴╴╴╴├─ component: PenelopeKeith + └╴╴╴╴╴╴╴╴╴└─ component: PaulEddington .. code-block:: xml From d8603a25238e1458ee5885b1f4613f5ef1323619 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 8 Apr 2020 09:21:40 +1200 Subject: [PATCH 348/604] Fix toggles --- .../informative/informC04_component_reference.rst | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/reference/informative/informC04_component_reference.rst b/src/reference/informative/informC04_component_reference.rst index 254a9f1f..cbe7ad70 100644 --- a/src/reference/informative/informC04_component_reference.rst +++ b/src/reference/informative/informC04_component_reference.rst @@ -22,7 +22,6 @@ Here, two families live next door to one another, and within each family unit use the terms "husband" and "wife" to refer to one another. In the wider neighbourhood, however, they must be referred to by their names: "BarbaraGood", "TomGood", "JerryLeadbetter", and "MargotLeadbetter". - .. code:: model: SurbitonNeighbourhood @@ -42,11 +41,10 @@ model: GoodFamilyModel ╵ ╵ ├─ component: wife ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ ╵ └─ component: husband ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ - - .. toggle:: + .. container:: toggle - .. header:: + .. container:: header See CellML syntax @@ -111,9 +109,9 @@ ├─ component: husband ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ ╵ └─ component: wife ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ - .. toggle:: + .. container:: toggle - .. header:: + .. container:: header See CellML syntax From 9ecfec41728ec072c4c10b858669cdbbf11d7bd4 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 8 Apr 2020 10:50:33 +1200 Subject: [PATCH 349/604] Update informC02_units_reference.rst --- .../informative/informC02_units_reference.rst | 231 ++++++++++++------ 1 file changed, 150 insertions(+), 81 deletions(-) diff --git a/src/reference/informative/informC02_units_reference.rst b/src/reference/informative/informC02_units_reference.rst index efe3048e..c2378181 100644 --- a/src/reference/informative/informC02_units_reference.rst +++ b/src/reference/informative/informC02_units_reference.rst @@ -12,95 +12,164 @@ Understanding units references - Units are different from other element types in that their names could refer either to other units which you've imported or created in your model, or to one of the list of :ref:`built-in units`. - The same naming conventions apply here as elsewhere, so that part is fairly straightforward. + Units references are different from other reference types in that their value could refer either to other units which you've imported or created in your model, or to one of the list of :ref:`built-in units`. - The trickier part is understanding the *scope* or *domain* in which named units exist, which is what points 1 and 2.2 are alluding to. + The trickier part is understanding them is during an import process, where the *scope* or *domain* in which named units exist becomes important, as alluded to in points :hardcodedref:`3.2.1 and 3.2.2.2`. Consider the example below. The first model :code:`BlueberryPieRecipe` simply combines two pre-made component ingredients; one for the crust and one for the filling. - .. code-block:: xml - - - - - - - - - - + .. code:: + + model: BlueberryPieRecipe + ├─ component: crust <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ + └─ component: filling <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ ╷ + ╷ ╷ + imported components + ╵ ╵ + # In filling_recipes.cellml: ╵ ╵ + model: FillingRecipeCollection ╵ ╵ + ├─ component: BlueberryCinnamonFilling ╶┘ ╵ + └─ component: AppleAndPearFilling ╵ + ╵ + # In crust_recipes.cellml: ╵ + model: PieCrustRecipes ╵ + ├─ component: HazelnutLavenderCrust ╴╴╴╴╴╴┘ + └─ component: CheeseAndAlmondCrust + + .. container:: toggle + + .. container:: header + + See CellML syntax + + .. code-block:: xml + + + + + + + + + + The components are imported from separate files, each of which defines and uses its own local definitions of the custom measurement units :code:`spoon`, :code:`dash`, and :code:`smidgen`. - .. code-block:: xml - - - - - - - - - - - - - - - - - ... - - - - ... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ... - - - - - ... - - - - - - - - - - - + .. code:: + + model: BlueberryPieRecipe + ├─ component: crust <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ + └─ component: filling <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ ╷ + ╷ ╷ + imported components + and the units they need + ╵ ╵ + # In filling_recipes.cellml: ╵ ╵ + model: FillingRecipeCollection ╵ ╵ + ├─ component: BlueberryCinnamonFilling ╶┘ ╵ + └─ component: AppleAndPearFilling ╵ + ╵ + # In crust_recipes.cellml: ╵ + model: PieCrustRecipes ╵ + ├─ component: HazelnutLavenderCrust ╴╴╴╴╴╴┬┬┬┘ + │ ├─ variable: ground_hazelnut (gram) ╷╷╷ + │ ├─ variable: egg (dimensionless) ╷╷╷ + │ ├─ variable: flour (gram) units are implicitly + │ ├─ variable: sugar (gram) imported by the component + │ ├─ variable: water ╵╵╵ + ┌╴╴╴╴╴╴╴╴╴╴> └─ units: spoonful ╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘╵╵ + ╷ │ ├─ variable: salt ╵╵ + ╷┌╴╴╴╴╴╴╴╴╴> └─ units: dash ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘╵ + ╷╷ │ └─ variable: lavender_flowers ╵ + ╷╷┌╴╴╴╴╴╴╴╴> └─ units: smidgen ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ + ╷╷╷ │ + explicitly used local custom units + ╵╵╵ │ + ╵╵╵ ├─ component: CheeseAndAlmondCrust + ╵╵╵ │ + ╵╵└╴├─ units: smidgen + ╵└╴╴├─ units: dash + └╴╴╴├─ units: spoonful + └─ units: dollop + # Units like "dollop" that not used by the imported + # component are not imported. + + + .. container:: toggle + + .. container:: header + + See CellML syntax + + .. code-block:: xml + + + + + + + + + + + + + + + + + ... + + + + ... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ... + + + + + ... + + + + + + + + + + + This is where the idea of *context* becomes important. As it stands, there is no conflict between the two different definitions of :code:`spoonful` and :code:`dash`, because each of the components refers to *its own definition* of these units. From b55e72a53221ae96e1f456e8240b230b658fe5f9 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 8 Apr 2020 11:22:13 +1200 Subject: [PATCH 350/604] Update informC02_units_reference.rst --- .../informative/informC02_units_reference.rst | 148 +++++++++++++----- 1 file changed, 105 insertions(+), 43 deletions(-) diff --git a/src/reference/informative/informC02_units_reference.rst b/src/reference/informative/informC02_units_reference.rst index c2378181..d0c7941e 100644 --- a/src/reference/informative/informC02_units_reference.rst +++ b/src/reference/informative/informC02_units_reference.rst @@ -171,60 +171,122 @@ - This is where the idea of *context* becomes important. + This is where the idea of *scope* becomes important. As it stands, there is no conflict between the two different definitions of :code:`spoonful` and :code:`dash`, because each of the components refers to *its own definition* of these units. The components do not "know" that there is any other definition out there, because they cannot "see" up into the importing model. Now let's consider that the cook wants to alter the recipe a little after these two main ingredients have been imported, by adding a spoonful of brandy to some custard. The top-level model becomes: - .. code-block:: xml - - - - - - - - - - - - - - - ... - - + .. code:: + + model: BlueberryPieRecipe + ├─ component: BrandyCustard + │ ├─ variable: custard (litre) + │ └─ variable: brandy + │ └─ units: spoonful # These units are not defined in a scope + │ which this component can access: + │ the model is invalid. + ├─ component: crust <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ + └─ component: filling <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ ╷ + ╷ ╷ + imported components + ╵ ╵ + # In filling_recipes.cellml: ╵ ╵ + model: FillingRecipeCollection ╵ ╵ + ├─ component: BlueberryCinnamonFilling ╶┘ ╵ + └─ component: AppleAndPearFilling ╵ + ╵ + # In crust_recipes.cellml: ╵ + model: PieCrustRecipes ╵ + ├─ component: HazelnutLavenderCrust ╴╴╴╴╴╴┘ + └─ component: CheeseAndAlmondCrust + + .. container:: toggle + + .. container:: header + + See CellML syntax + + .. code-block:: xml + + + + + + + + + + + + + + + ... + + At this stage the model is invalid because the units :code:`spoonful` in the top-level model are not defined. Just as the imported models cannot "see" up into the importing model, neither can the importing model "see" down into the imported models beyond those items which it has explicitly imported. In order to reuse the :code:`spoonful` units from either of the imported models, they must be explicitly imported. The top-level model becomes: - .. code-block:: xml - - - - - - - - - - - - - - - ... - - - - - - - - + .. code:: + + model: BlueberryPieRecipe + ├─ component: BrandyCustard + │ ├─ variable: custard (litre) + │ └─ variable: brandy + ┌╴╴╴╴╴╴╴╴> └─ units: spoonful + ╷ ├─ component: crust <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ + ╷ ├─ component: filling <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ ╷ + ╷ │ ╷ ╷ + └╴╴╴└─ units: spoonful <╴╴╴╴╴╴╴┐ imported components and + ╷ the units they need + explicitly imported units ╵ ╵ + are available to all components ╵ ╵ + ╵ ╵ ╵ + # In filling_recipes.cellml: ╵ ╵ ╵ + model: FillingRecipeCollection ╵ ╵ ╵ + ├─ units: spoonful ╴╴╴╴╴╴╴╴╴╴┘ ╵ ╵ + ├─ component: BlueberryCinnamonFilling ╶┘ ╵ + └─ component: AppleAndPearFilling ╵ + ╵ + # In crust_recipes.cellml: ╵ + model: PieCrustRecipes ╵ + ├─ component: HazelnutLavenderCrust ╴╴╴╴╴╴┘ + └─ component: CheeseAndAlmondCrust + + .. container:: toggle + + .. container:: header + + See CellML syntax + + .. code-block:: xml + + + + + + + + + + + + + + + ... + + + + + + + + At this stage we have three sets of units all named "spoonful". Since each is only accessible to its local components there is no conflict of definition or interpretation. From 176dac75f702c9380c16b985e5461d4171a98332 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 8 Apr 2020 11:28:52 +1200 Subject: [PATCH 351/604] Update conf.py --- src/conf.py | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/src/conf.py b/src/conf.py index 70edb6a2..74497c2b 100644 --- a/src/conf.py +++ b/src/conf.py @@ -88,30 +88,12 @@ 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816/%s', ''), } -# rst_epilog to define formatted, clickable code substitutions throughout. It's included -# at the bottom of every file in the project. -# rst_prolog = """ -# .. |internalBookmark2| replace:: ``internalBookmark2`` -# .. |model| replace:: ``model`` -# .. |component| replace:: ``component`` -# .. |units| replace:: ``units`` -# .. |unit| replace:: ``unit`` -# .. |variable| replace:: ``variable`` -# .. |reset| replace:: ``reset`` -# .. |reset_value| replace:: ``reset_value`` -# .. |test_value| replace:: ``test_value`` -# .. |import| replace:: ``import`` -# .. |import_component| replace:: ``import component`` -# .. |import_units| replace:: ``import units`` -# .. |map_variables| replace:: ``map_variables`` -# .. |connection| replace:: ``connection`` -# .. |math| replace:: ``math`` -# .. |encapsulation| replace:: ``encapsulation`` -# """ -# rst_epilog = """ -# .. |component| replace:: ``component`` -# .. _component: :ref:`component` -# """ +# Making a passive role with which to decorate hardcoded references to sections. These +# will need to be manually changed if the numbering is ever altered, and can be located +# more easily by searching for the "hardcodedref" tag. +rst_prolog = """ +.. role:: hardcodedref +""" # General information about the project. project = u'CellML 2.0' From b8a15bb31432a36978a99202625300980776ce51 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 8 Apr 2020 12:05:01 +1200 Subject: [PATCH 352/604] Update informC02_units_reference.rst --- .../informative/informC02_units_reference.rst | 90 ++++++++++++------- 1 file changed, 57 insertions(+), 33 deletions(-) diff --git a/src/reference/informative/informC02_units_reference.rst b/src/reference/informative/informC02_units_reference.rst index d0c7941e..e6d28cfa 100644 --- a/src/reference/informative/informC02_units_reference.rst +++ b/src/reference/informative/informC02_units_reference.rst @@ -28,7 +28,7 @@ imported components ╵ ╵ # In filling_recipes.cellml: ╵ ╵ - model: FillingRecipeCollection ╵ ╵ + model: PieFillingRecipes ╵ ╵ ├─ component: BlueberryCinnamonFilling ╶┘ ╵ └─ component: AppleAndPearFilling ╵ ╵ @@ -57,35 +57,58 @@ The components are imported from separate files, each of which defines and uses its own local definitions of the custom measurement units :code:`spoon`, :code:`dash`, and :code:`smidgen`. + + + + + + + + + + .. code:: - model: BlueberryPieRecipe - ├─ component: crust <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ - └─ component: filling <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ ╷ - ╷ ╷ - imported components - and the units they need - ╵ ╵ - # In filling_recipes.cellml: ╵ ╵ - model: FillingRecipeCollection ╵ ╵ - ├─ component: BlueberryCinnamonFilling ╶┘ ╵ - └─ component: AppleAndPearFilling ╵ - ╵ - # In crust_recipes.cellml: ╵ - model: PieCrustRecipes ╵ - ├─ component: HazelnutLavenderCrust ╴╴╴╴╴╴┬┬┬┘ - │ ├─ variable: ground_hazelnut (gram) ╷╷╷ - │ ├─ variable: egg (dimensionless) ╷╷╷ - │ ├─ variable: flour (gram) units are implicitly - │ ├─ variable: sugar (gram) imported by the component - │ ├─ variable: water ╵╵╵ - ┌╴╴╴╴╴╴╴╴╴╴> └─ units: spoonful ╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘╵╵ - ╷ │ ├─ variable: salt ╵╵ - ╷┌╴╴╴╴╴╴╴╴╴> └─ units: dash ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘╵ - ╷╷ │ └─ variable: lavender_flowers ╵ - ╷╷┌╴╴╴╴╴╴╴╴> └─ units: smidgen ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ + model: BlueberryPieRecipe + ├─ component: crust <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ + └─ component: filling <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ ╷ + ╷ ╷ + imported components and + the units they need + ╵ ╵ + # In filling_recipes.cellml: ╵ ╵ + model: PieFillingRecipes ╵ ╵ + ├─ component: BlueberryCinnamonFilling ╴╴╴┬┬┘ ╵ + │ ├─ variable: blueberries (gram) ╷╷ ╵ + │ ├─ variable: sugar (dimensionless) units are implicitly + │ ├─ variable: cornflour (gram) imported by the component + │ ├─ variable: cinnamon ╵╵ ╵ + ┌╴╴╴╴╴╴╴╴╴> └─ units: smidgen ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘╵ ╵ + ╷ | └─ variable: water ╵ ╵ + ╷┌╴╴╴╴╴╴╴╴╴> └─ units: spoonful ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ ╵ + ╷╷ | ╵ + ╷╷ ├─ component: AppleAndPearFilling ╵ + ╷╷ | ╵ + local custom units ╵ + ╵╵ | ╵ + ╵└╴╴├─ units: spoonful ╵ + └╴╴╴└─ units: smidgen ╵ + ╵ + # In crust_recipes.cellml: ╵ + model: PieCrustRecipes ╵ + ├─ component: HazelnutLavenderCrust ╴╴╴╴╴╴╴┬┬┬┘ + │ ├─ variable: ground_hazelnut (gram) ╷╷╷ + │ ├─ variable: egg (dimensionless) ╷╷╷ + │ ├─ variable: flour (gram) units are implicitly + │ ├─ variable: sugar (gram) imported by the component + │ ├─ variable: water ╵╵╵ + ┌╴╴╴╴╴╴╴╴╴╴> └─ units: spoonful ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘╵╵ + ╷ │ ├─ variable: salt ╵╵ + ╷┌╴╴╴╴╴╴╴╴╴> └─ units: dash ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘╵ + ╷╷ │ └─ variable: lavender_flowers ╵ + ╷╷┌╴╴╴╴╴╴╴╴> └─ units: smidgen ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ ╷╷╷ │ - explicitly used local custom units + local custom units ╵╵╵ │ ╵╵╵ ├─ component: CheeseAndAlmondCrust ╵╵╵ │ @@ -93,9 +116,7 @@ ╵└╴╴├─ units: dash └╴╴╴├─ units: spoonful └─ units: dollop - # Units like "dollop" that not used by the imported - # component are not imported. - + .. container:: toggle @@ -137,6 +158,9 @@ + + + @@ -193,7 +217,7 @@ imported components ╵ ╵ # In filling_recipes.cellml: ╵ ╵ - model: FillingRecipeCollection ╵ ╵ + model: PieFillingRecipes ╵ ╵ ├─ component: BlueberryCinnamonFilling ╶┘ ╵ └─ component: AppleAndPearFilling ╵ ╵ @@ -241,10 +265,10 @@ ╷ ├─ component: crust <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ ╷ ├─ component: filling <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ ╷ ╷ │ ╷ ╷ - └╴╴╴└─ units: spoonful <╴╴╴╴╴╴╴┐ imported components and + └╴╴╴└─ units: spoonful <╴╴╴╴╴╴╴┐ imported components and ╷ the units they need explicitly imported units ╵ ╵ - are available to all components ╵ ╵ + are available to all components ╵ ╵ ╵ ╵ ╵ # In filling_recipes.cellml: ╵ ╵ ╵ model: FillingRecipeCollection ╵ ╵ ╵ From f37ee8e967532a468bf1bc1217c221736c9857e6 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Wed, 8 Apr 2020 13:13:12 +1200 Subject: [PATCH 353/604] Delete unnecessary lines from normative_only_index. --- src/normative_only_index.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/normative_only_index.rst b/src/normative_only_index.rst index b124ce01..add69d48 100644 --- a/src/normative_only_index.rst +++ b/src/normative_only_index.rst @@ -25,5 +25,3 @@ A PDF of this page is available from https://www.cellml.org/specifications/cellm reference/formal_sectionB.rst reference/formal_sectionC.rst reference/formal_sectionD.rst - - From b5f63202f8afbad91437dd53a40a1f81edc45386 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 8 Apr 2020 13:37:00 +1200 Subject: [PATCH 354/604] encaps page 1 --- ...pecC09_interpretation_of_encapsulation.rst | 14 ++- ...rmC09_interpretation_of_encapsulation1.rst | 97 +++++++++++++++++++ ...mC09_interpretation_of_encapsulation2.rst} | 4 +- ...rmC09_interpretation_of_encapsulation3.rst | 11 +++ src/reference/sectionC_interpretation.inc | 3 + 5 files changed, 126 insertions(+), 3 deletions(-) create mode 100644 src/reference/informative/informC09_interpretation_of_encapsulation1.rst rename src/reference/informative/{informC09_interpretation_of_encapsulation.rst => informC09_interpretation_of_encapsulation2.rst} (60%) create mode 100644 src/reference/informative/informC09_interpretation_of_encapsulation3.rst diff --git a/src/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst b/src/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst index f9c4212c..e741ead6 100644 --- a/src/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst +++ b/src/reference/formal_and_informative/specC09_interpretation_of_encapsulation.rst @@ -2,6 +2,18 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_encapsulation_start + :end-before: marker_interpretation_of_encapsulation_1 + +.. include:: ../informative/informC09_interpretation_of_encapsulation1.rst + +.. include:: ../sectionC_interpretation.inc + :start-after: marker_interpretation_of_encapsulation_1 + :end-before: marker_interpretation_of_encapsulation_2 + +.. include:: ../informative/informC09_interpretation_of_encapsulation2.rst + +.. include:: ../sectionC_interpretation.inc + :start-after: marker_interpretation_of_encapsulation_2 :end-before: marker_interpretation_of_encapsulation_end -.. todo ../informative/informC09_interpretation_of_encapsulation.rst +.. include:: ../informative/informC09_interpretation_of_encapsulation3.rst \ No newline at end of file diff --git a/src/reference/informative/informC09_interpretation_of_encapsulation1.rst b/src/reference/informative/informC09_interpretation_of_encapsulation1.rst new file mode 100644 index 00000000..92b5be00 --- /dev/null +++ b/src/reference/informative/informC09_interpretation_of_encapsulation1.rst @@ -0,0 +1,97 @@ +.. _informC09_interpretation_of_encapsulation1: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + You can think of an encapsulation structure as a tree. + The model is the tree's trunk, and each component at the top-level of the model is a branch. + Subsequent generations of branches can stem from any component, but no two branches can recombine or belong to more than one parent, as this would create a loop. + Any component not listed inside the encapsulation is made a top-level component (a branch off the trunk). + + An encapsulation hierarchy is specified using a single :code:`encapsulation` element, and any number of generations of :code:`component_ref` children. + Where no :code:`encapsulation` element is present, all :code:`component` elements have the same level; they branch off the :code:`model`\-trunk. + + Some examples of valid and invalid encapsulation structures are shown below. + + .. code-block:: xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/reference/informative/informC09_interpretation_of_encapsulation.rst b/src/reference/informative/informC09_interpretation_of_encapsulation2.rst similarity index 60% rename from src/reference/informative/informC09_interpretation_of_encapsulation.rst rename to src/reference/informative/informC09_interpretation_of_encapsulation2.rst index 4ce529c1..06eb0729 100644 --- a/src/reference/informative/informC09_interpretation_of_encapsulation.rst +++ b/src/reference/informative/informC09_interpretation_of_encapsulation2.rst @@ -1,4 +1,4 @@ -.. _informC09_interpretation_of_encapsulation: +.. _informC09_interpretation_of_encapsulation1: .. container:: toggle @@ -8,4 +8,4 @@ .. container:: infospec - **TODO** + TODO diff --git a/src/reference/informative/informC09_interpretation_of_encapsulation3.rst b/src/reference/informative/informC09_interpretation_of_encapsulation3.rst new file mode 100644 index 00000000..06eb0729 --- /dev/null +++ b/src/reference/informative/informC09_interpretation_of_encapsulation3.rst @@ -0,0 +1,11 @@ +.. _informC09_interpretation_of_encapsulation1: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + TODO diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index e5870e5f..c3e3a570 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -402,6 +402,7 @@ Interpretation of ``encapsulation`` elements #. Where a :code:`component_ref` element appears as a child of another :code:`component_ref` element, there SHALL be an arc in the encapsulation digraph, and that arc SHALL be from the node corresponding to the component referenced by the parent :code:`component_ref` element, and to the node corresponding to the component referenced by the child :code:`component_ref` element. +.. marker_interpretation_of_encapsulation_1 .. _specC_encapsulation_set: 3. The encapsulated set for a component *A* SHALL be the set of all components *B* such that there exists an arc in the encapsulation digraph from the node corresponding to *A* to the node corresponding to *B*. @@ -413,6 +414,8 @@ Interpretation of ``encapsulation`` elements #. The hidden set for a component *A* SHALL be the set of all components *B* where component *B* is not in the encapsulated set for component *A*, and component *B* is not the encapsulation parent of component *A*, and component *B* is not in the sibling set for component *A*. +.. marker_interpretation_of_encapsulation_2 + #. For the avoidance of doubt, there MUST NOT be a :code:`connection` element such that the component referenced by the :code:`component_1` attribute is in the hidden set of the component referenced by the :code:`component_2` attribute, nor vice versa. .. marker_interpretation_of_encapsulation_end From df8b08ddf26ea2bcaa1261a63295ee1805aa6b89 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Wed, 8 Apr 2020 13:59:06 +1200 Subject: [PATCH 355/604] Make the sinlgehtml target for normative spec produce content that can be copied and pasted into cellml.org. --- src/conf.py | 10 +++++++++- src/static/templates/layout.html | 20 ++++++++++++++++++++ src/static/templates/page.html | 12 ++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 src/static/templates/layout.html diff --git a/src/conf.py b/src/conf.py index b21ca70e..51a7b3ab 100644 --- a/src/conf.py +++ b/src/conf.py @@ -18,7 +18,10 @@ date_today = datetime.datetime.today() -tags.add('unofficial') +unofficial = False + +if unofficial: + tags.add('unofficial') build_type = os.environ['CELLML_SPEC_BUILD'] if 'CELLML_SPEC_BUILD' in os.environ else 'Full' @@ -207,6 +210,11 @@ def define_excluded_patterns(): 'navigation_depth': 2, } +# Pass options through to the template +html_context = { + 'unofficial': unofficial, +} + # Automagically convert all :ref: blocks to show a tooltip using the hoverxref # extension. hoverxref_auto_ref = True diff --git a/src/static/templates/layout.html b/src/static/templates/layout.html new file mode 100644 index 00000000..7fa8f522 --- /dev/null +++ b/src/static/templates/layout.html @@ -0,0 +1,20 @@ +{% if builder == "singlehtml" %} + + + + + + + {% block body %} + + {{ body }} + + {% endblock %} + + +{% else %} + {% extends "!layout.html" %} +{% endif %} diff --git a/src/static/templates/page.html b/src/static/templates/page.html index ba9504a7..9876490a 100644 --- a/src/static/templates/page.html +++ b/src/static/templates/page.html @@ -1,5 +1,15 @@ {% extends "!page.html" %} +{% block body %} + +
+ + {{ body }} + +
+ +{% endblock %} + {% block footer %} + + {{ super() }} {% endblock %} From 2b1d271b07e86ecdc67828a658da5eedee7ce365 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Wed, 8 Apr 2020 14:02:59 +1200 Subject: [PATCH 356/604] Set default build to unofficial. --- src/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf.py b/src/conf.py index 51a7b3ab..f7617aaf 100644 --- a/src/conf.py +++ b/src/conf.py @@ -18,7 +18,7 @@ date_today = datetime.datetime.today() -unofficial = False +unofficial = True if unofficial: tags.add('unofficial') From 8252e47d994ca710127a6d26aad1823016a2795a Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Wed, 8 Apr 2020 14:10:05 +1200 Subject: [PATCH 357/604] Only produce the single page document for cellml.org if it is an official documentation build. --- src/static/templates/layout.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/static/templates/layout.html b/src/static/templates/layout.html index 7fa8f522..469da47b 100644 --- a/src/static/templates/layout.html +++ b/src/static/templates/layout.html @@ -1,4 +1,4 @@ -{% if builder == "singlehtml" %} +{% if builder == "singlehtml" and not unofficial %} From 432af081469c073fc0463334e40a23c4bcec5343 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 8 Apr 2020 14:30:52 +1200 Subject: [PATCH 358/604] encaps 2 done --- ...rmC09_interpretation_of_encapsulation1.rst | 2 +- ...rmC09_interpretation_of_encapsulation2.rst | 80 ++++++++++++++++++- 2 files changed, 80 insertions(+), 2 deletions(-) diff --git a/src/reference/informative/informC09_interpretation_of_encapsulation1.rst b/src/reference/informative/informC09_interpretation_of_encapsulation1.rst index 92b5be00..c8996827 100644 --- a/src/reference/informative/informC09_interpretation_of_encapsulation1.rst +++ b/src/reference/informative/informC09_interpretation_of_encapsulation1.rst @@ -11,7 +11,7 @@ You can think of an encapsulation structure as a tree. The model is the tree's trunk, and each component at the top-level of the model is a branch. Subsequent generations of branches can stem from any component, but no two branches can recombine or belong to more than one parent, as this would create a loop. - Any component not listed inside the encapsulation is made a top-level component (a branch off the trunk). + Any component not listed inside the encapsulation is a top-level component (a branch off the trunk). An encapsulation hierarchy is specified using a single :code:`encapsulation` element, and any number of generations of :code:`component_ref` children. Where no :code:`encapsulation` element is present, all :code:`component` elements have the same level; they branch off the :code:`model`\-trunk. diff --git a/src/reference/informative/informC09_interpretation_of_encapsulation2.rst b/src/reference/informative/informC09_interpretation_of_encapsulation2.rst index 06eb0729..884facc5 100644 --- a/src/reference/informative/informC09_interpretation_of_encapsulation2.rst +++ b/src/reference/informative/informC09_interpretation_of_encapsulation2.rst @@ -8,4 +8,82 @@ .. container:: infospec - TODO + In the informative block above we used the analogy of a tree to describe the encapsulation structure, but the language around it is closer to a family tree in which there are only single parents allowed. + With this in mind, the points above become clear. + + - :hardcodedref:`3.9.3` defines the "encapsulation set" of a component as its direct component children. + - :hardcodedref:`3.9.4` makes clear that there can only be single parents in this family tree. + - :hardcodedref:`3.9.5` defines siblings as those :code:`component` elements which share a parent, be that parent a :code:`component` element or the :code:`model` element itself. + - :hardcodedref:`3.9.6` defines the "hidden set" of any :code:`component` as those other :code:`component` elements which are neither the parent, the children, nor the siblings of that current :code:`component` element. + + These distinctions become important when considering the kind of :code:`connection` elements which may be formed, and in determining the available :code:`interface_type` attribute values which are available to a component's :code:`variable` children. + + Some examples are shown below. + + .. code:: + + model: TheBeverlyHillbillies + ├─ component: GrannyMoses + ├─ component: MissJane + └─ component: ClampettFamily + ├─ component: LukeClampett + │ ├─ component: MyrtleClampett + │ └─ component: JedClampett + │ └─ component: EllyMayClampett + └─ component: AmosClampett + └─ component: PearlBodine + ├─ component: JethroBodine + └─ component: JethrineBodine + + .. container:: toggle + + .. container:: header + + See CellML syntax + + .. code-block:: xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + In this example, we can see that the *encapsulation set* (or direct children) of component :code:`PearlBodine` are the twins :code:`JethroBodine` and :code:`JethrineBodine`. + Similarly, :code:`LukeClampett` is the *parent* of :code:`MyrtleClampett` and :code:`JedClampett`. + Several sets of *siblings* are fairly easy to spot: + + - :code:`JethroBodine` and :code:`JethrineBodine`, + - :code:`LukeClampett` and :code:`AmosClampett`, and + - :code:`MyrtleClampett` and :code:`JedClampett`. + + Other *siblings* that are not as clear at first glance are :code:`GrannyMoses`, :code:`MissJane`, and the placeholder :code:`ClampettFamily`, by virtue of their common *parent*, :code:`TheBeverlyHillbillies` model itself. From 799832ba5d60559ef6a2723a2ee6c6dcfa41e191 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 8 Apr 2020 16:13:02 +1200 Subject: [PATCH 359/604] Added third section, numbered normative spec after bookmarking --- ...rmC09_interpretation_of_encapsulation2.rst | 1 + ...rmC09_interpretation_of_encapsulation3.rst | 55 ++++++++++++++++++- src/reference/sectionC_interpretation.inc | 12 ++-- 3 files changed, 61 insertions(+), 7 deletions(-) diff --git a/src/reference/informative/informC09_interpretation_of_encapsulation2.rst b/src/reference/informative/informC09_interpretation_of_encapsulation2.rst index 884facc5..563ee103 100644 --- a/src/reference/informative/informC09_interpretation_of_encapsulation2.rst +++ b/src/reference/informative/informC09_interpretation_of_encapsulation2.rst @@ -77,6 +77,7 @@ + In this example, we can see that the *encapsulation set* (or direct children) of component :code:`PearlBodine` are the twins :code:`JethroBodine` and :code:`JethrineBodine`. Similarly, :code:`LukeClampett` is the *parent* of :code:`MyrtleClampett` and :code:`JedClampett`. diff --git a/src/reference/informative/informC09_interpretation_of_encapsulation3.rst b/src/reference/informative/informC09_interpretation_of_encapsulation3.rst index 06eb0729..504beae3 100644 --- a/src/reference/informative/informC09_interpretation_of_encapsulation3.rst +++ b/src/reference/informative/informC09_interpretation_of_encapsulation3.rst @@ -8,4 +8,57 @@ .. container:: infospec - TODO + Before two :code:`variable` elements can be connected or mapped to one another, two set of rules must be followed. + The first rule is that the variables' parent :code:`component` elements must not be hidden from one another (as stated in :hardcodedref:`3.9.7`), and the second (found in :hardcodedref:`3.10.9-10`) is that the :code:`interface_type` attributes of the variables must not exclude their connection either. + + .. container:: heading3 + + Understanding hidden sets and connections + + It's easier to define *hidden* components by defining those which are not hidden first. + Basically, one degree of separation is all that is "seen" by any component. + This means that *parent* components can see their children, and children their parents. + Sibling components (including those who are top-level children of the :code:`model` element) are visible to one another as well. + Components in any other relationships are too distant to be visible, and are therefore *hidden* from each other. + + Reusing the same example as earlier, we can see that: + + - :code:`LukeClampett` is hidden from :code:`EllyMayClampett` (grandfather/grandchild) + - :code:`AmosClampett` is hidden from :code:`MyrtleClampett` (uncle/niece) + - :code:`PearlBodine` is hidden from :code:`JedClampett` (cousins) + - :code:`GrannyMoses` is hidden from :code:`LukeClampett` (great-aunt/great-nephew) + + .. code:: + + model: TheBeverlyHillbillies + ├─ component: GrannyMoses + ├─ component: MissJane + └─ component: ClampettFamily + ├─ component: LukeClampett + │ ├─ component: MyrtleClampett + │ └─ component: JedClampett + │ └─ component: EllyMayClampett + └─ component: AmosClampett + └─ component: PearlBodine + ├─ component: JethroBodine + └─ component: JethrineBodine + + .. code-block:: xml + + + + + + + + + + + + + + + + The second rule above addresses the restrictions around which :code:`variables` are able to access one another. This is a little more complicated, and explained in more detail in the informative block on the :ref:`interpretation of map_variables` section. + diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index c3e3a570..a8d9d28f 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -397,26 +397,26 @@ Interpretation of ``math`` elements Interpretation of ``encapsulation`` elements -------------------------------------------- -#. For the purposes of this specification, there SHALL be a "conceptual encapsulation digraph" in which there is EXACTLY one node for every component in the :ref:`CellML model`. +1. For the purposes of this specification, there SHALL be a "conceptual encapsulation digraph" in which there is EXACTLY one node for every component in the :ref:`CellML model`. Therefore the encapsulation digraph will not contain any loops. -#. Where a :code:`component_ref` element appears as a child of another :code:`component_ref` element, there SHALL be an arc in the encapsulation digraph, and that arc SHALL be from the node corresponding to the component referenced by the parent :code:`component_ref` element, and to the node corresponding to the component referenced by the child :code:`component_ref` element. +2. Where a :code:`component_ref` element appears as a child of another :code:`component_ref` element, there SHALL be an arc in the encapsulation digraph, and that arc SHALL be from the node corresponding to the component referenced by the parent :code:`component_ref` element, and to the node corresponding to the component referenced by the child :code:`component_ref` element. .. marker_interpretation_of_encapsulation_1 .. _specC_encapsulation_set: 3. The encapsulated set for a component *A* SHALL be the set of all components *B* such that there exists an arc in the encapsulation digraph from the node corresponding to *A* to the node corresponding to *B*. -#. The encapsulation parent for a component *A* SHALL be the component corresponding to the node which is the parent node in the encapsulation digraph of the node corresponding to *A*. +4. The encapsulation parent for a component *A* SHALL be the component corresponding to the node which is the parent node in the encapsulation digraph of the node corresponding to *A*. A component SHALL NOT appear as child of more than one encapsulation parent. -#. The sibling set for a component *A* SHALL be the set of all components which have the same encapsulation parent as *A*, or in the case that *A* has no encapsulation parent, SHALL be the set of all components which do not have an encapsulation parent. +5. The sibling set for a component *A* SHALL be the set of all components which have the same encapsulation parent as *A*, or in the case that *A* has no encapsulation parent, SHALL be the set of all components which do not have an encapsulation parent. -#. The hidden set for a component *A* SHALL be the set of all components *B* where component *B* is not in the encapsulated set for component *A*, and component *B* is not the encapsulation parent of component *A*, and component *B* is not in the sibling set for component *A*. +6. The hidden set for a component *A* SHALL be the set of all components *B* where component *B* is not in the encapsulated set for component *A*, and component *B* is not the encapsulation parent of component *A*, and component *B* is not in the sibling set for component *A*. .. marker_interpretation_of_encapsulation_2 -#. For the avoidance of doubt, there MUST NOT be a :code:`connection` element such that the component referenced by the :code:`component_1` attribute is in the hidden set of the component referenced by the :code:`component_2` attribute, nor vice versa. +7. For the avoidance of doubt, there MUST NOT be a :code:`connection` element such that the component referenced by the :code:`component_1` attribute is in the hidden set of the component referenced by the :code:`component_2` attribute, nor vice versa. .. marker_interpretation_of_encapsulation_end .. marker_interpretation_of_map_variables_start From 13a1ba506b3d3f07cc4705e92a5b7eeeafa57404 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 8 Apr 2020 16:22:10 +1200 Subject: [PATCH 360/604] Update informC09_interpretation_of_encapsulation3.rst --- ...rmC09_interpretation_of_encapsulation3.rst | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/reference/informative/informC09_interpretation_of_encapsulation3.rst b/src/reference/informative/informC09_interpretation_of_encapsulation3.rst index 504beae3..0f1f4523 100644 --- a/src/reference/informative/informC09_interpretation_of_encapsulation3.rst +++ b/src/reference/informative/informC09_interpretation_of_encapsulation3.rst @@ -43,22 +43,22 @@ ├─ component: JethroBodine └─ component: JethrineBodine - .. code-block:: xml + .. code-block:: xml - + - - + + - - - - - + + + + + - - + + The second rule above addresses the restrictions around which :code:`variables` are able to access one another. This is a little more complicated, and explained in more detail in the informative block on the :ref:`interpretation of map_variables` section. From 68673ff696c7932d98278be87e4a89b2ca918f22 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 8 Apr 2020 16:25:33 +1200 Subject: [PATCH 361/604] Update informC09_interpretation_of_encapsulation3.rst --- .../informative/informC09_interpretation_of_encapsulation3.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/reference/informative/informC09_interpretation_of_encapsulation3.rst b/src/reference/informative/informC09_interpretation_of_encapsulation3.rst index 0f1f4523..b62dcdb9 100644 --- a/src/reference/informative/informC09_interpretation_of_encapsulation3.rst +++ b/src/reference/informative/informC09_interpretation_of_encapsulation3.rst @@ -60,5 +60,6 @@ - The second rule above addresses the restrictions around which :code:`variables` are able to access one another. This is a little more complicated, and explained in more detail in the informative block on the :ref:`interpretation of map_variables` section. + The second rule above addresses the restrictions around which :code:`variable` elements are able to access one another. + This is a little more complicated, and explained in more detail in the informative block on the :ref:`interpretation of map_variables` section. From de812c328a679d8c2c271b3224aa4fbd1c80a8d7 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 8 Apr 2020 16:29:21 +1200 Subject: [PATCH 362/604] tweaks --- .../informC09_interpretation_of_encapsulation2.rst | 5 ++--- .../informC09_interpretation_of_encapsulation3.rst | 1 - 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/reference/informative/informC09_interpretation_of_encapsulation2.rst b/src/reference/informative/informC09_interpretation_of_encapsulation2.rst index 563ee103..b97428da 100644 --- a/src/reference/informative/informC09_interpretation_of_encapsulation2.rst +++ b/src/reference/informative/informC09_interpretation_of_encapsulation2.rst @@ -16,9 +16,9 @@ - :hardcodedref:`3.9.5` defines siblings as those :code:`component` elements which share a parent, be that parent a :code:`component` element or the :code:`model` element itself. - :hardcodedref:`3.9.6` defines the "hidden set" of any :code:`component` as those other :code:`component` elements which are neither the parent, the children, nor the siblings of that current :code:`component` element. - These distinctions become important when considering the kind of :code:`connection` elements which may be formed, and in determining the available :code:`interface_type` attribute values which are available to a component's :code:`variable` children. + These distinctions become important when considering the kind of :code:`connection` elements which may be formed, and in determining the :code:`interface_type` attribute values which are available to a component's :code:`variable` children. - Some examples are shown below. + The example below illustrates the extended family tree from the 1980s TV show, The Beverly Hillbillies. .. code:: @@ -51,7 +51,6 @@ - diff --git a/src/reference/informative/informC09_interpretation_of_encapsulation3.rst b/src/reference/informative/informC09_interpretation_of_encapsulation3.rst index b62dcdb9..60313141 100644 --- a/src/reference/informative/informC09_interpretation_of_encapsulation3.rst +++ b/src/reference/informative/informC09_interpretation_of_encapsulation3.rst @@ -62,4 +62,3 @@ The second rule above addresses the restrictions around which :code:`variable` elements are able to access one another. This is a little more complicated, and explained in more detail in the informative block on the :ref:`interpretation of map_variables` section. - From bd6d599d0a0ea8d7e612095e5ff39983d98ff16c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 8 Apr 2020 19:19:28 +1200 Subject: [PATCH 363/604] Changes as per review --- .../informC04_component_reference.rst | 52 +++++++++++-------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/src/reference/informative/informC04_component_reference.rst b/src/reference/informative/informC04_component_reference.rst index cbe7ad70..3d579196 100644 --- a/src/reference/informative/informC04_component_reference.rst +++ b/src/reference/informative/informC04_component_reference.rst @@ -12,15 +12,17 @@ Understanding component references - As with references to units and variables, the term "component reference" refers to places where you need to specify a component by name. - This is done through the :code:`component_ref` attribute found in :code:`encapsulation` and :code:`import component` elements, as well as the :code:`component_1` and :code:`component_2` attributes of :code:`connection` elements. + As with references to units and variables, the term "component reference" refers to places where you need to specify or reference a component using its name (but not assign it its name). + This is done through the :code:`component_ref` attribute found in :code:`import component` and :code:`encapsulation` elements, as well as the :code:`component_1` and :code:`component_2` attributes of :code:`connection` elements. The complicated part occurs during imports, and involves understanding the *scope* of a component's reference. This is really just the appropriate name by which to call it depending on who is doing the calling. Consider the following example. - Here, two families live next door to one another, and within each family unit use the terms "husband" and "wife" to refer to one another. - In the wider neighbourhood, however, they must be referred to by their names: "BarbaraGood", "TomGood", "JerryLeadbetter", and "MargotLeadbetter". + Here, two families live next door to one another, and within each family use the terms "husband" and "wife" to refer to their own component members. + In the local "LeadbetterFamilyModel" and "GoodFamilyModel" :code:`model` contexts, "husband" and "wife" are the :code:`name` attributes of the local :code:`components`. + In the wider neighbourhood, however, each person must be referred to by their real-world name: "BarbaraGood", "TomGood", "JerryLeadbetter", and "MargotLeadbetter". + In the "SurbitonNeighbourhood" :code:`model` context, the real-world names of "BarbaraGood" etc. are treated as :code:`name` attributes of local :code:`component` elements (even though they're imported), but now the "husband" and "wife" terms are :code:`component_ref` elements, as they are not the context providing the name. .. code:: @@ -139,7 +141,7 @@ This particular encapsulation structure means that the women (Barbara and Margot) are essentially unable to have any contact with the men (Tom and Jerry) even though their original components in the models from which they were imported *were* able to access one another. - Note also that these locality naming-calling rules are be applied through multiple generations of importing. + Note also that these locality-based naming-calling rules will be applied through multiple generations of importing. Since The Good Life is a TV show, there are actors who play the roles of each of the characters. This could be reflected by using another generation of imports within the two family files like this: @@ -174,23 +176,29 @@ ╵ └╴╴╴╴╴╴╴├─ component: PenelopeKeith └╴╴╴╴╴╴╴╴╴└─ component: PaulEddington - .. code-block:: xml - - - - - - - - - - - - - - - - + .. container:: toggle + + .. container:: header + + See CellML syntax + + .. code-block:: xml + + + + + + + + + + + + + + + + Note that in this situation, the original :code:`SurbitonNeighbourhood` model does not need to change at all. Each of the component references remains correct, as each is isolated in its own scope. From 91112b354aba9de8d5649df08ab83705e1149cd4 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 9 Apr 2020 09:47:58 +1200 Subject: [PATCH 364/604] point 1 done, and bookmarks added --- ...pecC10_interpretation_of_map_variables.rst | 7 ++++- ...ormC10_interpretation_of_map_variables.rst | 11 -------- ...rmC10_interpretation_of_map_variables1.rst | 26 +++++++++++++++++++ src/reference/sectionC_interpretation.inc | 10 +++++++ 4 files changed, 42 insertions(+), 12 deletions(-) delete mode 100644 src/reference/informative/informC10_interpretation_of_map_variables.rst create mode 100644 src/reference/informative/informC10_interpretation_of_map_variables1.rst diff --git a/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst b/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst index f46605cd..09e43e5f 100644 --- a/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst +++ b/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst @@ -2,6 +2,11 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_map_variables_start + :end-before: marker_interpretation_of_map_variables_1 + +.. include:: ../informative/informC10_interpretation_of_map_variables1.rst + +.. include:: ../sectionC_interpretation.inc + :start-after: marker_interpretation_of_map_variables_1 :end-before: marker_interpretation_of_map_variables_end -.. todo ../informative/informC10_interpretation_of_map_variables.rst diff --git a/src/reference/informative/informC10_interpretation_of_map_variables.rst b/src/reference/informative/informC10_interpretation_of_map_variables.rst deleted file mode 100644 index a0ef1272..00000000 --- a/src/reference/informative/informC10_interpretation_of_map_variables.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. _informC10_interpretation_of_map_variables: - -.. container:: toggle - - .. container:: header - - See more - - .. container:: infospec - - **TODO** diff --git a/src/reference/informative/informC10_interpretation_of_map_variables1.rst b/src/reference/informative/informC10_interpretation_of_map_variables1.rst new file mode 100644 index 00000000..97348cb2 --- /dev/null +++ b/src/reference/informative/informC10_interpretation_of_map_variables1.rst @@ -0,0 +1,26 @@ +.. _informC10_interpretation_of_map_variables1: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + .. container:: heading3 + + Understanding the terminology + + The idea of component modularity and separateness is helpful in organising models and reusing parts of them, but only if it's also possible to share information between the distinct components. + This is the goal of "variable equivalence", and requires the combined mechanisms of :code:`connection` elements (to connect components) and :code:`map_variables` elements (to connect their variables). + Several different words have been used to describe what is essentially this one process: equivalent variables, the connected variable set, mapped variables, etc. + All of these mean the same thing: that the variables in the set act as a single agent throughout the model. + They may have different local names within a component, but they will have the same value everywhere they exist. + + Thus there are two ways in which variables are related to one another. + The first is through the mathematical equations as specified in intra-component :code:`math` elements; the second is through variable equivalences as specified in inter-component :code:`connection` and :code:`map_variables` elements. + + Both the :code:`connection` and :code:`map_variables` elements are *undirected*. + There is no update direction or hierarchy; they all have, instantaneously, the same value. + diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 3515890f..15b34d85 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -339,6 +339,8 @@ Interpretation of ``map_variables`` elements #. For the purposes of this specification, the variable equivalence (conceptual) network SHALL be an undirected graph with one node for every :code:`variable` element in the :ref:`CellML model`. The arcs of this graph SHALL be equivalences defined in the CellML model. +.. marker_interpretation_of_map_variables_1 + #. For each :code:`map_variables` element present in the CellML model, we define variables *A* and *B* for use in the rules in this section as follows. #. Variable *A* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_1` and this :code:`map_variables` element’s :code:`variable_1` attribute. @@ -351,16 +353,22 @@ Interpretation of ``map_variables`` elements #. One endpoint of the arc in the variable equivalence network SHALL be the node corresponding to variable *B*. +.. marker_interpretation_of_map_variables_2 + #. CellML models MUST NOT contain any pair of :code:`map_variables` elements which duplicates an existing arc in the variable equivalence network. #. The variable equivalence network MUST NOT contain any cycles. +.. marker_interpretation_of_map_variables_3 + #. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :ref:`Effect of units on variables ` ) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. Two sets of tuples SHALL be considered identical if all of the tuples from each set are present in the other, or if both sets are empty. Two tuples are considered identical if and only if both the name and exponent value of each tuple are equivalent. #. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :ref:`Interpretation of units`). +.. marker_interpretation_of_map_variables_4 + #. For a given variable, the available interfaces SHALL be determined by the :code:`interface` attribute information item on the corresponding :code:`variable` element as follows. #. A value of :code:`public` specifies that the variable has a public interface. @@ -383,6 +391,8 @@ Interpretation of ``map_variables`` elements #. CellML models MUST only contain :code:`map_variables` elements where the interface of variable *A* and the interface of variable *B* are applicable interfaces. +.. marker_interpretation_of_map_variables_5 + #. The :code:`variable` elements in a CellML model SHALL be treated as belonging to a single "connected variable set". Each set of connected variables is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a connected subgraph. Each set of connected variables represents one variable in the underlying mathematical model. From 71c82785bdd12e8d9ac3b95823bce372bf2c9a9c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 9 Apr 2020 09:58:58 +1200 Subject: [PATCH 365/604] numbering in specC --- ...rmC10_interpretation_of_map_variables2.rst | 17 ++++++++++++++ src/reference/sectionC_interpretation.inc | 22 +++++++++---------- 2 files changed, 28 insertions(+), 11 deletions(-) create mode 100644 src/reference/informative/informC10_interpretation_of_map_variables2.rst diff --git a/src/reference/informative/informC10_interpretation_of_map_variables2.rst b/src/reference/informative/informC10_interpretation_of_map_variables2.rst new file mode 100644 index 00000000..312e9eb7 --- /dev/null +++ b/src/reference/informative/informC10_interpretation_of_map_variables2.rst @@ -0,0 +1,17 @@ +.. _informC10_interpretation_of_map_variables2: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + .. container:: heading3 + + Understanding the players + + You can think of the previous two points as defining an address using a street name and number. + Since lots + diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 15b34d85..c27a4170 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -336,18 +336,18 @@ Interpretation of ``encapsulation`` elements Interpretation of ``map_variables`` elements -------------------------------------------- -#. For the purposes of this specification, the variable equivalence (conceptual) network SHALL be an undirected graph with one node for every :code:`variable` element in the :ref:`CellML model`. +1. For the purposes of this specification, the variable equivalence (conceptual) network SHALL be an undirected graph with one node for every :code:`variable` element in the :ref:`CellML model`. The arcs of this graph SHALL be equivalences defined in the CellML model. .. marker_interpretation_of_map_variables_1 -#. For each :code:`map_variables` element present in the CellML model, we define variables *A* and *B* for use in the rules in this section as follows. +2. For each :code:`map_variables` element present in the CellML model, we define variables *A* and *B* for use in the rules in this section as follows. #. Variable *A* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_1` and this :code:`map_variables` element’s :code:`variable_1` attribute. #. Variable *B* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_2` and this :code:`map_variables` element’s :code:`variable_2` attribute. -#. For every :code:`map_variables` element present in the CellML model, there SHALL be an arc in the variable equivalence network. +3. For every :code:`map_variables` element present in the CellML model, there SHALL be an arc in the variable equivalence network. #. One endpoint of the arc in the variable equivalence network SHALL be the node corresponding to variable *A*. @@ -355,21 +355,21 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_2 -#. CellML models MUST NOT contain any pair of :code:`map_variables` elements which duplicates an existing arc in the variable equivalence network. +4. CellML models MUST NOT contain any pair of :code:`map_variables` elements which duplicates an existing arc in the variable equivalence network. -#. The variable equivalence network MUST NOT contain any cycles. +5. The variable equivalence network MUST NOT contain any cycles. .. marker_interpretation_of_map_variables_3 -#. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :ref:`Effect of units on variables ` ) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. +6. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :ref:`Effect of units on variables ` ) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. Two sets of tuples SHALL be considered identical if all of the tuples from each set are present in the other, or if both sets are empty. Two tuples are considered identical if and only if both the name and exponent value of each tuple are equivalent. -#. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :ref:`Interpretation of units`). +7. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :ref:`Interpretation of units`). .. marker_interpretation_of_map_variables_4 -#. For a given variable, the available interfaces SHALL be determined by the :code:`interface` attribute information item on the corresponding :code:`variable` element as follows. +8. For a given variable, the available interfaces SHALL be determined by the :code:`interface` attribute information item on the corresponding :code:`variable` element as follows. #. A value of :code:`public` specifies that the variable has a public interface. @@ -381,7 +381,7 @@ Interpretation of ``map_variables`` elements #. If the :code:`interface` attribute information item is absent, then the variable has no interface. -#. The applicable interfaces for variables *A* and *B* SHALL be defined as follows. +9. The applicable interfaces for variables *A* and *B* SHALL be defined as follows. #. When the parent :code:`component` element of variable *A* is in the sibling set of the parent :code:`component` element of variable *B*, the applicable interface for both variables *A* and *B* SHALL be the public interface. @@ -389,11 +389,11 @@ Interpretation of ``map_variables`` elements #. When the parent :code:`component` element of variable *B* is in the encapsulated set of the parent :code:`component` element of variable *A*, the applicable interface for variable *A* SHALL be the private interface, and the applicable interface for variable *B* SHALL be the public interface. -#. CellML models MUST only contain :code:`map_variables` elements where the interface of variable *A* and the interface of variable *B* are applicable interfaces. +10. CellML models MUST only contain :code:`map_variables` elements where the interface of variable *A* and the interface of variable *B* are applicable interfaces. .. marker_interpretation_of_map_variables_5 -#. The :code:`variable` elements in a CellML model SHALL be treated as belonging to a single "connected variable set". +11. The :code:`variable` elements in a CellML model SHALL be treated as belonging to a single "connected variable set". Each set of connected variables is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a connected subgraph. Each set of connected variables represents one variable in the underlying mathematical model. From 3b31dc9e83627518709914834339196f047e3610 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 9 Apr 2020 10:31:25 +1200 Subject: [PATCH 366/604] part 2 done --- .../specC10_interpretation_of_map_variables.rst | 7 ++++++- .../informC10_interpretation_of_map_variables2.rst | 8 +++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst b/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst index 09e43e5f..5dcf67ce 100644 --- a/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst +++ b/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst @@ -8,5 +8,10 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_map_variables_1 - :end-before: marker_interpretation_of_map_variables_end + :end-before: marker_interpretation_of_map_variables_2 +.. include:: ../informative/informC10_interpretation_of_map_variables2.rst + +.. include:: ../sectionC_interpretation.inc + :start-after: marker_interpretation_of_map_variables_2 + :end-before: marker_interpretation_of_map_variables_end \ No newline at end of file diff --git a/src/reference/informative/informC10_interpretation_of_map_variables2.rst b/src/reference/informative/informC10_interpretation_of_map_variables2.rst index 312e9eb7..9b7318ef 100644 --- a/src/reference/informative/informC10_interpretation_of_map_variables2.rst +++ b/src/reference/informative/informC10_interpretation_of_map_variables2.rst @@ -13,5 +13,11 @@ Understanding the players You can think of the previous two points as defining an address using a street name and number. - Since lots + Since streets (components) have lots of houses (variables) they all need different numbers (variable names) in that street. + And since lots of streets (components) have houses (variables) with the same number (name), we need both the street name and the house number in order to locate a house properly. + This is the purpose of the :code:`component_1` and :code:`component_2` attributes of :code:`connection` elements (to define the respective street (component) names), and the :code:`variable_1` and :code:`variable_2` attributes of each :code:`connection` element's :code:`map_variables` element (to define the respective house number (variable name)). + + Thus the "equivalent variable network" is a collection of unique variables (each specified a component and a variable name), which will be treated as the same variable throughout the model. + + Note that we use the term "network" here as it best describes the *process* by which variable equivalence is constructed, even if its final *interpretation* is not a network, but rather a set. From 7d71f6214a9ff1c9c2d65aa80f36bda77fbbb644 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 9 Apr 2020 11:45:16 +1200 Subject: [PATCH 367/604] WIP confused about cycles --- ...pecC10_interpretation_of_map_variables.rst | 8 ++- ...rmC10_interpretation_of_map_variables3.rst | 53 +++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 src/reference/informative/informC10_interpretation_of_map_variables3.rst diff --git a/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst b/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst index 5dcf67ce..4085410e 100644 --- a/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst +++ b/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst @@ -14,4 +14,10 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_map_variables_2 - :end-before: marker_interpretation_of_map_variables_end \ No newline at end of file + :end-before: marker_interpretation_of_map_variables_3 + +.. include:: ../informative/informC10_interpretation_of_map_variables3.rst + +.. include:: ../sectionC_interpretation.inc + :start-after: marker_interpretation_of_map_variables_3 + :end-before: marker_interpretation_of_map_variables_end diff --git a/src/reference/informative/informC10_interpretation_of_map_variables3.rst b/src/reference/informative/informC10_interpretation_of_map_variables3.rst new file mode 100644 index 00000000..2aca69e1 --- /dev/null +++ b/src/reference/informative/informC10_interpretation_of_map_variables3.rst @@ -0,0 +1,53 @@ +.. _informC10_interpretation_of_map_variables3: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + .. container:: heading3 + + Understanding the rules + + As well as the syntax definitions above, there are rules regarding which variables are able to be connected to one another too. + + Both points :hardcodedref:`3.10.4 and 3.10.5` address a similar issue: that the "network" of variable equivalence must not contain any cycles (a connection such that A-B-A is just a mini cycle after all). + + In the model below there are three sets of variables which have equivalent values, and it is the modeller's desire that they be able to use them interchangably in each language whilst maintaining their value throughout. + There are three situations which would render the model invalid if these variables were mapped incorrectly. + + .. code:: + + model: LearningToCount + ├─ component: Dutch + │ ├─ variable: een + │ ├─ variable: twee + │ ├─ variable: drie + │ └─ variable: veir + ├─ component: Maori + │ ├─ variable: tahi + │ ├─ variable: rua + │ ├─ variable: toru + │ └─ variable: wha + └─ component: French + ├─ variable: un + ├─ variable: deux + ├─ variable: tois + └─ variable: quatre + + + 1. Firstly, duplicated connections are not permitted because they create a mini-cycle of two variables. + If an Anglophone is given a definition of *een* to mean *tahi*, and *tahi* to mean *een*, they are none the wiser. + + 2. Secondly, *any* form of cyclical definition is invalid, as it leaves the mathematical model underdefined. + So our Anglophone could be also told that *drie* means *tois*, *tois* means *toru*, and *toru* means *drie*, but unless one of them is nailed down to an actual value somewhere, the model remains under-defined. + + + + + + + From 034e043abb26a800da253b921177005755676f61 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 9 Apr 2020 11:48:49 +1200 Subject: [PATCH 368/604] Update informC10_interpretation_of_map_variables3.rst --- .../informative/informC10_interpretation_of_map_variables3.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/informative/informC10_interpretation_of_map_variables3.rst b/src/reference/informative/informC10_interpretation_of_map_variables3.rst index 2aca69e1..0bf9b9de 100644 --- a/src/reference/informative/informC10_interpretation_of_map_variables3.rst +++ b/src/reference/informative/informC10_interpretation_of_map_variables3.rst @@ -26,7 +26,7 @@ │ ├─ variable: een │ ├─ variable: twee │ ├─ variable: drie - │ └─ variable: veir + │ └─ variable: vier ├─ component: Maori │ ├─ variable: tahi │ ├─ variable: rua From 4d85f6d8ba691e633b59d8677b9315e4b3b9460f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 9 Apr 2020 11:49:20 +1200 Subject: [PATCH 369/604] Update informC10_interpretation_of_map_variables3.rst --- .../informative/informC10_interpretation_of_map_variables3.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/informative/informC10_interpretation_of_map_variables3.rst b/src/reference/informative/informC10_interpretation_of_map_variables3.rst index 0bf9b9de..60ea3fb4 100644 --- a/src/reference/informative/informC10_interpretation_of_map_variables3.rst +++ b/src/reference/informative/informC10_interpretation_of_map_variables3.rst @@ -35,7 +35,7 @@ └─ component: French ├─ variable: un ├─ variable: deux - ├─ variable: tois + ├─ variable: trois └─ variable: quatre From 83470f94bb7ea2ea23cfc312daae1c1780432961 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 9 Apr 2020 13:36:21 +1200 Subject: [PATCH 370/604] section 3 done --- ...rmC10_interpretation_of_map_variables3.rst | 129 +++++++++++++++++- 1 file changed, 125 insertions(+), 4 deletions(-) diff --git a/src/reference/informative/informC10_interpretation_of_map_variables3.rst b/src/reference/informative/informC10_interpretation_of_map_variables3.rst index 60ea3fb4..e0e50645 100644 --- a/src/reference/informative/informC10_interpretation_of_map_variables3.rst +++ b/src/reference/informative/informC10_interpretation_of_map_variables3.rst @@ -17,7 +17,7 @@ Both points :hardcodedref:`3.10.4 and 3.10.5` address a similar issue: that the "network" of variable equivalence must not contain any cycles (a connection such that A-B-A is just a mini cycle after all). In the model below there are three sets of variables which have equivalent values, and it is the modeller's desire that they be able to use them interchangably in each language whilst maintaining their value throughout. - There are three situations which would render the model invalid if these variables were mapped incorrectly. + There are two situations which would render the model invalid if these variables were mapped incorrectly, as shown below. .. code:: @@ -37,14 +37,135 @@ ├─ variable: deux ├─ variable: trois └─ variable: quatre - + + .. container:: toggle + + .. container:: header + + See CellML syntax + + .. code-block:: xml + + + + + + + + + + + + + + + + + + + + + 1. Firstly, duplicated connections are not permitted because they create a mini-cycle of two variables. - If an Anglophone is given a definition of *een* to mean *tahi*, and *tahi* to mean *een*, they are none the wiser. + If an Anglophone is given a definition of *een* to mean *tahi*, and *tahi* to mean *een*, they are none the wiser. + + .. code:: + + model: LearningToCount + ├─ component: Dutch + │ ├─ variable: een <╴╴╴┬╴╴╴┐ + │ ├─ variable: twee ╷ ╷ + │ ├─ variable: drie duplicate mapping + │ └─ variable: vier causes a mini-cycle + ├─ component: Maori ╵ ╵ + │ ├─ variable: tahi <╴╴┴╴╴╴┘ + │ ├─ variable: rua + │ ├─ variable: toru + │ └─ variable: wha + └─ component: French + ├─ variable: un + ├─ variable: deux + ├─ variable: trois + └─ variable: quatre + + .. container:: toggle + + .. container:: header + + See CellML syntax + + .. code-block:: xml + + + + + + ... + + + + + + + ... + + + + + ... + + + ... + 2. Secondly, *any* form of cyclical definition is invalid, as it leaves the mathematical model underdefined. So our Anglophone could be also told that *drie* means *tois*, *tois* means *toru*, and *toru* means *drie*, but unless one of them is nailed down to an actual value somewhere, the model remains under-defined. - + + .. code:: + + model: LearningToCount + ├─ component: Dutch + │ ├─ variable: een <╴╴╴╴┐<╴╴╴╴╴╴╴╴┐ + │ ├─ variable: twee ╷ ╷ + │ ├─ variable: drie cycle created + │ └─ variable: vier ╷ ╷ + ├─ component: Maori ╷ ╷ + │ ├─ variable: tahi <╴╴╴┘<╴╴╴┐ ╷ + │ ├─ variable: rua ╷ ╷ + │ ├─ variable: toru ╷ ╷ + │ └─ variable: wha ╷ ╷ + └─ component: French ╷ ╷ + ├─ variable: un <╴╴╴╴╴╴╴╴╴╴┘<╴╴╴┘ + ├─ variable: deux + ├─ variable: trois + └─ variable: quatre + + .. container:: toggle + + .. container:: header + + See CellML syntax + + .. code-block:: xml + + + + + ... + + + + ... + + + + ... + + From 66d5429bc53048d73517b61125715186b3fbc281 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 9 Apr 2020 13:40:01 +1200 Subject: [PATCH 371/604] fixed indents --- ...pecC10_interpretation_of_map_variables.rst | 6 +++ ...rmC10_interpretation_of_map_variables3.rst | 52 +++++++++---------- ...rmC10_interpretation_of_map_variables4.rst | 15 ++++++ 3 files changed, 47 insertions(+), 26 deletions(-) create mode 100644 src/reference/informative/informC10_interpretation_of_map_variables4.rst diff --git a/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst b/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst index 4085410e..7bbb1955 100644 --- a/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst +++ b/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst @@ -20,4 +20,10 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_map_variables_3 + :end-before: marker_interpretation_of_map_variables_4 + +.. include:: ../informative/informC10_interpretation_of_map_variables4.rst + +.. include:: ../sectionC_interpretation.inc + :start-after: marker_interpretation_of_map_variables_4 :end-before: marker_interpretation_of_map_variables_end diff --git a/src/reference/informative/informC10_interpretation_of_map_variables3.rst b/src/reference/informative/informC10_interpretation_of_map_variables3.rst index e0e50645..f53246e6 100644 --- a/src/reference/informative/informC10_interpretation_of_map_variables3.rst +++ b/src/reference/informative/informC10_interpretation_of_map_variables3.rst @@ -89,38 +89,38 @@ ├─ variable: trois └─ variable: quatre - .. container:: toggle + .. container:: toggle - .. container:: header + .. container:: header - See CellML syntax + See CellML syntax - .. code-block:: xml + .. code-block:: xml - - - - - ... - + + + + + ... + - - - - - ... - + + + + + ... + - - - ... - - - ... - + + + ... + + + ... + 2. Secondly, *any* form of cyclical definition is invalid, as it leaves the mathematical model underdefined. So our Anglophone could be also told that *drie* means *tois*, *tois* means *toru*, and *toru* means *drie*, but unless one of them is nailed down to an actual value somewhere, the model remains under-defined. diff --git a/src/reference/informative/informC10_interpretation_of_map_variables4.rst b/src/reference/informative/informC10_interpretation_of_map_variables4.rst new file mode 100644 index 00000000..ec7fb11f --- /dev/null +++ b/src/reference/informative/informC10_interpretation_of_map_variables4.rst @@ -0,0 +1,15 @@ +.. _informC10_interpretation_of_map_variables4: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + .. container:: heading3 + + Understanding mappings and units + + \ No newline at end of file From 7e895f5acf3988a56f8e5613576f5ba7e97edf5c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 9 Apr 2020 13:50:01 +1200 Subject: [PATCH 372/604] Section 4. --- .../informC10_interpretation_of_map_variables4.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/reference/informative/informC10_interpretation_of_map_variables4.rst b/src/reference/informative/informC10_interpretation_of_map_variables4.rst index ec7fb11f..87abceba 100644 --- a/src/reference/informative/informC10_interpretation_of_map_variables4.rst +++ b/src/reference/informative/informC10_interpretation_of_map_variables4.rst @@ -12,4 +12,6 @@ Understanding mappings and units - \ No newline at end of file + The only place in which valid :code:`units` items can cause a model to be invalid is between mapped variables. + Point :hardcodedref:`3.10.6` means that each variable within a :code:`map_variables` element must have an :ref:`equivalent unit reduction`. + Please see that section for more details. From a1ff8455fbbc7f5645d75ad4b690c82eae7eb0d6 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 9 Apr 2020 15:52:11 +1200 Subject: [PATCH 373/604] WIP section 5 --- ...pecC10_interpretation_of_map_variables.rst | 6 ++ ...rmC10_interpretation_of_map_variables5.rst | 83 +++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 src/reference/informative/informC10_interpretation_of_map_variables5.rst diff --git a/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst b/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst index 7bbb1955..137acbe3 100644 --- a/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst +++ b/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst @@ -26,4 +26,10 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_map_variables_4 + :end-before: marker_interpretation_of_map_variables_5 + +.. include:: ../informative/informC10_interpretation_of_map_variables5.rst + +.. include:: ../sectionC_interpretation.inc + :start-after: marker_interpretation_of_map_variables_5 :end-before: marker_interpretation_of_map_variables_end diff --git a/src/reference/informative/informC10_interpretation_of_map_variables5.rst b/src/reference/informative/informC10_interpretation_of_map_variables5.rst new file mode 100644 index 00000000..cbdc43e2 --- /dev/null +++ b/src/reference/informative/informC10_interpretation_of_map_variables5.rst @@ -0,0 +1,83 @@ +.. _informC10_interpretation_of_map_variables5: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + .. container:: heading3 + + Understanding interfaces + + There are two hurdles to get past before variables can be mapped to one another. + The first is the relative position within the encapsulation hierarchy of the :code:`variable` elements' parent :code:`component` elements (as discussed in :ref:`Interpretation of encapsulation`, and the second is the value of the :code:`interface_type` attribute given to each :code:`variable` itself. + This means that even if two components are sufficiently close relatives that they *can* be connected, the modeller still has control at the individual variable level as to which of those relatives can have access. + + The :code:`interface_type` attribute value choices are: + - :code:`public` (used by child components to reference their parent, or between siblings), + - :code:`private` (used by parent components to reference their children), + - :code:`public_and_private` (used by all near relatives), or + - :code:`none`, which is the default. + + Which one(s) of these are deemed *applicable* for any :code:`variable` mapping is determined by the relationship between the their parent :code:`component` elements. + + In the example below, Christopher Robin must assemble an average score of the mood of all of his friends in the Hundred Acre Wood. + He does not have access to all of their :code:`mood` scores directly, so must use mapped variables in order to create the average. + + .. code:: + + model: TheHouseAtPoohCorner + ├─ component: ChristopherRobin + │ ├─ variable: my_mood + │ ├─ variable: average_mood_of_everyone + │ ├─ variable: roos_mood + │ ├─ variable: kangas_mood <╴╴╴╴╴┐ + │ ├─ variable: eeyores_mood <╴╴╴┐╷ + │ └─ variable: poohs_mood <╴╴╴╴┐╷╷ + │ ╷╷╷ + │ connections between these + │ components are possible, depending + │ on the variables' interfaces + │ ╵╵╵ + ├─ component: WinnieThePooh ╵╵╵ + │ └─ variable: mood ╴╴╴╴╴╴╴╴╴╴╴┘╵╵ + ├─ component: Eeyore ╵╵ + │ └─ variable: mood ╴╴╴╴╴╴╴╴╴╴╴╴┘╵ + └─ component: Kanga ╵ + │ ├─ variable: mood ╴╴╴╴╴╴╴╴╴╴┘ + └─ component: Roo + └─ variable: mood ╴╴╴╴╴╴╴╴╴╴> This variable cannot be connected to + anything within the ChristopherRobin + component as its component is too distant. + + At present, the connections above in dashed lines are *possible*, as long as the variables have interface types which support them. + One connection is *not* possible (yet): Christopher Robin doesn't know Roo's mood, because their components are too distant (grandparent/grandchild) to be directly connected. + We can add a utility variable :code:`roos_mood` to the :code:`Kanga` component in order to pass along its value to the :code:`ChristopherRobin` component. + We'll also add interface types to the variables, and discuss their effects below. + + .. code:: + + model: TheHouseAtPoohCorner + ├─ component: ChristopherRobin + │ ├─ variable: my_mood (interface: none) + │ ├─ variable: average_mood_of_everyone (interface: public) + │ ├─ variable: roos_mood (interface: public) <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ + │ ├─ variable: kangas_mood (interface: public) <╴╴╴╴╴╴┐ ╷ + │ ├─ variable: eeyores_mood (interface: none) <╴╴╴╴╴╴┐╷ ╷ + │ └─ variable: poohs_mood (interface: public) <╴╴╴╴╴┐╷╷ ╷ + │ ╷╷╷ utility variable added so + ├─ component: WinnieThePooh ╷╷╷ that Roo's mood can be passed + │ └─ variable: mood (interface: private) ╴╴╴╴╴╴╴╴╴╴┘╷╷ down to Christopher Robin + ├─ component: Eeyore ╷╷ ╵ + │ └─ variable: mood ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴xx╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘╷ ╵ + └─ component: Kanga ╷ ╵ + │ ├─ variable: mood (interface: private) ╴╴╴╴╴╴╴╴╴╴┘ ╵ + │ └─ variable: roos_mood (interface: public_and_private) ╴╴┤ + └─ component: Roo ╷ + └─ variable: mood (interface: public) ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ + + + From 5c88495376228722d321ec41d5659b08aae488fb Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 9 Apr 2020 17:09:20 +1200 Subject: [PATCH 374/604] Section 5 --- ...rmC10_interpretation_of_map_variables5.rst | 178 ++++++++++++++++-- 1 file changed, 162 insertions(+), 16 deletions(-) diff --git a/src/reference/informative/informC10_interpretation_of_map_variables5.rst b/src/reference/informative/informC10_interpretation_of_map_variables5.rst index cbdc43e2..1454b82f 100644 --- a/src/reference/informative/informC10_interpretation_of_map_variables5.rst +++ b/src/reference/informative/informC10_interpretation_of_map_variables5.rst @@ -62,22 +62,168 @@ model: TheHouseAtPoohCorner ├─ component: ChristopherRobin - │ ├─ variable: my_mood (interface: none) - │ ├─ variable: average_mood_of_everyone (interface: public) - │ ├─ variable: roos_mood (interface: public) <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ - │ ├─ variable: kangas_mood (interface: public) <╴╴╴╴╴╴┐ ╷ - │ ├─ variable: eeyores_mood (interface: none) <╴╴╴╴╴╴┐╷ ╷ - │ └─ variable: poohs_mood (interface: public) <╴╴╴╴╴┐╷╷ ╷ - │ ╷╷╷ utility variable added so - ├─ component: WinnieThePooh ╷╷╷ that Roo's mood can be passed - │ └─ variable: mood (interface: private) ╴╴╴╴╴╴╴╴╴╴┘╷╷ down to Christopher Robin - ├─ component: Eeyore ╷╷ ╵ - │ └─ variable: mood ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴xx╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘╷ ╵ - └─ component: Kanga ╷ ╵ - │ ├─ variable: mood (interface: private) ╴╴╴╴╴╴╴╴╴╴┘ ╵ - │ └─ variable: roos_mood (interface: public_and_private) ╴╴┤ - └─ component: Roo ╷ - └─ variable: mood (interface: public) ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ + │ ├─ variable: my_mood + │ ├─ variable: average_mood_of_everyone + │ ├─ variable: roos_mood (interface: public) <╴╴╴╴╴ D ╴╴╴╴╴╴╴╴╴╴╴╴┐ + │ ├─ variable: kangas_mood (interface: none) <╴╴╴╴╴ C ╴╴╴╴┐ ╷ + │ ├─ variable: eeyores_mood (interface: public) <╴╴ B ╴╴╴┐╷ ╷ + │ └─ variable: poohs_mood (interface: public) <╴╴╴╴ A ╴╴┐╷╷ ╷ + │ ╷╷╷ utility variable added so + ├─ component: WinnieThePooh ╷╷╷ that Roo's mood can be passed + │ └─ variable: mood (interface: public) ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘╷╷ down to Christopher Robin + ├─ component: Eeyore ╷╷ ╵ + │ └─ variable: mood ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘╷ ╵ + └─ component: Kanga ╷ ╵ + │ ├─ variable: mood (interface: public) ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ ╵ + │ └─ variable: roos_mood (interface: private) <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┤ + └─ component: Roo ╷ + └─ variable: mood (interface: public) ╴╴╴╴╴╴╴E╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ + + + .. container:: toggle + + .. container:: header + + See CellML syntax + + .. code-block:: xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Mapping A is valid. + The sibling components :code:`WinnieThePooh` and :code:`ChristopherRobin` have :code:`public` interfaces between their :code:`mood` and :code:`poohs_mood` variables respectively. + This follows point :hardcodedref:`3.10.9.1` and is valid. + + - Mapping B is not valid. + By default an interface type is :code:`none`, and since the :code:`mood` variable in component :code:`Eeyore` does not specify one, no mappings are permitted. + For that connection to exist, the :code:`mood` variable must have an interface type :code:`public`. + + - Mapping C is not valid. + The variable :code:`kangas_mood` has explicitly specified that no mappings are possible by using the :code:`none` interface type. + For this mapping to be valid, the type needs to be :code:`public`. + + - Mapping D is not valid. + Because they are sibling components, the variables in :code:`ChristopherRobin` and :code:`Kanga` must both have the interface type of :code:`public` in order to be valid ... but there's a twist. + - Mapping E is currently valid, because variables in component :code:`Kanga` can only access variables in its child component :code:`Roo` with a :code:`private` interface. + But if Mapping D is to be made valid, that same variable must maintain a :code:`public` interface in order to access variables in its sibling component :code:`ChristopherRobin`. + It is for this reason that the :code:`public_and_private` interface type exists. + For Mappings D and E to be valid, the variable :code:`roos_mood` in component :code:`Kanga` must have an interface type of :code:`public_and_private`. + The corrected model is shown below. + .. code:: + + model: TheHouseAtPoohCorner + ├─ component: ChristopherRobin + │ ├─ variable: my_mood (interface: none) + │ ├─ variable: average_mood_of_everyone (interface: none) + │ ├─ variable: roos_mood (interface: public) <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐ + │ ├─ variable: kangas_mood (interface: public) <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐╷ + │ ├─ variable: eeyores_mood (interface: public) <╴╴╴╴╴╴╴╴╴╴╴╴╴┐╷╷ + │ └─ variable: poohs_mood (interface: public) <╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐╷╷╷ + │ ╷╷╷╷ + ├─ component: WinnieThePooh ╷╷╷╷ + │ └─ variable: mood (interface: public) ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘╷╷╷ + ├─ component: Eeyore ╷╷╷ + │ └─ variable: mood (interface: public) ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘╷╷ + └─ component: Kanga ╷╷ + │ ├─ variable: mood (interface: public) ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴ ╴╴╴╴┘╷ + │ └─ variable: roos_mood (interface: public_and_private) <╴╴╴┤ + └─ component: Roo ╷ + └─ variable: mood (interface: public) ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ + + .. container:: toggle + + .. container:: header + + See CellML syntax + + .. code-block:: xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 74c49de267b3899cda522d0119e7c537a1ee745c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 9 Apr 2020 17:11:14 +1200 Subject: [PATCH 375/604] tweaks --- .../informative/informC10_interpretation_of_map_variables5.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/informative/informC10_interpretation_of_map_variables5.rst b/src/reference/informative/informC10_interpretation_of_map_variables5.rst index 1454b82f..489bba52 100644 --- a/src/reference/informative/informC10_interpretation_of_map_variables5.rst +++ b/src/reference/informative/informC10_interpretation_of_map_variables5.rst @@ -77,7 +77,7 @@ │ ├─ variable: mood (interface: public) ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ ╵ │ └─ variable: roos_mood (interface: private) <╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┤ └─ component: Roo ╷ - └─ variable: mood (interface: public) ╴╴╴╴╴╴╴E╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ + └─ variable: mood (interface: public) ╴╴╴╴╴╴ E ╴╴╴╴╴╴╴╴╴╴╴╴╴┘ .. container:: toggle From 3cb03cb8a1bc1080e0ce41eaa7bc0e860b217cd6 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 9 Apr 2020 17:12:19 +1200 Subject: [PATCH 376/604] tweaks --- ...ormC10_interpretation_of_map_variables5.rst | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/reference/informative/informC10_interpretation_of_map_variables5.rst b/src/reference/informative/informC10_interpretation_of_map_variables5.rst index 489bba52..02945e8a 100644 --- a/src/reference/informative/informC10_interpretation_of_map_variables5.rst +++ b/src/reference/informative/informC10_interpretation_of_map_variables5.rst @@ -89,6 +89,7 @@ .. code-block:: xml + @@ -98,18 +99,22 @@ + + + + @@ -119,20 +124,24 @@ + + + +
- Mapping A is valid. @@ -187,6 +196,7 @@ .. code-block:: xml + @@ -196,18 +206,22 @@ + + + + @@ -216,14 +230,18 @@ + + + + From f67e9b07909d70b5ac88f4480db482fad94d3a46 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 10 Apr 2020 08:33:38 +1200 Subject: [PATCH 377/604] Moved points re units after interfaces --- src/reference/sectionC_interpretation.inc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 3515890f..63758696 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -355,12 +355,6 @@ Interpretation of ``map_variables`` elements #. The variable equivalence network MUST NOT contain any cycles. -#. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :ref:`Effect of units on variables ` ) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. - Two sets of tuples SHALL be considered identical if all of the tuples from each set are present in the other, or if both sets are empty. - Two tuples are considered identical if and only if both the name and exponent value of each tuple are equivalent. - -#. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :ref:`Interpretation of units`). - #. For a given variable, the available interfaces SHALL be determined by the :code:`interface` attribute information item on the corresponding :code:`variable` element as follows. #. A value of :code:`public` specifies that the variable has a public interface. @@ -383,6 +377,12 @@ Interpretation of ``map_variables`` elements #. CellML models MUST only contain :code:`map_variables` elements where the interface of variable *A* and the interface of variable *B* are applicable interfaces. +#. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :ref:`Effect of units on variables ` ) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. + Two sets of tuples SHALL be considered identical if all of the tuples from each set are present in the other, or if both sets are empty. + Two tuples are considered identical if and only if both the name and exponent value of each tuple are equivalent. + +#. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :ref:`Interpretation of units`). + #. The :code:`variable` elements in a CellML model SHALL be treated as belonging to a single "connected variable set". Each set of connected variables is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a connected subgraph. Each set of connected variables represents one variable in the underlying mathematical model. From c6dc8615f1511c331cfe54c426e5a5c55e29ead9 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 10 Apr 2020 09:08:58 +1200 Subject: [PATCH 378/604] Rewording interfaces --- src/reference/sectionC_interpretation.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 63758696..623b00b9 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -367,13 +367,13 @@ Interpretation of ``map_variables`` elements #. If the :code:`interface` attribute information item is absent, then the variable has no interface. -#. The applicable interfaces for variables *A* and *B* SHALL be defined as follows. +#. The applicable interfaces for variables *A* and *B* in components *AA* and *BB* respectively SHALL be defined as follows. - #. When the parent :code:`component` element of variable *A* is in the sibling set of the parent :code:`component` element of variable *B*, the applicable interface for both variables *A* and *B* SHALL be the public interface. + #. When components *AA* and *BB* are siblings, the applicable interface for both variables *A* and *B* SHALL be the public interface. - #. When the parent :code:`component` element of variable *A* is in the encapsulated set of the parent :code:`component` element of variable *B*, the applicable interface for variable *A* SHALL be the public interface, and the applicable interface for variable *B* SHALL be the private interface. + #. When component *AA* is a child of component *BB* the applicable interface for variable *A* SHALL be the public interface, and the applicable interface for variable *B* SHALL be the private interface. - #. When the parent :code:`component` element of variable *B* is in the encapsulated set of the parent :code:`component` element of variable *A*, the applicable interface for variable *A* SHALL be the private interface, and the applicable interface for variable *B* SHALL be the public interface. + #. When component *AA* is neither a sibling, parent nor child of component *BB* no connection is possible between the components, so no interface is available between the variables *A* and *B*. #. CellML models MUST only contain :code:`map_variables` elements where the interface of variable *A* and the interface of variable *B* are applicable interfaces. From 5168c92a71a1e216d971d205f030595fb309bcca Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 10 Apr 2020 09:12:12 +1200 Subject: [PATCH 379/604] Trying to reword final point --- src/reference/sectionC_interpretation.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 623b00b9..5380f1a1 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -383,9 +383,9 @@ Interpretation of ``map_variables`` elements #. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :ref:`Interpretation of units`). -#. The :code:`variable` elements in a CellML model SHALL be treated as belonging to a single "connected variable set". - Each set of connected variables is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a connected subgraph. - Each set of connected variables represents one variable in the underlying mathematical model. +#. The :code:`variable` elements in a CellML model SHALL be treated as belonging to a set, connected by the relationships specified in the :code:`math` elements of the model. + Each set of mapped variables is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a connected subgraph. + Each set of mapped variables represents one variable in the underlying mathematical model. .. marker_interpretation_of_map_variables_end .. marker_interpretation_of_variable_resets_start From 4508e830606ddf3ea29bbd81a28d2047bf46611a Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 10 Apr 2020 10:01:46 +1200 Subject: [PATCH 380/604] section 6 --- src/conf.py | 1 + ...pecC10_interpretation_of_map_variables.rst | 2 ++ ...rmC10_interpretation_of_map_variables6.rst | 23 +++++++++++++++++++ 3 files changed, 26 insertions(+) create mode 100644 src/reference/informative/informC10_interpretation_of_map_variables6.rst diff --git a/src/conf.py b/src/conf.py index b21ca70e..0857ac7d 100644 --- a/src/conf.py +++ b/src/conf.py @@ -101,6 +101,7 @@ def define_excluded_patterns(): # 'shortcut': ('http://linkhere/%s',''), NB have to put the string insertion %s to make it work extlinks = { 'buildbot': ('https://buildbot.net%s', ''), + 'calvin_and_hobbes':('https://www.gocomics.com/calvinandhobbes/%s',''), 'cellml1to2': ('https://github.com/hsorby/cellml1to2%s', ''), 'cellml2': ('https://www.cellml.org/%s', ''), 'cellsolver': ('https://github.com/hsorby/cellsolver%s', ''), diff --git a/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst b/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst index 137acbe3..aaa8626d 100644 --- a/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst +++ b/src/reference/formal_and_informative/specC10_interpretation_of_map_variables.rst @@ -33,3 +33,5 @@ .. include:: ../sectionC_interpretation.inc :start-after: marker_interpretation_of_map_variables_5 :end-before: marker_interpretation_of_map_variables_end + +.. include:: ../informative/informC10_interpretation_of_map_variables6.rst diff --git a/src/reference/informative/informC10_interpretation_of_map_variables6.rst b/src/reference/informative/informC10_interpretation_of_map_variables6.rst new file mode 100644 index 00000000..35d549a1 --- /dev/null +++ b/src/reference/informative/informC10_interpretation_of_map_variables6.rst @@ -0,0 +1,23 @@ +.. _informC10_interpretation_of_map_variables6: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + .. container:: heading3 + + Understanding mathematics + + In :calvin_and_hobbes:`an episode of Bill Watterson's comic, Calvin and Hobbes <1990/01/09>`, Calvin builds a duplicator machine and clones himself several times so that the clones can do his chores in different rooms of the house. + This is essentially the purpose of creating :code:`map_variables` elements: to enable the "clones" (the mapped variables) to be used in separate "rooms" (components) whilst really representing the same thing. + + In a *CellML model* there are two mechanisms by which variables can relate to one another: through the mathematics in the :code:`math` elements, and through the mapping in the :code:`map_variables` elements. + In a mathematical model, there is only one mechanism: the maths itself. + There are no clones, no duplicates, no mappings. + + Thus, the purely mathematical model is found by collapsing each set of mapped variables (cloned characters) onto a single unique variable (character), until the relationships between these unique variables no longer involve mapping (cloning) but only mathematics. + In the end, :calvin_and_hobbes"`Calvin does the same <1990/01/30>`, and the world returns to (roughly) normal. From 4484ebaa3b3c4967fbff177b8d7dffafe1439133 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 10 Apr 2020 10:04:06 +1200 Subject: [PATCH 381/604] link error --- .../informative/informC10_interpretation_of_map_variables6.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/informative/informC10_interpretation_of_map_variables6.rst b/src/reference/informative/informC10_interpretation_of_map_variables6.rst index 35d549a1..d9af369e 100644 --- a/src/reference/informative/informC10_interpretation_of_map_variables6.rst +++ b/src/reference/informative/informC10_interpretation_of_map_variables6.rst @@ -20,4 +20,4 @@ There are no clones, no duplicates, no mappings. Thus, the purely mathematical model is found by collapsing each set of mapped variables (cloned characters) onto a single unique variable (character), until the relationships between these unique variables no longer involve mapping (cloning) but only mathematics. - In the end, :calvin_and_hobbes"`Calvin does the same <1990/01/30>`, and the world returns to (roughly) normal. + In the end, :calvin_and_hobbes:`Calvin does the same <1990/01/30>`, and the world returns to (roughly) normal. From 9625b88d7c0d56fba02e80595ddfe9b31744ac8e Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 10 Apr 2020 10:17:26 +1200 Subject: [PATCH 382/604] Tweaks to wording as per review --- .../informative/informC10_interpretation_of_map_variables1.rst | 2 +- .../informative/informC10_interpretation_of_map_variables5.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/informative/informC10_interpretation_of_map_variables1.rst b/src/reference/informative/informC10_interpretation_of_map_variables1.rst index 97348cb2..86a9f73e 100644 --- a/src/reference/informative/informC10_interpretation_of_map_variables1.rst +++ b/src/reference/informative/informC10_interpretation_of_map_variables1.rst @@ -22,5 +22,5 @@ The first is through the mathematical equations as specified in intra-component :code:`math` elements; the second is through variable equivalences as specified in inter-component :code:`connection` and :code:`map_variables` elements. Both the :code:`connection` and :code:`map_variables` elements are *undirected*. - There is no update direction or hierarchy; they all have, instantaneously, the same value. + There is no update direction or hierarchy; they all represent, instantaneously, the same thing. diff --git a/src/reference/informative/informC10_interpretation_of_map_variables5.rst b/src/reference/informative/informC10_interpretation_of_map_variables5.rst index 02945e8a..4b00391c 100644 --- a/src/reference/informative/informC10_interpretation_of_map_variables5.rst +++ b/src/reference/informative/informC10_interpretation_of_map_variables5.rst @@ -19,7 +19,7 @@ The :code:`interface_type` attribute value choices are: - :code:`public` (used by child components to reference their parent, or between siblings), - :code:`private` (used by parent components to reference their children), - - :code:`public_and_private` (used by all near relatives), or + - :code:`public_and_private` (used when both the :code:`public` and :code:`private` interfaces are required), or - :code:`none`, which is the default. Which one(s) of these are deemed *applicable* for any :code:`variable` mapping is determined by the relationship between the their parent :code:`component` elements. From 1675bdfd1469ed3efa095aaee773992069570706 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 10 Apr 2020 11:00:46 +1200 Subject: [PATCH 383/604] Section 1 --- src/reference/informative/informC01_imports.rst | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/reference/informative/informC01_imports.rst b/src/reference/informative/informC01_imports.rst index 45c1e96b..c13caa62 100644 --- a/src/reference/informative/informC01_imports.rst +++ b/src/reference/informative/informC01_imports.rst @@ -8,8 +8,4 @@ .. container:: infospec - CellML 2.0 is not xenophobic. - When an element (either a :code:`component` or a :code:`units` item) is imported, it is treated in the same way as the locally defined items. - - - **TODO** Don't fully understand the first sentence... + Please see the informative sections on :ref:`Units reference` and :ref:`Component reference` pages for examples specific to importing :code:`units` and :code:`component` elements. From 3f5001abe55bb9f67af720fd3a164f6f975690bc Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 10 Apr 2020 11:01:14 +1200 Subject: [PATCH 384/604] Adding include link --- .../specC01_interpretation_of_imports.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/formal_and_informative/specC01_interpretation_of_imports.rst b/src/reference/formal_and_informative/specC01_interpretation_of_imports.rst index da43814e..15a8bebd 100644 --- a/src/reference/formal_and_informative/specC01_interpretation_of_imports.rst +++ b/src/reference/formal_and_informative/specC01_interpretation_of_imports.rst @@ -4,4 +4,4 @@ :start-after: marker_interpretation_of_imports_start :end-before: marker_interpretation_of_imports_end -.. todo ../informative/informC01_imports.rst +.. include:: ../informative/informC01_imports.rst From eadf174de3e827efc99294e12335025f77c64b90 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Fri, 10 Apr 2020 16:45:05 +0100 Subject: [PATCH 385/604] Formatting issue in 2.12.4 mathml:math element --- src/reference/sectionB_elements.inc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index c55608e9..1846d290 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -361,8 +361,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-cn-units-attribute 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. - - The value of this attribute MUST be a valid :ref:`units reference`. + The value of this attribute MUST be a valid :ref:`units reference`. .. container:: issue-math-cn-type From c4f146e15dc4bf0c945b165bf8140ac1dab1368f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 14 Apr 2020 08:39:52 +1200 Subject: [PATCH 386/604] Changed wording on 3.10.11 --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index c27a4170..0c28ce74 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -393,7 +393,7 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_5 -11. The :code:`variable` elements in a CellML model SHALL be treated as belonging to a single "connected variable set". +11. Each :code:`variable` element in a CellML model SHALL be treated as belonging to a single "connected variable set". Each set of connected variables is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a connected subgraph. Each set of connected variables represents one variable in the underlying mathematical model. From 6236b7f59bb04107fb90bd7fd0ecd8615a1ff1d8 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 14 Apr 2020 08:42:07 +1200 Subject: [PATCH 387/604] Update informC10_interpretation_of_map_variables6.rst --- .../informative/informC10_interpretation_of_map_variables6.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/src/reference/informative/informC10_interpretation_of_map_variables6.rst b/src/reference/informative/informC10_interpretation_of_map_variables6.rst index d9af369e..8e1f5f99 100644 --- a/src/reference/informative/informC10_interpretation_of_map_variables6.rst +++ b/src/reference/informative/informC10_interpretation_of_map_variables6.rst @@ -14,6 +14,7 @@ In :calvin_and_hobbes:`an episode of Bill Watterson's comic, Calvin and Hobbes <1990/01/09>`, Calvin builds a duplicator machine and clones himself several times so that the clones can do his chores in different rooms of the house. This is essentially the purpose of creating :code:`map_variables` elements: to enable the "clones" (the mapped variables) to be used in separate "rooms" (components) whilst really representing the same thing. + The first sentence in :hardcodedref:`3.10.11` explains this: Each :code:`variable` element in a CellML model SHALL be treated as belonging to a single "connected variable set"; or, while there are many "connected variable sets" in a model, any one :code:`variable` may belong to only one of them. In a *CellML model* there are two mechanisms by which variables can relate to one another: through the mathematics in the :code:`math` elements, and through the mapping in the :code:`map_variables` elements. In a mathematical model, there is only one mechanism: the maths itself. From 82baecb607fcbdd2bc81ad716dd2c7eafb5909a3 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 14 Apr 2020 08:45:13 +1200 Subject: [PATCH 388/604] formatting --- .../informative/informC10_interpretation_of_map_variables6.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/informative/informC10_interpretation_of_map_variables6.rst b/src/reference/informative/informC10_interpretation_of_map_variables6.rst index 8e1f5f99..a2be48ac 100644 --- a/src/reference/informative/informC10_interpretation_of_map_variables6.rst +++ b/src/reference/informative/informC10_interpretation_of_map_variables6.rst @@ -17,7 +17,7 @@ The first sentence in :hardcodedref:`3.10.11` explains this: Each :code:`variable` element in a CellML model SHALL be treated as belonging to a single "connected variable set"; or, while there are many "connected variable sets" in a model, any one :code:`variable` may belong to only one of them. In a *CellML model* there are two mechanisms by which variables can relate to one another: through the mathematics in the :code:`math` elements, and through the mapping in the :code:`map_variables` elements. - In a mathematical model, there is only one mechanism: the maths itself. + In a *mathematical model*, there is only one mechanism: the maths itself. There are no clones, no duplicates, no mappings. Thus, the purely mathematical model is found by collapsing each set of mapped variables (cloned characters) onto a single unique variable (character), until the relationships between these unique variables no longer involve mapping (cloning) but only mathematics. From 20792e49151f91fd886317253c99b79ca1641282 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 14 Apr 2020 11:17:01 +1200 Subject: [PATCH 389/604] Writing informative section for 1.2.6 --- src/reference/informative/informA2_4.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/src/reference/informative/informA2_4.rst b/src/reference/informative/informA2_4.rst index 7d7fff85..bd68f164 100644 --- a/src/reference/informative/informA2_4.rst +++ b/src/reference/informative/informA2_4.rst @@ -10,6 +10,7 @@ .. code-block:: none + From 87b247d8a2b67647056224da50d066ee76959e60 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 14 Apr 2020 11:30:15 +1200 Subject: [PATCH 390/604] Create informA2_6.rst --- src/reference/informative/informA2_6.rst | 95 ++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 src/reference/informative/informA2_6.rst diff --git a/src/reference/informative/informA2_6.rst b/src/reference/informative/informA2_6.rst new file mode 100644 index 00000000..fb1be121 --- /dev/null +++ b/src/reference/informative/informA2_6.rst @@ -0,0 +1,95 @@ +.. _inform2_6: + +.. container:: toggle + + .. container:: header + + See more + + .. container:: infospec + + .. container:: heading3 + + Understanding element IDs + + In order to understand how the XML :code:`id` attribute is used in CellML models, we need to remember three things. + Firstly, in CellML the elements are identified by uniqueness over the *model* scope of their :code:`name` attribute, their type (eg: :code:`variable`), and in some cases, by their parent element too. + Secondly, the CellML :code:`model` might exist over several different *documents*, and make use of :code:`import` functionality to connect these documents into one *model*. + Finally, the uniqueness of the XML :code:`id` attribute value extends only to the *document* scope, not the CellML *model* scope. + Consider the example below. + + .. code:: + + # In the document "BreakfastMenu.cellml". + # All id attributes are unique within this document. + model: name = "BreakfastOfChampions", id = "b" + ├─ component: name = "Protien", id = "p" + ├─ component: name = "Carbohydrates", id = "c" <╴╴╴╴╴╴╴╴╴┐ + └─ component: name = "FunStuff", id = "f" ╷ + └─ variable: name = "FunStuff", id = "fs" ╷ + ╷ + Valid: Component named "Porridge" is + imported, but its id attribute "p" is not. + ╵ + # In the document "CarbohydrateIdeas.cellml". ╵ + # All id attributes should be unique within this document. ╵ + model: name = "Carbs" id = none specified ╵ + ├─ component: name = "Chocolate", id = "c" ╵ + ├─ component: name = "Porridge", id = "p" ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘ + └─ component: name = "Toast", id = "t" + └─ variable: name = "Peanutbutter", id = "p" + + # Invalid: The variable Peanutbutter is not allowed to have an id of "p" + # as this conflicts with the component Porridge id in the same document. + + + .. container:: toggle + + .. container:: header + + See CellML syntax + + .. code-block:: XML + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Here we have two separate *documents* which are partially combined to make one *model*. + There is *no* repetition of :code:`id` attribute values within the BreakfastMenu.cellml *document*. + There *is* repetition of the :code:`name` attribute "FunStuff", but the elements have different types (:code:`component` and :code:`variable`), so this remains valid. + There *is* repetition of the :code:`id` attribute "p" in the CarbohydrateIdeas.cellml *document*, between the :code:`variable` named "Peanutbutter" and the :code:`component` named "Porridge". + This is not valid. + From 1edd45776d4258f7d0ffaf68b506d171b6267732 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 14 Apr 2020 11:31:11 +1200 Subject: [PATCH 391/604] Update specA2.rst --- src/reference/formal_and_informative/specA2.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/reference/formal_and_informative/specA2.rst b/src/reference/formal_and_informative/specA2.rst index 08ac5747..d15dc4c4 100644 --- a/src/reference/formal_and_informative/specA2.rst +++ b/src/reference/formal_and_informative/specA2.rst @@ -21,3 +21,5 @@ .. include:: ../sectionA_definitions.inc :start-after: marker_cellml_information_sets_4 :end-before: marker_cellml_information_sets_end + +.. include:: ../informative/informA2_6.rst From 4a24281036f39d2e622f592b33ada68ed6b941d9 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 14 Apr 2020 12:42:25 +1200 Subject: [PATCH 392/604] Bulleting the final notes --- src/reference/informative/informA2_6.rst | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/reference/informative/informA2_6.rst b/src/reference/informative/informA2_6.rst index fb1be121..27958f55 100644 --- a/src/reference/informative/informA2_6.rst +++ b/src/reference/informative/informA2_6.rst @@ -87,9 +87,10 @@
- Here we have two separate *documents* which are partially combined to make one *model*. - There is *no* repetition of :code:`id` attribute values within the BreakfastMenu.cellml *document*. - There *is* repetition of the :code:`name` attribute "FunStuff", but the elements have different types (:code:`component` and :code:`variable`), so this remains valid. - There *is* repetition of the :code:`id` attribute "p" in the CarbohydrateIdeas.cellml *document*, between the :code:`variable` named "Peanutbutter" and the :code:`component` named "Porridge". - This is not valid. + Some points to note: + - Here we have two separate *documents* which are partially combined to make one *model*. + - There is **no** repetition of :code:`id` attribute values within the BreakfastMenu.cellml *document*. + - There **is** repetition of the :code:`name` attribute "FunStuff", but the elements have different types (:code:`component` and :code:`variable`), so this remains valid. + - There **is** repetition of the :code:`id` attribute "p" in the CarbohydrateIdeas.cellml *document*, between the :code:`variable` named "Peanutbutter" and the :code:`component` named "Porridge". + This is not valid. From e01b4142066853d2e8a6c9683173a962cf7dcf07 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Tue, 14 Apr 2020 15:00:47 +1200 Subject: [PATCH 393/604] Formatting --- src/reference/informative/informA2_6.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/src/reference/informative/informA2_6.rst b/src/reference/informative/informA2_6.rst index 27958f55..0a80e281 100644 --- a/src/reference/informative/informA2_6.rst +++ b/src/reference/informative/informA2_6.rst @@ -88,6 +88,7 @@ Some points to note: + - Here we have two separate *documents* which are partially combined to make one *model*. - There is **no** repetition of :code:`id` attribute values within the BreakfastMenu.cellml *document*. - There **is** repetition of the :code:`name` attribute "FunStuff", but the elements have different types (:code:`component` and :code:`variable`), so this remains valid. From f62a26f5781430248d057556765eeec2a84e7fee Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Tue, 14 Apr 2020 10:13:35 +0100 Subject: [PATCH 394/604] Replaced 'european numeral' with digit (closes #178), and rewrote number string definitions to allow leading plus signs (closes #33). --- src/reference/sectionA_definitions.inc | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 1176dfbb..dc36e042 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -52,15 +52,15 @@ Any information item in the :ref:`CellML namespace`. **Basic Latin alphabetic character:** A Unicode character in the range :unicode:`0041` to :unicode:`005A` or in the range :unicode:`0061` to :unicode:`007A`. -.. _specA_european_numeral: +.. _specA_digit: -**European numeral:** +**Digit:** A Unicode character in the range :unicode:`0030` to :unicode:`0039`. .. _specA_basic_latin_alphanumeric_character: **Basic Latin alphanumeric character:** -A Unicode character which is either a :ref:`Basic Latin alphabetic character` or a :ref:`European numeral`. +A Unicode character which is either a :ref:`Basic Latin alphabetic character` or a :ref:`Digit`. .. _specA_basic_latin_underscore: @@ -200,7 +200,7 @@ The following data representation formats are defined for use in this specificat .. container:: issue-data-repr-identifier-begin-euro-num - 4. SHALL NOT begin with a :ref:`numeral` or an :ref:`underscore`. + 4. SHALL NOT begin with a :ref:`digit` or an :ref:`underscore`. .. container:: issue-data-repr-identifier-identical @@ -218,7 +218,7 @@ The following data representation formats are defined for use in this specificat .. container:: issue-data-repr-nneg-int-euro-num - 2. SHALL consist entirely of :ref:`European numerals`. + 2. SHALL consist of one or more :ref:`digits`. .. marker_data_formats_2 @@ -232,11 +232,11 @@ The following data representation formats are defined for use in this specificat .. container:: issue-data-repr-int-sign - 2. SHALL, when the integer being represented is negative, begin with the Basic Latin hyphen-minus character :unicode:`002D` as the sign indicator. + 2. MAY begin with a single Basic Latin plus character :unicode:`002B` or a Basic Latin hyphen-minus character :unicode:`002D` as the sign indicator. .. container:: issue-data-repr-int-euro-num - 3. SHALL, other than the sign indicator, consist only of :ref:`European numerals`. + 3. SHALL, other than the sign indicator, consist of one or more :ref:`digits`. .. marker_data_formats_3 @@ -250,7 +250,7 @@ The following data representation formats are defined for use in this specificat .. container:: issue-data-repr-basic-real-sign - 2. SHALL, when the basic real number being represented is negative, begin with the Basic Latin hyphen-minus character :unicode:`002D` as the sign indicator. + 2. MAY begin with a single Basic Latin plus character :unicode:`002B` or a Basic Latin hyphen-minus character :unicode:`002D` as the sign indicator. .. container:: issue-data-repr-basic-real-decimal @@ -258,7 +258,7 @@ The following data representation formats are defined for use in this specificat .. container:: issue-data-repr-basic-real-euro-num - 4. SHALL, other than the sign indicator and the decimal point separator, consist only of :ref:`European numerals`. + 4. SHALL, other than the sign indicator and the decimal point separator, consist of one or more :ref:`digits`. .. marker_data_formats_4 @@ -272,7 +272,7 @@ The following data representation formats are defined for use in this specificat .. container:: issue-data-repr-real-repr - 2. The representation of the number SHALL be the representation of the significand followed immediately by the representation of the exponent. + 2. The representation of the number SHALL be the representation of the significand, optionally followed by a representation of the exponent. .. container:: issue-data-repr-real-significand @@ -281,11 +281,10 @@ The following data representation formats are defined for use in this specificat .. container:: issue-data-repr-real-exponent 4. An exponent SHALL be represented by an exponent separator character, followed by the :ref:`integer string representation` of the value of the exponent. - Non-negative exponents MAY begin with the Basic Latin plus sign character :unicode:`002B` as the sign indicator. The exponent separator character SHALL be either the Basic Latin "E" character :unicode:`0045` or the Basic Latin "e" character :unicode:`0065`. .. container:: issue-data-repr-real-no-exponent - 5. A real number string without an exponent SHALL be a :ref:`basic real number string`. + 5. If the exponent representation is omitted, the exponent shall be zero. .. marker_data_formats_end From ece1d86002e2660a6e7fd553b5cafcdb49dacf3e Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Tue, 14 Apr 2020 10:13:50 +0100 Subject: [PATCH 395/604] Updated informative spec on allowed characters. --- src/reference/informative/informA1.rst | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/reference/informative/informA1.rst b/src/reference/informative/informA1.rst index 084078f5..cbe3b2de 100644 --- a/src/reference/informative/informA1.rst +++ b/src/reference/informative/informA1.rst @@ -16,20 +16,22 @@ In CellML, two namespaces are used. These are the CellML namespace itself (which helps to define the :code:`units` elements as distinct from the XML default units system) and the MathML namespace used to interpret the :code:`math` elements. For more information on namespaces in general, please refer to the :namespace_help:`W3 schools namespace page <>`, or for the MathML namespace please refer to the :mathml2help:`W3 MathML namespace <#inferf.namespace>` page. - + .. container:: heading3 - Unicode, Basic Latin, and European numerals + Unicode, Basic Latin alphabetical characters, and Digits The Unicode project is an attempt to codify all of the symbols - alphabets, writings, even emojis - of all the languages of the world so that they can be interchangeable and interpreted by computers. Since computers understand numbers rather than symbols, each character in each language is given a unique numerical code. - The codes themselves are arranged into blocks representing sets or alphabets of characters, and the Basic Latin alphabet is one of these. - It contains the upper and lowercase alphabet without decoration: + The codes themselves are arranged into blocks representing sets of characters, and the Basic Latin block is one of these. + It contains, amongst other things, the upper and lowercase alphabet without decoration: :code:`abcdefghijklmnopqrstuvwxyz` (symbols between :unicode:`0061` and :unicode:`007A`) :code:`ABCDEFGHIJKLMNOPQRSTUVWXYZ` (symbols between :unicode:`0041` and :unicode:`005A`) - The European numerals are the Unicode set: + These 2*26 characters are refferd to in CellML as the Basic Latin alphabetic characters. + + The Digits are the Unicode set: :code:`0123456789` (symbols between :unicode:`0030` and :unicode:`0039`) @@ -37,14 +39,14 @@ - :code:`+` the plus sign (:unicode:`002B`), - :code:`-` the minus sign (:unicode:`002D`), + - :code:`.` the fullstop or decimal point (:unicode:`002E`), - :code:`_` the underscore (:unicode:`005F`), - - :code:`.` the fullstop (:unicode:`002E`), and the following whitespace characters: - - - the space (:unicode:`0020`), - - the tab (:unicode:`0009`), + + - the space (:unicode:`0020`), + - the tab (:unicode:`0009`), - the carriage return (:unicode:`000D`), and - - the line feed (:unicode:`000A`). + - the line feed (:unicode:`000A`). - Together these symbols define the only characters which can be interpreted into values for CellML element attributes and content. + Together these symbols define the only characters which can be interpreted into values for CellML names and numbers. From e2f03d2117451fd8aec22755f45c6881be7901e4 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Tue, 14 Apr 2020 10:21:04 +0100 Subject: [PATCH 396/604] Informative spec number tweaks --- src/reference/informative/informA1.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/informative/informA1.rst b/src/reference/informative/informA1.rst index cbe3b2de..24fb0d26 100644 --- a/src/reference/informative/informA1.rst +++ b/src/reference/informative/informA1.rst @@ -29,9 +29,9 @@ :code:`abcdefghijklmnopqrstuvwxyz` (symbols between :unicode:`0061` and :unicode:`007A`) :code:`ABCDEFGHIJKLMNOPQRSTUVWXYZ` (symbols between :unicode:`0041` and :unicode:`005A`) - These 2*26 characters are refferd to in CellML as the Basic Latin alphabetic characters. + These characters are refferd to in CellML as the Basic Latin alphabetic characters. - The Digits are the Unicode set: + The Digits are the Unicode characters: :code:`0123456789` (symbols between :unicode:`0030` and :unicode:`0039`) From b826f1def5c2a8876e124cd8d844ccf25e232b66 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Tue, 14 Apr 2020 10:24:28 +0100 Subject: [PATCH 397/604] Slight tyopes in number definitions. --- src/reference/informative/informA1.rst | 6 ++++-- src/reference/sectionA_definitions.inc | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/reference/informative/informA1.rst b/src/reference/informative/informA1.rst index 24fb0d26..607100b6 100644 --- a/src/reference/informative/informA1.rst +++ b/src/reference/informative/informA1.rst @@ -19,7 +19,7 @@ .. container:: heading3 - Unicode, Basic Latin alphabetical characters, and Digits + Unicode, Basic Latin alphabetical characters, and digits The Unicode project is an attempt to codify all of the symbols - alphabets, writings, even emojis - of all the languages of the world so that they can be interchangeable and interpreted by computers. Since computers understand numbers rather than symbols, each character in each language is given a unique numerical code. @@ -31,10 +31,12 @@ These characters are refferd to in CellML as the Basic Latin alphabetic characters. - The Digits are the Unicode characters: + The digits are the Unicode characters: :code:`0123456789` (symbols between :unicode:`0030` and :unicode:`0039`) + Together with the Basic Latin alphabetic characters, they form the Basic Latin alphanumerical characters. + In addition, CellML recognises four special characters: - :code:`+` the plus sign (:unicode:`002B`), diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index dc36e042..819d3041 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -60,7 +60,7 @@ A Unicode character in the range :unicode:`0030` to :unicode:`0039`. .. _specA_basic_latin_alphanumeric_character: **Basic Latin alphanumeric character:** -A Unicode character which is either a :ref:`Basic Latin alphabetic character` or a :ref:`Digit`. +A Unicode character which is either a :ref:`Basic Latin alphabetic character` or a :ref:`digit`. .. _specA_basic_latin_underscore: From 87d131cf0c0f3811c0b6c3738cf9c5e98c1b3c84 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Tue, 14 Apr 2020 10:25:02 +0100 Subject: [PATCH 398/604] Fixed typpo --- src/reference/informative/informA1.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/informative/informA1.rst b/src/reference/informative/informA1.rst index 607100b6..56737752 100644 --- a/src/reference/informative/informA1.rst +++ b/src/reference/informative/informA1.rst @@ -41,7 +41,7 @@ - :code:`+` the plus sign (:unicode:`002B`), - :code:`-` the minus sign (:unicode:`002D`), - - :code:`.` the fullstop or decimal point (:unicode:`002E`), + - :code:`.` the full stop or decimal point (:unicode:`002E`), - :code:`_` the underscore (:unicode:`005F`), and the following whitespace characters: From 5d95454e1f2b7362326037a9a178ed8ebf91fc51 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Tue, 14 Apr 2020 10:47:44 +0100 Subject: [PATCH 399/604] Condensed identifier definition (closes #181, closes #182) and clarified identifer equality. --- src/reference/sectionA_definitions.inc | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 1176dfbb..f8b3c6f9 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -188,23 +188,11 @@ The following data representation formats are defined for use in this specificat .. container:: issue-data-repr-identifier-unicode - 1. SHALL be a sequence of Unicode characters. - - .. container:: issue-data-repr-identifier-latin-alphanum - - 2. SHALL NOT contain any characters except :ref:`Basic Latin alphanumeric characters` and :ref:`Basic Latin underscores`. - - .. container:: issue-data-repr-identifier-at-least-one-alphanum - - 3. SHALL contain at least one :ref:`alphabetic` character. - - .. container:: issue-data-repr-identifier-begin-euro-num - - 4. SHALL NOT begin with a :ref:`numeral` or an :ref:`underscore`. + 1. SHALL consist of a single :ref:`Basic Latin alphabetic character`, which MAY be followed by any combination of :ref:`Basic Latin alphanumeric characters` and :ref:`Basic Latin underscores`. .. container:: issue-data-repr-identifier-identical - 5. SHALL, when comparing two identifiers, be considered identical to another identifier if and only if both identifiers have identical sequences of characters. + 2. SHALL, when comparing two identifiers, be considered identical to another identifier if and only if both identifiers are identical sequences of characters. .. marker_data_formats_1 From 4782b4337d8d87a44dc6917b654a6c7178dddb2e Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Tue, 14 Apr 2020 10:59:56 +0100 Subject: [PATCH 400/604] Merged 1.2.3 and 1.2.4 (closes #180). Added definition of non-specific items (closes #179). --- src/reference/sectionA_definitions.inc | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 1176dfbb..9c2b9212 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -105,7 +105,7 @@ CellML and XML Specific information items ~~~~~~~~~~~~~~~~~~~~~~~~~~ -#. For the purposes of this specification, a specific information item is one of the following (see https://www.w3.org/TR/xml-infoset/#infoitem for definitions): +#. For the purposes of this specification, a specific information item is one of the following (see https://www.w3.org/TR/xml-infoset/ for definitions): #. A document information item; @@ -134,9 +134,19 @@ Specific information items Non-specific information items ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +#. For the purposes of this specification, a non-specific information item is one of the following (see https://www.w3.org/TR/xml-infoset/ for definitions): + + #. A comment information item; + + #. A namespace information item; + + #. A character information item. + +#. An element information item in the :ref:`CellML namespace` MUST NOT contain any character information items, except for character information items which consist entirely of whitespace characters. + #. Two :ref:`CellML infosets` SHALL be deemed semantically equivalent if one can be transformed into the other by making any or none of the following changes: - #. Adding, removing, and/or modifying `comment information items `__. + #. Adding, removing, and/or modifying comment information items. #. Changing (inserting, removing, and/or modifying) one or more namespace information items, and/or modifying the prefix of one or more information items, without changing the namespace that any information item is in. @@ -146,13 +156,6 @@ Non-specific information items changing the number of whitespace characters in such an information item, or changing the number of whitespace characters at the beginning or end of any character information item. -.. marker_cellml_information_sets_3 - -Character information items -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -#. An element information item in the :ref:`CellML namespace` MUST NOT contain any character information items, except for character information items which consist entirely of whitespace characters. - .. marker_cellml_information_sets_4 Use of namespaces From e34fc0a3cef71a920b2ae87886ea43e40953ad24 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Tue, 14 Apr 2020 12:50:58 +0100 Subject: [PATCH 401/604] Added must-be-identifier for reset variables. Closes #185. --- src/reference/sectionB_elements.inc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index c55608e9..c4d0b9bb 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -276,11 +276,15 @@ A :code:`reset` element information item (referred to in this specification as a .. container:: issue-reset-variable-reference 1. The :code:`variable` attribute. + The value of the :code:`variable` attribute MUST be a :ref:`valid CellML identifier`. + The value of the :code:`variable` attribute MUST be a variable reference to a variable defined within the parent :code:`component` element of the :code:`reset` element. .. container:: issue-reset-test-variable-reference 2. The :code:`test_variable` attribute. + The value of the :code:`test_variable` attribute MUST be a :ref:`valid CellML identifier`. + The value of the :code:`test_variable` attribute MUST be a variable reference to a variable defined within the parent :code:`component` element of the :code:`reset` element. .. container:: issue-reset-order From ba1f74fc0872b14bc441b5e00edd70dca95db7c5 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Tue, 14 Apr 2020 16:39:18 +0100 Subject: [PATCH 402/604] Reworded import interpretation. --- src/reference/sectionC_interpretation.inc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 3515890f..7cc443cc 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -8,12 +8,15 @@ Interpretation of ``import`` elements ------------------------------------- #. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset which is referenced by the :code:`href` attribute (the imported infoset). - This imported infoset instance SHALL provide the context in which the child of an import element (a :code:`units` or :code:`component` element) is defined and interpreted. -#. The imported infoset SHALL be considered such that items relevant to the imported infoset (:code:`unit` children of imported :code:`units` elements or the :ref:`encapsulated set` of imported :code:`component` elements) are themselves available to that :code:`import` element child. - It is noted, for the avoidance of doubt, that the importing infoset SHALL NOT have access to such implicitly imported items, but only to explicitly specified :code:`import` element children. +#. A :ref:`units reference` occurring within an imported component or within an imported units definition, SHALL be resolved with respect to the imported infoset. + +#. When determining the equivalent variable set of a variable in an imported component: + + #. connections to variables in the encapsulated set of the imported component SHALL be considered, and this rule SHALL be applied recursively; + + #. connections to variables in the sibling set of the imported component SHALL NOT be considered. -See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. .. marker_interpretation_of_imports_end .. marker_units_reference_start From a9f202dc4d4aebd91dec0d90fbcd8ff9f61c745e Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 15 Apr 2020 09:25:59 +1200 Subject: [PATCH 403/604] Rewording of 3.10 as in meeting --- src/reference/sectionC_interpretation.inc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 5380f1a1..372b8f98 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -369,11 +369,13 @@ Interpretation of ``map_variables`` elements #. The applicable interfaces for variables *A* and *B* in components *AA* and *BB* respectively SHALL be defined as follows. - #. When components *AA* and *BB* are siblings, the applicable interface for both variables *A* and *B* SHALL be the public interface. + #. When component *AA* is in the sibling set of component *BB* (and vice versa), the applicable interface for both variables *A* and *B* SHALL be the public interface. - #. When component *AA* is a child of component *BB* the applicable interface for variable *A* SHALL be the public interface, and the applicable interface for variable *B* SHALL be the private interface. + #. When component *AA* is in the encapsulated set of component *BB* the applicable interface for variable *A* SHALL be the public interface, and the applicable interface for variable *B* SHALL be the private interface. - #. When component *AA* is neither a sibling, parent nor child of component *BB* no connection is possible between the components, so no interface is available between the variables *A* and *B*. + #. When component *BB* is in the encapsulated set of component *AA* the applicable interface for variable *B* SHALL be the public interface, and the applicable interface for variable *A* SHALL be the private interface. + + #. It is noted, for the avoidance of doubt, that any other encapsulation relationship between components *AA* and *BB* will not permit connections, meaning that no interface is available between the variables *A* and *B*. #. CellML models MUST only contain :code:`map_variables` elements where the interface of variable *A* and the interface of variable *B* are applicable interfaces. From c4c346605d3de3d1a310745379a5210d705f2fe0 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 15 Apr 2020 09:33:44 +1200 Subject: [PATCH 404/604] Changes to 3.10.11: begin to replace "connected variables" with equivalent variables --- src/reference/sectionC_interpretation.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 372b8f98..ffa2e02e 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -385,9 +385,9 @@ Interpretation of ``map_variables`` elements #. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :ref:`Interpretation of units`). -#. The :code:`variable` elements in a CellML model SHALL be treated as belonging to a set, connected by the relationships specified in the :code:`math` elements of the model. - Each set of mapped variables is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a connected subgraph. - Each set of mapped variables represents one variable in the underlying mathematical model. +#. Each :code:`variable` element in a CellML model SHALL be treated as belonging to a single "equivalent variable set". + Each set of equivalent variables is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a connected subgraph. + Each set of equivalent variables represents one variable in the underlying mathematical model. .. marker_interpretation_of_map_variables_end .. marker_interpretation_of_variable_resets_start From c5950b039a333a0e521bdf7b9898508df0bb7e3b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 15 Apr 2020 09:39:19 +1200 Subject: [PATCH 405/604] Update sectionC_interpretation.inc --- src/reference/sectionC_interpretation.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index ffa2e02e..c6a2f013 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -386,8 +386,8 @@ Interpretation of ``map_variables`` elements #. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :ref:`Interpretation of units`). #. Each :code:`variable` element in a CellML model SHALL be treated as belonging to a single "equivalent variable set". - Each set of equivalent variables is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a connected subgraph. - Each set of equivalent variables represents one variable in the underlying mathematical model. + Each equivalent variables set is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a connected subgraph. + Each equivalent variables set represents one variable in the underlying mathematical model. .. marker_interpretation_of_map_variables_end .. marker_interpretation_of_variable_resets_start From 3122509cdbfaa81b18c126577bd2acb579c1a215 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 15 Apr 2020 09:48:26 +1200 Subject: [PATCH 406/604] Changes to 2.8 and 3.7 as per discussion --- src/reference/sectionB_elements.inc | 2 +- src/reference/sectionC_interpretation.inc | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index c55608e9..6dd5c941 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -247,7 +247,7 @@ A :code:`variable` element information item (referred to in this specification a .. container:: issue-variable-units - 2. The :code:`units` attribute. The value of the :code:`units` attribute MUST be a :ref:`valid CellML identifier`, and MUST meet the constraints described in the :ref:`Effect of units on variables` section. + 2. The :code:`units` attribute. The value of the :code:`units` attribute MUST be a :ref:`valid CellML identifier`, and MUST be a :ref:`valid units reference`. 2. Every :code:`variable` element MAY contain one or more of the following attributes: diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 3515890f..e4ce693d 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -277,8 +277,7 @@ Interpretation of ``initial_value`` attributes Effect of ``units`` on a ``variable`` ------------------------------------- -#. The value of the :code:`units` attribute on every :code:`variable` element MUST be a valid :ref:`units reference`. - The target of this units reference is referred to as the variable units, and the corresponding unit reduction (see :ref:`Interpretation of units`) is referred to as the variable unit reduction. +#. The target of the :code:`units` attribute on a variable is referred to as the "variable units", and the corresponding unit reduction (see :ref:`Interpretation of units`) is referred to as the "variable unit reduction". .. marker_effect_of_units_on_variables_end .. marker_interpretation_of_mathematics_start From 550ad6a8b5594c07085bf0866e146b3b6f512263 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 15 Apr 2020 11:12:24 +1200 Subject: [PATCH 407/604] Change connected/mapped variables into equivalent variables --- src/reference/informative/informB15_connection3.rst | 2 +- src/reference/informative/informB8_variable1.rst | 6 +++--- src/reference/sectionB_elements.inc | 2 +- src/reference/sectionC_interpretation.inc | 8 ++++---- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/reference/informative/informB15_connection3.rst b/src/reference/informative/informB15_connection3.rst index 05741154..6480b46d 100644 --- a/src/reference/informative/informB15_connection3.rst +++ b/src/reference/informative/informB15_connection3.rst @@ -8,7 +8,7 @@ .. container:: infospec - All this means is that mapped/connected :code:`variables` (i.e.: those specified by :code:`connection` and :code:`map_variables` items) must be in different :code:`components`. + All this means is that equivalent :code:`variables` (i.e.: those specified by :code:`connection` and :code:`map_variables` items) must be in different :code:`components`. Since the only reason you'd need to use these connections is in order to access a :code:`variable` in another :code:`component`, this restriction does kinda make sense! .. code-block:: xml diff --git a/src/reference/informative/informB8_variable1.rst b/src/reference/informative/informB8_variable1.rst index 8ff140a5..f4d7d647 100644 --- a/src/reference/informative/informB8_variable1.rst +++ b/src/reference/informative/informB8_variable1.rst @@ -26,6 +26,6 @@ Extra attributes that can be used as needed include the :code:`initial_value`, which will either set a constant value for a variable, or set its initial conditions if it's being solved for. More information about initialisation can be found in the :ref:`Interpretation of initial values` section. - Finally, where one :code:`variable` has been mapped to another in a different component, the :code:`interface` attribute must be specified. - This determines the relative position in the encapsulation that the mapped component must have in order to access this variable. - This is outlined in more detail in the :ref:`encapsulation item` section. + Finally, where one :code:`variable` (A) has been mapped to another (B) in a different component (BB), both A and B must specify :code:`interface` attributes. + These prescribe the relative positions in the encapsulation that the components AA and BB must have in order for their respective variables A and B to access one another. + This is outlined in more detail in the :ref:`encapsulation element` section. diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index c55608e9..1cbd4b82 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -288,7 +288,7 @@ A :code:`reset` element information item (referred to in this specification as a 3. The :code:`order` attribute. The value of the :code:`order` attribute MUST be an integer string. - The value of the :code:`order` attribute MUST be unique for all :code:`reset` elements with :code:`variable` attributes that reference variables in the same connected variable set (see :ref:`Interpretation of map_variables`). + The value of the :code:`order` attribute MUST be unique for all :code:`reset` elements with :code:`variable` attributes that reference variables in the same equivalent variable set (see :ref:`Interpretation of map_variables`). .. container:: issue-reset-child diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 3515890f..ab9e3919 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -383,9 +383,9 @@ Interpretation of ``map_variables`` elements #. CellML models MUST only contain :code:`map_variables` elements where the interface of variable *A* and the interface of variable *B* are applicable interfaces. -#. The :code:`variable` elements in a CellML model SHALL be treated as belonging to a single "connected variable set". - Each set of connected variables is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a connected subgraph. - Each set of connected variables represents one variable in the underlying mathematical model. +#. The :code:`variable` elements in a CellML model SHALL be treated as belonging to a single "equivalent variable set". + Each set of equivalent variables is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a equivalent subgraph. + Each set of equivalent variables represents one variable in the underlying mathematical model. .. marker_interpretation_of_map_variables_end .. marker_interpretation_of_variable_resets_start @@ -398,7 +398,7 @@ Interpretation of ``reset`` elements #. Each :code:`reset` element describes a change to be applied to the variable referenced by the :code:`variable` attribute when specified conditions are met during the simulation of the model. -#. All :code:`reset` elements SHALL be considered sequentially for the connected variable set (see :ref:`Interpretation of map_variables`) to which the referenced variable belongs. +#. All :code:`reset` elements SHALL be considered sequentially for the equivalent variable set (see :ref:`Interpretation of map_variables`) to which the referenced variable belongs. The sequence SHALL be determined by the value of the reset element’s :code:`order` attribute, lowest (least positive / most negative) having priority. #. The condition under which a reset occurs SHALL be defined by the equality of the reset element’s :code:`test_variable` attribute and the evaluation of the MathML expression encoded in the :code:`test_value`. From ce51ca70a7219333b5e2765c0eb34a62420466d0 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 15 Apr 2020 11:26:36 +1200 Subject: [PATCH 408/604] Fixed example of character items A2_4 --- src/reference/informative/informA2_4.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/informative/informA2_4.rst b/src/reference/informative/informA2_4.rst index bd68f164..bbefc33c 100644 --- a/src/reference/informative/informA2_4.rst +++ b/src/reference/informative/informA2_4.rst @@ -11,6 +11,6 @@ .. code-block:: none - - + + ... because it has stuff here that shouldn't be here. From 602dbbe29419851b7bec6276aff9f7f595213b79 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 15 Apr 2020 11:28:24 +1200 Subject: [PATCH 409/604] Spelling of protein --- src/reference/informative/informA2_6.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/reference/informative/informA2_6.rst b/src/reference/informative/informA2_6.rst index 0a80e281..a0c28a62 100644 --- a/src/reference/informative/informA2_6.rst +++ b/src/reference/informative/informA2_6.rst @@ -23,7 +23,7 @@ # In the document "BreakfastMenu.cellml". # All id attributes are unique within this document. model: name = "BreakfastOfChampions", id = "b" - ├─ component: name = "Protien", id = "p" + ├─ component: name = "Protein", id = "p" ├─ component: name = "Carbohydrates", id = "c" <╴╴╴╴╴╴╴╴╴┐ └─ component: name = "FunStuff", id = "f" ╷ └─ variable: name = "FunStuff", id = "fs" ╷ @@ -53,7 +53,7 @@ - + - From 0fe0334c5edc29aabb3e9934eb4edf36cc7c3769 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 15 Apr 2020 11:48:23 +1200 Subject: [PATCH 410/604] Rewriting id stuff ... --- src/reference/informative/informA2_6.rst | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/reference/informative/informA2_6.rst b/src/reference/informative/informA2_6.rst index a0c28a62..cf93f17f 100644 --- a/src/reference/informative/informA2_6.rst +++ b/src/reference/informative/informA2_6.rst @@ -12,10 +12,15 @@ Understanding element IDs - In order to understand how the XML :code:`id` attribute is used in CellML models, we need to remember three things. + In order to understand how the XML :code:`id` attribute is used in CellML models, we need to understand four things. Firstly, in CellML the elements are identified by uniqueness over the *model* scope of their :code:`name` attribute, their type (eg: :code:`variable`), and in some cases, by their parent element too. Secondly, the CellML :code:`model` might exist over several different *documents*, and make use of :code:`import` functionality to connect these documents into one *model*. - Finally, the uniqueness of the XML :code:`id` attribute value extends only to the *document* scope, not the CellML *model* scope. + Thirdly, the uniqueness of the XML :code:`id` attribute value extends only to the *document* scope, not the CellML *model* scope. + Finally, there are aspects of the *written* XML which do not contribute to the *conceptual* model as represented by the CellML; simple examples are things like whitespace between elements, comments, quotation and angle bracket markers. + These are all parts of the written language which guide interpretation into the conceptual model. + The :code:`id` attribute is likewise an XML attribute which falls into the same category: it may be read when a document is parsed, but as it doesn't form a part of any CellML element, it doesn't exist in the constructed conceptual representation. + Having said this, the syntax of CellML is a subset of XML (as specified in :ref:`CellML information sets`), so the rules of XML :code:`id` attributes must be followed, where present. + Consider the example below. .. code:: @@ -28,8 +33,9 @@ └─ component: name = "FunStuff", id = "f" ╷ └─ variable: name = "FunStuff", id = "fs" ╷ ╷ - Valid: Component named "Porridge" is - imported, but its id attribute "p" is not. + Valid: A CellML component named "Porridge" is + imported, but its XML id attribute "p" is not + a part of that import. ╵ # In the document "CarbohydrateIdeas.cellml". ╵ # All id attributes should be unique within this document. ╵ @@ -40,7 +46,7 @@ └─ variable: name = "Peanutbutter", id = "p" # Invalid: The variable Peanutbutter is not allowed to have an id of "p" - # as this conflicts with the component Porridge id in the same document. + # as this conflicts with the component Porridge id "p" in the same document. .. container:: toggle From ed31fda3d07905fae9c91a1cae6f07d9010ebe93 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 15 Apr 2020 12:46:58 +1200 Subject: [PATCH 411/604] fixed indenting (I hope..) --- .../informative/informC02_units_reference.rst | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/reference/informative/informC02_units_reference.rst b/src/reference/informative/informC02_units_reference.rst index e6d28cfa..89f8de89 100644 --- a/src/reference/informative/informC02_units_reference.rst +++ b/src/reference/informative/informC02_units_reference.rst @@ -1,4 +1,4 @@ -.. _informC02_units_reference1: +.. _informC02_units_reference: .. container:: toggle @@ -57,16 +57,6 @@ The components are imported from separate files, each of which defines and uses its own local definitions of the custom measurement units :code:`spoon`, :code:`dash`, and :code:`smidgen`. - - - - - - - - - - .. code:: model: BlueberryPieRecipe From ea0db308ab23bf08e25bbb51b8bd536649967ffc Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 15 Apr 2020 16:30:47 +1200 Subject: [PATCH 412/604] "refers" --- src/reference/informative/informC02_units_reference.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/informative/informC02_units_reference.rst b/src/reference/informative/informC02_units_reference.rst index 89f8de89..f560abdf 100644 --- a/src/reference/informative/informC02_units_reference.rst +++ b/src/reference/informative/informC02_units_reference.rst @@ -12,7 +12,7 @@ Understanding units references - Units references are different from other reference types in that their value could refer either to other units which you've imported or created in your model, or to one of the list of :ref:`built-in units`. + Units references are different from other reference types in that their value refers either to other units which you've imported or created in your model, or to one of the list of :ref:`built-in units`. The trickier part is understanding them is during an import process, where the *scope* or *domain* in which named units exist becomes important, as alluded to in points :hardcodedref:`3.2.1 and 3.2.2.2`. From 41d3dbc491d4bb89166016043be4adb629d9ad51 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 15 Apr 2020 16:32:07 +1200 Subject: [PATCH 413/604] relative paths --- .../informative/informC02_units_reference.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/reference/informative/informC02_units_reference.rst b/src/reference/informative/informC02_units_reference.rst index f560abdf..8c82ced5 100644 --- a/src/reference/informative/informC02_units_reference.rst +++ b/src/reference/informative/informC02_units_reference.rst @@ -47,10 +47,10 @@ - + - + @@ -226,10 +226,10 @@ - + - + @@ -281,10 +281,10 @@ - + - + @@ -296,7 +296,7 @@ - + From 895313c31ef8756f5dd8b016d5e3c10cedda0c6f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 15 Apr 2020 16:32:48 +1200 Subject: [PATCH 414/604] "scope" --- src/reference/informative/informC02_units_reference.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/informative/informC02_units_reference.rst b/src/reference/informative/informC02_units_reference.rst index 8c82ced5..31dcdee5 100644 --- a/src/reference/informative/informC02_units_reference.rst +++ b/src/reference/informative/informC02_units_reference.rst @@ -304,4 +304,4 @@ At this stage we have three sets of units all named "spoonful". Since each is only accessible to its local components there is no conflict of definition or interpretation. - Now that the units required in the new :code:`BrandyCustard` component are defined within the same infoset, the model becomes valid, and our dessert needs are satisfied once more. + Now that the units required in the new :code:`BrandyCustard` component are defined within the same scope, the model becomes valid, and our dessert needs are satisfied once more. From c8fb09dec5c77f1fbe63d127b480bb8125fe80bc Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 15 Apr 2020 16:34:31 +1200 Subject: [PATCH 415/604] smidgen instead of dash --- src/reference/informative/informC02_units_reference.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/informative/informC02_units_reference.rst b/src/reference/informative/informC02_units_reference.rst index 31dcdee5..d9ec77c4 100644 --- a/src/reference/informative/informC02_units_reference.rst +++ b/src/reference/informative/informC02_units_reference.rst @@ -186,7 +186,7 @@ This is where the idea of *scope* becomes important. - As it stands, there is no conflict between the two different definitions of :code:`spoonful` and :code:`dash`, because each of the components refers to *its own definition* of these units. + As it stands, there is no conflict between the two different definitions of :code:`spoonful` and :code:`smidgen`, because each of the components refers to *its own definition* of these units. The components do not "know" that there is any other definition out there, because they cannot "see" up into the importing model. Now let's consider that the cook wants to alter the recipe a little after these two main ingredients have been imported, by adding a spoonful of brandy to some custard. From 605a1f07aaa4abb09983378b566a36679f1a334a Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 15 Apr 2020 16:35:50 +1200 Subject: [PATCH 416/604] tweaks --- src/reference/informative/informC02_units_reference.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/informative/informC02_units_reference.rst b/src/reference/informative/informC02_units_reference.rst index d9ec77c4..a566f041 100644 --- a/src/reference/informative/informC02_units_reference.rst +++ b/src/reference/informative/informC02_units_reference.rst @@ -14,7 +14,7 @@ Units references are different from other reference types in that their value refers either to other units which you've imported or created in your model, or to one of the list of :ref:`built-in units`. - The trickier part is understanding them is during an import process, where the *scope* or *domain* in which named units exist becomes important, as alluded to in points :hardcodedref:`3.2.1 and 3.2.2.2`. + The trickier part is understanding them during an import process, where the *scope* or *domain* in which named units exist becomes important, as alluded to in points :hardcodedref:`3.2.1 and 3.2.2.2`. Consider the example below. The first model :code:`BlueberryPieRecipe` simply combines two pre-made component ingredients; one for the crust and one for the filling. From ddfc79d2bbf409c90872d2313b1a4f59e70e0713 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 15 Apr 2020 16:41:53 +1200 Subject: [PATCH 417/604] wording as per review --- src/reference/informative/informC04_component_reference.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/informative/informC04_component_reference.rst b/src/reference/informative/informC04_component_reference.rst index 3d579196..085599af 100644 --- a/src/reference/informative/informC04_component_reference.rst +++ b/src/reference/informative/informC04_component_reference.rst @@ -12,7 +12,7 @@ Understanding component references - As with references to units and variables, the term "component reference" refers to places where you need to specify or reference a component using its name (but not assign it its name). + As with references to units and variables, the term "component reference" refers to places where you need to refer to a component using its name. This is done through the :code:`component_ref` attribute found in :code:`import component` and :code:`encapsulation` elements, as well as the :code:`component_1` and :code:`component_2` attributes of :code:`connection` elements. The complicated part occurs during imports, and involves understanding the *scope* of a component's reference. From c6f9fdf7cfea89db6539223c2f09e244f8b204a4 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Wed, 15 Apr 2020 19:46:12 +1200 Subject: [PATCH 418/604] Including file --- .../formal_and_informative/specC05_variable_reference.rst | 2 +- src/reference/informative/informC05_variable_reference.rst | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/reference/formal_and_informative/specC05_variable_reference.rst b/src/reference/formal_and_informative/specC05_variable_reference.rst index b1503fc7..c7a4388f 100644 --- a/src/reference/formal_and_informative/specC05_variable_reference.rst +++ b/src/reference/formal_and_informative/specC05_variable_reference.rst @@ -4,4 +4,4 @@ :start-after: marker_variable_reference_start :end-before: marker_variable_reference_end -.. todo ../informative/informC05_variable_reference.rst +.. include:: ../informative/informC05_variable_reference.rst diff --git a/src/reference/informative/informC05_variable_reference.rst b/src/reference/informative/informC05_variable_reference.rst index 36556887..4ec23bdd 100644 --- a/src/reference/informative/informC05_variable_reference.rst +++ b/src/reference/informative/informC05_variable_reference.rst @@ -16,14 +16,13 @@ There are two different ways that any :code:`variable` could be referenced. The first and simplest is within its own local scope, the parent :code:`component`. - In that situation, the :code:`variable`\'s :code:`name` attribute is enough to uniquely locate it. + In that situation, the :code:`variable` element's :code:`name` attribute is enough to uniquely locate it. The second situation is when a :code:`variable` is referred to from a :code:`component` other than its parent, so a reference to the parent :code:`component` as well as the :code:`variable`'s :code:`name` is required. This is found when creating :code:`connection` items using :code:`map_variables`. The example below shows how the pairing of components and variables are required to form a valid connection. - .. code-block:: xml From 0edb6dfd162e9af61f430f5787c581250f61fa92 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 09:44:29 +0100 Subject: [PATCH 419/604] Updated importing section. --- src/reference/sectionC_interpretation.inc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 7cc443cc..d5ff7779 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -13,10 +13,13 @@ Interpretation of ``import`` elements #. When determining the equivalent variable set of a variable in an imported component: - #. connections to variables in the encapsulated set of the imported component SHALL be considered, and this rule SHALL be applied recursively; + #. connections made in the importing infoset shall be handled as usual (see :ref:`Interpretation of ``map_variables`` `) - #. connections to variables in the sibling set of the imported component SHALL NOT be considered. + #. connections made in the imported infoset shall be handled as follows: + #. connections to components in the encapsulated set of the imported component SHALL be maintained, and this rule SHALL be applied recursively (encapsulated components are implicitly imported); + + #. connections to components in the sibling set, or to the parent of the imported component SHALL NOT be maintained. .. marker_interpretation_of_imports_end .. marker_units_reference_start From 63992a4b92d26831a38b020b141a009b6f1aa99f Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 09:45:19 +0100 Subject: [PATCH 420/604] Updated importing section. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index d5ff7779..80029b3d 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -17,7 +17,7 @@ Interpretation of ``import`` elements #. connections made in the imported infoset shall be handled as follows: - #. connections to components in the encapsulated set of the imported component SHALL be maintained, and this rule SHALL be applied recursively (encapsulated components are implicitly imported); + #. connections to components in the encapsulated set of the imported component SHALL be maintained, and this rule SHALL be applied recursively; #. connections to components in the sibling set, or to the parent of the imported component SHALL NOT be maintained. From ddf4c1d9843a703e146f0342da2d797168a47798 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 09:46:03 +0100 Subject: [PATCH 421/604] Updated importing section. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 80029b3d..2b13b32e 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -19,7 +19,7 @@ Interpretation of ``import`` elements #. connections to components in the encapsulated set of the imported component SHALL be maintained, and this rule SHALL be applied recursively; - #. connections to components in the sibling set, or to the parent of the imported component SHALL NOT be maintained. + #. connections to components in the sibling set, or to the encapsulation parent of the imported component SHALL NOT be maintained. .. marker_interpretation_of_imports_end .. marker_units_reference_start From ebff86fe57f10efa46256644ed8f5985191a04f1 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 10:28:37 +0100 Subject: [PATCH 422/604] Clarified import wording w.r.t. imports of sets of connected components. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 2b13b32e..62dd21fe 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -7,7 +7,7 @@ Interpretation of ``import`` elements ------------------------------------- -#. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset which is referenced by the :code:`href` attribute (the imported infoset). +#. Each :code:`import units` or :code:`import component` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset (the imported infoset) that is specified by the parent :code:`import` element's :code:`href` attribute. #. A :ref:`units reference` occurring within an imported component or within an imported units definition, SHALL be resolved with respect to the imported infoset. From cd3916ccf9aeb60c676e499e1ebd7e884b73c72f Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 10:36:16 +0100 Subject: [PATCH 423/604] Updated informative spec on data representation --- src/reference/informative/informA1.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/reference/informative/informA1.rst b/src/reference/informative/informA1.rst index 56737752..0cf9b1de 100644 --- a/src/reference/informative/informA1.rst +++ b/src/reference/informative/informA1.rst @@ -29,13 +29,13 @@ :code:`abcdefghijklmnopqrstuvwxyz` (symbols between :unicode:`0061` and :unicode:`007A`) :code:`ABCDEFGHIJKLMNOPQRSTUVWXYZ` (symbols between :unicode:`0041` and :unicode:`005A`) - These characters are refferd to in CellML as the Basic Latin alphabetic characters. + These characters are referred to in CellML as the "Basic Latin alphabetical characters". - The digits are the Unicode characters: + The "digits" are the Unicode characters: :code:`0123456789` (symbols between :unicode:`0030` and :unicode:`0039`) - Together with the Basic Latin alphabetic characters, they form the Basic Latin alphanumerical characters. + Together with the Basic Latin alphabetic characters, they form the "Basic Latin alphanumerical characters". In addition, CellML recognises four special characters: @@ -51,4 +51,4 @@ - the carriage return (:unicode:`000D`), and - the line feed (:unicode:`000A`). - Together these symbols define the only characters which can be interpreted into values for CellML names and numbers. + These symbols and character sets will be used throughout the CellML definition to define allowed content of attributes and elements. From 111e1f0b28bfe5941df7d4146536eb1dc781f5b4 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 10:44:29 +0100 Subject: [PATCH 424/604] Removed nonnegative integer. --- .../formal_and_informative/specA3.rst | 8 +----- src/reference/informative/informA3_2.rst | 4 +-- src/reference/informative/informA3_3.rst | 15 ++++++++-- src/reference/informative/informA3_4.rst | 21 ++++++++------ src/reference/informative/informA3_5.rst | 28 ------------------- src/reference/sectionA_definitions.inc | 18 ++---------- 6 files changed, 31 insertions(+), 63 deletions(-) delete mode 100644 src/reference/informative/informA3_5.rst diff --git a/src/reference/formal_and_informative/specA3.rst b/src/reference/formal_and_informative/specA3.rst index 9d5ab81c..954f03fa 100644 --- a/src/reference/formal_and_informative/specA3.rst +++ b/src/reference/formal_and_informative/specA3.rst @@ -20,12 +20,6 @@ .. include:: ../sectionA_definitions.inc :start-after: marker_data_formats_3 - :end-before: marker_data_formats_4 - -.. include:: ../informative/informA3_4.rst - -.. include:: ../sectionA_definitions.inc - :start-after: marker_data_formats_4 :end-before: marker_data_formats_end -.. include:: ../informative/informA3_5.rst +.. include:: ../informative/informA3_4.rst diff --git a/src/reference/informative/informA3_2.rst b/src/reference/informative/informA3_2.rst index 55801226..ffd586ef 100644 --- a/src/reference/informative/informA3_2.rst +++ b/src/reference/informative/informA3_2.rst @@ -8,5 +8,5 @@ .. container:: infospec - A non-negative integer string is just a string which represents a non-negative integer, containing *only* digits between 0 and 9. - It must not contain either the plus :code:`+` or minus :code:`-` signs. + An integer string is simply a string containing only the numerical characters between 0 and 9. + If it's a negative then it should begin with the minus sign, :code:`-`, but it *must not* begin with the plus sign, :code:`+`. diff --git a/src/reference/informative/informA3_3.rst b/src/reference/informative/informA3_3.rst index eb182798..dc5fbfa2 100644 --- a/src/reference/informative/informA3_3.rst +++ b/src/reference/informative/informA3_3.rst @@ -1,5 +1,6 @@ .. _inform3_3: + .. container:: toggle .. container:: header @@ -8,5 +9,15 @@ .. container:: infospec - An integer string is simply a string containing only the numerical characters between 0 and 9. - If it's a negative then it should begin with the minus sign, :code:`-`, but it *must not* begin with the plus sign, :code:`+`. + Note that the *basic real number string* is distinct from the :ref:`real number string` in that it does not include real numbers in scientific notation (also called scientific form, standard index form, or standard form). + + For example: + + - :code:`"-123.4567"` is a valid basic real number string, + - :code:`"-1.234567E03"` is not (but it *is* a valid :ref:`real number string`), + - :code:`"+123.4567"` is not valid (must not contain the plus sign :code:`+`), + - :code:`"1234567"` is valid (it's ok to not use a decimal point :code:`.`), + - :code:`"123,4567"` is not valid (the decimal signifier must be a full-stop symbol :code:`.`), + - :code:`"123,456.7"` is not valid (you may not use a comma :code:`,` or a space :code:` ` as a thousands separator), + - :code:`"12.34.56"` is not valid (maximum of one decimal point :code:`.` is permitted), and + - :code:`"0x123abc"` is not valid (base 10 numbers only). diff --git a/src/reference/informative/informA3_4.rst b/src/reference/informative/informA3_4.rst index 9ffc6fa0..c9e3b10a 100644 --- a/src/reference/informative/informA3_4.rst +++ b/src/reference/informative/informA3_4.rst @@ -7,17 +7,22 @@ See more + .. container:: infospec - Note that the *basic real number string* is distinct from the :ref:`real number string` in that it does not include real numbers in scientific notation (also called scientific form, standard index form, or standard form). + Note that the *real number string* is distinct from the :ref:`basic real number string` in that it includes numbers in scientific notation (also called scientific form, standard index form, or standard form). + + Where it does not contain an exponent term, the number is interpreted as if it was a basic real number string: the exponent term is effectively zero. For example: - - :code:`"-123.4567"` is a valid basic real number string, - - :code:`"-1.234567E03"` is not (but it *is* a valid :ref:`real number string`), - - :code:`"+123.4567"` is not valid (must not contain the plus sign :code:`+`), - - :code:`"1234567"` is valid (it's ok to not use a decimal point :code:`.`), - - :code:`"123,4567"` is not valid (the decimal signifier must be a full-stop symbol :code:`.`), - - :code:`"123,456.7"` is not valid (you may not use a comma :code:`,` or a space :code:` ` as a thousands separator), - - :code:`"12.34.56"` is not valid (maximum of one decimal point :code:`.` is permitted), and + - :code:`"1.234E03"` is a valid real number string, + - :code:`"+1.234E03"` is not valid (must not contain the plus sign :code:`+` in the significand), + - :code:`"1.234E+03"` is valid (a plus sign :code:`+` sign *is* permitted in the exponent), + - :code:`"1.234E+3.0"` is not valid (the exponent must be an integer), + - :code:`"1.234e3"` is valid (either case of `E` or `e` is permitted), + - :code:`"123,45E03"` is not valid (the decimal signifier must be a full-stop symbol :code:`.`), + - :code:`"123.45"` is valid, and is treated as if it were a basic real number string: the exponent term is effectivly zero, + - :code:`"123.45E"` is not valid (if the exponent is present it may not be blank), + - :code:`"123,456.7e89"` is not valid (you may not use a thousands separator), and - :code:`"0x123abc"` is not valid (base 10 numbers only). diff --git a/src/reference/informative/informA3_5.rst b/src/reference/informative/informA3_5.rst deleted file mode 100644 index 42807670..00000000 --- a/src/reference/informative/informA3_5.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. _inform3_5: - - -.. container:: toggle - - .. container:: header - - See more - - - .. container:: infospec - - Note that the *real number string* is distinct from the :ref:`basic real number string` in that it includes numbers in scientific notation (also called scientific form, standard index form, or standard form). - - Where it does not contain an exponent term, the number is interpreted as if it was a basic real number string: the exponent term is effectively zero. - - For example: - - - :code:`"1.234E03"` is a valid real number string, - - :code:`"+1.234E03"` is not valid (must not contain the plus sign :code:`+` in the significand), - - :code:`"1.234E+03"` is valid (a plus sign :code:`+` sign *is* permitted in the exponent), - - :code:`"1.234E+3.0"` is not valid (the exponent must be an integer), - - :code:`"1.234e3"` is valid (either case of `E` or `e` is permitted), - - :code:`"123,45E03"` is not valid (the decimal signifier must be a full-stop symbol :code:`.`), - - :code:`"123.45"` is valid, and is treated as if it were a basic real number string: the exponent term is effectivly zero, - - :code:`"123.45E"` is not valid (if the exponent is present it may not be blank), - - :code:`"123,456.7e89"` is not valid (you may not use a thousands separator), and - - :code:`"0x123abc"` is not valid (base 10 numbers only). diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 819d3041..7d02203c 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -208,20 +208,6 @@ The following data representation formats are defined for use in this specificat .. marker_data_formats_1 -.. _specA_nonnegative_integer: - -2. A non-negative integer string: - - .. container:: issue-data-repr-nneg-int-base10 - - 1. SHALL be a base 10 representation of a non-negative integer. - - .. container:: issue-data-repr-nneg-int-euro-num - - 2. SHALL consist of one or more :ref:`digits`. - -.. marker_data_formats_2 - .. _specA_integer: 3. An integer string: @@ -238,7 +224,7 @@ The following data representation formats are defined for use in this specificat 3. SHALL, other than the sign indicator, consist of one or more :ref:`digits`. -.. marker_data_formats_3 +.. marker_data_formats_2 .. _specA_basic_real_number: @@ -260,7 +246,7 @@ The following data representation formats are defined for use in this specificat 4. SHALL, other than the sign indicator and the decimal point separator, consist of one or more :ref:`digits`. -.. marker_data_formats_4 +.. marker_data_formats_3 .. _specA_real_number: From fa579b1db7ffe34a6164d3745bc05cd6d8067e2d Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 10:45:54 +0100 Subject: [PATCH 425/604] Removed nonnegative integer. --- src/reference/sectionA_definitions.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 7d02203c..5b75acd1 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -210,7 +210,7 @@ The following data representation formats are defined for use in this specificat .. _specA_integer: -3. An integer string: +2. An integer string: .. container:: issue-data-repr-int-base10 @@ -228,7 +228,7 @@ The following data representation formats are defined for use in this specificat .. _specA_basic_real_number: -4. A basic real number string: +3. A basic real number string: .. container:: issue-data-repr-basic-real-base10 @@ -250,7 +250,7 @@ The following data representation formats are defined for use in this specificat .. _specA_real_number: -5. A real number string: +4. A real number string: .. container:: issue-data-repr-real-base10 From 7a4fdd5539eac1126373e70e6f7898969097f089 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 10:48:15 +0100 Subject: [PATCH 426/604] Updated informative spec to say +1 is an int. --- src/reference/informative/informA3_2.rst | 2 +- src/reference/informative/informA3_4.rst | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/reference/informative/informA3_2.rst b/src/reference/informative/informA3_2.rst index ffd586ef..1867467c 100644 --- a/src/reference/informative/informA3_2.rst +++ b/src/reference/informative/informA3_2.rst @@ -9,4 +9,4 @@ .. container:: infospec An integer string is simply a string containing only the numerical characters between 0 and 9. - If it's a negative then it should begin with the minus sign, :code:`-`, but it *must not* begin with the plus sign, :code:`+`. + If it's a negative then it should begin with the minus sign, :code:`-`, if it's positive it *may* begin with the plus sign, :code:`+`. diff --git a/src/reference/informative/informA3_4.rst b/src/reference/informative/informA3_4.rst index c9e3b10a..c383eab7 100644 --- a/src/reference/informative/informA3_4.rst +++ b/src/reference/informative/informA3_4.rst @@ -7,7 +7,6 @@ See more - .. container:: infospec Note that the *real number string* is distinct from the :ref:`basic real number string` in that it includes numbers in scientific notation (also called scientific form, standard index form, or standard form). From d92621eeed48efe9d1872ebbb85092cbc1a03d1c Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 10:56:53 +0100 Subject: [PATCH 427/604] Suggested tweak to identifier wording. --- src/reference/sectionA_definitions.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index f8b3c6f9..21980267 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -188,7 +188,7 @@ The following data representation formats are defined for use in this specificat .. container:: issue-data-repr-identifier-unicode - 1. SHALL consist of a single :ref:`Basic Latin alphabetic character`, which MAY be followed by any combination of :ref:`Basic Latin alphanumeric characters` and :ref:`Basic Latin underscores`. + 1. SHALL consist of a single :ref:`Basic Latin alphabetic character`, which MAY be followed by any combination of :ref:`Basic Latin alphanumeric characters` and/or :ref:`Basic Latin underscores`. .. container:: issue-data-repr-identifier-identical From ee773d8eda83c103f3bd36e404038b7670cf77e7 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 11:00:52 +0100 Subject: [PATCH 428/604] Removed extra whitespace. --- src/reference/informative/informA3_3.rst | 1 - src/reference/informative/informA3_4.rst | 1 - 2 files changed, 2 deletions(-) diff --git a/src/reference/informative/informA3_3.rst b/src/reference/informative/informA3_3.rst index dc5fbfa2..1f01c669 100644 --- a/src/reference/informative/informA3_3.rst +++ b/src/reference/informative/informA3_3.rst @@ -1,6 +1,5 @@ .. _inform3_3: - .. container:: toggle .. container:: header diff --git a/src/reference/informative/informA3_4.rst b/src/reference/informative/informA3_4.rst index c383eab7..f413fabe 100644 --- a/src/reference/informative/informA3_4.rst +++ b/src/reference/informative/informA3_4.rst @@ -1,6 +1,5 @@ .. _inform3_4: - .. container:: toggle .. container:: header From d280f4aa4067e48adefb7255ace6f802938d9c3d Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 11:09:34 +0100 Subject: [PATCH 429/604] Restored missing marker. --- src/reference/sectionA_definitions.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 9c2b9212..5d9a5835 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -156,6 +156,7 @@ Non-specific information items changing the number of whitespace characters in such an information item, or changing the number of whitespace characters at the beginning or end of any character information item. +.. marker_cellml_information_sets_3 .. marker_cellml_information_sets_4 Use of namespaces From 14bc4151f2c4c1406245672adce7c0eea2ea9dbd Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 11:28:16 +0100 Subject: [PATCH 430/604] Fixed informative parts of 1.2 information sets. --- src/reference/formal_and_informative/specA2.rst | 6 +++--- .../informative/{informA2_4.rst => informA2_3_2.rst} | 0 .../informative/{informA2_3.rst => informA2_3_3.rst} | 0 .../informative/{informA2_6.rst => informA2_5.rst} | 0 src/reference/sectionA_definitions.inc | 9 +++++---- 5 files changed, 8 insertions(+), 7 deletions(-) rename src/reference/informative/{informA2_4.rst => informA2_3_2.rst} (100%) rename src/reference/informative/{informA2_3.rst => informA2_3_3.rst} (100%) rename src/reference/informative/{informA2_6.rst => informA2_5.rst} (100%) diff --git a/src/reference/formal_and_informative/specA2.rst b/src/reference/formal_and_informative/specA2.rst index d15dc4c4..a2dd840e 100644 --- a/src/reference/formal_and_informative/specA2.rst +++ b/src/reference/formal_and_informative/specA2.rst @@ -10,16 +10,16 @@ :start-after: marker_cellml_information_sets_2 :end-before: marker_cellml_information_sets_3 -.. include:: ../informative/informA2_3.rst +.. include:: ../informative/informA2_3_2.rst .. include:: ../sectionA_definitions.inc :start-after: marker_cellml_information_sets_3 :end-before: marker_cellml_information_sets_4 -.. include:: ../informative/informA2_4.rst +.. include:: ../informative/informA2_3_3.rst .. include:: ../sectionA_definitions.inc :start-after: marker_cellml_information_sets_4 :end-before: marker_cellml_information_sets_end -.. include:: ../informative/informA2_6.rst +.. include:: ../informative/informA2_5.rst diff --git a/src/reference/informative/informA2_4.rst b/src/reference/informative/informA2_3_2.rst similarity index 100% rename from src/reference/informative/informA2_4.rst rename to src/reference/informative/informA2_3_2.rst diff --git a/src/reference/informative/informA2_3.rst b/src/reference/informative/informA2_3_3.rst similarity index 100% rename from src/reference/informative/informA2_3.rst rename to src/reference/informative/informA2_3_3.rst diff --git a/src/reference/informative/informA2_6.rst b/src/reference/informative/informA2_5.rst similarity index 100% rename from src/reference/informative/informA2_6.rst rename to src/reference/informative/informA2_5.rst diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 5d9a5835..8ae33ab6 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -134,7 +134,7 @@ Specific information items Non-specific information items ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#. For the purposes of this specification, a non-specific information item is one of the following (see https://www.w3.org/TR/xml-infoset/ for definitions): +1. For the purposes of this specification, a non-specific information item is one of the following (see https://www.w3.org/TR/xml-infoset/ for definitions): #. A comment information item; @@ -142,9 +142,11 @@ Non-specific information items #. A character information item. -#. An element information item in the :ref:`CellML namespace` MUST NOT contain any character information items, except for character information items which consist entirely of whitespace characters. +2. An element information item in the :ref:`CellML namespace` MUST NOT contain any character information items, except for character information items which consist entirely of whitespace characters. -#. Two :ref:`CellML infosets` SHALL be deemed semantically equivalent if one can be transformed into the other by making any or none of the following changes: +.. marker_cellml_information_sets_3 + +3. Two :ref:`CellML infosets` SHALL be deemed semantically equivalent if one can be transformed into the other by making any or none of the following changes: #. Adding, removing, and/or modifying comment information items. @@ -156,7 +158,6 @@ Non-specific information items changing the number of whitespace characters in such an information item, or changing the number of whitespace characters at the beginning or end of any character information item. -.. marker_cellml_information_sets_3 .. marker_cellml_information_sets_4 Use of namespaces From 9e7fc8e1bc84e29bdb9952093fd4a8e698c8e490 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 11:39:59 +0100 Subject: [PATCH 431/604] Processed Keri's suggestions for import interpretation. --- src/reference/sectionC_interpretation.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 62dd21fe..f98d887d 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -13,9 +13,9 @@ Interpretation of ``import`` elements #. When determining the equivalent variable set of a variable in an imported component: - #. connections made in the importing infoset shall be handled as usual (see :ref:`Interpretation of ``map_variables`` `) + #. connections defined in the importing infoset shall be handled as described in :ref:`Interpretation of ``map_variables`` `. - #. connections made in the imported infoset shall be handled as follows: + #. connections defined in the imported infoset shall be handled as follows: #. connections to components in the encapsulated set of the imported component SHALL be maintained, and this rule SHALL be applied recursively; From 08a678aee79ec93a6705829e3c7cc29095da28e2 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 11:58:45 +0100 Subject: [PATCH 432/604] Slight change to reset wording. Taking Keri's comments on board. --- src/reference/sectionC_interpretation.inc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index ecc94f76..05e6bdeb 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -410,12 +410,14 @@ Interpretation of ``map_variables`` elements Interpretation of ``reset`` elements ------------------------------------ -#. Each :code:`reset` element describes a change to be applied to the variable referenced by the :code:`variable` attribute when specified conditions are met during the simulation of the model. +#. For the purposes of this section, we define the "reset variable" to be the variable referenced by a :code:`reset` element's :code:`variable` attribute, and the "test variable" to be the variable referenced by its :code:`test_variable` attribute. -#. All :code:`reset` elements SHALL be considered sequentially for the equivalent variable set (see :ref:`Interpretation of map_variables`) to which the referenced variable belongs. +#. Each :code:`reset` element describes a change to be applied to the reset variable when specified conditions are met during the simulation of the model. + +#. All :code:`reset` elements SHALL be considered sequentially for the equivalent variable set (see :ref:`Interpretation of map_variables`) to which the reset variable belongs. The sequence SHALL be determined by the value of the reset element’s :code:`order` attribute, lowest (least positive / most negative) having priority. -#. The condition under which a reset occurs SHALL be defined by the equality of the reset element’s :code:`test_variable` attribute and the evaluation of the MathML expression encoded in the :code:`test_value`. +#. The condition under which a reset occurs SHALL be defined by the equality of evaluation of the test variable and the evaluation of the MathML expression encoded in the :code:`test_value`. #. When a reset occurs, the variable referenced by the reset element’s :code:`variable` attribute SHALL be set to the result of evaluating the MathML expression encoded in the :code:`reset_value`. From 2c379ea7de46b0f0c6b6113dc979ab99d53f2a1d Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 12:09:57 +0100 Subject: [PATCH 433/604] Tiny change to equivalence definition. Closes #201. --- src/reference/sectionA_definitions.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index a8f744f3..4c2b2676 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -152,7 +152,7 @@ Non-specific information items #. Changing (inserting, removing, and/or modifying) one or more namespace information items, and/or modifying the prefix of one or more information items, without changing the namespace that any information item is in. - #. The following paragraph applies only to character information items which are the direct child of an element information item in a :ref:`CellML namespace`, or in the :ref:`MathML namespace`: + #. The following paragraph applies to character information items which are the direct child of an element information item in the :ref:`CellML namespace`, or in the :ref:`MathML namespace`: Inserting or removing character information items that consist entirely of :ref:`whitespace characters`, changing the number of whitespace characters in such an information item, From 032176fcf7bbf801fe340f7f0290022db4700998 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 12:41:39 +0100 Subject: [PATCH 434/604] Changed character classes to consistently be numericAL or alphabeticAL. Closes #213. --- src/reference/informative/informA1.rst | 2 +- src/reference/sectionA_definitions.inc | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/reference/informative/informA1.rst b/src/reference/informative/informA1.rst index 0cf9b1de..f79f0aba 100644 --- a/src/reference/informative/informA1.rst +++ b/src/reference/informative/informA1.rst @@ -35,7 +35,7 @@ :code:`0123456789` (symbols between :unicode:`0030` and :unicode:`0039`) - Together with the Basic Latin alphabetic characters, they form the "Basic Latin alphanumerical characters". + Together with the Basic Latin alphabetical characters, they form the "Basic Latin alphanumerical characters". In addition, CellML recognises four special characters: diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 4c2b2676..a32cce41 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -47,9 +47,9 @@ The namespace http://www.w3.org/1998/Math/MathML. **CellML information item:** Any information item in the :ref:`CellML namespace`. -.. _specA_basic_latin_alphabetic_character: +.. _specA_basic_latin_alphabetical_character: -**Basic Latin alphabetic character:** +**Basic Latin alphabetical character:** A Unicode character in the range :unicode:`0041` to :unicode:`005A` or in the range :unicode:`0061` to :unicode:`007A`. .. _specA_digit: @@ -57,10 +57,10 @@ A Unicode character in the range :unicode:`0041` to :unicode:`005A` or in the ra **Digit:** A Unicode character in the range :unicode:`0030` to :unicode:`0039`. -.. _specA_basic_latin_alphanumeric_character: +.. _specA_basic_latin_alphanumerical_character: -**Basic Latin alphanumeric character:** -A Unicode character which is either a :ref:`Basic Latin alphabetic character` or a :ref:`digit`. +**Basic Latin alphanumerical character:** +A Unicode character which is either a :ref:`Basic Latin alphabetical character` or a :ref:`digit`. .. _specA_basic_latin_underscore: @@ -193,7 +193,7 @@ The following data representation formats are defined for use in this specificat .. container:: issue-data-repr-identifier-unicode - 1. SHALL consist of a single :ref:`Basic Latin alphabetic character`, which MAY be followed by any combination of :ref:`Basic Latin alphanumeric characters` and/or :ref:`Basic Latin underscores`. + 1. SHALL consist of a single :ref:`Basic Latin alphabetical character`, which MAY be followed by any combination of :ref:`Basic Latin alphanumerical characters` and/or :ref:`Basic Latin underscores`. .. container:: issue-data-repr-identifier-identical From 5e9ae6c2354d14c543b23c1d0c6f21a9157f09d1 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 12:55:55 +0100 Subject: [PATCH 435/604] CellML Namespace is now consistently a link. See #197. --- src/reference/sectionB_elements.inc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 1f7d8054..523fd644 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -134,7 +134,7 @@ An :code:`import component` element information item (referred to in this specif The ``units`` element --------------------- -A :code:`units` element information item (referred to in this specification as a :code:`units` element) is an element in the CellML namespace with a local name equal to :code:`units`, and with a :code:`model` element as its parent. +A :code:`units` element information item (referred to in this specification as a :code:`units` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`units`, and with a :code:`model` element as its parent. .. _issue_units_name: .. container:: issue-units-name @@ -160,7 +160,7 @@ A :code:`units` element information item (referred to in this specification as a The ``unit`` element -------------------- -A :code:`unit` element information item (referred to in this specification as a :code:`unit` element) is an element in the CellML namespace with a local name equal to :code:`unit`, and with a :code:`units` element as its parent. +A :code:`unit` element information item (referred to in this specification as a :code:`unit` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`unit`, and with a :code:`units` element as its parent. .. container:: issue-unit-units-ref @@ -269,7 +269,7 @@ A :code:`variable` element information item (referred to in this specification a The ``reset`` element --------------------- -A :code:`reset` element information item (referred to in this specification as a :code:`reset` element) is an element in the CellML namespace with a local name equal to :code:`reset`, and which appears as a child of a :code:`component` element. +A :code:`reset` element information item (referred to in this specification as a :code:`reset` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`reset`, and which appears as a child of a :code:`component` element. 1. Every :code:`reset` element MUST have exactly one each of the following attributes: @@ -328,7 +328,7 @@ A :code:`test_value` element information item (referred to in this specification The ``reset_value`` element --------------------------- -A :code:`reset_value` element information item (referred to in this specification as a :code:`reset_value` element) is an element in the CellML namespace with a local name equal to :code:`reset_value`, and which appears as a child of a :code:`reset` element. +A :code:`reset_value` element information item (referred to in this specification as a :code:`reset_value` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`reset_value`, and which appears as a child of a :code:`reset` element. .. container:: issue-reset-value @@ -364,7 +364,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-cn-units-attribute - 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. + 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. The value of this attribute MUST be a valid :ref:`units reference`. .. container:: issue-math-cn-type From 1f476802b781555413b92ca416eff230578315ef Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 13:07:05 +0100 Subject: [PATCH 436/604] Tiny list punctuation fixes. See #197. --- src/reference/sectionA_definitions.inc | 4 ++-- src/reference/sectionB_elements.inc | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 4c2b2676..7e390592 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -165,9 +165,9 @@ Use of namespaces #. Element information items in a :ref:`CellML infoset` MUST belong to one of the following namespaces, unless explicitly indicated otherwise: - #. The :ref:`CellML namespace` + #. The :ref:`CellML namespace`; - #. The :ref:`MathML namespace` + #. The :ref:`MathML namespace`. #. Attribute information items in a CellML element MUST NOT be prefixed with a namespace, unless explicitly indicated otherwise. diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 1f7d8054..9aa4afab 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -24,15 +24,15 @@ The ``model`` element 2. A :code:`model` element MAY contain one or more additional specific element children, each of which MUST be of one of the following types: - #. A :code:`component` element; or + #. A :code:`component` element; - #. A :code:`connection` element; or + #. A :code:`connection` element; - #. An :code:`encapsulation` element; or + #. An :code:`encapsulation` element; - #. An :code:`import` element; or + #. An :code:`import` element; - #. A :code:`units` element; + #. A :code:`units` element. .. marker_model_2 @@ -364,7 +364,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-cn-units-attribute - 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. + 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. The value of this attribute MUST be a valid :ref:`units reference`. .. container:: issue-math-cn-type From 8fed582e87aeb86d3bad4a8c0c789fa90699069e Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 13:32:47 +0100 Subject: [PATCH 437/604] Updates to terminology section wording as suggested in #197. --- src/reference/sectionA_definitions.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 4c2b2676..b5ebf890 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -7,7 +7,7 @@ Terminology ----------- -The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in :rfc2119:`RFC 2119`. +The keywords "MUST", "MUST NOT", "SHALL", "SHALL NOT", and "MAY" in this document are to be interpreted as described in :rfc2119:`RFC 2119`. The key phrase "information item", as well as any specific type of information item such as an "element information item", are to be interpreted as described in :xml_infoset:`XML Information Set`. @@ -15,7 +15,7 @@ The key phrase "information item", as well as any specific type of information i **CellML infoset:** An XML information set containing a hierarchy of information items conforming to the rules described in this document. -In this specification such infosets are assumed to be CellML 2.0 infosets. +In this specification, such infosets are assumed to be CellML 2.0 infosets. .. _specA_cellml_model: @@ -85,7 +85,7 @@ The Unicode character :unicode:`002E`. .. _specA_whitespace_character: **Whitespace character:** -Any one of the Unicode characters :unicode:`0020`, :unicode:`0009`, :unicode:`000D`, or :unicode:`000A`. +Any one of the Unicode characters :unicode:`0009`, :unicode:`000A`, :unicode:`000D`, or :unicode:`0020`. .. marker_terminology_end .. marker_cellml_information_sets_start From bf5d882d56fa0fa272e55ea86ed5d6a1e7bd3ac9 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 13:43:29 +0100 Subject: [PATCH 438/604] Change to whitespace-in-elements wording: A char info item is a single char. See #197. --- src/reference/sectionA_definitions.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 4c2b2676..ba866cbc 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -142,7 +142,7 @@ Non-specific information items #. A character information item. -2. An element information item in the :ref:`CellML namespace` MUST NOT contain any character information items, except for character information items which consist entirely of whitespace characters. +2. An element information item in the :ref:`CellML namespace` MUST NOT contain any character information items, except for whitespace characters. .. marker_cellml_information_sets_3 From 79320a76f71467b5b6b3f42088f43459a8e29610 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 14:05:10 +0100 Subject: [PATCH 439/604] Made the 'which appears as a child of' wording consistent for all elements. See #197. --- src/reference/sectionB_elements.inc | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 1f7d8054..b87809b9 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -49,7 +49,7 @@ The ``model`` element The ``import`` element ---------------------- -An :code:`import` element information item (referred to in this specification as an :code:`import` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`import`. +An :code:`import` element information item (referred to in this specification as an :code:`import` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`import`, which appears as a child of a :code:`model` element. .. container:: issue-import-href @@ -134,7 +134,7 @@ An :code:`import component` element information item (referred to in this specif The ``units`` element --------------------- -A :code:`units` element information item (referred to in this specification as a :code:`units` element) is an element in the CellML namespace with a local name equal to :code:`units`, and with a :code:`model` element as its parent. +A :code:`units` element information item (referred to in this specification as a :code:`units` element) is an element in the CellML namespace with a local name equal to :code:`units`, which appears as a child of a :code:`model` element. .. _issue_units_name: .. container:: issue-units-name @@ -160,7 +160,7 @@ A :code:`units` element information item (referred to in this specification as a The ``unit`` element -------------------- -A :code:`unit` element information item (referred to in this specification as a :code:`unit` element) is an element in the CellML namespace with a local name equal to :code:`unit`, and with a :code:`units` element as its parent. +A :code:`unit` element information item (referred to in this specification as a :code:`unit` element) is an element in the CellML namespace with a local name equal to :code:`unit`, which appears as a child of a :code:`units` element. .. container:: issue-unit-units-ref @@ -203,7 +203,7 @@ A :code:`unit` element information item (referred to in this specification as a The ``component`` element ------------------------- -A :code:`component` element information item (referred to in this specification as a :code:`component` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`component`, and which appears as a child of a :code:`model` element. +A :code:`component` element information item (referred to in this specification as a :code:`component` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`component`, which appears as a child of a :code:`model` element. .. marker_component_1 @@ -235,7 +235,7 @@ A :code:`component` element information item (referred to in this specification The ``variable`` element ------------------------ -A :code:`variable` element information item (referred to in this specification as a :code:`variable` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`variable`, and which appears as a child of a :code:`component` element. +A :code:`variable` element information item (referred to in this specification as a :code:`variable` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`variable`, which appears as a child of a :code:`component` element. 1. Every :code:`variable` element MUST have exactly one of each of the following attributes: @@ -269,7 +269,7 @@ A :code:`variable` element information item (referred to in this specification a The ``reset`` element --------------------- -A :code:`reset` element information item (referred to in this specification as a :code:`reset` element) is an element in the CellML namespace with a local name equal to :code:`reset`, and which appears as a child of a :code:`component` element. +A :code:`reset` element information item (referred to in this specification as a :code:`reset` element) is an element in the CellML namespace with a local name equal to :code:`reset`, which appears as a child of a :code:`component` element. 1. Every :code:`reset` element MUST have exactly one each of the following attributes: @@ -314,7 +314,7 @@ A :code:`reset` element information item (referred to in this specification as a The ``test_value`` element -------------------------- -A :code:`test_value` element information item (referred to in this specification as a :code:`test_value` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`test_value`, and which appears as a child of a :code:`reset` element. +A :code:`test_value` element information item (referred to in this specification as a :code:`test_value` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`test_value`, which appears as a child of a :code:`reset` element. .. container:: issue-test-value @@ -328,7 +328,7 @@ A :code:`test_value` element information item (referred to in this specification The ``reset_value`` element --------------------------- -A :code:`reset_value` element information item (referred to in this specification as a :code:`reset_value` element) is an element in the CellML namespace with a local name equal to :code:`reset_value`, and which appears as a child of a :code:`reset` element. +A :code:`reset_value` element information item (referred to in this specification as a :code:`reset_value` element) is an element in the CellML namespace with a local name equal to :code:`reset_value`, which appears as a child of a :code:`reset` element. .. container:: issue-reset-value @@ -342,7 +342,7 @@ A :code:`reset_value` element information item (referred to in this specificatio The ``math`` element -------------------- -A :code:`math` element information item (referred to in this specification as a :code:`math` element) is an element in the MathML namespace that appears as a direct child of a :code:`component` element, a :code:`test_value` element, or a :code:`reset_value` element. +A :code:`math` element information item (referred to in this specification as a :code:`math` element) is an element in the MathML namespace, which appears as a child of a :code:`component` element, a :code:`test_value` element, or a :code:`reset_value` element. .. container:: issue-math-mathml @@ -364,7 +364,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-cn-units-attribute - 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. + 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. The value of this attribute MUST be a valid :ref:`units reference`. .. container:: issue-math-cn-type @@ -426,7 +426,7 @@ A :code:`math` element information item (referred to in this specification as a The ``encapsulation`` element ----------------------------- -An :code:`encapsulation` element information item (referred to in this specification as an :code:`encapsulation` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`encapsulation`, and which appears as a child of a :code:`model` element. +An :code:`encapsulation` element information item (referred to in this specification as an :code:`encapsulation` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`encapsulation`, which appears as a child of a :code:`model` element. .. container:: issue-encapsulation-component-ref @@ -440,7 +440,7 @@ An :code:`encapsulation` element information item (referred to in this specifica The ``component_ref`` element ----------------------------- -A :code:`component_ref` element information item (referred to in this specification as a :code:`component_ref` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`component_ref`, and which appears as a child of an :code:`encapsulation` element. +A :code:`component_ref` element information item (referred to in this specification as a :code:`component_ref` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`component_ref`, which appears as a child of an :code:`encapsulation` element. .. container:: issue-component-ref-component-attribute @@ -460,7 +460,7 @@ A :code:`component_ref` element information item (referred to in this specificat The ``connection`` element -------------------------- -A :code:`connection` element information item (referred to in this specification as a :code:`connection` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`connection`,and which appears as a child of a :code:`model` element. +A :code:`connection` element information item (referred to in this specification as a :code:`connection` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`connection`, which appears as a child of a :code:`model` element. .. container:: issue-connection-component1 @@ -503,7 +503,7 @@ A :code:`connection` element information item (referred to in this specification The ``map_variables`` element ----------------------------- -A :code:`map_variables` element information item (referred to in this specification as a :code:`map_variables` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`map_variables`, and which appears as a child of a :code:`connection` element. +A :code:`map_variables` element information item (referred to in this specification as a :code:`map_variables` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`map_variables`, which appears as a child of a :code:`connection` element. .. container:: issue-map-variables-variable1 From 1bed0b9e37ec869da444c73289b9215e5d85a6a8 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 14:16:32 +0100 Subject: [PATCH 440/604] Chapter 2: Lists of children are alphabetical. --- src/reference/sectionB_elements.inc | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 1f7d8054..4b465fb9 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -67,9 +67,9 @@ An :code:`import` element information item (referred to in this specification as 2. Every :code:`import` element MAY contain one or more specific element children, each of which MUST be of one of the following types: - #. An :code:`import units` element; or + #. An :code:`import component` element; or - #. An :code:`import component` element. + #. An :code:`import units` element. .. marker_import_2 @@ -221,11 +221,11 @@ A :code:`component` element information item (referred to in this specification 2. A :code:`component` element MAY contain one or more specific element children, each of which MUST be of one of the following types: - #. A :code:`variable` element; or + #. A :code:`math` element; or #. A :code:`reset` element; or - #. A :code:`math` element. + #. A :code:`variable` element. .. marker_component_end .. marker_variable_start @@ -298,14 +298,14 @@ A :code:`reset` element information item (referred to in this specification as a 2. A :code:`reset` element MUST contain exactly two element children, which MUST be one each of the following types: - .. container:: issue-reset-test-value - - 1. A :code:`test_value` element; and, - .. container:: issue-reset-reset-value 2. A :code:`reset_value` element. + .. container:: issue-reset-test-value + + 1. A :code:`test_value` element; and, + .. marker_reset_end .. marker_test_value_start From 34e6505c3185b3abf32c45d4bed93dd4fec7b4bf Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 14:40:25 +0100 Subject: [PATCH 441/604] Tweaks to preamble of norm spec. See #197 --- src/normative_only_index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/normative_only_index.rst b/src/normative_only_index.rst index add69d48..31f4dd23 100644 --- a/src/normative_only_index.rst +++ b/src/normative_only_index.rst @@ -11,9 +11,9 @@ Normative CellML 2.0 Specification This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. -Users of CellML models should read the informative version of the CellML Specification which is available at https://cellml.org/specifications/cellml_2.0. +Users of CellML models may prefer the informative version of the CellML Specification, which is available at https://cellml.org/specifications/cellml_2.0. -A PDF of this page is available from https://www.cellml.org/specifications/cellml_2.0/Normative_CellML_2.0_Specifcation_PDF. +A PDF version of the normative specification is available at https://www.cellml.org/specifications/cellml_2.0/Normative_CellML_2.0_Specifcation_PDF. .. include:: reference/acknowledgements.inc From 31106bb55d1393510857abfee75962bb88e4ec21 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 15:00:29 +0100 Subject: [PATCH 442/604] Removed ununsed columns from predefined units table. Closes #219. --- src/reference/sectionC_interpretation.inc | 158 +++++++++++----------- 1 file changed, 77 insertions(+), 81 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 05e6bdeb..5ff2490b 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -41,87 +41,83 @@ The term "units reference" refers to the value of a :code:`units_ref` attribute **Table 3.1: Built-in units** -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| | **Name** | | **Symbol** | | **Unit reduction tuple** | | **Common** | -| | | | | | multiplier⋅(base, exponent) | | **definitions** | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`ampere` | A | \- | | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`becquerel` | Bq | (:code:`second`, -1) | 1/s | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`candela` | cd | \- | | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`coulomb` | C | (:code:`second`, 1), (:code:`ampere`, 1) | | s⋅A | -| | | | | F⋅V | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`dimensionless` | \- | \- | | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`farad` | F | (:code:`kilogram`, -1), (:code:`metre`, -2), | | C/V | -| | | (:code:`second`, 4), (:code:`ampere`, 2) | | s/Ω | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`gram` | g | 0.001⋅(:code:`kilogram`, 1) | | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`gray` | Gy | (:code:`metre`, 2), (:code:`second`, -2) | J/kg | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`henry` | H | (:code:`kilogram`, 1), (:code:`metre`, 2), | | V⋅s/A | -| | | (:code:`second`, -2), (:code:`ampere`, -2) | | Ω⋅s | -| | | | | Wb/A | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`hertz` | Hz | (:code:`second`, -1) | | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`joule` | J | (:code:`kilogram`, 1), (:code:`metre`, 2), | | N⋅m | -| | | (:code:`second`, -2) | | C⋅V | -| | | | | Wb⋅s | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`katal` | kat | (:code:`second`, -1), (:code:`mole`, 1) | | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`kelvin` | K | \- | | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`kilogram` | kg | \- | | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`litre` | l | 0.001⋅(:code:`metre`, 3) | | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`lumen` | lm | (:code:`candela`, 1) | cd⋅sr | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`lux` | lx | (:code:`metre`, -2), (:code:`candela`, 1) | lm/m\ :sup:`2` | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`metre` | m | \- | | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`mole` | mol | \- | | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`newton` | N | (:code:`kilogram`, 1), (:code:`metre`, 1), | | -| | | (:code:`second`, -2) | | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`ohm` | Ω | (:code:`kilogram`, 1), (:code:`metre`, 2), | | 1/S | -| | | (:code:`second`, -3), (:code:`ampere`, -2) | | V/A | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`pascal` | Pa | (:code:`kilogram`, 1), (:code:`metre`, -1), | N/m\ :sup:`2` | -| | | (:code:`second`, -2) | | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`radian` | rad | (:code:`dimensionless`, 1) | m/m | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`second` | s | \- | | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`siemens` | S | (:code:`kilogram`, -1), (:code:`metre`, -2), | | 1/Ω | -| | | (:code:`second`, 3), (:code:`ampere`, 2) | | A/V | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`sievert` | Sv | (:code:`metre`, 2), (:code:`second`, -2) | J/kg | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`steradian` | sr | (:code:`dimensionless`, 1) | m\ :sup:`2`/m\ :sup:`2` | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`tesla` | T | (:code:`kilogram`, 1), (:code:`second`, -2), | | V⋅s/m\ :sup:`2` | -| | | (:code:`ampere`, -1) | | Wb/m\ :sup:`2` | -| | | | | N/(A⋅m) | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`volt` | V | (:code:`kilogram`, 1), (:code:`metre`, 2), | | W/A | -| | | (:code:`second`, -3), (:code:`ampere`, -1) | | J/C | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`watt` | W | (:code:`kilogram`, 1), (:code:`metre`, 2), | | J/s | -| | | (:code:`second`, -3) | | V⋅A | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ -| :code:`weber` | Wb | (:code:`kilogram`, 1), (:code:`metre`, 2), | | J/A | -| | | (:code:`second`, -2), (:code:`ampere`, -1) | | T⋅m\ :sup:`2` | -+-----------------------+-------------------+----------------------------------------------+-------------------------+ ++-----------------------+----------------------------------------------+ +| | **Name** | | **Unit reduction tuple** | +| | | | multiplier⋅(base, exponent) | ++-----------------------+----------------------------------------------+ +| :code:`ampere` | \- | ++-----------------------+----------------------------------------------+ +| :code:`becquerel` | (:code:`second`, -1) | ++-----------------------+----------------------------------------------+ +| :code:`candela` | \- | ++-----------------------+----------------------------------------------+ +| :code:`coulomb` | (:code:`second`, 1), (:code:`ampere`, 1) | ++-----------------------+----------------------------------------------+ +| :code:`dimensionless` | \- | ++-----------------------+----------------------------------------------+ +| :code:`farad` | (:code:`kilogram`, -1), (:code:`metre`, -2), | +| | (:code:`second`, 4), (:code:`ampere`, 2) | ++-----------------------+----------------------------------------------+ +| :code:`gram` | 0.001⋅(:code:`kilogram`, 1) | ++-----------------------+----------------------------------------------+ +| :code:`gray` | (:code:`metre`, 2), (:code:`second`, -2) | ++-----------------------+----------------------------------------------+ +| :code:`henry` | (:code:`kilogram`, 1), (:code:`metre`, 2), | +| | (:code:`second`, -2), (:code:`ampere`, -2) | ++-----------------------+----------------------------------------------+ +| :code:`hertz` | (:code:`second`, -1) | ++-----------------------+----------------------------------------------+ +| :code:`joule` | (:code:`kilogram`, 1), (:code:`metre`, 2), | +| | (:code:`second`, -2) | ++-----------------------+----------------------------------------------+ +| :code:`katal` | (:code:`second`, -1), (:code:`mole`, 1) | ++-----------------------+----------------------------------------------+ +| :code:`kelvin` | \- | ++-----------------------+----------------------------------------------+ +| :code:`kilogram` | \- | ++-----------------------+----------------------------------------------+ +| :code:`litre` | 0.001⋅(:code:`metre`, 3) | ++-----------------------+----------------------------------------------+ +| :code:`lumen` | (:code:`candela`, 1) | ++-----------------------+----------------------------------------------+ +| :code:`lux` | (:code:`metre`, -2), (:code:`candela`, 1) | ++-----------------------+----------------------------------------------+ +| :code:`metre` | \- | ++-----------------------+----------------------------------------------+ +| :code:`mole` | \- | ++-----------------------+----------------------------------------------+ +| :code:`newton` | (:code:`kilogram`, 1), (:code:`metre`, 1), | +| | (:code:`second`, -2) | ++-----------------------+----------------------------------------------+ +| :code:`ohm` | (:code:`kilogram`, 1), (:code:`metre`, 2), | +| | (:code:`second`, -3), (:code:`ampere`, -2) | ++-----------------------+----------------------------------------------+ +| :code:`pascal` | (:code:`kilogram`, 1), (:code:`metre`, -1), | +| | (:code:`second`, -2) | ++-----------------------+----------------------------------------------+ +| :code:`radian` | (:code:`dimensionless`, 1) | ++-----------------------+----------------------------------------------+ +| :code:`second` | \- | ++-----------------------+----------------------------------------------+ +| :code:`siemens` | (:code:`kilogram`, -1), (:code:`metre`, -2), | +| | (:code:`second`, 3), (:code:`ampere`, 2) | ++-----------------------+----------------------------------------------+ +| :code:`sievert` | (:code:`metre`, 2), (:code:`second`, -2) | ++-----------------------+----------------------------------------------+ +| :code:`steradian` | (:code:`dimensionless`, 1) | ++-----------------------+----------------------------------------------+ +| :code:`tesla` | (:code:`kilogram`, 1), (:code:`second`, -2), | +| | (:code:`ampere`, -1) | ++-----------------------+----------------------------------------------+ +| :code:`volt` | (:code:`kilogram`, 1), (:code:`metre`, 2), | +| | (:code:`second`, -3), (:code:`ampere`, -1) | ++-----------------------+----------------------------------------------+ +| :code:`watt` | (:code:`kilogram`, 1), (:code:`metre`, 2), | +| | (:code:`second`, -3) | ++-----------------------+----------------------------------------------+ +| :code:`weber` | (:code:`kilogram`, 1), (:code:`metre`, 2), | +| | (:code:`second`, -2), (:code:`ampere`, -1) | ++-----------------------+----------------------------------------------+ .. marker_units_reference_end From c9608656ef2eee6b16e9bd7cf40ce223b40eca09 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 19:33:27 +0100 Subject: [PATCH 443/604] Updated units reference wording. Closes #188. --- src/reference/sectionB_elements.inc | 12 +++++++----- src/reference/sectionC_interpretation.inc | 18 ++++++++++-------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index c55608e9..ba67ad2b 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -171,7 +171,7 @@ A :code:`unit` element information item (referred to in this specification as a 1. For the purpose of the constraint in the next paragraph, the :code:`units` element inclusion digraph SHALL be defined as a conceptual digraph which SHALL contain one node for every :code:`units` element in the :ref:`CellML model`. - The :code:`units` element inclusion digraph SHALL contain an arc from :code:`units` element *A* to :code:`units` element *B* if and only if :code:`units` element *A* contains a :code:`unit` element with :code:`units` attribute value that is a units reference to :code:`units` element *B*. + The :code:`units` element inclusion digraph SHALL contain an arc from :code:`units` element *A* to :code:`units` element *B* if and only if :code:`units` element *A* contains a :code:`unit` element with a :code:`units` attribute value that is equal to the :code:`name` attribute value of :code:`units` element *B*. .. container:: issue-unit-circular-ref @@ -241,13 +241,15 @@ A :code:`variable` element information item (referred to in this specification a .. container:: issue-variable-name - 1. The :code:`name` attribute. The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. + 1. The :code:`name` attribute. + The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute on any sibling :code:`variable` element. .. container:: issue-variable-units - 2. The :code:`units` attribute. The value of the :code:`units` attribute MUST be a :ref:`valid CellML identifier`, and MUST meet the constraints described in the :ref:`Effect of units on variables` section. + 2. The :code:`units` attribute. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in the :ref:`Units reference` section. 2. Every :code:`variable` element MAY contain one or more of the following attributes: @@ -360,9 +362,9 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-cn-units-attribute - 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. + 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. - The value of this attribute MUST be a valid :ref:`units reference`. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in the :ref:`Units reference` section. .. container:: issue-math-cn-type diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index f98d887d..8dbdd0a7 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -26,20 +26,22 @@ Interpretation of ``import`` elements .. _specC_units_reference: -References to ``units`` elements --------------------------------- +The units reference +------------------- -The term "units reference" refers to the value of a :code:`units_ref` attribute in :code:`import` items for :code:`units`, and the values of :code:`units` attributes used in :code:`unit` and :code:`variable` items. +A "units reference" is an attribute value that specifies the physical units a variable or number is in. -#. A units reference SHALL be a CellML identifier and SHALL be interpreted dependent on the context of the :ref:`CellML model` in which it occurs, according to the units referencing rules defined later in this section. +#. A units reference SHALL be a CellML identifier. -#. The units referencing rules are: +#. The units identified by a units reference SHALL be determined as follows: - #. Where, within the same infoset, a :code:`units` element has a :code:`name` attribute identical to the units reference, the units reference SHALL refer to that :code:`units` element. + #. If the units reference is equal to a value in the "Name" column of the :ref:`Built-in units table`, then it SHALL refer to the corresponding built-in units from the same of the table. - #. Where there is an :code:`import units` element in the :ref:`CellML infoset`, such that the :code:`import units` element has a :code:`name` attribute identical to the units reference, then the units reference SHALL be treated with respect to referencing rules as if the units reference appeared in the imported infoset, and referring to the :code:`name` specified in the :code:`units_ref` attribute of the :code:`import units` element. + #. If the units reference is equal to the value of the :code:`name` attribute of a :code:`units` element in the same infoset, then it SHALL refer to the units specified by that element. - #. Where the units reference is equal to the value in the "Name" column of the :ref:`Built-in units table`, then the units reference SHALL be a reference to the built-in units corresponding to that row of the table. + #. If the units reference is equal to the value of the :code:`name` attribute of an :code:`import units` element in the same infoset, then it SHALL refer to units from the infoset defined by the :code:`import units` element (see :ref:`Interpretation of ``import`` elements``). + The units specified SHALL then be determined, by treating the value of the :code:`units_ref` attribute on the :code:`import units` element as a units reference within the imported infoset. + If necessary, this rule SHALL be applied recursively. .. marker_units_reference1 From 70118bfd9c5154d3ae4c945b74ddede2a573eb61 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 20:06:56 +0100 Subject: [PATCH 444/604] Updated component reference section. Closes #204. --- src/reference/sectionB_elements.inc | 20 +++++++++--------- src/reference/sectionC_interpretation.inc | 25 ++++++++++++++--------- 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index ba67ad2b..329143d9 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -101,7 +101,7 @@ An :code:`import units` element information item (referred to in this specificat 2. Every :code:`import units` element MUST contain a :code:`units_ref` attribute. The value of the :code:`units_ref` attribute MUST be a :ref:`valid CellML identifier`. - The value of the :code:`units_ref` attribute MUST match the value of the :code:`name` attribute on a :code:`units` or :code:`import units` element in the imported CellML infoset. + The value of the :code:`units_ref` attribute MUST match the value of the :code:`name` attribute on a :code:`units` or :code:`import units` element in the imported :ref:`CellML infoset`. .. marker_import_units_end .. marker_import_component_start @@ -115,16 +115,17 @@ An :code:`import component` element information item (referred to in this specif .. container:: issue-import-component-name - 1. Every :code:`import component` element MUST contain a :code:`name` attribute. The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. + 1. Every :code:`import component` element MUST contain a :code:`name` attribute. + The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`component` or :code:`import component` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any :code:`component` or :code:`import component` element in the :ref:`CellML infoset`. .. container:: issue-import-component-ref - 2. Every :code:`import component` element MUST contain a :code:`component_ref` attribute. The value of the :code:`component_ref` attribute MUST be a :ref:`valid CellML identifier`. + 2. Every :code:`import component` element MUST contain a :code:`component_ref` attribute. + The value of the :code:`component_ref` attribute MUST be a :ref:`valid CellML identifier`. The value of the :code:`component_ref` attribute MUST match the value of the :code:`name` attribute on a :code:`component` or :code:`import component` element in the imported :ref:`CellML infoset`. - See also the :ref:`Component reference` section. .. marker_import_component_end .. marker_units_start @@ -445,7 +446,7 @@ A :code:`component_ref` element information item (referred to in this specificat 1. Every :code:`component_ref` element MUST contain a :code:`component` attribute. - The value of this attribute MUST be a :ref:`valid CellML identifier`, and MUST match the :code:`name` attribute on a :code:`component` element or an :code:`import component` element in the :ref:`CellML infoset`. + The value of the :code:`component` attribute MUST be a valid component reference, as defined in the :ref:`Components reference` section. .. container:: issue-component-ref-child @@ -463,18 +464,17 @@ A :code:`connection` element information item (referred to in this specification .. container:: issue-connection-component1 - 1. Each :code:`connection` element MUST contain a :code:`component_1` attribute. The value of the :code:`component_1` attribute MUST be a :ref:`valid CellML identifier`. + 1. Each :code:`connection` element MUST contain a :code:`component_1` attribute. - The value of this attribute MUST be equal to the :code:`name` attribute on a :code:`component` or :code:`import component` element in the :ref:`CellML infoset` (see :ref:`Component reference`). + The value of the :code:`component_1` attribute MUST be a valid component reference, as defined in the :ref:`Components reference` section. .. marker_connection_1 .. container:: issue-connection-component2 2. Each :code:`connection` element MUST contain a :code:`component_2` attribute. - The value of the :code:`component_2` attribute MUST be a :ref:`valid CellML identifier`. - The value of this attribute MUST be equal to the :code:`name` attribute on a :code:`component` or :code:`import component` element in the :ref:`CellML infoset` (see :ref:`Component reference`). + The value of the :code:`component_2` attribute MUST be a valid component reference, as defined in the :ref:`Components reference` section. .. marker_connection_2 diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 8dbdd0a7..b44b9a64 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -26,8 +26,8 @@ Interpretation of ``import`` elements .. _specC_units_reference: -The units reference -------------------- +Units references +---------------- A "units reference" is an attribute value that specifies the physical units a variable or number is in. @@ -40,9 +40,11 @@ A "units reference" is an attribute value that specifies the physical units a va #. If the units reference is equal to the value of the :code:`name` attribute of a :code:`units` element in the same infoset, then it SHALL refer to the units specified by that element. #. If the units reference is equal to the value of the :code:`name` attribute of an :code:`import units` element in the same infoset, then it SHALL refer to units from the infoset defined by the :code:`import units` element (see :ref:`Interpretation of ``import`` elements``). - The units specified SHALL then be determined, by treating the value of the :code:`units_ref` attribute on the :code:`import units` element as a units reference within the imported infoset. + The units specified SHALL then be determined by treating the value of the :code:`units_ref` attribute on the :code:`import units` element as a units reference within the imported infoset. If necessary, this rule SHALL be applied recursively. +#. If no units can be identified using the rules above, the attribute value SHALL NOT be a valid units reference. + .. marker_units_reference1 .. _table_built_in_units: @@ -231,19 +233,22 @@ Interpretation of ``units`` elements .. _specC_component_reference: +Component references +-------------------- -References to ``component`` elements ------------------------------------- +A "component reference" is an attribute value that specifies a CellML component. -The term "component reference" refers to the value of a :code:`component_ref` attribute used in an :code:`import` item for :code:`component` items, to :code:`component_ref` elements which occur as children of :code:`encapsulation` items, and to the value of :code:`component_1` and :code:`component_2` attributes used in :code:`connection` items. +#. A component reference SHALL be a CellML identifier. -#. A component reference SHALL be the name of a component, and SHALL be interpreted based on the context within the :ref:`CellML model` in which it occurs. +#. The component identifier by a component reference SHALL be determined as follows: -#. Where, within the same infoset, a :code:`component` element has a :code:`name` attribute identical to the component reference, the component reference SHALL refer to that :code:`component` element. + #. If the component reference is equal to the value of the :code:`name` attribute of a :code:`component` element in the same infoset, then it SHALL refer to the units specified by that element. -#. A component reference which is identical to the :code:`name` attribute on an :code:`import component` element SHALL be treated for the purposes of referencing as if the component reference appeared in the imported model, and referred to element with the :code:`name` specified in the :code:`component_ref` attribute of the :code:`import component` element. + #. If the component reference is equal to the value of the :code:`name` attribute of an :code:`import component` element in the same infoset, then it SHALL refer to a component from the infoset defined by the :code:`import component` element (see :ref:`Interpretation of ``import`` elements``). + The component specified SHALL then be determined by treating the value of the :code:`component_ref` attribute on the :code:`import component` element as a component reference within the imported infoset. + If necessary, this rule SHALL be applied recursively. -#. It is noted, for the avoidance of doubt, that CellML models MAY apply the previous rule recursively, to reference an :code:`import component` element which in turn references another :code:`import component` element. +#. If no component can be identified using the rules above, the attribute value SHALL NOT be a valid component reference. .. marker_component_reference_end .. marker_variable_reference_start From 051e449363e2fece0c925a4006e8c8eb6eb074bb Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 20:25:28 +0100 Subject: [PATCH 445/604] Updated variable reference section. Closes #189. --- src/reference/sectionB_elements.inc | 26 ++++++++++------------- src/reference/sectionC_interpretation.inc | 22 +++++++++++++------ 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 329143d9..063e8814 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -166,7 +166,7 @@ A :code:`unit` element information item (referred to in this specification as a .. container:: issue-unit-units-ref 1. Every :code:`unit` element MUST contain a :code:`units` attribute. - The value of the :code:`units` attribute MUST be a valid units reference, as defined in the :ref:`Units reference` section. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in the section :ref:`Units references`. .. container:: issue-unit-digraph @@ -250,7 +250,7 @@ A :code:`variable` element information item (referred to in this specification a .. container:: issue-variable-units 2. The :code:`units` attribute. - The value of the :code:`units` attribute MUST be a valid units reference, as defined in the :ref:`Units reference` section. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in the section :ref:`Units references`. 2. Every :code:`variable` element MAY contain one or more of the following attributes: @@ -279,12 +279,12 @@ A :code:`reset` element information item (referred to in this specification as a .. container:: issue-reset-variable-reference 1. The :code:`variable` attribute. - The value of the :code:`variable` attribute MUST be a variable reference to a variable defined within the parent :code:`component` element of the :code:`reset` element. + The value of the :code:`variable` attribute MUST be a valid variable reference, as defined in the section :ref:`Variable references`. .. container:: issue-reset-test-variable-reference 2. The :code:`test_variable` attribute. - The value of the :code:`test_variable` attribute MUST be a variable reference to a variable defined within the parent :code:`component` element of the :code:`reset` element. + The value of the :code:`test_variable` attribute MUST be a valid variable reference, as defined in the section :ref:`Variable references`. .. container:: issue-reset-order @@ -357,7 +357,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-ci-variable-reference - 3. Every variable name given using the MathML :code:`ci` element MUST be a :ref:`variable reference` to a :code:`variable` within the :code:`component` element in which the :code:`math` element is contained. + 3. The contents of a MathML :code:`ci` element MUST be a valid variable reference, as defined in the section :ref:`Variable references`. .. marker_math_3 @@ -365,7 +365,7 @@ A :code:`math` element information item (referred to in this specification as a 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. - The value of the :code:`units` attribute MUST be a valid units reference, as defined in the :ref:`Units reference` section. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in the section :ref:`Units references`. .. container:: issue-math-cn-type @@ -446,7 +446,7 @@ A :code:`component_ref` element information item (referred to in this specificat 1. Every :code:`component_ref` element MUST contain a :code:`component` attribute. - The value of the :code:`component` attribute MUST be a valid component reference, as defined in the :ref:`Components reference` section. + The value of the :code:`component` attribute MUST be a valid component reference, as defined in the section :ref:`Component references`. .. container:: issue-component-ref-child @@ -466,7 +466,7 @@ A :code:`connection` element information item (referred to in this specification 1. Each :code:`connection` element MUST contain a :code:`component_1` attribute. - The value of the :code:`component_1` attribute MUST be a valid component reference, as defined in the :ref:`Components reference` section. + The value of the :code:`component_1` attribute MUST be a valid component reference, as defined in the section :ref:`Component references`. .. marker_connection_1 @@ -474,7 +474,7 @@ A :code:`connection` element information item (referred to in this specification 2. Each :code:`connection` element MUST contain a :code:`component_2` attribute. - The value of the :code:`component_2` attribute MUST be a valid component reference, as defined in the :ref:`Components reference` section. + The value of the :code:`component_2` attribute MUST be a valid component reference, as defined in the section :ref:`Component references`. .. marker_connection_2 @@ -508,9 +508,7 @@ A :code:`map_variables` element information item (referred to in this specificat 1. Each :code:`map_variables` element MUST contain a :code:`variable_1` attribute. - The value of the :code:`variable_1` attribute MUST be a :ref:`valid CellML identifier`. - - The value of this attribute MUST be equal to the :code:`name` attribute on a :code:`variable` element child of the :code:`component` element or :code:`import component` element referenced by the :code:`component_1` attribute on the :code:`connection` element which is the parent of this element. + The value of the :code:`variable_1` attribute MUST be a valid variable reference, as defined in the section :ref:`Variable references`. .. marker_map_variables_1 @@ -518,9 +516,7 @@ A :code:`map_variables` element information item (referred to in this specificat 2. Each :code:`map_variables` element MUST contain a :code:`variable_2` attribute. - The value of the :code:`variable_2` attribute MUST be a :ref:`valid CellML identifier`. - - The value of this attribute MUST be equal to the :code:`name` attribute on a :code:`variable` element child of the :code:`component` element or :code:`import component` element referenced by the :code:`component_2` attribute on the :code:`connection` element which is the parent of this element. + The value of the :code:`variable_2` attribute MUST be a valid variable reference, as defined in the section :ref:`Variable references`. .. marker_map_variables_2 diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index b44b9a64..f0a1d869 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -31,7 +31,7 @@ Units references A "units reference" is an attribute value that specifies the physical units a variable or number is in. -#. A units reference SHALL be a CellML identifier. +#. A units reference SHALL be a :ref:`CellML identifier`. #. The units identified by a units reference SHALL be determined as follows: @@ -238,7 +238,7 @@ Component references A "component reference" is an attribute value that specifies a CellML component. -#. A component reference SHALL be a CellML identifier. +#. A component reference SHALL be a :ref:`CellML identifier`. #. The component identifier by a component reference SHALL be determined as follows: @@ -255,14 +255,22 @@ A "component reference" is an attribute value that specifies a CellML component. .. _specC_variable_reference: -References to ``variable`` elements ------------------------------------ +Variable references +------------------- + +A "variable reference" is an attribute value that specifies a CellML variable. + +#. A variable reference SHALL be a :ref:`CellML identifier`. + +#. The variable identified by a variable reference SHALL be determined as follows: + +#. When present in a descendant of a :code:`component` element, it SHALL refer to the variable of the same name within that component. -#. When present in a descendant of a :code:`component` element, a variable reference SHALL be the name of a variable, and SHALL refer to the :code:`variable` element in that component with a :code:`name` attribute identical to the variable reference. +#. When present in the :code:`variable_1` attribute of a :code:`map_variables` element, it SHALL refer to the variable of the same name in the component identified by the :code:`component_1` attribute in the same :code:`map_variables` element. -#. When present as the value of a :code:`variable_1` attribute of a :code:`map_variables` element, a variable reference SHALL be the name of a variable, and SHALL be interpreted as referring to the :code:`variable` element with a :code:`name` attribute identical to the variable reference and being a child of the :code:`component` named by the value of the :code:`component_1` attribute of the parent :code:`connection` element. +#. When present in the :code:`variable_2` attribute of a :code:`map_variables` element, it SHALL refer to the variable of the same name in the component identified by the :code:`component_2` attribute in the same :code:`map_variables` element. -#. When present as the value of a :code:`variable_2` attribute of a :code:`map_variables` element, a variable reference SHALL be the name of a variable, and SHALL be interpreted as referring to the :code:`variable` element with a :code:`name` attribute identical to the variable reference and being a child of the :code:`component` named by the value of the :code:`component_2` attribute of the parent :code:`connection` element. +#. If no variable can be identified using the rules above, the attribute value SHALL NOT be a valid variable reference. .. marker_variable_reference_end .. marker_interpretation_of_initial_values_start From 38afb681a8f929330e5bfea41689c33f3575497e Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Wed, 15 Apr 2020 20:25:47 +0100 Subject: [PATCH 446/604] Changed 'valid CellML identifier' to 'CellML identifier'. --- src/reference/sectionB_elements.inc | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 063e8814..7b332c39 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -16,7 +16,7 @@ The ``model`` element .. container:: issue-model-name 1. Every :code:`model` element MUST contain a :code:`name` attribute. - The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. + The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. .. marker_model_1 @@ -90,7 +90,7 @@ An :code:`import units` element information item (referred to in this specificat .. container:: issue-import-units-name 1. Every :code:`import units` element MUST contain a :code:`name` attribute. - The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. + The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`units` or :code:`import units` element in the :ref:`CellML infoset`. @@ -99,7 +99,7 @@ An :code:`import units` element information item (referred to in this specificat .. container:: issue-import-units-ref 2. Every :code:`import units` element MUST contain a :code:`units_ref` attribute. - The value of the :code:`units_ref` attribute MUST be a :ref:`valid CellML identifier`. + The value of the :code:`units_ref` attribute MUST be a :ref:`CellML identifier`. The value of the :code:`units_ref` attribute MUST match the value of the :code:`name` attribute on a :code:`units` or :code:`import units` element in the imported :ref:`CellML infoset`. @@ -116,14 +116,14 @@ An :code:`import component` element information item (referred to in this specif .. container:: issue-import-component-name 1. Every :code:`import component` element MUST contain a :code:`name` attribute. - The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. + The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any :code:`component` or :code:`import component` element in the :ref:`CellML infoset`. .. container:: issue-import-component-ref 2. Every :code:`import component` element MUST contain a :code:`component_ref` attribute. - The value of the :code:`component_ref` attribute MUST be a :ref:`valid CellML identifier`. + The value of the :code:`component_ref` attribute MUST be a :ref:`CellML identifier`. The value of the :code:`component_ref` attribute MUST match the value of the :code:`name` attribute on a :code:`component` or :code:`import component` element in the imported :ref:`CellML infoset`. @@ -141,7 +141,7 @@ A :code:`units` element information item (referred to in this specification as a .. container:: issue-units-name 1. Every :code:`units` element MUST contain a :code:`name` attribute. - The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. + The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`units` element or :code:`import units` element in the :ref:`CellML infoset`. @@ -212,7 +212,8 @@ A :code:`component` element information item (referred to in this specification .. container:: issue-component-name - 1. Every :code:`component` element MUST contain a :code:`name` attribute. The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. + 1. Every :code:`component` element MUST contain a :code:`name` attribute. + The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute on any other :code:`component` element or :code:`import component` element in the :ref:`CellML infoset`. @@ -243,7 +244,7 @@ A :code:`variable` element information item (referred to in this specification a .. container:: issue-variable-name 1. The :code:`name` attribute. - The value of the :code:`name` attribute MUST be a :ref:`valid CellML identifier`. + The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute on any sibling :code:`variable` element. From 5f9e4ca4aec5ecda024dce1eb3101b16e0d76097 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 09:51:17 +1200 Subject: [PATCH 447/604] testing ... --- src/conf.py | 5 ++++- src/reference/sectionA_definitions.inc | 12 ++++++------ src/reference/sectionD_references.inc | 12 +++++++----- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/conf.py b/src/conf.py index 0857ac7d..16aea60a 100644 --- a/src/conf.py +++ b/src/conf.py @@ -125,11 +125,14 @@ def define_excluded_patterns(): 'sphinx': ('http://sphinx-doc.org/%s', ''), 'swig': ('http://www.swig.org/%s', ''), 'unicode': ('http://www.fileformat.info/info/unicode/char/%s/index.htm', 'U+'), + 'unicode13': ('https://www.unicode.org/versions/Unicode13.0.0/%s',''), 'xlink': ('http://www.w3.org/TR/2001/REC-xlink-20010627/%s', ''), 'xml_help': ('https://www.w3.org/XML/%s', ''), 'xml_1_1': ('http://www.w3.org/TR/xml11/%s', ''), - 'xml_infoset': ('http://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), + 'xml_infoset': ('https://www.w3.org/TR/xml-infoset/%s', None), + 'xml_infoset2004': ('http://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816/%s', ''), + 'xml_namespace_refs': ('https://www.w3.org/TR/xml-names11/%s', ''), } # Making a passive role with which to decorate hardcoded references to sections. These diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 4c2b2676..d45c454e 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -7,9 +7,9 @@ Terminology ----------- -The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in :rfc2119:`RFC 2119`. +The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in :rfc2119:`RFC 2119 <>`. -The key phrase "information item", as well as any specific type of information item such as an "element information item", are to be interpreted as described in :xml_infoset:`XML Information Set`. +The key phrase "information item", as well as any specific type of information item such as an "element information item", are to be interpreted as described in :xml_infoset2004:`XML Information Set <>`. .. _specA_cellml_infoset: @@ -26,7 +26,7 @@ In this specification, the topmost CellML infoset in a hierarchy is referred to .. _specA_namespace: **Namespace:** -An XML namespace, as defined in :xml_namespace_1_1:`Namespaces in XML 1.1`. +An XML namespace, as defined in :xml_namespace_1_1:`Namespaces in XML 1.1 <>`. .. _specA_cellml_namespace: @@ -98,14 +98,14 @@ CellML information sets CellML and XML ~~~~~~~~~~~~~~ -#. Every CellML infoset SHALL be represented in an XML information set which conforms with the well-formedness requirements of :xml_1_1:`XML 1.1`. +#. Every CellML infoset SHALL be represented in an XML information set which conforms with the well-formedness requirements of :xml_1_1:`XML 1.1 <>`. #. In this document, the remaining provisions relating to CellML infosets SHALL be interpreted as additional constraints on the XML information set represented by a CellML infoset. Specific information items ~~~~~~~~~~~~~~~~~~~~~~~~~~ -#. For the purposes of this specification, a specific information item is one of the following (see https://www.w3.org/TR/xml-infoset/ for definitions): +#. For the purposes of this specification, a specific information item is one of the following (see :xml_infoset:`` for definitions): #. A document information item; @@ -134,7 +134,7 @@ Specific information items Non-specific information items ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -1. For the purposes of this specification, a non-specific information item is one of the following (see https://www.w3.org/TR/xml-infoset/ for definitions): +1. For the purposes of this specification, a non-specific information item is one of the following (see :xml_infoset:`https://www.w3.org/TR/xml-infoset/ <>` for definitions): #. A comment information item; diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index bd88016d..babc106d 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -2,14 +2,16 @@ Extensible Markup Language (XML) 1.1 https://www.w3.org/TR/xml11 -Mathematical Markup Language (MathML) Version 2.0 https://www.w3.org/TR/MathML2/ +Mathematical Markup Language (MathML) Version 2.0 :mathml2spec:`https://www.w3.org/TR/MathML2/ <>` -Namespaces in XML 1.1 https://www.w3.org/TR/xml-names11/ +Namespaces in XML 1.1 :xml_namespace_refs:`https://www.w3.org/TR/xml-names11/ <>` -RFC 2119: Key words for use in RFCs to Indicate Requirement Levels https://www.ietf.org/rfc/rfc2119.txt +RFC 2119: Key words for use in RFCs to Indicate Requirement Levels :rfc2119:`https://www.ietf.org/rfc/rfc2119.txt <>` -Unicode 13.0.0 https://www.unicode.org/versions/Unicode13.0.0/ +Unicode 13.0.0 :unicode13:`https://www.unicode.org/versions/Unicode13.0.0/ <>` -XML Information Set https://www.w3.org/TR/xml-infoset/ +XML Information Set :xml_infoset:`https://www.w3.org/TR/xml-infoset/ <>` + +XML Information Set 2004 :xml_infoset2004:`http://www.w3.org/TR/2004/REC-xml-infoset-20040204/ <>` XML Linking Language (XLink) Version 1.1 https://www.w3.org/TR/xlink11/ From 2d52ead0d761322ae9fef61ad7e436bea0f29b6e Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 10:09:44 +1200 Subject: [PATCH 448/604] more testing --- src/reference/sectionA_definitions.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index d45c454e..ffce51a2 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -105,7 +105,7 @@ CellML and XML Specific information items ~~~~~~~~~~~~~~~~~~~~~~~~~~ -#. For the purposes of this specification, a specific information item is one of the following (see :xml_infoset:`` for definitions): +#. For the purposes of this specification, a specific information item is one of the following (see :xml_infoset:`<>` for definitions): #. A document information item; From d187a657d0118d5516af8a96c171fe2e1c13a347 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 10:12:03 +1200 Subject: [PATCH 449/604] Update sectionA_definitions.inc --- src/reference/sectionA_definitions.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index ffce51a2..2212df39 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -105,7 +105,7 @@ CellML and XML Specific information items ~~~~~~~~~~~~~~~~~~~~~~~~~~ -#. For the purposes of this specification, a specific information item is one of the following (see :xml_infoset:`<>` for definitions): +#. For the purposes of this specification, a specific information item is one of the following (see :xml_infoset: for definitions): #. A document information item; From bf30fb6598ef39eff33b42c7c7bdc1c7616d8bc1 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 10:14:33 +1200 Subject: [PATCH 450/604] testing still --- src/conf.py | 2 +- src/reference/sectionA_definitions.inc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index 16aea60a..83405beb 100644 --- a/src/conf.py +++ b/src/conf.py @@ -129,7 +129,7 @@ def define_excluded_patterns(): 'xlink': ('http://www.w3.org/TR/2001/REC-xlink-20010627/%s', ''), 'xml_help': ('https://www.w3.org/XML/%s', ''), 'xml_1_1': ('http://www.w3.org/TR/xml11/%s', ''), - 'xml_infoset': ('https://www.w3.org/TR/xml-infoset/%s', None), + 'xml_infoset': ('https://www.w3.org/TR/xml-infoset/%s', ''), 'xml_infoset2004': ('http://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816/%s', ''), 'xml_namespace_refs': ('https://www.w3.org/TR/xml-names11/%s', ''), diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 2212df39..d45c454e 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -105,7 +105,7 @@ CellML and XML Specific information items ~~~~~~~~~~~~~~~~~~~~~~~~~~ -#. For the purposes of this specification, a specific information item is one of the following (see :xml_infoset: for definitions): +#. For the purposes of this specification, a specific information item is one of the following (see :xml_infoset:`` for definitions): #. A document information item; From ebc815a45c669a845ec565b44ed9bce432ef687c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 10:16:05 +1200 Subject: [PATCH 451/604] testing --- src/reference/sectionA_definitions.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index d45c454e..ffce51a2 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -105,7 +105,7 @@ CellML and XML Specific information items ~~~~~~~~~~~~~~~~~~~~~~~~~~ -#. For the purposes of this specification, a specific information item is one of the following (see :xml_infoset:`` for definitions): +#. For the purposes of this specification, a specific information item is one of the following (see :xml_infoset:`<>` for definitions): #. A document information item; From 56e1b6f57cd21af261ce767f48887f05bf57497e Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 10:20:02 +1200 Subject: [PATCH 452/604] more testing --- src/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf.py b/src/conf.py index 83405beb..cc4b727d 100644 --- a/src/conf.py +++ b/src/conf.py @@ -129,7 +129,7 @@ def define_excluded_patterns(): 'xlink': ('http://www.w3.org/TR/2001/REC-xlink-20010627/%s', ''), 'xml_help': ('https://www.w3.org/XML/%s', ''), 'xml_1_1': ('http://www.w3.org/TR/xml11/%s', ''), - 'xml_infoset': ('https://www.w3.org/TR/xml-infoset/%s', ''), + 'xml_infoset': ('https://www.w3.org/TR/xml-infoset/', None), 'xml_infoset2004': ('http://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816/%s', ''), 'xml_namespace_refs': ('https://www.w3.org/TR/xml-names11/%s', ''), From 2e0c6849a359166ebb831fb8560a151bb81d80f9 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 10:21:29 +1200 Subject: [PATCH 453/604] Update sectionA_definitions.inc --- src/reference/sectionA_definitions.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index ffce51a2..a0fb5fb4 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -105,7 +105,7 @@ CellML and XML Specific information items ~~~~~~~~~~~~~~~~~~~~~~~~~~ -#. For the purposes of this specification, a specific information item is one of the following (see :xml_infoset:`<>` for definitions): +#. For the purposes of this specification, a specific information item is one of the following (see :xml_infoset:` ` for definitions): #. A document information item; From b6216e2c68bf65f1fd1f1279ffbf487c443cf106 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 10:23:26 +1200 Subject: [PATCH 454/604] Update conf.py --- src/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf.py b/src/conf.py index cc4b727d..7db8b1bc 100644 --- a/src/conf.py +++ b/src/conf.py @@ -129,7 +129,7 @@ def define_excluded_patterns(): 'xlink': ('http://www.w3.org/TR/2001/REC-xlink-20010627/%s', ''), 'xml_help': ('https://www.w3.org/XML/%s', ''), 'xml_1_1': ('http://www.w3.org/TR/xml11/%s', ''), - 'xml_infoset': ('https://www.w3.org/TR/xml-infoset/', None), + 'xml_infoset': ('https://www.w3.org/TR/xml-infoset%s', None), 'xml_infoset2004': ('http://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816/%s', ''), 'xml_namespace_refs': ('https://www.w3.org/TR/xml-names11/%s', ''), From 06fcfc530ca1446aa795e48a5a00328fdefb4f82 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 10:24:47 +1200 Subject: [PATCH 455/604] Update sectionA_definitions.inc --- src/reference/sectionA_definitions.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index a0fb5fb4..78a08e14 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -105,7 +105,7 @@ CellML and XML Specific information items ~~~~~~~~~~~~~~~~~~~~~~~~~~ -#. For the purposes of this specification, a specific information item is one of the following (see :xml_infoset:` ` for definitions): +#. For the purposes of this specification, a specific information item is one of the following (see :xml_infoset:`/` for definitions): #. A document information item; From 7b54b4a721af1b35955e9dd0cca13c5f891a1802 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 10:48:10 +1200 Subject: [PATCH 456/604] removing hardcoding from source files --- src/conf.py | 7 +++++-- src/reference/sectionA_definitions.inc | 8 ++++---- src/reference/sectionD_references.inc | 4 ++-- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/conf.py b/src/conf.py index 7db8b1bc..3740b102 100644 --- a/src/conf.py +++ b/src/conf.py @@ -99,11 +99,13 @@ def define_excluded_patterns(): # :shortcut:`Shortcut text ` NB space before < # Declare below as: # 'shortcut': ('http://linkhere/%s',''), NB have to put the string insertion %s to make it work +# OR, where you want to print out the URL to the rendered version: +# 'shortcut': ('http://linkhere%s', None) then use :shortcut:`/` in the text to display full URL, including the trailing slash. extlinks = { 'buildbot': ('https://buildbot.net%s', ''), 'calvin_and_hobbes':('https://www.gocomics.com/calvinandhobbes/%s',''), 'cellml1to2': ('https://github.com/hsorby/cellml1to2%s', ''), - 'cellml2': ('https://www.cellml.org/%s', ''), + 'cellml2namespace': ('http://www.cellml.org/cellml/2.0%s', None), 'cellsolver': ('https://github.com/hsorby/cellsolver%s', ''), 'cmake': ('https://cmake.org/%s', ''), 'doxygen': ('http://www.doxygen.nl/%s', ''), @@ -116,6 +118,7 @@ def define_excluded_patterns(): 'libcellml_repo': ('https://github.com/cellml/libcellml.git%s', ''), 'libxml2': ('http://www.xmlsoft.org/%s', ''), 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html%s', ''), + 'mathml2namespace': ('http://www.w3.org/1998/Math/MathML%s', None), 'mathml2spec': ('http://www.w3.org/TR/2003/REC-MathML2-20031021/%s', ''), 'namespace_help': ('https://www.w3schools.com/xml/xml_namespaces.asp%s', ''), 'opencor': ('https://opencor.ws/%s', ''), @@ -132,7 +135,7 @@ def define_excluded_patterns(): 'xml_infoset': ('https://www.w3.org/TR/xml-infoset%s', None), 'xml_infoset2004': ('http://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816/%s', ''), - 'xml_namespace_refs': ('https://www.w3.org/TR/xml-names11/%s', ''), + 'xml_namespace_refs': ('https://www.w3.org/TR/xml-names11%s', None), } # Making a passive role with which to decorate hardcoded references to sections. These diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 78a08e14..f2b686d0 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -35,12 +35,12 @@ An XML namespace, as defined in :xml_namespace_1_1:`Namespaces in XML 1.1 <>`. .. _specA_cellml2_namespace: **CellML 2.0 namespace:** -The namespace :cellml2:`http://www.cellml.org/cellml/2.0# `\. +The namespace :cellml2namespace:`#`. .. _specA_mathml_namespace: **MathML namespace:** -The namespace http://www.w3.org/1998/Math/MathML. +The namespace :mathml2namespace:`/`. .. _specA_cellml_information_item: @@ -134,7 +134,7 @@ Specific information items Non-specific information items ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -1. For the purposes of this specification, a non-specific information item is one of the following (see :xml_infoset:`https://www.w3.org/TR/xml-infoset/ <>` for definitions): +1. For the purposes of this specification, a non-specific information item is one of the following (see :xml_infoset:`/` for definitions): #. A comment information item; @@ -175,7 +175,7 @@ XML ID Attributes ~~~~~~~~~~~~~~~~~ #. Any element information item in the :ref:`CellML namespace` MAY contain an attribute with local name :code:`id.` - This attribute SHALL be treated as having attribute type ID, as defined in `section 3.3.1 `__ of `XML 1.1 `__. + This attribute SHALL be treated as having attribute type ID, as defined in :xml_1_1:`section 3.3.1 <#sec-attribute-types>` of :xml_1_1:`XML 1.1 <>`. .. marker_cellml_information_sets_end .. marker_data_formats_start diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index babc106d..b989f775 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -1,10 +1,10 @@ .. _sectionD: -Extensible Markup Language (XML) 1.1 https://www.w3.org/TR/xml11 +Extensible Markup Language (XML) 1.1 :xml_1_1:`/` Mathematical Markup Language (MathML) Version 2.0 :mathml2spec:`https://www.w3.org/TR/MathML2/ <>` -Namespaces in XML 1.1 :xml_namespace_refs:`https://www.w3.org/TR/xml-names11/ <>` +Namespaces in XML 1.1 :xml_namespace_refs:`/` RFC 2119: Key words for use in RFCs to Indicate Requirement Levels :rfc2119:`https://www.ietf.org/rfc/rfc2119.txt <>` From 0f266cd1457c47cf369106f2463b92a284363e6e Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 11:25:02 +1200 Subject: [PATCH 457/604] links in B and C checked --- src/reference/sectionB_elements.inc | 2 +- src/reference/sectionC_interpretation.inc | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 1f7d8054..d5e6e91a 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -55,7 +55,7 @@ An :code:`import` element information item (referred to in this specification as 1. Every :code:`import` element MUST contain an attribute in the namespace :code:`http://www.w3.org/1999/xlink`, with a local name equal to :code:`href`. - The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification`. + The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification <>`. The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification`, by applying the rules for simple-type elements. diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 05e6bdeb..f5e808ab 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -363,7 +363,7 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_3 -#. For a given variable, the available interfaces SHALL be determined by the :code:`interface` attribute information item on the corresponding :code:`variable` element as follows. +6. For a given variable, the available interfaces SHALL be determined by the :code:`interface` attribute information item on the corresponding :code:`variable` element as follows. #. A value of :code:`public` specifies that the variable has a public interface. @@ -385,11 +385,11 @@ Interpretation of ``map_variables`` elements #. It is noted, for the avoidance of doubt, that any other encapsulation relationship between components *AA* and *BB* will not permit connections, meaning that no interface is available between the variables *A* and *B*. -3. CellML models MUST only contain :code:`map_variables` elements where the interface of variable *A* and the interface of variable *B* are applicable interfaces. +#. CellML models MUST only contain :code:`map_variables` elements where the interface of variable *A* and the interface of variable *B* are applicable interfaces. .. marker_interpretation_of_map_variables_4 -#. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :ref:`Effect of units on variables ` ) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. +9. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :ref:`Effect of units on variables ` ) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. Two sets of tuples SHALL be considered identical if all of the tuples from each set are present in the other, or if both sets are empty. Two tuples are considered identical if and only if both the name and exponent value of each tuple are equivalent. @@ -397,9 +397,9 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_5 -#. The :code:`variable` elements in a CellML model SHALL be treated as belonging to a single "equivalent variable set". - Each set of equivalent variables is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a connected subgraph. - Each set of equivalent variables represents one variable in the underlying mathematical model. +11. The :code:`variable` elements in a CellML model SHALL be treated as belonging to a single "equivalent variable set". + Each set of equivalent variables is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a connected subgraph. + Each set of equivalent variables represents one variable in the underlying mathematical model. .. marker_interpretation_of_map_variables_end .. marker_interpretation_of_variable_resets_start From 72477333e13574ea680c232a2802f4b09641106f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 11:58:26 +1200 Subject: [PATCH 458/604] python formatting, display shortcuts for URLs --- src/conf.py | 60 +++++++++++++++++---------- src/reference/sectionB_elements.inc | 2 +- src/reference/sectionD_references.inc | 16 ++++--- 3 files changed, 45 insertions(+), 33 deletions(-) diff --git a/src/conf.py b/src/conf.py index 3740b102..f7b57ee4 100644 --- a/src/conf.py +++ b/src/conf.py @@ -22,12 +22,14 @@ build_type = os.environ['CELLML_SPEC_BUILD'] if 'CELLML_SPEC_BUILD' in os.environ else 'Full' + def manage_index(direction, base_dir=''): files = ['master_index.rst', 'index.rst'] if build_type == 'Normative': files = ['normative_only_index.rst', 'index.rst'] - files = [os.path.join(base_dir, files[0]), os.path.join(base_dir, files[1])] + files = [os.path.join(base_dir, files[0]), + os.path.join(base_dir, files[1])] if direction == 'out': files.reverse() @@ -35,23 +37,23 @@ def manage_index(direction, base_dir=''): def tex_document_name(): - name = 'cellml2_specification' - if build_type == 'Normative': - name = 'cellml2_normative_specification' + name = 'cellml2_specification' + if build_type == 'Normative': + name = 'cellml2_normative_specification' - return name + return name def define_excluded_patterns(): exclude_patterns = ['normative_only_index.rst', - 'reference/formal_section*', - 'reference/formal_only/*',] + 'reference/formal_section*', + 'reference/formal_only/*', ] if build_type == 'Normative': exclude_patterns = ['master_index.rst', - 'reference/index_section*', - 'reference/formal_and_informative/*.rst', - 'reference/informative/*.rst', - 'reference/libcellml/*.rst',] + 'reference/index_section*', + 'reference/formal_and_informative/*.rst', + 'reference/informative/*.rst', + 'reference/libcellml/*.rst', ] return exclude_patterns @@ -103,7 +105,7 @@ def define_excluded_patterns(): # 'shortcut': ('http://linkhere%s', None) then use :shortcut:`/` in the text to display full URL, including the trailing slash. extlinks = { 'buildbot': ('https://buildbot.net%s', ''), - 'calvin_and_hobbes':('https://www.gocomics.com/calvinandhobbes/%s',''), + 'calvin_and_hobbes': ('https://www.gocomics.com/calvinandhobbes/%s', ''), 'cellml1to2': ('https://github.com/hsorby/cellml1to2%s', ''), 'cellml2namespace': ('http://www.cellml.org/cellml/2.0%s', None), 'cellsolver': ('https://github.com/hsorby/cellsolver%s', ''), @@ -117,25 +119,36 @@ def define_excluded_patterns(): 'libcellml': ('https://libcellml.org/%s', ''), 'libcellml_repo': ('https://github.com/cellml/libcellml.git%s', ''), 'libxml2': ('http://www.xmlsoft.org/%s', ''), + # These should be identical: one for links, one for full URL display + 'mathml2': ('http://www.w3.org/TR/2003/REC-MathML2-20031021/%s', ''), + 'mathml2_display': ('http://www.w3.org/TR/2003/REC-MathML2-20031021/%s', None), + 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html%s', ''), 'mathml2namespace': ('http://www.w3.org/1998/Math/MathML%s', None), - 'mathml2spec': ('http://www.w3.org/TR/2003/REC-MathML2-20031021/%s', ''), + 'namespace_help': ('https://www.w3schools.com/xml/xml_namespaces.asp%s', ''), 'opencor': ('https://opencor.ws/%s', ''), 'pmr': ('https://models.physiomeproject.org/welcome/%s', ''), 'python': ('https://www.python.org/%s', ''), + # These should be identical: one for links, one for full URL display 'rfc2119': ('http://www.ietf.org/rfc/rfc2119.txt%s', ''), + 'rfc2119_display': ('http://www.ietf.org/rfc/rfc2119.txt%s', ''), 'sphinx': ('http://sphinx-doc.org/%s', ''), 'swig': ('http://www.swig.org/%s', ''), 'unicode': ('http://www.fileformat.info/info/unicode/char/%s/index.htm', 'U+'), - 'unicode13': ('https://www.unicode.org/versions/Unicode13.0.0/%s',''), - 'xlink': ('http://www.w3.org/TR/2001/REC-xlink-20010627/%s', ''), + 'unicode13_display': ('https://www.unicode.org/versions/Unicode13.0.0/%s', None), + 'xlink': ('http://www.w3.org/TR/2001/REC-xlink-20010627%s', ''), + 'xlink_display': ('http://www.w3.org/TR/2001/REC-xlink-20010627%s', None), + 'xml_help': ('https://www.w3.org/XML/%s', ''), - 'xml_1_1': ('http://www.w3.org/TR/xml11/%s', ''), - 'xml_infoset': ('https://www.w3.org/TR/xml-infoset%s', None), + # These should be identical: one for links, one for full URL display + 'xml_1_1': ('http://www.w3.org/TR/xml11/%s', ''), + 'xml_1_1_display': ('http://www.w3.org/TR/xml11%s', None), + + 'xml_infoset_display': ('https://www.w3.org/TR/xml-infoset%s', None), 'xml_infoset2004': ('http://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816/%s', ''), - 'xml_namespace_refs': ('https://www.w3.org/TR/xml-names11%s', None), + 'xml_namespace_display': ('https://www.w3.org/TR/xml-names11%s', None), } # Making a passive role with which to decorate hardcoded references to sections. These @@ -147,7 +160,8 @@ def define_excluded_patterns(): # General information about the project. project = u'CellML 2.0' -copyright = u'2019-{0}, CellML Editors and Contributors'.format(date_today.year) +copyright = u'2019-{0}, CellML Editors and Contributors'.format( + date_today.year) # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -353,9 +367,9 @@ def define_excluded_patterns(): # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). -#man_pages = [ +# man_pages = [ # ('index', 'cellml', u'CellML 2.0 Documentation', [u'CellML Editors'], 1) -#] +# ] # If true, show URL addresses after external links. #man_show_urls = False @@ -366,11 +380,11 @@ def define_excluded_patterns(): # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) -#texinfo_documents = [ +# texinfo_documents = [ # ('index', 'CellML', u'CellML Documentation', # u'CellML 2.0 Editors', 'CellML 2.0', 'CellML 2.0 Normative Specification.', # 'Miscellaneous'), -#] +# ] # Documents to append as an appendix to all manuals. #texinfo_appendices = [] diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index d5e6e91a..614a50e0 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -346,7 +346,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-mathml - 1. A :code:`math` element MUST be the top-level of a content MathML tree, as described in :mathml2spec:`MathML 2.0 <>`. + 1. A :code:`math` element MUST be the top-level of a content MathML tree, as described in :mathml2:`MathML 2.0 <>`. .. marker_math_1 diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index b989f775..a335e4de 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -1,17 +1,15 @@ .. _sectionD: -Extensible Markup Language (XML) 1.1 :xml_1_1:`/` +Extensible Markup Language (XML) 1.1 :xml_1_1_display:`#` -Mathematical Markup Language (MathML) Version 2.0 :mathml2spec:`https://www.w3.org/TR/MathML2/ <>` +Mathematical Markup Language (MathML) Version 2.0 :mathml2_display:`#` -Namespaces in XML 1.1 :xml_namespace_refs:`/` +Namespaces in XML 1.1 :xml_namespace_display:`#` -RFC 2119: Key words for use in RFCs to Indicate Requirement Levels :rfc2119:`https://www.ietf.org/rfc/rfc2119.txt <>` +RFC 2119: Key words for use in RFCs to Indicate Requirement Levels :rfc2119_display:`#` -Unicode 13.0.0 :unicode13:`https://www.unicode.org/versions/Unicode13.0.0/ <>` +Unicode 13.0.0 :unicode13_display:`#` -XML Information Set :xml_infoset:`https://www.w3.org/TR/xml-infoset/ <>` +XML Information Set :xml_infoset_display:`#` -XML Information Set 2004 :xml_infoset2004:`http://www.w3.org/TR/2004/REC-xml-infoset-20040204/ <>` - -XML Linking Language (XLink) Version 1.1 https://www.w3.org/TR/xlink11/ +XML Linking Language (XLink) Version 1.1 :xlink_display:`#` From 1ff0b2145d0d38eb1d55e6d103d185e16beb818b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 11:59:41 +1200 Subject: [PATCH 459/604] Update conf.py --- src/conf.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index f7b57ee4..5f249030 100644 --- a/src/conf.py +++ b/src/conf.py @@ -119,28 +119,33 @@ def define_excluded_patterns(): 'libcellml': ('https://libcellml.org/%s', ''), 'libcellml_repo': ('https://github.com/cellml/libcellml.git%s', ''), 'libxml2': ('http://www.xmlsoft.org/%s', ''), + # These should be identical: one for links, one for full URL display 'mathml2': ('http://www.w3.org/TR/2003/REC-MathML2-20031021/%s', ''), 'mathml2_display': ('http://www.w3.org/TR/2003/REC-MathML2-20031021/%s', None), 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html%s', ''), 'mathml2namespace': ('http://www.w3.org/1998/Math/MathML%s', None), - 'namespace_help': ('https://www.w3schools.com/xml/xml_namespaces.asp%s', ''), 'opencor': ('https://opencor.ws/%s', ''), 'pmr': ('https://models.physiomeproject.org/welcome/%s', ''), 'python': ('https://www.python.org/%s', ''), + # These should be identical: one for links, one for full URL display 'rfc2119': ('http://www.ietf.org/rfc/rfc2119.txt%s', ''), 'rfc2119_display': ('http://www.ietf.org/rfc/rfc2119.txt%s', ''), + 'sphinx': ('http://sphinx-doc.org/%s', ''), 'swig': ('http://www.swig.org/%s', ''), 'unicode': ('http://www.fileformat.info/info/unicode/char/%s/index.htm', 'U+'), 'unicode13_display': ('https://www.unicode.org/versions/Unicode13.0.0/%s', None), + + # These should be identical: one for links, one for full URL display 'xlink': ('http://www.w3.org/TR/2001/REC-xlink-20010627%s', ''), 'xlink_display': ('http://www.w3.org/TR/2001/REC-xlink-20010627%s', None), - + 'xml_help': ('https://www.w3.org/XML/%s', ''), + # These should be identical: one for links, one for full URL display 'xml_1_1': ('http://www.w3.org/TR/xml11/%s', ''), 'xml_1_1_display': ('http://www.w3.org/TR/xml11%s', None), From 7b8d316a156756bc1e92cba629df9e6ebf6eec36 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 12:04:51 +1200 Subject: [PATCH 460/604] cellml spec links --- src/conf.py | 2 ++ src/normative_only_index.rst | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index 5f249030..43e07cf3 100644 --- a/src/conf.py +++ b/src/conf.py @@ -108,6 +108,8 @@ def define_excluded_patterns(): 'calvin_and_hobbes': ('https://www.gocomics.com/calvinandhobbes/%s', ''), 'cellml1to2': ('https://github.com/hsorby/cellml1to2%s', ''), 'cellml2namespace': ('http://www.cellml.org/cellml/2.0%s', None), + 'cellml2spec_display': ('https://cellml.org/specifications/cellml_2.0%s', None), + 'cellml2spec_pdf_display': ('https://www.cellml.org/specifications/cellml_2.0/Normative_CellML_2.0_Specifcation_PDF', None), 'cellsolver': ('https://github.com/hsorby/cellsolver%s', ''), 'cmake': ('https://cmake.org/%s', ''), 'doxygen': ('http://www.doxygen.nl/%s', ''), diff --git a/src/normative_only_index.rst b/src/normative_only_index.rst index 31f4dd23..f37faa4f 100644 --- a/src/normative_only_index.rst +++ b/src/normative_only_index.rst @@ -11,9 +11,9 @@ Normative CellML 2.0 Specification This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. -Users of CellML models may prefer the informative version of the CellML Specification, which is available at https://cellml.org/specifications/cellml_2.0. +Users of CellML models may prefer the informative version of the CellML Specification, which is available at :cellml2spec_display:`#`. -A PDF version of the normative specification is available at https://www.cellml.org/specifications/cellml_2.0/Normative_CellML_2.0_Specifcation_PDF. +A PDF version of the normative specification is available at :cellml2spec_pdf_display:`#`. .. include:: reference/acknowledgements.inc From 7476abc41a107a720755eaca86ca89c77b2e99a8 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 12:12:51 +1200 Subject: [PATCH 461/604] Changed back to backslashes --- src/conf.py | 2 +- src/normative_only_index.rst | 4 ++-- src/reference/sectionD_references.inc | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/conf.py b/src/conf.py index 43e07cf3..e4943f5c 100644 --- a/src/conf.py +++ b/src/conf.py @@ -149,7 +149,7 @@ def define_excluded_patterns(): 'xml_help': ('https://www.w3.org/XML/%s', ''), # These should be identical: one for links, one for full URL display - 'xml_1_1': ('http://www.w3.org/TR/xml11/%s', ''), + 'xml_1_1': ('http://www.w3.org/TR/xml11%s', ''), 'xml_1_1_display': ('http://www.w3.org/TR/xml11%s', None), 'xml_infoset_display': ('https://www.w3.org/TR/xml-infoset%s', None), diff --git a/src/normative_only_index.rst b/src/normative_only_index.rst index f37faa4f..a03d82c3 100644 --- a/src/normative_only_index.rst +++ b/src/normative_only_index.rst @@ -11,9 +11,9 @@ Normative CellML 2.0 Specification This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. -Users of CellML models may prefer the informative version of the CellML Specification, which is available at :cellml2spec_display:`#`. +Users of CellML models may prefer the informative version of the CellML Specification, which is available at :cellml2spec_display:`/`. -A PDF version of the normative specification is available at :cellml2spec_pdf_display:`#`. +A PDF version of the normative specification is available at :cellml2spec_pdf_display:`/`. .. include:: reference/acknowledgements.inc diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index a335e4de..20da060f 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -1,15 +1,15 @@ .. _sectionD: -Extensible Markup Language (XML) 1.1 :xml_1_1_display:`#` +Extensible Markup Language (XML) 1.1 :xml_1_1_display:`/` -Mathematical Markup Language (MathML) Version 2.0 :mathml2_display:`#` +Mathematical Markup Language (MathML) Version 2.0 :mathml2_display:`/` -Namespaces in XML 1.1 :xml_namespace_display:`#` +Namespaces in XML 1.1 :xml_namespace_display:`/` RFC 2119: Key words for use in RFCs to Indicate Requirement Levels :rfc2119_display:`#` -Unicode 13.0.0 :unicode13_display:`#` +Unicode 13.0.0 :unicode13_display:`/` -XML Information Set :xml_infoset_display:`#` +XML Information Set :xml_infoset_display:`/` -XML Linking Language (XLink) Version 1.1 :xlink_display:`#` +XML Linking Language (XLink) Version 1.1 :xlink_display:`/` From 27ba0ece2d68f9850359eb25cd58e8601e38b254 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 12:13:18 +1200 Subject: [PATCH 462/604] Fixed rfc display link --- src/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf.py b/src/conf.py index e4943f5c..cd3b6890 100644 --- a/src/conf.py +++ b/src/conf.py @@ -135,7 +135,7 @@ def define_excluded_patterns(): # These should be identical: one for links, one for full URL display 'rfc2119': ('http://www.ietf.org/rfc/rfc2119.txt%s', ''), - 'rfc2119_display': ('http://www.ietf.org/rfc/rfc2119.txt%s', ''), + 'rfc2119_display': ('http://www.ietf.org/rfc/rfc2119.txt%s', None), 'sphinx': ('http://sphinx-doc.org/%s', ''), 'swig': ('http://www.swig.org/%s', ''), From a4230601406d870a537dd01ae23475eb9d274e96 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 12:16:12 +1200 Subject: [PATCH 463/604] double slashes at end of urls fixed --- src/conf.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/conf.py b/src/conf.py index cd3b6890..c3fb65b1 100644 --- a/src/conf.py +++ b/src/conf.py @@ -123,8 +123,8 @@ def define_excluded_patterns(): 'libxml2': ('http://www.xmlsoft.org/%s', ''), # These should be identical: one for links, one for full URL display - 'mathml2': ('http://www.w3.org/TR/2003/REC-MathML2-20031021/%s', ''), - 'mathml2_display': ('http://www.w3.org/TR/2003/REC-MathML2-20031021/%s', None), + 'mathml2': ('http://www.w3.org/TR/2003/REC-MathML2-20031021%s', ''), + 'mathml2_display': ('http://www.w3.org/TR/2003/REC-MathML2-20031021%s', None), 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html%s', ''), 'mathml2namespace': ('http://www.w3.org/1998/Math/MathML%s', None), @@ -140,7 +140,7 @@ def define_excluded_patterns(): 'sphinx': ('http://sphinx-doc.org/%s', ''), 'swig': ('http://www.swig.org/%s', ''), 'unicode': ('http://www.fileformat.info/info/unicode/char/%s/index.htm', 'U+'), - 'unicode13_display': ('https://www.unicode.org/versions/Unicode13.0.0/%s', None), + 'unicode13_display': ('https://www.unicode.org/versions/Unicode13.0.0%s', None), # These should be identical: one for links, one for full URL display 'xlink': ('http://www.w3.org/TR/2001/REC-xlink-20010627%s', ''), From 0a4c3a4d158ba9ceac8d614d9eb327af1938629d Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 12:17:05 +1200 Subject: [PATCH 464/604] formatting tweaks --- src/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index c3fb65b1..78419e0c 100644 --- a/src/conf.py +++ b/src/conf.py @@ -134,7 +134,7 @@ def define_excluded_patterns(): 'python': ('https://www.python.org/%s', ''), # These should be identical: one for links, one for full URL display - 'rfc2119': ('http://www.ietf.org/rfc/rfc2119.txt%s', ''), + 'rfc2119': ('http://www.ietf.org/rfc/rfc2119.txt%s', ''), 'rfc2119_display': ('http://www.ietf.org/rfc/rfc2119.txt%s', None), 'sphinx': ('http://sphinx-doc.org/%s', ''), @@ -143,7 +143,7 @@ def define_excluded_patterns(): 'unicode13_display': ('https://www.unicode.org/versions/Unicode13.0.0%s', None), # These should be identical: one for links, one for full URL display - 'xlink': ('http://www.w3.org/TR/2001/REC-xlink-20010627%s', ''), + 'xlink': ('http://www.w3.org/TR/2001/REC-xlink-20010627%s', ''), 'xlink_display': ('http://www.w3.org/TR/2001/REC-xlink-20010627%s', None), 'xml_help': ('https://www.w3.org/XML/%s', ''), From 3743ab23c893bea228dd60399ad114e4814cd90d Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 12:17:28 +1200 Subject: [PATCH 465/604] Update conf.py --- src/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf.py b/src/conf.py index 78419e0c..0338ed9f 100644 --- a/src/conf.py +++ b/src/conf.py @@ -109,7 +109,7 @@ def define_excluded_patterns(): 'cellml1to2': ('https://github.com/hsorby/cellml1to2%s', ''), 'cellml2namespace': ('http://www.cellml.org/cellml/2.0%s', None), 'cellml2spec_display': ('https://cellml.org/specifications/cellml_2.0%s', None), - 'cellml2spec_pdf_display': ('https://www.cellml.org/specifications/cellml_2.0/Normative_CellML_2.0_Specifcation_PDF', None), + 'cellml2spec_pdf_display': ('https://www.cellml.org/specifications/cellml_2.0/Normative_CellML_2.0_Specifcation_PDF%s', None), 'cellsolver': ('https://github.com/hsorby/cellsolver%s', ''), 'cmake': ('https://cmake.org/%s', ''), 'doxygen': ('http://www.doxygen.nl/%s', ''), From f5081f944fbac2beae6366ecc119fd7ae2da1828 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Thu, 16 Apr 2020 12:27:03 +1200 Subject: [PATCH 466/604] Some minor cleaning up. --- src/reference/sectionB_elements.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 4b465fb9..f893e127 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -300,11 +300,11 @@ A :code:`reset` element information item (referred to in this specification as a .. container:: issue-reset-reset-value - 2. A :code:`reset_value` element. + 1. A :code:`reset_value` element; and .. container:: issue-reset-test-value - 1. A :code:`test_value` element; and, + 2. A :code:`test_value` element. .. marker_reset_end .. marker_test_value_start @@ -364,7 +364,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-cn-units-attribute - 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. + 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. The value of this attribute MUST be a valid :ref:`units reference`. .. container:: issue-math-cn-type From e5749349b1933fddcdce549f096f25a6dbaa825b Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Thu, 16 Apr 2020 13:33:37 +1200 Subject: [PATCH 467/604] Fix a reference. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index f98d887d..646d6181 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -13,7 +13,7 @@ Interpretation of ``import`` elements #. When determining the equivalent variable set of a variable in an imported component: - #. connections defined in the importing infoset shall be handled as described in :ref:`Interpretation of ``map_variables`` `. + #. connections defined in the importing infoset shall be handled as described in :ref:`Interpretation of map_variables`. #. connections defined in the imported infoset shall be handled as follows: From a23d955f204fc32ad6950ea8609bbe17e97da4bb Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 13:54:39 +1200 Subject: [PATCH 468/604] Updated 2.6.1.2 --- src/reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 7f8d5997..43dd5cf2 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -175,7 +175,7 @@ A :code:`unit` element information item (referred to in this specification as a .. container:: issue-unit-circular-ref - 2. The value of the :code:`units` attribute MUST NOT be such that the :code:`units` element inclusion digraph contains one or more cycles (in other words, units definitions must not be cyclical). + 2. The element inclusion digraph MUST NOT contains any cycles. .. marker_unit_1 From c7b9b8b986c65c048e5a2a99f5a9c9f643866597 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 13:57:58 +1200 Subject: [PATCH 469/604] fixed typo --- src/reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 43dd5cf2..5ae84aad 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -175,7 +175,7 @@ A :code:`unit` element information item (referred to in this specification as a .. container:: issue-unit-circular-ref - 2. The element inclusion digraph MUST NOT contains any cycles. + 2. The element inclusion digraph MUST NOT contain any cycles. .. marker_unit_1 From a051b4a2938bcc7bcc0a1608eb0f9b7707284197 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 14:02:24 +1200 Subject: [PATCH 470/604] Updated reset: one of each of --- src/reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 7f8d5997..0e9ea2a3 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -271,7 +271,7 @@ The ``reset`` element A :code:`reset` element information item (referred to in this specification as a :code:`reset` element) is an element in the :ref:`CellML namespace` with a local name equal to :code:`reset`, which appears as a child of a :code:`component` element. -1. Every :code:`reset` element MUST have exactly one each of the following attributes: +1. Every :code:`reset` element MUST have exactly one of each of the following attributes: .. container:: issue-reset-variable-reference From d6d6c796dc2428a35164f7894b1bca12d4d7563a Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 14:08:54 +1200 Subject: [PATCH 471/604] Merging 2.12.5-6 --- src/reference/sectionB_elements.inc | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 7f8d5997..4cc206a8 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -369,11 +369,8 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-cn-type - 5. A :code:`cn` element MUST be one of the following :mathml2help:`types<#contm.typeattrib>`\: real or e-notation. + 5. A :code:`cn` element MUST be one of base 10, and MUST be of the following :mathml2help:`types<#contm.typeattrib>`\: real or e-notation. -.. container:: issue-math-cn-base10 - - 6. A :code:`cn` element MUST be of base 10. .. marker_math_4 From 30ebb3afe77d9d1dc82479a0939aa83ad524038d Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 14:10:44 +1200 Subject: [PATCH 472/604] MUST in table footnote --- src/reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 4cc206a8..087f33ad 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -413,7 +413,7 @@ A :code:`math` element information item (referred to in this specification as a | | :code:`true`, :code:`false` | +----------------------------------+----------------------------------------------------------------+ -\* :code:`degree` must be a child of :code:`root` or :code:`diff` +\* :code:`degree` MUST be a child of :code:`root` or :code:`diff` .. marker_math_end .. marker_encapsulation_start From 0aa3cc9481e6d9270f797a4ce621278b39580d2d Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 14:13:04 +1200 Subject: [PATCH 473/604] table alignment --- src/static/css/cellml.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/static/css/cellml.css b/src/static/css/cellml.css index b4ac4bfb..94cb23da 100644 --- a/src/static/css/cellml.css +++ b/src/static/css/cellml.css @@ -8,6 +8,10 @@ margin-bottom: 5px; } +.wy-table td, .rst-content table.docutils td, .rst-content table.field-list td { + vertical-align: top; +} + pre { border: none; background-color: #eeeeee; From d6f5be124af23228dc4384ebf05282fb41453067 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 14:15:48 +1200 Subject: [PATCH 474/604] Tweaked wording to 2.12.5 --- src/reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 087f33ad..f25dc3a0 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -369,7 +369,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-cn-type - 5. A :code:`cn` element MUST be one of base 10, and MUST be of the following :mathml2help:`types<#contm.typeattrib>`\: real or e-notation. + 5. A :code:`cn` element MUST be base 10, and MUST be of the following :mathml2help:`types<#contm.typeattrib>`\: real or e-notation. .. marker_math_4 From 54700fe33ff096adf2b85476b22d9696b8b9c44c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 14:28:09 +1200 Subject: [PATCH 475/604] Added "children" to 2.15.5 and 2.13.1 --- src/reference/sectionB_elements.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 7f8d5997..016f7f5a 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -430,7 +430,7 @@ An :code:`encapsulation` element information item (referred to in this specifica .. container:: issue-encapsulation-component-ref - 1. An :code:`encapsulation` element MAY contain one or more :code:`component_ref` elements. + 1. An :code:`encapsulation` element MAY contain one or more :code:`component_ref` element children. .. marker_encapsulation_end .. marker_component_ref_start @@ -493,7 +493,7 @@ A :code:`connection` element information item (referred to in this specification .. container:: issue-connection-map-variables - 5. A :code:`connection` element MAY contain one or more :code:`map_variables` elements. + 5. A :code:`connection` element MAY contain one or more :code:`map_variables` element children. .. marker_connection_end .. marker_map_variables_start From 947c651260f6f59b1a09a3d790ce6c2ba0a47e00 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 14:48:50 +1200 Subject: [PATCH 476/604] Replacing element info item with element, attribute inforamtion item with attribute --- src/reference/sectionC_interpretation.inc | 30 +++++++++++------------ 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 5ff2490b..0fcb3821 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -10,8 +10,8 @@ Interpretation of ``import`` elements #. Each :code:`import` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset which is referenced by the :code:`href` attribute (the imported infoset). This imported infoset instance SHALL provide the context in which the child of an import element (a :code:`units` or :code:`component` element) is defined and interpreted. -#. The imported infoset SHALL be considered such that items relevant to the imported infoset (:code:`unit` children of imported :code:`units` elements or the :ref:`encapsulated set` of imported :code:`component` elements) are themselves available to that :code:`import` element child. - It is noted, for the avoidance of doubt, that the importing infoset SHALL NOT have access to such implicitly imported items, but only to explicitly specified :code:`import` element children. +#. The imported infoset SHALL be considered such that elements relevant to the imported infoset (:code:`unit` children of imported :code:`units` elements or the :ref:`encapsulated set` of imported :code:`component` elements) are themselves available to that :code:`import` element child. + It is noted, for the avoidance of doubt, that the importing infoset SHALL NOT have access to such implicitly imported elements, but only to explicitly specified :code:`import` element children. See :ref:`Units reference` and :ref:`Component reference` for the specifics of importing units and components. @@ -23,7 +23,7 @@ See :ref:`Units reference` and :ref:`Component reference< References to ``units`` elements -------------------------------- -The term "units reference" refers to the value of a :code:`units_ref` attribute in :code:`import` items for :code:`units`, and the values of :code:`units` attributes used in :code:`unit` and :code:`variable` items. +The term "units reference" refers to the value of a :code:`units_ref` attribute in :code:`import` elements for :code:`units`, and the values of :code:`units` attributes used in :code:`unit` and :code:`variable` elements. #. A units reference SHALL be a CellML identifier and SHALL be interpreted dependent on the context of the :ref:`CellML model` in which it occurs, according to the units referencing rules defined later in this section. @@ -132,17 +132,17 @@ Interpretation of ``units`` elements :code:`unit` element children, according to the following rules: 1. The prefix term is a conceptual property of :code:`unit` elements. - If the :code:`unit` element does not have a :code:`prefix` attribute information item, the prefix term SHALL have value 0. - If the :code:`prefix` attribute information item has a value which is an integer string, then the value of the prefix term SHALL be the numerical value of that string. - Otherwise, the :code:`prefix` attribute information item MUST have a value taken from the "Name" column of the :ref:`Prefix values table`, and the prefix term SHALL have the value taken from the "Value" column of the same row. + If the :code:`unit` element does not have a :code:`prefix` attribute, the prefix term SHALL have value 0. + If the :code:`prefix` attribute has a value which is an integer string, then the value of the prefix term SHALL be the numerical value of that string. + Otherwise, the :code:`prefix` attribute MUST have a value taken from the "Name" column of the :ref:`Prefix values table`, and the prefix term SHALL have the value taken from the "Value" column of the same row. 2. The exponent term is a conceptual property of :code:`unit` elements. - If a :code:`unit` element has no :code:`exponent` attribute information item, the exponent term SHALL have value 1.0. - Otherwise, the value of the :code:`exponent` attribute information item MUST be a real number string, and the value of the exponent term SHALL be the numerical value of that string. + If a :code:`unit` element has no :code:`exponent` attribute, the exponent term SHALL have value 1.0. + Otherwise, the value of the :code:`exponent` attribute MUST be a real number string, and the value of the exponent term SHALL be the numerical value of that string. 3. The multiplier term is a conceptual property of :code:`unit` elements. - If a :code:`unit` element has no :code:`multiplier` attribute information item, the multiplier term SHALL have value 1.0. - Otherwise, the value of the :code:`multiplier` attribute information item MUST be a real number string, and the value of the multiplier term SHALL be the numerical value of that string. + If a :code:`unit` element has no :code:`multiplier` attribute, the multiplier term SHALL have value 1.0. + Otherwise, the value of the :code:`multiplier` attribute MUST be a real number string, and the value of the multiplier term SHALL be the numerical value of that string. 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element units, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be @@ -223,7 +223,7 @@ Interpretation of ``units`` elements References to ``component`` elements ------------------------------------ -The term "component reference" refers to the value of a :code:`component_ref` attribute used in an :code:`import` item for :code:`component` items, to :code:`component_ref` elements which occur as children of :code:`encapsulation` items, and to the value of :code:`component_1` and :code:`component_2` attributes used in :code:`connection` items. +The term "component reference" refers to the value of a :code:`component_ref` attribute used in an :code:`import` element for :code:`component` elements, to :code:`component_ref` elements which occur as children of :code:`encapsulation` elements, and to the value of :code:`component_1` and :code:`component_2` attributes used in :code:`connection` elements. #. A component reference SHALL be the name of a component, and SHALL be interpreted based on the context within the :ref:`CellML model` in which it occurs. @@ -292,9 +292,9 @@ Interpretation of ``math`` elements #. All :code:`component` elements which are descendants in the encapsulation digraph (see :ref:`Interpretation of encapsulation `) of a pertinent :code:`component` element. -#. Every MathML element in the :ref:`CellML model` which appears as a direct child information item of a MathML :code:`math` element information item, which in turn appears as a child information item of a pertinent :code:`component` element, SHALL be treated, in terms of the semantics of the mathematical model, as a statement which holds true unconditionally. +#. Every MathML element in the :ref:`CellML model` which appears as a direct child of a MathML :code:`math` element, which in turn appears as a child of a pertinent :code:`component` element, SHALL be treated, in terms of the semantics of the mathematical model, as a statement which holds true unconditionally. -#. Units referenced by a :code:`units` attribute information item SHALL NOT affect the mathematical interpretation of the :ref:`CellML model`. +#. Units referenced by a :code:`units` attribute SHALL NOT affect the mathematical interpretation of the :ref:`CellML model`. .. marker_interpretation_of_mathematics_end .. marker_interpretation_of_encapsulation_start @@ -359,7 +359,7 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_3 -#. For a given variable, the available interfaces SHALL be determined by the :code:`interface` attribute information item on the corresponding :code:`variable` element as follows. +#. For a given variable, the available interfaces SHALL be determined by the :code:`interface` attribute on the corresponding :code:`variable` element as follows. #. A value of :code:`public` specifies that the variable has a public interface. @@ -369,7 +369,7 @@ Interpretation of ``map_variables`` elements #. A value of :code:`none` specifies that the variable has no interface. - #. If the :code:`interface` attribute information item is absent, then the variable has no interface. + #. If the :code:`interface` attribute is absent, then the variable has no interface. #. The applicable interfaces for variables *A* and *B* in components *AA* and *BB* respectively SHALL be defined as follows. From b20983d67e232b4f58297c446471ab246f575139 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 15:05:28 +1200 Subject: [PATCH 477/604] updated links in normative only preamble --- src/conf.py | 3 +-- src/normative_only_index.rst | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/conf.py b/src/conf.py index 0338ed9f..a2de5994 100644 --- a/src/conf.py +++ b/src/conf.py @@ -108,8 +108,7 @@ def define_excluded_patterns(): 'calvin_and_hobbes': ('https://www.gocomics.com/calvinandhobbes/%s', ''), 'cellml1to2': ('https://github.com/hsorby/cellml1to2%s', ''), 'cellml2namespace': ('http://www.cellml.org/cellml/2.0%s', None), - 'cellml2spec_display': ('https://cellml.org/specifications/cellml_2.0%s', None), - 'cellml2spec_pdf_display': ('https://www.cellml.org/specifications/cellml_2.0/Normative_CellML_2.0_Specifcation_PDF%s', None), + 'cellml2spec_display': ('https://www.cellml.org/specifications/cellml_2.0%s', None), 'cellsolver': ('https://github.com/hsorby/cellsolver%s', ''), 'cmake': ('https://cmake.org/%s', ''), 'doxygen': ('http://www.doxygen.nl/%s', ''), diff --git a/src/normative_only_index.rst b/src/normative_only_index.rst index a03d82c3..67b6a0c9 100644 --- a/src/normative_only_index.rst +++ b/src/normative_only_index.rst @@ -13,7 +13,7 @@ It is intended primarily for the developers of software tools which directly con Users of CellML models may prefer the informative version of the CellML Specification, which is available at :cellml2spec_display:`/`. -A PDF version of the normative specification is available at :cellml2spec_pdf_display:`/`. +A PDF version of the normative specification is available at :cellml2spec_display:`/specification.pdf`. .. include:: reference/acknowledgements.inc From 96b0d51337ea4fd528b85b2bc0d45ef2a6367dbf Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 15:08:47 +1200 Subject: [PATCH 478/604] (testing) --- src/conf.py | 2 ++ src/reference/sectionD_references.inc | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/conf.py b/src/conf.py index a2de5994..32e1de60 100644 --- a/src/conf.py +++ b/src/conf.py @@ -155,6 +155,8 @@ def define_excluded_patterns(): 'xml_infoset2004': ('http://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816/%s', ''), 'xml_namespace_display': ('https://www.w3.org/TR/xml-names11%s', None), + + 'mypage': ('https://example.com%s', 'mypage '), } # Making a passive role with which to decorate hardcoded references to sections. These diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index 20da060f..261def5b 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -13,3 +13,5 @@ Unicode 13.0.0 :unicode13_display:`/` XML Information Set :xml_infoset_display:`/` XML Linking Language (XLink) Version 1.1 :xlink_display:`/` + +mypage testing :mypage:`my label ` From d40bc81a43b6352284953fde1c5f0ae02c7aaf5d Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 15:41:45 +1200 Subject: [PATCH 479/604] tweaks --- src/conf.py | 4 ++-- src/reference/sectionD_references.inc | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/conf.py b/src/conf.py index 32e1de60..6cea454a 100644 --- a/src/conf.py +++ b/src/conf.py @@ -153,10 +153,10 @@ def define_excluded_patterns(): 'xml_infoset_display': ('https://www.w3.org/TR/xml-infoset%s', None), 'xml_infoset2004': ('http://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), - 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816/%s', ''), + + 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816/%s', ''), 'xml_namespace_display': ('https://www.w3.org/TR/xml-names11%s', None), - 'mypage': ('https://example.com%s', 'mypage '), } # Making a passive role with which to decorate hardcoded references to sections. These diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index 261def5b..20da060f 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -13,5 +13,3 @@ Unicode 13.0.0 :unicode13_display:`/` XML Information Set :xml_infoset_display:`/` XML Linking Language (XLink) Version 1.1 :xlink_display:`/` - -mypage testing :mypage:`my label ` From b433e851145e8a5fda6ddf788daa12a57039ca81 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 15:46:10 +1200 Subject: [PATCH 480/604] xml is dated namespace --- src/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index 6cea454a..d4bbbe06 100644 --- a/src/conf.py +++ b/src/conf.py @@ -154,8 +154,8 @@ def define_excluded_patterns(): 'xml_infoset_display': ('https://www.w3.org/TR/xml-infoset%s', None), 'xml_infoset2004': ('http://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), - 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816/%s', ''), - 'xml_namespace_display': ('https://www.w3.org/TR/xml-names11%s', None), + 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816%s', ''), + 'xml_namespace_1_1_display': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816%s', None), } From 036cef347a3243588d922ca07873a5e2c9c3c9d0 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 16:36:48 +1200 Subject: [PATCH 481/604] fixed xml_infoset role --- src/conf.py | 3 ++- src/reference/sectionA_definitions.inc | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index d4bbbe06..59058255 100644 --- a/src/conf.py +++ b/src/conf.py @@ -151,8 +151,9 @@ def define_excluded_patterns(): 'xml_1_1': ('http://www.w3.org/TR/xml11%s', ''), 'xml_1_1_display': ('http://www.w3.org/TR/xml11%s', None), + # These should be identical: one for links, one for full URL display + 'xml_infoset': ('http://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), 'xml_infoset_display': ('https://www.w3.org/TR/xml-infoset%s', None), - 'xml_infoset2004': ('http://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816%s', ''), 'xml_namespace_1_1_display': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816%s', None), diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 262bdb5d..c20c46c7 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -9,7 +9,7 @@ Terminology The keywords "MUST", "MUST NOT", "SHALL", "SHALL NOT", and "MAY" in this document are to be interpreted as described in :rfc2119:`RFC 2119 <>`. -The key phrase "information item", as well as any specific type of information item such as an "element information item", are to be interpreted as described in :xml_infoset2004:`XML Information Set <>`. +The key phrase "information item", as well as any specific type of information item such as an "element information item", are to be interpreted as described in :xml_infoset:`XML Information Set <>`. .. _specA_cellml_infoset: From ceb7a304551d50b346e4df047a9e1ea519dc0213 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 16:39:02 +1200 Subject: [PATCH 482/604] namespace link --- src/reference/sectionD_references.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index 20da060f..fd19a4d9 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -4,7 +4,7 @@ Extensible Markup Language (XML) 1.1 :xml_1_1_display:`/` Mathematical Markup Language (MathML) Version 2.0 :mathml2_display:`/` -Namespaces in XML 1.1 :xml_namespace_display:`/` +Namespaces in XML 1.1 :xml_namespace_1_1_display:`/` RFC 2119: Key words for use in RFCs to Indicate Requirement Levels :rfc2119_display:`#` From fefd1b29ca9cc307a0e29a98893a023db6160be8 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 16:56:33 +1200 Subject: [PATCH 483/604] updated xml_infoset_display link in chapter 1 --- src/reference/sectionA_definitions.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index c20c46c7..67f2aa6b 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -105,7 +105,7 @@ CellML and XML Specific information items ~~~~~~~~~~~~~~~~~~~~~~~~~~ -#. For the purposes of this specification, a specific information item is one of the following (see :xml_infoset:`/` for definitions): +#. For the purposes of this specification, a specific information item is one of the following (see :xml_infoset_display:`/` for definitions): #. A document information item; @@ -134,7 +134,7 @@ Specific information items Non-specific information items ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -1. For the purposes of this specification, a non-specific information item is one of the following (see :xml_infoset:`/` for definitions): +1. For the purposes of this specification, a non-specific information item is one of the following (see :xml_infoset_display:`/` for definitions): #. A comment information item; From 5dd310040a86ecf4929e77bdd4b60c5cf7ef54f4 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Thu, 16 Apr 2020 18:55:25 +1200 Subject: [PATCH 484/604] Update sectionA_definitions.inc change any or none to zero or more --- src/reference/sectionA_definitions.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 67f2aa6b..caace57b 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -146,7 +146,7 @@ Non-specific information items .. marker_cellml_information_sets_3 -3. Two :ref:`CellML infosets` SHALL be deemed semantically equivalent if one can be transformed into the other by making any or none of the following changes: +3. Two :ref:`CellML infosets` SHALL be deemed semantically equivalent if one can be transformed into the other by making zero or more of the following changes: #. Adding, removing, and/or modifying comment information items. From d71803a40d756d7899aa9572b19e05c3b076b327 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 19:23:40 +1200 Subject: [PATCH 485/604] remove hash from rfc link --- src/conf.py | 2 +- src/reference/sectionD_references.inc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index 59058255..50bb02ef 100644 --- a/src/conf.py +++ b/src/conf.py @@ -134,7 +134,7 @@ def define_excluded_patterns(): # These should be identical: one for links, one for full URL display 'rfc2119': ('http://www.ietf.org/rfc/rfc2119.txt%s', ''), - 'rfc2119_display': ('http://www.ietf.org/rfc/rfc2119.txt%s', None), + 'rfc2119_display': ('http://www.ietf.org/rfc/%s', None), 'sphinx': ('http://sphinx-doc.org/%s', ''), 'swig': ('http://www.swig.org/%s', ''), diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index fd19a4d9..c824b5b0 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -6,7 +6,7 @@ Mathematical Markup Language (MathML) Version 2.0 :mathml2_display:`/` Namespaces in XML 1.1 :xml_namespace_1_1_display:`/` -RFC 2119: Key words for use in RFCs to Indicate Requirement Levels :rfc2119_display:`#` +RFC 2119: Key words for use in RFCs to Indicate Requirement Levels :rfc2119_display:`rfc2119.txt` Unicode 13.0.0 :unicode13_display:`/` From 46a01a472b14bb329b3257fdb962fe5216f7b577 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 08:39:29 +0100 Subject: [PATCH 486/604] Import wording change for 212. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index fc5f52fb..37f202fe 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -9,7 +9,7 @@ Interpretation of ``import`` elements #. Each :code:`import units` or :code:`import component` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset (the imported infoset) that is specified by the parent :code:`import` element's :code:`href` attribute. -#. A :ref:`units reference` occurring within an imported component or within an imported units definition, SHALL be resolved with respect to the imported infoset. +#. A :ref:`units reference` occurring within an imported element, SHALL be resolved with respect to the imported infoset. #. When determining the equivalent variable set of a variable in an imported component: From 002ba44d660e4ba619033f8c4b3bc250c35606ed Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 19:41:40 +1200 Subject: [PATCH 487/604] Section 1 internal links --- src/reference/sectionA_definitions.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index caace57b..80b55421 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -98,7 +98,7 @@ CellML information sets CellML and XML ~~~~~~~~~~~~~~ -#. Every CellML infoset SHALL be represented in an XML information set which conforms with the well-formedness requirements of :xml_1_1:`XML 1.1 <>`. +#. Every :ref:`CellML infoset` SHALL be represented in an XML information set which conforms with the well-formedness requirements of :xml_1_1:`XML 1.1 <>`. #. In this document, the remaining provisions relating to CellML infosets SHALL be interpreted as additional constraints on the XML information set represented by a CellML infoset. From e894e43675275a8eaa5991c986a92869d1fc8563 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 08:49:45 +0100 Subject: [PATCH 488/604] Added 'other' back in. --- src/reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 9782404a..d0982af9 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -118,7 +118,7 @@ An :code:`import component` element information item (referred to in this specif 1. Every :code:`import component` element MUST contain a :code:`name` attribute. The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any :code:`component` or :code:`import component` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`component` or :code:`import component` element in the :ref:`CellML infoset`. .. container:: issue-import-component-ref From e6eaf998375c4d66c770ea1b79e4d6816922e87a Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 08:52:14 +0100 Subject: [PATCH 489/604] Consistent spacing between MUST/SHALL etc. --- src/reference/sectionB_elements.inc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index d0982af9..34700b08 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -90,6 +90,7 @@ An :code:`import units` element information item (referred to in this specificat .. container:: issue-import-units-name 1. Every :code:`import units` element MUST contain a :code:`name` attribute. + The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`units` or :code:`import units` element in the :ref:`CellML infoset`. @@ -99,6 +100,7 @@ An :code:`import units` element information item (referred to in this specificat .. container:: issue-import-units-ref 2. Every :code:`import units` element MUST contain a :code:`units_ref` attribute. + The value of the :code:`units_ref` attribute MUST be a :ref:`CellML identifier`. The value of the :code:`units_ref` attribute MUST match the value of the :code:`name` attribute on a :code:`units` or :code:`import units` element in the imported :ref:`CellML infoset`. @@ -116,6 +118,7 @@ An :code:`import component` element information item (referred to in this specif .. container:: issue-import-component-name 1. Every :code:`import component` element MUST contain a :code:`name` attribute. + The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`component` or :code:`import component` element in the :ref:`CellML infoset`. @@ -123,6 +126,7 @@ An :code:`import component` element information item (referred to in this specif .. container:: issue-import-component-ref 2. Every :code:`import component` element MUST contain a :code:`component_ref` attribute. + The value of the :code:`component_ref` attribute MUST be a :ref:`CellML identifier`. The value of the :code:`component_ref` attribute MUST match the value of the :code:`name` attribute on a :code:`component` or :code:`import component` element in the imported :ref:`CellML infoset`. @@ -141,6 +145,7 @@ A :code:`units` element information item (referred to in this specification as a .. container:: issue-units-name 1. Every :code:`units` element MUST contain a :code:`name` attribute. + The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`units` element or :code:`import units` element in the :ref:`CellML infoset`. @@ -166,6 +171,7 @@ A :code:`unit` element information item (referred to in this specification as a .. container:: issue-unit-units-ref 1. Every :code:`unit` element MUST contain a :code:`units` attribute. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in the section :ref:`Units references`. .. container:: issue-unit-digraph @@ -213,6 +219,7 @@ A :code:`component` element information item (referred to in this specification .. container:: issue-component-name 1. Every :code:`component` element MUST contain a :code:`name` attribute. + The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute on any other :code:`component` element or :code:`import component` element in the :ref:`CellML infoset`. From 5de00476b7b69737bd5109dc5e00874038cfc477 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 08:52:56 +0100 Subject: [PATCH 490/604] Consistent spacing between MUST/SHALL etc. --- src/reference/sectionB_elements.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 34700b08..da86cde3 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -16,6 +16,7 @@ The ``model`` element .. container:: issue-model-name 1. Every :code:`model` element MUST contain a :code:`name` attribute. + The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. .. marker_model_1 From 576eaa6227d7d6822f464409a0af565c6ba0378f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 19:57:02 +1200 Subject: [PATCH 491/604] WIP section 2 --- src/reference/sectionB_elements.inc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 072a95ec..5232cdca 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -101,7 +101,7 @@ An :code:`import units` element information item (referred to in this specificat 2. Every :code:`import units` element MUST contain a :code:`units_ref` attribute. The value of the :code:`units_ref` attribute MUST be a :ref:`valid CellML identifier`. - The value of the :code:`units_ref` attribute MUST match the value of the :code:`name` attribute on a :code:`units` or :code:`import units` element in the imported CellML infoset. + The value of the :code:`units_ref` attribute MUST match the value of the :code:`name` attribute on a :code:`units` or :code:`import units` element in the imported :ref:`CellML infoset`. .. marker_import_units_end .. marker_import_component_start @@ -189,11 +189,11 @@ A :code:`unit` element information item (referred to in this specification as a .. container:: issue-unit-multiplier - 2. The :code:`multiplier` attribute. If present, the value of the attribute MUST be a real number string. + 2. The :code:`multiplier` attribute. If present, the value of the attribute MUST be a :ref:`real number string`. .. container:: issue-unit-exponent - 3. The :code:`exponent` attribute. If present, the value of the attribute MUST be a real number string. + 3. The :code:`exponent` attribute. If present, the value of the attribute MUST be a :ref:`real number string`. .. marker_unit_end .. marker_component_start @@ -278,19 +278,19 @@ A :code:`reset` element information item (referred to in this specification as a 1. The :code:`variable` attribute. The value of the :code:`variable` attribute MUST be a :ref:`valid CellML identifier`. - The value of the :code:`variable` attribute MUST be a variable reference to a variable defined within the parent :code:`component` element of the :code:`reset` element. + The value of the :code:`variable` attribute MUST be a :ref:`variable reference` to a variable defined within the parent :code:`component` element of the :code:`reset` element. .. container:: issue-reset-test-variable-reference 2. The :code:`test_variable` attribute. The value of the :code:`test_variable` attribute MUST be a :ref:`valid CellML identifier`. - The value of the :code:`test_variable` attribute MUST be a variable reference to a variable defined within the parent :code:`component` element of the :code:`reset` element. + The value of the :code:`test_variable` attribute MUST be a :ref:`variable reference` to a variable defined within the parent :code:`component` element of the :code:`reset` element. .. container:: issue-reset-order 3. The :code:`order` attribute. - The value of the :code:`order` attribute MUST be an integer string. + The value of the :code:`order` attribute MUST be an :ref:`integer string`. The value of the :code:`order` attribute MUST be unique for all :code:`reset` elements with :code:`variable` attributes that reference variables in the same equivalent variable set (see :ref:`Interpretation of map_variables`). From 0c18d9b7a679b6b8c96c15eb6a94da8705d86d0b Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 09:01:30 +0100 Subject: [PATCH 492/604] Consistently using 'identical' when comparing identifiers. Closes #237. --- src/reference/sectionB_elements.inc | 6 +++--- src/reference/sectionC_interpretation.inc | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index da86cde3..5b6d5b96 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -153,7 +153,7 @@ A :code:`units` element information item (referred to in this specification as a .. container:: issue-units-standard - 2. The value of the :code:`name` attribute MUST NOT be equal to the name of any of the units listed in the :ref:`Built-in units` table. + 2. The value of the :code:`name` attribute MUST NOT be identical to the name of any of the units listed in the :ref:`Built-in units` table. .. container:: issue-units-child @@ -179,7 +179,7 @@ A :code:`unit` element information item (referred to in this specification as a 1. For the purpose of the constraint in the next paragraph, the :code:`units` element inclusion digraph SHALL be defined as a conceptual digraph which SHALL contain one node for every :code:`units` element in the :ref:`CellML model`. - The :code:`units` element inclusion digraph SHALL contain an arc from :code:`units` element *A* to :code:`units` element *B* if and only if :code:`units` element *A* contains a :code:`unit` element with a :code:`units` attribute value that is equal to the :code:`name` attribute value of :code:`units` element *B*. + The :code:`units` element inclusion digraph SHALL contain an arc from :code:`units` element *A* to :code:`units` element *B* if and only if :code:`units` element *A* contains a :code:`unit` element with a :code:`units` attribute value that is identical to the :code:`name` attribute value of :code:`units` element *B*. .. container:: issue-unit-circular-ref @@ -486,7 +486,7 @@ A :code:`connection` element information item (referred to in this specification .. container:: issue-todo - 3. The value of the :code:`component_1` attribute MUST NOT be equal to the value of the :code:`component_2` attribute. + 3. The value of the :code:`component_1` attribute MUST NOT be identical to the value of the :code:`component_2` attribute. .. marker_connection_3 diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index e843a19d..7843c762 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -35,11 +35,11 @@ A "units reference" is an attribute value that specifies the physical units a va #. The units identified by a units reference SHALL be determined as follows: - #. If the units reference is equal to a value in the "Name" column of the :ref:`Built-in units table`, then it SHALL refer to the corresponding built-in units from the same of the table. + #. If the units reference is identical to a value in the "Name" column of the :ref:`Built-in units table`, then it SHALL refer to the corresponding built-in units from the same of the table. - #. If the units reference is equal to the value of the :code:`name` attribute of a :code:`units` element in the same infoset, then it SHALL refer to the units specified by that element. + #. If the units reference is identical to the value of the :code:`name` attribute of a :code:`units` element in the same infoset, then it SHALL refer to the units specified by that element. - #. If the units reference is equal to the value of the :code:`name` attribute of an :code:`import units` element in the same infoset, then it SHALL refer to units from the infoset defined by the :code:`import units` element (see :ref:`Interpretation of ``import`` elements``). + #. If the units reference is identical to the value of the :code:`name` attribute of an :code:`import units` element in the same infoset, then it SHALL refer to units from the infoset defined by the :code:`import units` element (see :ref:`Interpretation of ``import`` elements``). The units specified SHALL then be determined by treating the value of the :code:`units_ref` attribute on the :code:`import units` element as a units reference within the imported infoset. If necessary, this rule SHALL be applied recursively. @@ -238,9 +238,9 @@ A "component reference" is an attribute value that specifies a CellML component. #. The component identifier by a component reference SHALL be determined as follows: - #. If the component reference is equal to the value of the :code:`name` attribute of a :code:`component` element in the same infoset, then it SHALL refer to the units specified by that element. + #. If the component reference is identical to the value of the :code:`name` attribute of a :code:`component` element in the same infoset, then it SHALL refer to the units specified by that element. - #. If the component reference is equal to the value of the :code:`name` attribute of an :code:`import component` element in the same infoset, then it SHALL refer to a component from the infoset defined by the :code:`import component` element (see :ref:`Interpretation of ``import`` elements``). + #. If the component reference is identical to the value of the :code:`name` attribute of an :code:`import component` element in the same infoset, then it SHALL refer to a component from the infoset defined by the :code:`import component` element (see :ref:`Interpretation of ``import`` elements``). The component specified SHALL then be determined by treating the value of the :code:`component_ref` attribute on the :code:`import component` element as a component reference within the imported infoset. If necessary, this rule SHALL be applied recursively. From b1a81cf5e90598afc658f03523aab154a7278509 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Thu, 16 Apr 2020 21:16:41 +1200 Subject: [PATCH 493/604] section 3 internal refs --- src/reference/sectionC_interpretation.inc | 55 +++++++++++++---------- 1 file changed, 32 insertions(+), 23 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index e843a19d..d8f69c47 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -11,15 +11,15 @@ Interpretation of ``import`` elements #. A :ref:`units reference` occurring within an imported element, SHALL be resolved with respect to the imported infoset. -#. When determining the equivalent variable set of a variable in an imported component: +#. When determining the :ref:`equivalent variable set` of a variable in an imported component: #. connections defined in the importing infoset shall be handled as described in :ref:`Interpretation of map_variables`. #. connections defined in the imported infoset shall be handled as follows: - #. connections to components in the encapsulated set of the imported component SHALL be maintained, and this rule SHALL be applied recursively; + #. connections to components in the :ref:`encapsulated set` of the imported component SHALL be maintained, and this rule SHALL be applied recursively; - #. connections to components in the sibling set, or to the encapsulation parent of the imported component SHALL NOT be maintained. + #. connections to components in the :ref:`sibling set`, or to the :ref:`encapsulation parent` of the imported component SHALL NOT be maintained. .. marker_interpretation_of_imports_end .. marker_units_reference_start @@ -39,7 +39,7 @@ A "units reference" is an attribute value that specifies the physical units a va #. If the units reference is equal to the value of the :code:`name` attribute of a :code:`units` element in the same infoset, then it SHALL refer to the units specified by that element. - #. If the units reference is equal to the value of the :code:`name` attribute of an :code:`import units` element in the same infoset, then it SHALL refer to units from the infoset defined by the :code:`import units` element (see :ref:`Interpretation of ``import`` elements``). + #. If the units reference is equal to the value of the :code:`name` attribute of an :code:`import units` element in the same infoset, then it SHALL refer to units from the infoset defined by the :code:`import units` element (see :ref:`Interpretation of import elements`). The units specified SHALL then be determined by treating the value of the :code:`units_ref` attribute on the :code:`import units` element as a units reference within the imported infoset. If necessary, this rule SHALL be applied recursively. @@ -143,16 +143,16 @@ Interpretation of ``units`` elements 1. The prefix term is a conceptual property of :code:`unit` elements. If the :code:`unit` element does not have a :code:`prefix` attribute, the prefix term SHALL have value 0. - If the :code:`prefix` attribute has a value which is an integer string, then the value of the prefix term SHALL be the numerical value of that string. + If the :code:`prefix` attribute has a value which is an :ref:`integer string`, then the value of the prefix term SHALL be the numerical value of that string. Otherwise, the :code:`prefix` attribute MUST have a value taken from the "Name" column of the :ref:`Prefix values table`, and the prefix term SHALL have the value taken from the "Value" column of the same row. 2. The exponent term is a conceptual property of :code:`unit` elements. If a :code:`unit` element has no :code:`exponent` attribute, the exponent term SHALL have value 1.0. - Otherwise, the value of the :code:`exponent` attribute MUST be a real number string, and the value of the exponent term SHALL be the numerical value of that string. + Otherwise, the value of the :code:`exponent` attribute MUST be a :ref:`real number string`, and the value of the exponent term SHALL be the numerical value of that string. 3. The multiplier term is a conceptual property of :code:`unit` elements. If a :code:`unit` element has no :code:`multiplier` attribute, the multiplier term SHALL have value 1.0. - Otherwise, the value of the :code:`multiplier` attribute MUST be a real number string, and the value of the multiplier term SHALL be the numerical value of that string. + Otherwise, the value of the :code:`multiplier` attribute MUST be a :ref:`real number string`, and the value of the multiplier term SHALL be the numerical value of that string. 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element units, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be @@ -165,6 +165,8 @@ Interpretation of ``units`` elements .. marker_interpretation_of_units_1 +.. specC_irreducible_units: + 2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements), and 2) built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units` table) referenced by variables or other units in the model. .. marker_interpretation_of_units_2 @@ -180,12 +182,12 @@ Interpretation of ``units`` elements 1. Where the :ref:`units reference` of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. - 2. Where the units reference of the :code:`unit` child element is to built-in units other than an irreducible unit, then the tuples SHALL be derived directly from the :ref:`Built-in units` table. + 2. Where the units reference of the :code:`unit` child element is to built-in units other than an :ref:`irreducible unit`, then the tuples SHALL be derived directly from the :ref:`Built-in units` table. Specifically, the set of tuples SHALL consist of the tuples given in the "Unit reduction tuple set" column of the row for which the value in the "Name" column matches the name of the units reference. 3. Where the units reference of the :code:`unit` child element is to a unit which is neither built-in, nor an irreducible unit, the set of tuples SHALL be defined recursively as the set of tuples for the :code:`units` element so referenced. - 4. The exponents of each tuple in the set for the current :code:`unit` element, as derived by following rules 3.3.3.2.1, 3.3.3.2.2 or 3.3.3.2.3 above, SHALL be multiplied by the exponent term of the current, referencing, :code:`unit` element. + 4. The exponents of each tuple in the set for the current :code:`unit` element, as derived by following rules :hardcodedref:`3.3.3.2.1, 3.3.3.2.2 or 3.3.3.2.3` above, SHALL be multiplied by the exponent term of the current, referencing, :code:`unit` element. 3. Tuples which have the name element of "dimensionless" SHALL be removed from the set of tuples. Note that this can result in the set of tuples being empty. @@ -240,7 +242,7 @@ A "component reference" is an attribute value that specifies a CellML component. #. If the component reference is equal to the value of the :code:`name` attribute of a :code:`component` element in the same infoset, then it SHALL refer to the units specified by that element. - #. If the component reference is equal to the value of the :code:`name` attribute of an :code:`import component` element in the same infoset, then it SHALL refer to a component from the infoset defined by the :code:`import component` element (see :ref:`Interpretation of ``import`` elements``). + #. If the component reference is equal to the value of the :code:`name` attribute of an :code:`import component` element in the same infoset, then it SHALL refer to a component from the infoset defined by the :code:`import component` element (see :ref:`Interpretation of import elements`). The component specified SHALL then be determined by treating the value of the :code:`component_ref` attribute on the :code:`import component` element as a component reference within the imported infoset. If necessary, this rule SHALL be applied recursively. @@ -277,13 +279,13 @@ A "variable reference" is an attribute value that specifies a CellML variable. Interpretation of ``initial_value`` attributes ---------------------------------------------- -#. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a real number string, or a :ref:`variable reference`. +#. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a :ref:`real number string`, or a :ref:`variable reference`. #. The conditions when initial values hold are (by design) not defined in a :ref:`CellML model` document. -#. Where the :code:`initial_value` attribute has a real number value, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to that real number value, under the conditions when the initial value holds. +#. Where the :code:`initial_value` attribute has a :ref:`real number value`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to that real number value, under the conditions when the initial value holds. -#. Where the :code:`initial_value` attribute is a variable reference, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to the referenced variable under the conditions when the initial value holds. +#. Where the :code:`initial_value` attribute is a :ref:`variable reference`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to the referenced variable under the conditions when the initial value holds. .. marker_interpretation_of_initial_values_end .. marker_effect_of_units_on_variables_start @@ -309,13 +311,13 @@ Interpretation of ``math`` elements #. All :code:`component` elements in the top-level :ref:`CellML infoset` for the :ref:`CellML model`; - #. All :code:`component` elements referenced by :code:`import component` elements (see :ref:`The import component element `) in the top-level :ref:`CellML infoset`; and + #. All :code:`component` elements referenced by :code:`import component` elements (see :ref:`The import component element `) in the top-level CellML infoset; and #. All :code:`component` elements which are descendants in the encapsulation digraph (see :ref:`Interpretation of encapsulation `) of a pertinent :code:`component` element. -#. Every MathML element in the :ref:`CellML model` which appears as a direct child of a MathML :code:`math` element, which in turn appears as a child of a pertinent :code:`component` element, SHALL be treated, in terms of the semantics of the mathematical model, as a statement which holds true unconditionally. +#. Every MathML element in the CellML model which appears as a direct child of a MathML :code:`math` element, which in turn appears as a child of a pertinent :code:`component` element, SHALL be treated, in terms of the semantics of the mathematical model, as a statement which holds true unconditionally. -#. Units referenced by a :code:`units` attribute SHALL NOT affect the mathematical interpretation of the :ref:`CellML model`. +#. Units referenced by a :code:`units` attribute SHALL NOT affect the mathematical interpretation of the CellML model. .. marker_interpretation_of_mathematics_end .. marker_interpretation_of_encapsulation_start @@ -336,11 +338,17 @@ Interpretation of ``encapsulation`` elements 3. The encapsulated set for a component *A* SHALL be the set of all components *B* such that there exists an arc in the encapsulation digraph from the node corresponding to *A* to the node corresponding to *B*. +.. _specC_encapsulation_parent: + 4. The encapsulation parent for a component *A* SHALL be the component corresponding to the node which is the parent node in the encapsulation digraph of the node corresponding to *A*. A component SHALL NOT appear as child of more than one encapsulation parent. +.. _specC_sibling_set: + 5. The sibling set for a component *A* SHALL be the set of all components which have the same encapsulation parent as *A*, or in the case that *A* has no encapsulation parent, SHALL be the set of all components which do not have an encapsulation parent. +.. _specC_hidden_set: + 6. The hidden set for a component *A* SHALL be the set of all components *B* where component *B* is not in the encapsulated set for component *A*, and component *B* is not the encapsulation parent of component *A*, and component *B* is not in the sibling set for component *A*. .. marker_interpretation_of_encapsulation_2 @@ -380,7 +388,7 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_3 -#. For a given variable, the available interfaces SHALL be determined by the :code:`interface` attribute on the corresponding :code:`variable` element as follows. +6. For a given variable, the available interfaces SHALL be determined by the :code:`interface` attribute on the corresponding :code:`variable` element as follows. #. A value of :code:`public` specifies that the variable has a public interface. @@ -392,17 +400,17 @@ Interpretation of ``map_variables`` elements #. If the :code:`interface` attribute is absent, then the variable has no interface. -#. The applicable interfaces for variables *A* and *B* in components *AA* and *BB* respectively SHALL be defined as follows. +7. The applicable interfaces for variables *A* and *B* in components *AA* and *BB* respectively SHALL be defined as follows. - #. When component *AA* is in the sibling set of component *BB* (and vice versa), the applicable interface for both variables *A* and *B* SHALL be the public interface. + #. When component *AA* is in the :ref:`sibling set` of component *BB* (and vice versa), the applicable interface for both variables *A* and *B* SHALL be the public interface. - #. When component *AA* is in the encapsulated set of component *BB* the applicable interface for variable *A* SHALL be the public interface, and the applicable interface for variable *B* SHALL be the private interface. + #. When component *AA* is in the :ref:`encapsulated set` of component *BB* the applicable interface for variable *A* SHALL be the public interface, and the applicable interface for variable *B* SHALL be the private interface. - #. When component *BB* is in the encapsulated set of component *AA* the applicable interface for variable *B* SHALL be the public interface, and the applicable interface for variable *A* SHALL be the private interface. + #. When component *BB* is in the :ref:`encapsulated set` of component *AA* the applicable interface for variable *B* SHALL be the public interface, and the applicable interface for variable *A* SHALL be the private interface. #. It is noted, for the avoidance of doubt, that any other encapsulation relationship between components *AA* and *BB* will not permit connections, meaning that no interface is available between the variables *A* and *B*. -#. CellML models MUST only contain :code:`map_variables` elements where the interface of variable *A* and the interface of variable *B* are applicable interfaces. +8. CellML models MUST only contain :code:`map_variables` elements where the interface of variable *A* and the interface of variable *B* are applicable interfaces. .. marker_interpretation_of_map_variables_4 @@ -410,9 +418,10 @@ Interpretation of ``map_variables`` elements Two sets of tuples SHALL be considered identical if all of the tuples from each set are present in the other, or if both sets are empty. Two tuples are considered identical if and only if both the name and exponent value of each tuple are equivalent. -#. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :ref:`Interpretation of units`). +10. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :ref:`Interpretation of units`). .. marker_interpretation_of_map_variables_5 +.. _specC_equivalent_variable_set: 11. The :code:`variable` elements in a CellML model SHALL be treated as belonging to a single "equivalent variable set". Each set of equivalent variables is the set of all :code:`variable` elements for which the corresponding nodes in the variable equivalence network form a connected subgraph. From 5a024df57b91abf322517037f3e52cdadc8889ad Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 12:22:50 +0100 Subject: [PATCH 494/604] Fixed #246. --- src/reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index f6a86dd4..364f9980 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -354,7 +354,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-mathml - 1. A :code:`math` element MUST be the top-level of a content MathML tree, as described in :mathml2:`MathML 2.0 <>`. + 1. A :code:`math` element MUST be the top-level element of a Content MathML tree, as described in :mathml2:`MathML 2.0 <>`. .. marker_math_1 From 50142c4cf880a7b579e9b1f626293061b4ddfb18 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 12:26:06 +0100 Subject: [PATCH 495/604] Fixed #247. --- src/reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 364f9980..84b8495c 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -492,7 +492,7 @@ A :code:`connection` element information item (referred to in this specification .. container:: issue-connection-unique-transitive - 4. A :ref:`CellML infoset` MUST NOT contain more than one :code:`connection` element with a given pair of :code:`component`\ s referenced by the :code:`component_1` and :code:`component_2` attribute values, in any order. + 4. A :ref:`CellML infoset` MUST NOT contain more than one :code:`connection` element with a given pair of components referenced by the :code:`component_1` and :code:`component_2` attribute values, in any order. .. marker_connection_4 From f16608359a2e6be26b3341c7b08bae27b4df234b Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 12:28:05 +0100 Subject: [PATCH 496/604] Fixed #249. --- src/reference/sectionC_interpretation.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index e97ea7c6..02583f89 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -13,13 +13,13 @@ Interpretation of ``import`` elements #. When determining the :ref:`equivalent variable set` of a variable in an imported component: - #. connections defined in the importing infoset shall be handled as described in :ref:`Interpretation of map_variables`. + #. Connections defined in the importing infoset shall be handled as described in :ref:`Interpretation of map_variables`. - #. connections defined in the imported infoset shall be handled as follows: + #. Connections defined in the imported infoset shall be handled as follows: - #. connections to components in the :ref:`encapsulated set` of the imported component SHALL be maintained, and this rule SHALL be applied recursively; + #. Connections to components in the :ref:`encapsulated set` of the imported component SHALL be maintained, and this rule SHALL be applied recursively; - #. connections to components in the :ref:`sibling set`, or to the :ref:`encapsulation parent` of the imported component SHALL NOT be maintained. + #. Connections to components in the :ref:`sibling set`, or to the :ref:`encapsulation parent` of the imported component SHALL NOT be maintained. .. marker_interpretation_of_imports_end .. marker_units_reference_start From 60ee6ba2276b6a6a01f656bc1b4742f67938f3cb Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 12:33:32 +0100 Subject: [PATCH 497/604] Consistent formatting after 'as follows' or 'following': --- src/reference/sectionC_interpretation.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 02583f89..beb6f0bd 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -368,7 +368,7 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_1 -2. For each :code:`map_variables` element present in the CellML model, we define variables *A* and *B* for use in the rules in this section as follows. +2. For each :code:`map_variables` element present in the CellML model, we define variables *A* and *B* for use in the rules in this section as follows: #. Variable *A* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_1` and this :code:`map_variables` element’s :code:`variable_1` attribute. @@ -388,7 +388,7 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_3 -6. For a given variable, the available interfaces SHALL be determined by the :code:`interface` attribute on the corresponding :code:`variable` element as follows. +6. For a given variable, the available interfaces SHALL be determined by the :code:`interface` attribute on the corresponding :code:`variable` element as follows: #. A value of :code:`public` specifies that the variable has a public interface. @@ -400,7 +400,7 @@ Interpretation of ``map_variables`` elements #. If the :code:`interface` attribute is absent, then the variable has no interface. -7. The applicable interfaces for variables *A* and *B* in components *AA* and *BB* respectively SHALL be defined as follows. +7. The applicable interfaces for variables *A* and *B* in components *AA* and *BB* respectively SHALL be defined as follows: #. When component *AA* is in the :ref:`sibling set` of component *BB* (and vice versa), the applicable interface for both variables *A* and *B* SHALL be the public interface. From b38a33688bb6fb4c9213b09e62f9336c65bb44bb Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 12:35:55 +0100 Subject: [PATCH 498/604] Fixed #257. --- src/reference/sectionC_interpretation.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index beb6f0bd..36655887 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -262,11 +262,11 @@ A "variable reference" is an attribute value that specifies a CellML variable. #. The variable identified by a variable reference SHALL be determined as follows: -#. When present in a descendant of a :code:`component` element, it SHALL refer to the variable of the same name within that component. + #. When present in a descendant of a :code:`component` element, it SHALL refer to the variable of the same name within that component. -#. When present in the :code:`variable_1` attribute of a :code:`map_variables` element, it SHALL refer to the variable of the same name in the component identified by the :code:`component_1` attribute in the same :code:`map_variables` element. + #. When present in the :code:`variable_1` attribute of a :code:`map_variables` element, it SHALL refer to the variable of the same name in the component identified by the :code:`component_1` attribute in the same :code:`map_variables` element. -#. When present in the :code:`variable_2` attribute of a :code:`map_variables` element, it SHALL refer to the variable of the same name in the component identified by the :code:`component_2` attribute in the same :code:`map_variables` element. + #. When present in the :code:`variable_2` attribute of a :code:`map_variables` element, it SHALL refer to the variable of the same name in the component identified by the :code:`component_2` attribute in the same :code:`map_variables` element. #. If no variable can be identified using the rules above, the attribute value SHALL NOT be a valid variable reference. From 28757449cf1c49637c9903998b422c629b760829 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 12:37:04 +0100 Subject: [PATCH 499/604] Fixed #250. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 36655887..9aae8c72 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -35,7 +35,7 @@ A "units reference" is an attribute value that specifies the physical units a va #. The units identified by a units reference SHALL be determined as follows: - #. If the units reference is identical to a value in the "Name" column of the :ref:`Built-in units table`, then it SHALL refer to the corresponding built-in units from the same of the table. + #. If the units reference is identical to a value in the "Name" column of the :ref:`Built-in units table`, then it SHALL refer to the built-in units from the same row of the table. #. If the units reference is identical to the value of the :code:`name` attribute of a :code:`units` element in the same infoset, then it SHALL refer to the units specified by that element. From 1fc86949865018d52b092b24184c3e45b7417fd5 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 12:41:22 +0100 Subject: [PATCH 500/604] Fixed #252. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 9aae8c72..0541f568 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -154,7 +154,7 @@ Interpretation of ``units`` elements If a :code:`unit` element has no :code:`multiplier` attribute, the multiplier term SHALL have value 1.0. Otherwise, the value of the :code:`multiplier` attribute MUST be a :ref:`real number string`, and the value of the multiplier term SHALL be the numerical value of that string. - 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element units, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be + 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element's :code:`units` attribute, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be .. math:: From 03ae8ddcedd7377f2c70299db91d6e0351456b28 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 12:43:31 +0100 Subject: [PATCH 501/604] Fixed #253. --- src/reference/sectionC_interpretation.inc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 0541f568..c279bc43 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -167,12 +167,16 @@ Interpretation of ``units`` elements .. specC_irreducible_units: -2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements), and 2) built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units` table) referenced by variables or other units in the model. +2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of: + + 1. The units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements). + + 2. The built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units` table) referenced by variables or other units in the model. .. marker_interpretation_of_units_2 3. The "unit reduction" is a conceptual property of :code:`units` elements. - It consists of a set of tuples where each tuple is composed of a) a unit name and b) a real-valued exponent. + It consists of a set of tuples where each tuple is composed of a unit name and a real-valued exponent. Tuples SHALL be determined as follows: 1. If the :code:`units` element has no :code:`unit` child elements, then the set of tuples SHALL have a single member, which SHALL consist of the name of the :code:`units` element and the exponent 1.0. From ab7f98451b4fa72e4e548270d910f1967e14ec02 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 12:59:05 +0100 Subject: [PATCH 502/604] Fixed #254. --- src/reference/sectionC_interpretation.inc | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index c279bc43..ce689f79 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -176,28 +176,29 @@ Interpretation of ``units`` elements .. marker_interpretation_of_units_2 3. The "unit reduction" is a conceptual property of :code:`units` elements. - It consists of a set of tuples where each tuple is composed of a unit name and a real-valued exponent. - Tuples SHALL be determined as follows: + It consists of a set of tuples where each tuple is composed of a "unit name" and a real-valued "exponent". + The set of tuples SHALL be determined as follows: 1. If the :code:`units` element has no :code:`unit` child elements, then the set of tuples SHALL have a single member, which SHALL consist of the name of the :code:`units` element and the exponent 1.0. 2. If the :code:`units` element has one or more :code:`unit` child elements, then the set of tuples SHALL consist of the entire collection of tuples given by all :code:`unit` child elements. + Tuples for each :code:`unit` child element SHALL be determined as follows: - 1. Where the :ref:`units reference` of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. + 1. If the :ref:`units reference` of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. - 2. Where the units reference of the :code:`unit` child element is to built-in units other than an :ref:`irreducible unit`, then the tuples SHALL be derived directly from the :ref:`Built-in units` table. + 2. If the units reference of the :code:`unit` child element is to built-in units other than an :ref:`irreducible unit`, then the tuples SHALL be derived directly from the :ref:`Built-in units` table. Specifically, the set of tuples SHALL consist of the tuples given in the "Unit reduction tuple set" column of the row for which the value in the "Name" column matches the name of the units reference. - 3. Where the units reference of the :code:`unit` child element is to a unit which is neither built-in, nor an irreducible unit, the set of tuples SHALL be defined recursively as the set of tuples for the :code:`units` element so referenced. + 3. If the units reference of the :code:`unit` child element is to a unit which is neither built-in, nor an irreducible unit, then the set of tuples SHALL be defined recursively as the set of tuples for the :code:`units` element so referenced. 4. The exponents of each tuple in the set for the current :code:`unit` element, as derived by following rules :hardcodedref:`3.3.3.2.1, 3.3.3.2.2 or 3.3.3.2.3` above, SHALL be multiplied by the exponent term of the current, referencing, :code:`unit` element. - 3. Tuples which have the name element of "dimensionless" SHALL be removed from the set of tuples. + 3. Tuples which have the unit name of "dimensionless" SHALL be removed from the set of tuples. Note that this can result in the set of tuples being empty. - 4. Where the set of tuples consists of tuples which have the same name element, those tuples SHALL be combined into a single tuple with that name element and an exponent being the sum of the combined tuples’ exponents. - If the resulting tuple’s exponent term is zero, the tuple SHALL be removed from the set of tuples. + 4. If the set of tuples contains tuples which have the same unit name, then those tuples SHALL be combined into a single tuple with that unit name and an exponent being the sum of the combined tuples’ exponents. + If the resulting tuple’s exponent is zero, then the tuple SHALL be removed from the set of tuples. Note that this can result in the set of tuples being empty. .. marker_interpretation_of_units_3 @@ -420,7 +421,7 @@ Interpretation of ``map_variables`` elements 9. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :ref:`Effect of units on variables ` ) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. Two sets of tuples SHALL be considered identical if all of the tuples from each set are present in the other, or if both sets are empty. - Two tuples are considered identical if and only if both the name and exponent value of each tuple are equivalent. + Two tuples are considered identical if and only if both the unit name and exponent of each tuple are equivalent. 10. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :ref:`Interpretation of units`). From 80ebcfdddfbcb76ec64f39b9c96144fddebabb6f Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 13:00:06 +0100 Subject: [PATCH 503/604] Fixed #256. --- src/reference/sectionC_interpretation.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index ce689f79..7827b9bc 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -243,9 +243,9 @@ A "component reference" is an attribute value that specifies a CellML component. #. A component reference SHALL be a :ref:`CellML identifier`. -#. The component identifier by a component reference SHALL be determined as follows: +#. The component identified by a component reference SHALL be determined as follows: - #. If the component reference is identical to the value of the :code:`name` attribute of a :code:`component` element in the same infoset, then it SHALL refer to the units specified by that element. + #. If the component reference is identical to the value of the :code:`name` attribute of a :code:`component` element in the same infoset, then it SHALL refer to the component specified by that element. #. If the component reference is identical to the value of the :code:`name` attribute of an :code:`import component` element in the same infoset, then it SHALL refer to a component from the infoset defined by the :code:`import component` element (see :ref:`Interpretation of import elements`). The component specified SHALL then be determined by treating the value of the :code:`component_ref` attribute on the :code:`import component` element as a component reference within the imported infoset. From aaa1bdbccc899fefbfbe3e8d8c39617593cca6e2 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 13:03:27 +0100 Subject: [PATCH 504/604] Fixed #259. --- src/reference/sectionC_interpretation.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 7827b9bc..472854eb 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -286,9 +286,9 @@ Interpretation of ``initial_value`` attributes #. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a :ref:`real number string`, or a :ref:`variable reference`. -#. The conditions when initial values hold are (by design) not defined in a :ref:`CellML model` document. +#. The conditions when initial values hold are (by design) not defined in a :ref:`CellML model`. -#. Where the :code:`initial_value` attribute has a :ref:`real number value`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to that real number value, under the conditions when the initial value holds. +#. Where the :code:`initial_value` attribute is a :ref:`real number string`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to that real number value, under the conditions when the initial value holds. #. Where the :code:`initial_value` attribute is a :ref:`variable reference`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to the referenced variable under the conditions when the initial value holds. From 2264dbe5647e0653f6c95fc2483d1346945ce5f7 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 13:06:42 +0100 Subject: [PATCH 505/604] Fixed #260. --- src/reference/sectionC_interpretation.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 472854eb..f10f94df 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -333,7 +333,7 @@ Interpretation of ``math`` elements Interpretation of ``encapsulation`` elements -------------------------------------------- -1. For the purposes of this specification, there SHALL be a "conceptual encapsulation digraph" in which there is EXACTLY one node for every component in the :ref:`CellML model`. +1. For the purposes of this specification, there SHALL be a conceptual "encapsulation digraph" in which there is EXACTLY one node for every component in the :ref:`CellML model`. Therefore the encapsulation digraph will not contain any loops. 2. Where a :code:`component_ref` element appears as a child of another :code:`component_ref` element, there SHALL be an arc in the encapsulation digraph, and that arc SHALL be from the node corresponding to the component referenced by the parent :code:`component_ref` element, and to the node corresponding to the component referenced by the child :code:`component_ref` element. @@ -368,7 +368,7 @@ Interpretation of ``encapsulation`` elements Interpretation of ``map_variables`` elements -------------------------------------------- -1. For the purposes of this specification, the variable equivalence (conceptual) network SHALL be an undirected graph with one node for every :code:`variable` element in the :ref:`CellML model`. +1. For the purposes of this specification, the conceptual "variable equivalence network" SHALL be an undirected graph with one node for every :code:`variable` element in the :ref:`CellML model`. The arcs of this graph SHALL be equivalences defined in the CellML model. .. marker_interpretation_of_map_variables_1 From 721fcde3ba220fe6ca10ffef37dde25e7a6f42ac Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 13:07:47 +0100 Subject: [PATCH 506/604] shall --> SHALL --- src/reference/sectionC_interpretation.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index f10f94df..959318ce 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -13,9 +13,9 @@ Interpretation of ``import`` elements #. When determining the :ref:`equivalent variable set` of a variable in an imported component: - #. Connections defined in the importing infoset shall be handled as described in :ref:`Interpretation of map_variables`. + #. Connections defined in the importing infoset SHALL be handled as described in :ref:`Interpretation of map_variables`. - #. Connections defined in the imported infoset shall be handled as follows: + #. Connections defined in the imported infoset SHALL be handled as follows: #. Connections to components in the :ref:`encapsulated set` of the imported component SHALL be maintained, and this rule SHALL be applied recursively; From 4d845c37b609030e0234701250db16dfff9af740 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 13:24:00 +0100 Subject: [PATCH 507/604] Fixed #263. --- src/reference/sectionC_interpretation.inc | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 959318ce..a81ee935 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -358,8 +358,6 @@ Interpretation of ``encapsulation`` elements .. marker_interpretation_of_encapsulation_2 -7. For the avoidance of doubt, there MUST NOT be a :code:`connection` element such that the component referenced by the :code:`component_1` attribute is in the hidden set of the component referenced by the :code:`component_2` attribute, nor vice versa. - .. marker_interpretation_of_encapsulation_end .. marker_interpretation_of_map_variables_start From b5119d8113a20f2d925101310712e80e934c4d19 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 13:34:24 +0100 Subject: [PATCH 508/604] Closed #262. --- src/reference/sectionC_interpretation.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index a81ee935..987d1807 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -391,7 +391,7 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_3 -6. For a given variable, the available interfaces SHALL be determined by the :code:`interface` attribute on the corresponding :code:`variable` element as follows: +6. For a given variable, the "available interfaces" SHALL be determined by the :code:`interface` attribute on the corresponding :code:`variable` element as follows: #. A value of :code:`public` specifies that the variable has a public interface. @@ -403,7 +403,7 @@ Interpretation of ``map_variables`` elements #. If the :code:`interface` attribute is absent, then the variable has no interface. -7. The applicable interfaces for variables *A* and *B* in components *AA* and *BB* respectively SHALL be defined as follows: +7. The "applicable interfaces" for variables *A* and *B* in components *AA* and *BB* respectively SHALL be defined as follows: #. When component *AA* is in the :ref:`sibling set` of component *BB* (and vice versa), the applicable interface for both variables *A* and *B* SHALL be the public interface. @@ -411,9 +411,9 @@ Interpretation of ``map_variables`` elements #. When component *BB* is in the :ref:`encapsulated set` of component *AA* the applicable interface for variable *B* SHALL be the public interface, and the applicable interface for variable *A* SHALL be the private interface. - #. It is noted, for the avoidance of doubt, that any other encapsulation relationship between components *AA* and *BB* will not permit connections, meaning that no interface is available between the variables *A* and *B*. + It is noted, for the avoidance of doubt, that if components *AA* and *BB* are in each other's :ref:`hidden set`, there are no applicable interfaces for the variables *A* and *B*. -8. CellML models MUST only contain :code:`map_variables` elements where the interface of variable *A* and the interface of variable *B* are applicable interfaces. +8. CellML models MUST only contain :code:`map_variables` elements where the applicable interfaces for both variables are available. .. marker_interpretation_of_map_variables_4 From 270410a63f117946f7a833b008adef62cfd4985a Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 13:36:01 +0100 Subject: [PATCH 509/604] Closed #264. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 987d1807..75605398 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -419,7 +419,7 @@ Interpretation of ``map_variables`` elements 9. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :ref:`Effect of units on variables ` ) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. Two sets of tuples SHALL be considered identical if all of the tuples from each set are present in the other, or if both sets are empty. - Two tuples are considered identical if and only if both the unit name and exponent of each tuple are equivalent. + Two tuples are considered identical if and only if both the unit name and exponent of each tuple are identical. 10. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :ref:`Interpretation of units`). From a363b9874d6c14e2ae5a233ed2f792516e265c31 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 14:02:11 +0100 Subject: [PATCH 510/604] Closed #265. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 75605398..559d2ff2 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -448,6 +448,6 @@ Interpretation of ``reset`` elements #. The condition under which a reset occurs SHALL be defined by the equality of evaluation of the test variable and the evaluation of the MathML expression encoded in the :code:`test_value`. -#. When a reset occurs, the variable referenced by the reset element’s :code:`variable` attribute SHALL be set to the result of evaluating the MathML expression encoded in the :code:`reset_value`. +#. When a reset occurs, the reset variable SHALL be set to the result of evaluating the MathML expression encoded in the :code:`reset_value`. .. marker_interpretation_of_variable_resets_end From 99d1c004bcbae5be3e5c6e6e166a5948520d2365 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 14:27:57 +0100 Subject: [PATCH 511/604] Added rule saying the component referenced by a component_ref element must be unique, which prevents cycles in the encapsulation digraph. Fixes #261. --- src/reference/sectionB_elements.inc | 2 ++ src/reference/sectionC_interpretation.inc | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index f6a86dd4..29c46af8 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -454,6 +454,8 @@ A :code:`component_ref` element information item (referred to in this specificat The value of the :code:`component` attribute MUST be a valid component reference, as defined in the section :ref:`Component references`. + The value of the :code:`component` attribute MUST NOT be identical to the value of the :code:`component` attribute on any other :code:`component_ref` element in the :ref:`CellML infoset`. + .. container:: issue-component-ref-child 2. Every :code:`component_ref` element MAY in turn contain one or more :code:`component_ref` element children. diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index e97ea7c6..3d4d6017 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -328,8 +328,7 @@ Interpretation of ``math`` elements Interpretation of ``encapsulation`` elements -------------------------------------------- -1. For the purposes of this specification, there SHALL be a "conceptual encapsulation digraph" in which there is EXACTLY one node for every component in the :ref:`CellML model`. - Therefore the encapsulation digraph will not contain any loops. +1. For the purposes of this specification, there SHALL be a conceptual "encapsulation digraph" in which there is exactly one node for every component in the :ref:`CellML model`. 2. Where a :code:`component_ref` element appears as a child of another :code:`component_ref` element, there SHALL be an arc in the encapsulation digraph, and that arc SHALL be from the node corresponding to the component referenced by the parent :code:`component_ref` element, and to the node corresponding to the component referenced by the child :code:`component_ref` element. From 09a26594367953871a14639b0a668d99c966279e Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 15:17:44 +0100 Subject: [PATCH 512/604] Changed 'see X' links from :ref: to :numref:. Fixes #239. --- src/reference/sectionB_elements.inc | 34 +++++++++++------------ src/reference/sectionC_interpretation.inc | 24 ++++++++-------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index f6a86dd4..f736590a 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -76,7 +76,7 @@ An :code:`import` element information item (referred to in this specification as .. container:: issue-import-circular - 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported CellML infoset MUST NOT be semantically equivalent to the importing CellML infoset (see :ref:`Semantically equivalent CellML infosets `). + 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported CellML infoset MUST NOT be semantically equivalent to the importing CellML infoset (see :numref:`%s. Non-specific information items`). .. marker_import_end .. marker_import_units_start @@ -153,7 +153,7 @@ A :code:`units` element information item (referred to in this specification as a .. container:: issue-units-standard - 2. The value of the :code:`name` attribute MUST NOT be identical to the name of any of the units listed in the :ref:`Built-in units` table. + 2. The value of the :code:`name` attribute MUST NOT be identical to the name of any of the units listed in the :ref:`Built-in units table` (see :numref:`%s. Units references`). .. container:: issue-units-child @@ -173,7 +173,7 @@ A :code:`unit` element information item (referred to in this specification as a 1. Every :code:`unit` element MUST contain a :code:`units` attribute. - The value of the :code:`units` attribute MUST be a valid units reference, as defined in the section :ref:`Units references`. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`%s. Units references`. .. container:: issue-unit-digraph @@ -193,7 +193,7 @@ A :code:`unit` element information item (referred to in this specification as a .. container:: issue-unit-prefix - 1. The :code:`prefix` attribute. If present, the value of the attribute MUST meet the constraints specified in the :ref:`Interpretation of units ` section. + 1. The :code:`prefix` attribute. If present, the value of the attribute MUST meet the constraints specified in :numref:`%s. Interpretation of units elements `. .. container:: issue-unit-multiplier @@ -259,7 +259,7 @@ A :code:`variable` element information item (referred to in this specification a .. container:: issue-variable-units 2. The :code:`units` attribute. - The value of the :code:`units` attribute MUST be a valid units reference, as defined in the section :ref:`Units references`. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`%s. Units references`. 2. Every :code:`variable` element MAY contain one or more of the following attributes: @@ -271,7 +271,7 @@ A :code:`variable` element information item (referred to in this specification a .. container:: issue-variable-initial-value 2. The :code:`initial_value` attribute. - If the attribute is present, it MUST meet the requirements described by the :ref:`Interpretation of initial values` section. + If the attribute is present, it MUST meet the requirements described by :numref:`%s. Interpretation of initial_value attributes`. .. marker_variable_end .. marker_reset_start @@ -288,19 +288,19 @@ A :code:`reset` element information item (referred to in this specification as a .. container:: issue-reset-variable-reference 1. The :code:`variable` attribute. - The value of the :code:`variable` attribute MUST be a valid variable reference, as defined in the section :ref:`Variable references`. + The value of the :code:`variable` attribute MUST be a valid variable reference, as defined in :numref:`%s. Variable references`. .. container:: issue-reset-test-variable-reference 2. The :code:`test_variable` attribute. - The value of the :code:`test_variable` attribute MUST be a valid variable reference, as defined in the section :ref:`Variable references`. + The value of the :code:`test_variable` attribute MUST be a valid variable reference, as defined in :numref:`%s. Variable references`. .. container:: issue-reset-order 3. The :code:`order` attribute. The value of the :code:`order` attribute MUST be an :ref:`integer string`. - The value of the :code:`order` attribute MUST be unique for all :code:`reset` elements with :code:`variable` attributes that reference variables in the same equivalent variable set (see :ref:`Interpretation of map_variables`). + The value of the :code:`order` attribute MUST be unique for all :code:`reset` elements with :code:`variable` attributes that reference variables in the same equivalent variable set (see :numref:`%s. Interpretation of map_variables elements`). .. container:: issue-reset-child @@ -360,13 +360,13 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-child - 2. Each element child of a :code:`math` element MUST have an element-type name that is listed in the :ref:`Supported MathML Elements` table. + 2. Each element child of a :code:`math` element MUST have an element-type name that is listed in the :ref:`Supported MathML Elements table`. .. marker_math_2 .. container:: issue-math-ci-variable-reference - 3. The contents of a MathML :code:`ci` element MUST be a valid variable reference, as defined in the section :ref:`Variable references`. + 3. The contents of a MathML :code:`ci` element MUST be a valid variable reference, as defined in :numref:`%s. Variable references`. .. marker_math_3 @@ -374,7 +374,7 @@ A :code:`math` element information item (referred to in this specification as a 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. - The value of the :code:`units` attribute MUST be a valid units reference, as defined in the section :ref:`Units references`. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`%s. Units references`. .. container:: issue-math-cn-type @@ -452,7 +452,7 @@ A :code:`component_ref` element information item (referred to in this specificat 1. Every :code:`component_ref` element MUST contain a :code:`component` attribute. - The value of the :code:`component` attribute MUST be a valid component reference, as defined in the section :ref:`Component references`. + The value of the :code:`component` attribute MUST be a valid component reference, as defined in :numref:`%s. Component references`. .. container:: issue-component-ref-child @@ -472,7 +472,7 @@ A :code:`connection` element information item (referred to in this specification 1. Each :code:`connection` element MUST contain a :code:`component_1` attribute. - The value of the :code:`component_1` attribute MUST be a valid component reference, as defined in the section :ref:`Component references`. + The value of the :code:`component_1` attribute MUST be a valid component reference, as defined in :numref:`%s. Component references`. .. marker_connection_1 @@ -480,7 +480,7 @@ A :code:`connection` element information item (referred to in this specification 2. Each :code:`connection` element MUST contain a :code:`component_2` attribute. - The value of the :code:`component_2` attribute MUST be a valid component reference, as defined in the section :ref:`Component references`. + The value of the :code:`component_2` attribute MUST be a valid component reference, as defined in :numref:`%s. Component references`. .. marker_connection_2 @@ -514,7 +514,7 @@ A :code:`map_variables` element information item (referred to in this specificat 1. Each :code:`map_variables` element MUST contain a :code:`variable_1` attribute. - The value of the :code:`variable_1` attribute MUST be a valid variable reference, as defined in the section :ref:`Variable references`. + The value of the :code:`variable_1` attribute MUST be a valid variable reference, as defined in :numref:`%s. Variable references`. .. marker_map_variables_1 @@ -522,7 +522,7 @@ A :code:`map_variables` element information item (referred to in this specificat 2. Each :code:`map_variables` element MUST contain a :code:`variable_2` attribute. - The value of the :code:`variable_2` attribute MUST be a valid variable reference, as defined in the section :ref:`Variable references`. + The value of the :code:`variable_2` attribute MUST be a valid variable reference, as defined in :numref:`%s. Variable references`. .. marker_map_variables_2 diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index e97ea7c6..f85fb154 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -13,7 +13,7 @@ Interpretation of ``import`` elements #. When determining the :ref:`equivalent variable set` of a variable in an imported component: - #. connections defined in the importing infoset shall be handled as described in :ref:`Interpretation of map_variables`. + #. connections defined in the importing infoset shall be handled as described in :numref:`%s. Interpretation of map_variables elements`. #. connections defined in the imported infoset shall be handled as follows: @@ -39,7 +39,7 @@ A "units reference" is an attribute value that specifies the physical units a va #. If the units reference is identical to the value of the :code:`name` attribute of a :code:`units` element in the same infoset, then it SHALL refer to the units specified by that element. - #. If the units reference is identical to the value of the :code:`name` attribute of an :code:`import units` element in the same infoset, then it SHALL refer to units from the infoset defined by the :code:`import units` element (see :ref:`Interpretation of import elements``). + #. If the units reference is identical to the value of the :code:`name` attribute of an :code:`import units` element in the same infoset, then it SHALL refer to units from the infoset defined by the :code:`import units` element (see :numref:`%s. Interpretation of import elements``). The units specified SHALL then be determined by treating the value of the :code:`units_ref` attribute on the :code:`import units` element as a units reference within the imported infoset. If necessary, this rule SHALL be applied recursively. @@ -165,9 +165,9 @@ Interpretation of ``units`` elements .. marker_interpretation_of_units_1 -.. specC_irreducible_units: +.. _specC_irreducible_units: -2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements), and 2) built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units` table) referenced by variables or other units in the model. +2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of 1) the units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements), and 2) built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units table`) referenced by variables or other units in the model. .. marker_interpretation_of_units_2 @@ -182,7 +182,7 @@ Interpretation of ``units`` elements 1. Where the :ref:`units reference` of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. - 2. Where the units reference of the :code:`unit` child element is to built-in units other than an :ref:`irreducible unit`, then the tuples SHALL be derived directly from the :ref:`Built-in units` table. + 2. Where the units reference of the :code:`unit` child element is to built-in units other than an :ref:`irreducible unit`, then the tuples SHALL be derived directly from the :ref:`Built-in units table`. Specifically, the set of tuples SHALL consist of the tuples given in the "Unit reduction tuple set" column of the row for which the value in the "Name" column matches the name of the units reference. 3. Where the units reference of the :code:`unit` child element is to a unit which is neither built-in, nor an irreducible unit, the set of tuples SHALL be defined recursively as the set of tuples for the :code:`units` element so referenced. @@ -242,7 +242,7 @@ A "component reference" is an attribute value that specifies a CellML component. #. If the component reference is identical to the value of the :code:`name` attribute of a :code:`component` element in the same infoset, then it SHALL refer to the units specified by that element. - #. If the component reference is identical to the value of the :code:`name` attribute of an :code:`import component` element in the same infoset, then it SHALL refer to a component from the infoset defined by the :code:`import component` element (see :ref:`Interpretation of import elements`). + #. If the component reference is identical to the value of the :code:`name` attribute of an :code:`import component` element in the same infoset, then it SHALL refer to a component from the infoset defined by the :code:`import component` element (see :numref:`%s. Interpretation of import elements`). The component specified SHALL then be determined by treating the value of the :code:`component_ref` attribute on the :code:`import component` element as a component reference within the imported infoset. If necessary, this rule SHALL be applied recursively. @@ -296,7 +296,7 @@ Interpretation of ``initial_value`` attributes Effect of ``units`` on a ``variable`` ------------------------------------- -#. The target of the :code:`units` attribute on a variable is referred to as the "variable units", and the corresponding unit reduction (see :ref:`Interpretation of units`) is referred to as the "variable unit reduction". +#. The target of the :code:`units` attribute on a variable is referred to as the "variable units", and the corresponding unit reduction (see :numref:`%s. Interpretation of units elements`) is referred to as the "variable unit reduction". .. marker_effect_of_units_on_variables_end .. marker_interpretation_of_mathematics_start @@ -311,9 +311,9 @@ Interpretation of ``math`` elements #. All :code:`component` elements in the top-level :ref:`CellML infoset` for the :ref:`CellML model`; - #. All :code:`component` elements referenced by :code:`import component` elements (see :ref:`The import component element `) in the top-level CellML infoset; and + #. All :code:`component` elements referenced by :code:`import component` elements (see :numref:`%s. Interpretation of import elements`) in the top-level CellML infoset; and - #. All :code:`component` elements which are descendants in the encapsulation digraph (see :ref:`Interpretation of encapsulation `) of a pertinent :code:`component` element. + #. All :code:`component` elements which are descendants in the encapsulation digraph (see :numref:`%s. Interpretation of encapsulation elements`) of a pertinent :code:`component` element. #. Every MathML element in the CellML model which appears as a direct child of a MathML :code:`math` element, which in turn appears as a child of a pertinent :code:`component` element, SHALL be treated, in terms of the semantics of the mathematical model, as a statement which holds true unconditionally. @@ -414,11 +414,11 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_4 -9. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :ref:`Effect of units on variables ` ) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. +9. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :numref:`%s. Effect of units on variables` ) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. Two sets of tuples SHALL be considered identical if all of the tuples from each set are present in the other, or if both sets are empty. Two tuples are considered identical if and only if both the name and exponent value of each tuple are equivalent. -10. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :ref:`Interpretation of units`). +10. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :numref:`%s. Interpretation of units elements`). .. marker_interpretation_of_map_variables_5 .. _specC_equivalent_variable_set: @@ -440,7 +440,7 @@ Interpretation of ``reset`` elements #. Each :code:`reset` element describes a change to be applied to the reset variable when specified conditions are met during the simulation of the model. -#. All :code:`reset` elements SHALL be considered sequentially for the equivalent variable set (see :ref:`Interpretation of map_variables`) to which the reset variable belongs. +#. All :code:`reset` elements SHALL be considered sequentially for the equivalent variable set (see :numref:`%s. Interpretation of map_variables elements`) to which the reset variable belongs. The sequence SHALL be determined by the value of the reset element’s :code:`order` attribute, lowest (least positive / most negative) having priority. #. The condition under which a reset occurs SHALL be defined by the equality of evaluation of the test variable and the evaluation of the MathML expression encoded in the :code:`test_value`. From 17589d11ee7a6daffacbc7b99c626d7613402a3c Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 15:28:00 +0100 Subject: [PATCH 513/604] Fixed whitespace issue. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index f85fb154..71ed77c2 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -414,7 +414,7 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_4 -9. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :numref:`%s. Effect of units on variables` ) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. +9. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :numref:`%s. Effect of units on variables`) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. Two sets of tuples SHALL be considered identical if all of the tuples from each set are present in the other, or if both sets are empty. Two tuples are considered identical if and only if both the name and exponent value of each tuple are equivalent. From 33e1b0af745302b49c0e0da9d3cc258f3fde5c59 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 16:48:34 +0100 Subject: [PATCH 514/604] Stopped cross-references in PDF from showing up in italics. Fixes #242. --- src/conf.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/conf.py b/src/conf.py index 50bb02ef..e8e71e1b 100644 --- a/src/conf.py +++ b/src/conf.py @@ -135,16 +135,16 @@ def define_excluded_patterns(): # These should be identical: one for links, one for full URL display 'rfc2119': ('http://www.ietf.org/rfc/rfc2119.txt%s', ''), 'rfc2119_display': ('http://www.ietf.org/rfc/%s', None), - + 'sphinx': ('http://sphinx-doc.org/%s', ''), 'swig': ('http://www.swig.org/%s', ''), 'unicode': ('http://www.fileformat.info/info/unicode/char/%s/index.htm', 'U+'), 'unicode13_display': ('https://www.unicode.org/versions/Unicode13.0.0%s', None), - + # These should be identical: one for links, one for full URL display 'xlink': ('http://www.w3.org/TR/2001/REC-xlink-20010627%s', ''), 'xlink_display': ('http://www.w3.org/TR/2001/REC-xlink-20010627%s', None), - + 'xml_help': ('https://www.w3.org/XML/%s', ''), # These should be identical: one for links, one for full URL display @@ -164,7 +164,7 @@ def define_excluded_patterns(): # will need to be manually changed if the numbering is ever altered, and can be located # more easily by searching for the "hardcodedref" tag. rst_prolog = """ -.. role:: hardcodedref +.. role:: hardcodedref """ # General information about the project. @@ -340,6 +340,9 @@ def define_excluded_patterns(): \usepackage[titles]{tocloft} \usepackage{textgreek} \usepackage{amssymb} + +% Stop cross-references from showing up in italics +\protected\def\sphinxcrossref#1{#1} ''' } From 6f3aa6f3b3d4b52c02af6a9e7084fd15c1204aab Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 08:50:16 +1200 Subject: [PATCH 515/604] Spelling --- src/reference/informative_preamble.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/informative_preamble.inc b/src/reference/informative_preamble.inc index 1d2ec1e3..8ffa0826 100644 --- a/src/reference/informative_preamble.inc +++ b/src/reference/informative_preamble.inc @@ -3,6 +3,6 @@ This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. Users of CellML models may expand the "See more" blocks throughout this document to access the informative version and see examples. -Software-specific information is also available under their repsective names or icons throughout the text. +Software-specific information is also available under their respective names or icons throughout the text. .. include:: reference/acknowledgements.inc From 9c51fcf06f02cbb9f4270ea6a4ecc5494dfd9ced Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 08:50:27 +1200 Subject: [PATCH 516/604] Revert "Spelling" This reverts commit 6f3aa6f3b3d4b52c02af6a9e7084fd15c1204aab. --- src/reference/informative_preamble.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/informative_preamble.inc b/src/reference/informative_preamble.inc index 8ffa0826..1d2ec1e3 100644 --- a/src/reference/informative_preamble.inc +++ b/src/reference/informative_preamble.inc @@ -3,6 +3,6 @@ This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. Users of CellML models may expand the "See more" blocks throughout this document to access the informative version and see examples. -Software-specific information is also available under their respective names or icons throughout the text. +Software-specific information is also available under their repsective names or icons throughout the text. .. include:: reference/acknowledgements.inc From 42d0c84e4521b20b9923d9c80ab0544ebff3987f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 08:51:25 +1200 Subject: [PATCH 517/604] "repsective" --- src/reference/informative_preamble.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/informative_preamble.inc b/src/reference/informative_preamble.inc index 1d2ec1e3..8ffa0826 100644 --- a/src/reference/informative_preamble.inc +++ b/src/reference/informative_preamble.inc @@ -3,6 +3,6 @@ This document is the normative version of the CellML Specification, defining the CellML syntax and the rules by which it should be used. It is intended primarily for the developers of software tools which directly consume CellML syntax. Users of CellML models may expand the "See more" blocks throughout this document to access the informative version and see examples. -Software-specific information is also available under their repsective names or icons throughout the text. +Software-specific information is also available under their respective names or icons throughout the text. .. include:: reference/acknowledgements.inc From 2e4350d143b0f1111eb5db1a6102c42d0aa28802 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 21:56:41 +0100 Subject: [PATCH 518/604] Changed wording for initial values. --- src/reference/sectionC_interpretation.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 559d2ff2..f8bd6cbd 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -286,11 +286,11 @@ Interpretation of ``initial_value`` attributes #. The :code:`initial_value` attribute of a :code:`variable` element MUST either be a :ref:`real number string`, or a :ref:`variable reference`. -#. The conditions when initial values hold are (by design) not defined in a :ref:`CellML model`. +#. The conditions under which initial values hold are (by design) not defined in a :ref:`CellML model`. -#. Where the :code:`initial_value` attribute is a :ref:`real number string`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to that real number value, under the conditions when the initial value holds. +#. Where the :code:`initial_value` attribute is a :ref:`real number string`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to that real number value, when the initial values hold. -#. Where the :code:`initial_value` attribute is a :ref:`variable reference`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to the referenced variable under the conditions when the initial value holds. +#. Where the :code:`initial_value` attribute is a :ref:`variable reference`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to the referenced variable when the initial values hold. .. marker_interpretation_of_initial_values_end .. marker_effect_of_units_on_variables_start From 429988430e2463b6926c55a0e6c28e10ce7384e7 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 22:06:50 +0100 Subject: [PATCH 519/604] Change to tuples wording. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index f8bd6cbd..6fb02dcd 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -197,7 +197,7 @@ Interpretation of ``units`` elements 3. Tuples which have the unit name of "dimensionless" SHALL be removed from the set of tuples. Note that this can result in the set of tuples being empty. - 4. If the set of tuples contains tuples which have the same unit name, then those tuples SHALL be combined into a single tuple with that unit name and an exponent being the sum of the combined tuples’ exponents. + 4. If the set of tuples contains tuples which have the same unit name, then those tuples SHALL be combined into a single tuple with that unit name and an exponent being the sum of those tuples’ exponents. If the resulting tuple’s exponent is zero, then the tuple SHALL be removed from the set of tuples. Note that this can result in the set of tuples being empty. From 397130ad200480505ab06e3aa0f00c52dd2052b1 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 09:28:38 +1200 Subject: [PATCH 520/604] Remove empty informative block --- .../formal_and_informative/specC03_interpretation_of_units.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/formal_and_informative/specC03_interpretation_of_units.rst b/src/reference/formal_and_informative/specC03_interpretation_of_units.rst index a545498a..9eb6419a 100644 --- a/src/reference/formal_and_informative/specC03_interpretation_of_units.rst +++ b/src/reference/formal_and_informative/specC03_interpretation_of_units.rst @@ -22,4 +22,4 @@ :start-after: marker_interpretation_of_units_3 :end-before: marker_interpretation_of_units_end -.. include:: ../libcellml/libcellmlC03_interpretation_of_units.rst +.. todo :: ../libcellml/libcellmlC03_interpretation_of_units.rst From c8a4f133f1b3fd2ff3e23e56dba9ec31d0dfd86a Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Thu, 16 Apr 2020 22:37:20 +0100 Subject: [PATCH 521/604] Update sectionC_interpretation.inc --- src/reference/sectionC_interpretation.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index b0514e75..4c307dc0 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -168,11 +168,11 @@ Interpretation of ``units`` elements .. _specC_irreducible_units: 2. For the purposes of this specification, the "irreducible units" of a model SHALL consist of: - + 1. The units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements). 2. The built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units table`) referenced by variables or other units in the model. - + .. marker_interpretation_of_units_2 3. The "unit reduction" is a conceptual property of :code:`units` elements. From 930aa85b98ef3063ca289e2906eec26de75d6f7a Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 11:16:44 +1200 Subject: [PATCH 522/604] Fix reference marker to be unique. --- .../informative/informC09_interpretation_of_encapsulation2.rst | 2 +- .../informative/informC09_interpretation_of_encapsulation3.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/informative/informC09_interpretation_of_encapsulation2.rst b/src/reference/informative/informC09_interpretation_of_encapsulation2.rst index b97428da..820c8bc2 100644 --- a/src/reference/informative/informC09_interpretation_of_encapsulation2.rst +++ b/src/reference/informative/informC09_interpretation_of_encapsulation2.rst @@ -1,4 +1,4 @@ -.. _informC09_interpretation_of_encapsulation1: +.. _informC09_interpretation_of_encapsulation2: .. container:: toggle diff --git a/src/reference/informative/informC09_interpretation_of_encapsulation3.rst b/src/reference/informative/informC09_interpretation_of_encapsulation3.rst index 60313141..1b88b21b 100644 --- a/src/reference/informative/informC09_interpretation_of_encapsulation3.rst +++ b/src/reference/informative/informC09_interpretation_of_encapsulation3.rst @@ -1,4 +1,4 @@ -.. _informC09_interpretation_of_encapsulation1: +.. _informC09_interpretation_of_encapsulation3: .. container:: toggle From d61538cd5baf432a5fdb7286f3ed6b24ba6e035a Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 11:17:10 +1200 Subject: [PATCH 523/604] Fix xml literal code block. --- .../informC10_interpretation_of_map_variables3.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/reference/informative/informC10_interpretation_of_map_variables3.rst b/src/reference/informative/informC10_interpretation_of_map_variables3.rst index f53246e6..f3b54c03 100644 --- a/src/reference/informative/informC10_interpretation_of_map_variables3.rst +++ b/src/reference/informative/informC10_interpretation_of_map_variables3.rst @@ -103,21 +103,21 @@ those two components. --> ... - +
- ... - + ... + - ... - ... From 9d9defbb1430b14c7d28dff6d560f79571092769 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 11:17:40 +1200 Subject: [PATCH 524/604] Ignore files that aren't used. --- src/conf.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/conf.py b/src/conf.py index e8e71e1b..6490b27a 100644 --- a/src/conf.py +++ b/src/conf.py @@ -46,7 +46,12 @@ def tex_document_name(): def define_excluded_patterns(): exclude_patterns = ['normative_only_index.rst', + 'reference/libcellml/*.rst', 'reference/formal_section*', + 'reference/informative/informB9_reset1.rst', + 'reference/informative/informC07_effect_of_units_on_variables.rst', + 'reference/informative/informC08_interpretation_of_mathematics.rst', + 'reference/informative/informC11_interpretation_of_variable_resets.rst', 'reference/formal_only/*', ] if build_type == 'Normative': exclude_patterns = ['master_index.rst', From 826063ff9e6f39741c38b20469626cb6c0e00236 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 11:18:12 +1200 Subject: [PATCH 525/604] Use table directive and numref to reference tables. --- src/reference/sectionB_elements.inc | 78 ++++---- src/reference/sectionC_interpretation.inc | 220 +++++++++++----------- 2 files changed, 150 insertions(+), 148 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 4879b2d3..b8314e44 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -153,7 +153,7 @@ A :code:`units` element information item (referred to in this specification as a .. container:: issue-units-standard - 2. The value of the :code:`name` attribute MUST NOT be identical to the name of any of the units listed in the :ref:`Built-in units table` (see :numref:`%s. Units references`). + 2. The value of the :code:`name` attribute MUST NOT be identical to the name of any of the units listed in :numref:`Table {number}: {name}` (see :numref:`%s. Units references`). .. container:: issue-units-child @@ -360,7 +360,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-child - 2. Each element child of a :code:`math` element MUST have an element-type name that is listed in the :ref:`Supported MathML Elements table`. + 2. Each element child of a :code:`math` element MUST have an element-type name that is listed in :numref:`Table {number}: {name}`. .. marker_math_2 @@ -384,43 +384,43 @@ A :code:`math` element information item (referred to in this specification as a .. marker_math_4 .. _table_supported_mathml_elements: - -**Table 2.1: Supported MathML elements** - -+----------------------------------+----------------------------------------------------------------+ -| **Element Category** | **Element List** | -+----------------------------------+----------------------------------------------------------------+ -| Simple Operands | :code:`ci`, :code:`cn`, :code:`sep` | -+----------------------------------+----------------------------------------------------------------+ -| Basic Structural | :code:`apply`, :code:`piecewise`, :code:`piece`, | -| | :code:`otherwise` | -+----------------------------------+----------------------------------------------------------------+ -| Relational and Logical Operators | :code:`eq`, :code:`neq`, :code:`gt`, :code:`lt`, :code:`geq`, | -| | :code:`leq`, :code:`and`, :code:`or`, :code:`xor`, :code:`not` | -+----------------------------------+----------------------------------------------------------------+ -| Arithmetic Operators | | :code:`plus`, :code:`minus`, :code:`times`, :code:`divide`, | -| | | :code:`power`, :code:`root`, :code:`abs`, | -| | | :code:`exp`, :code:`ln`, :code:`log`, | -| | | :code:`floor`, :code:`ceiling`, | -| | | :code:`min`, :code:`max`, :code:`rem` | -+----------------------------------+----------------------------------------------------------------+ -| Calculus Elements | :code:`diff` | -+----------------------------------+----------------------------------------------------------------+ -| Qualifier Elements | :code:`bvar`, :code:`logbase`, :code:`degree` \* | -+----------------------------------+----------------------------------------------------------------+ -| Trigonometric Operators | | :code:`sin`, :code:`cos`, :code:`tan`, :code:`sec`, | -| | :code:`csc`, :code:`cot`, | -| | | :code:`sinh`, :code:`cosh`, :code:`tanh`, :code:`sech`, | -| | :code:`csch`, :code:`coth`, | -| | | :code:`arcsin`, :code:`arccos`, :code:`arctan`, | -| | | :code:`arcsec`, :code:`arccsc`, :code:`arccot`, | -| | | :code:`arcsinh`, :code:`arccosh`, :code:`arctanh`, | -| | | :code:`arcsech`, :code:`arccsch`, :code:`arccoth` | -+----------------------------------+----------------------------------------------------------------+ -| Mathematical and Logical | :code:`pi`, :code:`exponentiale`, | -| Constants | :code:`notanumber`, :code:`infinity`, | -| | :code:`true`, :code:`false` | -+----------------------------------+----------------------------------------------------------------+ +.. table:: Supported MathML elements + :widths: auto + + +----------------------------------+------------------------------------------------------------------+ + | **Element Category** | **Element List** | + +----------------------------------+------------------------------------------------------------------+ + | Simple Operands | :code:`ci`, :code:`cn`, :code:`sep` | + +----------------------------------+------------------------------------------------------------------+ + | Basic Structural | :code:`apply`, :code:`piecewise`, :code:`piece`, | + | | :code:`otherwise` | + +----------------------------------+------------------------------------------------------------------+ + | Relational and Logical Operators | | :code:`eq`, :code:`neq`, :code:`gt`, :code:`lt`, :code:`geq`, | + | | | :code:`leq`, :code:`and`, :code:`or`, :code:`xor`, :code:`not` | + +----------------------------------+------------------------------------------------------------------+ + | Arithmetic Operators | | :code:`plus`, :code:`minus`, :code:`times`, :code:`divide`, | + | | | :code:`power`, :code:`root`, :code:`abs`, | + | | | :code:`exp`, :code:`ln`, :code:`log`, | + | | | :code:`floor`, :code:`ceiling`, | + | | | :code:`min`, :code:`max`, :code:`rem` | + +----------------------------------+------------------------------------------------------------------+ + | Calculus Elements | :code:`diff` | + +----------------------------------+------------------------------------------------------------------+ + | Qualifier Elements | :code:`bvar`, :code:`logbase`, :code:`degree` \* | + +----------------------------------+------------------------------------------------------------------+ + | Trigonometric Operators | | :code:`sin`, :code:`cos`, :code:`tan`, :code:`sec`, | + | | :code:`csc`, :code:`cot`, | + | | | :code:`sinh`, :code:`cosh`, :code:`tanh`, :code:`sech`, | + | | :code:`csch`, :code:`coth`, | + | | | :code:`arcsin`, :code:`arccos`, :code:`arctan`, | + | | | :code:`arcsec`, :code:`arccsc`, :code:`arccot`, | + | | | :code:`arcsinh`, :code:`arccosh`, :code:`arctanh`, | + | | | :code:`arcsech`, :code:`arccsch`, :code:`arccoth` | + +----------------------------------+------------------------------------------------------------------+ + | Mathematical and Logical | | :code:`pi`, :code:`exponentiale`, | + | Constants | :code:`notanumber`, | + | | | :code:`infinity`, :code:`true`, :code:`false` | + +----------------------------------+------------------------------------------------------------------+ \* :code:`degree` MUST be a child of :code:`root` or :code:`diff` diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 4c307dc0..25c53d0b 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -35,7 +35,7 @@ A "units reference" is an attribute value that specifies the physical units a va #. The units identified by a units reference SHALL be determined as follows: - #. If the units reference is identical to a value in the "Name" column of the :ref:`Built-in units table`, then it SHALL refer to the built-in units from the same row of the table. + #. If the units reference is identical to a value in the "Name" column of :numref:`Table {number}: {name}`, then it SHALL refer to the built-in units from the same row of the table. #. If the units reference is identical to the value of the :code:`name` attribute of a :code:`units` element in the same infoset, then it SHALL refer to the units specified by that element. @@ -49,85 +49,86 @@ A "units reference" is an attribute value that specifies the physical units a va .. _table_built_in_units: -**Table 3.1: Built-in units** - -+-----------------------+----------------------------------------------+ -| | **Name** | | **Unit reduction tuple** | -| | | | multiplier⋅(base, exponent) | -+-----------------------+----------------------------------------------+ -| :code:`ampere` | \- | -+-----------------------+----------------------------------------------+ -| :code:`becquerel` | (:code:`second`, -1) | -+-----------------------+----------------------------------------------+ -| :code:`candela` | \- | -+-----------------------+----------------------------------------------+ -| :code:`coulomb` | (:code:`second`, 1), (:code:`ampere`, 1) | -+-----------------------+----------------------------------------------+ -| :code:`dimensionless` | \- | -+-----------------------+----------------------------------------------+ -| :code:`farad` | (:code:`kilogram`, -1), (:code:`metre`, -2), | -| | (:code:`second`, 4), (:code:`ampere`, 2) | -+-----------------------+----------------------------------------------+ -| :code:`gram` | 0.001⋅(:code:`kilogram`, 1) | -+-----------------------+----------------------------------------------+ -| :code:`gray` | (:code:`metre`, 2), (:code:`second`, -2) | -+-----------------------+----------------------------------------------+ -| :code:`henry` | (:code:`kilogram`, 1), (:code:`metre`, 2), | -| | (:code:`second`, -2), (:code:`ampere`, -2) | -+-----------------------+----------------------------------------------+ -| :code:`hertz` | (:code:`second`, -1) | -+-----------------------+----------------------------------------------+ -| :code:`joule` | (:code:`kilogram`, 1), (:code:`metre`, 2), | -| | (:code:`second`, -2) | -+-----------------------+----------------------------------------------+ -| :code:`katal` | (:code:`second`, -1), (:code:`mole`, 1) | -+-----------------------+----------------------------------------------+ -| :code:`kelvin` | \- | -+-----------------------+----------------------------------------------+ -| :code:`kilogram` | \- | -+-----------------------+----------------------------------------------+ -| :code:`litre` | 0.001⋅(:code:`metre`, 3) | -+-----------------------+----------------------------------------------+ -| :code:`lumen` | (:code:`candela`, 1) | -+-----------------------+----------------------------------------------+ -| :code:`lux` | (:code:`metre`, -2), (:code:`candela`, 1) | -+-----------------------+----------------------------------------------+ -| :code:`metre` | \- | -+-----------------------+----------------------------------------------+ -| :code:`mole` | \- | -+-----------------------+----------------------------------------------+ -| :code:`newton` | (:code:`kilogram`, 1), (:code:`metre`, 1), | -| | (:code:`second`, -2) | -+-----------------------+----------------------------------------------+ -| :code:`ohm` | (:code:`kilogram`, 1), (:code:`metre`, 2), | -| | (:code:`second`, -3), (:code:`ampere`, -2) | -+-----------------------+----------------------------------------------+ -| :code:`pascal` | (:code:`kilogram`, 1), (:code:`metre`, -1), | -| | (:code:`second`, -2) | -+-----------------------+----------------------------------------------+ -| :code:`radian` | (:code:`dimensionless`, 1) | -+-----------------------+----------------------------------------------+ -| :code:`second` | \- | -+-----------------------+----------------------------------------------+ -| :code:`siemens` | (:code:`kilogram`, -1), (:code:`metre`, -2), | -| | (:code:`second`, 3), (:code:`ampere`, 2) | -+-----------------------+----------------------------------------------+ -| :code:`sievert` | (:code:`metre`, 2), (:code:`second`, -2) | -+-----------------------+----------------------------------------------+ -| :code:`steradian` | (:code:`dimensionless`, 1) | -+-----------------------+----------------------------------------------+ -| :code:`tesla` | (:code:`kilogram`, 1), (:code:`second`, -2), | -| | (:code:`ampere`, -1) | -+-----------------------+----------------------------------------------+ -| :code:`volt` | (:code:`kilogram`, 1), (:code:`metre`, 2), | -| | (:code:`second`, -3), (:code:`ampere`, -1) | -+-----------------------+----------------------------------------------+ -| :code:`watt` | (:code:`kilogram`, 1), (:code:`metre`, 2), | -| | (:code:`second`, -3) | -+-----------------------+----------------------------------------------+ -| :code:`weber` | (:code:`kilogram`, 1), (:code:`metre`, 2), | -| | (:code:`second`, -2), (:code:`ampere`, -1) | -+-----------------------+----------------------------------------------+ +.. table:: Built-in units + :widths: auto + + +-----------------------+----------------------------------------------+ + | | **Name** | | **Unit reduction tuple** | + | | | | multiplier⋅(base, exponent) | + +-----------------------+----------------------------------------------+ + | :code:`ampere` | \- | + +-----------------------+----------------------------------------------+ + | :code:`becquerel` | (:code:`second`, -1) | + +-----------------------+----------------------------------------------+ + | :code:`candela` | \- | + +-----------------------+----------------------------------------------+ + | :code:`coulomb` | (:code:`second`, 1), (:code:`ampere`, 1) | + +-----------------------+----------------------------------------------+ + | :code:`dimensionless` | \- | + +-----------------------+----------------------------------------------+ + | :code:`farad` | (:code:`kilogram`, -1), (:code:`metre`, -2), | + | | (:code:`second`, 4), (:code:`ampere`, 2) | + +-----------------------+----------------------------------------------+ + | :code:`gram` | 0.001⋅(:code:`kilogram`, 1) | + +-----------------------+----------------------------------------------+ + | :code:`gray` | (:code:`metre`, 2), (:code:`second`, -2) | + +-----------------------+----------------------------------------------+ + | :code:`henry` | (:code:`kilogram`, 1), (:code:`metre`, 2), | + | | (:code:`second`, -2), (:code:`ampere`, -2) | + +-----------------------+----------------------------------------------+ + | :code:`hertz` | (:code:`second`, -1) | + +-----------------------+----------------------------------------------+ + | :code:`joule` | (:code:`kilogram`, 1), (:code:`metre`, 2), | + | | (:code:`second`, -2) | + +-----------------------+----------------------------------------------+ + | :code:`katal` | (:code:`second`, -1), (:code:`mole`, 1) | + +-----------------------+----------------------------------------------+ + | :code:`kelvin` | \- | + +-----------------------+----------------------------------------------+ + | :code:`kilogram` | \- | + +-----------------------+----------------------------------------------+ + | :code:`litre` | 0.001⋅(:code:`metre`, 3) | + +-----------------------+----------------------------------------------+ + | :code:`lumen` | (:code:`candela`, 1) | + +-----------------------+----------------------------------------------+ + | :code:`lux` | (:code:`metre`, -2), (:code:`candela`, 1) | + +-----------------------+----------------------------------------------+ + | :code:`metre` | \- | + +-----------------------+----------------------------------------------+ + | :code:`mole` | \- | + +-----------------------+----------------------------------------------+ + | :code:`newton` | (:code:`kilogram`, 1), (:code:`metre`, 1), | + | | (:code:`second`, -2) | + +-----------------------+----------------------------------------------+ + | :code:`ohm` | (:code:`kilogram`, 1), (:code:`metre`, 2), | + | | (:code:`second`, -3), (:code:`ampere`, -2) | + +-----------------------+----------------------------------------------+ + | :code:`pascal` | (:code:`kilogram`, 1), (:code:`metre`, -1), | + | | (:code:`second`, -2) | + +-----------------------+----------------------------------------------+ + | :code:`radian` | (:code:`dimensionless`, 1) | + +-----------------------+----------------------------------------------+ + | :code:`second` | \- | + +-----------------------+----------------------------------------------+ + | :code:`siemens` | (:code:`kilogram`, -1), (:code:`metre`, -2), | + | | (:code:`second`, 3), (:code:`ampere`, 2) | + +-----------------------+----------------------------------------------+ + | :code:`sievert` | (:code:`metre`, 2), (:code:`second`, -2) | + +-----------------------+----------------------------------------------+ + | :code:`steradian` | (:code:`dimensionless`, 1) | + +-----------------------+----------------------------------------------+ + | :code:`tesla` | (:code:`kilogram`, 1), (:code:`second`, -2), | + | | (:code:`ampere`, -1) | + +-----------------------+----------------------------------------------+ + | :code:`volt` | (:code:`kilogram`, 1), (:code:`metre`, 2), | + | | (:code:`second`, -3), (:code:`ampere`, -1) | + +-----------------------+----------------------------------------------+ + | :code:`watt` | (:code:`kilogram`, 1), (:code:`metre`, 2), | + | | (:code:`second`, -3) | + +-----------------------+----------------------------------------------+ + | :code:`weber` | (:code:`kilogram`, 1), (:code:`metre`, 2), | + | | (:code:`second`, -2), (:code:`ampere`, -1) | + +-----------------------+----------------------------------------------+ .. marker_units_reference_end @@ -144,7 +145,7 @@ Interpretation of ``units`` elements 1. The prefix term is a conceptual property of :code:`unit` elements. If the :code:`unit` element does not have a :code:`prefix` attribute, the prefix term SHALL have value 0. If the :code:`prefix` attribute has a value which is an :ref:`integer string`, then the value of the prefix term SHALL be the numerical value of that string. - Otherwise, the :code:`prefix` attribute MUST have a value taken from the "Name" column of the :ref:`Prefix values table`, and the prefix term SHALL have the value taken from the "Value" column of the same row. + Otherwise, the :code:`prefix` attribute MUST have a value taken from the "Name" column of :numref:`Table {number}: {name}`, and the prefix term SHALL have the value taken from the "Value" column of the same row. 2. The exponent term is a conceptual property of :code:`unit` elements. If a :code:`unit` element has no :code:`exponent` attribute, the exponent term SHALL have value 1.0. @@ -171,7 +172,7 @@ Interpretation of ``units`` elements 1. The units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements). - 2. The built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of the :ref:`Built-in units table`) referenced by variables or other units in the model. + 2. The built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of :numref:`Table {number}: {name}`) referenced by variables or other units in the model. .. marker_interpretation_of_units_2 @@ -187,7 +188,7 @@ Interpretation of ``units`` elements 1. If the :ref:`units reference` of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. - 2. If the units reference of the :code:`unit` child element is to built-in units other than an :ref:`irreducible unit`, then the tuples SHALL be derived directly from the :ref:`Built-in units table`. + 2. If the units reference of the :code:`unit` child element is to built-in units other than an :ref:`irreducible unit`, then the tuples SHALL be derived directly from :numref:`Table {number}: {name}`. Specifically, the set of tuples SHALL consist of the tuples given in the "Unit reduction tuple set" column of the row for which the value in the "Name" column matches the name of the units reference. 3. If the units reference of the :code:`unit` child element is to a unit which is neither built-in, nor an irreducible unit, then the set of tuples SHALL be defined recursively as the set of tuples for the :code:`units` element so referenced. @@ -205,31 +206,32 @@ Interpretation of ``units`` elements .. _table_prefix_values: -**Table 3.2: Prefix values** - -============== ========== -**Name** **Value** -:code:`yotta` 24 -:code:`zetta` 21 -:code:`exa` 18 -:code:`peta` 15 -:code:`tera` 12 -:code:`giga` 9 -:code:`mega` 6 -:code:`kilo` 3 -:code:`hecto` 2 -:code:`deca` 1 -:code:`deci` −1 -:code:`centi` −2 -:code:`milli` −3 -:code:`micro` −6 -:code:`nano` −9 -:code:`pico` −12 -:code:`femto` −15 -:code:`atto` −18 -:code:`zepto` −21 -:code:`yocto` −24 -============== ========== +.. table:: Prefix values + :widths: auto + + ============== ========== + **Name** **Value** + :code:`yotta` 24 + :code:`zetta` 21 + :code:`exa` 18 + :code:`peta` 15 + :code:`tera` 12 + :code:`giga` 9 + :code:`mega` 6 + :code:`kilo` 3 + :code:`hecto` 2 + :code:`deca` 1 + :code:`deci` −1 + :code:`centi` −2 + :code:`milli` −3 + :code:`micro` −6 + :code:`nano` −9 + :code:`pico` −12 + :code:`femto` −15 + :code:`atto` −18 + :code:`zepto` −21 + :code:`yocto` −24 + ============== ========== .. marker_interpretation_of_units_end .. marker_component_reference_start @@ -318,7 +320,7 @@ Interpretation of ``math`` elements #. All :code:`component` elements referenced by :code:`import component` elements (see :numref:`%s. Interpretation of import elements`) in the top-level CellML infoset; and - #. All :code:`component` elements which are descendants in the encapsulation digraph (see :numref:`%s. Interpretation of encapsulation elements`) of a pertinent :code:`component` element. + #. All :code:`component` elements which are descendants in the encapsulation digraph (see :numref:`{number}. {name}`) of a pertinent :code:`component` element. #. Every MathML element in the CellML model which appears as a direct child of a MathML :code:`math` element, which in turn appears as a child of a pertinent :code:`component` element, SHALL be treated, in terms of the semantics of the mathematical model, as a statement which holds true unconditionally. From 3716bdb53b2feb47f9aef59004796b12e52e46da Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 11:23:49 +1200 Subject: [PATCH 526/604] Use numref to reference section number and name. --- src/reference/sectionB_elements.inc | 32 +++++++++++------------ src/reference/sectionC_interpretation.inc | 16 ++++++------ 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index b8314e44..fd60603d 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -76,7 +76,7 @@ An :code:`import` element information item (referred to in this specification as .. container:: issue-import-circular - 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported CellML infoset MUST NOT be semantically equivalent to the importing CellML infoset (see :numref:`%s. Non-specific information items`). + 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported CellML infoset MUST NOT be semantically equivalent to the importing CellML infoset (see :numref:`{number}. {name}`). .. marker_import_end .. marker_import_units_start @@ -153,7 +153,7 @@ A :code:`units` element information item (referred to in this specification as a .. container:: issue-units-standard - 2. The value of the :code:`name` attribute MUST NOT be identical to the name of any of the units listed in :numref:`Table {number}: {name}` (see :numref:`%s. Units references`). + 2. The value of the :code:`name` attribute MUST NOT be identical to the name of any of the units listed in :numref:`Table {number}: {name}` (see :numref:`{number}. {name}`). .. container:: issue-units-child @@ -173,7 +173,7 @@ A :code:`unit` element information item (referred to in this specification as a 1. Every :code:`unit` element MUST contain a :code:`units` attribute. - The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`%s. Units references`. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`{number}. {name}`. .. container:: issue-unit-digraph @@ -193,7 +193,7 @@ A :code:`unit` element information item (referred to in this specification as a .. container:: issue-unit-prefix - 1. The :code:`prefix` attribute. If present, the value of the attribute MUST meet the constraints specified in :numref:`%s. Interpretation of units elements `. + 1. The :code:`prefix` attribute. If present, the value of the attribute MUST meet the constraints specified in :numref:`{number}. {name}`. .. container:: issue-unit-multiplier @@ -259,7 +259,7 @@ A :code:`variable` element information item (referred to in this specification a .. container:: issue-variable-units 2. The :code:`units` attribute. - The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`%s. Units references`. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`{number}. {name}`. 2. Every :code:`variable` element MAY contain one or more of the following attributes: @@ -271,7 +271,7 @@ A :code:`variable` element information item (referred to in this specification a .. container:: issue-variable-initial-value 2. The :code:`initial_value` attribute. - If the attribute is present, it MUST meet the requirements described by :numref:`%s. Interpretation of initial_value attributes`. + If the attribute is present, it MUST meet the requirements described by :numref:`{number}. {name}`. .. marker_variable_end .. marker_reset_start @@ -288,19 +288,19 @@ A :code:`reset` element information item (referred to in this specification as a .. container:: issue-reset-variable-reference 1. The :code:`variable` attribute. - The value of the :code:`variable` attribute MUST be a valid variable reference, as defined in :numref:`%s. Variable references`. + The value of the :code:`variable` attribute MUST be a valid variable reference, as defined in :numref:`{number}. {name}`. .. container:: issue-reset-test-variable-reference 2. The :code:`test_variable` attribute. - The value of the :code:`test_variable` attribute MUST be a valid variable reference, as defined in :numref:`%s. Variable references`. + The value of the :code:`test_variable` attribute MUST be a valid variable reference, as defined in :numref:`{number}. {name}`. .. container:: issue-reset-order 3. The :code:`order` attribute. The value of the :code:`order` attribute MUST be an :ref:`integer string`. - The value of the :code:`order` attribute MUST be unique for all :code:`reset` elements with :code:`variable` attributes that reference variables in the same equivalent variable set (see :numref:`%s. Interpretation of map_variables elements`). + The value of the :code:`order` attribute MUST be unique for all :code:`reset` elements with :code:`variable` attributes that reference variables in the same equivalent variable set (see :numref:`{number}. {name}`). .. container:: issue-reset-child @@ -366,7 +366,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-ci-variable-reference - 3. The contents of a MathML :code:`ci` element MUST be a valid variable reference, as defined in :numref:`%s. Variable references`. + 3. The contents of a MathML :code:`ci` element MUST be a valid variable reference, as defined in :numref:`{number}. {name}`. .. marker_math_3 @@ -374,7 +374,7 @@ A :code:`math` element information item (referred to in this specification as a 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. - The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`%s. Units references`. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`{number}. {name}`. .. container:: issue-math-cn-type @@ -452,7 +452,7 @@ A :code:`component_ref` element information item (referred to in this specificat 1. Every :code:`component_ref` element MUST contain a :code:`component` attribute. - The value of the :code:`component` attribute MUST be a valid component reference, as defined in :numref:`%s. Component references`. + The value of the :code:`component` attribute MUST be a valid component reference, as defined in :numref:`{number}. {name}`. .. container:: issue-component-ref-child @@ -472,7 +472,7 @@ A :code:`connection` element information item (referred to in this specification 1. Each :code:`connection` element MUST contain a :code:`component_1` attribute. - The value of the :code:`component_1` attribute MUST be a valid component reference, as defined in :numref:`%s. Component references`. + The value of the :code:`component_1` attribute MUST be a valid component reference, as defined in :numref:`{number}. {name}`. .. marker_connection_1 @@ -480,7 +480,7 @@ A :code:`connection` element information item (referred to in this specification 2. Each :code:`connection` element MUST contain a :code:`component_2` attribute. - The value of the :code:`component_2` attribute MUST be a valid component reference, as defined in :numref:`%s. Component references`. + The value of the :code:`component_2` attribute MUST be a valid component reference, as defined in :numref:`{number}. {name}`. .. marker_connection_2 @@ -514,7 +514,7 @@ A :code:`map_variables` element information item (referred to in this specificat 1. Each :code:`map_variables` element MUST contain a :code:`variable_1` attribute. - The value of the :code:`variable_1` attribute MUST be a valid variable reference, as defined in :numref:`%s. Variable references`. + The value of the :code:`variable_1` attribute MUST be a valid variable reference, as defined in :numref:`{number}. {name}`. .. marker_map_variables_1 @@ -522,7 +522,7 @@ A :code:`map_variables` element information item (referred to in this specificat 2. Each :code:`map_variables` element MUST contain a :code:`variable_2` attribute. - The value of the :code:`variable_2` attribute MUST be a valid variable reference, as defined in :numref:`%s. Variable references`. + The value of the :code:`variable_2` attribute MUST be a valid variable reference, as defined in :numref:`{number}. {name}`. .. marker_map_variables_2 diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 25c53d0b..fe84eb9f 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -13,7 +13,7 @@ Interpretation of ``import`` elements #. When determining the :ref:`equivalent variable set` of a variable in an imported component: - #. Connections defined in the importing infoset SHALL be handled as described in :numref:`%s. Interpretation of map_variables elements`. + #. Connections defined in the importing infoset SHALL be handled as described in :numref:`{number}. {name}`. #. Connections defined in the imported infoset SHALL be handled as follows: @@ -39,7 +39,7 @@ A "units reference" is an attribute value that specifies the physical units a va #. If the units reference is identical to the value of the :code:`name` attribute of a :code:`units` element in the same infoset, then it SHALL refer to the units specified by that element. - #. If the units reference is identical to the value of the :code:`name` attribute of an :code:`import units` element in the same infoset, then it SHALL refer to units from the infoset defined by the :code:`import units` element (see :numref:`%s. Interpretation of import elements``). + #. If the units reference is identical to the value of the :code:`name` attribute of an :code:`import units` element in the same infoset, then it SHALL refer to units from the infoset defined by the :code:`import units` element (see :numref:`{number}. {name}``). The units specified SHALL then be determined by treating the value of the :code:`units_ref` attribute on the :code:`import units` element as a units reference within the imported infoset. If necessary, this rule SHALL be applied recursively. @@ -249,7 +249,7 @@ A "component reference" is an attribute value that specifies a CellML component. #. If the component reference is identical to the value of the :code:`name` attribute of a :code:`component` element in the same infoset, then it SHALL refer to the component specified by that element. - #. If the component reference is identical to the value of the :code:`name` attribute of an :code:`import component` element in the same infoset, then it SHALL refer to a component from the infoset defined by the :code:`import component` element (see :numref:`%s. Interpretation of import elements`). + #. If the component reference is identical to the value of the :code:`name` attribute of an :code:`import component` element in the same infoset, then it SHALL refer to a component from the infoset defined by the :code:`import component` element (see :numref:`{number}. {name}`). The component specified SHALL then be determined by treating the value of the :code:`component_ref` attribute on the :code:`import component` element as a component reference within the imported infoset. If necessary, this rule SHALL be applied recursively. @@ -303,7 +303,7 @@ Interpretation of ``initial_value`` attributes Effect of ``units`` on a ``variable`` ------------------------------------- -#. The target of the :code:`units` attribute on a variable is referred to as the "variable units", and the corresponding unit reduction (see :numref:`%s. Interpretation of units elements`) is referred to as the "variable unit reduction". +#. The target of the :code:`units` attribute on a variable is referred to as the "variable units", and the corresponding unit reduction (see :numref:`{number}. {name}`) is referred to as the "variable unit reduction". .. marker_effect_of_units_on_variables_end .. marker_interpretation_of_mathematics_start @@ -318,7 +318,7 @@ Interpretation of ``math`` elements #. All :code:`component` elements in the top-level :ref:`CellML infoset` for the :ref:`CellML model`; - #. All :code:`component` elements referenced by :code:`import component` elements (see :numref:`%s. Interpretation of import elements`) in the top-level CellML infoset; and + #. All :code:`component` elements referenced by :code:`import component` elements (see :numref:`{number}. {name}`) in the top-level CellML infoset; and #. All :code:`component` elements which are descendants in the encapsulation digraph (see :numref:`{number}. {name}`) of a pertinent :code:`component` element. @@ -419,11 +419,11 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_4 -9. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :numref:`%s. Effect of units on variables`) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. +9. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :numref:`{number}. {name}`) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. Two sets of tuples SHALL be considered identical if all of the tuples from each set are present in the other, or if both sets are empty. Two tuples are considered identical if and only if both the unit name and exponent of each tuple are identical. -10. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :numref:`%s. Interpretation of units elements`). +10. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :numref:`{number}. {name}`). .. marker_interpretation_of_map_variables_5 .. _specC_equivalent_variable_set: @@ -445,7 +445,7 @@ Interpretation of ``reset`` elements #. Each :code:`reset` element describes a change to be applied to the reset variable when specified conditions are met during the simulation of the model. -#. All :code:`reset` elements SHALL be considered sequentially for the equivalent variable set (see :numref:`%s. Interpretation of map_variables elements`) to which the reset variable belongs. +#. All :code:`reset` elements SHALL be considered sequentially for the equivalent variable set (see :numref:`{number}. {name}`) to which the reset variable belongs. The sequence SHALL be determined by the value of the reset element’s :code:`order` attribute, lowest (least positive / most negative) having priority. #. The condition under which a reset occurs SHALL be defined by the equality of evaluation of the test variable and the evaluation of the MathML expression encoded in the :code:`test_value`. From b52a3de42f1eece5fed794276194d5e81d48d3d1 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Fri, 17 Apr 2020 00:43:27 +0100 Subject: [PATCH 527/604] Made normative-only the default build. --- README.rst | 4 ++-- src/conf.py | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index 1ddd80c2..a466dda2 100644 --- a/README.rst +++ b/README.rst @@ -63,8 +63,8 @@ Documentation builds There are two types of build that can be created from this codebase, they can be selected through the use of the environment variable ``CELLML_SPEC_BUILD``. -1. Normative and informative specification combined, the default build. -2. Normative only, set ``CELLML_SPEC_BUILD=Normative``. +1. Normative only, set ``CELLML_SPEC_BUILD=Normative`` (default build). +2. Normative and informative specification combined, set ``CELLML_SPEC_BUILD=Full`` Serving the documentation ^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/conf.py b/src/conf.py index e8e71e1b..e5b28bf0 100644 --- a/src/conf.py +++ b/src/conf.py @@ -20,8 +20,9 @@ tags.add('unofficial') -build_type = os.environ['CELLML_SPEC_BUILD'] if 'CELLML_SPEC_BUILD' in os.environ else 'Full' - +build_type = os.environ['CELLML_SPEC_BUILD'] if 'CELLML_SPEC_BUILD' in os.environ else 'Normative' +if build_type not in ('Normative', 'Full'): + raise ValueError('Build type must be "Normative" or "Full".') def manage_index(direction, base_dir=''): files = ['master_index.rst', 'index.rst'] From 21726ba04eefd6c0e6a0478edec18dfde7247d80 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 11:57:19 +1200 Subject: [PATCH 528/604] Added citations through the text for external references --- src/reference/sectionA_definitions.inc | 12 ++++++------ src/reference/sectionB_elements.inc | 4 ++-- src/reference/sectionD_references.inc | 14 +++++++------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 80b55421..63661f9a 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -7,9 +7,9 @@ Terminology ----------- -The keywords "MUST", "MUST NOT", "SHALL", "SHALL NOT", and "MAY" in this document are to be interpreted as described in :rfc2119:`RFC 2119 <>`. +The keywords "MUST", "MUST NOT", "SHALL", "SHALL NOT", and "MAY" in this document are to be interpreted as described in :rfc2119:`RFC 2119 <>`[ref_rfc2119]_. -The key phrase "information item", as well as any specific type of information item such as an "element information item", are to be interpreted as described in :xml_infoset:`XML Information Set <>`. +The key phrase "information item", as well as any specific type of information item such as an "element information item", are to be interpreted as described in :xml_infoset:`XML Information Set <>` [ref_xml_infoset]_. .. _specA_cellml_infoset: @@ -26,7 +26,7 @@ In this specification, the topmost CellML infoset in a hierarchy is referred to .. _specA_namespace: **Namespace:** -An XML namespace, as defined in :xml_namespace_1_1:`Namespaces in XML 1.1 <>`. +An XML namespace, as defined in :xml_namespace_1_1:`Namespaces in XML 1.1 <>` [ref_xml_namespace_1_1]_. .. _specA_cellml_namespace: @@ -50,7 +50,7 @@ Any information item in the :ref:`CellML namespace`. .. _specA_basic_latin_alphabetical_character: **Basic Latin alphabetical character:** -A Unicode character in the range :unicode:`0041` to :unicode:`005A` or in the range :unicode:`0061` to :unicode:`007A`. +A Unicode [ref_unicode]_ character in the range :unicode:`0041` to :unicode:`005A` or in the range :unicode:`0061` to :unicode:`007A`. .. _specA_digit: @@ -98,7 +98,7 @@ CellML information sets CellML and XML ~~~~~~~~~~~~~~ -#. Every :ref:`CellML infoset` SHALL be represented in an XML information set which conforms with the well-formedness requirements of :xml_1_1:`XML 1.1 <>`. +#. Every :ref:`CellML infoset` SHALL be represented in an XML information set which conforms with the well-formedness requirements of :xml_1_1:`XML 1.1 <>` [ref_xml_1_1]_. #. In this document, the remaining provisions relating to CellML infosets SHALL be interpreted as additional constraints on the XML information set represented by a CellML infoset. @@ -175,7 +175,7 @@ XML ID Attributes ~~~~~~~~~~~~~~~~~ #. Any element information item in the :ref:`CellML namespace` MAY contain an attribute with local name :code:`id.` - This attribute SHALL be treated as having attribute type ID, as defined in :xml_1_1:`section 3.3.1 <#sec-attribute-types>` of :xml_1_1:`XML 1.1 <>`. + This attribute SHALL be treated as having attribute type ID, as defined in :xml_1_1:`section 3.3.1 <#sec-attribute-types>` of :xml_1_1:`XML 1.1 <>` [ref_xml_1_1]_. .. marker_cellml_information_sets_end .. marker_data_formats_start diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 4879b2d3..15f7fd91 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -56,9 +56,9 @@ An :code:`import` element information item (referred to in this specification as 1. Every :code:`import` element MUST contain an attribute in the namespace :code:`http://www.w3.org/1999/xlink`, with a local name equal to :code:`href`. - The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification <>`. + The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification <>` [ref_xlink]_. - The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification`, by applying the rules for simple-type elements. + The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification` [ref_xlink]_, by applying the rules for simple-type elements. When describing an :code:`import` element or one of its children, the phrase "imported CellML infoset" SHALL refer to the :ref:`CellML infoset` obtained by parsing the document referenced by the :code:`href` attribute. diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index c824b5b0..5a93b53f 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -1,15 +1,15 @@ .. _sectionD: -Extensible Markup Language (XML) 1.1 :xml_1_1_display:`/` +.. [ref_xml_1_1] Extensible Markup Language (XML) 1.1 :xml_1_1_display:`/` -Mathematical Markup Language (MathML) Version 2.0 :mathml2_display:`/` +.. [ref_mathml2] Mathematical Markup Language (MathML) Version 2.0 :mathml2_display:`/` -Namespaces in XML 1.1 :xml_namespace_1_1_display:`/` +.. [ref_xml_namespace_1_1] Namespaces in XML 1.1 :xml_namespace_1_1_display:`/` -RFC 2119: Key words for use in RFCs to Indicate Requirement Levels :rfc2119_display:`rfc2119.txt` +.. [ref_rfc2119] RFC 2119: Key words for use in RFCs to Indicate Requirement Levels :rfc2119_display:`rfc2119.txt` -Unicode 13.0.0 :unicode13_display:`/` +.. [ref_unicode] Unicode 13.0.0 :unicode13_display:`/` -XML Information Set :xml_infoset_display:`/` +.. [ref_xml_infoset] XML Information Set :xml_infoset_display:`/` -XML Linking Language (XLink) Version 1.1 :xlink_display:`/` +.. [ref_xlink] XML Linking Language (XLink) Version 1.1 :xlink_display:`/` From efc44d0db3465bef7ab2f3b4fc94ffed183a9e69 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 12:07:44 +1200 Subject: [PATCH 529/604] testing numbered --- src/reference/sectionB_elements.inc | 2 ++ src/reference/sectionD_references.inc | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 15f7fd91..107c36a0 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -12,6 +12,8 @@ The ``model`` element The top-level element information item in a :ref:`CellML infoset` MUST be an element in the :ref:`CellML namespace` with a local name equal to :code:`model`. In this specification, the top-level element is referred to as the :code:`model` element. + testing [1]_ is here. + .. container:: issue-model-name diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index 5a93b53f..80d57b59 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -13,3 +13,5 @@ .. [ref_xml_infoset] XML Information Set :xml_infoset_display:`/` .. [ref_xlink] XML Linking Language (XLink) Version 1.1 :xlink_display:`/` + +.. [1] testing From 272e771b7ecaf8a1fb43d73965679497eab5898d Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 12:09:44 +1200 Subject: [PATCH 530/604] Revert "testing numbered" This reverts commit efc44d0db3465bef7ab2f3b4fc94ffed183a9e69. --- src/reference/sectionB_elements.inc | 2 -- src/reference/sectionD_references.inc | 2 -- 2 files changed, 4 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 107c36a0..15f7fd91 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -12,8 +12,6 @@ The ``model`` element The top-level element information item in a :ref:`CellML infoset` MUST be an element in the :ref:`CellML namespace` with a local name equal to :code:`model`. In this specification, the top-level element is referred to as the :code:`model` element. - testing [1]_ is here. - .. container:: issue-model-name diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index 80d57b59..5a93b53f 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -13,5 +13,3 @@ .. [ref_xml_infoset] XML Information Set :xml_infoset_display:`/` .. [ref_xlink] XML Linking Language (XLink) Version 1.1 :xlink_display:`/` - -.. [1] testing From 0b9ebfdc35986c6587a7025d7abc57482b491378 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 12:13:56 +1200 Subject: [PATCH 531/604] Generic numbered references --- src/reference/sectionA_definitions.inc | 12 ++++++------ src/reference/sectionB_elements.inc | 4 ++-- src/reference/sectionD_references.inc | 14 +++++++------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 63661f9a..c7ae5618 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -7,9 +7,9 @@ Terminology ----------- -The keywords "MUST", "MUST NOT", "SHALL", "SHALL NOT", and "MAY" in this document are to be interpreted as described in :rfc2119:`RFC 2119 <>`[ref_rfc2119]_. +The keywords "MUST", "MUST NOT", "SHALL", "SHALL NOT", and "MAY" in this document are to be interpreted as described in :rfc2119:`RFC 2119 <>`[Ref_4]_. -The key phrase "information item", as well as any specific type of information item such as an "element information item", are to be interpreted as described in :xml_infoset:`XML Information Set <>` [ref_xml_infoset]_. +The key phrase "information item", as well as any specific type of information item such as an "element information item", are to be interpreted as described in :xml_infoset:`XML Information Set <>` [Ref_6]_. .. _specA_cellml_infoset: @@ -26,7 +26,7 @@ In this specification, the topmost CellML infoset in a hierarchy is referred to .. _specA_namespace: **Namespace:** -An XML namespace, as defined in :xml_namespace_1_1:`Namespaces in XML 1.1 <>` [ref_xml_namespace_1_1]_. +An XML namespace, as defined in :xml_namespace_1_1:`Namespaces in XML 1.1 <>` [Ref_3]_. .. _specA_cellml_namespace: @@ -50,7 +50,7 @@ Any information item in the :ref:`CellML namespace`. .. _specA_basic_latin_alphabetical_character: **Basic Latin alphabetical character:** -A Unicode [ref_unicode]_ character in the range :unicode:`0041` to :unicode:`005A` or in the range :unicode:`0061` to :unicode:`007A`. +A Unicode [Ref_5]_ character in the range :unicode:`0041` to :unicode:`005A` or in the range :unicode:`0061` to :unicode:`007A`. .. _specA_digit: @@ -98,7 +98,7 @@ CellML information sets CellML and XML ~~~~~~~~~~~~~~ -#. Every :ref:`CellML infoset` SHALL be represented in an XML information set which conforms with the well-formedness requirements of :xml_1_1:`XML 1.1 <>` [ref_xml_1_1]_. +#. Every :ref:`CellML infoset` SHALL be represented in an XML information set which conforms with the well-formedness requirements of :xml_1_1:`XML 1.1 <>` [Ref_1]_. #. In this document, the remaining provisions relating to CellML infosets SHALL be interpreted as additional constraints on the XML information set represented by a CellML infoset. @@ -175,7 +175,7 @@ XML ID Attributes ~~~~~~~~~~~~~~~~~ #. Any element information item in the :ref:`CellML namespace` MAY contain an attribute with local name :code:`id.` - This attribute SHALL be treated as having attribute type ID, as defined in :xml_1_1:`section 3.3.1 <#sec-attribute-types>` of :xml_1_1:`XML 1.1 <>` [ref_xml_1_1]_. + This attribute SHALL be treated as having attribute type ID, as defined in :xml_1_1:`section 3.3.1 <#sec-attribute-types>` of :xml_1_1:`XML 1.1 <>` [Ref_1]_. .. marker_cellml_information_sets_end .. marker_data_formats_start diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 15f7fd91..7647528e 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -56,9 +56,9 @@ An :code:`import` element information item (referred to in this specification as 1. Every :code:`import` element MUST contain an attribute in the namespace :code:`http://www.w3.org/1999/xlink`, with a local name equal to :code:`href`. - The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification <>` [ref_xlink]_. + The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification <>` [Ref_7]_. - The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification` [ref_xlink]_, by applying the rules for simple-type elements. + The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification` [Ref_7]_, by applying the rules for simple-type elements. When describing an :code:`import` element or one of its children, the phrase "imported CellML infoset" SHALL refer to the :ref:`CellML infoset` obtained by parsing the document referenced by the :code:`href` attribute. diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index 5a93b53f..48e91d2b 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -1,15 +1,15 @@ .. _sectionD: -.. [ref_xml_1_1] Extensible Markup Language (XML) 1.1 :xml_1_1_display:`/` +.. [Ref_1] Extensible Markup Language (XML) 1.1 :xml_1_1_display:`/` -.. [ref_mathml2] Mathematical Markup Language (MathML) Version 2.0 :mathml2_display:`/` +.. [Ref_2] Mathematical Markup Language (MathML) Version 2.0 :mathml2_display:`/` -.. [ref_xml_namespace_1_1] Namespaces in XML 1.1 :xml_namespace_1_1_display:`/` +.. [Ref_3] Namespaces in XML 1.1 :xml_namespace_1_1_display:`/` -.. [ref_rfc2119] RFC 2119: Key words for use in RFCs to Indicate Requirement Levels :rfc2119_display:`rfc2119.txt` +.. [Ref_4] RFC 2119: Key words for use in RFCs to Indicate Requirement Levels :rfc2119_display:`rfc2119.txt` -.. [ref_unicode] Unicode 13.0.0 :unicode13_display:`/` +.. [Ref_5] Unicode 13.0.0 :unicode13_display:`/` -.. [ref_xml_infoset] XML Information Set :xml_infoset_display:`/` +.. [Ref_6] XML Information Set :xml_infoset_display:`/` -.. [ref_xlink] XML Linking Language (XLink) Version 1.1 :xlink_display:`/` +.. [Ref_7] XML Linking Language (XLink) Version 1.1 :xlink_display:`/` From 8572938467b4a35e9f0c60306e73d1ec7ffecb2b Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 12:31:47 +1200 Subject: [PATCH 532/604] Remove 2.0 from project title. Add unofficial suffix to version number for unofficial builds (the default). --- src/conf.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/conf.py b/src/conf.py index b6477d4a..43d4b31d 100644 --- a/src/conf.py +++ b/src/conf.py @@ -172,7 +172,7 @@ def define_excluded_patterns(): """ # General information about the project. -project = u'CellML 2.0' +project = u'CellML' copyright = u'2019-{0}, CellML Editors and Contributors'.format( date_today.year) @@ -184,6 +184,9 @@ def define_excluded_patterns(): version = '2.0.0-rc1' # The full version, including alpha/beta/rc tags. release = '2.0.0-rc1' +if unofficial: + version += '-unofficial' + release += '-unofficial' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From 0437a6dec7df5b92219b8ec9e8e96f574f6b7476 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 12:35:42 +1200 Subject: [PATCH 533/604] References for mathml and rfc fixed --- src/reference/sectionA_definitions.inc | 2 +- src/reference/sectionB_elements.inc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index c7ae5618..e78b08b1 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -7,7 +7,7 @@ Terminology ----------- -The keywords "MUST", "MUST NOT", "SHALL", "SHALL NOT", and "MAY" in this document are to be interpreted as described in :rfc2119:`RFC 2119 <>`[Ref_4]_. +The keywords "MUST", "MUST NOT", "SHALL", "SHALL NOT", and "MAY" in this document are to be interpreted as described in :rfc2119:`RFC 2119 <>` [Ref_4]_. The key phrase "information item", as well as any specific type of information item such as an "element information item", are to be interpreted as described in :xml_infoset:`XML Information Set <>` [Ref_6]_. diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 7647528e..a64ecef3 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -354,7 +354,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-mathml - 1. A :code:`math` element MUST be the top-level element of a Content MathML tree, as described in :mathml2:`MathML 2.0 <>`. + 1. A :code:`math` element MUST be the top-level element of a Content MathML tree, as described in :mathml2:`MathML 2.0 <>` [Ref_2]_. .. marker_math_1 From 4a543912651266d56eeb75ffcc90b3b12a8ca1d3 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Fri, 17 Apr 2020 03:04:16 +0100 Subject: [PATCH 534/604] Updated requirements and gitignore file. Closes #293. --- .gitignore | 1 + requirements.txt | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 5dfa7929..d7d4afb6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .vscode/ .DS_Store build/ +venv/ diff --git a/requirements.txt b/requirements.txt index d07319da..16d4a9f8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,3 @@ +sphinx>2,<3 sphinx-hoverxref +sphinx_rtd_theme From 2c56171227b6e2673f081d787f49629de80cb9bd Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Fri, 17 Apr 2020 03:07:24 +0100 Subject: [PATCH 535/604] Updated README to use requirements.txt --- README.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/README.rst b/README.rst index a466dda2..63c4cdd3 100644 --- a/README.rst +++ b/README.rst @@ -27,7 +27,6 @@ Next setup a virtual environment:: Then activate the virtual environment and instal the required packages:: source venv_specification/bin/activate - pip install sphinx sphinx_rtd_theme pip install -r cellml-specification/requirements.txt That completes the environment setup required for building the documentation. From 0e7a4be1bc47f2d42033a791719e177d7ffdab11 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Fri, 17 Apr 2020 03:07:38 +0100 Subject: [PATCH 536/604] Updated gitignore to ignore virtual env recommended in README. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d7d4afb6..e75a84e9 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ .DS_Store build/ venv/ +venv_specification/ From 93cb7ca6f6bc8c5dcb923d9ac5863f69634446b0 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Fri, 17 Apr 2020 03:18:30 +0100 Subject: [PATCH 537/604] Added latex info to README.rst. Closes #154. --- README.rst | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index a466dda2..936ea71c 100644 --- a/README.rst +++ b/README.rst @@ -2,7 +2,7 @@ CellML Specification ==================== -This repository will be used by the CellML editors to develop the CellML specification (starting with version 1.2) +This repository will be used by the CellML editors to develop the CellML specification (starting with the discontinued version 1.2) The content has been reworked to include an informal guide embedded within the normative specification text (in version 2.0). If things work correctly, changes in this repository will be reflected over at: https://cellml-specification.readthedocs.org/. @@ -50,14 +50,26 @@ The built documentation will be available at:: /absolute/path/to/cellml-specification/build/singlehtml/index.html +Building PDFs +^^^^^^^^^^^^^ + To build the PDF form of the documentation, simply execute the following command:: make latexpdf -**Note:** creating the PDF form of the documentation requires that some or all of a tool like Windows/`MikTeX `_, Windows/`TeXlive `_, Linux/`TeXlive `_, and macOS/`MacTeX `_ is available to the Sphinx build tool. -Also check that you have ``latexmk`` available as this is required for creating the PDF form of the documentation. +If this fails, please have a look at the following: + +Creating the PDF form of the documentation requires that some or all of a tool like Windows/`MikTeX `_, Windows/`TeXlive `_, Linux/`TeXlive `_, and macOS/`MacTeX `_ is available to the Sphinx build tool. + +In addition, you'll need the following latex packages: + +`babel-greek`, `capt-of`, `cbfonts`, `courier`, `fncychap`, `fontspec`, `framed`, `greek-fontenc`, `helvetic`, `latexmk`, `needspace`, `tabulary`, `textgreek`, `titlesec`, `tocloft`, `varwidth`, `wrapfig` + +In particular, check that you have ``latexmk`` available as this is required for creating the PDF form of the documentation. Information on ``latexmk`` can be found at https://ctan.org/pkg/latexmk/. +You may also need to install the ["GNU FreeFont" fonts](https://www.gnu.org/software/freefont/) `FreeSans`, `FreeSerif`, `FreeMono`. + Documentation builds ^^^^^^^^^^^^^^^^^^^^ From e331f3e862f62a1e4460bc61eb76f0268b2498e7 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 14:24:50 +1200 Subject: [PATCH 538/604] Try out numbered refs --- src/reference/sectionA_definitions.inc | 12 ++++++------ src/reference/sectionB_elements.inc | 6 +++--- src/reference/sectionD_references.inc | 27 +++++++++++++++++++------- 3 files changed, 29 insertions(+), 16 deletions(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index e78b08b1..88ec12dd 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -7,9 +7,9 @@ Terminology ----------- -The keywords "MUST", "MUST NOT", "SHALL", "SHALL NOT", and "MAY" in this document are to be interpreted as described in :rfc2119:`RFC 2119 <>` [Ref_4]_. +The keywords "MUST", "MUST NOT", "SHALL", "SHALL NOT", and "MAY" in this document are to be interpreted as described in :rfc2119:`RFC 2119 <>` [:ref:`4`]. -The key phrase "information item", as well as any specific type of information item such as an "element information item", are to be interpreted as described in :xml_infoset:`XML Information Set <>` [Ref_6]_. +The key phrase "information item", as well as any specific type of information item such as an "element information item", are to be interpreted as described in :xml_infoset:`XML Information Set <>` [:ref:`6`]. .. _specA_cellml_infoset: @@ -26,7 +26,7 @@ In this specification, the topmost CellML infoset in a hierarchy is referred to .. _specA_namespace: **Namespace:** -An XML namespace, as defined in :xml_namespace_1_1:`Namespaces in XML 1.1 <>` [Ref_3]_. +An XML namespace, as defined in :xml_namespace_1_1:`Namespaces in XML 1.1 <>` [:ref:`3`]. .. _specA_cellml_namespace: @@ -50,7 +50,7 @@ Any information item in the :ref:`CellML namespace`. .. _specA_basic_latin_alphabetical_character: **Basic Latin alphabetical character:** -A Unicode [Ref_5]_ character in the range :unicode:`0041` to :unicode:`005A` or in the range :unicode:`0061` to :unicode:`007A`. +A Unicode [:ref:`5`] character in the range :unicode:`0041` to :unicode:`005A` or in the range :unicode:`0061` to :unicode:`007A`. .. _specA_digit: @@ -98,7 +98,7 @@ CellML information sets CellML and XML ~~~~~~~~~~~~~~ -#. Every :ref:`CellML infoset` SHALL be represented in an XML information set which conforms with the well-formedness requirements of :xml_1_1:`XML 1.1 <>` [Ref_1]_. +#. Every :ref:`CellML infoset` SHALL be represented in an XML information set which conforms with the well-formedness requirements of :xml_1_1:`XML 1.1 <>` [:ref:`1`]. #. In this document, the remaining provisions relating to CellML infosets SHALL be interpreted as additional constraints on the XML information set represented by a CellML infoset. @@ -175,7 +175,7 @@ XML ID Attributes ~~~~~~~~~~~~~~~~~ #. Any element information item in the :ref:`CellML namespace` MAY contain an attribute with local name :code:`id.` - This attribute SHALL be treated as having attribute type ID, as defined in :xml_1_1:`section 3.3.1 <#sec-attribute-types>` of :xml_1_1:`XML 1.1 <>` [Ref_1]_. + This attribute SHALL be treated as having attribute type ID, as defined in :xml_1_1:`section 3.3.1 <#sec-attribute-types>` of :xml_1_1:`XML 1.1 <>` [:ref:`1`]. .. marker_cellml_information_sets_end .. marker_data_formats_start diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index a64ecef3..8336c38a 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -56,9 +56,9 @@ An :code:`import` element information item (referred to in this specification as 1. Every :code:`import` element MUST contain an attribute in the namespace :code:`http://www.w3.org/1999/xlink`, with a local name equal to :code:`href`. - The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification <>` [Ref_7]_. + The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification <>` [:ref:`7`]. - The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification` [Ref_7]_, by applying the rules for simple-type elements. + The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification` [:ref:`7`], by applying the rules for simple-type elements. When describing an :code:`import` element or one of its children, the phrase "imported CellML infoset" SHALL refer to the :ref:`CellML infoset` obtained by parsing the document referenced by the :code:`href` attribute. @@ -354,7 +354,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-mathml - 1. A :code:`math` element MUST be the top-level element of a Content MathML tree, as described in :mathml2:`MathML 2.0 <>` [Ref_2]_. + 1. A :code:`math` element MUST be the top-level element of a Content MathML tree, as described in :mathml2:`MathML 2.0 <>` [:ref:`2`]. .. marker_math_1 diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index 48e91d2b..de6c47a5 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -1,15 +1,28 @@ .. _sectionD: -.. [Ref_1] Extensible Markup Language (XML) 1.1 :xml_1_1_display:`/` +.. _ref_xml_1_1: +1. Extensible Markup Language (XML) 1.1 :xml_1_1_display:`/` -.. [Ref_2] Mathematical Markup Language (MathML) Version 2.0 :mathml2_display:`/` +.. _ref_mathml2: -.. [Ref_3] Namespaces in XML 1.1 :xml_namespace_1_1_display:`/` +2. Mathematical Markup Language (MathML) Version 2.0 :mathml2_display:`/` -.. [Ref_4] RFC 2119: Key words for use in RFCs to Indicate Requirement Levels :rfc2119_display:`rfc2119.txt` +.. _ref_xml_namespace_1_1: -.. [Ref_5] Unicode 13.0.0 :unicode13_display:`/` +3. Namespaces in XML 1.1 :xml_namespace_1_1_display:`/` -.. [Ref_6] XML Information Set :xml_infoset_display:`/` +.. _ref_rfc2119: -.. [Ref_7] XML Linking Language (XLink) Version 1.1 :xlink_display:`/` +4. RFC 2119: Key words for use in RFCs to Indicate Requirement Levels :rfc2119_display:`rfc2119.txt` + +.. _ref_unicode: + +5. Unicode 13.0.0 :unicode13_display:`/` + +.. _ref_xml_infoset: + +6. XML Information Set :xml_infoset_display:`/` + +.. _ref_xlink: + +7. XML Linking Language (XLink) Version 1.1 :xlink_display:`/` From e390378672832dfb34e47a64a988ca8f9bf52fb4 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 14:29:37 +1200 Subject: [PATCH 539/604] typo --- src/reference/sectionA_definitions.inc | 2 +- src/reference/sectionD_references.inc | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 88ec12dd..40f4a509 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -26,7 +26,7 @@ In this specification, the topmost CellML infoset in a hierarchy is referred to .. _specA_namespace: **Namespace:** -An XML namespace, as defined in :xml_namespace_1_1:`Namespaces in XML 1.1 <>` [:ref:`3`]. +An XML namespace, as defined in :xml_namespace_1_1:`Namespaces in XML 1.1 <>` [:ref:`3`]. .. _specA_cellml_namespace: diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index de6c47a5..ca8739d3 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -1,6 +1,7 @@ .. _sectionD: .. _ref_xml_1_1: + 1. Extensible Markup Language (XML) 1.1 :xml_1_1_display:`/` .. _ref_mathml2: From 6492f6f495804d916ccaf7560160a498aeb0577b Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Fri, 17 Apr 2020 03:38:32 +0100 Subject: [PATCH 540/604] Formatting fixes to README --- README.rst | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index 936ea71c..529424b0 100644 --- a/README.rst +++ b/README.rst @@ -61,14 +61,12 @@ If this fails, please have a look at the following: Creating the PDF form of the documentation requires that some or all of a tool like Windows/`MikTeX `_, Windows/`TeXlive `_, Linux/`TeXlive `_, and macOS/`MacTeX `_ is available to the Sphinx build tool. -In addition, you'll need the following latex packages: - -`babel-greek`, `capt-of`, `cbfonts`, `courier`, `fncychap`, `fontspec`, `framed`, `greek-fontenc`, `helvetic`, `latexmk`, `needspace`, `tabulary`, `textgreek`, `titlesec`, `tocloft`, `varwidth`, `wrapfig` +In addition, you'll need the following latex packages: ``babel-greek``, ``capt-of``, ``cbfonts``, ``courier``, ``fncychap``, ``fontspec``, ``framed``, ``greek-fontenc``, ``helvetic``, ``latexmk``, ``needspace``, ``tabulary``, ``textgreek``, ``titlesec``, ``tocloft``, ``varwidth``, ``wrapfig``. In particular, check that you have ``latexmk`` available as this is required for creating the PDF form of the documentation. Information on ``latexmk`` can be found at https://ctan.org/pkg/latexmk/. -You may also need to install the ["GNU FreeFont" fonts](https://www.gnu.org/software/freefont/) `FreeSans`, `FreeSerif`, `FreeMono`. +You may also need to install the `"GNU FreeFont" fonts `_ `FreeSans`, `FreeSerif`, `FreeMono`. Documentation builds ^^^^^^^^^^^^^^^^^^^^ From 7bd62813f7d665cfe03ccbd252c1a4357bc56998 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Fri, 17 Apr 2020 03:44:04 +0100 Subject: [PATCH 541/604] latex --> LaTeX --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 529424b0..af2b99b9 100644 --- a/README.rst +++ b/README.rst @@ -61,7 +61,7 @@ If this fails, please have a look at the following: Creating the PDF form of the documentation requires that some or all of a tool like Windows/`MikTeX `_, Windows/`TeXlive `_, Linux/`TeXlive `_, and macOS/`MacTeX `_ is available to the Sphinx build tool. -In addition, you'll need the following latex packages: ``babel-greek``, ``capt-of``, ``cbfonts``, ``courier``, ``fncychap``, ``fontspec``, ``framed``, ``greek-fontenc``, ``helvetic``, ``latexmk``, ``needspace``, ``tabulary``, ``textgreek``, ``titlesec``, ``tocloft``, ``varwidth``, ``wrapfig``. +In addition, you'll need the following LaTeX packages: ``babel-greek``, ``capt-of``, ``cbfonts``, ``courier``, ``fncychap``, ``fontspec``, ``framed``, ``greek-fontenc``, ``helvetic``, ``latexmk``, ``needspace``, ``tabulary``, ``textgreek``, ``titlesec``, ``tocloft``, ``varwidth``, ``wrapfig``. In particular, check that you have ``latexmk`` available as this is required for creating the PDF form of the documentation. Information on ``latexmk`` can be found at https://ctan.org/pkg/latexmk/. From 2cebbc183af0519d56a30288e72423250aad3245 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Fri, 17 Apr 2020 03:45:02 +0100 Subject: [PATCH 542/604] Added 'and'. --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index af2b99b9..8a38da03 100644 --- a/README.rst +++ b/README.rst @@ -61,7 +61,7 @@ If this fails, please have a look at the following: Creating the PDF form of the documentation requires that some or all of a tool like Windows/`MikTeX `_, Windows/`TeXlive `_, Linux/`TeXlive `_, and macOS/`MacTeX `_ is available to the Sphinx build tool. -In addition, you'll need the following LaTeX packages: ``babel-greek``, ``capt-of``, ``cbfonts``, ``courier``, ``fncychap``, ``fontspec``, ``framed``, ``greek-fontenc``, ``helvetic``, ``latexmk``, ``needspace``, ``tabulary``, ``textgreek``, ``titlesec``, ``tocloft``, ``varwidth``, ``wrapfig``. +In addition, you'll need the following LaTeX packages: ``babel-greek``, ``capt-of``, ``cbfonts``, ``courier``, ``fncychap``, ``fontspec``, ``framed``, ``greek-fontenc``, ``helvetic``, ``latexmk``, ``needspace``, ``tabulary``, ``textgreek``, ``titlesec``, ``tocloft``, ``varwidth``, and ``wrapfig``. In particular, check that you have ``latexmk`` available as this is required for creating the PDF form of the documentation. Information on ``latexmk`` can be found at https://ctan.org/pkg/latexmk/. From 91f99aa25ef0b6375ae24baf24be8a41fe788864 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 14:45:07 +1200 Subject: [PATCH 543/604] Add Unicode link --- src/conf.py | 3 +++ src/reference/sectionA_definitions.inc | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/conf.py b/src/conf.py index 74673b23..fe8a4d62 100644 --- a/src/conf.py +++ b/src/conf.py @@ -145,6 +145,9 @@ def define_excluded_patterns(): 'sphinx': ('http://sphinx-doc.org/%s', ''), 'swig': ('http://www.swig.org/%s', ''), 'unicode': ('http://www.fileformat.info/info/unicode/char/%s/index.htm', 'U+'), + + # These should be identical: one for links, one for full URL display + 'unicode13': ('https://www.unicode.org/versions/Unicode13.0.0%s', ''), 'unicode13_display': ('https://www.unicode.org/versions/Unicode13.0.0%s', None), # These should be identical: one for links, one for full URL display diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 40f4a509..97e4ad90 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -50,7 +50,7 @@ Any information item in the :ref:`CellML namespace`. .. _specA_basic_latin_alphabetical_character: **Basic Latin alphabetical character:** -A Unicode [:ref:`5`] character in the range :unicode:`0041` to :unicode:`005A` or in the range :unicode:`0061` to :unicode:`007A`. +A :unicode13:`Unicode <>` [:ref:`5`] character in the range :unicode:`0041` to :unicode:`005A` or in the range :unicode:`0061` to :unicode:`007A`. .. _specA_digit: From 3f60f917e20f0befa9a51fcdd62205e6198d2c02 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 14:46:02 +1200 Subject: [PATCH 544/604] Add unofficial ribbon to html pages. --- .../unofficial_version_dark_background.png | Bin 0 -> 9391 bytes ...unofficial_version_dark_background_green.png | Bin 0 -> 10891 bytes src/static/templates/layout.html | 8 ++++++++ 3 files changed, 8 insertions(+) create mode 100644 src/static/images/unofficial_version_dark_background.png create mode 100644 src/static/images/unofficial_version_dark_background_green.png diff --git a/src/static/images/unofficial_version_dark_background.png b/src/static/images/unofficial_version_dark_background.png new file mode 100644 index 0000000000000000000000000000000000000000..1c531bb51bfa2f9073e829dff68d41d835ae9478 GIT binary patch literal 9391 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 literal 0 HcmV?d00001 diff --git a/src/static/images/unofficial_version_dark_background_green.png b/src/static/images/unofficial_version_dark_background_green.png new file mode 100644 index 0000000000000000000000000000000000000000..e77ef9aaa060c84588fd0305bfa1ed07ccb21889 GIT binary patch literal 10891 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 Z3igja?xZWC1BXmODlaq?s^R9L{{y?N(2W29 literal 0 HcmV?d00001 diff --git a/src/static/templates/layout.html b/src/static/templates/layout.html index 469da47b..1364aba6 100644 --- a/src/static/templates/layout.html +++ b/src/static/templates/layout.html @@ -17,4 +17,12 @@ {% else %} {% extends "!layout.html" %} + {% if unofficial %} + {% block document %} + {{super()}} +
+ unofficial version + + {% endblock %} + {% endif %} {% endif %} From c2e5adbaabfed9560d31617fbe739080811bafe0 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Fri, 17 Apr 2020 03:48:59 +0100 Subject: [PATCH 545/604] Formatting --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 8a38da03..a67ec053 100644 --- a/README.rst +++ b/README.rst @@ -66,7 +66,7 @@ In addition, you'll need the following LaTeX packages: ``babel-greek``, ``capt-o In particular, check that you have ``latexmk`` available as this is required for creating the PDF form of the documentation. Information on ``latexmk`` can be found at https://ctan.org/pkg/latexmk/. -You may also need to install the `"GNU FreeFont" fonts `_ `FreeSans`, `FreeSerif`, `FreeMono`. +You may also need to install the `"GNU FreeFont" fonts `_ ``FreeSans``, ``FreeSerif``, and ``FreeMono``. Documentation builds ^^^^^^^^^^^^^^^^^^^^ From d189c86c8bcf7fc0a81febaa83985b4590ebcf6b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 14:52:01 +1200 Subject: [PATCH 546/604] ordering --- src/reference/sectionA_definitions.inc | 10 +++++----- src/reference/sectionB_elements.inc | 6 +++--- src/reference/sectionD_references.inc | 24 ++++++++++++------------ 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 97e4ad90..ea7c4e23 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -7,9 +7,9 @@ Terminology ----------- -The keywords "MUST", "MUST NOT", "SHALL", "SHALL NOT", and "MAY" in this document are to be interpreted as described in :rfc2119:`RFC 2119 <>` [:ref:`4`]. +The keywords "MUST", "MUST NOT", "SHALL", "SHALL NOT", and "MAY" in this document are to be interpreted as described in :rfc2119:`RFC 2119 <>` [:ref:`1`]. -The key phrase "information item", as well as any specific type of information item such as an "element information item", are to be interpreted as described in :xml_infoset:`XML Information Set <>` [:ref:`6`]. +The key phrase "information item", as well as any specific type of information item such as an "element information item", are to be interpreted as described in :xml_infoset:`XML Information Set <>` [:ref:`2`]. .. _specA_cellml_infoset: @@ -50,7 +50,7 @@ Any information item in the :ref:`CellML namespace`. .. _specA_basic_latin_alphabetical_character: **Basic Latin alphabetical character:** -A :unicode13:`Unicode <>` [:ref:`5`] character in the range :unicode:`0041` to :unicode:`005A` or in the range :unicode:`0061` to :unicode:`007A`. +A :unicode13:`Unicode <>` [:ref:`4`] character in the range :unicode:`0041` to :unicode:`005A` or in the range :unicode:`0061` to :unicode:`007A`. .. _specA_digit: @@ -98,7 +98,7 @@ CellML information sets CellML and XML ~~~~~~~~~~~~~~ -#. Every :ref:`CellML infoset` SHALL be represented in an XML information set which conforms with the well-formedness requirements of :xml_1_1:`XML 1.1 <>` [:ref:`1`]. +#. Every :ref:`CellML infoset` SHALL be represented in an XML information set which conforms with the well-formedness requirements of :xml_1_1:`XML 1.1 <>` [:ref:`5`]. #. In this document, the remaining provisions relating to CellML infosets SHALL be interpreted as additional constraints on the XML information set represented by a CellML infoset. @@ -175,7 +175,7 @@ XML ID Attributes ~~~~~~~~~~~~~~~~~ #. Any element information item in the :ref:`CellML namespace` MAY contain an attribute with local name :code:`id.` - This attribute SHALL be treated as having attribute type ID, as defined in :xml_1_1:`section 3.3.1 <#sec-attribute-types>` of :xml_1_1:`XML 1.1 <>` [:ref:`1`]. + This attribute SHALL be treated as having attribute type ID, as defined in :xml_1_1:`section 3.3.1 <#sec-attribute-types>` of :xml_1_1:`XML 1.1 <>` [:ref:`5`]. .. marker_cellml_information_sets_end .. marker_data_formats_start diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 528d46a9..4778641c 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -56,9 +56,9 @@ An :code:`import` element information item (referred to in this specification as 1. Every :code:`import` element MUST contain an attribute in the namespace :code:`http://www.w3.org/1999/xlink`, with a local name equal to :code:`href`. - The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification <>` [:ref:`7`]. + The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification <>` [:ref:`6`]. - The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification` [:ref:`7`], by applying the rules for simple-type elements. + The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification` [:ref:`6`], by applying the rules for simple-type elements. When describing an :code:`import` element or one of its children, the phrase "imported CellML infoset" SHALL refer to the :ref:`CellML infoset` obtained by parsing the document referenced by the :code:`href` attribute. @@ -354,7 +354,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-mathml - 1. A :code:`math` element MUST be the top-level element of a Content MathML tree, as described in :mathml2:`MathML 2.0 <>` [:ref:`2`]. + 1. A :code:`math` element MUST be the top-level element of a Content MathML tree, as described in :mathml2:`MathML 2.0 <>` [:ref:`7`]. .. marker_math_1 diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index ca8739d3..8516fd11 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -1,29 +1,29 @@ .. _sectionD: -.. _ref_xml_1_1: +.. _ref_rfc2119: -1. Extensible Markup Language (XML) 1.1 :xml_1_1_display:`/` +1. RFC 2119: Key words for use in RFCs to Indicate Requirement Levels :rfc2119_display:`rfc2119.txt` -.. _ref_mathml2: +.. _ref_xml_infoset: -2. Mathematical Markup Language (MathML) Version 2.0 :mathml2_display:`/` +2. XML Information Set :xml_infoset_display:`/` .. _ref_xml_namespace_1_1: 3. Namespaces in XML 1.1 :xml_namespace_1_1_display:`/` -.. _ref_rfc2119: - -4. RFC 2119: Key words for use in RFCs to Indicate Requirement Levels :rfc2119_display:`rfc2119.txt` - .. _ref_unicode: -5. Unicode 13.0.0 :unicode13_display:`/` +4. Unicode 13.0.0 :unicode13_display:`/` -.. _ref_xml_infoset: +.. _ref_xml_1_1: -6. XML Information Set :xml_infoset_display:`/` +5. Extensible Markup Language (XML) 1.1 :xml_1_1_display:`/` .. _ref_xlink: -7. XML Linking Language (XLink) Version 1.1 :xlink_display:`/` +6. XML Linking Language (XLink) Version 1.1 :xlink_display:`/` + +.. _ref_mathml2: + +7. Mathematical Markup Language (MathML) Version 2.0 :mathml2_display:`/` From 6f811da9cadb75a5188610487e62315f6a81caaa Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 14:54:21 +1200 Subject: [PATCH 547/604] Improve green ribbon for html pages. --- ...official_version_dark_background_green.png | Bin 10891 -> 11695 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/static/images/unofficial_version_dark_background_green.png b/src/static/images/unofficial_version_dark_background_green.png index e77ef9aaa060c84588fd0305bfa1ed07ccb21889..89334dbab36c34b1a19cc60477a04912f235529c 100644 GIT binary patch literal 11695 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 T{s?{$8$s!#x?G)%Md<$l0ol;= literal 10891 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 Z3igja?xZWC1BXmODlaq?s^R9L{{y?N(2W29 From e7018c8d1193aa16149d9055ee12e543c350329c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 15:16:19 +1200 Subject: [PATCH 548/604] tweaks in chapter 1 --- src/reference/sectionA_definitions.inc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index ea7c4e23..270ac7da 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -119,7 +119,7 @@ Specific information items #. A document type declaration information item; - #. An unparsed entity information item; + #. An unparsed entity information item; or #. A notational information item. @@ -138,7 +138,7 @@ Non-specific information items #. A comment information item; - #. A namespace information item; + #. A namespace information item; or #. A character information item. @@ -165,7 +165,7 @@ Use of namespaces #. Element information items in a :ref:`CellML infoset` MUST belong to one of the following namespaces, unless explicitly indicated otherwise: - #. The :ref:`CellML namespace`; + #. The :ref:`CellML namespace`; or #. The :ref:`MathML namespace`. @@ -175,7 +175,7 @@ XML ID Attributes ~~~~~~~~~~~~~~~~~ #. Any element information item in the :ref:`CellML namespace` MAY contain an attribute with local name :code:`id.` - This attribute SHALL be treated as having attribute type ID, as defined in :xml_1_1:`section 3.3.1 <#sec-attribute-types>` of :xml_1_1:`XML 1.1 <>` [:ref:`5`]. + This attribute SHALL be treated as having attribute type ID, as defined in :xml_1_1:`Section 3.3.1 <#sec-attribute-types>` of :xml_1_1:`XML 1.1 <>` [:ref:`5`]. .. marker_cellml_information_sets_end .. marker_data_formats_start @@ -211,7 +211,7 @@ The following data representation formats are defined for use in this specificat .. container:: issue-data-repr-int-sign - 2. MAY begin with a single Basic Latin plus character :unicode:`002B` or a Basic Latin hyphen-minus character :unicode:`002D` as the sign indicator. + 2. MAY begin with a single Basic Latin plus character :unicode:`002B` or a single Basic Latin hyphen-minus character :unicode:`002D` as the sign indicator. .. container:: issue-data-repr-int-euro-num @@ -229,7 +229,7 @@ The following data representation formats are defined for use in this specificat .. container:: issue-data-repr-basic-real-sign - 2. MAY begin with a single Basic Latin plus character :unicode:`002B` or a Basic Latin hyphen-minus character :unicode:`002D` as the sign indicator. + 2. MAY begin with a single Basic Latin plus character :unicode:`002B` or a single Basic Latin hyphen-minus character :unicode:`002D` as the sign indicator. .. container:: issue-data-repr-basic-real-decimal From 7d021cb69d7d3638c04fd587face89974d6a9c94 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 15:35:37 +1200 Subject: [PATCH 549/604] Update sectionB_elements.inc --- src/reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 4778641c..04aa3388 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -31,7 +31,7 @@ The ``model`` element #. An :code:`encapsulation` element; - #. An :code:`import` element; + #. An :code:`import` element; or #. A :code:`units` element. From 6da91891116becd5fc29c2832d1b82bf52a74485 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 15:35:43 +1200 Subject: [PATCH 550/604] date and title --- src/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index fe8a4d62..68e5ad09 100644 --- a/src/conf.py +++ b/src/conf.py @@ -286,7 +286,7 @@ def define_excluded_patterns(): # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' +html_last_updated_fmt = '%d %b %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. @@ -359,7 +359,7 @@ def define_excluded_patterns(): # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('index', '{0}.tex'.format(tex_document_name()), u'CellML Specification', + ('index', '{0}.tex'.format(tex_document_name()), u'CellML Normative Specification', u'CellML 2.0 Editors and Contributors', 'manual'), ] From e8deb89b52713d68e1880405fb73c298245fe8e5 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 15:36:25 +1200 Subject: [PATCH 551/604] release version --- src/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index 68e5ad09..1d048823 100644 --- a/src/conf.py +++ b/src/conf.py @@ -186,9 +186,9 @@ def define_excluded_patterns(): # built documents. # # The short X.Y version. -version = '2.0.0-rc1' +version = '2.0' # The full version, including alpha/beta/rc tags. -release = '2.0.0-rc1' +release = '2.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From 8e4166a61428266df3572b62afbfba12340886b1 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 15:38:57 +1200 Subject: [PATCH 552/604] wording of draft spec --- src/reference/acknowledgements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/acknowledgements.inc b/src/reference/acknowledgements.inc index 41c24d51..ca747b7d 100644 --- a/src/reference/acknowledgements.inc +++ b/src/reference/acknowledgements.inc @@ -19,7 +19,7 @@ Peter J. Hunter, Gary R. Mirams, and Maxwell L. Neal. -The authors also wish to acknowledge the significant contribution of the (discontinued) draft CellML 1.2 specification, much of the text of which was incorporated into this specification, although the semantics have changed considerably. +The authors also wish to acknowledge the significant contribution of the (discontinued) CellML 1.2 draft specification, much of the text of which was incorporated into this specification, although the semantics have changed considerably. The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: Andrew K. Miller (who wrote the text reused here), From 634ca878ee2376733189801d458fd7876caf8e7b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 15:39:22 +1200 Subject: [PATCH 553/604] draft spec --- src/reference/acknowledgements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/acknowledgements.inc b/src/reference/acknowledgements.inc index ca747b7d..1211688e 100644 --- a/src/reference/acknowledgements.inc +++ b/src/reference/acknowledgements.inc @@ -20,7 +20,7 @@ Gary R. Mirams, and Maxwell L. Neal. The authors also wish to acknowledge the significant contribution of the (discontinued) CellML 1.2 draft specification, much of the text of which was incorporated into this specification, although the semantics have changed considerably. -The CellML 1.2 specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: +The CellML 1.2 draft specification was itself the result of a collaborative effort by a number of researchers during 2008-2011\: Andrew K. Miller (who wrote the text reused here), Randall Britten, From 51f35061c499cacaf4fa82ca36a35f2750a6a0af Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 15:52:03 +1200 Subject: [PATCH 554/604] end of lists --- src/reference/sectionB_elements.inc | 2 +- src/reference/sectionC_interpretation.inc | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 04aa3388..19f3443c 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -231,7 +231,7 @@ A :code:`component` element information item (referred to in this specification 2. A :code:`component` element MAY contain one or more specific element children, each of which MUST be of one of the following types: - #. A :code:`math` element; or + #. A :code:`math` element; #. A :code:`reset` element; or diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 7a7b9932..6a42f660 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -17,7 +17,7 @@ Interpretation of ``import`` elements #. Connections defined in the imported infoset SHALL be handled as follows: - #. Connections to components in the :ref:`encapsulated set` of the imported component SHALL be maintained, and this rule SHALL be applied recursively; + #. Connections to components in the :ref:`encapsulated set` of the imported component SHALL be maintained, and this rule SHALL be applied recursively; and #. Connections to components in the :ref:`sibling set`, or to the :ref:`encapsulation parent` of the imported component SHALL NOT be maintained. @@ -374,13 +374,13 @@ Interpretation of ``map_variables`` elements 2. For each :code:`map_variables` element present in the CellML model, we define variables *A* and *B* for use in the rules in this section as follows: - #. Variable *A* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_1` and this :code:`map_variables` element’s :code:`variable_1` attribute. + #. Variable *A* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_1` and this :code:`map_variables` element’s :code:`variable_1` attribute; and #. Variable *B* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_2` and this :code:`map_variables` element’s :code:`variable_2` attribute. 3. For every :code:`map_variables` element present in the CellML model, there SHALL be an arc in the variable equivalence network. - #. One endpoint of the arc in the variable equivalence network SHALL be the node corresponding to variable *A*. + #. One endpoint of the arc in the variable equivalence network SHALL be the node corresponding to variable *A*; and #. One endpoint of the arc in the variable equivalence network SHALL be the node corresponding to variable *B*. @@ -394,13 +394,13 @@ Interpretation of ``map_variables`` elements 6. For a given variable, the "available interfaces" SHALL be determined by the :code:`interface` attribute on the corresponding :code:`variable` element as follows: - #. A value of :code:`public` specifies that the variable has a public interface. + #. A value of :code:`public` specifies that the variable has a public interface; - #. A value of :code:`private` specifies that the variable has a private interface. + #. A value of :code:`private` specifies that the variable has a private interface; - #. A value of :code:`public_and_private` specifies that the variable has both a public and a private interface. + #. A value of :code:`public_and_private` specifies that the variable has both a public and a private interface; - #. A value of :code:`none` specifies that the variable has no interface. + #. A value of :code:`none` specifies that the variable has no interface; or #. If the :code:`interface` attribute is absent, then the variable has no interface. From 573a5e2062f615935e4730824e612ce7b4c82f37 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 15:54:17 +1200 Subject: [PATCH 555/604] number: caption global search/replace for {number}. -> {number}: --- src/reference/sectionB_elements.inc | 32 +++++++++++------------ src/reference/sectionC_interpretation.inc | 18 ++++++------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 19f3443c..c0786137 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -76,7 +76,7 @@ An :code:`import` element information item (referred to in this specification as .. container:: issue-import-circular - 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported CellML infoset MUST NOT be semantically equivalent to the importing CellML infoset (see :numref:`{number}. {name}`). + 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported CellML infoset MUST NOT be semantically equivalent to the importing CellML infoset (see :numref:`{number}: {name}`). .. marker_import_end .. marker_import_units_start @@ -153,7 +153,7 @@ A :code:`units` element information item (referred to in this specification as a .. container:: issue-units-standard - 2. The value of the :code:`name` attribute MUST NOT be identical to the name of any of the units listed in :numref:`Table {number}: {name}` (see :numref:`{number}. {name}`). + 2. The value of the :code:`name` attribute MUST NOT be identical to the name of any of the units listed in :numref:`Table {number}: {name}` (see :numref:`{number}: {name}`). .. container:: issue-units-child @@ -173,7 +173,7 @@ A :code:`unit` element information item (referred to in this specification as a 1. Every :code:`unit` element MUST contain a :code:`units` attribute. - The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`{number}. {name}`. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`{number}: {name}`. .. container:: issue-unit-digraph @@ -193,7 +193,7 @@ A :code:`unit` element information item (referred to in this specification as a .. container:: issue-unit-prefix - 1. The :code:`prefix` attribute. If present, the value of the attribute MUST meet the constraints specified in :numref:`{number}. {name}`. + 1. The :code:`prefix` attribute. If present, the value of the attribute MUST meet the constraints specified in :numref:`{number}: {name}`. .. container:: issue-unit-multiplier @@ -259,7 +259,7 @@ A :code:`variable` element information item (referred to in this specification a .. container:: issue-variable-units 2. The :code:`units` attribute. - The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`{number}. {name}`. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`{number}: {name}`. 2. Every :code:`variable` element MAY contain one or more of the following attributes: @@ -271,7 +271,7 @@ A :code:`variable` element information item (referred to in this specification a .. container:: issue-variable-initial-value 2. The :code:`initial_value` attribute. - If the attribute is present, it MUST meet the requirements described by :numref:`{number}. {name}`. + If the attribute is present, it MUST meet the requirements described by :numref:`{number}: {name}`. .. marker_variable_end .. marker_reset_start @@ -288,19 +288,19 @@ A :code:`reset` element information item (referred to in this specification as a .. container:: issue-reset-variable-reference 1. The :code:`variable` attribute. - The value of the :code:`variable` attribute MUST be a valid variable reference, as defined in :numref:`{number}. {name}`. + The value of the :code:`variable` attribute MUST be a valid variable reference, as defined in :numref:`{number}: {name}`. .. container:: issue-reset-test-variable-reference 2. The :code:`test_variable` attribute. - The value of the :code:`test_variable` attribute MUST be a valid variable reference, as defined in :numref:`{number}. {name}`. + The value of the :code:`test_variable` attribute MUST be a valid variable reference, as defined in :numref:`{number}: {name}`. .. container:: issue-reset-order 3. The :code:`order` attribute. The value of the :code:`order` attribute MUST be an :ref:`integer string`. - The value of the :code:`order` attribute MUST be unique for all :code:`reset` elements with :code:`variable` attributes that reference variables in the same equivalent variable set (see :numref:`{number}. {name}`). + The value of the :code:`order` attribute MUST be unique for all :code:`reset` elements with :code:`variable` attributes that reference variables in the same equivalent variable set (see :numref:`{number}: {name}`). .. container:: issue-reset-child @@ -366,7 +366,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-ci-variable-reference - 3. The contents of a MathML :code:`ci` element MUST be a valid variable reference, as defined in :numref:`{number}. {name}`. + 3. The contents of a MathML :code:`ci` element MUST be a valid variable reference, as defined in :numref:`{number}: {name}`. .. marker_math_3 @@ -374,7 +374,7 @@ A :code:`math` element information item (referred to in this specification as a 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. - The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`{number}. {name}`. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`{number}: {name}`. .. container:: issue-math-cn-type @@ -452,7 +452,7 @@ A :code:`component_ref` element information item (referred to in this specificat 1. Every :code:`component_ref` element MUST contain a :code:`component` attribute. - The value of the :code:`component` attribute MUST be a valid component reference, as defined in :numref:`{number}. {name}`. + The value of the :code:`component` attribute MUST be a valid component reference, as defined in :numref:`{number}: {name}`. The value of the :code:`component` attribute MUST NOT be identical to the value of the :code:`component` attribute on any other :code:`component_ref` element in the :ref:`CellML infoset`. @@ -474,7 +474,7 @@ A :code:`connection` element information item (referred to in this specification 1. Each :code:`connection` element MUST contain a :code:`component_1` attribute. - The value of the :code:`component_1` attribute MUST be a valid component reference, as defined in :numref:`{number}. {name}`. + The value of the :code:`component_1` attribute MUST be a valid component reference, as defined in :numref:`{number}: {name}`. .. marker_connection_1 @@ -482,7 +482,7 @@ A :code:`connection` element information item (referred to in this specification 2. Each :code:`connection` element MUST contain a :code:`component_2` attribute. - The value of the :code:`component_2` attribute MUST be a valid component reference, as defined in :numref:`{number}. {name}`. + The value of the :code:`component_2` attribute MUST be a valid component reference, as defined in :numref:`{number}: {name}`. .. marker_connection_2 @@ -516,7 +516,7 @@ A :code:`map_variables` element information item (referred to in this specificat 1. Each :code:`map_variables` element MUST contain a :code:`variable_1` attribute. - The value of the :code:`variable_1` attribute MUST be a valid variable reference, as defined in :numref:`{number}. {name}`. + The value of the :code:`variable_1` attribute MUST be a valid variable reference, as defined in :numref:`{number}: {name}`. .. marker_map_variables_1 @@ -524,7 +524,7 @@ A :code:`map_variables` element information item (referred to in this specificat 2. Each :code:`map_variables` element MUST contain a :code:`variable_2` attribute. - The value of the :code:`variable_2` attribute MUST be a valid variable reference, as defined in :numref:`{number}. {name}`. + The value of the :code:`variable_2` attribute MUST be a valid variable reference, as defined in :numref:`{number}: {name}`. .. marker_map_variables_2 diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 6a42f660..6f40d19e 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -13,7 +13,7 @@ Interpretation of ``import`` elements #. When determining the :ref:`equivalent variable set` of a variable in an imported component: - #. Connections defined in the importing infoset SHALL be handled as described in :numref:`{number}. {name}`. + #. Connections defined in the importing infoset SHALL be handled as described in :numref:`{number}: {name}`. #. Connections defined in the imported infoset SHALL be handled as follows: @@ -39,7 +39,7 @@ A "units reference" is an attribute value that specifies the physical units a va #. If the units reference is identical to the value of the :code:`name` attribute of a :code:`units` element in the same infoset, then it SHALL refer to the units specified by that element. - #. If the units reference is identical to the value of the :code:`name` attribute of an :code:`import units` element in the same infoset, then it SHALL refer to units from the infoset defined by the :code:`import units` element (see :numref:`{number}. {name}``). + #. If the units reference is identical to the value of the :code:`name` attribute of an :code:`import units` element in the same infoset, then it SHALL refer to units from the infoset defined by the :code:`import units` element (see :numref:`{number}: {name}``). The units specified SHALL then be determined by treating the value of the :code:`units_ref` attribute on the :code:`import units` element as a units reference within the imported infoset. If necessary, this rule SHALL be applied recursively. @@ -249,7 +249,7 @@ A "component reference" is an attribute value that specifies a CellML component. #. If the component reference is identical to the value of the :code:`name` attribute of a :code:`component` element in the same infoset, then it SHALL refer to the component specified by that element. - #. If the component reference is identical to the value of the :code:`name` attribute of an :code:`import component` element in the same infoset, then it SHALL refer to a component from the infoset defined by the :code:`import component` element (see :numref:`{number}. {name}`). + #. If the component reference is identical to the value of the :code:`name` attribute of an :code:`import component` element in the same infoset, then it SHALL refer to a component from the infoset defined by the :code:`import component` element (see :numref:`{number}: {name}`). The component specified SHALL then be determined by treating the value of the :code:`component_ref` attribute on the :code:`import component` element as a component reference within the imported infoset. If necessary, this rule SHALL be applied recursively. @@ -303,7 +303,7 @@ Interpretation of ``initial_value`` attributes Effect of ``units`` on a ``variable`` ------------------------------------- -#. The target of the :code:`units` attribute on a variable is referred to as the "variable units", and the corresponding unit reduction (see :numref:`{number}. {name}`) is referred to as the "variable unit reduction". +#. The target of the :code:`units` attribute on a variable is referred to as the "variable units", and the corresponding unit reduction (see :numref:`{number}: {name}`) is referred to as the "variable unit reduction". .. marker_effect_of_units_on_variables_end .. marker_interpretation_of_mathematics_start @@ -318,9 +318,9 @@ Interpretation of ``math`` elements #. All :code:`component` elements in the top-level :ref:`CellML infoset` for the :ref:`CellML model`; - #. All :code:`component` elements referenced by :code:`import component` elements (see :numref:`{number}. {name}`) in the top-level CellML infoset; and + #. All :code:`component` elements referenced by :code:`import component` elements (see :numref:`{number}: {name}`) in the top-level CellML infoset; and - #. All :code:`component` elements which are descendants in the encapsulation digraph (see :numref:`{number}. {name}`) of a pertinent :code:`component` element. + #. All :code:`component` elements which are descendants in the encapsulation digraph (see :numref:`{number}: {name}`) of a pertinent :code:`component` element. #. Every MathML element in the CellML model which appears as a direct child of a MathML :code:`math` element, which in turn appears as a child of a pertinent :code:`component` element, SHALL be treated, in terms of the semantics of the mathematical model, as a statement which holds true unconditionally. @@ -418,11 +418,11 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_4 -9. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :numref:`{number}. {name}`) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. +9. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :numref:`{number}: {name}`) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. Two sets of tuples SHALL be considered identical if all of the tuples from each set are present in the other, or if both sets are empty. Two tuples are considered identical if and only if both the unit name and exponent of each tuple are identical. -10. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :numref:`{number}. {name}`). +10. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :numref:`{number}: {name}`). .. marker_interpretation_of_map_variables_5 .. _specC_equivalent_variable_set: @@ -444,7 +444,7 @@ Interpretation of ``reset`` elements #. Each :code:`reset` element describes a change to be applied to the reset variable when specified conditions are met during the simulation of the model. -#. All :code:`reset` elements SHALL be considered sequentially for the equivalent variable set (see :numref:`{number}. {name}`) to which the reset variable belongs. +#. All :code:`reset` elements SHALL be considered sequentially for the equivalent variable set (see :numref:`{number}: {name}`) to which the reset variable belongs. The sequence SHALL be determined by the value of the reset element’s :code:`order` attribute, lowest (least positive / most negative) having priority. #. The condition under which a reset occurs SHALL be defined by the equality of evaluation of the test variable and the evaluation of the MathML expression encoded in the :code:`test_value`. From e0cfc6b7c7aee224c23bb3bdb0cdd749a99da498 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 15:57:34 +1200 Subject: [PATCH 556/604] mathml namespace --- src/conf.py | 2 +- src/reference/sectionA_definitions.inc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index 1d048823..58d05dca 100644 --- a/src/conf.py +++ b/src/conf.py @@ -132,7 +132,7 @@ def define_excluded_patterns(): 'mathml2_display': ('http://www.w3.org/TR/2003/REC-MathML2-20031021%s', None), 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html%s', ''), - 'mathml2namespace': ('http://www.w3.org/1998/Math/MathML%s', None), + 'mathml2namespace': ('http://www.w3.org/1998/Math/%s', None), 'namespace_help': ('https://www.w3schools.com/xml/xml_namespaces.asp%s', ''), 'opencor': ('https://opencor.ws/%s', ''), 'pmr': ('https://models.physiomeproject.org/welcome/%s', ''), diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 270ac7da..31bf7d1f 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -40,7 +40,7 @@ The namespace :cellml2namespace:`#`. .. _specA_mathml_namespace: **MathML namespace:** -The namespace :mathml2namespace:`/`. +The namespace :mathml2namespace:`MathML`. .. _specA_cellml_information_item: From 8f8fc2f4eb286cd81ec80f958855a5655a3b601a Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 16:03:25 +1200 Subject: [PATCH 557/604] namespace comment --- src/conf.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/conf.py b/src/conf.py index 58d05dca..568d9e17 100644 --- a/src/conf.py +++ b/src/conf.py @@ -132,7 +132,11 @@ def define_excluded_patterns(): 'mathml2_display': ('http://www.w3.org/TR/2003/REC-MathML2-20031021%s', None), 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html%s', ''), + + # This will get MathML added to the end so it becomes http://www.w3.org/1998/Math/MathML + # in the final display, to avoid trailing slashes. 'mathml2namespace': ('http://www.w3.org/1998/Math/%s', None), + 'namespace_help': ('https://www.w3schools.com/xml/xml_namespaces.asp%s', ''), 'opencor': ('https://opencor.ws/%s', ''), 'pmr': ('https://models.physiomeproject.org/welcome/%s', ''), From 3f4d169512b8b02c03bcff625425f26ce4550706 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 16:07:06 +1200 Subject: [PATCH 558/604] match -> identical to --- src/reference/sectionB_elements.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index c0786137..f091922d 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -104,7 +104,7 @@ An :code:`import units` element information item (referred to in this specificat The value of the :code:`units_ref` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`units_ref` attribute MUST match the value of the :code:`name` attribute on a :code:`units` or :code:`import units` element in the imported :ref:`CellML infoset`. + The value of the :code:`units_ref` attribute MUST be identical to the value of the :code:`name` attribute on a :code:`units` or :code:`import units` element in the imported :ref:`CellML infoset`. .. marker_import_units_end .. marker_import_component_start @@ -130,7 +130,7 @@ An :code:`import component` element information item (referred to in this specif The value of the :code:`component_ref` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`component_ref` attribute MUST match the value of the :code:`name` attribute on a :code:`component` or :code:`import component` element in the imported :ref:`CellML infoset`. + The value of the :code:`component_ref` attribute MUST be identical to the value of the :code:`name` attribute on a :code:`component` or :code:`import component` element in the imported :ref:`CellML infoset`. .. marker_import_component_end .. marker_units_start From 7c8d76a54d2cecea1d2207101fe02f69c006f43c Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 16:28:40 +1200 Subject: [PATCH 559/604] pagebreaks and whitespace link --- src/reference/sectionA_definitions.inc | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 31bf7d1f..7f45fffc 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -142,7 +142,7 @@ Non-specific information items #. A character information item. -2. An element information item in the :ref:`CellML namespace` MUST NOT contain any character information items, except for whitespace characters. +2. An element information item in the :ref:`CellML namespace` MUST NOT contain any character information items, except for :ref:`whitespace characters`. .. marker_cellml_information_sets_3 @@ -153,10 +153,7 @@ Non-specific information items #. Changing (inserting, removing, and/or modifying) one or more namespace information items, and/or modifying the prefix of one or more information items, without changing the namespace that any information item is in. #. The following paragraph applies to character information items which are the direct child of an element information item in the :ref:`CellML namespace`, or in the :ref:`MathML namespace`: - - Inserting or removing character information items that consist entirely of :ref:`whitespace characters`, - changing the number of whitespace characters in such an information item, - or changing the number of whitespace characters at the beginning or end of any character information item. + inserting or removing character information items that consist entirely of :ref:`whitespace characters`, changing the number of whitespace characters in such an information item, or changing the number of whitespace characters at the beginning or end of any character information item. .. marker_cellml_information_sets_4 From 9c8b55d5953f3db1af804ec0ab8c87743eb0da41 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 16:44:50 +1200 Subject: [PATCH 560/604] official version wording --- src/normative_only_index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/normative_only_index.rst b/src/normative_only_index.rst index 67b6a0c9..3acb4bb4 100644 --- a/src/normative_only_index.rst +++ b/src/normative_only_index.rst @@ -13,7 +13,7 @@ It is intended primarily for the developers of software tools which directly con Users of CellML models may prefer the informative version of the CellML Specification, which is available at :cellml2spec_display:`/`. -A PDF version of the normative specification is available at :cellml2spec_display:`/specification.pdf`. +The official version of the CellML Normative Specification is available at :cellml2spec_display:`/specification.pdf`. .. include:: reference/acknowledgements.inc From 5853b407c41c2f41f1dfa03dd1726a8e99475e9e Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 16:55:33 +1200 Subject: [PATCH 561/604] value added to attributes --- src/reference/sectionB_elements.inc | 12 ++++++------ src/reference/sectionC_interpretation.inc | 22 +++++++++++----------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index f091922d..ac690a78 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -60,7 +60,7 @@ An :code:`import` element information item (referred to in this specification as The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification` [:ref:`6`], by applying the rules for simple-type elements. - When describing an :code:`import` element or one of its children, the phrase "imported CellML infoset" SHALL refer to the :ref:`CellML infoset` obtained by parsing the document referenced by the :code:`href` attribute. + When describing an :code:`import` element or one of its children, the phrase "imported CellML infoset" SHALL refer to the :ref:`CellML infoset` obtained by parsing the document referenced by the :code:`href` attribute value. .. marker_import_1 @@ -94,7 +94,7 @@ An :code:`import units` element information item (referred to in this specificat The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`units` or :code:`import units` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the value of the :code:`name` attribute of any other :code:`units` or :code:`import units` element in the :ref:`CellML infoset`. .. marker_import_units_1 @@ -122,7 +122,7 @@ An :code:`import component` element information item (referred to in this specif The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`component` or :code:`import component` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the value of the :code:`name` attribute of any other :code:`component` or :code:`import component` element in the :ref:`CellML infoset`. .. container:: issue-import-component-ref @@ -149,7 +149,7 @@ A :code:`units` element information item (referred to in this specification as a The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`units` element or :code:`import units` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the value of the :code:`name` attribute of any other :code:`units` element or :code:`import units` element in the :ref:`CellML infoset`. .. container:: issue-units-standard @@ -223,7 +223,7 @@ A :code:`component` element information item (referred to in this specification The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute on any other :code:`component` element or :code:`import component` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the value of the :code:`name` attribute on any other :code:`component` element or :code:`import component` element in the :ref:`CellML infoset`. .. marker_component_2 @@ -254,7 +254,7 @@ A :code:`variable` element information item (referred to in this specification a 1. The :code:`name` attribute. The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute on any sibling :code:`variable` element. + The value of the :code:`name` attribute MUST NOT be identical to the value of the :code:`name` attribute on any sibling :code:`variable` element. .. container:: issue-variable-units diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 6f40d19e..6b6f41f4 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -7,7 +7,7 @@ Interpretation of ``import`` elements ------------------------------------- -#. Each :code:`import units` or :code:`import component` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset (the imported infoset) that is specified by the parent :code:`import` element's :code:`href` attribute. +#. Each :code:`import units` or :code:`import component` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset (the imported infoset) that is specified by the parent :code:`import` element's :code:`href` attribute value. #. A :ref:`units reference` occurring within an imported element, SHALL be resolved with respect to the imported infoset. @@ -155,7 +155,7 @@ Interpretation of ``units`` elements If a :code:`unit` element has no :code:`multiplier` attribute, the multiplier term SHALL have value 1.0. Otherwise, the value of the :code:`multiplier` attribute MUST be a :ref:`real number string`, and the value of the multiplier term SHALL be the numerical value of that string. - 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element's :code:`units` attribute, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be + 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element's :code:`units` attribute value, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be .. math:: @@ -271,9 +271,9 @@ A "variable reference" is an attribute value that specifies a CellML variable. #. When present in a descendant of a :code:`component` element, it SHALL refer to the variable of the same name within that component. - #. When present in the :code:`variable_1` attribute of a :code:`map_variables` element, it SHALL refer to the variable of the same name in the component identified by the :code:`component_1` attribute in the same :code:`map_variables` element. + #. When present in the :code:`variable_1` attribute value of a :code:`map_variables` element, it SHALL refer to the variable of the same name in the component identified by the :code:`component_1` attribute value in the same :code:`map_variables` element. - #. When present in the :code:`variable_2` attribute of a :code:`map_variables` element, it SHALL refer to the variable of the same name in the component identified by the :code:`component_2` attribute in the same :code:`map_variables` element. + #. When present in the :code:`variable_2` attribute value of a :code:`map_variables` element, it SHALL refer to the variable of the same name in the component identified by the :code:`component_2` attribute value in the same :code:`map_variables` element. #. If no variable can be identified using the rules above, the attribute value SHALL NOT be a valid variable reference. @@ -290,9 +290,9 @@ Interpretation of ``initial_value`` attributes #. The conditions under which initial values hold are (by design) not defined in a :ref:`CellML model`. -#. Where the :code:`initial_value` attribute is a :ref:`real number string`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to that real number value, when the initial values hold. +#. Where the :code:`initial_value` attribute value is a :ref:`real number string`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to that real number value, when the initial values hold. -#. Where the :code:`initial_value` attribute is a :ref:`variable reference`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to the referenced variable when the initial values hold. +#. Where the :code:`initial_value` attribute value is a :ref:`variable reference`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to the referenced variable when the initial values hold. .. marker_interpretation_of_initial_values_end .. marker_effect_of_units_on_variables_start @@ -303,7 +303,7 @@ Interpretation of ``initial_value`` attributes Effect of ``units`` on a ``variable`` ------------------------------------- -#. The target of the :code:`units` attribute on a variable is referred to as the "variable units", and the corresponding unit reduction (see :numref:`{number}: {name}`) is referred to as the "variable unit reduction". +#. The target of the :code:`units` attribute value on a variable is referred to as the "variable units", and the corresponding unit reduction (see :numref:`{number}: {name}`) is referred to as the "variable unit reduction". .. marker_effect_of_units_on_variables_end .. marker_interpretation_of_mathematics_start @@ -374,9 +374,9 @@ Interpretation of ``map_variables`` elements 2. For each :code:`map_variables` element present in the CellML model, we define variables *A* and *B* for use in the rules in this section as follows: - #. Variable *A* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_1` and this :code:`map_variables` element’s :code:`variable_1` attribute; and + #. Variable *A* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_1` and this :code:`map_variables` element’s :code:`variable_1` attribute value; and - #. Variable *B* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_2` and this :code:`map_variables` element’s :code:`variable_2` attribute. + #. Variable *B* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_2` and this :code:`map_variables` element’s :code:`variable_2` attribute value. 3. For every :code:`map_variables` element present in the CellML model, there SHALL be an arc in the variable equivalence network. @@ -392,7 +392,7 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_3 -6. For a given variable, the "available interfaces" SHALL be determined by the :code:`interface` attribute on the corresponding :code:`variable` element as follows: +6. For a given variable, the "available interfaces" SHALL be determined by the :code:`interface` attribute value on the corresponding :code:`variable` element as follows: #. A value of :code:`public` specifies that the variable has a public interface; @@ -440,7 +440,7 @@ Interpretation of ``map_variables`` elements Interpretation of ``reset`` elements ------------------------------------ -#. For the purposes of this section, we define the "reset variable" to be the variable referenced by a :code:`reset` element's :code:`variable` attribute, and the "test variable" to be the variable referenced by its :code:`test_variable` attribute. +#. For the purposes of this section, we define the "reset variable" to be the variable referenced by a :code:`reset` element's :code:`variable` attribute value, and the "test variable" to be the variable referenced by its :code:`test_variable` attribute value. #. Each :code:`reset` element describes a change to be applied to the reset variable when specified conditions are met during the simulation of the model. From 5218e29e9df915a0d56432b203adaaf2cd9ad1a8 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 16:57:37 +1200 Subject: [PATCH 562/604] removed colons --- src/reference/sectionB_elements.inc | 34 +++++++++++------------ src/reference/sectionC_interpretation.inc | 26 ++++++++--------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index ac690a78..e3a06791 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -76,7 +76,7 @@ An :code:`import` element information item (referred to in this specification as .. container:: issue-import-circular - 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported CellML infoset MUST NOT be semantically equivalent to the importing CellML infoset (see :numref:`{number}: {name}`). + 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported CellML infoset MUST NOT be semantically equivalent to the importing CellML infoset (see :numref:`{number} {name}`). .. marker_import_end .. marker_import_units_start @@ -153,7 +153,7 @@ A :code:`units` element information item (referred to in this specification as a .. container:: issue-units-standard - 2. The value of the :code:`name` attribute MUST NOT be identical to the name of any of the units listed in :numref:`Table {number}: {name}` (see :numref:`{number}: {name}`). + 2. The value of the :code:`name` attribute MUST NOT be identical to the name of any of the units listed in :numref:`Table {number} {name}` (see :numref:`{number} {name}`). .. container:: issue-units-child @@ -173,7 +173,7 @@ A :code:`unit` element information item (referred to in this specification as a 1. Every :code:`unit` element MUST contain a :code:`units` attribute. - The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`{number}: {name}`. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`{number} {name}`. .. container:: issue-unit-digraph @@ -193,7 +193,7 @@ A :code:`unit` element information item (referred to in this specification as a .. container:: issue-unit-prefix - 1. The :code:`prefix` attribute. If present, the value of the attribute MUST meet the constraints specified in :numref:`{number}: {name}`. + 1. The :code:`prefix` attribute. If present, the value of the attribute MUST meet the constraints specified in :numref:`{number} {name}`. .. container:: issue-unit-multiplier @@ -259,7 +259,7 @@ A :code:`variable` element information item (referred to in this specification a .. container:: issue-variable-units 2. The :code:`units` attribute. - The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`{number}: {name}`. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`{number} {name}`. 2. Every :code:`variable` element MAY contain one or more of the following attributes: @@ -271,7 +271,7 @@ A :code:`variable` element information item (referred to in this specification a .. container:: issue-variable-initial-value 2. The :code:`initial_value` attribute. - If the attribute is present, it MUST meet the requirements described by :numref:`{number}: {name}`. + If the attribute is present, it MUST meet the requirements described by :numref:`{number} {name}`. .. marker_variable_end .. marker_reset_start @@ -288,19 +288,19 @@ A :code:`reset` element information item (referred to in this specification as a .. container:: issue-reset-variable-reference 1. The :code:`variable` attribute. - The value of the :code:`variable` attribute MUST be a valid variable reference, as defined in :numref:`{number}: {name}`. + The value of the :code:`variable` attribute MUST be a valid variable reference, as defined in :numref:`{number} {name}`. .. container:: issue-reset-test-variable-reference 2. The :code:`test_variable` attribute. - The value of the :code:`test_variable` attribute MUST be a valid variable reference, as defined in :numref:`{number}: {name}`. + The value of the :code:`test_variable` attribute MUST be a valid variable reference, as defined in :numref:`{number} {name}`. .. container:: issue-reset-order 3. The :code:`order` attribute. The value of the :code:`order` attribute MUST be an :ref:`integer string`. - The value of the :code:`order` attribute MUST be unique for all :code:`reset` elements with :code:`variable` attributes that reference variables in the same equivalent variable set (see :numref:`{number}: {name}`). + The value of the :code:`order` attribute MUST be unique for all :code:`reset` elements with :code:`variable` attributes that reference variables in the same equivalent variable set (see :numref:`{number} {name}`). .. container:: issue-reset-child @@ -360,13 +360,13 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-child - 2. Each element child of a :code:`math` element MUST have an element-type name that is listed in :numref:`Table {number}: {name}`. + 2. Each element child of a :code:`math` element MUST have an element-type name that is listed in :numref:`Table {number} {name}`. .. marker_math_2 .. container:: issue-math-ci-variable-reference - 3. The contents of a MathML :code:`ci` element MUST be a valid variable reference, as defined in :numref:`{number}: {name}`. + 3. The contents of a MathML :code:`ci` element MUST be a valid variable reference, as defined in :numref:`{number} {name}`. .. marker_math_3 @@ -374,7 +374,7 @@ A :code:`math` element information item (referred to in this specification as a 4. A MathML :code:`cn` element MUST have an attribute in the :ref:`CellML namespace`, with a local name equal to :code:`units`. - The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`{number}: {name}`. + The value of the :code:`units` attribute MUST be a valid units reference, as defined in :numref:`{number} {name}`. .. container:: issue-math-cn-type @@ -452,7 +452,7 @@ A :code:`component_ref` element information item (referred to in this specificat 1. Every :code:`component_ref` element MUST contain a :code:`component` attribute. - The value of the :code:`component` attribute MUST be a valid component reference, as defined in :numref:`{number}: {name}`. + The value of the :code:`component` attribute MUST be a valid component reference, as defined in :numref:`{number} {name}`. The value of the :code:`component` attribute MUST NOT be identical to the value of the :code:`component` attribute on any other :code:`component_ref` element in the :ref:`CellML infoset`. @@ -474,7 +474,7 @@ A :code:`connection` element information item (referred to in this specification 1. Each :code:`connection` element MUST contain a :code:`component_1` attribute. - The value of the :code:`component_1` attribute MUST be a valid component reference, as defined in :numref:`{number}: {name}`. + The value of the :code:`component_1` attribute MUST be a valid component reference, as defined in :numref:`{number} {name}`. .. marker_connection_1 @@ -482,7 +482,7 @@ A :code:`connection` element information item (referred to in this specification 2. Each :code:`connection` element MUST contain a :code:`component_2` attribute. - The value of the :code:`component_2` attribute MUST be a valid component reference, as defined in :numref:`{number}: {name}`. + The value of the :code:`component_2` attribute MUST be a valid component reference, as defined in :numref:`{number} {name}`. .. marker_connection_2 @@ -516,7 +516,7 @@ A :code:`map_variables` element information item (referred to in this specificat 1. Each :code:`map_variables` element MUST contain a :code:`variable_1` attribute. - The value of the :code:`variable_1` attribute MUST be a valid variable reference, as defined in :numref:`{number}: {name}`. + The value of the :code:`variable_1` attribute MUST be a valid variable reference, as defined in :numref:`{number} {name}`. .. marker_map_variables_1 @@ -524,7 +524,7 @@ A :code:`map_variables` element information item (referred to in this specificat 2. Each :code:`map_variables` element MUST contain a :code:`variable_2` attribute. - The value of the :code:`variable_2` attribute MUST be a valid variable reference, as defined in :numref:`{number}: {name}`. + The value of the :code:`variable_2` attribute MUST be a valid variable reference, as defined in :numref:`{number} {name}`. .. marker_map_variables_2 diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 6b6f41f4..546a0c31 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -13,7 +13,7 @@ Interpretation of ``import`` elements #. When determining the :ref:`equivalent variable set` of a variable in an imported component: - #. Connections defined in the importing infoset SHALL be handled as described in :numref:`{number}: {name}`. + #. Connections defined in the importing infoset SHALL be handled as described in :numref:`{number} {name}`. #. Connections defined in the imported infoset SHALL be handled as follows: @@ -35,11 +35,11 @@ A "units reference" is an attribute value that specifies the physical units a va #. The units identified by a units reference SHALL be determined as follows: - #. If the units reference is identical to a value in the "Name" column of :numref:`Table {number}: {name}`, then it SHALL refer to the built-in units from the same row of the table. + #. If the units reference is identical to a value in the "Name" column of :numref:`Table {number} {name}`, then it SHALL refer to the built-in units from the same row of the table. #. If the units reference is identical to the value of the :code:`name` attribute of a :code:`units` element in the same infoset, then it SHALL refer to the units specified by that element. - #. If the units reference is identical to the value of the :code:`name` attribute of an :code:`import units` element in the same infoset, then it SHALL refer to units from the infoset defined by the :code:`import units` element (see :numref:`{number}: {name}``). + #. If the units reference is identical to the value of the :code:`name` attribute of an :code:`import units` element in the same infoset, then it SHALL refer to units from the infoset defined by the :code:`import units` element (see :numref:`{number} {name}``). The units specified SHALL then be determined by treating the value of the :code:`units_ref` attribute on the :code:`import units` element as a units reference within the imported infoset. If necessary, this rule SHALL be applied recursively. @@ -145,7 +145,7 @@ Interpretation of ``units`` elements 1. The prefix term is a conceptual property of :code:`unit` elements. If the :code:`unit` element does not have a :code:`prefix` attribute, the prefix term SHALL have value 0. If the :code:`prefix` attribute has a value which is an :ref:`integer string`, then the value of the prefix term SHALL be the numerical value of that string. - Otherwise, the :code:`prefix` attribute MUST have a value taken from the "Name" column of :numref:`Table {number}: {name}`, and the prefix term SHALL have the value taken from the "Value" column of the same row. + Otherwise, the :code:`prefix` attribute MUST have a value taken from the "Name" column of :numref:`Table {number} {name}`, and the prefix term SHALL have the value taken from the "Value" column of the same row. 2. The exponent term is a conceptual property of :code:`unit` elements. If a :code:`unit` element has no :code:`exponent` attribute, the exponent term SHALL have value 1.0. @@ -172,7 +172,7 @@ Interpretation of ``units`` elements 1. The units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements). - 2. The built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of :numref:`Table {number}: {name}`) referenced by variables or other units in the model. + 2. The built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of :numref:`Table {number} {name}`) referenced by variables or other units in the model. .. marker_interpretation_of_units_2 @@ -188,7 +188,7 @@ Interpretation of ``units`` elements 1. If the :ref:`units reference` of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. - 2. If the units reference of the :code:`unit` child element is to built-in units other than an :ref:`irreducible unit`, then the tuples SHALL be derived directly from :numref:`Table {number}: {name}`. + 2. If the units reference of the :code:`unit` child element is to built-in units other than an :ref:`irreducible unit`, then the tuples SHALL be derived directly from :numref:`Table {number} {name}`. Specifically, the set of tuples SHALL consist of the tuples given in the "Unit reduction tuple set" column of the row for which the value in the "Name" column matches the name of the units reference. 3. If the units reference of the :code:`unit` child element is to a unit which is neither built-in, nor an irreducible unit, then the set of tuples SHALL be defined recursively as the set of tuples for the :code:`units` element so referenced. @@ -249,7 +249,7 @@ A "component reference" is an attribute value that specifies a CellML component. #. If the component reference is identical to the value of the :code:`name` attribute of a :code:`component` element in the same infoset, then it SHALL refer to the component specified by that element. - #. If the component reference is identical to the value of the :code:`name` attribute of an :code:`import component` element in the same infoset, then it SHALL refer to a component from the infoset defined by the :code:`import component` element (see :numref:`{number}: {name}`). + #. If the component reference is identical to the value of the :code:`name` attribute of an :code:`import component` element in the same infoset, then it SHALL refer to a component from the infoset defined by the :code:`import component` element (see :numref:`{number} {name}`). The component specified SHALL then be determined by treating the value of the :code:`component_ref` attribute on the :code:`import component` element as a component reference within the imported infoset. If necessary, this rule SHALL be applied recursively. @@ -303,7 +303,7 @@ Interpretation of ``initial_value`` attributes Effect of ``units`` on a ``variable`` ------------------------------------- -#. The target of the :code:`units` attribute value on a variable is referred to as the "variable units", and the corresponding unit reduction (see :numref:`{number}: {name}`) is referred to as the "variable unit reduction". +#. The target of the :code:`units` attribute value on a variable is referred to as the "variable units", and the corresponding unit reduction (see :numref:`{number} {name}`) is referred to as the "variable unit reduction". .. marker_effect_of_units_on_variables_end .. marker_interpretation_of_mathematics_start @@ -318,9 +318,9 @@ Interpretation of ``math`` elements #. All :code:`component` elements in the top-level :ref:`CellML infoset` for the :ref:`CellML model`; - #. All :code:`component` elements referenced by :code:`import component` elements (see :numref:`{number}: {name}`) in the top-level CellML infoset; and + #. All :code:`component` elements referenced by :code:`import component` elements (see :numref:`{number} {name}`) in the top-level CellML infoset; and - #. All :code:`component` elements which are descendants in the encapsulation digraph (see :numref:`{number}: {name}`) of a pertinent :code:`component` element. + #. All :code:`component` elements which are descendants in the encapsulation digraph (see :numref:`{number} {name}`) of a pertinent :code:`component` element. #. Every MathML element in the CellML model which appears as a direct child of a MathML :code:`math` element, which in turn appears as a child of a pertinent :code:`component` element, SHALL be treated, in terms of the semantics of the mathematical model, as a statement which holds true unconditionally. @@ -418,11 +418,11 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_4 -9. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :numref:`{number}: {name}`) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. +9. For each :code:`map_variables` element present in the CellML model, the variable unit reduction (see :numref:`{number} {name}`) of variable *A* MUST have an identical set of tuples to the variable unit reduction of variable *B*. Two sets of tuples SHALL be considered identical if all of the tuples from each set are present in the other, or if both sets are empty. Two tuples are considered identical if and only if both the unit name and exponent of each tuple are identical. -10. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :numref:`{number}: {name}`). +10. Tuples differing by a multiplying factor in their unit reduction MUST be taken into account when interpreting the numerical values of the variables (see :numref:`{number} {name}`). .. marker_interpretation_of_map_variables_5 .. _specC_equivalent_variable_set: @@ -444,7 +444,7 @@ Interpretation of ``reset`` elements #. Each :code:`reset` element describes a change to be applied to the reset variable when specified conditions are met during the simulation of the model. -#. All :code:`reset` elements SHALL be considered sequentially for the equivalent variable set (see :numref:`{number}: {name}`) to which the reset variable belongs. +#. All :code:`reset` elements SHALL be considered sequentially for the equivalent variable set (see :numref:`{number} {name}`) to which the reset variable belongs. The sequence SHALL be determined by the value of the reset element’s :code:`order` attribute, lowest (least positive / most negative) having priority. #. The condition under which a reset occurs SHALL be defined by the equality of evaluation of the test variable and the evaluation of the MathML expression encoded in the :code:`test_value`. From 2a43b23ffa8c96f03ba8d875ffdcfdd550d62423 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 17:07:03 +1200 Subject: [PATCH 563/604] 1.2.3.3 link --- src/reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index e3a06791..a5635245 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -76,7 +76,7 @@ An :code:`import` element information item (referred to in this specification as .. container:: issue-import-circular - 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported CellML infoset MUST NOT be semantically equivalent to the importing CellML infoset (see :numref:`{number} {name}`). + 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported CellML infoset MUST NOT be semantically equivalent to the importing CellML infoset (see :numref:`{number}.3 regarding semantic equivalence`). .. marker_import_end .. marker_import_units_start From 221f6426af7aaf1e73ad5b0e5b52f97dd419082b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 17:09:26 +1200 Subject: [PATCH 564/604] xlink link --- src/reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index a5635245..47259cc2 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -58,7 +58,7 @@ An :code:`import` element information item (referred to in this specification as The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification <>` [:ref:`6`]. - The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification` [:ref:`6`], by applying the rules for simple-type elements. + The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification <>` [:ref:`6`], by applying the rules for simple-type elements. When describing an :code:`import` element or one of its children, the phrase "imported CellML infoset" SHALL refer to the :ref:`CellML infoset` obtained by parsing the document referenced by the :code:`href` attribute value. From f346ef5d5b11352aa6f3906a35f3e24d45b1ae8b Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 17:12:49 +1200 Subject: [PATCH 565/604] link locators bookmark for xlink 2.2.1 --- src/reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 47259cc2..4e186c59 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -56,7 +56,7 @@ An :code:`import` element information item (referred to in this specification as 1. Every :code:`import` element MUST contain an attribute in the namespace :code:`http://www.w3.org/1999/xlink`, with a local name equal to :code:`href`. - The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification <>` [:ref:`6`]. + The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification <#link-locators>` [:ref:`6`]. The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification <>` [:ref:`6`], by applying the rules for simple-type elements. From f0d37c3f0635680c3e27252f410d85f3b72d0e90 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 17:14:36 +1200 Subject: [PATCH 566/604] links fixed properly ... --- src/conf.py | 2 +- src/reference/sectionB_elements.inc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index 568d9e17..ca3cad33 100644 --- a/src/conf.py +++ b/src/conf.py @@ -122,7 +122,7 @@ def define_excluded_patterns(): 'git': ('https://git-scm.com/%s', ''), 'github': ('https://github.com/%s', ''), 'google_styleguide': ('https://google.github.io/styleguide/cppguide.html/%s', ''), - 'href_locator': ('https://www.w3.org/TR/2001/REC-xlink-20010627/#link-locators/%s', ''), + 'href_locator': ('https://www.w3.org/TR/2001/REC-xlink-20010627/#link-locators%s', ''), 'libcellml': ('https://libcellml.org/%s', ''), 'libcellml_repo': ('https://github.com/cellml/libcellml.git%s', ''), 'libxml2': ('http://www.xmlsoft.org/%s', ''), diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 4e186c59..47259cc2 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -56,7 +56,7 @@ An :code:`import` element information item (referred to in this specification as 1. Every :code:`import` element MUST contain an attribute in the namespace :code:`http://www.w3.org/1999/xlink`, with a local name equal to :code:`href`. - The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification <#link-locators>` [:ref:`6`]. + The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification <>` [:ref:`6`]. The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification <>` [:ref:`6`], by applying the rules for simple-type elements. From 9f8e3f562a88c77eb66cd9ab90fca9e701789c72 Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 17:25:33 +1200 Subject: [PATCH 567/604] links added to spec versions --- src/conf.py | 2 +- src/normative_only_index.rst | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index ca3cad33..6c58f3fd 100644 --- a/src/conf.py +++ b/src/conf.py @@ -114,7 +114,7 @@ def define_excluded_patterns(): 'calvin_and_hobbes': ('https://www.gocomics.com/calvinandhobbes/%s', ''), 'cellml1to2': ('https://github.com/hsorby/cellml1to2%s', ''), 'cellml2namespace': ('http://www.cellml.org/cellml/2.0%s', None), - 'cellml2spec_display': ('https://www.cellml.org/specifications/cellml_2.0%s', None), + 'cellml2spec_display': ('https://cellml.org/specifications/cellml_2.0%s', None), 'cellsolver': ('https://github.com/hsorby/cellsolver%s', ''), 'cmake': ('https://cmake.org/%s', ''), 'doxygen': ('http://www.doxygen.nl/%s', ''), diff --git a/src/normative_only_index.rst b/src/normative_only_index.rst index 3acb4bb4..14afa361 100644 --- a/src/normative_only_index.rst +++ b/src/normative_only_index.rst @@ -13,7 +13,8 @@ It is intended primarily for the developers of software tools which directly con Users of CellML models may prefer the informative version of the CellML Specification, which is available at :cellml2spec_display:`/`. -The official version of the CellML Normative Specification is available at :cellml2spec_display:`/specification.pdf`. +The official version of the CellML Normative Specification is available at :cellml2spec_display:`/cellml_2_0_normative_specification.pdf`. + .. include:: reference/acknowledgements.inc From 53db9551d281b0bf56b5a9bef0ea8bd46682273f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 17:30:23 +1200 Subject: [PATCH 568/604] ref for semantic equivalence --- src/reference/sectionA_definitions.inc | 4 +++- src/reference/sectionB_elements.inc | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionA_definitions.inc b/src/reference/sectionA_definitions.inc index 7f45fffc..547cf54f 100644 --- a/src/reference/sectionA_definitions.inc +++ b/src/reference/sectionA_definitions.inc @@ -129,7 +129,7 @@ Specific information items .. marker_cellml_information_sets_2 -.. _specA_semantic_equivalence: + Non-specific information items ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -146,6 +146,8 @@ Non-specific information items .. marker_cellml_information_sets_3 +.. _specA_semantic_equivalence: + 3. Two :ref:`CellML infosets` SHALL be deemed semantically equivalent if one can be transformed into the other by making zero or more of the following changes: #. Adding, removing, and/or modifying comment information items. diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 47259cc2..c0ca908c 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -76,7 +76,7 @@ An :code:`import` element information item (referred to in this specification as .. container:: issue-import-circular - 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported CellML infoset MUST NOT be semantically equivalent to the importing CellML infoset (see :numref:`{number}.3 regarding semantic equivalence`). + 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported CellML infoset MUST NOT be semantically equivalent to the importing CellML infoset (see :ref:`1.2.3.3 regarding semantic equivalence`). .. marker_import_end .. marker_import_units_start From f0bf46e9d057b59a9cbfe0a3f8aa5d7ef180558f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 17:36:17 +1200 Subject: [PATCH 569/604] marker for hardcoded section number --- src/reference/sectionB_elements.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index c0ca908c..db2e0211 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -78,6 +78,8 @@ An :code:`import` element information item (referred to in this specification as 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported CellML infoset MUST NOT be semantically equivalent to the importing CellML infoset (see :ref:`1.2.3.3 regarding semantic equivalence`). +.. hardcodedref above: 1.2.3.3 + .. marker_import_end .. marker_import_units_start From d3594469d3f37bdbf6e01dc08c68f892f97f17a7 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 18:01:13 +1200 Subject: [PATCH 570/604] 2.2.1. Have a link for the section and another for the XLink specification. I.e. mimic what was done for 1.2.5.1. --- src/conf.py | 4 ++-- src/reference/sectionB_elements.inc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/conf.py b/src/conf.py index 6c58f3fd..72328a75 100644 --- a/src/conf.py +++ b/src/conf.py @@ -122,7 +122,7 @@ def define_excluded_patterns(): 'git': ('https://git-scm.com/%s', ''), 'github': ('https://github.com/%s', ''), 'google_styleguide': ('https://google.github.io/styleguide/cppguide.html/%s', ''), - 'href_locator': ('https://www.w3.org/TR/2001/REC-xlink-20010627/#link-locators%s', ''), + 'xlink': ('https://www.w3.org/TR/2001/REC-xlink-20010627/%s', ''), 'libcellml': ('https://libcellml.org/%s', ''), 'libcellml_repo': ('https://github.com/cellml/libcellml.git%s', ''), 'libxml2': ('http://www.xmlsoft.org/%s', ''), @@ -136,7 +136,7 @@ def define_excluded_patterns(): # This will get MathML added to the end so it becomes http://www.w3.org/1998/Math/MathML # in the final display, to avoid trailing slashes. 'mathml2namespace': ('http://www.w3.org/1998/Math/%s', None), - + 'namespace_help': ('https://www.w3schools.com/xml/xml_namespaces.asp%s', ''), 'opencor': ('https://opencor.ws/%s', ''), 'pmr': ('https://models.physiomeproject.org/welcome/%s', ''), diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index db2e0211..6c57dd69 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -56,7 +56,7 @@ An :code:`import` element information item (referred to in this specification as 1. Every :code:`import` element MUST contain an attribute in the namespace :code:`http://www.w3.org/1999/xlink`, with a local name equal to :code:`href`. - The value of this attribute SHALL be a valid locator :code:`href`, as defined in :href_locator:`Section 5.4 of the XLink specification <>` [:ref:`6`]. + The value of this attribute SHALL be a valid locator :code:`href`, as defined in :xlink:`Section 5.4 <#link-locators>` of the :xlink:`XLink specification <>` [:ref:`6`]. The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification <>` [:ref:`6`], by applying the rules for simple-type elements. @@ -233,7 +233,7 @@ A :code:`component` element information item (referred to in this specification 2. A :code:`component` element MAY contain one or more specific element children, each of which MUST be of one of the following types: - #. A :code:`math` element; + #. A :code:`math` element; #. A :code:`reset` element; or From 7e94bc0db150924c67d7de6e44dcd6d4954dae1a Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 18:09:04 +1200 Subject: [PATCH 571/604] src/conf.py: replaced `http` with `https` wherever possible. Also removed `xlink` which I happened to redefine by mistake. --- src/conf.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/conf.py b/src/conf.py index 72328a75..66cabf17 100644 --- a/src/conf.py +++ b/src/conf.py @@ -122,14 +122,13 @@ def define_excluded_patterns(): 'git': ('https://git-scm.com/%s', ''), 'github': ('https://github.com/%s', ''), 'google_styleguide': ('https://google.github.io/styleguide/cppguide.html/%s', ''), - 'xlink': ('https://www.w3.org/TR/2001/REC-xlink-20010627/%s', ''), 'libcellml': ('https://libcellml.org/%s', ''), 'libcellml_repo': ('https://github.com/cellml/libcellml.git%s', ''), 'libxml2': ('http://www.xmlsoft.org/%s', ''), # These should be identical: one for links, one for full URL display - 'mathml2': ('http://www.w3.org/TR/2003/REC-MathML2-20031021%s', ''), - 'mathml2_display': ('http://www.w3.org/TR/2003/REC-MathML2-20031021%s', None), + 'mathml2': ('https://www.w3.org/TR/2003/REC-MathML2-20031021%s', ''), + 'mathml2_display': ('https://www.w3.org/TR/2003/REC-MathML2-20031021%s', None), 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html%s', ''), @@ -143,8 +142,8 @@ def define_excluded_patterns(): 'python': ('https://www.python.org/%s', ''), # These should be identical: one for links, one for full URL display - 'rfc2119': ('http://www.ietf.org/rfc/rfc2119.txt%s', ''), - 'rfc2119_display': ('http://www.ietf.org/rfc/%s', None), + 'rfc2119': ('https://www.ietf.org/rfc/rfc2119.txt%s', ''), + 'rfc2119_display': ('https://www.ietf.org/rfc/%s', None), 'sphinx': ('http://sphinx-doc.org/%s', ''), 'swig': ('http://www.swig.org/%s', ''), @@ -155,17 +154,17 @@ def define_excluded_patterns(): 'unicode13_display': ('https://www.unicode.org/versions/Unicode13.0.0%s', None), # These should be identical: one for links, one for full URL display - 'xlink': ('http://www.w3.org/TR/2001/REC-xlink-20010627%s', ''), - 'xlink_display': ('http://www.w3.org/TR/2001/REC-xlink-20010627%s', None), + 'xlink': ('https://www.w3.org/TR/2001/REC-xlink-20010627%s', ''), + 'xlink_display': ('https://www.w3.org/TR/2001/REC-xlink-20010627%s', None), 'xml_help': ('https://www.w3.org/XML/%s', ''), # These should be identical: one for links, one for full URL display - 'xml_1_1': ('http://www.w3.org/TR/xml11%s', ''), - 'xml_1_1_display': ('http://www.w3.org/TR/xml11%s', None), + 'xml_1_1': ('https://www.w3.org/TR/xml11%s', ''), + 'xml_1_1_display': ('https://www.w3.org/TR/xml11%s', None), # These should be identical: one for links, one for full URL display - 'xml_infoset': ('http://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), + 'xml_infoset': ('https://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), 'xml_infoset_display': ('https://www.w3.org/TR/xml-infoset%s', None), 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816%s', ''), From 9d78a511e1e9ce264ea14f1bab5370dd9d7be181 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 18:15:02 +1200 Subject: [PATCH 572/604] 2.2.3. Slight improvement to the link to 1.2.3.3. --- src/reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 6c57dd69..f384ad45 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -76,7 +76,7 @@ An :code:`import` element information item (referred to in this specification as .. container:: issue-import-circular - 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported CellML infoset MUST NOT be semantically equivalent to the importing CellML infoset (see :ref:`1.2.3.3 regarding semantic equivalence`). + 3. Any :ref:`CellML infoset` imported, directly or indirectly, by the imported CellML infoset MUST NOT be semantically equivalent to the importing CellML infoset (see :ref:`1.2.3.3` regarding semantic equivalence). .. hardcodedref above: 1.2.3.3 From fafc0e69ff635e08c3f40eef77f9c94c9a872ddf Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 18:29:54 +1200 Subject: [PATCH 573/604] Specify distribution of columms in Built-in units table to assist latex rendition. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 546a0c31..04a794ed 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -50,7 +50,7 @@ A "units reference" is an attribute value that specifies the physical units a va .. _table_built_in_units: .. table:: Built-in units - :widths: auto + :widths: 40 60 +-----------------------+----------------------------------------------+ | | **Name** | | **Unit reduction tuple** | From c8a750ea9ca524d1463533f296da807d265a706a Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 18:34:28 +1200 Subject: [PATCH 574/604] 2.9.2. Replaced "... one each of..." with "... one of each of..." As done in other places. --- src/reference/sectionB_elements.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index f384ad45..7ef8aff4 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -306,7 +306,7 @@ A :code:`reset` element information item (referred to in this specification as a .. container:: issue-reset-child - 2. A :code:`reset` element MUST contain exactly two element children, which MUST be one each of the following types: + 2. A :code:`reset` element MUST contain exactly two element children, which MUST be one of each of the following types: .. container:: issue-reset-reset-value From 4633d6474a1b9ec41ced6eb936b59e3e0756a44c Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 18:43:29 +1200 Subject: [PATCH 575/604] Remove unused image. --- .../unofficial_version_dark_background.png | Bin 9391 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/static/images/unofficial_version_dark_background.png diff --git a/src/static/images/unofficial_version_dark_background.png b/src/static/images/unofficial_version_dark_background.png deleted file mode 100644 index 1c531bb51bfa2f9073e829dff68d41d835ae9478..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9391 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 From db362750cf4f1dff9b9ca71e5a9d9d8720a6a481 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 18:54:38 +1200 Subject: [PATCH 576/604] Fix the unofficial ribbon to the top right of the html page. --- src/static/templates/layout.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/static/templates/layout.html b/src/static/templates/layout.html index 1364aba6..1f1c7760 100644 --- a/src/static/templates/layout.html +++ b/src/static/templates/layout.html @@ -21,7 +21,7 @@ {% block document %} {{super()}} - unofficial version + unofficial version {% endblock %} {% endif %} From 568c14c2981065814f21a031177a6468a7976d97 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 19:11:33 +1200 Subject: [PATCH 577/604] Move to a red unofficial ribbon. --- .../unofficial_version_dark_background_red.png | Bin 0 -> 10004 bytes src/static/templates/layout.html | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 src/static/images/unofficial_version_dark_background_red.png diff --git a/src/static/images/unofficial_version_dark_background_red.png b/src/static/images/unofficial_version_dark_background_red.png new file mode 100644 index 0000000000000000000000000000000000000000..6330f2aeee9f4b2a19b5a27aa12f0c356f134e20 GIT binary patch literal 10004 zcmXwfby$<{`}Sx-axl7tA)V5l(lUB+R7>JaBfC8W2 z{JzKg$KpA*v`fJFVsnh=!pOT0EwoCssZLR>)-1UKIUD&q)iV1UupH3e6HT#VT04gj$?S3zrbvwP>Mr zLnf^AFSE6T63|hCCj7KU8ID8J8M=1gFNH4fJqg0)BuD3Yd&l_-JQEt&vF_V@F>U7` z(>pr;q4xSetHZgt*HbNNncz$JrfTH^PA52WD3^HOpA&}hgwn%a^06S|QdEdm9hq*vW8Tohdhy_yU4#W-WN z7ao3%i>I>_(|(!k$y3_w@4ZgrpK-%qdG|?ia=w{{0+9Himw%LZsed-+4hk){e$h78 zzm^>}pQn=?o5|35G~JY#zGLg$h5Y+vO0INWJ8CrXjVNx-?s)083B={fkJu#Slacm- z=8c*x_74hWIxIXqwd1sII_=Kdun>VP>>b7#B;Mcz*~_$4Fbe3kRJ|0zP!Qx6c`B2d z(_AU+F%fBN?9i}WQLd!cgVp!CC|3Q^IT)hO1_ZOIJQX2T2<*>>yPSpFH{IrE~na zr)T3bilajzTqs}32MSlXGA3v?Z#Us`n1j7yMhA?dFehU*@QS5Enj0IV}OfP_02J#JMcVL zv?ThWq1r;lwjfq5MfhG-ON*Ty&dMIZ%I?%~(d99?Xgl;T#KlCr@1hg#iF2KfNdgS% z>5*7g1X#8UdA-H;-QvKAIeGr!do@&+I`wKHw_$mOL2Y^}P?o=Z>PbM6;fb=zp|Z)z zSKn(d+L}6D&j}u)eMW*9-HXIJA{v~7z!ZB_NiV=!bf4WO&50ajEUmztct7%eW?JEM%c5 zv5_1ZPCIE*ftK=rUpWax`>5_6OF6;vf&bz4lC4vwN79WbH#_c%zd6oITPuv~byw4l zB66jK){wC(IGAzCyvWYr8f1j;A?6&^IWvbk-RQ*t`bvZ%c zGsC}3p@KDEg^+{wTA{p&*aMOTl!`upoh+h)y!U-d`r`I^?ClS`iC7c>kXBlnQzjF^ z$BV1g=*sJX-oI`KM*PM_NWS@G*1#~saTal19SiDU(c{cVXx(duF3F+5azs6|TzpD^ z|Mp-(K~(n^VWQ zX;{xZEvo#(|8fW)W)S_CcB%1n`upTY1Bx0-?5wfv!4t2IFBI5=QnBGfj>LpoO6;~# zf`ba=jyJshC9nwNo6Y8lPLZZ(El_QP5syEcN$wnjO@de2(i}s*x!NcYGi4r5_9xiu zs{{Sle7OTxa&orN@Z^L*_vt3@zr7KGjn*$?8~Zlp(vh+AL`m^k9lvu-pO?McG2a@V ztuDvjj2Mu5Ic!fN_le;P0W|bEScAatzHDM8@9a)+W@fSKsOS& zEJQzTvN`oCN2XsOZnj)S99e+>9|baI7ve-;on>)mxmUO}yhL6nr!iV?DvbDcW7LKQ z>64Y!tdTu+OPHbv5o>{RLM-@oDDc6STkKC#@lwcTP% zWo(4W%8NxcHznr&`BP-@qeE3$xm6>wc{}f~zP-1t53yA`D+R)B1YuQ;t_yYFIJjsW zFgJpIG-+mj?x?Mx zMYGyJig6nxD3hWdvF99y@uX^R$7mDdr6e!?7#;X4TFk2zkDH)tFVF6ZIcA9>a8_40 zQq-Sv+66MNR~!Y-37vKGWRY_v8O+l4w^mdr0y^2#6b;gQBngsst0mD1NI!(RUAn>O zqIfmvS?l44H|!lR<4mLU^UoCaROcSf0G!^syw8r&;;tF-LgtdefvXx8fuDg0bx{OMGBu#Vv_*ybm#I8?5IAv$AB*ka)W3 zlS^q_KfCstVC#DxylYy5!L!zWymH^Z=WC46f!&&_4Ql<0fAY$fLgE}g;m#v5K2(y; zU&QE8Vj2Q{W3Ei*j6(Mp;Y}5Vxrtj0hK7M7K4&>y@~9cnOgXYr%(b3$lEUH7%Opbb z{rY6An!|f$M6EOmIZ0~0P+F3A%jg(VF_f`m3zwMz%x+^31@?>d5a z%csz-7$BjGA#!DbD%EA`Tlirz5;U3ZTI>LWI2Qocc&Ebvz4O4_|H zAwjiPh=>}i2NyyWntXWuj1FaDe90SsO0Bkf8DUQ`F@MzdvHp~{2x0tW0Fg^lOHB=| zR+Wu;&Rqdx*lS8#xtXI;zkdC@uNmq>!c(Mciz#1^4MixgC5OmPu^5Gr59_E3Y}m0c zofy=*QJC9*%>!DUo{1Rod-LQuWf)G6;1=#Vh)uZS=1Ub=IkkdHZRo9qUBp6Smu!>A zQIuQbIFFGcLr?q5nMGubf9Zd$!+P;=S!+Z|-alF|<$jA_1B&|?DkPI|nl;i^-b$0J z`da+7J#b1$QBqwi-5bU;XWOVTW9mmi3H@Fq_Stnsh}YT6^>Q!m+~THXTSkDdVO-is zF{Fn+*ju6()bUK6iAf{&ZjNk! zAL2qBHaGK8NQLk*cg(@{6YsQN$%pM+p9TE1(!L)=o!7p5d9m&@jF;x+8j`bbH2X>u z-KFc0)f{)sWIv-UL~_~_fzL|KNfLbn zm3W)Nr;|cicE5&48FQc~ISA$A5$$NZE~5$9&5wlAX>9_**z|EJpD_Jq-a+$#@O?~> z91CiCxbGXRB!Mnb=b&&FW7fei4sf%EE?r!Tgjwg zj$yI~wFHs4PtzJDCXy~@iUW*{^l#i8U-O#0PK1wRh>pPI^sW0ts$J23`vFaF2o;i5 zn;Fluv?8jGw?Q--y=C*=$+EoqOmZmYyAvba>TXc+n-cZ>{IMf9 z4U7kPd%Y#n?2F!J#jnSsHHSro^`n*I5_?tDR z5je>aG@c9+6$aVfjGcS!H`_gc_JL@kAKg-qz2nf$wEdr8Do=0^N#AVWTGTJMPxnX* z76T{NM4%re+;6!@l$D_<*OA1qpHavhZxE+fz?^$vHS{aVq38pul-;v2=UR4EN(>JW z=sL$k%tZuNKI=CioT*F54GBq!;`t^2s>g;xn$%BgYO0uKP$6V5z6pxf)tN&f9Z-Mk z=~jMi3iwfX-j%tP{Aj10gjY?O+Zlcl{ML5*!Q|YiF*c=Q=H{cPxL-cC!_D|AV>{Qt zKvN?62i&r73>)wunLj8$;=Z^>39WK{@*bd}3G`DIa#*R#99tc%?-Xi6&u39~7PcaJ zUXj+Cp#)DDk(@lYW+kza~Ms_~Q+aENwBGe9n_WsliVk8prCsX8A zthOoQf7E`&zO@|h=QRXBdw)vwP6~>y{hLtjWO{S!F(e-5!zq2;fq^q@wCpN)Ij>c@ z%rqYh)23_y71yR_B8=mKUio25qCP$FMtwi6NZwIaG{-d2BWB8>r1f`Lj*fH~wdk-u z0t@_gJN2d2&f`3O?}+Ffo{{2_?eWcBvx5aQt@??rT-c(hu*1rMNoKS(i0qZF;^I?7 zXJV&8?}ch(D96Z_7kaHC&P9u3HC1bi-Cjq3a+1bhJ9a0vC{E}XRCHbo5^rs+HVn5j zMq!jtr;tb}ZwtR^12XFW1=4dPlwY;WsY^+y)o4CL{R`UD2OzV3QeaQa^TamsmbX8c zNpE5zM$s&B3p9f0r8UUhCbGi7ejf?dm>SyE<5dK&Bk{8qk{ko@%#W|@D-xbo$#vdK zN_d~JP=Y^c=Sht&p0NdzxkrtuZE-=B&I8qJqbv8(KBa&ku{)bAXteNFd)tc{@5Kv< zJ#oPGrEPPGC{+vL>!TRgyr}0R#uu_wOaz2lQ#ra+gYWFlx;!y$0RIrwW>L0f@3G8e zNYVR3Du={Bq9o?C@VG!Ou0!&hx3>Y`onDJ(^<6FT5f7d@HpV76(XqdI^GyrL74G68 zCMzP7KoA@<#WBJPuofXE2bdlN<3Ok8Sg}%(W!^S+|1d1**KL|rE5D#=8y^NNaposC zP8CmaM!>k@Ic>w0XHAJEJGRrJTWY_7_`PCy zeab$mDdv^cRnO@GIC#8Y`;#NowC?A zW3qv?+S*W%KBYg_v6FY??PCBvpJt<`d zT+gCu_-mdtN*_wLz450OjQ^bjNmFD#i$VB(6Zu}3uyh-I@NFPy@YQ;|4-Wt?#HZ8nyA*ShYnlWor)HbZ zC7j8}O4eFn2dLTSA}v!)V0M3SUdqW4%1nyq!`RT2vvPJ&H}xd|gPz}g3t6qEAXqTK zQE!;oKYQEhaay5+E%(K&X`6C)5wQ%oPY$xcorghHZ2}_cxEaD!s@2;WImDvl!h1o1 zoko3_Fe^VU302u(U=&+3l9k_CBG6bqaLl1Y-Tw{g%D5PmR|I0C!%uK}{hz<&lW7v7 z@&m&;Z>~ovVBv^S85|+&`klYc^aAN%op|L7*b?6#4#Js&7)~t?R2F!3bt%qKw3nW6 zo#JrV{4$?f;L|}nhLG4wLH?m$Gg2h$g0xlP^S$)#*Ao5Hs!|I4?F=Rfy&hA3D!x)N zI5*bih(ZhMlW)#boSNCM*2t^$2#c_3=uwaQVb(*Mf}$3m+Ff(?xz*Io^A|&|C+B_f z=JD`AllTenjhE3fsvb?xxr3=V7#ArVhg2FiE$R?36`V;<%}`~zse~+ug&}A0#I|GN(CKt zHck!jg;ex^`1Ph#D5TS9U;#^J0xeJ6x9|G62k`Op$yG+umEQ;%yyU|R>F0UuO5ge* zssFa_+l`c_1nNfdjc_w#r^01jBmeb1egtLK-IOg?ET6=sJ)WGQ((in7#9TZ=51c`( z1)hApm*2ztQ;7KIb>~?%)pq1P%u#7WCfN#%n@*?{v)H9q{d;q=R7QR9^lQtuv5R0} zH|zh}-H8W-(CH=!M9l3H^*>jbN-_R7;ACcES%NPt;T$0_V>L2p?&-bQpWp9(eN2uBT2Sk*7SNeb z$TXu5-W=|ug~eKs+EzLhZw4(cPf>Vf+X9Hk)3Ey}*5BsBPUw^3UnNtOV~{D^3Au7} zaC1=5(QxG%4p+heD(QT3%!XXc-nxxLt*frQ{rd+^$`N2 zaw7(Sw(!oA{Yp=UWG69VJh$v}a@00r7107E@8`$9@7Xb2V_Sef7>iQ9f)Urx{9PskNo*F16-8@v;99 zXYP(-<#!C?Thf0YNd$y6HM6}ENMeJ<}g2*I%w5GswBW=B^G7bYiw6;>@gDOMn@zrshS9TGp2;|!68nypEVV~ z;RQs{PfA@l_^Q5R<*~`nhvZTW5wf4sF|;3<9xR{kVf5g$yuZzTRcyR{4dKLT(ze7K z62z}HjL)%j`zhymB*T-c{1WnarJ<e(A?ej-q0ZRd%Z3l6=2LPzKpwxxApf^Y5mP|i;Z8)&m zvyu7D=_0ZtG%i_LO2N&ns-sSU$}x@qciHd{&rByOyw^CH+bu>!dh_mp@Dxs<DgCd$bQ-zXH)Owk3^dLlP`a;K&-rt{l_4n_<8lgTq&8p3e4r^B3AY5P95A-;ugKJB;I9Kvz6>ee_s-C6pOZ-zGyH{KXa^&W<%3bl@~MkF{xAsd+Jfs zyQQq7G2A#Br(NLZeA#y+r&2orvUB(6V$$RYx zF-~<$Mp=i<4=}$o*!PQzzEk*@9>)HC(vXo;(X&ijn&a7)pp`YfciFL4F_T2 zB;2y5dUA46`r}H=xx-Lz{xEo-wx7M3o>`;vJ^>Hcilq0JK+Za$QyhaBSlRwo*-jY5 zP?<=Q58L=)hN7*WF&eRbbNj}@;^Yo*UeD;4VISysY&Lg08*#l6R(I~@8+%vSBniE- z#FI9iS%ylw{?G-r$~LZE{e^*}f|zT!_ckiH$+;s2TxurikYBRdVjSTJqZR{5aNa@U18R8ul)dx$c0fbDr*TqHR$P4aA{v9JGiTzOec_Vg z{e34tHopyt{=w4Fk2hP0dP8J80BKg@kGNX=JJj;}1Px_(k0M25dX;WHrlb>cMOu&h z;_7YfW_n=Xv93t8aXOWWXY`9* zqBt^>yh`^X-g7SIh67P=(!97LY5lM7$Zw&Q@@~ZOB|88ja0>E z%Iw=^{HI{kG;9^yIu8U251e+X*DPq$hG{F9hFHkc=b!#wZ*}7B;4wWk37#yibBBTk zA^T>| zW*hWt$W?U~=2ZH!Uq&fc?2Z@zMA}!4mn~zNz^t4@Qc8OE8GY+kT$SGUvf--41NV!G z>Jq%t`iZEZ&01fb3P>^Y?uMW3T*#zV5ZOa;W+&v^S4ckIKe@PjnsR=%bbKUALW-9B zA$fMw=iTfoOBD`k`?zk~uV#qwZQa=nnow!w5@-1(OJ#YT*{fv`FYj~DRO3ZveY+|6 z{M*IfXFfV`;Rl0<1{k|0_k0x(SoC)XfugE~O95(5NQ1j>0q#A1j@sD_ zX-OL48tB#r3ysk-OAvS3AkX!!$ciob*1S9QmbVyZl5uj#9Yy}A63>|#$@FMphHh>? zS+xZm_@^7<#CPA}{TDad#slzp1P~oKEd<$RT#IDYe)M3l;1iX7wa(baa+*O(f4{GG z#;gKI&WS)<@BN_sng7HH=Kh3fW>j4017+lO>B-Lqbn&=UQ)H0}3Q#CSj6wE?+PcyV z^3Gmb=BfoBJ&`zGcH6WJMNlkOwohK0j&I8xW)?h5mJI7UuB2VWKth|qz8u*-#Su9Z z5%$d<<98_m;2y)E)KhlFwX&m0LaZmaM_|I!G^d}h7%l16tk!0weP!{Q`y?R>1nxnM z*BLB~7xONy^&r!I>1|2x_t&>-rqL9p{zki1^9J#H9KeSxPFx{sbf6~HCp}Yc&3OK~ z&jvDl^T?IZ_~iTYJN=dDe%kriBT%%QL1biYUvELrTzX{pq^KqD$QC>R(1R&%A!0y} z412D~*WrR?51FY5%x3M+CDZcC=?}B`FowB?QIaR%olP0DZ7vXXd(j4F2(N-ZJtY%IB00^-&(RBjk)Ie+TVCXw@1(b03t9&ewcyMR)Twxj!F4QBqKTAWu%buk;_ zB&8z}IkBan-(L}@i4lwGexu@d86adzCC0wGd&~fR`&H!uhC!dTB$)wf2FhpwLv1Rt zrwh2pL$0fXp!=l{|2#0Pu}uma2#AU(nR>bGGs!<?GgU_@IFAKFqtL3Sek5Z z+^@e3Ryqz{JfM+}Y1`A?(w0Hw&{kg<9b~{WF>)Dt;%x(4Z#D{ zf9W0UYR`0dFh)!}5Z7IZ?s}mrP=V$EgdeAwH?Z5WB)#wxOeb#BN=oIhh_>3P#2^1u z-IJjO^C!YwkVin6$T%T1m}+HHTHTrlO=(5Yt6l4Xs5qvoALAAg=pc zlC0ItM3v|us_@@r{SDhAzzd{*0rTgLg^e zP$i()jEz(U|GfPkGbFzDhuzUekog%E?pW9)DiGQCeg1IND?0!U@foQK60^KrVj-Pb zaG?=kWp$4dHlk^J0YWudJRjgK-8Zol!8v+)Ti-u@G;^!cLXt&}a(@+-Ah)Hdhe_M* zkx@@|u<>js4{<$d1YJW;)I;u2^zi~Ix-x1YzBnGw_7HQUP>I+i=8#S(hcITz`*Xsm zt{z#&0_h$nOeUIV9)ZM0j-e6<_y+8$J-vGENM%nDZ{LRg((W&RL-31V1ulEM+IgG( zSY3kY?kj=o)%nc*+GERwlO - unofficial version + unofficial version {% endblock %} {% endif %} From 6945e01a5c3138a0d86fab545959a4c72015c2b6 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 19:11:57 +1200 Subject: [PATCH 578/604] Removing green unofficial ribbon. --- ...unofficial_version_dark_background_green.png | Bin 11695 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/static/images/unofficial_version_dark_background_green.png diff --git a/src/static/images/unofficial_version_dark_background_green.png b/src/static/images/unofficial_version_dark_background_green.png deleted file mode 100644 index 89334dbab36c34b1a19cc60477a04912f235529c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11695 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 T{s?{$8$s!#x?G)%Md<$l0ol;= From cc5ab20a9abbf669c41f591ce98f070f9e32e7ea Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 19:12:46 +1200 Subject: [PATCH 579/604] 3.9. Added double quotes around "encapsulated set", "encapsulation parent", "sibling set" and "hidden set". --- src/reference/sectionC_interpretation.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 04a794ed..5e1a5d4d 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -342,20 +342,20 @@ Interpretation of ``encapsulation`` elements .. marker_interpretation_of_encapsulation_1 .. _specC_encapsulation_set: -3. The encapsulated set for a component *A* SHALL be the set of all components *B* such that there exists an arc in the encapsulation digraph from the node corresponding to *A* to the node corresponding to *B*. +3. The "encapsulated set" for a component *A* SHALL be the set of all components *B* such that there exists an arc in the encapsulation digraph from the node corresponding to *A* to the node corresponding to *B*. .. _specC_encapsulation_parent: -4. The encapsulation parent for a component *A* SHALL be the component corresponding to the node which is the parent node in the encapsulation digraph of the node corresponding to *A*. +4. The "encapsulation parent" for a component *A* SHALL be the component corresponding to the node which is the parent node in the encapsulation digraph of the node corresponding to *A*. A component SHALL NOT appear as child of more than one encapsulation parent. .. _specC_sibling_set: -5. The sibling set for a component *A* SHALL be the set of all components which have the same encapsulation parent as *A*, or in the case that *A* has no encapsulation parent, SHALL be the set of all components which do not have an encapsulation parent. +5. The "sibling set" for a component *A* SHALL be the set of all components which have the same encapsulation parent as *A*, or in the case that *A* has no encapsulation parent, SHALL be the set of all components which do not have an encapsulation parent. .. _specC_hidden_set: -6. The hidden set for a component *A* SHALL be the set of all components *B* where component *B* is not in the encapsulated set for component *A*, and component *B* is not the encapsulation parent of component *A*, and component *B* is not in the sibling set for component *A*. +6. The "hidden set" for a component *A* SHALL be the set of all components *B* where component *B* is not in the encapsulated set for component *A*, and component *B* is not the encapsulation parent of component *A*, and component *B* is not in the sibling set for component *A*. .. marker_interpretation_of_encapsulation_2 From d39bb05416dd938e270f138c4ee5923215564dbf Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 19:29:30 +1200 Subject: [PATCH 580/604] Table 3.1: make the width of its columns a bit more "balanced". --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 5e1a5d4d..a3808181 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -50,7 +50,7 @@ A "units reference" is an attribute value that specifies the physical units a va .. _table_built_in_units: .. table:: Built-in units - :widths: 40 60 + :widths: 30 70 +-----------------------+----------------------------------------------+ | | **Name** | | **Unit reduction tuple** | From 085b1fd5076b573f926cee20dd5f7ddb09f65f33 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 19:45:23 +1200 Subject: [PATCH 581/604] 3.3.3.1.2. Properly reference the second column in Table 3.1. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index a3808181..257c4a33 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -189,7 +189,7 @@ Interpretation of ``units`` elements 1. If the :ref:`units reference` of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. 2. If the units reference of the :code:`unit` child element is to built-in units other than an :ref:`irreducible unit`, then the tuples SHALL be derived directly from :numref:`Table {number} {name}`. - Specifically, the set of tuples SHALL consist of the tuples given in the "Unit reduction tuple set" column of the row for which the value in the "Name" column matches the name of the units reference. + Specifically, the set of tuples SHALL consist of the tuples given in the "Unit reduction tuple" column of the row for which the value in the "Name" column matches the name of the units reference. 3. If the units reference of the :code:`unit` child element is to a unit which is neither built-in, nor an irreducible unit, then the set of tuples SHALL be defined recursively as the set of tuples for the :code:`units` element so referenced. From b172fcc10659b18529d6776b797ac2ad15cf4351 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 19:48:52 +1200 Subject: [PATCH 582/604] 3.3.3.2.2. Consistency: replaced "matches" with "is identical to". --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 257c4a33..4c03707b 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -189,7 +189,7 @@ Interpretation of ``units`` elements 1. If the :ref:`units reference` of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. 2. If the units reference of the :code:`unit` child element is to built-in units other than an :ref:`irreducible unit`, then the tuples SHALL be derived directly from :numref:`Table {number} {name}`. - Specifically, the set of tuples SHALL consist of the tuples given in the "Unit reduction tuple" column of the row for which the value in the "Name" column matches the name of the units reference. + Specifically, the set of tuples SHALL consist of the tuples given in the "Unit reduction tuple" column of the row for which the value in the "Name" column is identical to the name of the units reference. 3. If the units reference of the :code:`unit` child element is to a unit which is neither built-in, nor an irreducible unit, then the set of tuples SHALL be defined recursively as the set of tuples for the :code:`units` element so referenced. From 79b819a1e1bf62d74d321dd293764cf1fb3e20f3 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 20:16:48 +1200 Subject: [PATCH 583/604] 3.3.3.2.4: have a link to 3.3.3.2.1, 3.3.3.2.2 and 3.3.3.2.3. --- src/reference/sectionC_interpretation.inc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 4c03707b..a46814b6 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -186,14 +186,24 @@ Interpretation of ``units`` elements Tuples for each :code:`unit` child element SHALL be determined as follows: + .. _3_3_3_2_1: + 1. If the :ref:`units reference` of the :code:`unit` child element is to a single unit which is an irreducible unit, then the set of tuples SHALL have a single member, which SHALL consist of the name of the irreducible unit being referenced and the exponent 1.0. + .. _3_3_3_2_2: + 2. If the units reference of the :code:`unit` child element is to built-in units other than an :ref:`irreducible unit`, then the tuples SHALL be derived directly from :numref:`Table {number} {name}`. Specifically, the set of tuples SHALL consist of the tuples given in the "Unit reduction tuple" column of the row for which the value in the "Name" column is identical to the name of the units reference. + .. _3_3_3_2_3: + 3. If the units reference of the :code:`unit` child element is to a unit which is neither built-in, nor an irreducible unit, then the set of tuples SHALL be defined recursively as the set of tuples for the :code:`units` element so referenced. - 4. The exponents of each tuple in the set for the current :code:`unit` element, as derived by following rules :hardcodedref:`3.3.3.2.1, 3.3.3.2.2 or 3.3.3.2.3` above, SHALL be multiplied by the exponent term of the current, referencing, :code:`unit` element. + 4. The exponents of each tuple in the set for the current :code:`unit` element, as derived by following rules :ref:`3.3.3.2.1<3_3_3_2_1>`, :ref:`3.3.3.2.2<3_3_3_2_2>` or :ref:`3.3.3.2.3<3_3_3_2_3>` above, SHALL be multiplied by the exponent term of the current, referencing, :code:`unit` element. + + .. hardcodedref above: 3.3.3.2.1 + .. hardcodedref above: 3.3.3.2.2 + .. hardcodedref above: 3.3.3.2.3 3. Tuples which have the unit name of "dimensionless" SHALL be removed from the set of tuples. Note that this can result in the set of tuples being empty. From 8303c23b71b9d2c1b1954f1fa000ce699bcc121f Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 20:23:51 +1200 Subject: [PATCH 584/604] White text for red unofficial ribbon. --- ...unofficial_version_dark_background_red.png | Bin 10004 -> 8599 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/static/images/unofficial_version_dark_background_red.png b/src/static/images/unofficial_version_dark_background_red.png index 6330f2aeee9f4b2a19b5a27aa12f0c356f134e20..3c01f372166e84cb0fbcd04e44a88164a5851102 100644 GIT binary patch literal 8599 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 z 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 literal 10004 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 Date: Fri, 17 Apr 2020 20:24:39 +1200 Subject: [PATCH 585/604] 3.6.3: removed unneeded comma. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index a46814b6..7e644af0 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -300,7 +300,7 @@ Interpretation of ``initial_value`` attributes #. The conditions under which initial values hold are (by design) not defined in a :ref:`CellML model`. -#. Where the :code:`initial_value` attribute value is a :ref:`real number string`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to that real number value, when the initial values hold. +#. Where the :code:`initial_value` attribute value is a :ref:`real number string`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to that real number value when the initial values hold. #. Where the :code:`initial_value` attribute value is a :ref:`variable reference`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to the referenced variable when the initial values hold. From 537456e049510d2ed968a9bd4db0f98ec96a581c Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 20:31:23 +1200 Subject: [PATCH 586/604] 3.3.2.2: properly reference the second column in Table 3.1. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 7e644af0..99eed1ef 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -172,7 +172,7 @@ Interpretation of ``units`` elements 1. The units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements). - 2. The built-in irreducible units (those built-in units with "-" in the "Unit Reduction" column of :numref:`Table {number} {name}`) referenced by variables or other units in the model. + 2. The built-in irreducible units (those built-in units with "-" in the "Unit reduction tuple" column of :numref:`Table {number} {name}`) referenced by variables or other units in the model. .. marker_interpretation_of_units_2 From 027ef0e63cd83d736005c6397b867087dae4e08d Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 20:35:09 +1200 Subject: [PATCH 587/604] Improve text in unofficial ribbon. --- ...unofficial_version_dark_background_red.png | Bin 8599 -> 8747 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/static/images/unofficial_version_dark_background_red.png b/src/static/images/unofficial_version_dark_background_red.png index 3c01f372166e84cb0fbcd04e44a88164a5851102..8b44a944f71970314b609c500eeef5d0d1397404 100644 GIT binary patch literal 8747 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 literal 8599 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 z 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 From 258ec6cb3016ecf0b7625c66e4b83761b59735c7 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 20:42:22 +1200 Subject: [PATCH 588/604] HTML: output the full name version of a month, not its abbreviated version. --- src/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf.py b/src/conf.py index b900bbe9..583ca607 100644 --- a/src/conf.py +++ b/src/conf.py @@ -300,7 +300,7 @@ def define_excluded_patterns(): # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. -html_last_updated_fmt = '%d %b %Y' +html_last_updated_fmt = '%d %B %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. From f0c690e94fef9c2fd678dc16518eff77289010b0 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 20:50:49 +1200 Subject: [PATCH 589/604] Separate unofficial ribbon characters a little. --- ...unofficial_version_dark_background_red.png | Bin 8747 -> 8907 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/static/images/unofficial_version_dark_background_red.png b/src/static/images/unofficial_version_dark_background_red.png index 8b44a944f71970314b609c500eeef5d0d1397404..4a86959e5689319fcf39f1cbed1dd11f1784bac7 100644 GIT binary patch literal 8907 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 QB^8jeyoOwrjCsia0U$R5OaK4? literal 8747 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 From 789601fefafd48e845dabf3415ca112666b1312c Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 21:09:43 +1200 Subject: [PATCH 590/604] Some minor cleaning up. --- src/conf.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/conf.py b/src/conf.py index 583ca607..3c8aad02 100644 --- a/src/conf.py +++ b/src/conf.py @@ -359,14 +359,14 @@ def define_excluded_patterns(): # Additional stuff for the LaTeX preamble. 'preamble': r''' -% Preamble set from Sphinx configuration -\usepackage[titles]{tocloft} -\usepackage{textgreek} -\usepackage{amssymb} - -% Stop cross-references from showing up in italics -\protected\def\sphinxcrossref#1{#1} -''' + % Preamble set from Sphinx configuration + \usepackage[titles]{tocloft} + \usepackage{textgreek} + \usepackage{amssymb} + + % Stop cross-references from showing up in italics + \protected\def\sphinxcrossref#1{#1} + ''' } # Grouping the document tree into LaTeX files. List of tuples From 86137ba26beee239cc045ce4f77aed2559879ce0 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 21:17:09 +1200 Subject: [PATCH 591/604] Front page: replace the "Apr 17, 2020" date with "17 April 2020". --- src/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf.py b/src/conf.py index 3c8aad02..c3cf53e3 100644 --- a/src/conf.py +++ b/src/conf.py @@ -207,7 +207,7 @@ def define_excluded_patterns(): # non-false value, then it is used: #today = '' # Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' +today_fmt = '%d %B %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. From aee935e512563f144387bd4689b10ea2eeaa5f8e Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 21:29:44 +1200 Subject: [PATCH 592/604] 3.10.7.2 and 3.10.7.3: added a missing comma. To be consistent with 3.10.7.1. --- src/reference/sectionC_interpretation.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 99eed1ef..913973e1 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -418,9 +418,9 @@ Interpretation of ``map_variables`` elements #. When component *AA* is in the :ref:`sibling set` of component *BB* (and vice versa), the applicable interface for both variables *A* and *B* SHALL be the public interface. - #. When component *AA* is in the :ref:`encapsulated set` of component *BB* the applicable interface for variable *A* SHALL be the public interface, and the applicable interface for variable *B* SHALL be the private interface. + #. When component *AA* is in the :ref:`encapsulated set` of component *BB*, the applicable interface for variable *A* SHALL be the public interface, and the applicable interface for variable *B* SHALL be the private interface. - #. When component *BB* is in the :ref:`encapsulated set` of component *AA* the applicable interface for variable *B* SHALL be the public interface, and the applicable interface for variable *A* SHALL be the private interface. + #. When component *BB* is in the :ref:`encapsulated set` of component *AA*, the applicable interface for variable *B* SHALL be the public interface, and the applicable interface for variable *A* SHALL be the private interface. It is noted, for the avoidance of doubt, that if components *AA* and *BB* are in each other's :ref:`hidden set`, there are no applicable interfaces for the variables *A* and *B*. From 4728eeda4e031dba30c97ba48c46e77567e1601d Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 21:35:43 +1200 Subject: [PATCH 593/604] 3.10.7: added a missing "then". --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 913973e1..ce6bf27d 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -422,7 +422,7 @@ Interpretation of ``map_variables`` elements #. When component *BB* is in the :ref:`encapsulated set` of component *AA*, the applicable interface for variable *B* SHALL be the public interface, and the applicable interface for variable *A* SHALL be the private interface. - It is noted, for the avoidance of doubt, that if components *AA* and *BB* are in each other's :ref:`hidden set`, there are no applicable interfaces for the variables *A* and *B*. + It is noted, for the avoidance of doubt, that if components *AA* and *BB* are in each other's :ref:`hidden set`, then there are no applicable interfaces for the variables *A* and *B*. 8. CellML models MUST only contain :code:`map_variables` elements where the applicable interfaces for both variables are available. From 9cbc31d865d3645512c80395922251083d32b1b5 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 21:38:08 +1200 Subject: [PATCH 594/604] References: slight update to the MathML 2.0 reference. --- src/reference/sectionD_references.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index 8516fd11..636a909d 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -26,4 +26,4 @@ .. _ref_mathml2: -7. Mathematical Markup Language (MathML) Version 2.0 :mathml2_display:`/` +7. Mathematical Markup Language (MathML) Version 2.0 (Second Edition) :mathml2_display:`/` From 964893d4ae9e653940487a32def19a49ebbd9395 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 21:40:47 +1200 Subject: [PATCH 595/604] References: slight update to the XML Information Set reference. --- src/reference/sectionD_references.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index 636a909d..aab73c86 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -6,7 +6,7 @@ .. _ref_xml_infoset: -2. XML Information Set :xml_infoset_display:`/` +2. XML Information Set (Second Edition) :xml_infoset_display:`/` .. _ref_xml_namespace_1_1: From a80c7d1d4eb57693992acb60e344b08b2d3d1e6a Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 21:40:57 +1200 Subject: [PATCH 596/604] Revert "3.10.7: added a missing "then"." This reverts commit 4728eeda4e031dba30c97ba48c46e77567e1601d. --- src/reference/sectionC_interpretation.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index ce6bf27d..913973e1 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -422,7 +422,7 @@ Interpretation of ``map_variables`` elements #. When component *BB* is in the :ref:`encapsulated set` of component *AA*, the applicable interface for variable *B* SHALL be the public interface, and the applicable interface for variable *A* SHALL be the private interface. - It is noted, for the avoidance of doubt, that if components *AA* and *BB* are in each other's :ref:`hidden set`, then there are no applicable interfaces for the variables *A* and *B*. + It is noted, for the avoidance of doubt, that if components *AA* and *BB* are in each other's :ref:`hidden set`, there are no applicable interfaces for the variables *A* and *B*. 8. CellML models MUST only contain :code:`map_variables` elements where the applicable interfaces for both variables are available. From c2fbc93f725f687b37efb7fcb8e5ab82cd0e196c Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 21:42:26 +1200 Subject: [PATCH 597/604] References: slight update to the Namespaces in XML 1.1 reference. --- src/reference/sectionD_references.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index aab73c86..ce418838 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -10,7 +10,7 @@ .. _ref_xml_namespace_1_1: -3. Namespaces in XML 1.1 :xml_namespace_1_1_display:`/` +3. Namespaces in XML 1.1 (Second Edition) :xml_namespace_1_1_display:`/` .. _ref_unicode: From 0806a979aa0b80954ceed2ad87b355fde7c8de28 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 21:43:48 +1200 Subject: [PATCH 598/604] References: slight update to the Unicode reference. --- src/reference/sectionD_references.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index ce418838..16a68440 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -14,7 +14,7 @@ .. _ref_unicode: -4. Unicode 13.0.0 :unicode13_display:`/` +4. Unicode® 13.0.0 :unicode13_display:`/` .. _ref_xml_1_1: From 8cafba7fe459a12d4937243538df3fba032e622a Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 21:44:35 +1200 Subject: [PATCH 599/604] References: slight update to the XML 1.1 reference. --- src/reference/sectionD_references.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/sectionD_references.inc b/src/reference/sectionD_references.inc index 16a68440..5e691ff8 100644 --- a/src/reference/sectionD_references.inc +++ b/src/reference/sectionD_references.inc @@ -18,7 +18,7 @@ .. _ref_xml_1_1: -5. Extensible Markup Language (XML) 1.1 :xml_1_1_display:`/` +5. Extensible Markup Language (XML) 1.1 (Second Edition) :xml_1_1_display:`/` .. _ref_xlink: From 6de958842cbe9000080b9cf432e9d9e7e81b1bf2 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 21:48:52 +1200 Subject: [PATCH 600/604] References: updated the URL for XLink. It was for XLink 1.0 while we are referencing XLink 1.1. --- src/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf.py b/src/conf.py index c3cf53e3..c2526cb2 100644 --- a/src/conf.py +++ b/src/conf.py @@ -157,8 +157,8 @@ def define_excluded_patterns(): 'unicode13_display': ('https://www.unicode.org/versions/Unicode13.0.0%s', None), # These should be identical: one for links, one for full URL display - 'xlink': ('https://www.w3.org/TR/2001/REC-xlink-20010627%s', ''), - 'xlink_display': ('https://www.w3.org/TR/2001/REC-xlink-20010627%s', None), + 'xlink': ('https://www.w3.org/TR/2010/REC-xlink11-20100506%s', ''), + 'xlink_display': ('https://www.w3.org/TR/2010/REC-xlink11-20100506%s', None), 'xml_help': ('https://www.w3.org/XML/%s', ''), From d26a644711475c8897c0f8b3f552d0807043db85 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 17 Apr 2020 22:18:08 +1200 Subject: [PATCH 601/604] Put colons after Table numbers in references. --- src/reference/sectionB_elements.inc | 4 ++-- src/reference/sectionC_interpretation.inc | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 7ef8aff4..544e99e0 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -155,7 +155,7 @@ A :code:`units` element information item (referred to in this specification as a .. container:: issue-units-standard - 2. The value of the :code:`name` attribute MUST NOT be identical to the name of any of the units listed in :numref:`Table {number} {name}` (see :numref:`{number} {name}`). + 2. The value of the :code:`name` attribute MUST NOT be identical to the name of any of the units listed in :numref:`Table {number}: {name}` (see :numref:`{number} {name}`). .. container:: issue-units-child @@ -362,7 +362,7 @@ A :code:`math` element information item (referred to in this specification as a .. container:: issue-math-child - 2. Each element child of a :code:`math` element MUST have an element-type name that is listed in :numref:`Table {number} {name}`. + 2. Each element child of a :code:`math` element MUST have an element-type name that is listed in :numref:`Table {number}: {name}`. .. marker_math_2 diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 913973e1..24504bcc 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -35,7 +35,7 @@ A "units reference" is an attribute value that specifies the physical units a va #. The units identified by a units reference SHALL be determined as follows: - #. If the units reference is identical to a value in the "Name" column of :numref:`Table {number} {name}`, then it SHALL refer to the built-in units from the same row of the table. + #. If the units reference is identical to a value in the "Name" column of :numref:`Table {number}: {name}`, then it SHALL refer to the built-in units from the same row of the table. #. If the units reference is identical to the value of the :code:`name` attribute of a :code:`units` element in the same infoset, then it SHALL refer to the units specified by that element. @@ -145,7 +145,7 @@ Interpretation of ``units`` elements 1. The prefix term is a conceptual property of :code:`unit` elements. If the :code:`unit` element does not have a :code:`prefix` attribute, the prefix term SHALL have value 0. If the :code:`prefix` attribute has a value which is an :ref:`integer string`, then the value of the prefix term SHALL be the numerical value of that string. - Otherwise, the :code:`prefix` attribute MUST have a value taken from the "Name" column of :numref:`Table {number} {name}`, and the prefix term SHALL have the value taken from the "Value" column of the same row. + Otherwise, the :code:`prefix` attribute MUST have a value taken from the "Name" column of :numref:`Table {number}: {name}`, and the prefix term SHALL have the value taken from the "Value" column of the same row. 2. The exponent term is a conceptual property of :code:`unit` elements. If a :code:`unit` element has no :code:`exponent` attribute, the exponent term SHALL have value 1.0. @@ -172,7 +172,7 @@ Interpretation of ``units`` elements 1. The units defined in a model that are not defined in terms of other units (i.e. the set of :code:`units` elements in the :ref:`CellML model` which have no :code:`unit` child elements). - 2. The built-in irreducible units (those built-in units with "-" in the "Unit reduction tuple" column of :numref:`Table {number} {name}`) referenced by variables or other units in the model. + 2. The built-in irreducible units (those built-in units with "-" in the "Unit reduction tuple" column of :numref:`Table {number}: {name}`) referenced by variables or other units in the model. .. marker_interpretation_of_units_2 @@ -192,7 +192,7 @@ Interpretation of ``units`` elements .. _3_3_3_2_2: - 2. If the units reference of the :code:`unit` child element is to built-in units other than an :ref:`irreducible unit`, then the tuples SHALL be derived directly from :numref:`Table {number} {name}`. + 2. If the units reference of the :code:`unit` child element is to built-in units other than an :ref:`irreducible unit`, then the tuples SHALL be derived directly from :numref:`Table {number}: {name}`. Specifically, the set of tuples SHALL consist of the tuples given in the "Unit reduction tuple" column of the row for which the value in the "Name" column is identical to the name of the units reference. .. _3_3_3_2_3: From c4e11615da8dd47683a3ef5ee17e551c511707a7 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 17 Apr 2020 22:24:39 +1200 Subject: [PATCH 602/604] Reverted the use of "value". --- src/reference/sectionB_elements.inc | 12 ++++++------ src/reference/sectionC_interpretation.inc | 22 +++++++++++----------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 7ef8aff4..4e03aa18 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -60,7 +60,7 @@ An :code:`import` element information item (referred to in this specification as The :code:`href` attribute SHALL be treated according to the :xlink:`XLink specification <>` [:ref:`6`], by applying the rules for simple-type elements. - When describing an :code:`import` element or one of its children, the phrase "imported CellML infoset" SHALL refer to the :ref:`CellML infoset` obtained by parsing the document referenced by the :code:`href` attribute value. + When describing an :code:`import` element or one of its children, the phrase "imported CellML infoset" SHALL refer to the :ref:`CellML infoset` obtained by parsing the document referenced by the :code:`href` attribute. .. marker_import_1 @@ -96,7 +96,7 @@ An :code:`import units` element information item (referred to in this specificat The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the value of the :code:`name` attribute of any other :code:`units` or :code:`import units` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`units` or :code:`import units` element in the :ref:`CellML infoset`. .. marker_import_units_1 @@ -124,7 +124,7 @@ An :code:`import component` element information item (referred to in this specif The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the value of the :code:`name` attribute of any other :code:`component` or :code:`import component` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`component` or :code:`import component` element in the :ref:`CellML infoset`. .. container:: issue-import-component-ref @@ -151,7 +151,7 @@ A :code:`units` element information item (referred to in this specification as a The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the value of the :code:`name` attribute of any other :code:`units` element or :code:`import units` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`units` element or :code:`import units` element in the :ref:`CellML infoset`. .. container:: issue-units-standard @@ -225,7 +225,7 @@ A :code:`component` element information item (referred to in this specification The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the value of the :code:`name` attribute on any other :code:`component` element or :code:`import component` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute on any other :code:`component` element or :code:`import component` element in the :ref:`CellML infoset`. .. marker_component_2 @@ -256,7 +256,7 @@ A :code:`variable` element information item (referred to in this specification a 1. The :code:`name` attribute. The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the value of the :code:`name` attribute on any sibling :code:`variable` element. + The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute on any sibling :code:`variable` element. .. container:: issue-variable-units diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index 913973e1..70e27382 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -7,7 +7,7 @@ Interpretation of ``import`` elements ------------------------------------- -#. Each :code:`import units` or :code:`import component` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset (the imported infoset) that is specified by the parent :code:`import` element's :code:`href` attribute value. +#. Each :code:`import units` or :code:`import component` element present in a :ref:`CellML infoset` (the importing infoset) SHALL define a new and distinct instance of the CellML infoset (the imported infoset) that is specified by the parent :code:`import` element's :code:`href` attribute. #. A :ref:`units reference` occurring within an imported element, SHALL be resolved with respect to the imported infoset. @@ -155,7 +155,7 @@ Interpretation of ``units`` elements If a :code:`unit` element has no :code:`multiplier` attribute, the multiplier term SHALL have value 1.0. Otherwise, the value of the :code:`multiplier` attribute MUST be a :ref:`real number string`, and the value of the multiplier term SHALL be the numerical value of that string. - 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element's :code:`units` attribute value, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be + 4. The relationship between the product, :math:`P`, of numerical values given in each and every child :code:`unit` element's :code:`units` attribute, to a numerical value, :math:`x`, with units given by the encompassing :code:`units` element, SHALL be .. math:: @@ -281,9 +281,9 @@ A "variable reference" is an attribute value that specifies a CellML variable. #. When present in a descendant of a :code:`component` element, it SHALL refer to the variable of the same name within that component. - #. When present in the :code:`variable_1` attribute value of a :code:`map_variables` element, it SHALL refer to the variable of the same name in the component identified by the :code:`component_1` attribute value in the same :code:`map_variables` element. + #. When present in the :code:`variable_1` attribute of a :code:`map_variables` element, it SHALL refer to the variable of the same name in the component identified by the :code:`component_1` attribute in the same :code:`map_variables` element. - #. When present in the :code:`variable_2` attribute value of a :code:`map_variables` element, it SHALL refer to the variable of the same name in the component identified by the :code:`component_2` attribute value in the same :code:`map_variables` element. + #. When present in the :code:`variable_2` attribute of a :code:`map_variables` element, it SHALL refer to the variable of the same name in the component identified by the :code:`component_2` attribute in the same :code:`map_variables` element. #. If no variable can be identified using the rules above, the attribute value SHALL NOT be a valid variable reference. @@ -300,9 +300,9 @@ Interpretation of ``initial_value`` attributes #. The conditions under which initial values hold are (by design) not defined in a :ref:`CellML model`. -#. Where the :code:`initial_value` attribute value is a :ref:`real number string`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to that real number value when the initial values hold. +#. Where the :code:`initial_value` attribute is a :ref:`real number string`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to that real number value when the initial values hold. -#. Where the :code:`initial_value` attribute value is a :ref:`variable reference`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to the referenced variable when the initial values hold. +#. Where the :code:`initial_value` attribute is a :ref:`variable reference`, it SHALL be interpreted as a statement that the variable on which the attribute appears is equal to the referenced variable when the initial values hold. .. marker_interpretation_of_initial_values_end .. marker_effect_of_units_on_variables_start @@ -313,7 +313,7 @@ Interpretation of ``initial_value`` attributes Effect of ``units`` on a ``variable`` ------------------------------------- -#. The target of the :code:`units` attribute value on a variable is referred to as the "variable units", and the corresponding unit reduction (see :numref:`{number} {name}`) is referred to as the "variable unit reduction". +#. The target of the :code:`units` attribute on a variable is referred to as the "variable units", and the corresponding unit reduction (see :numref:`{number} {name}`) is referred to as the "variable unit reduction". .. marker_effect_of_units_on_variables_end .. marker_interpretation_of_mathematics_start @@ -384,9 +384,9 @@ Interpretation of ``map_variables`` elements 2. For each :code:`map_variables` element present in the CellML model, we define variables *A* and *B* for use in the rules in this section as follows: - #. Variable *A* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_1` and this :code:`map_variables` element’s :code:`variable_1` attribute value; and + #. Variable *A* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_1` and this :code:`map_variables` element’s :code:`variable_1` attribute; and - #. Variable *B* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_2` and this :code:`map_variables` element’s :code:`variable_2` attribute value. + #. Variable *B* SHALL be the variable referenced by the encompassing :code:`connection` element’s :code:`component_2` and this :code:`map_variables` element’s :code:`variable_2` attribute. 3. For every :code:`map_variables` element present in the CellML model, there SHALL be an arc in the variable equivalence network. @@ -402,7 +402,7 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_3 -6. For a given variable, the "available interfaces" SHALL be determined by the :code:`interface` attribute value on the corresponding :code:`variable` element as follows: +6. For a given variable, the "available interfaces" SHALL be determined by the :code:`interface` attribute on the corresponding :code:`variable` element as follows: #. A value of :code:`public` specifies that the variable has a public interface; @@ -450,7 +450,7 @@ Interpretation of ``map_variables`` elements Interpretation of ``reset`` elements ------------------------------------ -#. For the purposes of this section, we define the "reset variable" to be the variable referenced by a :code:`reset` element's :code:`variable` attribute value, and the "test variable" to be the variable referenced by its :code:`test_variable` attribute value. +#. For the purposes of this section, we define the "reset variable" to be the variable referenced by a :code:`reset` element's :code:`variable` attribute, and the "test variable" to be the variable referenced by its :code:`test_variable` attribute. #. Each :code:`reset` element describes a change to be applied to the reset variable when specified conditions are met during the simulation of the model. From e561916fb714ae6d32803b0e0ebc023f643c732f Mon Sep 17 00:00:00 2001 From: Keri Moyle Date: Fri, 17 Apr 2020 22:42:22 +1200 Subject: [PATCH 603/604] Links without dates --- src/conf.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/conf.py b/src/conf.py index c2526cb2..ad5b8953 100644 --- a/src/conf.py +++ b/src/conf.py @@ -130,8 +130,8 @@ def define_excluded_patterns(): 'libxml2': ('http://www.xmlsoft.org/%s', ''), # These should be identical: one for links, one for full URL display - 'mathml2': ('https://www.w3.org/TR/2003/REC-MathML2-20031021%s', ''), - 'mathml2_display': ('https://www.w3.org/TR/2003/REC-MathML2-20031021%s', None), + 'mathml2': ('https://www.w3.org/TR/MathML2%s', ''), + 'mathml2_display': ('https://www.w3.org/TR/MathML2%s', None), 'mathml2help': ('https://www.w3.org/TR/MathML2/chapter4.html%s', ''), @@ -157,8 +157,8 @@ def define_excluded_patterns(): 'unicode13_display': ('https://www.unicode.org/versions/Unicode13.0.0%s', None), # These should be identical: one for links, one for full URL display - 'xlink': ('https://www.w3.org/TR/2010/REC-xlink11-20100506%s', ''), - 'xlink_display': ('https://www.w3.org/TR/2010/REC-xlink11-20100506%s', None), + 'xlink': ('https://www.w3.org/TR/xlink11%s', ''), + 'xlink_display': ('https://www.w3.org/TR/xlink11%s', None), 'xml_help': ('https://www.w3.org/XML/%s', ''), @@ -168,10 +168,10 @@ def define_excluded_patterns(): # These should be identical: one for links, one for full URL display 'xml_infoset': ('https://www.w3.org/TR/2004/REC-xml-infoset-20040204/%s', ''), - 'xml_infoset_display': ('https://www.w3.org/TR/xml-infoset%s', None), + 'xml_infoset_display': ('https://www.w3.org/TR/2004/REC-xml-infoset-20040204%s', None), - 'xml_namespace_1_1': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816%s', ''), - 'xml_namespace_1_1_display': ('https://www.w3.org/TR/2006/REC-xml-names11-20060816%s', None), + 'xml_namespace_1_1': ('https://www.w3.org/TR/xml-names11%s', ''), + 'xml_namespace_1_1_display': ('https://www.w3.org/TR/xml-names11%s', None), } From 3083b144cf264c3a9d731370dd18d97af2784361 Mon Sep 17 00:00:00 2001 From: Michael Clerx Date: Fri, 17 Apr 2020 12:08:12 +0100 Subject: [PATCH 604/604] Re-added some 'value of attribute' things. --- src/reference/sectionB_elements.inc | 10 +++++----- src/reference/sectionC_interpretation.inc | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/reference/sectionB_elements.inc b/src/reference/sectionB_elements.inc index 1a69e5d5..cf0186ba 100644 --- a/src/reference/sectionB_elements.inc +++ b/src/reference/sectionB_elements.inc @@ -96,7 +96,7 @@ An :code:`import units` element information item (referred to in this specificat The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`units` or :code:`import units` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the value of the :code:`name` attribute of any other :code:`units` or :code:`import units` element in the :ref:`CellML infoset`. .. marker_import_units_1 @@ -124,7 +124,7 @@ An :code:`import component` element information item (referred to in this specif The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`component` or :code:`import component` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the value of the :code:`name` attribute of any other :code:`component` or :code:`import component` element in the :ref:`CellML infoset`. .. container:: issue-import-component-ref @@ -151,7 +151,7 @@ A :code:`units` element information item (referred to in this specification as a The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute of any other :code:`units` element or :code:`import units` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the value of the :code:`name` attribute of any other :code:`units` element or :code:`import units` element in the :ref:`CellML infoset`. .. container:: issue-units-standard @@ -225,7 +225,7 @@ A :code:`component` element information item (referred to in this specification The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute on any other :code:`component` element or :code:`import component` element in the :ref:`CellML infoset`. + The value of the :code:`name` attribute MUST NOT be identical to the value of the :code:`name` attribute on any other :code:`component` element or :code:`import component` element in the :ref:`CellML infoset`. .. marker_component_2 @@ -256,7 +256,7 @@ A :code:`variable` element information item (referred to in this specification a 1. The :code:`name` attribute. The value of the :code:`name` attribute MUST be a :ref:`CellML identifier`. - The value of the :code:`name` attribute MUST NOT be identical to the :code:`name` attribute on any sibling :code:`variable` element. + The value of the :code:`name` attribute MUST NOT be identical to the value of the :code:`name` attribute on any sibling :code:`variable` element. .. container:: issue-variable-units diff --git a/src/reference/sectionC_interpretation.inc b/src/reference/sectionC_interpretation.inc index e1b92c44..e9a6be73 100644 --- a/src/reference/sectionC_interpretation.inc +++ b/src/reference/sectionC_interpretation.inc @@ -402,7 +402,7 @@ Interpretation of ``map_variables`` elements .. marker_interpretation_of_map_variables_3 -6. For a given variable, the "available interfaces" SHALL be determined by the :code:`interface` attribute on the corresponding :code:`variable` element as follows: +6. For a given variable, the "available interfaces" SHALL be determined by the value of the :code:`interface` attribute on the corresponding :code:`variable` element as follows: #. A value of :code:`public` specifies that the variable has a public interface;