@markuplint/html-spec 3.0.0-alpha.0 → 3.0.0-alpha.1

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 (155) hide show
  1. package/index.json +699 -647
  2. package/package.json +7 -7
  3. package/src/spec-common.contents.json +2 -1
  4. package/src/spec.a.json +2 -3
  5. package/src/spec.abbr.json +1 -1
  6. package/src/spec.address.json +1 -2
  7. package/src/spec.article.json +1 -1
  8. package/src/spec.aside.json +1 -1
  9. package/src/spec.audio.json +2 -4
  10. package/src/spec.b.json +1 -1
  11. package/src/spec.bdi.json +1 -1
  12. package/src/spec.bdo.json +1 -1
  13. package/src/spec.blockquote.json +1 -1
  14. package/src/spec.body.json +1 -1
  15. package/src/spec.br.json +1 -1
  16. package/src/spec.button.json +1 -2
  17. package/src/spec.canvas.json +1 -2
  18. package/src/spec.caption.json +1 -1
  19. package/src/spec.cite.json +1 -1
  20. package/src/spec.code.json +1 -1
  21. package/src/spec.data.json +1 -1
  22. package/src/spec.datalist.json +2 -2
  23. package/src/spec.dd.json +1 -1
  24. package/src/spec.del.json +1 -1
  25. package/src/spec.details.json +1 -1
  26. package/src/spec.dfn.json +1 -2
  27. package/src/spec.dialog.json +1 -1
  28. package/src/spec.div.json +4 -4
  29. package/src/spec.dl.json +10 -4
  30. package/src/spec.dt.json +1 -2
  31. package/src/spec.em.json +1 -1
  32. package/src/spec.fieldset.json +1 -1
  33. package/src/spec.figcaption.json +1 -1
  34. package/src/spec.figure.json +14 -3
  35. package/src/spec.footer.json +1 -2
  36. package/src/spec.form.json +1 -2
  37. package/src/spec.h1.json +1 -1
  38. package/src/spec.h2.json +1 -1
  39. package/src/spec.h3.json +1 -1
  40. package/src/spec.h4.json +1 -1
  41. package/src/spec.h5.json +1 -1
  42. package/src/spec.h6.json +1 -1
  43. package/src/spec.head.json +2 -4
  44. package/src/spec.header.json +1 -2
  45. package/src/spec.hgroup.json +19 -11
  46. package/src/spec.i.json +1 -1
  47. package/src/spec.iframe.json +1 -1
  48. package/src/spec.input.json +10 -10
  49. package/src/spec.ins.json +1 -1
  50. package/src/spec.kbd.json +1 -1
  51. package/src/spec.label.json +1 -2
  52. package/src/spec.legend.json +1 -1
  53. package/src/spec.li.json +1 -1
  54. package/src/spec.main.json +1 -1
  55. package/src/spec.map.json +1 -1
  56. package/src/spec.mark.json +1 -1
  57. package/src/spec.menu.json +1 -1
  58. package/src/spec.meter.json +2 -3
  59. package/src/spec.nav.json +1 -1
  60. package/src/spec.noscript.json +1 -1
  61. package/src/spec.object.json +1 -1
  62. package/src/spec.ol.json +1 -1
  63. package/src/spec.option.json +1 -1
  64. package/src/spec.output.json +1 -1
  65. package/src/spec.p.json +1 -1
  66. package/src/spec.picture.json +3 -3
  67. package/src/spec.portal.json +1 -1
  68. package/src/spec.pre.json +1 -1
  69. package/src/spec.progress.json +2 -3
  70. package/src/spec.q.json +1 -2
  71. package/src/spec.rp.json +1 -2
  72. package/src/spec.rt.json +1 -1
  73. package/src/spec.ruby.json +1 -2
  74. package/src/spec.s.json +1 -1
  75. package/src/spec.samp.json +1 -1
  76. package/src/spec.section.json +1 -1
  77. package/src/spec.select.json +2 -2
  78. package/src/spec.slot.json +1 -1
  79. package/src/spec.small.json +1 -1
  80. package/src/spec.span.json +1 -1
  81. package/src/spec.strong.json +1 -1
  82. package/src/spec.sub.json +1 -1
  83. package/src/spec.summary.json +2 -2
  84. package/src/spec.sup.json +1 -1
  85. package/src/spec.svg_a.json +2 -3
  86. package/src/spec.svg_animate.json +1 -1
  87. package/src/spec.svg_animateMotion.json +3 -3
  88. package/src/spec.svg_animateTransform.json +1 -1
  89. package/src/spec.svg_circle.json +3 -3
  90. package/src/spec.svg_clipPath.json +8 -1
  91. package/src/spec.svg_defs.json +5 -5
  92. package/src/spec.svg_desc.json +1 -1
  93. package/src/spec.svg_discard.json +1 -1
  94. package/src/spec.svg_ellipse.json +3 -3
  95. package/src/spec.svg_feBlend.json +1 -1
  96. package/src/spec.svg_feColorMatrix.json +1 -1
  97. package/src/spec.svg_feComponentTransfer.json +1 -1
  98. package/src/spec.svg_feComposite.json +1 -1
  99. package/src/spec.svg_feConvolveMatrix.json +1 -1
  100. package/src/spec.svg_feDiffuseLighting.json +5 -5
  101. package/src/spec.svg_feDisplacementMap.json +1 -1
  102. package/src/spec.svg_feDistantLight.json +1 -1
  103. package/src/spec.svg_feDropShadow.json +1 -1
  104. package/src/spec.svg_feFlood.json +1 -1
  105. package/src/spec.svg_feFuncA.json +1 -1
  106. package/src/spec.svg_feFuncB.json +1 -1
  107. package/src/spec.svg_feFuncG.json +1 -1
  108. package/src/spec.svg_feFuncR.json +1 -1
  109. package/src/spec.svg_feGaussianBlur.json +1 -1
  110. package/src/spec.svg_feImage.json +1 -1
  111. package/src/spec.svg_feMerge.json +1 -1
  112. package/src/spec.svg_feMergeNode.json +1 -1
  113. package/src/spec.svg_feMorphology.json +1 -1
  114. package/src/spec.svg_feOffset.json +1 -1
  115. package/src/spec.svg_fePointLight.json +1 -1
  116. package/src/spec.svg_feSpecularLighting.json +5 -5
  117. package/src/spec.svg_feSpotLight.json +1 -1
  118. package/src/spec.svg_feTile.json +1 -1
  119. package/src/spec.svg_feTurbulence.json +1 -1
  120. package/src/spec.svg_filter.json +1 -1
  121. package/src/spec.svg_g.json +5 -5
  122. package/src/spec.svg_image.json +2 -2
  123. package/src/spec.svg_line.json +3 -3
  124. package/src/spec.svg_linearGradient.json +1 -1
  125. package/src/spec.svg_marker.json +5 -5
  126. package/src/spec.svg_mask.json +5 -5
  127. package/src/spec.svg_metadata.json +1 -1
  128. package/src/spec.svg_mpath.json +1 -1
  129. package/src/spec.svg_path.json +3 -3
  130. package/src/spec.svg_pattern.json +5 -5
  131. package/src/spec.svg_polygon.json +3 -3
  132. package/src/spec.svg_polyline.json +3 -3
  133. package/src/spec.svg_radialGradient.json +1 -1
  134. package/src/spec.svg_rect.json +3 -3
  135. package/src/spec.svg_script.json +1 -1
  136. package/src/spec.svg_set.json +1 -1
  137. package/src/spec.svg_svg.json +5 -5
  138. package/src/spec.svg_switch.json +2 -2
  139. package/src/spec.svg_symbol.json +5 -5
  140. package/src/spec.svg_text.json +4 -4
  141. package/src/spec.svg_textPath.json +2 -2
  142. package/src/spec.svg_title.json +1 -1
  143. package/src/spec.svg_tspan.json +2 -2
  144. package/src/spec.svg_use.json +2 -2
  145. package/src/spec.svg_view.json +1 -1
  146. package/src/spec.table.json +6 -6
  147. package/src/spec.td.json +1 -1
  148. package/src/spec.template.json +1 -5
  149. package/src/spec.th.json +1 -2
  150. package/src/spec.time.json +1 -1
  151. package/src/spec.tr.json +1 -1
  152. package/src/spec.u.json +1 -1
  153. package/src/spec.ul.json +1 -1
  154. package/src/spec.var.json +1 -1
  155. package/src/spec.video.json +2 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markuplint/html-spec",
