@blockml/parser 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.
Files changed (120) hide show
  1. package/blocks/org/blockml/bml/compiler/parser/Library.bml +19 -26
  2. package/blocks/org/blockml/bml/compiler/parser/ParserType.bml +16 -20
  3. package/blocks/org/blockml/bml/compiler/parser/README.bml +14 -21
  4. package/blocks/org/blockml/bml/compiler/parser/capability/AssertBlockRoot.bml +23 -21
  5. package/blocks/org/blockml/bml/compiler/parser/capability/BuildSubBlockIndex.bml +19 -20
  6. package/blocks/org/blockml/bml/compiler/parser/capability/CollectLeadingComments.bml +22 -22
  7. package/blocks/org/blockml/bml/compiler/parser/capability/CollectTrailingComments.bml +22 -22
  8. package/blocks/org/blockml/bml/compiler/parser/capability/ContainsUnescapedInterpolation.bml +26 -21
  9. package/blocks/org/blockml/bml/compiler/parser/capability/CreateMapContext.bml +28 -24
  10. package/blocks/org/blockml/bml/compiler/parser/capability/DetectFormat.bml +19 -21
  11. package/blocks/org/blockml/bml/compiler/parser/capability/DocumentElement.bml +19 -20
  12. package/blocks/org/blockml/bml/compiler/parser/capability/ElementChildren.bml +19 -20
  13. package/blocks/org/blockml/bml/compiler/parser/capability/ElementLocalName.bml +19 -20
  14. package/blocks/org/blockml/bml/compiler/parser/capability/ElementPrefix.bml +19 -20
  15. package/blocks/org/blockml/bml/compiler/parser/capability/ElementSourceLoc.bml +25 -22
  16. package/blocks/org/blockml/bml/compiler/parser/capability/ElementStartTagIsSelfClosing.bml +23 -22
  17. package/blocks/org/blockml/bml/compiler/parser/capability/ExpressionFromRaw.bml +22 -21
  18. package/blocks/org/blockml/bml/compiler/parser/capability/ExtractNamespaceBindings.bml +20 -21
  19. package/blocks/org/blockml/bml/compiler/parser/capability/FqnToQName.bml +22 -21
  20. package/blocks/org/blockml/bml/compiler/parser/capability/GetAttribute.bml +22 -21
  21. package/blocks/org/blockml/bml/compiler/parser/capability/GetCharacterData.bml +19 -20
  22. package/blocks/org/blockml/bml/compiler/parser/capability/GetParseErrors.bml +19 -20
  23. package/blocks/org/blockml/bml/compiler/parser/capability/HasBmlSemanticQNameBindings.bml +19 -20
  24. package/blocks/org/blockml/bml/compiler/parser/capability/InferCardinality.bml +19 -20
  25. package/blocks/org/blockml/bml/compiler/parser/capability/IsBooleanLiteral.bml +19 -20
  26. package/blocks/org/blockml/bml/compiler/parser/capability/IsCData.bml +19 -20
  27. package/blocks/org/blockml/bml/compiler/parser/capability/IsComment.bml +19 -20
  28. package/blocks/org/blockml/bml/compiler/parser/capability/IsDocumentRootLocalName.bml +57 -0
  29. package/blocks/org/blockml/bml/compiler/parser/capability/IsElement.bml +19 -20
  30. package/blocks/org/blockml/bml/compiler/parser/capability/IsTextNode.bml +19 -20
  31. package/blocks/org/blockml/bml/compiler/parser/capability/IsTypeReferenceEntitySugar.bml +19 -20
  32. package/blocks/org/blockml/bml/compiler/parser/capability/MapBlock.bml +22 -22
  33. package/blocks/org/blockml/bml/compiler/parser/capability/MapBlockInstanceNode.bml +28 -21
  34. package/blocks/org/blockml/bml/compiler/parser/capability/MapCompositionTemplate.bml +22 -21
  35. package/blocks/org/blockml/bml/compiler/parser/capability/MapDocumentBlock.bml +25 -23
  36. package/blocks/org/blockml/bml/compiler/parser/capability/MapTypeReferenceEntityInstance.bml +22 -21
  37. package/blocks/org/blockml/bml/compiler/parser/capability/MergeSourceInfo.bml +25 -22
  38. package/blocks/org/blockml/bml/compiler/parser/capability/NormalizeBooleanValue.bml +19 -20
  39. package/blocks/org/blockml/bml/compiler/parser/capability/Parse.bml +22 -22
  40. package/blocks/org/blockml/bml/compiler/parser/capability/ParseBmlMeta.bml +19 -20
  41. package/blocks/org/blockml/bml/compiler/parser/capability/ParseBooleanAttribute.bml +19 -20
  42. package/blocks/org/blockml/bml/compiler/parser/capability/ParseDirectives.bml +23 -23
  43. package/blocks/org/blockml/bml/compiler/parser/capability/ParseGenericArgumentList.bml +23 -23
  44. package/blocks/org/blockml/bml/compiler/parser/capability/ParseGenericsBinding.bml +23 -23
  45. package/blocks/org/blockml/bml/compiler/parser/capability/ParseMemberValue.bml +37 -27
  46. package/blocks/org/blockml/bml/compiler/parser/capability/ParseTypeExpression.bml +25 -23
  47. package/blocks/org/blockml/bml/compiler/parser/capability/ParseVisibilityFromName.bml +19 -21
  48. package/blocks/org/blockml/bml/compiler/parser/capability/ParseXmlDom.bml +22 -22
  49. package/blocks/org/blockml/bml/compiler/parser/capability/ResolveBlockReference.bml +25 -23
  50. package/blocks/org/blockml/bml/compiler/parser/capability/ResolvePrefix.bml +22 -21
  51. package/blocks/org/blockml/bml/compiler/parser/capability/ResolveTypeName.bml +25 -23
  52. package/blocks/org/blockml/bml/compiler/parser/capability/SourceLoc.bml +25 -22
  53. package/blocks/org/blockml/bml/compiler/parser/capability/SplitQName.bml +19 -20
  54. package/blocks/org/blockml/bml/compiler/parser/capability/TrimText.bml +18 -21
  55. package/blocks/org/blockml/bml/compiler/parser/capability/TypeExpressionToString.bml +19 -20
  56. package/blocks/org/blockml/bml/compiler/parser/capability/VisibilityPrefix.bml +19 -20
  57. package/blocks/org/blockml/bml/compiler/parser/capability/XmlTriviaFromElement.bml +19 -21
  58. package/blocks/org/blockml/bml/compiler/parser/config/MapTimeDiagnosticCodes.bml +16 -19
  59. package/blocks/org/blockml/bml/compiler/parser/config/ParserConstants.bml +25 -22
  60. package/blocks/org/blockml/bml/compiler/parser/documentation/ArchitectureOverview.bml +21 -23
  61. package/blocks/org/blockml/bml/compiler/parser/documentation/AttributeClassification.bml +18 -23
  62. package/blocks/org/blockml/bml/compiler/parser/documentation/BlockMetadataMapping.bml +23 -21
  63. package/blocks/org/blockml/bml/compiler/parser/documentation/DesignDecisions.bml +16 -21
  64. package/blocks/org/blockml/bml/compiler/parser/documentation/Diagnostics.bml +25 -24
  65. package/blocks/org/blockml/bml/compiler/parser/documentation/ExpressionCapture.bml +20 -23
  66. package/blocks/org/blockml/bml/compiler/parser/documentation/Introduction.bml +17 -22
  67. package/blocks/org/blockml/bml/compiler/parser/documentation/LayerSeparation.bml +19 -24
  68. package/blocks/org/blockml/bml/compiler/parser/documentation/MappingPrinciples.bml +16 -21
  69. package/blocks/org/blockml/bml/compiler/parser/documentation/MemberMapping.bml +30 -21
  70. package/blocks/org/blockml/bml/compiler/parser/documentation/MemberMappingOrder.bml +16 -21
  71. package/blocks/org/blockml/bml/compiler/parser/documentation/PackageOwnership.bml +17 -22
  72. package/blocks/org/blockml/bml/compiler/parser/documentation/PublicApi.bml +19 -22
  73. package/blocks/org/blockml/bml/compiler/parser/documentation/RoundtripContract.bml +16 -21
  74. package/blocks/org/blockml/bml/compiler/parser/documentation/ScopeExclusions.bml +16 -21
  75. package/blocks/org/blockml/bml/compiler/parser/documentation/SingleFileScope.bml +16 -21
  76. package/blocks/org/blockml/bml/compiler/parser/documentation/StructuralGrammar.bml +18 -23
  77. package/blocks/org/blockml/bml/compiler/parser/documentation/TypeDescriptorParsing.bml +15 -20
  78. package/blocks/org/blockml/bml/compiler/parser/documentation/V1Scope.bml +18 -21
  79. package/blocks/org/blockml/bml/compiler/parser/documentation/XmlCommentsParse.bml +18 -21
  80. package/blocks/org/blockml/bml/compiler/parser/map/BmlMeta.bml +25 -22
  81. package/blocks/org/blockml/bml/compiler/parser/map/CharacterData.bml +19 -20
  82. package/blocks/org/blockml/bml/compiler/parser/map/MapContext.bml +40 -27
  83. package/blocks/org/blockml/bml/compiler/parser/map/MapContextOptions.bml +31 -24
  84. package/blocks/org/blockml/bml/compiler/parser/map/QNameParts.bml +19 -20
  85. package/blocks/org/blockml/bml/compiler/parser/map/VisibilityParse.bml +19 -20
  86. package/blocks/org/blockml/bml/compiler/parser/map/XmlDomNode.bml +13 -17
  87. package/dist/index.d.ts +2 -0
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +2 -0
  90. package/dist/index.js.map +1 -1
  91. package/dist/map/directives.d.ts.map +1 -1
  92. package/dist/map/directives.js +2 -2
  93. package/dist/map/directives.js.map +1 -1
  94. package/dist/map/interpolation-escape.d.ts +11 -0
  95. package/dist/map/interpolation-escape.d.ts.map +1 -0
  96. package/dist/map/interpolation-escape.js +87 -0
  97. package/dist/map/interpolation-escape.js.map +1 -0
  98. package/dist/map/map-block.d.ts.map +1 -1
  99. package/dist/map/map-block.js +102 -6
  100. package/dist/map/map-block.js.map +1 -1
  101. package/dist/map/map-composition.d.ts +2 -2
  102. package/dist/map/map-composition.d.ts.map +1 -1
  103. package/dist/map/map-composition.js +42 -5
  104. package/dist/map/map-composition.js.map +1 -1
  105. package/dist/map/member-value.d.ts +1 -1
  106. package/dist/map/member-value.d.ts.map +1 -1
  107. package/dist/map/member-value.js +4 -11
  108. package/dist/map/member-value.js.map +1 -1
  109. package/dist/map/structural.d.ts +1 -0
  110. package/dist/map/structural.d.ts.map +1 -1
  111. package/dist/map/structural.js +3 -0
  112. package/dist/map/structural.js.map +1 -1
  113. package/dist/pipeline/namespaces.d.ts.map +1 -1
  114. package/dist/pipeline/namespaces.js +3 -0
  115. package/dist/pipeline/namespaces.js.map +1 -1
  116. package/dist/pipeline/root-type.d.ts +3 -0
  117. package/dist/pipeline/root-type.d.ts.map +1 -1
  118. package/dist/pipeline/root-type.js +16 -3
  119. package/dist/pipeline/root-type.js.map +1 -1
  120. package/package.json +3 -3
