@blockml/bom 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/blocks/org/blockml/bml/bom/Library.bml +153 -0
  2. package/blocks/org/blockml/bml/bom/README.bml +55 -0
  3. package/blocks/org/blockml/bml/bom/UrmodellType.bml +39 -0
  4. package/blocks/org/blockml/bml/bom/api/ParseOptions.bml +42 -0
  5. package/blocks/org/blockml/bml/bom/api/ParseResult.bml +45 -0
  6. package/blocks/org/blockml/bml/bom/api/SerializeOptions.bml +42 -0
  7. package/blocks/org/blockml/bml/bom/api/SerializeResult.bml +45 -0
  8. package/blocks/org/blockml/bml/bom/api/TypeRegistryReader.bml +34 -0
  9. package/blocks/org/blockml/bml/bom/api/ValidateOptions.bml +50 -0
  10. package/blocks/org/blockml/bml/bom/api/ValidateResult.bml +46 -0
  11. package/blocks/org/blockml/bml/bom/block/AliasEntry.bml +51 -0
  12. package/blocks/org/blockml/bml/bom/block/BlockDefinition.bml +136 -0
  13. package/blocks/org/blockml/bml/bom/block/ChangelogEntry.bml +48 -0
  14. package/blocks/org/blockml/bml/bom/block/DocumentationExample.bml +57 -0
  15. package/blocks/org/blockml/bml/bom/block/DocumentationProseEntry.bml +51 -0
  16. package/blocks/org/blockml/bml/bom/block/DocumentationReference.bml +72 -0
  17. package/blocks/org/blockml/bml/bom/block/GenericType.bml +45 -0
  18. package/blocks/org/blockml/bml/bom/block/KeywordEntry.bml +51 -0
  19. package/blocks/org/blockml/bml/bom/block/TypeReferenceEntityInstance.bml +45 -0
  20. package/blocks/org/blockml/bml/bom/capability/BomEquals.bml +45 -0
  21. package/blocks/org/blockml/bml/bom/capability/StripProvenance.bml +42 -0
  22. package/blocks/org/blockml/bml/bom/common/CharacterDataForm.bml +39 -0
  23. package/blocks/org/blockml/bml/bom/common/Diagnostic.bml +48 -0
  24. package/blocks/org/blockml/bml/bom/common/DiagnosticSeverity.bml +39 -0
  25. package/blocks/org/blockml/bml/bom/common/MemberSectionName.bml +39 -0
  26. package/blocks/org/blockml/bml/bom/common/MetadataElementTrivia.bml +39 -0
  27. package/blocks/org/blockml/bml/bom/common/SourceInfo.bml +51 -0
  28. package/blocks/org/blockml/bml/bom/common/SourceLocation.bml +51 -0
  29. package/blocks/org/blockml/bml/bom/common/XmlNodeKind.bml +39 -0
  30. package/blocks/org/blockml/bml/bom/common/XmlRenderingBlock.bml +39 -0
  31. package/blocks/org/blockml/bml/bom/common/XmlRenderingMember.bml +48 -0
  32. package/blocks/org/blockml/bml/bom/common/XmlTrivia.bml +42 -0
  33. package/blocks/org/blockml/bml/bom/composition/BlockInstance.bml +72 -0
  34. package/blocks/org/blockml/bml/bom/composition/BlockInstanceNode.bml +49 -0
  35. package/blocks/org/blockml/bml/bom/composition/CompositionNode.bml +35 -0
  36. package/blocks/org/blockml/bml/bom/composition/CompositionTemplate.bml +48 -0
  37. package/blocks/org/blockml/bml/bom/composition/DirectiveAttribute.bml +35 -0
  38. package/blocks/org/blockml/bml/bom/composition/EachDirective.bml +49 -0
  39. package/blocks/org/blockml/bml/bom/composition/IfDirective.bml +43 -0
  40. package/blocks/org/blockml/bml/bom/composition/InstanceAggregationComposition.bml +42 -0
  41. package/blocks/org/blockml/bml/bom/composition/UnlessDirective.bml +43 -0
  42. package/blocks/org/blockml/bml/bom/composition/VirtualContainerNode.bml +49 -0
  43. package/blocks/org/blockml/bml/bom/composition/WithBinding.bml +42 -0
  44. package/blocks/org/blockml/bml/bom/composition/WithDirective.bml +43 -0
  45. package/blocks/org/blockml/bml/bom/document/BomDocument.bml +49 -0
  46. package/blocks/org/blockml/bml/bom/documentation/AbstractionPrinciple.bml +46 -0
  47. package/blocks/org/blockml/bml/bom/documentation/ArchitectureOverview.bml +49 -0
  48. package/blocks/org/blockml/bml/bom/documentation/AuthoredSurfaceTable.bml +47 -0
  49. package/blocks/org/blockml/bml/bom/documentation/CalibratorExample.bml +53 -0
  50. package/blocks/org/blockml/bml/bom/documentation/CompositionDirectives.bml +45 -0
  51. package/blocks/org/blockml/bml/bom/documentation/DesignDecisions.bml +64 -0
  52. package/blocks/org/blockml/bml/bom/documentation/InstanceIdRules.bml +45 -0
  53. package/blocks/org/blockml/bml/bom/documentation/Introduction.bml +50 -0
  54. package/blocks/org/blockml/bml/bom/documentation/LayerSeparation.bml +47 -0
  55. package/blocks/org/blockml/bml/bom/documentation/MemberValueSemantics.bml +48 -0
  56. package/blocks/org/blockml/bml/bom/documentation/PackageOwnership.bml +56 -0
  57. package/blocks/org/blockml/bml/bom/documentation/PublicApi.bml +59 -0
  58. package/blocks/org/blockml/bml/bom/documentation/RelatedDiagnostics.bml +51 -0
  59. package/blocks/org/blockml/bml/bom/documentation/ScopeExclusions.bml +47 -0
  60. package/blocks/org/blockml/bml/bom/documentation/SubBlockAndEmbeddedBlocks.bml +45 -0
  61. package/blocks/org/blockml/bml/bom/documentation/TypeExpressionsOverview.bml +47 -0
  62. package/blocks/org/blockml/bml/bom/documentation/ValidationResponsibilities.bml +51 -0
  63. package/blocks/org/blockml/bml/bom/documentation/VersionRules.bml +41 -0
  64. package/blocks/org/blockml/bml/bom/documentation/XmlComments.bml +47 -0
  65. package/blocks/org/blockml/bml/bom/member/AggregationDefinition.bml +58 -0
  66. package/blocks/org/blockml/bml/bom/member/AssociationDefinition.bml +46 -0
  67. package/blocks/org/blockml/bml/bom/member/CapabilityDefinition.bml +52 -0
  68. package/blocks/org/blockml/bml/bom/member/ConstrainableDefinition.bml +39 -0
  69. package/blocks/org/blockml/bml/bom/member/EmbeddedExpression.bml +45 -0
  70. package/blocks/org/blockml/bml/bom/member/ImplementationBlock.bml +51 -0
  71. package/blocks/org/blockml/bml/bom/member/MemberDefinition.bml +35 -0
  72. package/blocks/org/blockml/bml/bom/member/MemberDefinitionBase.bml +90 -0
  73. package/blocks/org/blockml/bml/bom/member/PropertyDefinition.bml +61 -0
  74. package/blocks/org/blockml/bml/bom/member/PropertyValueEntry.bml +42 -0
  75. package/blocks/org/blockml/bml/bom/type/AnonymousStructType.bml +43 -0
  76. package/blocks/org/blockml/bml/bom/type/GenericParameterReference.bml +43 -0
  77. package/blocks/org/blockml/bml/bom/type/InstanceConfiguration.bml +42 -0
  78. package/blocks/org/blockml/bml/bom/type/Multiplicity.bml +42 -0
  79. package/blocks/org/blockml/bml/bom/type/NamedTypeReference.bml +52 -0
  80. package/blocks/org/blockml/bml/bom/type/SelfTypeReference.bml +40 -0
  81. package/blocks/org/blockml/bml/bom/type/StructField.bml +42 -0
  82. package/blocks/org/blockml/bml/bom/type/TypeDescriptor.bml +37 -0
  83. package/blocks/org/blockml/bml/bom/type/TypeExpression.bml +35 -0
  84. package/blocks/org/blockml/bml/bom/type/UnionTypeExpression.bml +43 -0
  85. package/blocks/org/blockml/bml/bom/value/Address.bml +54 -0
  86. package/blocks/org/blockml/bml/bom/value/AddressValue.bml +43 -0
  87. package/blocks/org/blockml/bml/bom/value/ExpressionValue.bml +49 -0
  88. package/blocks/org/blockml/bml/bom/value/LiteralValue.bml +49 -0
  89. package/blocks/org/blockml/bml/bom/value/MemberValue.bml +35 -0
  90. package/dist/equals.d.ts +10 -0
  91. package/dist/equals.d.ts.map +1 -0
  92. package/dist/equals.js +94 -0
  93. package/dist/equals.js.map +1 -0
  94. package/dist/index.d.ts +10 -0
  95. package/dist/index.d.ts.map +1 -0
  96. package/dist/index.js +2 -0
  97. package/dist/index.js.map +1 -0
  98. package/dist/types/api.d.ts +50 -0
  99. package/dist/types/api.d.ts.map +1 -0
  100. package/dist/types/api.js +2 -0
  101. package/dist/types/api.js.map +1 -0
  102. package/dist/types/block-definition.d.ts +150 -0
  103. package/dist/types/block-definition.d.ts.map +1 -0
  104. package/dist/types/block-definition.js +2 -0
  105. package/dist/types/block-definition.js.map +1 -0
  106. package/dist/types/common.d.ts +60 -0
  107. package/dist/types/common.d.ts.map +1 -0
  108. package/dist/types/common.js +2 -0
  109. package/dist/types/common.js.map +1 -0
  110. package/dist/types/composition.d.ts +77 -0
  111. package/dist/types/composition.d.ts.map +1 -0
  112. package/dist/types/composition.js +2 -0
  113. package/dist/types/composition.js.map +1 -0
  114. package/dist/types/document.d.ts +12 -0
  115. package/dist/types/document.d.ts.map +1 -0
  116. package/dist/types/document.js +2 -0
  117. package/dist/types/document.js.map +1 -0
  118. package/dist/types/member-definition.d.ts +96 -0
  119. package/dist/types/member-definition.d.ts.map +1 -0
  120. package/dist/types/member-definition.js +2 -0
  121. package/dist/types/member-definition.js.map +1 -0
  122. package/dist/types/type-expression.d.ts +42 -0
  123. package/dist/types/type-expression.d.ts.map +1 -0
  124. package/dist/types/type-expression.js +2 -0
  125. package/dist/types/type-expression.js.map +1 -0
  126. package/dist/types/values.d.ts +35 -0
  127. package/dist/types/values.d.ts.map +1 -0
  128. package/dist/types/values.js +2 -0
  129. package/dist/types/values.js.map +1 -0
  130. package/package.json +40 -0
