@blockml/validator 0.9.4 → 0.9.6
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.
- package/blocks/org/blockml/bml/compiler/validator/Library.bml +26 -27
- package/blocks/org/blockml/bml/compiler/validator/README.bml +15 -22
- package/blocks/org/blockml/bml/compiler/validator/ValidatorType.bml +16 -20
- package/blocks/org/blockml/bml/compiler/validator/capability/Validate.bml +23 -23
- package/blocks/org/blockml/bml/compiler/validator/capability/ValidateStyle.bml +20 -22
- package/blocks/org/blockml/bml/compiler/validator/documentation/DesignDecisions.bml +21 -26
- package/blocks/org/blockml/bml/compiler/validator/documentation/Diagnostics.bml +21 -25
- package/blocks/org/blockml/bml/compiler/validator/documentation/Introduction.bml +20 -26
- package/blocks/org/blockml/bml/compiler/validator/documentation/LayerSeparation.bml +18 -23
- package/blocks/org/blockml/bml/compiler/validator/documentation/PackageOwnership.bml +20 -26
- package/blocks/org/blockml/bml/compiler/validator/documentation/PublicApi.bml +18 -23
- package/blocks/org/blockml/bml/compiler/validator/documentation/ScopeExclusions.bml +16 -21
- package/blocks/org/blockml/bml/compiler/validator/documentation/ValidationPipeline.bml +17 -22
- package/blocks/org/blockml/bml/compiler/validator/documentation/ValidityContract.bml +19 -24
- package/blocks/org/blockml/bml/compiler/validator/style/PreferCDataWhenNeedsEscape.bml +14 -18
- package/blocks/org/blockml/bml/compiler/validator/style/PreferEmptyElementSelfClosing.bml +14 -18
- package/blocks/org/blockml/bml/compiler/validator/style/PreferMarkdownStructure.bml +14 -18
- package/blocks/org/blockml/bml/compiler/validator/style/PreferOmitRedundantName.bml +15 -0
- package/blocks/org/blockml/bml/compiler/validator/style/PreferOmitRedundantType.bml +15 -0
- package/blocks/org/blockml/bml/compiler/validator/style/PreferTypeAsTag.bml +15 -0
- package/blocks/org/blockml/bml/compiler/validator/style/StyleCheck.bml +17 -20
- package/blocks/org/blockml/bml/compiler/validator/style/StyleRule.bml +29 -25
- package/blocks/org/blockml/bml/compiler/validator/style/rule/CDataWhenEscaping.bml +15 -21
- package/blocks/org/blockml/bml/compiler/validator/style/rule/EmptyElementSelfClosing.bml +15 -21
- package/blocks/org/blockml/bml/compiler/validator/style/rule/MarkdownStructure.bml +15 -21
- package/blocks/org/blockml/bml/compiler/validator/style/rule/OmitRedundantName.bml +39 -0
- package/blocks/org/blockml/bml/compiler/validator/style/rule/OmitRedundantType.bml +39 -0
- package/blocks/org/blockml/bml/compiler/validator/style/rule/TypeAsTag.bml +38 -0
- package/dist/validate-style.d.ts.map +1 -1
- package/dist/validate-style.js +49 -10
- package/dist/validate-style.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
"
|
|
1
|
+
<!--BlockML Validator Library Descriptor
|
|
2
|
+
FQN: org.blockml.bml.compiler.validator.Library-->
|
|
3
|
+
<validator:Library xmlns="http://blockml.org/bml"
|
|
10
4
|
xmlns:blockml="org.blockml.bml"
|
|
11
5
|
xmlns:bom="org.blockml.bml.bom"
|
|
12
6
|
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
@@ -24,48 +18,48 @@
|
|
|
24
18
|
xmlns:valstyle="org.blockml.bml.compiler.validator.style"
|
|
25
19
|
xmlns:bomdocumentation="org.blockml.bml.bom.documentation">
|
|
26
20
|
|
|
27
|
-
<
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
<is>
|
|
31
|
-
|
|
21
|
+
<baseType>
|
|
22
|
+
core:BlockLibrary
|
|
23
|
+
</baseType>
|
|
24
|
+
<is>
|
|
25
|
+
The BlockML Validator compiler package library catalog
|
|
26
|
+
</is>
|
|
27
|
+
<version>
|
|
28
|
+
0.9.6
|
|
29
|
+
</version>
|
|
32
30
|
<documentation>
|
|
33
31
|
# The BlockML Validator compiler package library catalog
|
|
34
|
-
|
|
32
|
+
|
|
35
33
|
Canonical validator specification for BlockML Stage-2 — validate() orchestration
|
|
36
34
|
on BomDocument using @blockml/framework utilities, plus the style catalog
|
|
37
35
|
(org.blockml.bml.compiler.validator.style.*). TypeScript in packages/validator/src/
|
|
38
36
|
implements this library. Urmodell and API types live in org.blockml.bml.bom.*
|
|
39
37
|
(@blockml/bom). Membership is defined exclusively by this blocks list.
|
|
40
38
|
</documentation>
|
|
41
|
-
|
|
42
|
-
<version>0.9.4</version>
|
|
43
|
-
|
|
44
39
|
<language>
|
|
45
|
-
<English />
|
|
40
|
+
<blockml:language.English />
|
|
46
41
|
</language>
|
|
47
|
-
|
|
48
42
|
<properties>
|
|
49
43
|
<description override="true">
|
|
50
44
|
<value>BlockML Validator library</value>
|
|
51
45
|
</description>
|
|
52
46
|
</properties>
|
|
53
|
-
|
|
54
47
|
<aggregations>
|
|
55
|
-
<readMe>
|
|
48
|
+
<readMe override="true">
|
|
56
49
|
<composition>
|
|
57
50
|
<validator:README />
|
|
58
51
|
</composition>
|
|
59
52
|
</readMe>
|
|
60
|
-
<dependencies>
|
|
53
|
+
<dependencies override="true">
|
|
61
54
|
<composition>
|
|
62
55
|
<blockml:Library />
|
|
63
56
|
<bom:Library />
|
|
64
57
|
<framework:Library />
|
|
65
58
|
</composition>
|
|
66
59
|
</dependencies>
|
|
67
|
-
<blocks>
|
|
68
|
-
<composition
|
|
60
|
+
<blocks override="true">
|
|
61
|
+
<composition>
|
|
62
|
+
<validator:ValidatorType />
|
|
69
63
|
<valcap:Validate />
|
|
70
64
|
<valcap:ValidateStyle />
|
|
71
65
|
<valstyle:StyleRule />
|
|
@@ -73,9 +67,15 @@
|
|
|
73
67
|
<valstyle:PreferCDataWhenNeedsEscape />
|
|
74
68
|
<valstyle:PreferMarkdownStructure />
|
|
75
69
|
<valstyle:PreferEmptyElementSelfClosing />
|
|
70
|
+
<valstyle:PreferTypeAsTag />
|
|
71
|
+
<valstyle:PreferOmitRedundantType />
|
|
72
|
+
<valstyle:PreferOmitRedundantName />
|
|
76
73
|
<valstyle:CDataWhenEscaping />
|
|
77
74
|
<valstyle:MarkdownStructure />
|
|
78
75
|
<valstyle:EmptyElementSelfClosing />
|
|
76
|
+
<valstyle:TypeAsTag />
|
|
77
|
+
<valstyle:OmitRedundantType />
|
|
78
|
+
<valstyle:OmitRedundantName />
|
|
79
79
|
<valdocumentation:Introduction />
|
|
80
80
|
<valdocumentation:ValidityContract />
|
|
81
81
|
<valdocumentation:LayerSeparation />
|
|
@@ -88,5 +88,4 @@
|
|
|
88
88
|
</composition>
|
|
89
89
|
</blocks>
|
|
90
90
|
</aggregations>
|
|
91
|
-
|
|
92
|
-
</block>
|
|
91
|
+
</validator:Library>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
"
|
|
1
|
+
<!--BlockML Validator — README
|
|
2
|
+
FQN: org.blockml.bml.compiler.validator.README-->
|
|
3
|
+
<validator:README xmlns="http://blockml.org/bml"
|
|
10
4
|
xmlns:blockml="org.blockml.bml"
|
|
11
5
|
xmlns:bom="org.blockml.bml.bom"
|
|
12
6
|
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
@@ -23,37 +17,36 @@
|
|
|
23
17
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
24
18
|
xmlns:bomdocumentation="org.blockml.bml.bom.documentation">
|
|
25
19
|
|
|
26
|
-
<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
<is>
|
|
30
|
-
|
|
20
|
+
<baseType>
|
|
21
|
+
core:ReadMe
|
|
22
|
+
</baseType>
|
|
23
|
+
<is>
|
|
24
|
+
Reading entry for the Validator compiler library
|
|
25
|
+
</is>
|
|
31
26
|
<documentation>
|
|
32
27
|
The @blockml/validator package validates BomDocument (Urmodell) and returns
|
|
33
28
|
diagnostics plus an optional pragmatic model fork.
|
|
34
|
-
|
|
29
|
+
|
|
35
30
|
This library (org.blockml.bml.compiler.validator.*) is the SSOT; TypeScript in
|
|
36
31
|
packages/validator/src/ implements it. Parity tests in packages/validator/test/
|
|
37
32
|
verify BML ↔ TS alignment.
|
|
38
|
-
|
|
33
|
+
|
|
39
34
|
Start reading at org.blockml.bml.compiler.validator.documentation.Introduction (ReadNext chain).
|
|
40
|
-
|
|
35
|
+
|
|
41
36
|
Layer separation:
|
|
42
37
|
• org.blockml.bml.bom.* (@blockml/bom) — Urmodell types and ValidateOptions/ValidateResult
|
|
43
38
|
• org.blockml.bml.framework.* (@blockml/framework) — TypeRegistry, validation utilities
|
|
44
39
|
• org.blockml.bml.compiler.validator.* (this library) — validate() orchestration
|
|
45
|
-
|
|
40
|
+
|
|
46
41
|
Modules: documentation (narrative specs), capability (validate entry point).
|
|
47
|
-
|
|
42
|
+
|
|
48
43
|
Not in this library: validateTypes/validateConstraints implementation (@blockml/framework);
|
|
49
44
|
parse()/serialize() entry points.
|
|
50
45
|
</documentation>
|
|
51
|
-
|
|
52
46
|
<references>
|
|
53
47
|
<see type="valdocumentation:Introduction" relation="ReadFirst" />
|
|
54
48
|
<see type="valdocumentation:PublicApi" relation="SeeAlso" />
|
|
55
49
|
<see type="bomdocumentation:PublicApi" relation="SeeAlso" />
|
|
56
50
|
<see type="fwdocumentation:Introduction" relation="SeeAlso" />
|
|
57
51
|
</references>
|
|
58
|
-
|
|
59
|
-
</block>
|
|
52
|
+
</validator:README>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
"
|
|
1
|
+
<!--Validator — ValidatorType
|
|
2
|
+
FQN: org.blockml.bml.compiler.validator.ValidatorType-->
|
|
3
|
+
<validator:ValidatorType xmlns="http://blockml.org/bml"
|
|
10
4
|
xmlns:blockml="org.blockml.bml"
|
|
11
5
|
xmlns:bom="org.blockml.bml.bom"
|
|
12
6
|
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
@@ -22,17 +16,19 @@
|
|
|
22
16
|
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
23
17
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
24
18
|
|
|
25
|
-
<
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
<is>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
19
|
+
<baseType>
|
|
20
|
+
core:Entity
|
|
21
|
+
</baseType>
|
|
22
|
+
<is>
|
|
23
|
+
Abstract marker for validator implementation data-structure blocks
|
|
24
|
+
</is>
|
|
25
|
+
<documentation>
|
|
26
|
+
Reserved for future validator-internal types. Distinct from bom:UrmodellType and core:Capability.
|
|
27
|
+
</documentation>
|
|
28
|
+
<abstract>
|
|
29
|
+
true
|
|
30
|
+
</abstract>
|
|
32
31
|
<references>
|
|
33
32
|
<see type="bom:UrmodellType" relation="SeeAlso" />
|
|
34
33
|
</references>
|
|
35
|
-
|
|
36
|
-
<abstract>true</abstract>
|
|
37
|
-
|
|
38
|
-
</block>
|
|
34
|
+
</validator:ValidatorType>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
"
|
|
1
|
+
<!--Validator Capability — Validate
|
|
2
|
+
FQN: org.blockml.bml.compiler.validator.capability.Validate-->
|
|
3
|
+
<valcap:Validate xmlns="http://blockml.org/bml"
|
|
10
4
|
xmlns:blockml="org.blockml.bml"
|
|
11
5
|
xmlns:bom="org.blockml.bml.bom"
|
|
12
6
|
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
@@ -22,15 +16,17 @@
|
|
|
22
16
|
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
23
17
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
24
18
|
|
|
25
|
-
<
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
<is>
|
|
29
|
-
|
|
30
|
-
|
|
19
|
+
<baseType>
|
|
20
|
+
core:Capability
|
|
21
|
+
</baseType>
|
|
22
|
+
<is>
|
|
23
|
+
Public entry: BomDocument → ValidateResult (B26)
|
|
24
|
+
</is>
|
|
25
|
+
<documentation>
|
|
26
|
+
Orchestrates TypeRegistry bootstrap/injection, forkBom, semantic framework
|
|
31
27
|
checks, and validateStyle. Does not mutate input Urmodell. Style diagnostics never
|
|
32
|
-
fail success
|
|
33
|
-
|
|
28
|
+
fail success.
|
|
29
|
+
</documentation>
|
|
34
30
|
<references>
|
|
35
31
|
<see type="valdocumentation:PublicApi" relation="SeeAlso" />
|
|
36
32
|
<see type="bomapi:ValidateOptions" relation="SeeAlso" />
|
|
@@ -41,17 +37,21 @@
|
|
|
41
37
|
<see type="valcap:ValidateStyle" relation="SeeAlso" />
|
|
42
38
|
<see type="fwcap:BootstrapTypeRegistry" relation="SeeAlso" />
|
|
43
39
|
</references>
|
|
44
|
-
|
|
45
40
|
<properties>
|
|
46
41
|
<document type="bomdoc:BomDocument">
|
|
47
|
-
<documentation>
|
|
42
|
+
<documentation>
|
|
43
|
+
document. TS type: bomdoc:BomDocument. (required)
|
|
44
|
+
</documentation>
|
|
48
45
|
</document>
|
|
49
46
|
<options type="bomapi:ValidateOptions">
|
|
50
|
-
<documentation>
|
|
47
|
+
<documentation>
|
|
48
|
+
Default continueOnError=true. (optional)
|
|
49
|
+
</documentation>
|
|
51
50
|
</options>
|
|
52
51
|
<result type="bomapi:ValidateResult">
|
|
53
|
-
<documentation>
|
|
52
|
+
<documentation>
|
|
53
|
+
result. TS type: bomapi:ValidateResult. (required)
|
|
54
|
+
</documentation>
|
|
54
55
|
</result>
|
|
55
56
|
</properties>
|
|
56
|
-
|
|
57
|
-
</block>
|
|
57
|
+
</valcap:Validate>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
"
|
|
1
|
+
<!--Validator Capability — ValidateStyle
|
|
2
|
+
FQN: org.blockml.bml.compiler.validator.capability.ValidateStyle-->
|
|
3
|
+
<valcap:ValidateStyle xmlns="http://blockml.org/bml"
|
|
10
4
|
xmlns:blockml="org.blockml.bml"
|
|
11
5
|
xmlns:bom="org.blockml.bml.bom"
|
|
12
6
|
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
@@ -20,28 +14,32 @@
|
|
|
20
14
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
21
15
|
xmlns:valstyle="org.blockml.bml.compiler.validator.style">
|
|
22
16
|
|
|
23
|
-
<
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
<is>
|
|
27
|
-
|
|
28
|
-
|
|
17
|
+
<baseType>
|
|
18
|
+
core:Capability
|
|
19
|
+
</baseType>
|
|
20
|
+
<is>
|
|
21
|
+
Run the BML style catalog against a BomDocument
|
|
22
|
+
</is>
|
|
23
|
+
<documentation>
|
|
24
|
+
Loads StyleRule documents from this package blocks/style/rule/, dispatches each
|
|
29
25
|
check type to a TypeScript interpreter, and returns diagnostics. Does not affect
|
|
30
26
|
success (warnings and recommendations only). Unknown check types emit
|
|
31
|
-
BML_STYLE_UNKNOWN_CHECK as info
|
|
32
|
-
|
|
27
|
+
BML_STYLE_UNKNOWN_CHECK as info.
|
|
28
|
+
</documentation>
|
|
33
29
|
<references>
|
|
34
30
|
<see type="valstyle:StyleRule" relation="SeeAlso" />
|
|
35
31
|
<see type="valcap:Validate" relation="SeeAlso" />
|
|
36
32
|
</references>
|
|
37
|
-
|
|
38
33
|
<properties>
|
|
39
34
|
<document type="bomdoc:BomDocument">
|
|
40
|
-
<documentation>
|
|
35
|
+
<documentation>
|
|
36
|
+
document. TS type: bomdoc:BomDocument. (required)
|
|
37
|
+
</documentation>
|
|
41
38
|
</document>
|
|
42
39
|
<result type="bomcommon:Diagnostic[]">
|
|
43
|
-
<documentation>
|
|
40
|
+
<documentation>
|
|
41
|
+
Style diagnostics. TS type: bomcommon:Diagnostic[]. (required)
|
|
42
|
+
</documentation>
|
|
44
43
|
</result>
|
|
45
44
|
</properties>
|
|
46
|
-
|
|
47
|
-
</block>
|
|
45
|
+
</valcap:ValidateStyle>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
"
|
|
1
|
+
<!--Validator Documentation — DesignDecisions
|
|
2
|
+
FQN: org.blockml.bml.compiler.validator.documentation.DesignDecisions-->
|
|
3
|
+
<valdocumentation:DesignDecisions xmlns="http://blockml.org/bml"
|
|
10
4
|
xmlns:blockml="org.blockml.bml"
|
|
11
5
|
xmlns:bom="org.blockml.bml.bom"
|
|
12
6
|
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
@@ -23,37 +17,38 @@
|
|
|
23
17
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
24
18
|
xmlns:doc="org.blockml.bml.documentation">
|
|
25
19
|
|
|
26
|
-
<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
<is>
|
|
30
|
-
|
|
31
|
-
|
|
20
|
+
<baseType>
|
|
21
|
+
core:Documentation
|
|
22
|
+
</baseType>
|
|
23
|
+
<is>
|
|
24
|
+
Normative validator design decisions
|
|
25
|
+
</is>
|
|
26
|
+
<documentation>
|
|
27
|
+
Pragmatic model (default fork): validate() always forks via forkBom before checks.
|
|
32
28
|
Urmodell input is never mutated.
|
|
33
|
-
|
|
29
|
+
|
|
34
30
|
continueOnError (default true): when false and validation fails, return diagnostics
|
|
35
31
|
without pragmaticModel — host can abort before downstream work.
|
|
36
|
-
|
|
32
|
+
|
|
37
33
|
TypeRegistry injection: hosts with pre-built registry skip bootstrap; supports
|
|
38
34
|
LSP and incremental validation scenarios.
|
|
39
|
-
|
|
35
|
+
|
|
40
36
|
success semantics: false when any diagnostic has severity === "error"; warnings
|
|
41
37
|
and recommendations alone do not fail success.
|
|
42
|
-
|
|
38
|
+
|
|
43
39
|
Style catalog (validateStyle): BML StyleRule documents under style/rule/ are the SSOT.
|
|
44
40
|
Interpreters bind to StyleCheck type FQNs. Unknown checks emit BML_STYLE_UNKNOWN_CHECK.
|
|
45
|
-
|
|
41
|
+
|
|
46
42
|
Bootstrap modes: bootstrapPaths (corpus flat scan) or libraryPaths (Library.bml graph).
|
|
47
43
|
validateVersions runs after validateTypes and before validateConstraints.
|
|
48
|
-
|
|
44
|
+
|
|
49
45
|
Unknown instance memberValues and unresolved type FQNs are errors (not warnings).
|
|
50
46
|
Missing libraries are errors. Domain types must be registered like framework types.
|
|
51
|
-
|
|
47
|
+
|
|
52
48
|
No throw on validation failure — aligns with B26 sync diagnostic API across parser,
|
|
53
|
-
serializer, validator, and compiler
|
|
54
|
-
|
|
49
|
+
serializer, validator, and compiler.
|
|
50
|
+
</documentation>
|
|
55
51
|
<references>
|
|
56
52
|
<see type="valdocumentation:Diagnostics" relation="ReadNext" />
|
|
57
53
|
</references>
|
|
58
|
-
|
|
59
|
-
</block>
|
|
54
|
+
</valdocumentation:DesignDecisions>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
"
|
|
1
|
+
<!--Validator Documentation — Diagnostics
|
|
2
|
+
FQN: org.blockml.bml.compiler.validator.documentation.Diagnostics-->
|
|
3
|
+
<valdocumentation:Diagnostics xmlns="http://blockml.org/bml"
|
|
10
4
|
xmlns:blockml="org.blockml.bml"
|
|
11
5
|
xmlns:bom="org.blockml.bml.bom"
|
|
12
6
|
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
@@ -22,31 +16,33 @@
|
|
|
22
16
|
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
23
17
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
24
18
|
xmlns:doc="org.blockml.bml.documentation"
|
|
25
|
-
xmlns:fwconfig="org.blockml.bml.framework.config"
|
|
26
|
-
>
|
|
19
|
+
xmlns:fwconfig="org.blockml.bml.framework.config">
|
|
27
20
|
|
|
28
|
-
<
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
<is>
|
|
32
|
-
|
|
33
|
-
|
|
21
|
+
<baseType>
|
|
22
|
+
core:Documentation
|
|
23
|
+
</baseType>
|
|
24
|
+
<is>
|
|
25
|
+
Validator diagnostics and host abort policy
|
|
26
|
+
</is>
|
|
27
|
+
<documentation>
|
|
28
|
+
The validator aggregates diagnostics from framework utilities (validateTypes,
|
|
34
29
|
validateConstraints, validateGenerics), bootstrap (when TypeRegistry is built inline), and validateStyle.
|
|
35
|
-
|
|
30
|
+
|
|
36
31
|
Diagnostic type: org.blockml.bml.bom.common.Diagnostic (shared across toolchain).
|
|
37
32
|
Style codes: BML_STYLE_PREFER_CDATA, BML_STYLE_PREFER_MARKDOWN,
|
|
38
|
-
BML_STYLE_EMPTY_ELEMENT_SELF_CLOSE,
|
|
39
|
-
|
|
33
|
+
BML_STYLE_EMPTY_ELEMENT_SELF_CLOSE, BML_STYLE_LEGACY_BLOCK_WRAPPER,
|
|
34
|
+
BML_STYLE_REDUNDANT_TYPE, BML_STYLE_REDUNDANT_NAME,
|
|
35
|
+
BML_STYLE_UNKNOWN_CHECK.
|
|
36
|
+
|
|
40
37
|
Host policy: CLI, IDE, and other orchestrators decide whether error diagnostics
|
|
41
38
|
block serialize, compile, or other downstream steps. The validator package does
|
|
42
39
|
not enforce abort-on-error — it reports diagnostics and success flag only.
|
|
43
40
|
Style warnings and recommendations do not fail success.
|
|
44
|
-
|
|
45
|
-
Cross-ref diagnostic codes: org.blockml.bml.framework.config.FrameworkDiagnosticCodes
|
|
46
|
-
|
|
41
|
+
|
|
42
|
+
Cross-ref diagnostic codes: org.blockml.bml.framework.config.FrameworkDiagnosticCodes
|
|
43
|
+
</documentation>
|
|
47
44
|
<references>
|
|
48
45
|
<see type="fwconfig:FrameworkDiagnosticCodes" relation="SeeAlso" />
|
|
49
46
|
<see type="valdocumentation:PackageOwnership" relation="ReadNext" />
|
|
50
47
|
</references>
|
|
51
|
-
|
|
52
|
-
</block>
|
|
48
|
+
</valdocumentation:Diagnostics>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
"
|
|
1
|
+
<!--Validator Documentation — Introduction
|
|
2
|
+
FQN: org.blockml.bml.compiler.validator.documentation.Introduction-->
|
|
3
|
+
<valdocumentation:Introduction xmlns="http://blockml.org/bml"
|
|
10
4
|
xmlns:blockml="org.blockml.bml"
|
|
11
5
|
xmlns:bom="org.blockml.bml.bom"
|
|
12
6
|
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
@@ -22,33 +16,33 @@
|
|
|
22
16
|
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
23
17
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
24
18
|
xmlns:doc="org.blockml.bml.documentation"
|
|
25
|
-
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
<
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
<documentation>
|
|
19
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation">
|
|
20
|
+
|
|
21
|
+
<baseType>
|
|
22
|
+
core:Documentation
|
|
23
|
+
</baseType>
|
|
24
|
+
<is>
|
|
25
|
+
Purpose and scope of the Validator package
|
|
26
|
+
</is>
|
|
27
|
+
<documentation>
|
|
28
|
+
The @blockml/validator package provides Stage-2 semantic validation on BomDocument.
|
|
34
29
|
It orchestrates @blockml/framework utilities on a pragmatic fork of the Urmodell.
|
|
35
|
-
|
|
30
|
+
|
|
36
31
|
This library (org.blockml.bml.compiler.validator.*) is the SSOT. TypeScript in
|
|
37
32
|
packages/validator/src/ implements it. Parity tests in packages/validator/test/
|
|
38
33
|
verify BML ↔ TS alignment.
|
|
39
|
-
|
|
34
|
+
|
|
40
35
|
Pipeline placement: BomDocument ← Parser | BomBuilder → Validator → diagnostics +
|
|
41
36
|
optional pragmaticModel. Consumed by @blockml/cli, @blockml/lsp (V2), and hosts.
|
|
42
|
-
|
|
37
|
+
|
|
43
38
|
Validator never mutates the input Urmodell. Abort-on-error is a host concern — not
|
|
44
39
|
enforced inside the validator package.
|
|
45
|
-
|
|
40
|
+
|
|
46
41
|
Validity without XSD: well-formed XML + structural BML + semantic BML against a
|
|
47
|
-
complete TypeRegistry. CLI validate and LSP share this engine
|
|
48
|
-
|
|
42
|
+
complete TypeRegistry. CLI validate and LSP share this engine.
|
|
43
|
+
</documentation>
|
|
49
44
|
<references>
|
|
50
45
|
<see type="valdocumentation:ValidityContract" relation="ReadNext" />
|
|
51
46
|
<see type="bomdocumentation:Introduction" relation="SeeAlso" />
|
|
52
47
|
</references>
|
|
53
|
-
|
|
54
|
-
</block>
|
|
48
|
+
</valdocumentation:Introduction>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
"
|
|
1
|
+
<!--Validator Documentation — LayerSeparation
|
|
2
|
+
FQN: org.blockml.bml.compiler.validator.documentation.LayerSeparation-->
|
|
3
|
+
<valdocumentation:LayerSeparation xmlns="http://blockml.org/bml"
|
|
10
4
|
xmlns:blockml="org.blockml.bml"
|
|
11
5
|
xmlns:bom="org.blockml.bml.bom"
|
|
12
6
|
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
@@ -23,29 +17,30 @@
|
|
|
23
17
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
24
18
|
xmlns:doc="org.blockml.bml.documentation">
|
|
25
19
|
|
|
26
|
-
<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
<is>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
20
|
+
<baseType>
|
|
21
|
+
core:Documentation
|
|
22
|
+
</baseType>
|
|
23
|
+
<is>
|
|
24
|
+
Validator vs framework vs BOM vs parser
|
|
25
|
+
</is>
|
|
26
|
+
<documentation>
|
|
27
|
+
Four layers relevant to validation:
|
|
28
|
+
|
|
33
29
|
org.blockml.bml.bom.* (@blockml/bom) — Urmodell types (BomDocument, …).
|
|
34
30
|
ValidateOptions, ValidateResult, TypeRegistryReader (B26) live here.
|
|
35
|
-
|
|
31
|
+
|
|
36
32
|
org.blockml.bml.framework.* (@blockml/framework) — TypeRegistry, forkBom,
|
|
37
33
|
validateTypes, validateConstraints, bootstrapTypeRegistry. Validator calls these;
|
|
38
34
|
does not reimplement them.
|
|
39
|
-
|
|
35
|
+
|
|
40
36
|
org.blockml.bml.compiler.validator.* (this package) — validate() orchestration,
|
|
41
37
|
style catalog (org.blockml.bml.compiler.validator.style.*), and Stage-2 entry point.
|
|
42
|
-
|
|
38
|
+
|
|
43
39
|
org.blockml.bml.compiler.parser.* (@blockml/parser) — BML → BomDocument (Stage 1).
|
|
44
|
-
Validator consumes parser output; does not call parse() directly (bootstrap is via framework)
|
|
45
|
-
|
|
40
|
+
Validator consumes parser output; does not call parse() directly (bootstrap is via framework).
|
|
41
|
+
</documentation>
|
|
46
42
|
<references>
|
|
47
43
|
<see type="valdocumentation:ValidationPipeline" relation="ReadNext" />
|
|
48
44
|
<see type="fwdocumentation:Introduction" relation="SeeAlso" />
|
|
49
45
|
</references>
|
|
50
|
-
|
|
51
|
-
</block>
|
|
46
|
+
</valdocumentation:LayerSeparation>
|