@@ -1,12 +1,6 @@
1
- <!--
2
- Parser Capability — SourceLoc
3
- FQN: org.blockml.bml.compiler.parser.capability.SourceLoc
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 — SourceLoc
2
+ FQN: org.blockml.bml.compiler.parser.capability.SourceLoc-->
3
+ <parcap:SourceLoc 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
- <name>SourceLoc</name>
33
- <type>parcap:SourceLoc</type>
34
- <baseType>core:Capability</baseType>
35
- <is>Build SourceLocation from file path and line/column</is>
36
-
37
- <documentation>Build SourceLocation from file path and line/column</documentation>
38
-
26
+ <baseType>
27
+ core:Capability
28
+ </baseType>
29
+ <is>
30
+ Build SourceLocation from file path and line/column
31
+ </is>
32
+ <documentation>
33
+ Build SourceLocation from file path and line/column
34
+ </documentation>
39
35
  <properties>
40
36
  <filePath type="type:Text">
41
- <documentation>filePath. TS type: type:Text. (required)</documentation>
37
+ <documentation>
38
+ filePath. TS type: type:Text. (required)
39
+ </documentation>
42
40
  </filePath>
43
41
  <line type="type:Integer">
44
- <documentation>line. TS type: type:Integer. (required)</documentation>
42
+ <documentation>
43
+ line. TS type: type:Integer. (required)
44
+ </documentation>
45
45
  </line>