@@ -0,0 +1,35 @@
1
+ <!--
2
+ BOM Urmodell — DirectiveAttribute
3
+ FQN: org.blockml.bml.bom.composition.DirectiveAttribute
4
+ -->
5
+ <block
6
+ xmlns="http://blockml.org/bml"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
+ "
10
+ xmlns:blockml="org.blockml.bml"
11
+ xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
14
+ xmlns:bomcap="org.blockml.bml.bom.capability"
15
+ xmlns:bomcommon="org.blockml.bml.bom.common"
16
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
17
+ xmlns:bomdoc="org.blockml.bml.bom.document"
18
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
19
+ xmlns:bommember="org.blockml.bml.bom.member"
20
+ xmlns:bomtype="org.blockml.bml.bom.type"
21
+ xmlns:bomvalue="org.blockml.bml.bom.value"
22
+ xmlns:core="org.blockml.bml.core"
23
+ xmlns:def="org.blockml.bml.definition"
24
+ xmlns:type="org.blockml.bml.type">
25
+
26
+ <name>DirectiveAttribute</name>
27
+ <type>bomcomp:DirectiveAttribute</type>
28
+ <baseType>bom:UrmodellType</baseType>
29
+ <is>Abstract union of flow-control directives</is>
30
+
31
+ <documentation>EachDirective | IfDirective | UnlessDirective | WithDirective. Stored unexpanded.</documentation>
32
+
33
+ <abstract>true</abstract>
34
+
35
+ </block>
@@ -0,0 +1,49 @@
1
+ <!--
2
+ BOM Urmodell — EachDirective
3
+ FQN: org.blockml.bml.bom.composition.EachDirective
4
+ -->
5
+ <block
6
+ xmlns="http://blockml.org/bml"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
+ "
10
+ xmlns:blockml="org.blockml.bml"
11
+ xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
14
+ xmlns:bomcap="org.blockml.bml.bom.capability"
15
+ xmlns:bomcommon="org.blockml.bml.bom.common"
16
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
17
+ xmlns:bomdoc="org.blockml.bml.bom.document"
18
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
19
+ xmlns:bommember="org.blockml.bml.bom.member"
20
+ xmlns:bomtype="org.blockml.bml.bom.type"
21
+ xmlns:bomvalue="org.blockml.bml.bom.value"
22
+ xmlns:core="org.blockml.bml.core"
23
+ xmlns:def="org.blockml.bml.definition"
24
+ xmlns:type="org.blockml.bml.type">
25
+
26
+ <name>EachDirective</name>
27
+ <type>bomcomp:EachDirective</type>
28
+ <baseType>bomcomp:DirectiveAttribute</baseType>
29
+ <is>bml:each directive (type: each)</is>
30
+
31
+ <documentation>bml:each directive (type: each)</documentation>
32
+
33
+ <properties>
34
+ <type type="type:Text">
35
+ <documentation>type (required). TS type: type:Text.</documentation>
36
+ <value>each</value>
37
+ </type>
38
+ <variables type="type:Text[]">
39
+ <documentation>variables (required). TS type: type:Text[].</documentation>
40
+ </variables>
41
+ <statVariable type="type:Text">
42
+ <documentation>statVariable (optional). TS type: type:Text.</documentation>
43
+ </statVariable>
44
+ <collection type="bomvalue:ExpressionValue">
45
+ <documentation>collection (required). TS type: bomvalue:ExpressionValue.</documentation>
46
+ </collection>
47
+ </properties>
48
+
49
+ </block>
@@ -0,0 +1,43 @@
1
+ <!--
2
+ BOM Urmodell — IfDirective
3
+ FQN: org.blockml.bml.bom.composition.IfDirective
4
+ -->
5
+ <block
6
+ xmlns="http://blockml.org/bml"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
+ "
10
+ xmlns:blockml="org.blockml.bml"
11
+ xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
14
+ xmlns:bomcap="org.blockml.bml.bom.capability"
15
+ xmlns:bomcommon="org.blockml.bml.bom.common"
16
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
17
+ xmlns:bomdoc="org.blockml.bml.bom.document"
18
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
19
+ xmlns:bommember="org.blockml.bml.bom.member"
20
+ xmlns:bomtype="org.blockml.bml.bom.type"
21
+ xmlns:bomvalue="org.blockml.bml.bom.value"
22
+ xmlns:core="org.blockml.bml.core"
23
+ xmlns:def="org.blockml.bml.definition"
24
+ xmlns:type="org.blockml.bml.type">
25
+
26
+ <name>IfDirective</name>
27
+ <type>bomcomp:IfDirective</type>
28
+ <baseType>bomcomp:DirectiveAttribute</baseType>
29
+ <is>bml:if directive (type: if)</is>
30
+
31
+ <documentation>bml:if directive (type: if)</documentation>
32
+
33
+ <properties>
34
+ <type type="type:Text">
35
+ <documentation>type (required). TS type: type:Text.</documentation>
36
+ <value>if</value>
37
+ </type>
38
+ <condition type="bomvalue:ExpressionValue">
39
+ <documentation>condition (required). TS type: bomvalue:ExpressionValue.</documentation>
40
+ </condition>
41
+ </properties>
42
+
43
+ </block>
@@ -0,0 +1,42 @@
1
+ <!--
2
+ BOM Urmodell — InstanceAggregationComposition
3
+ FQN: org.blockml.bml.bom.composition.InstanceAggregationComposition
4
+ -->
5
+ <block
6
+ xmlns="http://blockml.org/bml"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
+ "
10
+ xmlns:blockml="org.blockml.bml"
11
+ xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
14
+ xmlns:bomcap="org.blockml.bml.bom.capability"
15
+ xmlns:bomcommon="org.blockml.bml.bom.common"
16
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
17
+ xmlns:bomdoc="org.blockml.bml.bom.document"
18
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
19
+ xmlns:bommember="org.blockml.bml.bom.member"
20
+ xmlns:bomtype="org.blockml.bml.bom.type"
21
+ xmlns:bomvalue="org.blockml.bml.bom.value"
22
+ xmlns:core="org.blockml.bml.core"
23
+ xmlns:def="org.blockml.bml.definition"
24
+ xmlns:type="org.blockml.bml.type">
25
+
26
+ <name>InstanceAggregationComposition</name>
27
+ <type>bomcomp:InstanceAggregationComposition</type>
28
+ <baseType>bom:UrmodellType</baseType>
29
+ <is>Inline aggregation composition on a Block instance</is>
30
+
31
+ <documentation>Inline aggregation composition on a Block instance</documentation>
32
+
33
+ <properties>
34
+ <aggregationName type="type:Text">
35
+ <documentation>aggregationName (required). TS type: type:Text.</documentation>
36
+ </aggregationName>
37
+ <composition type="bomcomp:CompositionTemplate">
38
+ <documentation>composition (required). TS type: bomcomp:CompositionTemplate.</documentation>
39
+ </composition>
40
+ </properties>
41
+
42
+ </block>
@@ -0,0 +1,43 @@
1
+ <!--
2
+ BOM Urmodell — UnlessDirective
3
+ FQN: org.blockml.bml.bom.composition.UnlessDirective
4
+ -->
5
+ <block
6
+ xmlns="http://blockml.org/bml"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
+ "
10
+ xmlns:blockml="org.blockml.bml"
11
+ xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
14
+ xmlns:bomcap="org.blockml.bml.bom.capability"
15
+ xmlns:bomcommon="org.blockml.bml.bom.common"
16
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
17
+ xmlns:bomdoc="org.blockml.bml.bom.document"
18
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
19
+ xmlns:bommember="org.blockml.bml.bom.member"
20
+ xmlns:bomtype="org.blockml.bml.bom.type"
21
+ xmlns:bomvalue="org.blockml.bml.bom.value"
22
+ xmlns:core="org.blockml.bml.core"
23
+ xmlns:def="org.blockml.bml.definition"
24
+ xmlns:type="org.blockml.bml.type">
25
+
26
+ <name>UnlessDirective</name>
27
+ <type>bomcomp:UnlessDirective</type>
28
+ <baseType>bomcomp:DirectiveAttribute</baseType>
29
+ <is>bml:unless directive (type: unless)</is>
30
+
31
+ <documentation>bml:unless directive (type: unless)</documentation>
32
+
33
+ <properties>
34
+ <type type="type:Text">
35
+ <documentation>type (required). TS type: type:Text.</documentation>
36
+ <value>unless</value>
37
+ </type>
38
+ <condition type="bomvalue:ExpressionValue">
39
+ <documentation>condition (required). TS type: bomvalue:ExpressionValue.</documentation>
40
+ </condition>
41
+ </properties>
42
+
43
+ </block>
@@ -0,0 +1,49 @@
1
+ <!--
2
+ BOM Urmodell — VirtualContainerNode
3
+ FQN: org.blockml.bml.bom.composition.VirtualContainerNode
4
+ -->
5
+ <block
6
+ xmlns="http://blockml.org/bml"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
+ "
10
+ xmlns:blockml="org.blockml.bml"
11
+ xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
14
+ xmlns:bomcap="org.blockml.bml.bom.capability"
15
+ xmlns:bomcommon="org.blockml.bml.bom.common"
16
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
17
+ xmlns:bomdoc="org.blockml.bml.bom.document"
18
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
19
+ xmlns:bommember="org.blockml.bml.bom.member"
20
+ xmlns:bomtype="org.blockml.bml.bom.type"
21
+ xmlns:bomvalue="org.blockml.bml.bom.value"
22
+ xmlns:core="org.blockml.bml.core"
23
+ xmlns:def="org.blockml.bml.definition"
24
+ xmlns:type="org.blockml.bml.type">
25
+
26
+ <name>VirtualContainerNode</name>
27
+ <type>bomcomp:VirtualContainerNode</type>
28
+ <baseType>bomcomp:CompositionNode</baseType>
29
+ <is>Virtual bml:container node (kind: virtualContainer)</is>
30
+
31
+ <documentation>Virtual bml:container node (kind: virtualContainer)</documentation>
32
+
33
+ <properties>
34
+ <kind type="type:Text">
35
+ <documentation>kind (required). TS type: type:Text.</documentation>
36
+ <value>virtualContainer</value>
37
+ </kind>
38
+ <directives type="bomcomp:DirectiveAttribute[]">
39
+ <documentation>directives (optional). TS type: bomcomp:DirectiveAttribute[].</documentation>
40
+ </directives>
41
+ <children type="bomcomp:CompositionNode[]">
42
+ <documentation>children (required). TS type: bomcomp:CompositionNode[].</documentation>
43
+ </children>
44
+ <source type="bomcommon:SourceLocation">
45
+ <documentation>source (optional). TS type: bomcommon:SourceLocation.</documentation>
46
+ </source>
47
+ </properties>
48
+
49
+ </block>
@@ -0,0 +1,42 @@
1
+ <!--
2
+ BOM Urmodell — WithBinding
3
+ FQN: org.blockml.bml.bom.composition.WithBinding
4
+ -->
5
+ <block
6
+ xmlns="http://blockml.org/bml"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
+ "
10
+ xmlns:blockml="org.blockml.bml"
11
+ xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
14
+ xmlns:bomcap="org.blockml.bml.bom.capability"
15
+ xmlns:bomcommon="org.blockml.bml.bom.common"
16
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
17
+ xmlns:bomdoc="org.blockml.bml.bom.document"
18
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
19
+ xmlns:bommember="org.blockml.bml.bom.member"
20
+ xmlns:bomtype="org.blockml.bml.bom.type"
21
+ xmlns:bomvalue="org.blockml.bml.bom.value"
22
+ xmlns:core="org.blockml.bml.core"
23
+ xmlns:def="org.blockml.bml.definition"
24
+ xmlns:type="org.blockml.bml.type">
25
+
26
+ <name>WithBinding</name>
27
+ <type>bomcomp:WithBinding</type>
28
+ <baseType>bom:UrmodellType</baseType>
29
+ <is>bml:with binding entry</is>
30
+
31
+ <documentation>bml:with binding entry</documentation>
32
+
33
+ <properties>
34
+ <name type="type:Text">
35
+ <documentation>name (required). TS type: type:Text.</documentation>
36
+ </name>
37
+ <value type="bomvalue:ExpressionValue">
38
+ <documentation>value (required). TS type: bomvalue:ExpressionValue.</documentation>
39
+ </value>
40
+ </properties>
41
+
42
+ </block>
@@ -0,0 +1,43 @@
1
+ <!--
2
+ BOM Urmodell — WithDirective
3
+ FQN: org.blockml.bml.bom.composition.WithDirective
4
+ -->
5
+ <block
6
+ xmlns="http://blockml.org/bml"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
+ "
10
+ xmlns:blockml="org.blockml.bml"
11
+ xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
14
+ xmlns:bomcap="org.blockml.bml.bom.capability"
15
+ xmlns:bomcommon="org.blockml.bml.bom.common"
16
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
17
+ xmlns:bomdoc="org.blockml.bml.bom.document"
18
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
19
+ xmlns:bommember="org.blockml.bml.bom.member"
20
+ xmlns:bomtype="org.blockml.bml.bom.type"
21
+ xmlns:bomvalue="org.blockml.bml.bom.value"
22
+ xmlns:core="org.blockml.bml.core"
23
+ xmlns:def="org.blockml.bml.definition"
24
+ xmlns:type="org.blockml.bml.type">
25
+
26
+ <name>WithDirective</name>
27
+ <type>bomcomp:WithDirective</type>
28
+ <baseType>bomcomp:DirectiveAttribute</baseType>
29
+ <is>bml:with directive (type: with)</is>
30
+
31
+ <documentation>bml:with directive (type: with)</documentation>
32
+
33
+ <properties>
34
+ <type type="type:Text">
35
+ <documentation>type (required). TS type: type:Text.</documentation>
36
+ <value>with</value>
37
+ </type>
38
+ <bindings type="bomcomp:WithBinding[]">
39
+ <documentation>bindings (required). TS type: bomcomp:WithBinding[].</documentation>
40
+ </bindings>
41
+ </properties>
42
+
43
+ </block>
@@ -0,0 +1,49 @@
1
+ <!--
2
+ BOM Urmodell — BomDocument
3
+ FQN: org.blockml.bml.bom.document.BomDocument
4
+ -->
5
+ <block
6
+ xmlns="http://blockml.org/bml"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
+ "
10
+ xmlns:blockml="org.blockml.bml"
11
+ xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
14
+ xmlns:bomcap="org.blockml.bml.bom.capability"
15
+ xmlns:bomcommon="org.blockml.bml.bom.common"
16
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
17
+ xmlns:bomdoc="org.blockml.bml.bom.document"
18
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
19
+ xmlns:bommember="org.blockml.bml.bom.member"
20
+ xmlns:bomtype="org.blockml.bml.bom.type"
21
+ xmlns:bomvalue="org.blockml.bml.bom.value"
22
+ xmlns:core="org.blockml.bml.core"
23
+ xmlns:def="org.blockml.bml.definition"
24
+ xmlns:type="org.blockml.bml.type">
25
+
26
+ <name>BomDocument</name>
27
+ <type>bomdoc:BomDocument</type>
28
+ <baseType>bom:UrmodellType</baseType>
29
+ <is>Root Urmodell document — every parsed BML file</is>
30
+
31
+ <documentation>Immutable after parse or BomBuilder.seal(). kind is always "block" in V1.</documentation>
32
+
33
+ <examples>
34
+ <example title="Calibrator reference shape">Reference BomDocument from com.machineblocks.bml.calibration.Calibrator. Root BlockDefinition with declared members, subBlocks (Utils, Base, StudDiameter, …), and compositions from _utils/_parts aggregations. Inherited native properties are NOT in members[].</example>
35
+ </examples>
36
+
37
+ <properties>
38
+ <kind type="type:Text">
39
+ <documentation>V1: always "block". (required)</documentation>
40
+ </kind>
41
+ <source type="bomcommon:SourceInfo">
42
+ <documentation>source (required). TS type: bomcommon:SourceInfo.</documentation>
43
+ </source>
44
+ <block type="bomblock:BlockDefinition">
45
+ <documentation>block (required). TS type: bomblock:BlockDefinition.</documentation>
46
+ </block>
47
+ </properties>
48
+
49
+ </block>
@@ -0,0 +1,46 @@
1
+ <!--
2
+ BOM Documentation — AbstractionPrinciple
3
+ FQN: org.blockml.bml.bom.documentation.AbstractionPrinciple
4
+ -->
5
+ <block
6
+ xmlns="http://blockml.org/bml"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
+ "
10
+ xmlns:blockml="org.blockml.bml"
11
+ xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
14
+ xmlns:bomcap="org.blockml.bml.bom.capability"
15
+ xmlns:bomcommon="org.blockml.bml.bom.common"
16
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
17
+ xmlns:bomdoc="org.blockml.bml.bom.document"
18
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
19
+ xmlns:bommember="org.blockml.bml.bom.member"
20
+ xmlns:bomtype="org.blockml.bml.bom.type"
21
+ xmlns:bomvalue="org.blockml.bml.bom.value"
22
+ xmlns:core="org.blockml.bml.core"
23
+ xmlns:def="org.blockml.bml.definition"
24
+ xmlns:type="org.blockml.bml.type"
25
+ xmlns:doc="org.blockml.bml.documentation">
26
+
27
+ <name>AbstractionPrinciple</name>
28
+ <type>bomdocumentation:AbstractionPrinciple</type>
29
+ <baseType>core:Documentation</baseType>
30
+ <is>Lossless representation and roundtrip guarantee</is>
31
+
32
+ <documentation>A BOM document is a lossless representation of BML source. It preserves authored
33
+ structure and values — directives, aggregation declarations, literal syntax, unresolved
34
+ type references, namespace bindings, and bml:xml metadata. BOM makes no statement about
35
+ directive expansion, aggregation interpretation, or block rendering.
36
+
37
+ Maximum authored surface: render targets and the serializer must read as much of the
38
+ original document as the Urmodell can carry. Prefer first-class fields over hidden side channels.
39
+
40
+ BML → BOM → BML must always be possible.</documentation>
41
+
42
+ <references>
43
+ <see type="bomdocumentation:AuthoredSurfaceTable" relation="ReadNext"></see>
44
+ </references>
45
+
46
+ </block>
@@ -0,0 +1,49 @@
1
+ <!--
2
+ BOM Documentation — ArchitectureOverview
3
+ FQN: org.blockml.bml.bom.documentation.ArchitectureOverview
4
+ -->
5
+ <block
6
+ xmlns="http://blockml.org/bml"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
+ "
10
+ xmlns:blockml="org.blockml.bml"
11
+ xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
14
+ xmlns:bomcap="org.blockml.bml.bom.capability"
15
+ xmlns:bomcommon="org.blockml.bml.bom.common"
16
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
17
+ xmlns:bomdoc="org.blockml.bml.bom.document"
18
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
19
+ xmlns:bommember="org.blockml.bml.bom.member"
20
+ xmlns:bomtype="org.blockml.bml.bom.type"
21
+ xmlns:bomvalue="org.blockml.bml.bom.value"
22
+ xmlns:core="org.blockml.bml.core"
23
+ xmlns:def="org.blockml.bml.definition"
24
+ xmlns:type="org.blockml.bml.type"
25
+ xmlns:doc="org.blockml.bml.documentation">
26
+
27
+ <name>ArchitectureOverview</name>
28
+ <type>bomdocumentation:ArchitectureOverview</type>
29
+ <baseType>core:Documentation</baseType>
30
+ <is>BML source to render pipeline</is>
31
+
32
+ <documentation>Pipeline roles:
33
+
34
+ BML source → universal authoring and interchange format
35
+ Urmodell (BOM) → canonical, immutable, lossless parse/build result (SSOT, read-only)
36
+ BomBuilder (V3) → planned writable session; seal() → Urmodell (same types)
37
+ Pragmatic Model → validator default fork + optional renderer forks (resolve only)
38
+ Framework Utilities → derived views / merges on forks — never mutate Urmodell
39
+ Render Target → chooses Urmodell / pragmatic / own forks + optional target working model
40
+
41
+ Block in BML is the mandatory input concept — not a uniform runtime object model.
42
+ The parser must read block documents; validators walk baseType chains. Internal
43
+ representation after parse is implementation freedom.</documentation>
44
+
45
+ <references>
46
+ <see type="bomdocumentation:AbstractionPrinciple" relation="ReadNext"></see>
47
+ </references>
48
+
49
+ </block>
@@ -0,0 +1,47 @@
1
+ <!--
2
+ BOM Documentation — AuthoredSurfaceTable
3
+ FQN: org.blockml.bml.bom.documentation.AuthoredSurfaceTable
4
+ -->
5
+ <block
6
+ xmlns="http://blockml.org/bml"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
+ "
10
+ xmlns:blockml="org.blockml.bml"
11
+ xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
14
+ xmlns:bomcap="org.blockml.bml.bom.capability"
15
+ xmlns:bomcommon="org.blockml.bml.bom.common"
16
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
17
+ xmlns:bomdoc="org.blockml.bml.bom.document"
18
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
19
+ xmlns:bommember="org.blockml.bml.bom.member"
20
+ xmlns:bomtype="org.blockml.bml.bom.type"
21
+ xmlns:bomvalue="org.blockml.bml.bom.value"
22
+ xmlns:core="org.blockml.bml.core"
23
+ xmlns:def="org.blockml.bml.definition"
24
+ xmlns:type="org.blockml.bml.type"
25
+ xmlns:doc="org.blockml.bml.documentation">
26
+
27
+ <name>AuthoredSurfaceTable</name>
28
+ <type>bomdocumentation:AuthoredSurfaceTable</type>
29
+ <baseType>core:Documentation</baseType>
30
+ <is>What BOM stores vs what downstream interprets</is>
31
+
32
+ <documentation>bml:each / bml:if / bml:with → directives[] unexpanded → Renderer expands
33
+ xmlns / xmlns:prefix → SourceInfo.namespaceBindings 1:1 authored → Serializer QName emit (B21)
34
+ xsi:schemaLocation / xsi:noNamespaceSchemaLocation → SourceInfo (B25) → re-emit on root
35
+ bml:xml → xmlRendering block+member — NOT directives[] → Serializer, FatBlock, XSD
36
+ element|attribute dual placement → authoredPlacement (D9) → MUST roundtrip authored form
37
+ Text vs CDATA → authoredCharacterDataForm (D8) → emit CDATA when needed or authored
38
+ Literal syntax [5,5,6] vs {x:5,…} → LiteralValue authored form → Renderer serializes
39
+ ${ expr } → ExpressionValue { raw } — AST via parseExpression(), not evaluated
40
+ aggregations declaration → AggregationDefinition declared only → TypeRegistry metadata
41
+ composition children → CompositionNode tree → Renderer assembly patterns
42
+ baseType FQN → string reference → TypeRegistry effective members
43
+ Preset reference FQN::id → unmerged string → Renderer preset merge
44
+ Capabilities → CapabilityDefinition in BOM → Renderer interprets (not invoked at parse)
45
+ XML comments → XmlTrivia on following element (B11) → Serializer re-emits</documentation>
46
+
47
+ </block>
@@ -0,0 +1,53 @@
1
+ <!--
2
+ BOM Documentation — CalibratorExample
3
+ FQN: org.blockml.bml.bom.documentation.CalibratorExample
4
+ -->
5
+ <block
6
+ xmlns="http://blockml.org/bml"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
+ "
10
+ xmlns:blockml="org.blockml.bml"
11
+ xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
14
+ xmlns:bomcap="org.blockml.bml.bom.capability"
15
+ xmlns:bomcommon="org.blockml.bml.bom.common"
16
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
17
+ xmlns:bomdoc="org.blockml.bml.bom.document"
18
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
19
+ xmlns:bommember="org.blockml.bml.bom.member"
20
+ xmlns:bomtype="org.blockml.bml.bom.type"
21
+ xmlns:bomvalue="org.blockml.bml.bom.value"
22
+ xmlns:core="org.blockml.bml.core"
23
+ xmlns:def="org.blockml.bml.definition"
24
+ xmlns:type="org.blockml.bml.type"
25
+ xmlns:doc="org.blockml.bml.documentation">
26
+
27
+ <name>CalibratorExample</name>
28
+ <type>bomdocumentation:CalibratorExample</type>
29
+ <baseType>core:Documentation</baseType>
30
+ <is>Reference BomDocument walkthrough</is>
31
+
32
+ <documentation>Source: com.machineblocks.bml.calibration.Calibrator.bml
33
+
34
+ BomDocument kind block → BlockDefinition Calibrator
35
+ type com.machineblocks.bml.calibration.Calibrator, baseType CompositeBlock, version 1.0.0
36
+
37
+ Declared members only (not inherited size, offset, baseColor):
38
+ numberOfSamples, font, size (ExpressionValue), _utils aggregation (Utils bean context),
39
+ _parts aggregation (4 calibration rows).
40
+
41
+ subBlocks: Utils, Base, StudDiameter, BaseWallThickness, TubeDiameter, PinDiameter.
42
+
43
+ compositions: _utils → Utils instance; _parts → Base, StudDiameter, Base (id=base_wall), …
44
+
45
+ Observations: Sub-Block refs by short name resolved via subBlocks[] tree.
46
+ @utils.formatValue and #math.* stored as ExpressionValue { raw }.
47
+ Inherited native properties not in members[] — validator uses resolveEffectiveMembers().</documentation>
48
+
49
+ <references>
50
+ <see type="bomdoc:BomDocument" relation="ExampleOf"></see>
51
+ </references>
52
+
53
+ </block>
@@ -0,0 +1,45 @@
1
+ <!--
2
+ BOM Documentation — CompositionDirectives
3
+ FQN: org.blockml.bml.bom.documentation.CompositionDirectives
4
+ -->
5
+ <block
6
+ xmlns="http://blockml.org/bml"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
+ "
10
+ xmlns:blockml="org.blockml.bml"
11
+ xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
14
+ xmlns:bomcap="org.blockml.bml.bom.capability"
15
+ xmlns:bomcommon="org.blockml.bml.bom.common"
16
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
17
+ xmlns:bomdoc="org.blockml.bml.bom.document"
18
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
19
+ xmlns:bommember="org.blockml.bml.bom.member"
20
+ xmlns:bomtype="org.blockml.bml.bom.type"
21
+ xmlns:bomvalue="org.blockml.bml.bom.value"
22
+ xmlns:core="org.blockml.bml.core"
23
+ xmlns:def="org.blockml.bml.definition"
24
+ xmlns:type="org.blockml.bml.type"
25
+ xmlns:doc="org.blockml.bml.documentation">
26
+
27
+ <name>CompositionDirectives</name>
28
+ <type>bomdocumentation:CompositionDirectives</type>
29
+ <baseType>core:Documentation</baseType>
30
+ <is>Directive placement and Thymeleaf model</is>
31
+
32
+ <documentation>Directives follow Thymeleaf model — attributes on modified element, stored unexpanded.
33
+
34
+ bml:id, bml:version, bml:bean, bml:scope → BlockInstance fields (NOT directives[]).
35
+ bml:with → composition, aggregation, bml:container, block instances.
36
+ bml:each, bml:if, bml:unless → bml:container, block instances.
37
+
38
+ Dynamic ids: bml:id="${ 'val_' + i }" stored as ExpressionValue or literal on BlockInstance.id.
39
+ Omitted bml:id stored absent — parser does not assign auto-IDs.</documentation>
40
+
41
+ <references>
42
+ <see type="bomcomp:DirectiveAttribute" relation="Defines"></see>
43
+ </references>
44
+
45
+ </block>