3
- "version": "3.0.0-alpha.0",
3
+ "version": "3.0.0-alpha.1",
4
4
  "description": "A specification of HTML Living Standard for markuplint",
5
5
  "repository": "git@github.com:markuplint/markuplint.git",
6
6
  "author": "Yusuke Hirao <yusukehirao@me.com>",
@@ -16,17 +16,17 @@
16
16
  },
17
17
  "devDependencies": {
18
18
  "@types/cheerio": "^0.22.31",
19
- "@types/cli-progress": "^3.9.2",
19
+ "@types/cli-progress": "^3.11.0",
20
20
  "@types/node-fetch": "2",
21
21
  "ajv": "^8.11.0",
22
- "cheerio": "^1.0.0-rc.10",
23
- "cli-progress": "^3.10.0",
24
- "fast-xml-parser": "^4.0.7",
22
+ "cheerio": "^1.0.0-rc.12",
23
+ "cli-progress": "^3.11.2",
24
+ "fast-xml-parser": "^4.0.10",
25
25
  "node-fetch": "2",
26
26
  "strip-json-comments": "3"
27
27
  },
28
28
  "dependencies": {
29
- "@markuplint/ml-spec": "3.0.0-alpha.0"
29
+ "@markuplint/ml-spec": "3.0.0-alpha.1"
30
30
  },