46
46
  <column type="type:Integer">
47
- <documentation>column. TS type: type:Integer. (required)</documentation>
47
+ <documentation>
48
+ column. TS type: type:Integer. (required)
49
+ </documentation>
48
50
  </column>
49
51
  <location type="bomcommon:SourceLocation">
50
- <documentation>location. TS type: bomcommon:SourceLocation. (required)</documentation>
52
+ <documentation>
53
+ location. TS type: bomcommon:SourceLocation. (required)
54
+ </documentation>
51
55
  </location>
52
56
  </properties>
53
-
54
- </block>
57
+ </parcap:SourceLoc>
@@ -1,12 +1,6 @@
1
- <!--
2
- Parser Capability — SplitQName
3
- FQN: org.blockml.bml.compiler.parser.capability.SplitQName
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
- <name>SplitQName</name>
33
- <type>parcap:SplitQName</type>
34
- <baseType>core:Capability</baseType>
35
- <is>Split prefixed QName into prefix and local name</is>
36
-
37
- <documentation>Split prefixed QName into prefix and local name</documentation>
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>qname. TS type: type:Text. (required)</documentation>
37
+ <documentation>
38
+ qname. TS type: type:Text. (required)
39
+ </documentation>
42
40
  </qname>
43
41
  <parts type="parmap:QNameParts">
