@blockml/parser 0.9.4 → 0.9.5
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/parser/Library.bml +19 -26
- package/blocks/org/blockml/bml/compiler/parser/ParserType.bml +16 -20
- package/blocks/org/blockml/bml/compiler/parser/README.bml +14 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/AssertBlockRoot.bml +23 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/BuildSubBlockIndex.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/CollectLeadingComments.bml +22 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/CollectTrailingComments.bml +22 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/ContainsUnescapedInterpolation.bml +26 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/CreateMapContext.bml +28 -24
- package/blocks/org/blockml/bml/compiler/parser/capability/DetectFormat.bml +19 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/DocumentElement.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementChildren.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementLocalName.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementPrefix.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementSourceLoc.bml +25 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementStartTagIsSelfClosing.bml +23 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/ExpressionFromRaw.bml +22 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/ExtractNamespaceBindings.bml +20 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/FqnToQName.bml +22 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/GetAttribute.bml +22 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/GetCharacterData.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/GetParseErrors.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/HasBmlSemanticQNameBindings.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/InferCardinality.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/IsBooleanLiteral.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/IsCData.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/IsComment.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/IsDocumentRootLocalName.bml +57 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/IsElement.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/IsTextNode.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/IsTypeReferenceEntitySugar.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/MapBlock.bml +22 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/MapBlockInstanceNode.bml +22 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/MapCompositionTemplate.bml +22 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/MapDocumentBlock.bml +25 -23
- package/blocks/org/blockml/bml/compiler/parser/capability/MapTypeReferenceEntityInstance.bml +22 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/MergeSourceInfo.bml +25 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/NormalizeBooleanValue.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/Parse.bml +22 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseBmlMeta.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseBooleanAttribute.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseDirectives.bml +23 -23
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseGenericArgumentList.bml +23 -23
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseGenericsBinding.bml +23 -23
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseMemberValue.bml +35 -27
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseTypeExpression.bml +25 -23
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseVisibilityFromName.bml +19 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseXmlDom.bml +22 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/ResolveBlockReference.bml +25 -23
- package/blocks/org/blockml/bml/compiler/parser/capability/ResolvePrefix.bml +22 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/ResolveTypeName.bml +25 -23
- package/blocks/org/blockml/bml/compiler/parser/capability/SourceLoc.bml +25 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/SplitQName.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/TrimText.bml +18 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/TypeExpressionToString.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/VisibilityPrefix.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/XmlTriviaFromElement.bml +19 -21
- package/blocks/org/blockml/bml/compiler/parser/config/MapTimeDiagnosticCodes.bml +16 -19
- package/blocks/org/blockml/bml/compiler/parser/config/ParserConstants.bml +25 -22
- package/blocks/org/blockml/bml/compiler/parser/documentation/ArchitectureOverview.bml +21 -23
- package/blocks/org/blockml/bml/compiler/parser/documentation/AttributeClassification.bml +18 -23
- package/blocks/org/blockml/bml/compiler/parser/documentation/BlockMetadataMapping.bml +23 -21
- package/blocks/org/blockml/bml/compiler/parser/documentation/DesignDecisions.bml +16 -21
- package/blocks/org/blockml/bml/compiler/parser/documentation/Diagnostics.bml +24 -24
- package/blocks/org/blockml/bml/compiler/parser/documentation/ExpressionCapture.bml +20 -23
- package/blocks/org/blockml/bml/compiler/parser/documentation/Introduction.bml +17 -22
- package/blocks/org/blockml/bml/compiler/parser/documentation/LayerSeparation.bml +19 -24
- package/blocks/org/blockml/bml/compiler/parser/documentation/MappingPrinciples.bml +16 -21
- package/blocks/org/blockml/bml/compiler/parser/documentation/MemberMapping.bml +17 -20
- package/blocks/org/blockml/bml/compiler/parser/documentation/MemberMappingOrder.bml +16 -21
- package/blocks/org/blockml/bml/compiler/parser/documentation/PackageOwnership.bml +17 -22
- package/blocks/org/blockml/bml/compiler/parser/documentation/PublicApi.bml +19 -22
- package/blocks/org/blockml/bml/compiler/parser/documentation/RoundtripContract.bml +16 -21
- package/blocks/org/blockml/bml/compiler/parser/documentation/ScopeExclusions.bml +16 -21
- package/blocks/org/blockml/bml/compiler/parser/documentation/SingleFileScope.bml +16 -21
- package/blocks/org/blockml/bml/compiler/parser/documentation/StructuralGrammar.bml +18 -23
- package/blocks/org/blockml/bml/compiler/parser/documentation/TypeDescriptorParsing.bml +15 -20
- package/blocks/org/blockml/bml/compiler/parser/documentation/V1Scope.bml +18 -21
- package/blocks/org/blockml/bml/compiler/parser/documentation/XmlCommentsParse.bml +18 -21
- package/blocks/org/blockml/bml/compiler/parser/map/BmlMeta.bml +25 -22
- package/blocks/org/blockml/bml/compiler/parser/map/CharacterData.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/map/MapContext.bml +40 -27
- package/blocks/org/blockml/bml/compiler/parser/map/MapContextOptions.bml +31 -24
- package/blocks/org/blockml/bml/compiler/parser/map/QNameParts.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/map/VisibilityParse.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/map/XmlDomNode.bml +13 -17
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/map/directives.d.ts.map +1 -1
- package/dist/map/directives.js +2 -2
- package/dist/map/directives.js.map +1 -1
- package/dist/map/interpolation-escape.d.ts +11 -0
- package/dist/map/interpolation-escape.d.ts.map +1 -0
- package/dist/map/interpolation-escape.js +87 -0
- package/dist/map/interpolation-escape.js.map +1 -0
- package/dist/map/map-block.d.ts.map +1 -1
- package/dist/map/map-block.js +102 -6
- package/dist/map/map-block.js.map +1 -1
- package/dist/map/member-value.d.ts +1 -1
- package/dist/map/member-value.d.ts.map +1 -1
- package/dist/map/member-value.js +4 -11
- package/dist/map/member-value.js.map +1 -1
- package/dist/pipeline/namespaces.d.ts.map +1 -1
- package/dist/pipeline/namespaces.js +3 -0
- package/dist/pipeline/namespaces.js.map +1 -1
- package/dist/pipeline/root-type.d.ts +3 -0
- package/dist/pipeline/root-type.d.ts.map +1 -1
- package/dist/pipeline/root-type.js +16 -3
- package/dist/pipeline/root-type.js.map +1 -1
- package/package.json +3 -3
|
@@ -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
|
+
<!--Parser Capability — SplitQName
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.capability.SplitQName-->
|
|
3
|
+
<parcap:SplitQName 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"
|
|
@@ -29,20 +23,25 @@
|
|
|
29
23
|
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
31
25
|
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<is>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
26
|
+
<baseType>
|
|
27
|
+
core:Capability
|
|
28
|
+
</baseType>
|
|
29
|
+
<is>
|
|
30
|
+
Split prefixed QName into prefix and local name
|
|
31
|
+
</is>
|
|
32
|
+
<documentation>
|
|
33
|
+
Split prefixed QName into prefix and local name
|
|
34
|
+
</documentation>
|
|
39
35
|
<properties>
|
|
40
36
|
<qname type="type:Text">
|
|
41
|
-
<documentation>
|
|
37
|
+
<documentation>
|
|
38
|
+
qname. TS type: type:Text. (required)
|
|
39
|
+
</documentation>
|
|
42
40
|
</qname>
|
|
43
41
|
<parts type="parmap:QNameParts">
|
|
44
|
-
<documentation>
|
|
42
|
+
<documentation>
|
|
43
|
+
parts. TS type: parmap:QNameParts. (required)
|
|
44
|
+
</documentation>
|
|
45
45
|
</parts>
|
|
46
46
|
</properties>
|
|
47
|
-
|
|
48
|
-
</block>
|
|
47
|
+
</parcap:SplitQName>
|
|
@@ -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
|
+
<!--Parser Capability — TrimText
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.capability.TrimText-->
|
|
3
|
+
<parcap:TrimText 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"
|
|
@@ -29,26 +23,29 @@
|
|
|
29
23
|
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
31
25
|
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<is>
|
|
36
|
-
|
|
26
|
+
<baseType>
|
|
27
|
+
core:Capability
|
|
28
|
+
</baseType>
|
|
29
|
+
<is>
|
|
30
|
+
Strip common leading indent, then trim, from text node value
|
|
31
|
+
</is>
|
|
37
32
|
<documentation>
|
|
38
33
|
Strip the longest leading whitespace prefix shared by non-empty lines (pretty-print indent), then trim surrounding whitespace. Relative extra indent on individual lines is kept.
|
|
39
|
-
|
|
34
|
+
|
|
40
35
|
If the first line has non-whitespace and no leading space or tab (text glued to the opening tag), that line is excluded from the prefix calculation. One or more leading spaces or tabs on that same line mean the first line counts. A whitespace-only first line is ignored like any blank line.
|
|
41
|
-
|
|
36
|
+
|
|
42
37
|
Used by GetCharacterData for documentation prose and other character-data hosts (B13).
|
|
43
38
|
</documentation>
|
|
44
|
-
|
|
45
39
|
<properties>
|
|
46
40
|
<value type="type:Text">
|
|
47
|
-
<documentation>
|
|
41
|
+
<documentation>
|
|
42
|
+
value. TS type: type:Text. (required)
|
|
43
|
+
</documentation>
|
|
48
44
|
</value>
|
|
49
45
|
<trimmed type="type:Text">
|
|
50
|
-
<documentation>
|
|
46
|
+
<documentation>
|
|
47
|
+
trimmed. TS type: type:Text. (required)
|
|
48
|
+
</documentation>
|
|
51
49
|
</trimmed>
|
|
52
50
|
</properties>
|
|
53
|
-
|
|
54
|
-
</block>
|
|
51
|
+
</parcap:TrimText>
|
|
@@ -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
|
+
<!--Parser Capability — TypeExpressionToString
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.capability.TypeExpressionToString-->
|
|
3
|
+
<parcap:TypeExpressionToString 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"
|
|
@@ -29,20 +23,25 @@
|
|
|
29
23
|
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
31
25
|
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<is>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
26
|
+
<baseType>
|
|
27
|
+
core:Capability
|
|
28
|
+
</baseType>
|
|
29
|
+
<is>
|
|
30
|
+
Serialize TypeExpression back to attribute string (internal/debug)
|
|
31
|
+
</is>
|
|
32
|
+
<documentation>
|
|
33
|
+
Serialize TypeExpression back to attribute string (internal/debug)
|
|
34
|
+
</documentation>
|
|
39
35
|
<properties>
|
|
40
36
|
<type type="bomtype:TypeExpression">
|
|
41
|
-
<documentation>
|
|
37
|
+
<documentation>
|
|
38
|
+
type. TS type: bomtype:TypeExpression. (required)
|
|
39
|
+
</documentation>
|
|
42
40
|
</type>
|
|
43
41
|
<text type="type:Text">
|
|
44
|
-
<documentation>
|
|
42
|
+
<documentation>
|
|
43
|
+
text. TS type: type:Text. (required)
|
|
44
|
+
</documentation>
|
|
45
45
|
</text>
|
|
46
46
|
</properties>
|
|
47
|
-
|
|
48
|
-
</block>
|
|
47
|
+
</parcap:TypeExpressionToString>
|
|
@@ -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
|
+
<!--Parser Capability — VisibilityPrefix
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.capability.VisibilityPrefix-->
|
|
3
|
+
<parcap:VisibilityPrefix 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"
|
|
@@ -29,20 +23,25 @@
|
|
|
29
23
|
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
31
25
|
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<is>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
26
|
+
<baseType>
|
|
27
|
+
core:Capability
|
|
28
|
+
</baseType>
|
|
29
|
+
<is>
|
|
30
|
+
Map visibility enum to XML prefix (shared with serializer util)
|
|
31
|
+
</is>
|
|
32
|
+
<documentation>
|
|
33
|
+
Map visibility enum to XML prefix (shared with serializer util)
|
|
34
|
+
</documentation>
|
|
39
35
|
<properties>
|
|
40
36
|
<visibility type="type:Text">
|
|
41
|
-
<documentation>
|
|
37
|
+
<documentation>
|
|
38
|
+
visibility. TS type: type:Text. (optional)
|
|
39
|
+
</documentation>
|
|
42
40
|
</visibility>
|
|
43
41
|
<prefix type="type:Text">
|
|
44
|
-
<documentation>
|
|
42
|
+
<documentation>
|
|
43
|
+
prefix. TS type: type:Text. (required)
|
|
44
|
+
</documentation>
|
|
45
45
|
</prefix>
|
|
46
46
|
</properties>
|
|
47
|
-
|
|
48
|
-
</block>
|
|
47
|
+
</parcap:VisibilityPrefix>
|
|
@@ -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
|
+
<!--Parser Capability — XmlTriviaFromElement
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.capability.XmlTriviaFromElement-->
|
|
3
|
+
<parcap:XmlTriviaFromElement 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"
|
|
@@ -29,24 +23,28 @@
|
|
|
29
23
|
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
31
25
|
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<is>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
26
|
+
<baseType>
|
|
27
|
+
core:Capability
|
|
28
|
+
</baseType>
|
|
29
|
+
<is>
|
|
30
|
+
Build XmlTrivia from element comment context
|
|
31
|
+
</is>
|
|
32
|
+
<documentation>
|
|
33
|
+
Build XmlTrivia from element comment context
|
|
34
|
+
</documentation>
|
|
39
35
|
<references>
|
|
40
36
|
<see type="pardocumentation:XmlCommentsParse" relation="SeeAlso" />
|
|
41
37
|
</references>
|
|
42
|
-
|
|
43
38
|
<properties>
|
|
44
39
|
<element type="parmap:XmlDomNode">
|
|
45
|
-
<documentation>
|
|
40
|
+
<documentation>
|
|
41
|
+
element. TS type: parmap:XmlDomNode. (required)
|
|
42
|
+
</documentation>
|
|
46
43
|
</element>
|
|
47
44
|
<trivia type="bomcommon:XmlTrivia">
|
|
48
|
-
<documentation>
|
|
45
|
+
<documentation>
|
|
46
|
+
trivia. TS type: bomcommon:XmlTrivia. (optional)
|
|
47
|
+
</documentation>
|
|
49
48
|
</trivia>
|
|
50
49
|
</properties>
|
|
51
|
-
|
|
52
|
-
</block>
|
|
50
|
+
</parcap:XmlTriviaFromElement>
|
|
@@ -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
|
+
<!--Parser — MapTimeDiagnosticCodes
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.config.MapTimeDiagnosticCodes-->
|
|
3
|
+
<parconfig:MapTimeDiagnosticCodes 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"
|
|
@@ -29,17 +23,20 @@
|
|
|
29
23
|
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
31
25
|
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<is>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
26
|
+
<baseType>
|
|
27
|
+
parser:ParserType
|
|
28
|
+
</baseType>
|
|
29
|
+
<is>
|
|
30
|
+
Diagnostic codes emitted during parse pipeline and mapping
|
|
31
|
+
</is>
|
|
32
|
+
<documentation>
|
|
33
|
+
Hard-fail codes return document: null. Map-time codes may attach to ParseResult with continueOnError.
|
|
34
|
+
</documentation>
|
|
39
35
|
<properties>
|
|
40
36
|
<codes type="type:Text[]">
|
|
41
|
-
<documentation>
|
|
37
|
+
<documentation>
|
|
38
|
+
Ordered: BML_UNSUPPORTED_FORMAT, BML_MALFORMED_XML, BML_MISSING_ROOT, BML_INVALID_ROOT, BML_MISSING_BLOCK_TYPE, BML_MISSING_EMBEDDED_BLOCK_TYPE, BML_MISSING_SUBBLOCK_NAME, BML_MAP_ERROR, BML_UNKNOWN_NAMESPACE_PREFIX, BML_UNQUALIFIED_BLOCK_REFERENCE, BML_UNKNOWN_TYPE, BML_INVALID_TYPE_REFERENCE, BML_UNKNOWN_ELEMENT, BML_UNKNOWN_ATTRIBUTE, BML_UNKNOWN_DIRECTIVE, BML_STANDALONE_COMPOSITION, BML_NESTED_COMPOSITION, BML_DUPLICATE_COMPOSITION, BML_DUPLICATE_PROPERTY_VALUE, BML_UNEXPECTED_TEXT, BML_INVALID_VALUE (required)
|
|
39
|
+
</documentation>
|
|
42
40
|
</codes>
|
|
43
41
|
</properties>
|
|
44
|
-
|
|
45
|
-
</block>
|
|
42
|
+
</parconfig:MapTimeDiagnosticCodes>
|
|
@@ -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
|
+
<!--Parser — ParserConstants
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.config.ParserConstants-->
|
|
3
|
+
<parconfig:ParserConstants 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"
|
|
@@ -29,26 +23,35 @@
|
|
|
29
23
|
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
31
25
|
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<is>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
26
|
+
<baseType>
|
|
27
|
+
parser:ParserType
|
|
28
|
+
</baseType>
|
|
29
|
+
<is>
|
|
30
|
+
Well-known URIs and V1 root element name
|
|
31
|
+
</is>
|
|
32
|
+
<documentation>
|
|
33
|
+
Shared across pipeline, qname resolution, and namespace extraction.
|
|
34
|
+
</documentation>
|
|
39
35
|
<properties>
|
|
40
36
|
<XSI_NS type="type:Text">
|
|
41
|
-
<documentation>
|
|
37
|
+
<documentation>
|
|
38
|
+
XSI_NS. TS type: type:Text. (required)
|
|
39
|
+
</documentation>
|
|
42
40
|
</XSI_NS>
|
|
43
41
|
<BML_XMLNS type="type:Text">
|
|
44
|
-
<documentation>
|
|
42
|
+
<documentation>
|
|
43
|
+
BML_XMLNS. TS type: type:Text. (required)
|
|
44
|
+
</documentation>
|
|
45
45
|
</BML_XMLNS>
|
|
46
46
|
<TYPE_REFERENCE_ENTITY type="type:Text">
|
|
47
|
-
<documentation>
|
|
47
|
+
<documentation>
|
|
48
|
+
TYPE_REFERENCE_ENTITY. TS type: type:Text. (required)
|
|
49
|
+
</documentation>
|
|
48
50
|
</TYPE_REFERENCE_ENTITY>
|
|
49
51
|
<V1_ROOT_ELEMENT type="type:Text">
|
|
50
|
-
<documentation>
|
|
52
|
+
<documentation>
|
|
53
|
+
V1_ROOT_ELEMENT. TS type: type:Text. (required)
|
|
54
|
+
</documentation>
|
|
51
55
|
</V1_ROOT_ELEMENT>
|
|
52
56
|
</properties>
|
|
53
|
-
|
|
54
|
-
</block>
|
|
57
|
+
</parconfig:ParserConstants>
|
|
@@ -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
|
+
<!--Parser Documentation — ArchitectureOverview
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.documentation.ArchitectureOverview-->
|
|
3
|
+
<pardocumentation:ArchitectureOverview 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"
|
|
@@ -30,20 +24,23 @@
|
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
31
25
|
xmlns:doc="org.blockml.bml.documentation">
|
|
32
26
|
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<is>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
27
|
+
<baseType>
|
|
28
|
+
core:Documentation
|
|
29
|
+
</baseType>
|
|
30
|
+
<is>
|
|
31
|
+
Parse pipeline [1]–[5] and module decomposition
|
|
32
|
+
</is>
|
|
33
|
+
<documentation>
|
|
34
|
+
<![CDATA[
|
|
35
|
+
Entry point: parse(source, options?) → ParseResult (B26).
|
|
36
|
+
|
|
40
37
|
Stage 1 pipeline:
|
|
41
38
|
[1] Format detect (B24) — detectFormat(); strip UTF-8 BOM; first '<' → xml
|
|
42
39
|
[2] XML DOM (B18) — parseXmlDom() via @xmldom/xmldom
|
|
43
|
-
[3] Root type resolver — assertBlockRoot();
|
|
44
|
-
[4] Namespace resolver — extractNamespaceBindings(), mergeSourceInfo(); FQN resolution
|
|
40
|
+
[3] Root type resolver — assertBlockRoot(); <block> or type-or-name tag (doc:DocumentFormat)
|
|
41
|
+
[4] Namespace resolver — extractNamespaceBindings(), mergeSourceInfo(); FQN resolution; rootForm
|
|
45
42
|
[5] BML → BOM mapper — mapDocumentBlock() → BomDocument
|
|
46
|
-
|
|
43
|
+
|
|
47
44
|
Module decomposition (packages/parser/src/):
|
|
48
45
|
• parse.ts → parcap:Parse orchestrates [1]–[5]
|
|
49
46
|
• pipeline/format-detect.ts → parcap:DetectFormat
|
|
@@ -56,11 +53,12 @@
|
|
|
56
53
|
• map/type-expression.ts → parcap:ParseTypeExpression
|
|
57
54
|
• map/member-value.ts → parcap:ParseMemberValue, ContainsUnescapedInterpolation, ExpressionFromRaw
|
|
58
55
|
• map/directives.ts → parcap:ParseDirectives, ParseBmlMeta
|
|
59
|
-
• util/* → visibility, boolean, qname, xml helpers
|
|
60
|
-
|
|
56
|
+
• util/* → visibility, boolean, qname, xml helpers
|
|
57
|
+
]]>
|
|
58
|
+
</documentation>
|
|
61
59
|
<references>
|
|
62
60
|
<see type="pardocumentation:V1Scope" relation="ReadNext" />
|
|
63
61
|
<see type="parcap:Parse" relation="Defines" />
|
|
62
|
+
<see type="doc:DocumentFormat" relation="SeeAlso" />
|
|
64
63
|
</references>
|
|
65
|
-
|
|
66
|
-
</block>
|
|
64
|
+
</pardocumentation:ArchitectureOverview>
|
|
@@ -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
|
+
<!--Parser Documentation — AttributeClassification
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.documentation.AttributeClassification-->
|
|
3
|
+
<pardocumentation:AttributeClassification 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"
|
|
@@ -30,32 +24,33 @@
|
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
31
25
|
xmlns:doc="org.blockml.bml.documentation">
|
|
32
26
|
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<is>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
27
|
+
<baseType>
|
|
28
|
+
core:Documentation
|
|
29
|
+
</baseType>
|
|
30
|
+
<is>
|
|
31
|
+
Fixed priority chain for XML attributes (Rules 1–3)
|
|
32
|
+
</is>
|
|
33
|
+
<documentation>
|
|
34
|
+
When mapping an XML element, every attribute is classified — first matching rule wins:
|
|
35
|
+
|
|
40
36
|
Rule 1 — XML infrastructure:
|
|
41
37
|
• xmlns* → SourceInfo.namespaceBindings (incl. xmlns:xsi — B25)
|
|
42
38
|
• xsi:schemaLocation / xsi:noNamespaceSchemaLocation → SourceInfo (B25)
|
|
43
39
|
• other xsi:* → ignore (not memberValues)
|
|
44
|
-
|
|
40
|
+
|
|
45
41
|
Rule 2 — bml:* attributes:
|
|
46
42
|
• Composition meta (bml:id, bml:version, bml:generics, …) → BlockInstance fields
|
|
47
43
|
• Directives (bml:each, bml:if, …) → directives[]
|
|
48
44
|
• Unknown bml:* → BML_UNKNOWN_DIRECTIVE (error at map time — B2)
|
|
49
|
-
|
|
45
|
+
|
|
50
46
|
Rule 3 — Grammar vs instance:
|
|
51
47
|
• On definition/grammar nodes, remaining attributes are closed. Unknown → BML_UNKNOWN_ATTRIBUTE (structural error); preserved as unknownAttributes.
|
|
52
48
|
• On block instances, remaining attributes → memberValues[name] (camelCase); ${ expr } → ExpressionValue { raw } (B4). Unknown members are a validator error.
|
|
53
|
-
|
|
54
|
-
Serialize side of Rule 1 (B25 re-emit) → @blockml/serializer
|
|
55
|
-
|
|
49
|
+
|
|
50
|
+
Serialize side of Rule 1 (B25 re-emit) → @blockml/serializer.
|
|
51
|
+
</documentation>
|
|
56
52
|
<references>
|
|
57
53
|
<see type="pardocumentation:StructuralGrammar" relation="ReadNext" />
|
|
58
54
|
<see type="parcap:ParseDirectives" relation="SeeAlso" />
|
|
59
55
|
</references>
|
|
60
|
-
|
|
61
|
-
</block>
|
|
56
|
+
</pardocumentation:AttributeClassification>
|
|
@@ -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
|
+
<!--Parser Documentation — BlockMetadataMapping
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.documentation.BlockMetadataMapping-->
|
|
3
|
+
<pardocumentation:BlockMetadataMapping 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"
|
|
@@ -30,28 +24,36 @@
|
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
31
25
|
xmlns:doc="org.blockml.bml.documentation">
|
|
32
26
|
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<is>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
27
|
+
<baseType>
|
|
28
|
+
core:Documentation
|
|
29
|
+
</baseType>
|
|
30
|
+
<is>
|
|
31
|
+
Block definition metadata field mapping
|
|
32
|
+
</is>
|
|
33
|
+
<documentation>
|
|
34
|
+
<![CDATA[
|
|
35
|
+
Map definition-wrapper child elements to BlockDefinition fields.
|
|
36
|
+
The wrapper may be legacy <block> or a type-or-name tag (doc:DocumentFormat) on the
|
|
37
|
+
document root, each Sub-Block, and each embed. A type tag supplies type; a Sub-Block
|
|
38
|
+
tag supplies name (type stays derived). Child <type>/<name> are omitted unless they
|
|
39
|
+
repeat the same identity.
|
|
40
|
+
|
|
40
41
|
Identity: name, type, baseType, is, isNot, version, definition
|
|
41
42
|
Structural: since, status, summary, documentation, abstract, final
|
|
42
43
|
Aggregations: keywords, changelog, examples, references, constraints, aliases,
|
|
43
44
|
language, genericTypes, contracts, properties, aggregations, associations,
|
|
44
45
|
capabilities, subBlocks, embeddedBlocks
|
|
45
|
-
|
|
46
|
+
|
|
46
47
|
• xmlRendering (bml:xml metadata) stored on BlockDefinition — NOT in directives[] (B23/D3)
|
|
47
48
|
• authoredPlacement stored for dual element|attribute forms (D9)
|
|
48
49
|
• authoredCharacterDataForm for text vs CDATA (D8)
|
|
50
|
+
• authoredNameChild / authoredTypeChild when child name / type elements are present
|
|
49
51
|
• TrimText on character data: common leading indent stripped, then trim; a first line glued to the opening tag (no leading whitespace) is excluded from the prefix (B13)
|
|
50
|
-
• Visibility prefixes stripped → logical name + visibility (B14 parse half)
|
|
51
|
-
|
|
52
|
+
• Visibility prefixes stripped → logical name + visibility (B14 parse half)
|
|
53
|
+
]]>
|
|
54
|
+
</documentation>
|
|
52
55
|
<references>
|
|
53
56
|
<see type="pardocumentation:MemberMapping" relation="ReadNext" />
|
|
54
57
|
<see type="def:BlockDefinition" relation="SeeAlso" />
|
|
55
58
|
</references>
|
|
56
|
-
|
|
57
|
-
</block>
|
|
59
|
+
</pardocumentation:BlockMetadataMapping>
|
|
@@ -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
|
+
<!--Parser Documentation — DesignDecisions
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.documentation.DesignDecisions-->
|
|
3
|
+
<pardocumentation: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"
|
|
@@ -30,14 +24,16 @@
|
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
31
25
|
xmlns:doc="org.blockml.bml.documentation">
|
|
32
26
|
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<is>
|
|
37
|
-
|
|
38
|
-
|
|
27
|
+
<baseType>
|
|
28
|
+
core:Documentation
|
|
29
|
+
</baseType>
|
|
30
|
+
<is>
|
|
31
|
+
Normative parser design decisions
|
|
32
|
+
</is>
|
|
33
|
+
<documentation>
|
|
34
|
+
<![CDATA[
|
|
39
35
|
# Normative parser design decisions
|
|
40
|
-
|
|
36
|
+
|
|
41
37
|
- B2: unknown bml:* → error at map (BML_UNKNOWN_DIRECTIVE); unknown instance members → validator error (BML_UNKNOWN_PROPERTY).
|
|
42
38
|
- B3: inputType/outputType → TypeExpression at map time.
|
|
43
39
|
- B4: ExpressionValue.raw only; AST via core utility.
|
|
@@ -51,12 +47,11 @@
|
|
|
51
47
|
- B19: redundant aggregation type — map must not apply.
|
|
52
48
|
- B23: preserve xmlRendering + D6 recipe at Stage 1.
|
|
53
49
|
- B24: format detector (BOM strip, first '<').
|
|
54
|
-
- B25: store xmlns:xsi + schemaLocation on SourceInfo.
|
|
50
|
+
- B25: store xmlns:xsi + schemaLocation on SourceInfo; record rootForm (block vs type-as-root).
|
|
55
51
|
- B26: parse() entry; types in @blockml/bom.
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
]]>
|
|
53
|
+
</documentation>
|
|
58
54
|
<references>
|
|
59
55
|
<see type="pardocumentation:RoundtripContract" relation="ReadNext" />
|
|
60
56
|
</references>
|
|
61
|
-
|
|
62
|
-
</block>
|
|
57
|
+
</pardocumentation:DesignDecisions>
|