31
- "gitHead": "d32c522e016888e20bcbb5f09352c006b964f193"
31
+ "gitHead": "56de89456146a06777eb5b6d4e8ba456147dd18b"
32
32
  }
@@ -100,7 +100,8 @@
100
100
  "#text"
101
101
  ],
102
102
  "#sectioning": ["article", "aside", "nav", "section"],
103
- "#heading": ["h1", "h2", "h3", "h4", "h5", "h6", "hgroup"],
103
+ // https://html.spec.whatwg.org/multipage/dom.html#heading-content
104
+ "#heading": ["h1", "h2", "h3", "h4", "h5", "h6", "hgroup:has(h1,h2,h3,h4,h5,h6)"],
104
105
  "#phrasing": [
105
106
  "a",
106
107
  "abbr",
package/src/spec.a.json CHANGED
@@ -6,8 +6,7 @@
6
6
  "contentModel": {
7
7
  "contents": [
8
8
  {
9
- "zeroOrMore": "#transparent",
10
- "notAllowedDescendants": ["#interactive"]
9
+ "transparent": ":not(:model(interactive), a, [tabindex], :has(:model(interactive), a, [tabindex]))"
11
10
  }
12
11
  ]
13
12
  },
@@ -36,7 +35,7 @@
36
35
  "properties": {
37
36
  "global": true,
38
37
  "role": true,
39
- "whithout": [
38
+ "without": [
40
39
  {
41
40
  "type": "not-recommended",
42
41
  "name": "aria-disabled",
@@ -6,7 +6,7 @@
6
6
  "contentModel": {
7
7
  "contents": [
8
8
  {
9
- "zeroOrMore": "#phrasing"
9
+ "oneOrMore": ":model(phrasing)"
10
10
  }
11
11
  ]
12
12
  },
@@ -6,8 +6,7 @@
6
6
  "contentModel": {
7
7
  "contents": [
8
8
  {
9
- "zeroOrMore": "#flow",
10
- "notAllowedDescendants": ["address", "#heading", "#sectioning", "header", "footer"]
9
+ "oneOrMore": ":model(flow):not(address, :model(heading), :model(sectioning), header, foooter, :has(address, :model(heading), :model(sectioning), header, foooter))"
11
10
  }
12
11
  ]
13
12
  },
@@ -6,7 +6,7 @@
6
6
  "contentModel": {
7
7
  "contents": [
8
8
  {
9
- "zeroOrMore": "#flow"
9
+ "oneOrMore": ":model(flow)"
10
10
  }
11
11
  ]
12
12
  },
@@ -6,7 +6,7 @@
6
6
  "contentModel": {
7
7
  "contents": [
8
8
  {
9
- "zeroOrMore": "#flow"
9
+ "oneOrMore": ":model(flow)"
10
10
  }
11
11
  ]
12
12
  },
@@ -11,8 +11,7 @@
11
11
  "zeroOrMore": "track"
12
12
  },
13
13
  {
14
- "zeroOrMore": "#transparent",
15
- "notAllowedDescendants": ["audio", "video"]
14
+ "transparent": ":not(audio, video, :has(audio, video))"
16
15
  }
17
16
  ],
18
17
  "conditional": [
@@ -23,8 +22,7 @@
23
22
  "zeroOrMore": "track"
24
23
  },
25
24
  {
26
- "zeroOrMore": "#transparent",
27
- "notAllowedDescendants": ["audio", "video"]
25
+ "transparent": ":not(audio, video, :has(audio, video))"
28
26
  }
29
27
  ]
30
28
  }
package/src/spec.b.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing"
8
+ "oneOrMore": ":model(phrasing)"
9
9
  }