44
- <documentation>parts. TS type: parmap:QNameParts. (required)</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
- Parser Capability — TrimText
3
- FQN: org.blockml.bml.compiler.parser.capability.TrimText
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
- <name>TrimText</name>
33
- <type>parcap:TrimText</type>
34
- <baseType>core:Capability</baseType>
35
- <is>Strip common leading indent, then trim, from text node value</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>value. TS type: type:Text. (required)</documentation>
41
+ <documentation>
42
+ value. TS type: type:Text. (required)
43
+ </documentation>
48
44
  </value>
49
45
  <trimmed type="type:Text">
50
- <documentation>trimmed. TS type: type:Text. (required)</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
- Parser Capability — TypeExpressionToString
3
- FQN: org.blockml.bml.compiler.parser.capability.TypeExpressionToString
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
- <name>TypeExpressionToString</name>
33
- <type>parcap:TypeExpressionToString</type>
34
- <baseType>core:Capability</baseType>
35
- <is>Serialize TypeExpression back to attribute string (internal/debug)</is>
36
-
37
- <documentation>Serialize TypeExpression back to attribute string (internal/debug)</documentation>
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>type. TS type: bomtype:TypeExpression. (required)</documentation>
37
+ <documentation>
38
+ type. TS type: bomtype:TypeExpression. (required)
39
+ </documentation>
42
40
  </type>
43
41
  <text type="type:Text">
44
- <documentation>text. TS type: type:Text. (required)</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
- Parser Capability — VisibilityPrefix
3
- FQN: org.blockml.bml.compiler.parser.capability.VisibilityPrefix
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
- <name>VisibilityPrefix</name>
33
- <type>parcap:VisibilityPrefix</type>
34
- <baseType>core:Capability</baseType>
35
- <is>Map visibility enum to XML prefix (shared with serializer util)</is>
36
-
37
- <documentation>Map visibility enum to XML prefix (shared with serializer util)</documentation>
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>visibility. TS type: type:Text. (optional)</documentation>
37
+ <documentation>
38
+ visibility. TS type: type:Text. (optional)
39
+ </documentation>
42
40
  </visibility>
