@blockml/validator 0.9.8 → 0.9.10
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 +6 -12
- package/blocks/org/blockml/bml/compiler/validator/README.bml +0 -10
- package/blocks/org/blockml/bml/compiler/validator/ValidatorType.bml +2 -13
- package/blocks/org/blockml/bml/compiler/validator/capability/Validate.bml +0 -8
- package/blocks/org/blockml/bml/compiler/validator/capability/ValidateStyle.bml +3 -8
- package/blocks/org/blockml/bml/compiler/validator/documentation/DesignDecisions.bml +2 -14
- package/blocks/org/blockml/bml/compiler/validator/documentation/Diagnostics.bml +1 -14
- package/blocks/org/blockml/bml/compiler/validator/documentation/Introduction.bml +0 -13
- package/blocks/org/blockml/bml/compiler/validator/documentation/LayerSeparation.bml +1 -13
- package/blocks/org/blockml/bml/compiler/validator/documentation/PackageOwnership.bml +0 -13
- package/blocks/org/blockml/bml/compiler/validator/documentation/PublicApi.bml +1 -12
- package/blocks/org/blockml/bml/compiler/validator/documentation/ScopeExclusions.bml +1 -14
- package/blocks/org/blockml/bml/compiler/validator/documentation/ValidationPipeline.bml +1 -13
- package/blocks/org/blockml/bml/compiler/validator/documentation/ValidityContract.bml +4 -15
- package/blocks/org/blockml/bml/compiler/validator/style/OmitUnusedNamespace.bml +40 -0
- package/blocks/org/blockml/bml/compiler/validator/style/PreferCDataWhenNeedsEscape.bml +0 -5
- package/blocks/org/blockml/bml/compiler/validator/style/PreferEmptyElementSelfClosing.bml +0 -5
- package/blocks/org/blockml/bml/compiler/validator/style/PreferMarkdownStructure.bml +0 -5
- package/blocks/org/blockml/bml/compiler/validator/style/PreferOmitRedundantName.bml +15 -13
- package/blocks/org/blockml/bml/compiler/validator/style/PreferOmitRedundantType.bml +15 -13
- package/blocks/org/blockml/bml/compiler/validator/style/PreferOmitUnusedNamespace.bml +27 -0
- package/blocks/org/blockml/bml/compiler/validator/style/PreferTypeAsTag.bml +15 -13
- package/blocks/org/blockml/bml/compiler/validator/style/StyleCheck.bml +0 -4
- package/blocks/org/blockml/bml/compiler/validator/style/StyleRule.bml +1 -6
- package/blocks/org/blockml/bml/compiler/validator/style/rule/CDataWhenEscaping.bml +0 -7
- package/blocks/org/blockml/bml/compiler/validator/style/rule/EmptyElementSelfClosing.bml +0 -7
- package/blocks/org/blockml/bml/compiler/validator/style/rule/MarkdownStructure.bml +0 -7
- package/blocks/org/blockml/bml/compiler/validator/style/rule/OmitUnusedNamespace.bml +38 -0
- package/dist/validate-style.d.ts.map +1 -1
- package/dist/validate-style.js +280 -0
- package/dist/validate-style.js.map +1 -1
- package/package.json +4 -4
|
@@ -3,20 +3,12 @@
|
|
|
3
3
|
<validator:Library xmlns="http://blockml.org/bml"
|
|
4
4
|
xmlns:blockml="org.blockml.bml"
|
|
5
5
|
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
8
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
9
|
-
xmlns:core="org.blockml.bml.core"
|
|
10
|
-
xmlns:def="org.blockml.bml.definition"
|
|
11
|
-
xmlns:framework="org.blockml.bml.framework"
|
|
12
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
13
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
14
|
-
xmlns:type="org.blockml.bml.type"
|
|
15
6
|
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
16
7
|
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
17
8
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
18
9
|
xmlns:valstyle="org.blockml.bml.compiler.validator.style"
|
|
19
|
-
xmlns:
|
|
10
|
+
xmlns:core="org.blockml.bml.core"
|
|
11
|
+
xmlns:framework="org.blockml.bml.framework">
|
|
20
12
|
|
|
21
13
|
<baseType>
|
|
22
14
|
core:BlockLibrary
|
|
@@ -25,7 +17,7 @@
|
|
|
25
17
|
The BlockML Validator compiler package library catalog
|
|
26
18
|
</is>
|
|
27
19
|
<version>
|
|
28
|
-
0.9.
|
|
20
|
+
0.9.10
|
|
29
21
|
</version>
|
|
30
22
|
<documentation>
|
|
31
23
|
# The BlockML Validator compiler package library catalog
|
|
@@ -70,12 +62,14 @@
|
|
|
70
62
|
<valstyle:PreferTypeAsTag />
|
|
71
63
|
<valstyle:PreferOmitRedundantType />
|
|
72
64
|
<valstyle:PreferOmitRedundantName />
|
|
65
|
+
<valstyle:PreferOmitUnusedNamespace />
|
|
73
66
|
<valstyle:CDataWhenEscaping />
|
|
74
67
|
<valstyle:MarkdownStructure />
|
|
75
68
|
<valstyle:EmptyElementSelfClosing />
|
|
76
69
|
<valstyle:TypeAsTag />
|
|
77
70
|
<valstyle:OmitRedundantType />
|
|
78
71
|
<valstyle:OmitRedundantName />
|
|
72
|
+
<valstyle:OmitUnusedNamespace />
|
|
79
73
|
<valdocumentation:Introduction />
|
|
80
74
|
<valdocumentation:ValidityContract />
|
|
81
75
|
<valdocumentation:LayerSeparation />
|
|
@@ -88,4 +82,4 @@
|
|
|
88
82
|
</composition>
|
|
89
83
|
</blocks>
|
|
90
84
|
</aggregations>
|
|
91
|
-
</validator:Library>
|
|
85
|
+
</validator:Library>
|
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
<!--BlockML Validator — README
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.README-->
|
|
3
3
|
<validator:README xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
8
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
9
4
|
xmlns:core="org.blockml.bml.core"
|
|
10
|
-
xmlns:def="org.blockml.bml.definition"
|
|
11
|
-
xmlns:framework="org.blockml.bml.framework"
|
|
12
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
13
5
|
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
14
|
-
xmlns:type="org.blockml.bml.type"
|
|
15
6
|
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
16
|
-
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
17
7
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
18
8
|
xmlns:bomdocumentation="org.blockml.bml.bom.documentation">
|
|
19
9
|
|
|
@@ -1,23 +1,12 @@
|
|
|
1
1
|
<!--Validator — ValidatorType
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.ValidatorType-->
|
|
3
3
|
<validator:ValidatorType xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
4
|
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
8
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
9
5
|
xmlns:core="org.blockml.bml.core"
|
|
10
|
-
xmlns:
|
|
11
|
-
xmlns:framework="org.blockml.bml.framework"
|
|
12
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
13
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
14
|
-
xmlns:type="org.blockml.bml.type"
|
|
15
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
16
|
-
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
17
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
6
|
+
xmlns:validator="org.blockml.bml.compiler.validator">
|
|
18
7
|
|
|
19
8
|
<baseType>
|
|
20
|
-
core:
|
|
9
|
+
core:Block
|
|
21
10
|
</baseType>
|
|
22
11
|
<is>
|
|
23
12
|
Abstract marker for validator implementation data-structure blocks
|
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
<!--Validator Capability — Validate
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.capability.Validate-->
|
|
3
3
|
<valcap:Validate xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
4
|
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
8
5
|
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
9
6
|
xmlns:core="org.blockml.bml.core"
|
|
10
|
-
xmlns:def="org.blockml.bml.definition"
|
|
11
|
-
xmlns:framework="org.blockml.bml.framework"
|
|
12
7
|
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
13
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
14
|
-
xmlns:type="org.blockml.bml.type"
|
|
15
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
16
8
|
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
17
9
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
18
10
|
|
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
<!--Validator Capability — ValidateStyle
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.capability.ValidateStyle-->
|
|
3
3
|
<valcap:ValidateStyle xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
4
|
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
8
5
|
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
9
6
|
xmlns:core="org.blockml.bml.core"
|
|
10
|
-
xmlns:def="org.blockml.bml.definition"
|
|
11
|
-
xmlns:type="org.blockml.bml.type"
|
|
12
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
13
7
|
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
14
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
15
8
|
xmlns:valstyle="org.blockml.bml.compiler.validator.style">
|
|
16
9
|
|
|
17
10
|
<baseType>
|
|
@@ -23,7 +16,9 @@
|
|
|
23
16
|
<documentation>
|
|
24
17
|
Loads StyleRule documents from this package blocks/style/rule/, dispatches each
|
|
25
18
|
check type to a TypeScript interpreter, and returns diagnostics. Does not affect
|
|
26
|
-
success (warnings and recommendations only).
|
|
19
|
+
success (warnings and recommendations only). Unused root xmlns prefixes emit
|
|
20
|
+
BML_STYLE_UNUSED_NAMESPACE. Implicit documentation language and see relation=
|
|
21
|
+
local names do not count as prefix use. Unknown check types emit
|
|
27
22
|
BML_STYLE_UNKNOWN_CHECK as info.
|
|
28
23
|
</documentation>
|
|
29
24
|
<references>
|
|
@@ -1,21 +1,8 @@
|
|
|
1
1
|
<!--Validator Documentation — DesignDecisions
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.documentation.DesignDecisions-->
|
|
3
3
|
<valdocumentation:DesignDecisions xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
8
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
9
4
|
xmlns:core="org.blockml.bml.core"
|
|
10
|
-
xmlns:
|
|
11
|
-
xmlns:framework="org.blockml.bml.framework"
|
|
12
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
13
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
14
|
-
xmlns:type="org.blockml.bml.type"
|
|
15
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
16
|
-
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
17
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
18
|
-
xmlns:doc="org.blockml.bml.documentation">
|
|
5
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
19
6
|
|
|
20
7
|
<baseType>
|
|
21
8
|
core:Documentation
|
|
@@ -38,6 +25,7 @@
|
|
|
38
25
|
|
|
39
26
|
Style catalog (validateStyle): BML StyleRule documents under style/rule/ are the SSOT.
|
|
40
27
|
Interpreters bind to StyleCheck type FQNs. Unknown checks emit BML_STYLE_UNKNOWN_CHECK.
|
|
28
|
+
Unused root xmlns prefixes emit BML_STYLE_UNUSED_NAMESPACE (warning).
|
|
41
29
|
|
|
42
30
|
Bootstrap modes: bootstrapPaths (corpus flat scan) or libraryPaths (Library.bml graph).
|
|
43
31
|
validateVersions runs after validateTypes and before validateConstraints.
|
|
@@ -1,21 +1,8 @@
|
|
|
1
1
|
<!--Validator Documentation — Diagnostics
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.documentation.Diagnostics-->
|
|
3
3
|
<valdocumentation:Diagnostics xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
8
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
9
4
|
xmlns:core="org.blockml.bml.core"
|
|
10
|
-
xmlns:def="org.blockml.bml.definition"
|
|
11
|
-
xmlns:framework="org.blockml.bml.framework"
|
|
12
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
13
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
14
|
-
xmlns:type="org.blockml.bml.type"
|
|
15
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
16
|
-
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
17
5
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
18
|
-
xmlns:doc="org.blockml.bml.documentation"
|
|
19
6
|
xmlns:fwconfig="org.blockml.bml.framework.config">
|
|
20
7
|
|
|
21
8
|
<baseType>
|
|
@@ -32,7 +19,7 @@
|
|
|
32
19
|
Style codes: BML_STYLE_PREFER_CDATA, BML_STYLE_PREFER_MARKDOWN,
|
|
33
20
|
BML_STYLE_EMPTY_ELEMENT_SELF_CLOSE, BML_STYLE_LEGACY_BLOCK_WRAPPER,
|
|
34
21
|
BML_STYLE_REDUNDANT_TYPE, BML_STYLE_REDUNDANT_NAME,
|
|
35
|
-
BML_STYLE_UNKNOWN_CHECK.
|
|
22
|
+
BML_STYLE_UNKNOWN_CHECK, BML_STYLE_UNUSED_NAMESPACE.
|
|
36
23
|
|
|
37
24
|
Host policy: CLI, IDE, and other orchestrators decide whether error diagnostics
|
|
38
25
|
block serialize, compile, or other downstream steps. The validator package does
|
|
@@ -1,21 +1,8 @@
|
|
|
1
1
|
<!--Validator Documentation — Introduction
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.documentation.Introduction-->
|
|
3
3
|
<valdocumentation:Introduction xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
8
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
9
4
|
xmlns:core="org.blockml.bml.core"
|
|
10
|
-
xmlns:def="org.blockml.bml.definition"
|
|
11
|
-
xmlns:framework="org.blockml.bml.framework"
|
|
12
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
13
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
14
|
-
xmlns:type="org.blockml.bml.type"
|
|
15
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
16
|
-
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
17
5
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
18
|
-
xmlns:doc="org.blockml.bml.documentation"
|
|
19
6
|
xmlns:bomdocumentation="org.blockml.bml.bom.documentation">
|
|
20
7
|
|
|
21
8
|
<baseType>
|
|
@@ -1,21 +1,9 @@
|
|
|
1
1
|
<!--Validator Documentation — LayerSeparation
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.documentation.LayerSeparation-->
|
|
3
3
|
<valdocumentation:LayerSeparation xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
8
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
9
4
|
xmlns:core="org.blockml.bml.core"
|
|
10
|
-
xmlns:def="org.blockml.bml.definition"
|
|
11
|
-
xmlns:framework="org.blockml.bml.framework"
|
|
12
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
13
5
|
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
14
|
-
xmlns:
|
|
15
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
16
|
-
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
17
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
18
|
-
xmlns:doc="org.blockml.bml.documentation">
|
|
6
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
19
7
|
|
|
20
8
|
<baseType>
|
|
21
9
|
core:Documentation
|
|
@@ -1,21 +1,8 @@
|
|
|
1
1
|
<!--Validator Documentation — PackageOwnership
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.documentation.PackageOwnership-->
|
|
3
3
|
<valdocumentation:PackageOwnership xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
8
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
9
4
|
xmlns:core="org.blockml.bml.core"
|
|
10
|
-
xmlns:def="org.blockml.bml.definition"
|
|
11
|
-
xmlns:framework="org.blockml.bml.framework"
|
|
12
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
13
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
14
|
-
xmlns:type="org.blockml.bml.type"
|
|
15
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
16
|
-
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
17
5
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
18
|
-
xmlns:doc="org.blockml.bml.documentation"
|
|
19
6
|
xmlns:bomdocumentation="org.blockml.bml.bom.documentation">
|
|
20
7
|
|
|
21
8
|
<baseType>
|
|
@@ -1,21 +1,10 @@
|
|
|
1
1
|
<!--Validator Documentation — PublicApi
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.documentation.PublicApi-->
|
|
3
3
|
<valdocumentation:PublicApi xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
4
|
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
8
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
9
5
|
xmlns:core="org.blockml.bml.core"
|
|
10
|
-
xmlns:def="org.blockml.bml.definition"
|
|
11
|
-
xmlns:framework="org.blockml.bml.framework"
|
|
12
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
13
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
14
|
-
xmlns:type="org.blockml.bml.type"
|
|
15
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
16
6
|
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
17
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
18
|
-
xmlns:doc="org.blockml.bml.documentation">
|
|
7
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
19
8
|
|
|
20
9
|
<baseType>
|
|
21
10
|
core:Documentation
|
|
@@ -1,21 +1,8 @@
|
|
|
1
1
|
<!--Validator Documentation — ScopeExclusions
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.documentation.ScopeExclusions-->
|
|
3
3
|
<valdocumentation:ScopeExclusions xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
8
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
9
4
|
xmlns:core="org.blockml.bml.core"
|
|
10
|
-
xmlns:
|
|
11
|
-
xmlns:framework="org.blockml.bml.framework"
|
|
12
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
13
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
14
|
-
xmlns:type="org.blockml.bml.type"
|
|
15
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
16
|
-
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
17
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
18
|
-
xmlns:doc="org.blockml.bml.documentation">
|
|
5
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
19
6
|
|
|
20
7
|
<baseType>
|
|
21
8
|
core:Documentation
|
|
@@ -1,21 +1,9 @@
|
|
|
1
1
|
<!--Validator Documentation — ValidationPipeline
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.documentation.ValidationPipeline-->
|
|
3
3
|
<valdocumentation:ValidationPipeline xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
8
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
9
4
|
xmlns:core="org.blockml.bml.core"
|
|
10
|
-
xmlns:def="org.blockml.bml.definition"
|
|
11
|
-
xmlns:framework="org.blockml.bml.framework"
|
|
12
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
13
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
14
|
-
xmlns:type="org.blockml.bml.type"
|
|
15
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
16
5
|
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
17
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
18
|
-
xmlns:doc="org.blockml.bml.documentation">
|
|
6
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
19
7
|
|
|
20
8
|
<baseType>
|
|
21
9
|
core:Documentation
|
|
@@ -1,22 +1,9 @@
|
|
|
1
1
|
<!--Validator Documentation — ValidityContract
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.documentation.ValidityContract-->
|
|
3
3
|
<valdocumentation:ValidityContract xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
8
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
9
4
|
xmlns:core="org.blockml.bml.core"
|
|
10
|
-
xmlns:def="org.blockml.bml.definition"
|
|
11
|
-
xmlns:framework="org.blockml.bml.framework"
|
|
12
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
13
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
14
|
-
xmlns:type="org.blockml.bml.type"
|
|
15
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
16
|
-
xmlns:valcap="org.blockml.bml.compiler.validator.capability"
|
|
17
5
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
18
|
-
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
19
|
-
xmlns:doc="org.blockml.bml.documentation">
|
|
6
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation">
|
|
20
7
|
|
|
21
8
|
<baseType>
|
|
22
9
|
core:Documentation
|
|
@@ -36,7 +23,9 @@
|
|
|
36
23
|
|
|
37
24
|
Semantic checks (this package / framework): every type FQN must resolve in the
|
|
38
25
|
TypeRegistry or be a well-known primitive; instance typeFqn and memberValues keys
|
|
39
|
-
must match effective members.
|
|
26
|
+
must match effective members. Composition children of a domain-Block aggregation
|
|
27
|
+
must satisfy the effective payload type (BML_TYPE_BOUND_NOT_SATISFIED).
|
|
28
|
+
Unresolved references are errors. A missing library
|
|
40
29
|
is BML_LIBRARY_RESOLVE_ERROR — analogous to a Java class without its Maven artifact.
|
|
41
30
|
|
|
42
31
|
Structural/semantic errors are node-local: they set success=false but keep the BOM
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<!--Validator Style Rule — OmitUnusedNamespace
|
|
2
|
+
FQN: org.blockml.bml.compiler.validator.style.OmitUnusedNamespace-->
|
|
3
|
+
<valstyle:OmitUnusedNamespace xmlns="http://blockml.org/bml"
|
|
4
|
+
xmlns:valstyle="org.blockml.bml.compiler.validator.style">
|
|
5
|
+
|
|
6
|
+
<baseType>
|
|
7
|
+
valstyle:StyleRule
|
|
8
|
+
</baseType>
|
|
9
|
+
<is>
|
|
10
|
+
Warn on unused root xmlns prefixes
|
|
11
|
+
</is>
|
|
12
|
+
<documentation>
|
|
13
|
+
<![CDATA[
|
|
14
|
+
Root xmlns:<prefix> declarations that do not address any type or annotation
|
|
15
|
+
used in the document should be omitted. Default xmlns is exempt. Emitted as
|
|
16
|
+
BML_STYLE_UNUSED_NAMESPACE (warning).
|
|
17
|
+
]]>
|
|
18
|
+
</documentation>
|
|
19
|
+
<properties>
|
|
20
|
+
<code override="true">
|
|
21
|
+
<value>BML_STYLE_UNUSED_NAMESPACE</value>
|
|
22
|
+
</code>
|
|
23
|
+
<severity override="true">
|
|
24
|
+
<value>warning</value>
|
|
25
|
+
</severity>
|
|
26
|
+
<appliesTo override="true">
|
|
27
|
+
<value>document root xmlns prefix</value>
|
|
28
|
+
</appliesTo>
|
|
29
|
+
<message override="true">
|
|
30
|
+
<value>Remove unused xmlns prefix declarations from the document root.</value>
|
|
31
|
+
</message>
|
|
32
|
+
</properties>
|
|
33
|
+
<aggregations>
|
|
34
|
+
<check override="true">
|
|
35
|
+
<composition>
|
|
36
|
+
<valstyle:PreferOmitUnusedNamespace />
|
|
37
|
+
</composition>
|
|
38
|
+
</check>
|
|
39
|
+
</aggregations>
|
|
40
|
+
</valstyle:OmitUnusedNamespace>
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
<!--Validator Style Check — PreferCDataWhenNeedsEscape
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.style.PreferCDataWhenNeedsEscape-->
|
|
3
3
|
<valstyle:PreferCDataWhenNeedsEscape xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:core="org.blockml.bml.core"
|
|
6
|
-
xmlns:def="org.blockml.bml.definition"
|
|
7
|
-
xmlns:type="org.blockml.bml.type"
|
|
8
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
9
4
|
xmlns:valstyle="org.blockml.bml.compiler.validator.style">
|
|
10
5
|
|
|
11
6
|
<baseType>
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
<!--Validator Style Check — PreferEmptyElementSelfClosing
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.style.PreferEmptyElementSelfClosing-->
|
|
3
3
|
<valstyle:PreferEmptyElementSelfClosing xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:core="org.blockml.bml.core"
|
|
6
|
-
xmlns:def="org.blockml.bml.definition"
|
|
7
|
-
xmlns:type="org.blockml.bml.type"
|
|
8
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
9
4
|
xmlns:valstyle="org.blockml.bml.compiler.validator.style">
|
|
10
5
|
|
|
11
6
|
<baseType>
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
<!--Validator Style Check — PreferMarkdownStructure
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.style.PreferMarkdownStructure-->
|
|
3
3
|
<valstyle:PreferMarkdownStructure xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:core="org.blockml.bml.core"
|
|
6
|
-
xmlns:def="org.blockml.bml.definition"
|
|
7
|
-
xmlns:type="org.blockml.bml.type"
|
|
8
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
9
4
|
xmlns:valstyle="org.blockml.bml.compiler.validator.style">
|
|
10
5
|
|
|
11
6
|
<baseType>
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
<style:PreferOmitRedundantName
|
|
6
|
-
xmlns="http://blockml.org/bml"
|
|
7
|
-
xmlns:style="org.blockml.bml.compiler.validator.style">
|
|
1
|
+
<!--Validator Style Check — PreferOmitRedundantName
|
|
2
|
+
FQN: org.blockml.bml.compiler.validator.style.PreferOmitRedundantName-->
|
|
3
|
+
<valstyle:PreferOmitRedundantName xmlns="http://blockml.org/bml"
|
|
4
|
+
xmlns:valstyle="org.blockml.bml.compiler.validator.style">
|
|
8
5
|
|
|
9
|
-
<
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
<baseType>
|
|
7
|
+
valstyle:StyleCheck
|
|
8
|
+
</baseType>
|
|
9
|
+
<is>
|
|
10
|
+
Warn when a preferred-form Block still declares a name child
|
|
11
|
+
</is>
|
|
12
|
+
<documentation>
|
|
13
|
+
Matches any preferred-form definition (root, Sub-Block, or embed)
|
|
12
14
|
that still authors a child name element. The tag already supplies the
|
|
13
|
-
name (doc:DocumentFormat)
|
|
14
|
-
|
|
15
|
-
</
|
|
15
|
+
name (doc:DocumentFormat).
|
|
16
|
+
</documentation>
|
|
17
|
+
</valstyle:PreferOmitRedundantName>
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
<style:PreferOmitRedundantType
|
|
6
|
-
xmlns="http://blockml.org/bml"
|
|
7
|
-
xmlns:style="org.blockml.bml.compiler.validator.style">
|
|
1
|
+
<!--Validator Style Check — PreferOmitRedundantType
|
|
2
|
+
FQN: org.blockml.bml.compiler.validator.style.PreferOmitRedundantType-->
|
|
3
|
+
<valstyle:PreferOmitRedundantType xmlns="http://blockml.org/bml"
|
|
4
|
+
xmlns:valstyle="org.blockml.bml.compiler.validator.style">
|
|
8
5
|
|
|
9
|
-
<
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
<baseType>
|
|
7
|
+
valstyle:StyleCheck
|
|
8
|
+
</baseType>
|
|
9
|
+
<is>
|
|
10
|
+
Warn when a preferred-form Block still declares a type child
|
|
11
|
+
</is>
|
|
12
|
+
<documentation>
|
|
13
|
+
Matches any preferred-form definition (root, Sub-Block, or embed)
|
|
12
14
|
that still authors a child type element. The tag already supplies the
|
|
13
|
-
type, or the Sub-Block type is derived (doc:DocumentFormat)
|
|
14
|
-
|
|
15
|
-
</
|
|
15
|
+
type, or the Sub-Block type is derived (doc:DocumentFormat).
|
|
16
|
+
</documentation>
|
|
17
|
+
</valstyle:PreferOmitRedundantType>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<!--Validator Style Check — PreferOmitUnusedNamespace
|
|
2
|
+
FQN: org.blockml.bml.compiler.validator.style.PreferOmitUnusedNamespace-->
|
|
3
|
+
<valstyle:PreferOmitUnusedNamespace xmlns="http://blockml.org/bml"
|
|
4
|
+
xmlns:valstyle="org.blockml.bml.compiler.validator.style">
|
|
5
|
+
|
|
6
|
+
<baseType>
|
|
7
|
+
valstyle:StyleCheck
|
|
8
|
+
</baseType>
|
|
9
|
+
<is>
|
|
10
|
+
Warn when a root xmlns prefix is never used
|
|
11
|
+
</is>
|
|
12
|
+
<documentation>
|
|
13
|
+
<![CDATA[
|
|
14
|
+
Matches a document-root xmlns:<prefix> binding whose prefix is never used as a
|
|
15
|
+
type QName, annotation namespace, or xsi schemaLocation host.
|
|
16
|
+
|
|
17
|
+
The default xmlns is never unused. Implicit documentation language (default
|
|
18
|
+
English) and see relation= local names (SeeAlso, ReadNext, …) do not count —
|
|
19
|
+
they resolve to org.blockml.bml.language / org.blockml.bml.relation without an
|
|
20
|
+
authored QName. An ancestor package prefix such as blockml (org.blockml.bml)
|
|
21
|
+
is used only when a type or language element is actually written with that
|
|
22
|
+
prefix.
|
|
23
|
+
|
|
24
|
+
Style warning only — does not fail ValidateResult.success.
|
|
25
|
+
]]>
|
|
26
|
+
</documentation>
|
|
27
|
+
</valstyle:PreferOmitUnusedNamespace>
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
<style:PreferTypeAsTag
|
|
6
|
-
xmlns="http://blockml.org/bml"
|
|
7
|
-
xmlns:style="org.blockml.bml.compiler.validator.style">
|
|
1
|
+
<!--Validator Style Check — PreferTypeAsTag
|
|
2
|
+
FQN: org.blockml.bml.compiler.validator.style.PreferTypeAsTag-->
|
|
3
|
+
<valstyle:PreferTypeAsTag xmlns="http://blockml.org/bml"
|
|
4
|
+
xmlns:valstyle="org.blockml.bml.compiler.validator.style">
|
|
8
5
|
|
|
9
|
-
<
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
<baseType>
|
|
7
|
+
valstyle:StyleCheck
|
|
8
|
+
</baseType>
|
|
9
|
+
<is>
|
|
10
|
+
Warn when a definition still uses the legacy block wrapper
|
|
11
|
+
</is>
|
|
12
|
+
<documentation>
|
|
13
|
+
Matches a BlockDefinition whose wrapperForm is block — the legacy
|
|
12
14
|
definition wrapper. Preferred form uses the type (root / embed) or name
|
|
13
|
-
(Sub-Block) as the element tag (doc:DocumentFormat)
|
|
14
|
-
|
|
15
|
-
</
|
|
15
|
+
(Sub-Block) as the element tag (doc:DocumentFormat).
|
|
16
|
+
</documentation>
|
|
17
|
+
</valstyle:PreferTypeAsTag>
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
<!--Validator Style — StyleCheck
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.style.StyleCheck-->
|
|
3
3
|
<valstyle:StyleCheck xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:core="org.blockml.bml.core"
|
|
6
|
-
xmlns:def="org.blockml.bml.definition"
|
|
7
|
-
xmlns:type="org.blockml.bml.type"
|
|
8
4
|
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
9
5
|
xmlns:valstyle="org.blockml.bml.compiler.validator.style">
|
|
10
6
|
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
<!--Validator Style — StyleRule
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.style.StyleRule-->
|
|
3
3
|
<valstyle:StyleRule xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
4
|
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
7
|
-
xmlns:core="org.blockml.bml.core"
|
|
8
|
-
xmlns:def="org.blockml.bml.definition"
|
|
9
5
|
xmlns:type="org.blockml.bml.type"
|
|
10
6
|
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
11
|
-
xmlns:valstyle="org.blockml.bml.compiler.validator.style"
|
|
12
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
7
|
+
xmlns:valstyle="org.blockml.bml.compiler.validator.style">
|
|
13
8
|
|
|
14
9
|
<baseType>
|
|
15
10
|
validator:ValidatorType
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
<!--Validator Style Rule — CDataWhenEscaping
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.style.CDataWhenEscaping-->
|
|
3
3
|
<valstyle:CDataWhenEscaping xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
7
|
-
xmlns:core="org.blockml.bml.core"
|
|
8
|
-
xmlns:def="org.blockml.bml.definition"
|
|
9
|
-
xmlns:type="org.blockml.bml.type"
|
|
10
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
11
4
|
xmlns:valstyle="org.blockml.bml.compiler.validator.style">
|
|
12
5
|
|
|
13
6
|
<baseType>
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
<!--Validator Style Rule — EmptyElementSelfClosing
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.style.EmptyElementSelfClosing-->
|
|
3
3
|
<valstyle:EmptyElementSelfClosing xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
7
|
-
xmlns:core="org.blockml.bml.core"
|
|
8
|
-
xmlns:def="org.blockml.bml.definition"
|
|
9
|
-
xmlns:type="org.blockml.bml.type"
|
|
10
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
11
4
|
xmlns:valstyle="org.blockml.bml.compiler.validator.style">
|
|
12
5
|
|
|
13
6
|
<baseType>
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
<!--Validator Style Rule — MarkdownStructure
|
|
2
2
|
FQN: org.blockml.bml.compiler.validator.style.MarkdownStructure-->
|
|
3
3
|
<valstyle:MarkdownStructure xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
7
|
-
xmlns:core="org.blockml.bml.core"
|
|
8
|
-
xmlns:def="org.blockml.bml.definition"
|
|
9
|
-
xmlns:type="org.blockml.bml.type"
|
|
10
|
-
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
11
4
|
xmlns:valstyle="org.blockml.bml.compiler.validator.style">
|
|
12
5
|
|
|
13
6
|
<baseType>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Validator Style Rule — OmitUnusedNamespace
|
|
3
|
+
FQN: org.blockml.bml.compiler.validator.style.OmitUnusedNamespace
|
|
4
|
+
-->
|
|
5
|
+
<style:OmitUnusedNamespace
|
|
6
|
+
xmlns="http://blockml.org/bml"
|
|
7
|
+
xmlns:style="org.blockml.bml.compiler.validator.style">
|
|
8
|
+
|
|
9
|
+
<baseType>style:StyleRule</baseType>
|
|
10
|
+
<is>Warn on unused root xmlns prefixes</is>
|
|
11
|
+
|
|
12
|
+
<documentation>Root xmlns prefix declarations that do not address any type or
|
|
13
|
+
annotation used in the document should be omitted.</documentation>
|
|
14
|
+
|
|
15
|
+
<properties>
|
|
16
|
+
<code override="true">
|
|
17
|
+
<value>BML_STYLE_UNUSED_NAMESPACE</value>
|
|
18
|
+
</code>
|
|
19
|
+
<severity override="true">
|
|
20
|
+
<value>warning</value>
|
|
21
|
+
</severity>
|
|
22
|
+
<appliesTo override="true">
|
|
23
|
+
<value>document root xmlns prefix</value>
|
|
24
|
+
</appliesTo>
|
|
25
|
+
<message override="true">
|
|
26
|
+
<value>Remove unused xmlns prefix declarations from the document root.</value>
|
|
27
|
+
</message>
|
|
28
|
+
</properties>
|
|
29
|
+
|
|
30
|
+
<aggregations>
|
|
31
|
+
<check override="true">
|
|
32
|
+
<composition>
|
|
33
|
+
<style:PreferOmitUnusedNamespace />
|
|
34
|
+
</composition>
|
|
35
|
+
</check>
|
|
36
|
+
</aggregations>
|
|
37
|
+
|
|
38
|
+
</style:OmitUnusedNamespace>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-style.d.ts","sourceRoot":"","sources":["../src/validate-style.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"validate-style.d.ts","sourceRoot":"","sources":["../src/validate-style.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,WAAW,EAGX,UAAU,EACV,kBAAkB,EAOnB,MAAM,cAAc,CAAC;AAItB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAwiBD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,WAAW,GAAG,UAAU,EAAE,CAuBjE"}
|
package/dist/validate-style.js
CHANGED
|
@@ -45,6 +45,13 @@ const FALLBACK_RULES = [
|
|
|
45
45
|
message: "Omit child name when the element tag already supplies the name.",
|
|
46
46
|
check: "PreferOmitRedundantName",
|
|
47
47
|
},
|
|
48
|
+
{
|
|
49
|
+
name: "OmitUnusedNamespace",
|
|
50
|
+
code: "BML_STYLE_UNUSED_NAMESPACE",
|
|
51
|
+
severity: "warning",
|
|
52
|
+
message: "Remove unused xmlns prefix declarations from the document root.",
|
|
53
|
+
check: "PreferOmitUnusedNamespace",
|
|
54
|
+
},
|
|
48
55
|
];
|
|
49
56
|
function styleRuleDir() {
|
|
50
57
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
@@ -121,6 +128,264 @@ function collectReferences(block) {
|
|
|
121
128
|
}
|
|
122
129
|
return refs;
|
|
123
130
|
}
|
|
131
|
+
const BML_ANNOTATION = "org.blockml.bml.annotation.BmlAnnotation";
|
|
132
|
+
const XSI_NS = "http://www.w3.org/2001/XMLSchema-instance";
|
|
133
|
+
function addId(used, value) {
|
|
134
|
+
const trimmed = value?.trim();
|
|
135
|
+
if (trimmed) {
|
|
136
|
+
used.add(trimmed);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
function addEntity(used, entity) {
|
|
140
|
+
addId(used, entity?.value);
|
|
141
|
+
addId(used, entity?.typeFqn);
|
|
142
|
+
}
|
|
143
|
+
function addExpr(used, expr) {
|
|
144
|
+
if (!expr) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
switch (expr.kind) {
|
|
148
|
+
case "named":
|
|
149
|
+
addId(used, expr.fqn);
|
|
150
|
+
for (const arg of expr.typeArguments ?? []) {
|
|
151
|
+
addExpr(used, arg);
|
|
152
|
+
}
|
|
153
|
+
break;
|
|
154
|
+
case "union":
|
|
155
|
+
for (const alt of expr.alternatives) {
|
|
156
|
+
addExpr(used, alt);
|
|
157
|
+
}
|
|
158
|
+
break;
|
|
159
|
+
case "grouped":
|
|
160
|
+
addExpr(used, expr.expression);
|
|
161
|
+
break;
|
|
162
|
+
case "anonymousStruct":
|
|
163
|
+
for (const field of expr.fields) {
|
|
164
|
+
addExpr(used, field.type);
|
|
165
|
+
}
|
|
166
|
+
break;
|
|
167
|
+
default:
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
function addUnknown(used, prefixes, nodes) {
|
|
172
|
+
for (const node of nodes ?? []) {
|
|
173
|
+
if (node.prefix) {
|
|
174
|
+
prefixes.add(node.prefix);
|
|
175
|
+
}
|
|
176
|
+
for (const name of Object.keys(node.attributes)) {
|
|
177
|
+
const idx = name.indexOf(":");
|
|
178
|
+
if (idx > 0 && name.slice(0, idx) !== "xmlns") {
|
|
179
|
+
prefixes.add(name.slice(0, idx));
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
function addBmlAnnotation(used) {
|
|
185
|
+
used.add(BML_ANNOTATION);
|
|
186
|
+
}
|
|
187
|
+
function addInstance(used, prefixes, instance) {
|
|
188
|
+
addId(used, instance.typeFqn);
|
|
189
|
+
if (instance.id !== undefined ||
|
|
190
|
+
instance.version !== undefined ||
|
|
191
|
+
instance.bean !== undefined ||
|
|
192
|
+
instance.scope !== undefined ||
|
|
193
|
+
instance.generics !== undefined) {
|
|
194
|
+
addBmlAnnotation(used);
|
|
195
|
+
}
|
|
196
|
+
for (const name of Object.keys(instance.unknownAttributes ?? {})) {
|
|
197
|
+
const idx = name.indexOf(":");
|
|
198
|
+
if (idx > 0) {
|
|
199
|
+
prefixes.add(name.slice(0, idx));
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
for (const nested of instance.aggregationCompositions ?? []) {
|
|
203
|
+
addComposition(used, prefixes, nested.composition);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
function addComposition(used, prefixes, composition) {
|
|
207
|
+
if (!composition) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
if (composition.directives?.length || composition.generics) {
|
|
211
|
+
addBmlAnnotation(used);
|
|
212
|
+
}
|
|
213
|
+
for (const child of composition.children) {
|
|
214
|
+
addCompositionNode(used, prefixes, child);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
function addCompositionNode(used, prefixes, node) {
|
|
218
|
+
if (node.kind === "blockInstance") {
|
|
219
|
+
if (node.directives?.length) {
|
|
220
|
+
addBmlAnnotation(used);
|
|
221
|
+
}
|
|
222
|
+
addInstance(used, prefixes, node.instance);
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
if (node.directives?.length || node.generics) {
|
|
226
|
+
addBmlAnnotation(used);
|
|
227
|
+
}
|
|
228
|
+
for (const child of node.children) {
|
|
229
|
+
addCompositionNode(used, prefixes, child);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
function addMember(used, prefixes, member) {
|
|
233
|
+
addId(used, member.namespace);
|
|
234
|
+
if (member.generics || member.xmlRendering) {
|
|
235
|
+
addBmlAnnotation(used);
|
|
236
|
+
}
|
|
237
|
+
for (const ref of member.references ?? []) {
|
|
238
|
+
addId(used, ref.type);
|
|
239
|
+
addId(used, ref.languageFqn);
|
|
240
|
+
}
|
|
241
|
+
for (const keyword of member.keywords ?? []) {
|
|
242
|
+
addId(used, keyword.typeFqn);
|
|
243
|
+
addId(used, keyword.languageFqn);
|
|
244
|
+
}
|
|
245
|
+
for (const prose of member.documentations ?? []) {
|
|
246
|
+
addId(used, prose.namespace);
|
|
247
|
+
}
|
|
248
|
+
addUnknown(used, prefixes, member.unknownElements);
|
|
249
|
+
for (const name of Object.keys(member.unknownAttributes ?? {})) {
|
|
250
|
+
const idx = name.indexOf(":");
|
|
251
|
+
if (idx > 0) {
|
|
252
|
+
prefixes.add(name.slice(0, idx));
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
switch (member.kind) {
|
|
256
|
+
case "property":
|
|
257
|
+
addId(used, member.typeFqn);
|
|
258
|
+
addExpr(used, member.type);
|
|
259
|
+
for (const entry of member.values ?? []) {
|
|
260
|
+
addId(used, entry.namespace);
|
|
261
|
+
}
|
|
262
|
+
for (const group of member.groups ?? []) {
|
|
263
|
+
addEntity(used, group);
|
|
264
|
+
}
|
|
265
|
+
for (const suggestion of member.suggestions ?? []) {
|
|
266
|
+
addInstance(used, prefixes, suggestion);
|
|
267
|
+
}
|
|
268
|
+
break;
|
|
269
|
+
case "aggregation":
|
|
270
|
+
addExpr(used, member.type);
|
|
271
|
+
addComposition(used, prefixes, member.composition);
|
|
272
|
+
for (const group of member.groups ?? []) {
|
|
273
|
+
addEntity(used, group);
|
|
274
|
+
}
|
|
275
|
+
break;
|
|
276
|
+
case "association":
|
|
277
|
+
addExpr(used, member.type);
|
|
278
|
+
break;
|
|
279
|
+
case "capability":
|
|
280
|
+
addId(used, member.typeFqn);
|
|
281
|
+
addExpr(used, member.inputType);
|
|
282
|
+
addExpr(used, member.outputType);
|
|
283
|
+
addId(used, member.implementation?.languageFqn);
|
|
284
|
+
for (const thrown of member.throws ?? []) {
|
|
285
|
+
addEntity(used, thrown);
|
|
286
|
+
}
|
|
287
|
+
break;
|
|
288
|
+
}
|
|
289
|
+
for (const constraint of member.constraints ?? []) {
|
|
290
|
+
addInstance(used, prefixes, constraint);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
function collectUsedNamespaceTargets(block, prefixes, used) {
|
|
294
|
+
addId(used, block.type);
|
|
295
|
+
addId(used, block.baseType);
|
|
296
|
+
addExpr(used, block.baseTypeExpression);
|
|
297
|
+
addEntity(used, block.language);
|
|
298
|
+
addId(used, block.languageFqn);
|
|
299
|
+
addId(used, block.definitionFqn);
|
|
300
|
+
if (block.generics || block.xmlRendering) {
|
|
301
|
+
addBmlAnnotation(used);
|
|
302
|
+
}
|
|
303
|
+
for (const contract of block.contracts ?? []) {
|
|
304
|
+
addEntity(used, contract);
|
|
305
|
+
}
|
|
306
|
+
for (const generic of block.genericTypes ?? []) {
|
|
307
|
+
addId(used, generic.baseType);
|
|
308
|
+
addId(used, generic.defaultType);
|
|
309
|
+
}
|
|
310
|
+
for (const alias of block.aliases ?? []) {
|
|
311
|
+
addId(used, alias.typeFqn);
|
|
312
|
+
addId(used, alias.languageFqn);
|
|
313
|
+
}
|
|
314
|
+
for (const keyword of block.keywords ?? []) {
|
|
315
|
+
addId(used, keyword.typeFqn);
|
|
316
|
+
addId(used, keyword.languageFqn);
|
|
317
|
+
}
|
|
318
|
+
for (const prose of block.documentations ?? []) {
|
|
319
|
+
addId(used, prose.namespace);
|
|
320
|
+
}
|
|
321
|
+
for (const example of block.examples ?? []) {
|
|
322
|
+
addId(used, example.namespace);
|
|
323
|
+
addId(used, example.contentLanguageFqn);
|
|
324
|
+
}
|
|
325
|
+
for (const ref of block.references ?? []) {
|
|
326
|
+
addId(used, ref.type);
|
|
327
|
+
addId(used, ref.languageFqn);
|
|
328
|
+
}
|
|
329
|
+
addUnknown(used, prefixes, block.unknownElements);
|
|
330
|
+
for (const name of Object.keys(block.unknownAttributes ?? {})) {
|
|
331
|
+
const idx = name.indexOf(":");
|
|
332
|
+
if (idx > 0) {
|
|
333
|
+
prefixes.add(name.slice(0, idx));
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
for (const member of block.members) {
|
|
337
|
+
addMember(used, prefixes, member);
|
|
338
|
+
}
|
|
339
|
+
for (const composition of block.compositions) {
|
|
340
|
+
addComposition(used, prefixes, composition);
|
|
341
|
+
}
|
|
342
|
+
for (const constraint of block.constraints ?? []) {
|
|
343
|
+
addInstance(used, prefixes, constraint);
|
|
344
|
+
}
|
|
345
|
+
for (const sub of block.subBlocks) {
|
|
346
|
+
collectUsedNamespaceTargets(sub, prefixes, used);
|
|
347
|
+
}
|
|
348
|
+
for (const embedded of block.embeddedBlocks) {
|
|
349
|
+
collectUsedNamespaceTargets(embedded, prefixes, used);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
function prefixesUsedByTargets(bindings, usedIds) {
|
|
353
|
+
const used = new Set();
|
|
354
|
+
for (const id of usedIds) {
|
|
355
|
+
let best;
|
|
356
|
+
let bestLen = -1;
|
|
357
|
+
for (const [prefix, binding] of Object.entries(bindings)) {
|
|
358
|
+
if (!prefix) {
|
|
359
|
+
continue;
|
|
360
|
+
}
|
|
361
|
+
if (id === binding || id.startsWith(`${binding}.`)) {
|
|
362
|
+
if (binding.length > bestLen) {
|
|
363
|
+
bestLen = binding.length;
|
|
364
|
+
best = prefix;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
if (best) {
|
|
369
|
+
used.add(best);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
return used;
|
|
373
|
+
}
|
|
374
|
+
function unusedRootPrefixes(document) {
|
|
375
|
+
const bindings = document.source.namespaceBindings ?? {};
|
|
376
|
+
const usedPrefixes = new Set();
|
|
377
|
+
const usedIds = new Set();
|
|
378
|
+
collectUsedNamespaceTargets(document.block, usedPrefixes, usedIds);
|
|
379
|
+
if (document.source.schemaLocation || document.source.noNamespaceSchemaLocation) {
|
|
380
|
+
usedIds.add(XSI_NS);
|
|
381
|
+
}
|
|
382
|
+
for (const prefix of prefixesUsedByTargets(bindings, usedIds)) {
|
|
383
|
+
usedPrefixes.add(prefix);
|
|
384
|
+
}
|
|
385
|
+
return Object.keys(bindings)
|
|
386
|
+
.filter((prefix) => prefix !== "" && !usedPrefixes.has(prefix))
|
|
387
|
+
.sort();
|
|
388
|
+
}
|
|
124
389
|
function runPreferTypeAsTag(rule, block, _role, file, out) {
|
|
125
390
|
if (block.wrapperForm === "block") {
|
|
126
391
|
out.push(styleDiag(rule, file, block.source));
|
|
@@ -157,6 +422,17 @@ function runPreferSelfClosing(rule, block, _role, file, out) {
|
|
|
157
422
|
}
|
|
158
423
|
}
|
|
159
424
|
}
|
|
425
|
+
function runPreferOmitUnusedNamespace(rule, document, out) {
|
|
426
|
+
const file = document.source.filePath;
|
|
427
|
+
for (const prefix of unusedRootPrefixes(document)) {
|
|
428
|
+
out.push({
|
|
429
|
+
severity: rule.severity,
|
|
430
|
+
code: rule.code,
|
|
431
|
+
message: `Unused xmlns prefix '${prefix}'.`,
|
|
432
|
+
source: loc(file, document.block.source),
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
}
|
|
160
436
|
const INTERPRETERS = {
|
|
161
437
|
PreferCDataWhenNeedsEscape: runPreferCData,
|
|
162
438
|
PreferMarkdownStructure: runPreferMarkdown,
|
|
@@ -169,6 +445,10 @@ export function validateStyle(document) {
|
|
|
169
445
|
const file = document.source.filePath;
|
|
170
446
|
const diagnostics = [];
|
|
171
447
|
for (const rule of loadStyleCatalog()) {
|
|
448
|
+
if (rule.check === "PreferOmitUnusedNamespace") {
|
|
449
|
+
runPreferOmitUnusedNamespace(rule, document, diagnostics);
|
|
450
|
+
continue;
|
|
451
|
+
}
|
|
172
452
|
const run = INTERPRETERS[rule.check];
|
|
173
453
|
if (!run) {
|
|
174
454
|
diagnostics.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-style.js","sourceRoot":"","sources":["../src/validate-style.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate-style.js","sourceRoot":"","sources":["../src/validate-style.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blockml/validator",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.10",
|
|
4
4
|
"description": "BlockML validator — semantic validation of BOM documents",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
"test": "vitest run packages/validator/test"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@blockml/bom": "^0.9.
|
|
36
|
-
"@blockml/core": "^1.
|
|
37
|
-
"@blockml/framework": "^0.9.
|
|
35
|
+
"@blockml/bom": "^0.9.10",
|
|
36
|
+
"@blockml/core": "^1.4.0",
|
|
37
|
+
"@blockml/framework": "^0.9.10"
|
|
38
38
|
},
|
|
39
39
|
"engines": {
|
|
40
40
|
"node": ">=20"
|