10
10
  ]
11
11
  },
package/src/spec.bdi.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing"
8
+ "oneOrMore": ":model(phrasing)"
9
9
  }
10
10
  ]
11
11
  },
package/src/spec.bdo.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing"
8
+ "oneOrMore": ":model(phrasing)"
9
9
  }
10
10
  ]
11
11
  },
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#flow"
8
+ "oneOrMore": ":model(flow)"
9
9
  }
10
10
  ]
11
11
  },
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#flow"
8
+ "oneOrMore": ":model(flow)"
9
9
  }
10
10
  ]
11
11
  },
package/src/spec.br.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#flow"
8
+ "oneOrMore": ":model(flow)"
9
9
  }
10
10
  ]
11
11
  },
@@ -5,8 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing",
9
- "notAllowedDescendants": ["#interactive"]
8
+ "oneOrMore": ":model(phrasing):not(:model(interactive), :has(:model(interactive)))"
10
9
  }
11
10
  ]
12
11
  },
@@ -5,8 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing",
9
- "notAllowedDescendants": ["#interactive"]
8
+ "transparent": ":not(:model(interactive), :has(:model(interactive)))"
10
9
  }
11
10
  ]
12
11
  },
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#flow"
8
+ "oneOrMore": ":model(flow)"
9
9
  }
10
10
  ]
11
11
  },
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing"
8
+ "oneOrMore": ":model(phrasing)"
9
9
  }
10
10
  ]
11
11
  },
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing"
8
+ "oneOrMore": ":model(phrasing)"
9
9
  }
10
10
  ]
11
11
  },
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing"
8
+ "oneOrMore": ":model(phrasing)"
9
9
  }
10
10
  ]
11
11
  },
@@ -8,12 +8,12 @@
8
8
  "choice": [
9
9
  [
10
10
  {
11
- "zeroOrMore": "#phrasing"
11
+ "oneOrMore": ":model(phrasing)"
12
12
  }
13
13
  ],
14
14
  [
15
15
  {
16
- "zeroOrMore": ["option", "#script-supporting"]
16
+ "zeroOrMore": ["option", ":model(script-supporting)"]
17
17
  }
18
18
  ]
19
19
  ]
package/src/spec.dd.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#flow"
8
+ "oneOrMore": ":model(flow)"
9
9
  }