43
41
  <prefix type="type:Text">
44
- <documentation>prefix. TS type: type:Text. (required)</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
- Parser Capability — XmlTriviaFromElement
3
- FQN: org.blockml.bml.compiler.parser.capability.XmlTriviaFromElement
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
- <name>XmlTriviaFromElement</name>
33
- <type>parcap:XmlTriviaFromElement</type>
34
- <baseType>core:Capability</baseType>
35
- <is>Build XmlTrivia from element comment context</is>
36
-
37
- <documentation>Build XmlTrivia from element comment context</documentation>
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>element. TS type: parmap:XmlDomNode. (required)</documentation>
40
+ <documentation>
41
+ element. TS type: parmap:XmlDomNode. (required)
42
+ </documentation>
46
43
  </element>
47
44
  <trivia type="bomcommon:XmlTrivia">
48
- <documentation>trivia. TS type: bomcommon:XmlTrivia. (optional)</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
- Parser MapTimeDiagnosticCodes
3
- FQN: org.blockml.bml.compiler.parser.config.MapTimeDiagnosticCodes
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
- <name>MapTimeDiagnosticCodes</name>
33
- <type>parconfig:MapTimeDiagnosticCodes</type>
34
- <baseType>parser:ParserType</baseType>
35
- <is>Diagnostic codes emitted during parse pipeline and mapping</is>
36
-
37
- <documentation>Hard-fail codes return document: null. Map-time codes may attach to ParseResult with continueOnError.</documentation>
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>Ordered: BML_UNSUPPORTED_FORMAT, BML_MALFORMED_XML, BML_MISSING_ROOT, BML_INVALID_ROOT, 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)</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_MIXED_MEMBER_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
- Parser ParserConstants
3
- FQN: org.blockml.bml.compiler.parser.config.ParserConstants
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
- <name>ParserConstants</name>
33
- <type>parconfig:ParserConstants</type>
34
- <baseType>parser:ParserType</baseType>
35
- <is>Well-known URIs and V1 root element name</is>
36
-
37
- <documentation>Shared across pipeline, qname resolution, and namespace extraction.</documentation>
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>XSI_NS. TS type: type:Text. (required)</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>BML_XMLNS. TS type: type:Text. (required)</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>TYPE_REFERENCE_ENTITY. TS type: type:Text. (required)</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>V1_ROOT_ELEMENT. TS type: type:Text. (required)</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
- Parser Documentation — ArchitectureOverview
3
- FQN: org.blockml.bml.compiler.parser.documentation.ArchitectureOverview
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
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
- <name>ArchitectureOverview</name>
34
- <type>pardocumentation:ArchitectureOverview</type>
35
- <baseType>core:Documentation</baseType>
36
- <is>Parse pipeline [1]–[5] and module decomposition</is>
37
-
38
- <documentation><![CDATA[Entry point: parse(source, options?) → ParseResult (B26).
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(); V1: <block> only
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]]></documentation>
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
- Parser Documentation — AttributeClassification
3
- FQN: org.blockml.bml.compiler.parser.documentation.AttributeClassification
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
- <name>AttributeClassification</name>
34
- <type>pardocumentation:AttributeClassification</type>
35
- <baseType>core:Documentation</baseType>
36
- <is>Fixed priority chain for XML attributes (Rules 1–3)</is>
37
-
38
- <documentation>When mapping an XML element, every attribute is classified — first matching rule wins:
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.</documentation>
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
- Parser Documentation — BlockMetadataMapping
3
- FQN: org.blockml.bml.compiler.parser.documentation.BlockMetadataMapping
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
- <name>BlockMetadataMapping</name>
34
- <type>pardocumentation:BlockMetadataMapping</type>
35
- <baseType>core:Documentation</baseType>
36
- <is>Block definition metadata field mapping</is>
37
-
38
- <documentation><![CDATA[Map <block> child elements to BlockDefinition fields:
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)]]></documentation>
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>