You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/sphinx/source/strictdoc_01_user_guide.rst
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1287,7 +1287,7 @@ Which will resolve to the following document after inclusion:
1287
1287
1288
1288
The Composable Documents feature belongs to the list of features that may be less portable when it comes to interfacing with other tools. See :ref:`Portability considerations <UG_PORTABILITY_CONSIDERATIONS>`.
1289
1289
1290
-
.. _UG_COMPOSITE_REQUIREMENT:
1290
+
.. _UG_COMPOSITE_NODE:
1291
1291
1292
1292
Composite requirement
1293
1293
~~~~~~~~~~~~~~~~~~~~~
@@ -2971,7 +2971,7 @@ The portability of documentation, particularly when it involves requirements, sh
2971
2971
The following is a list of features that are considered less portable when it comes to interfacing with other tools through the existing export/import interfaces:
2972
2972
2973
2973
- :ref:`Composing documents from other documents <UG_COMPOSABLE_DOCUMENTS>`. Composing documents from other documents is a useful feature but it may not be directly supported by other tools. When exporting to JSON or ReqIF, StrictDoc by default does not export included documents but only the including documents.
2974
-
- :ref:`Composite requirement <UG_COMPOSITE_REQUIREMENT>`. A Composite Requirement is a useful concept which is partially supported by StrictDoc but it may be supported less by other tools.
2974
+
- :ref:`Composite requirement <UG_COMPOSITE_NODE>`. A Composite Requirement is a useful concept which is partially supported by StrictDoc but it may be supported less by other tools.
2975
2975
- :ref:`Section without a level <SECTION_WITHOUT_A_LEVEL>`. Table of contents hierarchy where some nodes do not have TOC levels (or have custom TOC levels) can cause problems when exporting/importing documentation content if an interfacing tool does not support custom TOC nodes.
The document elements are described further below, see [LINK: SECTION-UG-DOCUMENT-ELEMENTS].
574
574
<<<
575
575
576
576
[[/SECTION]]
@@ -667,7 +667,8 @@ The Project Statistics screen provides metrics for counting the number of TBDs (
667
667
668
668
[[SECTION]]
669
669
MID: b4ceeb12bdf1448cb97b7974d4980189
670
-
TITLE: Grammar elements
670
+
UID: SECTION-UG-DOCUMENT-ELEMENTS
671
+
TITLE: Document elements
671
672
672
673
[[SECTION]]
673
674
MID: db088d5977934056a851a24988e9266c
@@ -887,14 +888,18 @@ The additional metadata is also included on the front page of the exported PDF.
887
888
888
889
[[/SECTION]]
889
890
891
+
[[SECTION]]
892
+
MID: 93085eee6a214a0a85aa94472f0a0a6c
893
+
TITLE: Leaf nodes
894
+
890
895
[[SECTION]]
891
896
MID: 23cbc84e92294aa0aeb0bb279d914480
892
897
TITLE: Text
893
898
894
899
[TEXT]
895
900
MID: 4474709783b74b1ca31fa754c712344e
896
901
STATEMENT: >>>
897
-
A text node is the most basic document node which is used for normal document text.
902
+
A text node is the most basic document node which is used for normal document text. The ``[TEXT]`` is one of the default leaf elements declared in StrictDoc's default grammar. See [LINK: SECTION-UG-DOCUMENT-GRAMMAR].
898
903
899
904
.. code-block:: text
900
905
@@ -922,7 +927,9 @@ TITLE: Requirement
922
927
[TEXT]
923
928
MID: f221cd0c72f846b385ec2f0a9ddd15d5
924
929
STATEMENT: >>>
925
-
The REQUIREMENT element is used for creating requirements, for example technical requirements or project requirements.
930
+
The ``REQUIREMENT`` is used for creating requirements, for example technical requirements or project requirements.
931
+
932
+
Similar to ``TEXT``, the ``REQUIREMENT`` is a default leaf element declared in StrictDoc's default grammar. See [LINK: SECTION-UG-DOCUMENT-GRAMMAR].
926
933
927
934
.. code-block:: text
928
935
@@ -968,7 +975,7 @@ The following ``REQUIREMENT`` fields are supported:
968
975
Note: Multiple comment fields are possible.
969
976
970
977
* - ``RELATIONS``
971
-
- List of requirement relations. Note: Before StrictDoc v0.0.45, this field was called ``REFS``.
978
+
- List of requirement relations.
972
979
973
980
Currently, all ``[REQUIREMENT]``'s fields are optional but most of the time at
974
981
least the ``STATEMENT`` field as well as the ``TITLE`` field should be
@@ -1052,7 +1059,7 @@ supported.
1052
1059
[[SECTION]]
1053
1060
MID: f10fd08172054423be7c00fcd16e61e9
1054
1061
UID: SDOC_UG_REQUIREMENT_RELATIONS
1055
-
TITLE: Relations (previously REFS)
1062
+
TITLE: Relations
1056
1063
1057
1064
[TEXT]
1058
1065
MID: c0c9c15d57e742ed80f12b8895f01de0
@@ -1248,6 +1255,59 @@ comments can be single-line or multiline.
1248
1255
1249
1256
[[/SECTION]]
1250
1257
1258
+
[[/SECTION]]
1259
+
1260
+
[[SECTION]]
1261
+
MID: a1ad4861e5bc442baf38383b29c901a1
1262
+
UID: UG_COMPOSITE_NODE
1263
+
TITLE: Composite nodes
1264
+
1265
+
[TEXT]
1266
+
MID: ce69fe89236a4bcfa104a640def4b64a
1267
+
STATEMENT: >>>
1268
+
A composite node is similar to a regular leaf node, but it can also nest other nodes.
1269
+
1270
+
This element can be useful in lower-level specification documents where a given section must describe a single feature, and the description requires one or more levels of nesting. In such cases, it may be natural to use a composite node that is tightly connected to several related sub-nodes.
1271
+
1272
+
The ``[[SECTION]]`` element is a reserved composite node in StrictDoc's default grammar, used to represent nested document sections or chapters. Users can also define custom composite nodes by registering them in the document grammar as follows:
1273
+
1274
+
.. code-block:: text
1275
+
1276
+
[GRAMMAR]
1277
+
ELEMENTS:
1278
+
- TAG: COMPOSITE_REQUIREMENT
1279
+
PROPERTIES:
1280
+
IS_COMPOSITE: True
1281
+
FIELDS:
1282
+
- TITLE: MID
1283
+
TYPE: String
1284
+
REQUIRED: False
1285
+
- TITLE: UID
1286
+
TYPE: String
1287
+
REQUIRED: False
1288
+
- TITLE: STATEMENT
1289
+
TYPE: String
1290
+
REQUIRED: True
1291
+
1292
+
[[COMPOSITE_REQUIREMENT]]
1293
+
STATEMENT: Statement
1294
+
1295
+
[REQUIREMENT]
1296
+
STATEMENT: Substatement #1
1297
+
1298
+
[REQUIREMENT]
1299
+
STATEMENT: Substatement #2
1300
+
1301
+
[REQUIREMENT]
1302
+
STATEMENT: Substatement #3
1303
+
1304
+
[[/COMPOSITE_REQUIREMENT]]
1305
+
1306
+
.. note::
1307
+
1308
+
Composite requirements should not be used in every document. In most cases, a simple combination of nested ``[[SECTION]]`` and ``[[REQUIREMENT]]`` elements is sufficient. See also [LINK: UG_PORTABILITY_CONSIDERATIONS].
1309
+
<<<
1310
+
1251
1311
[[SECTION]]
1252
1312
MID: c8c15acf52a24c99922bdae6711f5120
1253
1313
UID: ELEMENT_SECTION
@@ -1364,6 +1424,50 @@ are set to ``LEVEL: None`` by StrictDoc automatically.
1364
1424
1365
1425
[[/SECTION]]
1366
1426
1427
+
[[SECTION]]
1428
+
MID: 0f52cfb294af480e806f0434d0a07757
1429
+
TITLE: Section grammar definition
1430
+
1431
+
[TEXT]
1432
+
MID: 7f2967ea1a41426ba15c0bdde2664920
1433
+
STATEMENT: >>>
1434
+
The ``[[SECTION]]`` element is registered by default in StrictDoc's grammar, but users can override this declaration by defining it manually in the grammar specification. See [LINK: SECTION-UG-DOCUMENT-GRAMMAR].
1435
+
1436
+
Default ``[[SECTION]]`` grammar is equivalent to the following manual definition:
1437
+
1438
+
.. code-block::
1439
+
1440
+
[GRAMMAR]
1441
+
ELEMENTS:
1442
+
- TAG: SECTION
1443
+
PROPERTIES:
1444
+
IS_COMPOSITE: True
1445
+
PREFIX: None
1446
+
VIEW_STYLE: Narrative
1447
+
FIELDS:
1448
+
- TITLE: MID
1449
+
TYPE: String
1450
+
REQUIRED: False
1451
+
- TITLE: UID
1452
+
TYPE: String
1453
+
REQUIRED: False
1454
+
- TITLE: LEVEL
1455
+
TYPE: String
1456
+
REQUIRED: True
1457
+
- TITLE: PREFIX
1458
+
TYPE: String
1459
+
REQUIRED: True
1460
+
- TITLE: TITLE
1461
+
TYPE: String
1462
+
REQUIRED: True
1463
+
1464
+
A user can add any custom field to the grammar declaration. However, the default set of fields typically covers most use cases.
1465
+
<<<
1466
+
1467
+
[[/SECTION]]
1468
+
1469
+
[[/SECTION]]
1470
+
1367
1471
[[/SECTION]]
1368
1472
1369
1473
[[SECTION]]
@@ -1450,53 +1554,6 @@ Which will resolve to the following document after inclusion:
1450
1554
1451
1555
[[/SECTION]]
1452
1556
1453
-
[[SECTION]]
1454
-
MID: a1ad4861e5bc442baf38383b29c901a1
1455
-
UID: UG_COMPOSITE_REQUIREMENT
1456
-
TITLE: Composite requirement
1457
-
1458
-
[TEXT]
1459
-
MID: ce69fe89236a4bcfa104a640def4b64a
1460
-
STATEMENT: >>>
1461
-
.. note::
1462
-
The composite requirements feature shows promise, but it has not yet attracted significant demand from both the core developers of StrictDoc and its users. While the use of composite requirements via the command line is implemented and supported, the web interface does not currently offer this support. Experience has shown that composite requirements can often be represented as a combination of sections and standard requirements. If there is a compelling use case for full support of composite requirements, please reach out to the developers.
1463
-
1464
-
A ``[COMPOSITE_REQUIREMENT]`` is a requirement that combines requirement
1465
-
properties of a ``[REQUIREMENT]`` element and grouping features of a ``[SECTION]``
1466
-
element. This element can be useful in lower-level specifications documents
1467
-
where a given section of a document has to describe a single feature and the
1468
-
description requires a one or more levels of nesting. In this case, it might be
1469
-
natural to use a composite requirement that is tightly connected to a few
1470
-
related sub-requirements.
1471
-
1472
-
.. code-block:: text
1473
-
1474
-
[COMPOSITE_REQUIREMENT]
1475
-
STATEMENT: Statement
1476
-
1477
-
[REQUIREMENT]
1478
-
STATEMENT: Substatement #1
1479
-
1480
-
[REQUIREMENT]
1481
-
STATEMENT: Substatement #2
1482
-
1483
-
[REQUIREMENT]
1484
-
STATEMENT: Substatement #3
1485
-
1486
-
[/COMPOSITE_REQUIREMENT]
1487
-
1488
-
Special feature of ``[COMPOSITE_REQUIREMENT]``: like ``[SECTION]`` element, the
1489
-
``[COMPOSITE_REQUIREMENT]`` elements can be nested within each other. However,
1490
-
``[COMPOSITE_REQUIREMENT]`` cannot nest sections.
1491
-
1492
-
.. note::
1493
-
1494
-
Composite requirements should not be used in every document.
1495
-
Most often, a more basic combination of nested ``[SECTION]`` and ``[REQUIREMENT]`` elements should do the job.
1496
-
<<<
1497
-
1498
-
[[/SECTION]]
1499
-
1500
1557
[[/SECTION]]
1501
1558
1502
1559
[[SECTION]]
@@ -1529,6 +1586,27 @@ a grammar with four fields including a custom ``VERIFICATION`` field.
1529
1586
1530
1587
[GRAMMAR]
1531
1588
ELEMENTS:
1589
+
- TAG: SECTION
1590
+
PROPERTIES:
1591
+
IS_COMPOSITE: True
1592
+
PREFIX: None
1593
+
VIEW_STYLE: Narrative
1594
+
FIELDS:
1595
+
- TITLE: MID
1596
+
TYPE: String
1597
+
REQUIRED: False
1598
+
- TITLE: UID
1599
+
TYPE: String
1600
+
REQUIRED: False
1601
+
- TITLE: LEVEL
1602
+
TYPE: String
1603
+
REQUIRED: True
1604
+
- TITLE: PREFIX
1605
+
TYPE: String
1606
+
REQUIRED: True
1607
+
- TITLE: TITLE
1608
+
TYPE: String
1609
+
REQUIRED: True
1532
1610
- TAG: TEXT
1533
1611
FIELDS:
1534
1612
- TITLE: UID
@@ -1613,9 +1691,6 @@ The supported field types are:
1613
1691
* - ``Tag``
1614
1692
- comma-separated list of tags/key words. Only Alphanumeric tags (a-z, A-Z, 0-9 and underscore) are supported.
1615
1693
1616
-
* - ``Reference``
1617
-
- **DEPRECATED:** comma-separated list with allowed reference types: ``ParentReqReference``, ``FileReference``. In the newer versions of StrictDoc (0.0.45+), a separate ``RELATIONS:`` section is used to configure the available relations.
1618
-
1619
1694
.. note::
1620
1695
1621
1696
The **field type** also influences how the field is presented in the web editor UI. A ``SingleChoice`` field enables an auto-completion function, which is useful in cases where the same values are entered repeatedly (such as requirement owners, test case types, or status fields).
@@ -3314,7 +3389,7 @@ The portability of documentation, particularly when it involves requirements, sh
3314
3389
The following is a list of features that are considered less portable when it comes to interfacing with other tools through the existing export/import interfaces:
3315
3390
3316
3391
- [LINK: UG_COMPOSABLE_DOCUMENTS]. Composing documents from other documents is a useful feature but it may not be directly supported by other tools. When exporting to JSON or ReqIF, StrictDoc by default does not export included documents but only the including documents.
3317
-
- [LINK: UG_COMPOSITE_REQUIREMENT]. A Composite Requirement is a useful concept which is partially supported by StrictDoc but it may be supported less by other tools.
3392
+
- [LINK: UG_COMPOSITE_NODE]. A Composite Requirement is a useful concept which is natively supported by StrictDoc but it may be supported less by other tools.
3318
3393
- [LINK: SECTION_WITHOUT_A_LEVEL]. Table of contents hierarchy where some nodes do not have TOC levels (or have custom TOC levels) can cause problems when exporting/importing documentation content if an interfacing tool does not support custom TOC nodes.
0 commit comments