10
10
  ]
11
11
  },
package/src/spec.del.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#transparent"
8
+ "transparent": "*"
9
9
  }
10
10
  ]
11
11
  },
@@ -8,7 +8,7 @@
8
8
  "require": "summary"
9
9
  },
10
10
  {
11
- "zeroOrMore": "#flow"
11
+ "oneOrMore": ":model(flow)"
12
12
  }
13
13
  ]
14
14
  },
package/src/spec.dfn.json CHANGED
@@ -5,8 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing",
9
- "notAllowedDescendants": ["dfn"]
8
+ "oneOrMore": ":model(phrasing):not(dfn, :has(dfn))"
10
9
  }
11
10
  ]
12
11
  },
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#flow"
8
+ "oneOrMore": ":model(flow)"
9
9
  }
10
10
  ]
11
11
  },
package/src/spec.div.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#flow"
8
+ "oneOrMore": ":model(flow)"
9
9
  }
10
10
  ],
11
11
  "conditional": [
@@ -13,19 +13,19 @@
13
13
  "condition": "dl > div",
14
14
  "contents": [
15
15
  {
16
- "zeroOrMore": "#script-supporting"
16
+ "zeroOrMore": ":model(script-supporting)"
17
17
  },
18
18
  {
19
19
  "oneOrMore": "dt"
20
20
  },
21
21
  {
22
- "zeroOrMore": "#script-supporting"
22
+ "zeroOrMore": ":model(script-supporting)"
23
23
  },
24
24
  {
25
25
  "oneOrMore": "dd"
26
26
  },
27
27
  {
28
- "zeroOrMore": "#script-supporting"
28
+ "zeroOrMore": ":model(script-supporting)"
29
29
  }
30
30
  ]
31
31
  }
package/src/spec.dl.json CHANGED
@@ -10,26 +10,32 @@
10
10
  {
11
11
  "oneOrMore": [
12
12
  {
13
- "zeroOrMore": "#script-supporting"
13
+ "zeroOrMore": ":model(script-supporting)"
14
14
  },
15
15
  {
16
16
  "oneOrMore": "dt"
17
17
  },
18
18
  {
19
- "zeroOrMore": "#script-supporting"
19
+ "zeroOrMore": ":model(script-supporting)"
20
20
  },
21
21
  {
22
22
  "oneOrMore": "dd"
23
23
  },
24
24
  {
25
- "zeroOrMore": "#script-supporting"
25
+ "zeroOrMore": ":model(script-supporting)"
26
26
  }
27
27
  ]
28
28
  }
29
29
  ],
30
30
  [
31
31
  {
32
- "oneOrMore": ["div", "#script-supporting"]
32
+ "zeroOrMore": ":model(script-supporting)"
33
+ },
34
+ {
35
+ "oneOrMore": "div"
36
+ },
37
+ {
38
+ "zeroOrMore": ":model(script-supporting)"
33
39
  }
34
40
  ]
35
41
  ]
package/src/spec.dt.json CHANGED
@@ -5,8 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#flow",
9
- "notAllowedDescendants": ["header", "footer", "#sectioning", "#heading"]
8
+ "oneOrMore": ":model(flow):not(header, footer, :model(sectioning), :model(heading), :has(header, footer, :model(sectioning), :model(heading)))"
10
9
  }
11
10
  ]
12
11
  },
package/src/spec.em.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing"
8
+ "oneOrMore": ":model(phrasing)"
9
9
  }
10
10
  ]
11
11
  },
@@ -8,7 +8,7 @@
8
8
  "optional": "legend"
9
9
  },
10
10
  {
11
- "zeroOrMore": "#flow"
11
+ "oneOrMore": ":model(flow)"
12
12
  }
13
13
  ]
14
14
  },
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#flow"
8
+ "oneOrMore": ":model(flow)"
9
9
  }
10
10
  ]
11
11
  },
