@markuplint/html-spec 3.0.0-alpha.66 → 3.0.0-dev.24

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 (158) hide show
  1. package/README.md +8 -3
  2. package/index.json +817 -667
  3. package/package.json +8 -8
  4. package/src/spec-common.attributes.json +2 -2
  5. package/src/spec-common.contents.json +80 -1
  6. package/src/spec.a.json +2 -3
  7. package/src/spec.abbr.json +1 -1
  8. package/src/spec.address.json +1 -2
  9. package/src/spec.article.json +1 -1
  10. package/src/spec.aside.json +1 -1
  11. package/src/spec.audio.json +2 -4
  12. package/src/spec.b.json +1 -1
  13. package/src/spec.bdi.json +1 -1
  14. package/src/spec.bdo.json +1 -1
  15. package/src/spec.blockquote.json +1 -1
  16. package/src/spec.body.json +1 -1
  17. package/src/spec.br.json +1 -1
  18. package/src/spec.button.json +1 -2
  19. package/src/spec.canvas.json +1 -2
  20. package/src/spec.caption.json +1 -1
  21. package/src/spec.cite.json +1 -1
  22. package/src/spec.code.json +1 -1
  23. package/src/spec.data.json +1 -1
  24. package/src/spec.datalist.json +2 -2
  25. package/src/spec.dd.json +1 -1
  26. package/src/spec.del.json +1 -1
  27. package/src/spec.details.json +1 -1
  28. package/src/spec.dfn.json +1 -2
  29. package/src/spec.dialog.json +1 -1
  30. package/src/spec.div.json +4 -4
  31. package/src/spec.dl.json +10 -4
  32. package/src/spec.dt.json +1 -2
  33. package/src/spec.em.json +1 -1
  34. package/src/spec.fieldset.json +1 -1
  35. package/src/spec.figcaption.json +1 -1
  36. package/src/spec.figure.json +14 -3
  37. package/src/spec.footer.json +1 -2
  38. package/src/spec.form.json +1 -2
  39. package/src/spec.h1.json +1 -1
  40. package/src/spec.h2.json +1 -1
  41. package/src/spec.h3.json +1 -1
  42. package/src/spec.h4.json +1 -1
  43. package/src/spec.h5.json +1 -1
  44. package/src/spec.h6.json +1 -1
  45. package/src/spec.head.json +2 -4
  46. package/src/spec.header.json +1 -2
  47. package/src/spec.hgroup.json +19 -11
  48. package/src/spec.i.json +1 -1
  49. package/src/spec.iframe.json +1 -5
  50. package/src/spec.input.json +10 -10
  51. package/src/spec.ins.json +1 -1
  52. package/src/spec.kbd.json +1 -1
  53. package/src/spec.label.json +1 -2
  54. package/src/spec.legend.json +1 -1
  55. package/src/spec.li.json +1 -1
  56. package/src/spec.main.json +1 -1
  57. package/src/spec.map.json +1 -1
  58. package/src/spec.mark.json +1 -1
  59. package/src/spec.menu.json +1 -1
  60. package/src/spec.meter.json +2 -3
  61. package/src/spec.nav.json +1 -1
  62. package/src/spec.noscript.json +1 -1
  63. package/src/spec.object.json +1 -1
  64. package/src/spec.ol.json +1 -1
  65. package/src/spec.option.json +1 -1
  66. package/src/spec.output.json +1 -1
  67. package/src/spec.p.json +1 -1
  68. package/src/spec.picture.json +3 -3
  69. package/src/spec.portal.json +1 -1
  70. package/src/spec.pre.json +1 -1
  71. package/src/spec.progress.json +2 -3
  72. package/src/spec.q.json +1 -2
  73. package/src/spec.rp.json +1 -2
  74. package/src/spec.rt.json +1 -1
  75. package/src/spec.ruby.json +1 -2
  76. package/src/spec.s.json +1 -1
  77. package/src/spec.samp.json +1 -1
  78. package/src/spec.script.json +1 -1
  79. package/src/spec.section.json +1 -1
  80. package/src/spec.select.json +2 -2
  81. package/src/spec.slot.json +1 -1
  82. package/src/spec.small.json +1 -1
  83. package/src/spec.span.json +1 -1
  84. package/src/spec.strong.json +1 -1
  85. package/src/spec.sub.json +1 -1
  86. package/src/spec.summary.json +2 -2
  87. package/src/spec.sup.json +1 -1
  88. package/src/spec.svg_a.json +3 -4
  89. package/src/spec.svg_animate.json +1 -1
  90. package/src/spec.svg_animateMotion.json +3 -3
  91. package/src/spec.svg_animateTransform.json +1 -1
  92. package/src/spec.svg_circle.json +3 -3
  93. package/src/spec.svg_clipPath.json +8 -1
  94. package/src/spec.svg_defs.json +5 -5
  95. package/src/spec.svg_desc.json +1 -1
  96. package/src/spec.svg_discard.json +1 -1
  97. package/src/spec.svg_ellipse.json +3 -3
  98. package/src/spec.svg_feBlend.json +1 -1
  99. package/src/spec.svg_feColorMatrix.json +1 -1
  100. package/src/spec.svg_feComponentTransfer.json +1 -1
  101. package/src/spec.svg_feComposite.json +1 -1
  102. package/src/spec.svg_feConvolveMatrix.json +1 -1
  103. package/src/spec.svg_feDiffuseLighting.json +5 -5
  104. package/src/spec.svg_feDisplacementMap.json +1 -1
  105. package/src/spec.svg_feDistantLight.json +1 -1
  106. package/src/spec.svg_feDropShadow.json +1 -1
  107. package/src/spec.svg_feFlood.json +1 -1
  108. package/src/spec.svg_feFuncA.json +1 -1
  109. package/src/spec.svg_feFuncB.json +1 -1
  110. package/src/spec.svg_feFuncG.json +1 -1
  111. package/src/spec.svg_feFuncR.json +1 -1
  112. package/src/spec.svg_feGaussianBlur.json +1 -1
  113. package/src/spec.svg_feImage.json +1 -1
  114. package/src/spec.svg_feMerge.json +1 -1
  115. package/src/spec.svg_feMergeNode.json +1 -1
  116. package/src/spec.svg_feMorphology.json +1 -1
  117. package/src/spec.svg_feOffset.json +1 -1
  118. package/src/spec.svg_fePointLight.json +1 -1
  119. package/src/spec.svg_feSpecularLighting.json +5 -5
  120. package/src/spec.svg_feSpotLight.json +1 -1
  121. package/src/spec.svg_feTile.json +1 -1
  122. package/src/spec.svg_feTurbulence.json +3 -2
  123. package/src/spec.svg_filter.json +1 -1
  124. package/src/spec.svg_g.json +5 -5
  125. package/src/spec.svg_image.json +2 -2
  126. package/src/spec.svg_line.json +3 -3
  127. package/src/spec.svg_linearGradient.json +1 -1
  128. package/src/spec.svg_marker.json +5 -5
  129. package/src/spec.svg_mask.json +5 -5
  130. package/src/spec.svg_metadata.json +1 -1
  131. package/src/spec.svg_mpath.json +1 -1
  132. package/src/spec.svg_path.json +3 -3
  133. package/src/spec.svg_pattern.json +5 -5
  134. package/src/spec.svg_polygon.json +3 -3
  135. package/src/spec.svg_polyline.json +3 -3
  136. package/src/spec.svg_radialGradient.json +1 -1
  137. package/src/spec.svg_rect.json +3 -3
  138. package/src/spec.svg_script.json +1 -1
  139. package/src/spec.svg_set.json +1 -1
  140. package/src/spec.svg_svg.json +5 -5
  141. package/src/spec.svg_switch.json +2 -2
  142. package/src/spec.svg_symbol.json +5 -5
  143. package/src/spec.svg_text.json +4 -4
  144. package/src/spec.svg_textPath.json +2 -2
  145. package/src/spec.svg_title.json +1 -1
  146. package/src/spec.svg_tspan.json +2 -2
  147. package/src/spec.svg_use.json +2 -2
  148. package/src/spec.svg_view.json +1 -1
  149. package/src/spec.table.json +6 -6
  150. package/src/spec.td.json +4 -4
  151. package/src/spec.template.json +1 -5
  152. package/src/spec.th.json +7 -8
  153. package/src/spec.time.json +1 -1
  154. package/src/spec.tr.json +1 -1
  155. package/src/spec.u.json +1 -1
  156. package/src/spec.ul.json +1 -1
  157. package/src/spec.var.json +1 -1
  158. package/src/spec.video.json +2 -4
@@ -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
  },
@@ -3,11 +3,7 @@
3
3
  // https://w3c.github.io/html-aria/#el-iframe
4
4
  {
5
5
  "contentModel": {
6
- "contents": [
7
- {
8
- "zeroOrMore": "#transparent"
9
- }
10
- ]
6
+ "contents": false
11
7
  },
12
8
  "globalAttrs": {
13
9
  "#HTMLGlobalAttrs": true,
@@ -331,7 +331,7 @@
331
331
  // Otherwise, any global aria-* attributes and any aria-* attributes applicable to the allowed roles.
332
332
  "global": true,
333
333
  "role": true,
334
- "whithout": [
334
+ "without": [
335
335
  {
336
336
  // Authors MUST NOT use the aria-checked attribute on input type=checkbox elements.
337
337
  "type": "must-not",
@@ -353,7 +353,7 @@
353
353
  // Otherwise, any global aria-* attributes and any aria-* attributes applicable to the allowed roles.
354
354
  "global": true,
355
355
  "role": true,
356
- "whithout": [
356
+ "without": [
357
357
  {
358
358
  // Authors MUST NOT use the aria-checked attribute on input type=checkbox elements.
359
359
  "type": "must-not",
@@ -443,7 +443,7 @@
443
443
  "properties": {
444
444
  "global": true,
445
445
  "role": true,
446
- "whithout": [
446
+ "without": [
447
447
  {
448
448
  // Authors MUST NOT use the aria-checked attribute on input type=radio elements.
449
449
  "type": "must-not",
@@ -464,7 +464,7 @@
464
464
  "global": true,
465
465
  "role": "slider",
466
466
  // Authors SHOULD NOT use the aria-valuemax or aria-valuemin attributes on input type=range.
467
- "whithout": [
467
+ "without": [
468
468
  {
469
469
  "type": "should-not",
470
470
  "name": "aria-valuemax"
@@ -515,7 +515,7 @@
515
515
  "global": true,
516
516
  "role": "combobox",
517
517
  // Authors SHOULD NOT use the aria-haspopup attribute on the indicated inputs with a list attribute.
518
- "whithout": [
518
+ "without": [
519
519
  {
520
520
  "type": "should-not",
521
521
  "name": "aria-haspopup"
@@ -577,7 +577,7 @@
577
577
  // Otherwise, any global aria-* attributes and any aria-* attributes applicable to the allowed roles.
578
578
  "global": true,
579
579
  "role": true,
580
- "whithout": [
580
+ "without": [
581
581
  {
582
582
  "type": "should-not",
583
583
  "name": "aria-checked", // The HTML checked attribute can be used instead of the aria-checked attribute for menuitemcheckbox, option or switch roles when used on type=checkbox.
@@ -598,7 +598,7 @@
598
598
  // Otherwise, any global aria-* attributes and any aria-* attributes applicable to the allowed roles.
599
599
  "global": true,
600
600
  "role": true,
601
- "whithout": [
601
+ "without": [
602
602
  {
603
603
  "type": "should-not",
604
604
  "name": "aria-hecked"
@@ -683,7 +683,7 @@
683
683
  "global": true,
684
684
  "role": true,
685
685
  // Authors SHOULD NOT use the aria-checked attribute on input type=radio elements.
686
- "whithout": [
686
+ "without": [
687
687
  {
688
688
  "type": "should-not",
689
689
  "name": "aria-checked",
@@ -703,7 +703,7 @@
703
703
  "global": true,
704
704
  "role": "slider",
705
705
  // Authors SHOULD NOT use the aria-valuemax or aria-valuemin attributes on input type=range.
706
- "whithout": [
706
+ "without": [
707
707
  {
708
708
  "type": "should-not",
709
709
  "name": "aria-valuemax"
@@ -754,7 +754,7 @@
754
754
  "global": true,
755
755
  "role": "combobox",
756
756
  // Authors SHOULD NOT use the aria-haspopup attribute on the indicated inputs with a list attribute.
757
- "whithout": [
757
+ "without": [
758
758
  {
759
759
  "type": "should-not",
760
760
  "name": "aria-haspopup"
package/src/spec.ins.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
  },
package/src/spec.kbd.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,8 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing",
9
- "notAllowedDescendants": ["label"]
8
+ "oneOrMore": ":model(phrasing):not(label, :has(label))"
10
9
  }
11
10
  ]
12
11
  },
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": ["#phrasing", "#heading"]
8
+ "zeroOrMore": [":model(phrasing)", ":model(heading)"]
9
9
  }
10
10
  ]
11
11
  },
package/src/spec.li.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,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.map.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
  },
@@ -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": ["li", "#script-supporting"]
8
+ "zeroOrMore": ["li", ":model(script-supporting)"]
9
9
  }
10
10
  ]
11
11
  },
@@ -5,8 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing",
9
- "notAllowedDescendants": ["meter"]
8
+ "oneOrMore": ":model(phrasing):not(meter, :has(meter))"
10
9
  }
11
10
  ]
12
11
  },
@@ -48,7 +47,7 @@
48
47
  "properties": {
49
48
  "global": true,
50
49
  // Authors SHOULD NOT use the aria-valuemax or aria-valuemin attributes on meter elements.
51
- "whithout": [
50
+ "without": [
52
51
  {
53
52
  "type": "should-not",
54
53
  "name": "aria-valuemax"
package/src/spec.nav.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,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#flow"
8
+ "transparent": ":not(noscript)"
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.ol.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": ["li", "#script-supporting"]
8
+ "zeroOrMore": ["li", ":model(script-supporting)"]
9
9
  }
10
10
  ]
11
11
  },
@@ -59,7 +59,7 @@
59
59
  "global": true,
60
60
  "role": "option",
61
61
  // Authors SHOULD NOT use the aria-selected attribute on the option element.
62
- "whithout": [
62
+ "without": [
63
63
  {
64
64
  "type": "should-not",
65
65
  "name": "aria-selected"
@@ -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.p.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,19 +5,19 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#script-supporting"
8
+ "zeroOrMore": ":model(script-supporting)"
9
9
  },
10
10
  {
11
11
  "zeroOrMore": "source"
12
12
  },
13
13
  {
14
- "zeroOrMore": "#script-supporting"
14
+ "zeroOrMore": ":model(script-supporting)"
15
15
  },
16
16
  {
17
17
  "require": "img"
18
18
  },
19
19
  {
20
- "zeroOrMore": "#script-supporting"
20
+ "zeroOrMore": ":model(script-supporting)"
21
21
  }
22
22
  ]
23
23
  },
@@ -3,7 +3,7 @@
3
3
  "contentModel": {
4
4
  "contents": [
5
5
  {
6
- "zeroOrMore": "#transparent"
6
+ "transparent": "*"
7
7
  }
8
8
  ]
9
9
  },
package/src/spec.pre.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,8 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing",
9
- "notAllowedDescendants": ["progress"]
8
+ "oneOrMore": ":model(phrasing):not(progress, :has(progress))"
10
9
  }
11
10
  ]
12
11
  },
@@ -34,7 +33,7 @@
34
33
  "global": true,
35
34
  "role": "progressbar",
36
35
  // Authors SHOULD NOT use the aria-valuemax attribute on progress elements.
37
- "whithout": [
36
+ "without": [
38
37
  {
39
38
  "type": "should-not",
40
39
  "name": "aria-valuemax"
package/src/spec.q.json CHANGED
@@ -5,8 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing",
9
- "notAllowedDescendants": ["progress"]
8
+ "oneOrMore": ":model(phrasing)"
10
9
  }
11
10
  ]
12
11
  },
package/src/spec.rp.json CHANGED
@@ -5,8 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#phrasing",
9
- "notAllowedDescendants": ["progress"]
8
+ "oneOrMore": "#text"
10
9
  }
11
10
  ]
12
11
  },
package/src/spec.rt.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
  },
@@ -7,8 +7,7 @@
7
7
  {
8
8
  "oneOrMore": [
9
9
  {
10
- "require": "#phrasing",
11
- "notAllowedDescendants": ["ruby"]
10
+ "require": ":model(phrasing):not(ruby, :has(ruby))"
12
11
  },
13
12
  {
14
13
  "choice": [
package/src/spec.s.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": "#phrasing"
8
+ "oneOrMore": ":model(phrasing)"
9
9
  }
10
10
  ]
11
11
  },
@@ -31,7 +31,7 @@
31
31
  "type": [
32
32
  "MIMEType",
33
33
  {
34
- "enum": ["module"],
34
+ "enum": ["module", "importmap"],
35
35
  "caseInsensitive": true
36
36
  }
37
37
  ]
@@ -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
  },
@@ -37,7 +37,7 @@
37
37
  "global": true,
38
38
  "role": ["combobox", "menu"],
39
39
  // Authors SHOULD NOT use the aria-multiselectable attribute on a select element.
40
- "whithout": [
40
+ "without": [
41
41
  {
42
42
  "type": "should-not",
43
43
  "name": "aria-multiselectable"
@@ -53,7 +53,7 @@
53
53
  "global": true,
54
54
  "role": "listbox",
55
55
  // Authors SHOULD NOT use the aria-multiselectable attribute on a select element.
56
- "whithout": [
56
+ "without": [
57
57
  {
58
58
  "type": "should-not",
59
59
  "name": "aria-multiselectable"
@@ -5,7 +5,7 @@
5
5
  "contentModel": {
6
6
  "contents": [
7
7
  {
8
- "zeroOrMore": "#transparent"
8
+ "transparent": "*"
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": "#flow"
8
+ "oneOrMore": ":model(flow)"
9
9
  }
10
10
  ]
11
11
  },
package/src/spec.sub.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,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
- "require": "#heading"
16
+ "require": ":model(heading)"
17
17
  }
18
18
  ]
19
19
  ]
package/src/spec.sup.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
  },
@@ -7,15 +7,14 @@
7
7
  "condition": "svg|switch > svg|a",
8
8
  "contents": [
9
9
  {
10
- "zeroOrMore": "#transparent"
10
+ "transparent": "*"
11
11
  }
12
12
  ]
13
13
  }
14
14
  ],
15
15
  "contents": [
16
16
  {
17
- "zeroOrMore": ["#SVGDescriptive", "#transparent"],
18
- "ignore": "svg|a"
17
+ "transparent": "*, :model(SVGDescriptive):not(svg|a, :has(svg|a))"
19
18
  }
20
19
  ]
21
20
  },
@@ -111,7 +110,7 @@
111
110
  "graphics-aam": true
112
111
  },
113
112
  "conditions": {
114
- "[href], [xlink:href]": {
113
+ "[href], [xlink|href]": {
115
114
  "implicitRole": "link"
116
115
  }
117
116
  }
@@ -4,7 +4,7 @@
4
4
  "contentModel": {
5
5
  "contents": [
6
6
  {
7
- "zeroOrMore": ["#SVGDescriptive", "svg|script"]
7
+ "zeroOrMore": [":model(SVGDescriptive)", "svg|script"]
8
8
  }
9
9
  ]
10
10
  },
@@ -4,10 +4,10 @@
4
4
  "contentModel": {
5
5
  "contents": [
6
6
  {
7
- "interleave": [
7
+ "choice": [
8
8
  [
9
9
  {
10
- "oneOrMore": ["#SVGDescriptive", "svg|script"]
10
+ "oneOrMore": [":model(SVGDescriptive)", "svg|script"]
11
11
  },
12
12
  {
13
13
  "optional": "svg|mpath"
@@ -18,7 +18,7 @@
18
18
  "optional": "svg|mpath"
19
19
  },
20
20
  {
21
- "oneOrMore": ["#SVGDescriptive", "svg|script"]
21
+ "oneOrMore": [":model(SVGDescriptive)", "svg|script"]
22
22
  }
23
23
  ]
24
24
  ]
@@ -4,7 +4,7 @@
4
4
  "contentModel": {
5
5
  "contents": [
6
6
  {
7
- "zeroOrMore": ["#SVGDescriptive", "svg|script"]
7
+ "zeroOrMore": [":model(SVGDescriptive)", "svg|script"]
8
8
  }
9
9
  ]
10
10
  },