@@ -5,15 +5,26 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "interleave": [
8
+ "choice": [
9
9
  [
10
10
  {
11
- "optional": "figcaption"
11
+ "require": "figcaption"
12
+ },
13
+ {
14
+ "oneOrMore": ":model(flow)"
15
+ }
16
+ ],
17
+ [
18
+ {
19
+ "oneOrMore": ":model(flow)"
20
+ },
21
+ {
22
+ "require": "figcaption"
12
23
  }
13
24
  ],
14
25
  [
15
26
  {
16
- "zeroOrMore": "#flow"
27
+ "oneOrMore": ":model(flow)"
17
28
  }
18
29
  ]
19
30
  ]
@@ -5,8 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#flow",
9
- "notAllowedDescendants": ["header", "footer"]
8
+ "oneOrMore": ":model(flow):not(header, footer, :has(header, footer))"
10
9
  }
11
10
  ]
12
11
  },
@@ -5,8 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#flow",
9
- "notAllowedDescendants": ["form"]
8
+ "oneOrMore": ":model(flow):not(form, :has(form))"
10
9
  }
11
10
  ]
12
11
  },
package/src/spec.h1.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing"
8
+ "oneOrMore": ":model(phrasing)"
9
9
  }
10
10
  ]
11
11
  },
package/src/spec.h2.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing"
8
+ "oneOrMore": ":model(phrasing)"
9
9
  }
10
10
  ]
11
11
  },
package/src/spec.h3.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing"
8
+ "oneOrMore": ":model(phrasing)"
9
9
  }
10
10
  ]
11
11
  },
package/src/spec.h4.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing"
8
+ "oneOrMore": ":model(phrasing)"
9
9
  }
10
10
  ]
11
11
  },
package/src/spec.h5.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing"
8
+ "oneOrMore": ":model(phrasing)"
9
9
  }
10
10
  ]
11
11
  },
package/src/spec.h6.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing"
8
+ "oneOrMore": ":model(phrasing)"
9
9
  }
10
10
  ]
11
11
  },
@@ -5,15 +5,13 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#metadata",
9
- "ignore": "title"
8
+ "zeroOrMore": ":model(metadata):not(title)"
10
9
  },
11
10
  {
12
11
  "require": "title"
13
12
  },
14
13
  {
15
- "zeroOrMore": "#metadata",
16
- "ignore": "title"
14
+ "zeroOrMore": ":model(metadata):not(title)"
17
15
  }
18
16
  ]
19
17
  },
@@ -5,8 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#flow",
9
- "notAllowedDescendants": ["header", "footer"]
8
+ "oneOrMore": ":model(flow):not(header, footer, :has(header, footer))"
10
9
  }
11
10
  ]
12
11
  },
@@ -5,17 +5,25 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "oneOrMore": [
9
- {
10
- "zeroOrMore": "#script-supporting"
11
- },
12
- {
13
- "oneOrMore": ["h1", "h2", "h3", "h4", "h5", "h6"]
14
- },
15
- {
16
- "zeroOrMore": "#script-supporting"
17
- }
18
- ]
8
+ "zeroOrMore": ":model(script-supporting)"
9
+ },
10
+ {
11
+ "zeroOrMore": "p"
12
+ },
13
+ {
14
+ "zeroOrMore": ":model(script-supporting)"
15
+ },
16
+ {
17
+ "require": ["h1", "h2", "h3", "h4", "h5", "h6"]
18
+ },
19
+ {
20
+ "zeroOrMore": ":model(script-supporting)"
21
+ },
22
+ {
23
+ "zeroOrMore": "p"
24
+ },
25
+ {
26
+ "zeroOrMore": ":model(script-supporting)"
19
27
  }
20
28
  ]
21
29
  },
package/src/spec.i.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing"
8
+ "oneOrMore": ":model(phrasing)"
9
9
  }
10
10
  ]
11
11
  },
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#transparent"
8
+ "transparent": "*"
9
9
  }
10
10
  ]
11
11
  },