update html5 schema

This commit is contained in:
Dennis Ushakov
2017-03-22 17:15:51 +03:00
parent 771e9ee1f4
commit 0eedc0a8af
43 changed files with 885 additions and 272 deletions
@@ -13,7 +13,6 @@ SVG.foreignObject.content |=
| common.inner.flow
)
SVG.Core.attrib &= common.attrs.aria?
SVG.Core.attrib &= aria.global?
annotation-xml.model.svg |= svg
@@ -32,3 +31,21 @@ SVG.metadata.content |= common.inner.flow
# cannot; see http://www.w3.org/Bugs/Public/show_bug.cgi?id=9859#c8 for a
# rationale
mtext.content |= common.elem.phrasing
SVG.vector-effect.attrib =
attribute vector-effect {
string "none" | string "non-scaling-stroke"
}
attlist.circle &= SVG.vector-effect.attrib?
attlist.ellipse &= SVG.vector-effect.attrib?
attlist.foreignObject &= SVG.vector-effect.attrib?
attlist.image &= SVG.vector-effect.attrib?
attlist.line &= SVG.vector-effect.attrib?
attlist.path &= SVG.vector-effect.attrib?
attlist.polygon &= SVG.vector-effect.attrib?
attlist.polyline &= SVG.vector-effect.attrib?
attlist.rect &= SVG.vector-effect.attrib?
attlist.text &= SVG.vector-effect.attrib?
attlist.tspan &= SVG.vector-effect.attrib?
attlist.use &= SVG.vector-effect.attrib?
@@ -184,31 +184,31 @@ datatypes w = "http://whattf.org/datatype-draft"
mli.inner =
( common.inner.flow )
## Popup menu: <menu type=popup>
## Popup menu: <menu type=context>
menu.popup.elem =
element menu { menu.popup.inner & menu.popup.attrs }
menu.popup.attrs =
menu.context.elem =
element menu { menu.context.inner & menu.context.attrs }
menu.context.attrs =
( common.attrs
& menu.popup.attrs.type?
& menu.context.attrs.type?
& menu.attrs.label?
& common.attrs.aria?
)
menu.popup.attrs.type =
menu.context.attrs.type =
attribute type {
w:string "popup"
w:string "context"
}
menu.attrs.label =
attribute label {
string
}
menu.popup.inner =
menu.context.inner =
( menuitem.elem*
& hr.elem*
& menu.popup.elem*
& menu.context.elem*
& common.elem.script-supporting*
)
menu.elem |= menu.popup.elem
menu.elem |= menu.context.elem
## Ambiguous menu: <menu> (with no "type" attribute)
menu.ambiguous.elem =
@@ -13,19 +13,24 @@ aria.global =
( aria.prop.atomic?
& aria.state.busy?
& aria.prop.controls?
& aria.state.current?
& aria.prop.describedby?
& aria.prop.details?
& aria.state.disabled?
& aria.state.dropeffect?
& aria.prop.errormessage?
& aria.prop.flowto?
& aria.state.grabbed?
& aria.prop.haspopup?
& aria.state.hidden?
& aria.state.invalid?
& aria.prop.keyshortcuts?
& aria.prop.label?
& aria.prop.labelledby?
& aria.prop.live?
& aria.prop.owns?
& aria.prop.relevant?
& aria.prop.roledescription?
)
common.attrs.other &= aria.global?
@@ -37,6 +42,12 @@ common.attrs.aria.implicit.button |=
& aria.state.pressed?
)
common.attrs.aria.implicit.cell |=
( aria.prop.colspan?
& aria.prop.rowspan?
& aria.prop.rowindex?
)
common.attrs.aria.implicit.checkbox |=
( aria.state.checked? )
@@ -45,6 +56,7 @@ common.attrs.aria.implicit.combobox |=
& aria.prop.autocomplete?
& aria.prop.required?
& aria.prop.activedescendant?
& aria.prop.readonly?
)
common.attrs.aria.implicit.dialog |=
@@ -53,6 +65,9 @@ common.attrs.aria.implicit.dialog |=
common.attrs.aria.implicit.document |=
( aria.state.expanded? )
common.attrs.aria.implicit.figure |=
( aria.state.expanded? )
common.attrs.aria.implicit.form |=
( aria.state.expanded? )
@@ -107,6 +122,27 @@ common.attrs.aria.implicit.radio |=
& aria.state.selected?
)
common.attrs.aria.implicit.row |=
( aria.prop.level? # not inherited
& aria.state.selected? # not inherited
& aria.prop.activedescendant?
& aria.state.expanded?
)
common.attrs.aria.implicit.rowgroup |=
( aria.prop.activedescendant?
& aria.state.expanded?
)
common.attrs.aria.implicit.searchbox |=
( aria.prop.activedescendant?
& aria.prop.autocomplete?
& aria.prop.multiline?
& aria.prop.placeholder?
& aria.prop.readonly?
& aria.prop.required?
)
common.attrs.aria.implicit.slider |=
( aria.prop.valuemax?
& aria.prop.valuemin?
@@ -123,6 +159,11 @@ common.attrs.aria.implicit.spinbutton |=
& aria.prop.required?
)
common.attrs.aria.implicit.table |=
( aria.prop.colcount?
& aria.prop.rowcount?
)
common.attrs.aria.implicit.textbox |=
( aria.prop.activedescendant?
& aria.prop.autocomplete?
@@ -198,6 +239,18 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
| string "false" #default
}
## current
aria.state.current =
attribute aria-current
{ string "page"
| string "step"
| string "location"
| string "date"
| string "time"
| string "true"
| string "false" #default
}
## checked
aria.state.checked =
attribute aria-checked
@@ -322,6 +375,24 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
| string "none" #default
}
## colcount
aria.prop.colcount =
attribute aria-colcount {
common.data.integer.positive
}
## colindex
aria.prop.colindex =
attribute aria-colindex {
common.data.integer.positive
}
## colspan
aria.prop.colspan =
attribute aria-colspan {
common.data.integer.positive
}
## controls
aria.prop.controls =
attribute aria-controls {
@@ -334,6 +405,18 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
common.data.idrefs #REVISIT add Schematron check
}
## details
aria.prop.details =
attribute aria-details {
common.data.idref
}
## errormessage
aria.prop.errormessage =
attribute aria-errormessage {
common.data.idref
}
## flowto
aria.prop.flowto =
attribute aria-flowto {
@@ -347,6 +430,12 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
| string "false" #default
}
## keyshortcuts
aria.prop.keyshortcuts =
attribute aria-keyshortcuts {
string
}
## label
aria.prop.label =
attribute aria-label {
@@ -373,6 +462,13 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
| string "assertive"
}
## modal
aria.prop.modal =
attribute aria-modal
{ string "true"
| string "false" #default
}
## multiline
aria.prop.multiline =
attribute aria-multiline
@@ -392,6 +488,7 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
attribute aria-orientation
{ string "vertical"
| string "horizontal" #default
| string "undefined"
}
## owns
@@ -400,6 +497,12 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
common.data.idrefs #REVISIT add Schematron check
}
## placeholder
aria.prop.placeholder =
attribute aria-placeholder {
string
}
## posinset
aria.prop.posinset =
attribute aria-posinset {
@@ -457,6 +560,30 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
| string "false" #default
}
## roledescription
aria.prop.roledescription =
attribute aria-roledescription {
string
}
## rowcount
aria.prop.rowcount =
attribute aria-rowcount {
common.data.integer.positive
}
## rowindex
aria.prop.rowindex =
attribute aria-rowindex {
common.data.integer.positive
}
## rowspan
aria.prop.rowspan =
attribute aria-rowspan {
common.data.integer.positive
}
## setsize
aria.prop.setsize =
attribute aria-setsize {
@@ -514,6 +641,7 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
aria.alertdialog =
( aria.role.alertdialog
& aria.state.expanded?
& aria.prop.modal?
)
aria.role.alertdialog =
attribute role { string "alertdialog" }
@@ -566,6 +694,18 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
common.attrs.aria |= aria.button
common.attrs.aria.role.button |= aria.button
## cell
aria.cell =
( aria.role.cell
& aria.prop.colspan?
& aria.prop.rowspan?
& aria.prop.rowindex?
)
aria.role.cell =
attribute role { string "cell" }
common.attrs.aria |= aria.cell
common.attrs.aria.role.cell |= aria.cell
## checkbox
aria.checkbox =
( aria.role.checkbox
@@ -585,6 +725,9 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
& aria.state.selected? # not inherited
& aria.state.expanded?
& aria.prop.required?
& aria.prop.colspan?
& aria.prop.rowspan?
& aria.prop.rowindex?
)
aria.role.columnheader =
attribute role { string "columnheader" }
@@ -593,11 +736,14 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
## combobox
aria.combobox =
# aria.prop.controls TODO: required! add check to Assertions
( aria.role.combobox
& aria.prop.activedescendant?
& aria.state.expanded #required!
& aria.prop.autocomplete?
& aria.prop.required?
& aria.prop.readonly?
& aria.prop.orientation?
)
aria.role.combobox =
attribute role { string "combobox" }
@@ -641,6 +787,7 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
aria.dialog =
( aria.role.dialog
& aria.state.expanded?
& aria.prop.modal?
)
aria.role.dialog =
attribute role { string "dialog" }
@@ -670,6 +817,28 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
common.attrs.aria |= aria.document
common.attrs.aria.landmark.document |= aria.document
## feed
aria.feed =
( aria.role.feed
& aria.state.expanded?
)
aria.role.feed =
attribute role { string "feed" }
common.attrs.aria |= aria.feed
common.attrs.aria.role.feed |= aria.feed
## figure
aria.figure =
( aria.role.figure
& aria.state.expanded?
)
aria.role.figure =
attribute role { string "figure" }
common.attrs.aria |= aria.figure
common.attrs.aria.role.figure |= aria.figure
## form
aria.form =
( aria.role.form
@@ -689,6 +858,8 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
& aria.prop.readonly? # not inherited
& aria.prop.activedescendant?
& aria.state.expanded?
& aria.prop.colcount?
& aria.prop.rowcount?
)
aria.role.grid =
attribute role { string "grid" }
@@ -703,6 +874,9 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
& aria.state.selected? # not inherited
& aria.state.expanded?
& aria.prop.required?
& aria.prop.colspan?
& aria.prop.rowspan?
& aria.prop.rowindex?
)
aria.role.gridcell =
attribute role { string "gridcell" }
@@ -721,6 +895,30 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
common.attrs.aria |= aria.group
common.attrs.aria.role.group |= aria.group
## graphics-document
aria.graphics-document =
( aria.role.graphics-document )
aria.role.graphics-document =
attribute role { string "graphics-document" }
common.attrs.aria |= aria.graphics-document
common.attrs.aria.role.graphics-document |= aria.graphics-document
## graphics-object
aria.graphics-object =
( aria.role.graphics-object )
aria.role.graphics-object =
attribute role { string "graphics-object" }
common.attrs.aria |= aria.graphics-object
common.attrs.aria.role.graphics-object |= aria.graphics-object
## graphics-symbol
aria.graphics-symbol =
( aria.role.graphics-symbol )
aria.role.graphics-symbol =
attribute role { string "graphics-symbol" }
common.attrs.aria |= aria.graphics-symbol
common.attrs.aria.role.graphics-symbol |= aria.graphics-symbol
## heading
aria.heading =
( aria.role.heading
@@ -773,6 +971,7 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
& aria.prop.required?
& aria.prop.activedescendant?
& aria.state.expanded?
& aria.prop.orientation?
)
aria.role.listbox =
attribute role { string "listbox" }
@@ -842,6 +1041,7 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
( aria.role.menu
& aria.prop.activedescendant?
& aria.state.expanded?
& aria.prop.orientation?
)
aria.role.menu =
attribute role { string "menu" }
@@ -854,6 +1054,7 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
( aria.role.menubar
& aria.prop.activedescendant?
& aria.state.expanded?
& aria.prop.orientation?
)
aria.role.menubar =
attribute role { string "menubar" }
@@ -907,6 +1108,14 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
common.attrs.aria |= aria.navigation
common.attrs.aria.landmark.navigation |= aria.navigation
## none
aria.none =
( aria.role.none )
aria.role.none =
attribute role { string "none" }
common.attrs.aria |= aria.none
common.attrs.aria.role.none |= aria.none
## note
aria.note =
( aria.role.note
@@ -932,12 +1141,9 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
common.attrs.aria |= aria.option
common.attrs.aria.role.option |= aria.option
## presentation
aria.presentation =
( aria.role.presentation
& aria.state.expanded?
)
( aria.role.presentation )
aria.role.presentation =
attribute role { string "presentation" }
@@ -978,11 +1184,13 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
& aria.prop.activedescendant?
& aria.state.expanded?
& aria.prop.required?
& aria.prop.orientation?
)
aria.role.radiogroup =
attribute role { string "radiogroup" }
common.attrs.aria |= aria.radiogroup
common.attrs.aria.role.radiogroup |= aria.radiogroup
## region
aria.region =
@@ -1002,6 +1210,8 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
& aria.state.selected? # not inherited
& aria.prop.activedescendant?
& aria.state.expanded?
& aria.prop.colindex?
& aria.prop.rowindex?
)
aria.role.row =
attribute role { string "row" }
@@ -1018,6 +1228,7 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
attribute role { string "rowgroup" }
common.attrs.aria |= aria.rowgroup
common.attrs.aria.role.rowgroup |= aria.rowgroup
# rowheader
aria.rowheader =
@@ -1027,12 +1238,30 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
& aria.state.selected? # not inherited
& aria.state.expanded?
& aria.prop.required?
& aria.prop.colspan?
& aria.prop.rowspan?
& aria.prop.rowindex?
)
aria.role.rowheader =
attribute role { string "rowheader" }
common.attrs.aria |= aria.rowheader
## searchbox
aria.searchbox =
( aria.role.searchbox
& aria.prop.activedescendant?
& aria.prop.autocomplete?
& aria.prop.multiline?
& aria.prop.placeholder?
& aria.prop.readonly?
& aria.prop.required?
)
aria.role.searchbox =
attribute role { string "searchbox" }
common.attrs.aria |= aria.searchbox
common.attrs.aria.role.searchbox |= aria.searchbox
## scrollbar
aria.scrollbar =
( aria.role.scrollbar
@@ -1051,6 +1280,7 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
aria.search =
( aria.role.search
& aria.state.expanded?
& aria.prop.orientation?
)
aria.role.search =
attribute role { string "search" }
@@ -1134,6 +1364,17 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
common.attrs.aria |= aria.tab
common.attrs.aria.role.tab |= aria.tab
## table
aria.table =
( aria.role.table
& aria.prop.colcount?
& aria.prop.rowcount?
)
aria.role.table =
attribute role { string "table" }
common.attrs.aria |= aria.table
common.attrs.aria.role.table |= aria.table
## tablist
aria.tablist =
( aria.role.tablist
@@ -1141,6 +1382,7 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
& aria.state.expanded?
& aria.prop.level?
& aria.prop.multiselectable?
& aria.prop.orientation?
)
aria.role.tablist =
attribute role { string "tablist" }
@@ -1158,12 +1400,21 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
common.attrs.aria |= aria.tabpanel
common.attrs.aria.role.tabpanel |= aria.tabpanel
## term
aria.term =
( aria.role.term )
aria.role.term =
attribute role { string "term" }
common.attrs.aria |= aria.term
common.attrs.aria.role.term |= aria.term
## textbox
aria.textbox =
( aria.role.textbox
& aria.prop.activedescendant?
& aria.prop.autocomplete? # not inherited
& aria.prop.multiline? # not inherited
& aria.prop.placeholder?
& aria.prop.readonly? # not inherited
& aria.prop.required?
)
@@ -1188,6 +1439,7 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
( aria.role.toolbar
& aria.prop.activedescendant?
& aria.state.expanded?
& aria.prop.orientation?
)
aria.role.toolbar =
attribute role { string "toolbar" }
@@ -1212,6 +1464,7 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
& aria.prop.activedescendant?
& aria.state.expanded?
& aria.prop.required?
& aria.prop.orientation?
)
aria.role.tree =
attribute role { string "tree" }
@@ -1228,6 +1481,9 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
& aria.prop.multiselectable?
& aria.prop.readonly?
& aria.prop.required?
& aria.prop.orientation?
& aria.prop.colcount?
& aria.prop.rowcount?
)
aria.role.treegrid =
attribute role { string "treegrid" }
@@ -1249,3 +1505,201 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
common.attrs.aria |= aria.treeitem
common.attrs.aria.role.treeitem |= aria.treeitem
# #####################################################################
## https://w3c.github.io/aria/aria/dpub.html
aria.doc-abstract = aria.role.doc-abstract
aria.role.doc-abstract = attribute role { string "doc-abstract" }
common.attrs.aria |= aria.doc-abstract
common.attrs.aria.role.doc-abstract |= aria.doc-abstract
aria.doc-acknowledgments = aria.role.doc-acknowledgments
aria.role.doc-acknowledgments = attribute role { string "doc-acknowledgments" }
common.attrs.aria |= aria.doc-acknowledgments
common.attrs.aria.role.doc-acknowledgments |= aria.doc-acknowledgments
aria.doc-afterword = aria.role.doc-afterword
aria.role.doc-afterword = attribute role { string "doc-afterword" }
common.attrs.aria |= aria.doc-afterword
common.attrs.aria.role.doc-afterword |= aria.doc-afterword
aria.doc-appendix = aria.role.doc-appendix
aria.role.doc-appendix = attribute role { string "doc-appendix" }
common.attrs.aria |= aria.doc-appendix
common.attrs.aria.role.doc-appendix |= aria.doc-appendix
aria.doc-backlink = aria.role.doc-backlink
aria.role.doc-backlink = attribute role { string "doc-backlink" }
common.attrs.aria |= aria.doc-backlink
common.attrs.aria.role.doc-backlink |= aria.doc-backlink
aria.doc-biblioentry = aria.role.doc-biblioentry
aria.role.doc-biblioentry = attribute role { string "doc-biblioentry" }
common.attrs.aria |= aria.doc-biblioentry
common.attrs.aria.role.doc-biblioentry |= aria.doc-biblioentry
aria.doc-bibliography = aria.role.doc-bibliography
aria.role.doc-bibliography = attribute role { string "doc-bibliography" }
common.attrs.aria |= aria.doc-bibliography
common.attrs.aria.role.doc-bibliography |= aria.doc-bibliography
aria.doc-biblioref = aria.role.doc-biblioref
aria.role.doc-biblioref = attribute role { string "doc-biblioref" }
common.attrs.aria |= aria.doc-biblioref
common.attrs.aria.role.doc-biblioref |= aria.doc-biblioref
aria.doc-chapter = aria.role.doc-chapter
aria.role.doc-chapter = attribute role { string "doc-chapter" }
common.attrs.aria |= aria.doc-chapter
common.attrs.aria.role.doc-chapter |= aria.doc-chapter
aria.doc-colophon = aria.role.doc-colophon
aria.role.doc-colophon = attribute role { string "doc-colophon" }
common.attrs.aria |= aria.doc-colophon
common.attrs.aria.role.doc-colophon |= aria.doc-colophon
aria.doc-conclusion = aria.role.doc-conclusion
aria.role.doc-conclusion = attribute role { string "doc-conclusion" }
common.attrs.aria |= aria.doc-conclusion
common.attrs.aria.role.doc-conclusion |= aria.doc-conclusion
aria.doc-cover = aria.role.doc-cover
aria.role.doc-cover = attribute role { string "doc-cover" }
common.attrs.aria |= aria.doc-cover
common.attrs.aria.role.doc-cover |= aria.doc-cover
aria.doc-credit = aria.role.doc-credit
aria.role.doc-credit = attribute role { string "doc-credit" }
common.attrs.aria |= aria.doc-credit
common.attrs.aria.role.doc-credit |= aria.doc-credit
aria.doc-credits = aria.role.doc-credits
aria.role.doc-credits = attribute role { string "doc-credits" }
common.attrs.aria |= aria.doc-credits
common.attrs.aria.role.doc-credits |= aria.doc-credits
aria.doc-dedication = aria.role.doc-dedication
aria.role.doc-dedication = attribute role { string "doc-dedication" }
common.attrs.aria |= aria.doc-dedication
common.attrs.aria.role.doc-dedication |= aria.doc-dedication
aria.doc-endnote = aria.role.doc-endnote
aria.role.doc-endnote = attribute role { string "doc-endnote" }
common.attrs.aria |= aria.doc-endnote
common.attrs.aria.role.doc-endnote |= aria.doc-endnote
aria.doc-endnotes = aria.role.doc-endnotes
aria.role.doc-endnotes = attribute role { string "doc-endnotes" }
common.attrs.aria |= aria.doc-endnotes
common.attrs.aria.role.doc-endnotes |= aria.doc-endnotes
aria.doc-epigraph = aria.role.doc-epigraph
aria.role.doc-epigraph = attribute role { string "doc-epigraph" }
common.attrs.aria |= aria.doc-epigraph
common.attrs.aria.role.doc-epigraph |= aria.doc-epigraph
aria.doc-epilogue = aria.role.doc-epilogue
aria.role.doc-epilogue = attribute role { string "doc-epilogue" }
common.attrs.aria |= aria.doc-epilogue
common.attrs.aria.role.doc-epilogue |= aria.doc-epilogue
aria.doc-errata = aria.role.doc-errata
aria.role.doc-errata = attribute role { string "doc-errata" }
common.attrs.aria |= aria.doc-errata
common.attrs.aria.role.doc-errata |= aria.doc-errata
aria.doc-example = aria.role.doc-example
aria.role.doc-example = attribute role { string "doc-example" }
common.attrs.aria |= aria.doc-example
common.attrs.aria.role.doc-example |= aria.doc-example
aria.doc-footnote = aria.role.doc-footnote
aria.role.doc-footnote = attribute role { string "doc-footnote" }
common.attrs.aria |= aria.doc-footnote
common.attrs.aria.role.doc-footnote |= aria.doc-footnote
aria.doc-foreword = aria.role.doc-foreword
aria.role.doc-foreword = attribute role { string "doc-foreword" }
common.attrs.aria |= aria.doc-foreword
common.attrs.aria.role.doc-foreword |= aria.doc-foreword
aria.doc-glossary = aria.role.doc-glossary
aria.role.doc-glossary = attribute role { string "doc-glossary" }
common.attrs.aria |= aria.doc-glossary
common.attrs.aria.role.doc-glossary |= aria.doc-glossary
aria.doc-glossref = aria.role.doc-glossref
aria.role.doc-glossref = attribute role { string "doc-glossref" }
common.attrs.aria |= aria.doc-glossref
common.attrs.aria.role.doc-glossref |= aria.doc-glossref
aria.doc-index = aria.role.doc-index
aria.role.doc-index = attribute role { string "doc-index" }
common.attrs.aria |= aria.doc-index
common.attrs.aria.role.doc-index |= aria.doc-index
aria.doc-introduction = aria.role.doc-introduction
aria.role.doc-introduction = attribute role { string "doc-introduction" }
common.attrs.aria |= aria.doc-introduction
common.attrs.aria.role.doc-introduction |= aria.doc-introduction
aria.doc-noteref = aria.role.doc-noteref
aria.role.doc-noteref = attribute role { string "doc-noteref" }
common.attrs.aria |= aria.doc-noteref
common.attrs.aria.role.doc-noteref |= aria.doc-noteref
aria.doc-notice = aria.role.doc-notice
aria.role.doc-notice = attribute role { string "doc-notice" }
common.attrs.aria |= aria.doc-notice
common.attrs.aria.role.doc-notice |= aria.doc-notice
aria.doc-pagebreak = aria.role.doc-pagebreak
aria.role.doc-pagebreak = attribute role { string "doc-pagebreak" }
common.attrs.aria |= aria.doc-pagebreak
common.attrs.aria.role.doc-pagebreak |= aria.doc-pagebreak
aria.doc-pagelist = aria.role.doc-pagelist
aria.role.doc-pagelist = attribute role { string "doc-pagelist" }
common.attrs.aria |= aria.doc-pagelist
common.attrs.aria.role.doc-pagelist |= aria.doc-pagelist
aria.doc-part = aria.role.doc-part
aria.role.doc-part = attribute role { string "doc-part" }
common.attrs.aria |= aria.doc-part
common.attrs.aria.role.doc-part |= aria.doc-part
aria.doc-preface = aria.role.doc-preface
aria.role.doc-preface = attribute role { string "doc-preface" }
common.attrs.aria |= aria.doc-preface
common.attrs.aria.role.doc-preface |= aria.doc-preface
aria.doc-prologue = aria.role.doc-prologue
aria.role.doc-prologue = attribute role { string "doc-prologue" }
common.attrs.aria |= aria.doc-prologue
common.attrs.aria.role.doc-prologue |= aria.doc-prologue
aria.doc-pullquote = aria.role.doc-pullquote
aria.role.doc-pullquote = attribute role { string "doc-pullquote" }
common.attrs.aria |= aria.doc-pullquote
common.attrs.aria.role.doc-pullquote |= aria.doc-pullquote
aria.doc-qna = aria.role.doc-qna
aria.role.doc-qna = attribute role { string "doc-qna" }
common.attrs.aria |= aria.doc-qna
common.attrs.aria.role.doc-qna |= aria.doc-qna
aria.doc-subtitle = aria.role.doc-subtitle
aria.role.doc-subtitle = attribute role { string "doc-subtitle" }
common.attrs.aria |= aria.doc-subtitle
common.attrs.aria.role.doc-subtitle |= aria.doc-subtitle
aria.doc-tip = aria.role.doc-tip
aria.role.doc-tip = attribute role { string "doc-tip" }
common.attrs.aria |= aria.doc-tip
common.attrs.aria.role.doc-tip |= aria.doc-tip
aria.doc-toc = aria.role.doc-toc
aria.role.doc-toc = attribute role { string "doc-toc" }
common.attrs.aria |= aria.doc-toc
common.attrs.aria.role.doc-toc |= aria.doc-toc
@@ -64,6 +64,7 @@ datatypes w = "http://whattf.org/datatype-draft"
| common.attrs.aria.role.listbox
| common.attrs.aria.role.menu
| common.attrs.aria.role.menubar
| common.attrs.aria.role.radiogroup
| common.attrs.aria.role.tablist
| common.attrs.aria.role.toolbar
| common.attrs.aria.role.tree
@@ -84,13 +85,14 @@ datatypes w = "http://whattf.org/datatype-draft"
li.elem =
element li { li.inner & li.attrs }
li.attrs =
( common.attrs
( common.attrs
& ( common.attrs.aria.implicit.listitem
| common.attrs.aria.role.listitem
| common.attrs.aria.role.menuitem
| common.attrs.aria.role.menuitemcheckbox
| common.attrs.aria.role.menuitemradio
| common.attrs.aria.role.option
| common.attrs.aria.role.radio
| common.attrs.aria.role.tab
| common.attrs.aria.role.treeitem
| common.attrs.aria.role.separator
@@ -115,6 +117,7 @@ datatypes w = "http://whattf.org/datatype-draft"
| common.attrs.aria.role.listbox
| common.attrs.aria.role.menu
| common.attrs.aria.role.menubar
| common.attrs.aria.role.radiogroup
| common.attrs.aria.role.tablist
| common.attrs.aria.role.toolbar
| common.attrs.aria.role.tree
@@ -155,6 +158,7 @@ datatypes w = "http://whattf.org/datatype-draft"
| common.attrs.aria.role.menuitemcheckbox
| common.attrs.aria.role.menuitemradio
| common.attrs.aria.role.option
| common.attrs.aria.role.radio
| common.attrs.aria.role.tab
| common.attrs.aria.role.treeitem
| common.attrs.aria.role.separator
@@ -190,6 +194,11 @@ datatypes w = "http://whattf.org/datatype-draft"
& common.elem.script-supporting*
)+
)*
|
( dldiv.elem
& common.elem.script-supporting*
)+
| common.elem.script-supporting*
)
common.elem.flow |= dl.elem
@@ -236,12 +245,32 @@ datatypes w = "http://whattf.org/datatype-draft"
common.elem.flow |= div.elem
dldiv.elem =
element div { dldiv.inner & div.attrs }
dldiv.inner =
( ( dt.elem
& common.elem.script-supporting*
)+
,
( dd.elem
& common.elem.script-supporting*
)+
)
## Title or Explanatory Caption: <legend>
legend.elem =
element legend { legend.inner & legend.attrs }
legend.attrs =
( common.attrs
)
)
legend.inner =
( common.inner.phrasing )
( common.inner.phrasing
| h1.elem
| h2.elem
| h3.elem
| h4.elem
| h5.elem
| h6.elem
| hgroup.elem
)
@@ -296,9 +296,6 @@ common.attrs.other =
common.data.datetime =
w:datetime-tz
common.data.date-or-time =
w:date-or-time
common.data.date =
w:date
@@ -328,6 +325,9 @@ common.attrs.other =
common.data.uris =
list { w:iri-ref* }
common.data.uris.http.or.https =
list { w:iri-ref-http-or-https* }
common.data.uri.absolute =
w:iri
@@ -400,6 +400,10 @@ common.attrs.other =
common.data.sandbox-allow-list =
w:string "" | w:sandbox-allow-list
## Custom element name
common.data.custom.element.name =
w:custom-element-name
## Microdata Properties
common.data.microdata-properties =
list { w:microdata-property+ }
@@ -440,6 +444,7 @@ common.attrs.aria.role.application = ( notAllowed )
common.attrs.aria.role.article = ( notAllowed )
common.attrs.aria.role.banner = ( notAllowed )
common.attrs.aria.role.button = ( notAllowed )
common.attrs.aria.role.cell |= ( notAllowed )
common.attrs.aria.role.checkbox = ( notAllowed )
common.attrs.aria.role.combobox = ( notAllowed )
common.attrs.aria.role.complementary = ( notAllowed )
@@ -447,6 +452,8 @@ common.attrs.aria.role.contentinfo = ( notAllowed )
common.attrs.aria.role.dialog = ( notAllowed )
common.attrs.aria.role.directory = ( notAllowed )
common.attrs.aria.role.document = ( notAllowed )
common.attrs.aria.role.feed |= ( notAllowed )
common.attrs.aria.role.figure |= ( notAllowed )
common.attrs.aria.role.group = ( notAllowed )
common.attrs.aria.role.heading = ( notAllowed )
common.attrs.aria.role.img = ( notAllowed )
@@ -467,14 +474,18 @@ common.attrs.aria.role.option = ( notAllowed )
common.attrs.aria.role.presentation = ( notAllowed )
common.attrs.aria.role.progressbar = ( notAllowed )
common.attrs.aria.role.radio = ( notAllowed )
common.attrs.aria.role.radiogroup |= ( notAllowed )
common.attrs.aria.role.region = ( notAllowed )
common.attrs.aria.role.rowgroup |= ( notAllowed )
common.attrs.aria.role.search = ( notAllowed )
common.attrs.aria.role.searchbox |= ( notAllowed )
common.attrs.aria.role.separator = ( notAllowed )
common.attrs.aria.role.slider = ( notAllowed )
common.attrs.aria.role.spinbutton = ( notAllowed )
common.attrs.aria.role.status = ( notAllowed )
common.attrs.aria.role.switch = ( notAllowed )
common.attrs.aria.role.tab = ( notAllowed )
common.attrs.aria.role.table |= ( notAllowed )
common.attrs.aria.role.tablist = ( notAllowed )
common.attrs.aria.role.tabpanel = ( notAllowed )
common.attrs.aria.role.textbox = ( notAllowed )
@@ -484,12 +495,14 @@ common.attrs.aria.role.treeitem = ( notAllowed )
common.attrs.aria.implicit.article = ( notAllowed )
common.attrs.aria.implicit.banner = ( notAllowed )
common.attrs.aria.implicit.button = ( notAllowed )
common.attrs.aria.implicit.cell |= ( notAllowed )
common.attrs.aria.implicit.checkbox = ( notAllowed )
common.attrs.aria.implicit.column-or-row-header = ( notAllowed )
common.attrs.aria.implicit.combobox = ( notAllowed )
common.attrs.aria.implicit.complementary = ( notAllowed )
common.attrs.aria.implicit.contentinfo = ( notAllowed )
common.attrs.aria.implicit.dialog = ( notAllowed )
common.attrs.aria.implicit.figure |= ( notAllowed )
common.attrs.aria.implicit.document = ( notAllowed )
common.attrs.aria.implicit.form = ( notAllowed )
common.attrs.aria.implicit.group = ( notAllowed )
@@ -506,12 +519,16 @@ common.attrs.aria.implicit.option = ( notAllowed )
common.attrs.aria.implicit.progressbar = ( notAllowed )
common.attrs.aria.implicit.radio = ( notAllowed )
common.attrs.aria.implicit.region = ( notAllowed )
common.attrs.aria.implicit.row |= ( notAllowed )
common.attrs.aria.implicit.rowgroup |= ( notAllowed )
common.attrs.aria.implicit.searchbox |= ( notAllowed )
common.attrs.aria.implicit.section = ( notAllowed )
common.attrs.aria.implicit.select = ( notAllowed )
common.attrs.aria.implicit.slider = ( notAllowed )
common.attrs.aria.implicit.spinbutton = ( notAllowed )
common.attrs.aria.implicit.status = ( notAllowed )
common.attrs.aria.implicit.structure = ( notAllowed )
common.attrs.aria.implicit.table |= ( notAllowed )
common.attrs.aria.implicit.textbox = ( notAllowed )
common.attrs.aria.implicit.toolbar = ( notAllowed )
common.attrs.aria.prop.readonly = ( notAllowed )
@@ -527,3 +544,43 @@ common.attrs.aria.landmark.search = ( notAllowed )
common.attrs.aria.landmark.article = ( notAllowed )
common.attrs.aria.landmark.document = ( notAllowed )
common.attrs.aria.landmark.note = ( notAllowed )
common.attrs.aria.role.doc-abstract = ( notAllowed )
common.attrs.aria.role.doc-acknowledgments = ( notAllowed )
common.attrs.aria.role.doc-afterword = ( notAllowed )
common.attrs.aria.role.doc-appendix = ( notAllowed )
common.attrs.aria.role.doc-backlink = ( notAllowed )
common.attrs.aria.role.doc-biblioentry = ( notAllowed )
common.attrs.aria.role.doc-bibliography = ( notAllowed )
common.attrs.aria.role.doc-biblioref = ( notAllowed )
common.attrs.aria.role.doc-chapter = ( notAllowed )
common.attrs.aria.role.doc-colophon = ( notAllowed )
common.attrs.aria.role.doc-conclusion = ( notAllowed )
common.attrs.aria.role.doc-cover = ( notAllowed )
common.attrs.aria.role.doc-credit = ( notAllowed )
common.attrs.aria.role.doc-credits = ( notAllowed )
common.attrs.aria.role.doc-dedication = ( notAllowed )
common.attrs.aria.role.doc-endnote = ( notAllowed )
common.attrs.aria.role.doc-endnotes = ( notAllowed )
common.attrs.aria.role.doc-epigraph = ( notAllowed )
common.attrs.aria.role.doc-epilogue = ( notAllowed )
common.attrs.aria.role.doc-errata = ( notAllowed )
common.attrs.aria.role.doc-example = ( notAllowed )
common.attrs.aria.role.doc-footnote = ( notAllowed )
common.attrs.aria.role.doc-foreword = ( notAllowed )
common.attrs.aria.role.doc-glossary = ( notAllowed )
common.attrs.aria.role.doc-glossref = ( notAllowed )
common.attrs.aria.role.doc-index = ( notAllowed )
common.attrs.aria.role.doc-introduction = ( notAllowed )
common.attrs.aria.role.doc-noteref = ( notAllowed )
common.attrs.aria.role.doc-notice = ( notAllowed )
common.attrs.aria.role.doc-pagebreak = ( notAllowed )
common.attrs.aria.role.doc-pagelist = ( notAllowed )
common.attrs.aria.role.doc-part = ( notAllowed )
common.attrs.aria.role.doc-preface = ( notAllowed )
common.attrs.aria.role.doc-prologue = ( notAllowed )
common.attrs.aria.role.doc-pullquote = ( notAllowed )
common.attrs.aria.role.doc-qna = ( notAllowed )
common.attrs.aria.role.doc-subtitle = ( notAllowed )
common.attrs.aria.role.doc-tip = ( notAllowed )
common.attrs.aria.role.doc-toc = ( notAllowed )
@@ -53,7 +53,7 @@ datatypes w = "http://whattf.org/datatype-draft"
} & v5only
script.attrs.type =
attribute type {
common.data.mimetype # XXX without charset parameter!
w:string "module" | common.data.mimetype # XXX without charset parameter!
}
script.attrs.charset =
attribute charset {
@@ -23,6 +23,7 @@ namespace local = ""
& img.attrs.usemap?
& img.attrs.ismap?
& img.attrs.border? # obsolete
& referrerpolicy?
& embedded.content.attrs.crossorigin?
& ( common.attrs.aria.implicit.img
| common.attrs.aria
@@ -151,21 +152,22 @@ namespace local = ""
common.data.integer.non-negative
}
embed.attrs.other = # REVISIT common.attrs
attribute local:* - ( src
| type
| height
| width
| id
attribute local:* - ( src
| type
| height
| width
| id
| is
| class
| title
| dir
| lang
| translate
| style
| tabindex
| contextmenu
| contenteditable
| draggable
| title
| dir
| lang
| translate
| style
| tabindex
| contextmenu
| contenteditable
| draggable
| dropzone
| hidden
| onabort
@@ -235,21 +237,26 @@ namespace local = ""
| aria-atomic
| aria-busy
| aria-controls
| aria-current
| aria-details
| aria-describedby
| aria-disabled
| aria-dropeffect
| aria-errormessage
| aria-expanded
| aria-flowto
| aria-grabbed
| aria-haspopup
| aria-hidden
| aria-invalid
| aria-keyshortcuts
| aria-label
| aria-labelledby
| aria-live
| aria-owns
| aria-relevant
| aria-required
| aria-roledescription
| spellcheck
| accesskey
| itemref
@@ -317,7 +324,7 @@ namespace local = ""
| its-storage-encoding
| its-line-break-type
| its-annotators-ref
)
)
{
string
}
@@ -430,6 +437,8 @@ namespace local = ""
& iframe.attrs.height?
& iframe.attrs.sandbox?
& iframe.attrs.allowfullscreen?
& iframe.attrs.allowusermedia?
& referrerpolicy?
& ( common.attrs.aria.landmark.application
| common.attrs.aria.landmark.document
| common.attrs.aria.role.img
@@ -464,8 +473,12 @@ namespace local = ""
attribute allowfullscreen {
w:string "allowfullscreen" | w:string ""
} & v5only
iframe.attrs.allowusermedia =
attribute allowusermedia {
w:string "allowusermedia" | w:string ""
} & v5only
iframe.inner =
( ( text & HTMLonly ) | empty )
empty
common.elem.phrasing |= iframe.elem
@@ -1,7 +1,7 @@
include "common.rnc" {
XMLonly = notAllowed
HTMLonly = empty
v5only = notAllowed
XMLonly = notAllowed
HTMLonly = empty
v5only = notAllowed
}
start = html.elem
include "phrase.rnc"
@@ -1,10 +1,10 @@
default namespace = "http://www.w3.org/1999/xhtml"
include "common.rnc" {
XMLonly = notAllowed
HTMLonly = empty
v5only = empty
nonHTMLizable = notAllowed
nonRoundtrippable = notAllowed
XMLonly = notAllowed
HTMLonly = empty
v5only = empty
nonHTMLizable = notAllowed
nonRoundtrippable = notAllowed
}
start = html.elem
include "phrase.rnc"
@@ -26,10 +26,10 @@ include "data.rnc"
include "legacy.rnc"
include "aria.rnc"
include "meta.rnc" {
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
}
@@ -1,10 +1,10 @@
default namespace = "http://www.w3.org/1999/xhtml"
include "common.rnc" {
XMLonly = notAllowed
HTMLonly = empty
v5only = empty
nonHTMLizable = notAllowed
nonRoundtrippable = notAllowed
XMLonly = notAllowed
HTMLonly = empty
v5only = empty
nonHTMLizable = notAllowed
nonRoundtrippable = notAllowed
}
include "common-ext.rnc"
@@ -30,12 +30,12 @@ include "data.rnc"
include "legacy.rnc"
include "aria.rnc"
include "meta.rnc" {
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
}
include "meta-ext.rnc"
include "rdfa.rnc"
@@ -1,10 +1,10 @@
default namespace = "http://www.w3.org/1999/xhtml"
include "common.rnc" {
XMLonly = notAllowed
HTMLonly = empty
v5only = empty
nonHTMLizable = notAllowed
nonRoundtrippable = notAllowed
XMLonly = notAllowed
HTMLonly = empty
v5only = empty
nonHTMLizable = notAllowed
nonRoundtrippable = notAllowed
}
start = html.elem
include "phrase.rnc"
@@ -26,14 +26,14 @@ include "data.rnc"
include "legacy.rnc"
include "aria.rnc"
include "meta.rnc" {
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
}
include "microdata.rnc"
include "rdfa.rnc" {
nonRDFaLite = notAllowed
nonRDFaLite = notAllowed
}
@@ -1,10 +1,10 @@
default namespace = "http://www.w3.org/1999/xhtml"
include "common.rnc" {
XMLonly = notAllowed
HTMLonly = empty
v5only = empty
nonHTMLizable = notAllowed
nonRoundtrippable = notAllowed
XMLonly = notAllowed
HTMLonly = empty
v5only = empty
nonHTMLizable = notAllowed
nonRoundtrippable = notAllowed
}
start = html.elem
include "phrase.rnc"
@@ -26,11 +26,11 @@ include "data.rnc"
include "legacy.rnc"
include "aria.rnc"
include "meta.rnc" {
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
}
include "microdata.rnc"
@@ -302,6 +302,16 @@ datatypes w = "http://whattf.org/datatype-draft"
# if the definition is
# reused in another language
## Key-pair generator/input control: <keygen>
keygen.elem =
element keygen { keygen.inner & keygen.attrs* }
keygen.attrs = attribute * { text }
keygen.inner =
( empty )
common.elem.phrasing |= keygen.elem
## Obsolete attributes
## abbr attribute
@@ -12,7 +12,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& media.attrs.preload?
& media.attrs.controls?
& media.attrs.loop?
& media.attrs.mediagroup?
& media.attrs.muted?
& embedded.content.attrs.crossorigin?
)
@@ -32,10 +31,6 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute loop {
w:string "loop" | w:string ""
}
media.attrs.mediagroup =
attribute mediagroup {
string
}
media.attrs.muted =
attribute muted {
w:string "muted" | w:string ""
@@ -88,6 +83,7 @@ datatypes w = "http://whattf.org/datatype-draft"
& video.attrs.poster?
& video.attrs.height?
& video.attrs.width?
& video.attrs.playsinline?
& common.attrs.aria.landmark.application?
)
video.attrs.poster =
@@ -102,6 +98,10 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute width {
common.data.integer.non-negative
}
video.attrs.playsinline =
attribute playsinline {
w:string "playsinline" | w:string ""
}
video.inner.flow =
( media.source
, track.elem*
@@ -187,7 +187,10 @@ datatypes w = "http://whattf.org/datatype-draft"
element figure { figure.inner & figure.attrs }
figure.attrs =
( common.attrs
& common.attrs.aria?
& ( common.attrs.aria.implicit.figure
| common.attrs.aria.role.presentation
| common.attrs.aria.role.group
)?
)
figure.inner =
( ( figcaption.elem?, common.inner.flow )
@@ -9,11 +9,7 @@ datatypes w = "http://whattf.org/datatype-draft"
html.elem =
element html { html.inner & html.attrs }
html.attrs =
( common.attrs
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
( common.attrs )
html.inner =
( head.elem
, body.elem
@@ -160,9 +156,11 @@ datatypes w = "http://whattf.org/datatype-draft"
& link.attrs.rel
& link.attrs.as?
& link.attrs.integrity?
& link.attrs.nonce?
& shared-hyperlink.attrs.hreflang?
& shared-hyperlink.attrs.media?
& shared-hyperlink.attrs.type?
& referrerpolicy?
& link.attrs.sizes?
# link.attrs.title included in common.attrs
& embedded.content.attrs.crossorigin?
@@ -201,6 +199,10 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute integrity {
common.data.integrity
}
link.attrs.nonce =
attribute nonce{
string
}
link.attrs.sizes =
attribute sizes {
w:string "any" | common.data.sizes
@@ -254,6 +256,10 @@ datatypes w = "http://whattf.org/datatype-draft"
& common.attrs.other
& meta.name.attrs.name
& meta.name.attrs.content
& common.attrs.microdata.itemref?
& common.attrs.microdata.itemscope?
& common.attrs.microdata.itemtype?
& common.attrs.microdata.itemid?
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
@@ -23,6 +23,7 @@ datatypes w = "http://whattf.org/datatype-draft"
& shared-hyperlink.attrs.hreflang?
& shared-hyperlink.attrs.type?
& shared-hyperlink.attrs.ping?
& referrerpolicy?
& ( common.attrs.aria.implicit.link
| common.attrs.aria.role.button
| common.attrs.aria.role.checkbox
@@ -30,6 +31,7 @@ datatypes w = "http://whattf.org/datatype-draft"
| common.attrs.aria.role.menuitem
| common.attrs.aria.role.menuitemcheckbox
| common.attrs.aria.role.menuitemradio
| common.attrs.aria.role.option
| common.attrs.aria.role.radio
| common.attrs.aria.role.switch
| common.attrs.aria.role.tab
@@ -79,6 +81,19 @@ datatypes w = "http://whattf.org/datatype-draft"
common.data.mimetype
}
referrerpolicy =
attribute referrerpolicy {
string ""
| string "no-referrer"
| string "no-referrer-when-downgrade"
| string "same-origin"
| string "origin"
| string "strict-origin"
| string "origin-when-cross-origin"
| string "strict-origin-when-cross-origin"
| string "unsafe-url"
} & v5only
## Emphatic Stress: <em>
em.elem =
@@ -78,4 +78,4 @@ namespace local = ""
& common.attrs.aria?
)
rp.inner =
( common.inner.phrasing )
( text )
@@ -13,10 +13,12 @@
| common.attrs.aria.role.alertdialog
| common.attrs.aria.role.contentinfo
| common.attrs.aria.role.dialog
| common.attrs.aria.role.feed
| common.attrs.aria.role.log
| common.attrs.aria.role.marquee
| common.attrs.aria.role.region
| common.attrs.aria.role.status
| common.attrs.aria.role.tabpanel
| common.attrs.aria.landmark.application
| common.attrs.aria.landmark.banner
| common.attrs.aria.landmark.complementary
@@ -57,6 +59,8 @@
| common.attrs.aria.landmark.document
| common.attrs.aria.landmark.application
| common.attrs.aria.landmark.main
| common.attrs.aria.role.feed
| common.attrs.aria.role.region
| common.attrs.aria.role.presentation
)?
)
@@ -77,6 +81,8 @@
| common.attrs.aria.landmark.note
| common.attrs.aria.landmark.complementary
| common.attrs.aria.landmark.search
| common.attrs.aria.role.feed
| common.attrs.aria.role.region
| common.attrs.aria.role.presentation
)?
)
@@ -50,7 +50,9 @@ datatypes w = "http://whattf.org/datatype-draft"
element table { table.inner & table.attrs }
table.attrs =
( common.attrs
& common.attrs.aria?
& ( common.attrs.aria.implicit.table
| common.attrs.aria
)?
)
table.inner =
( caption.elem?
@@ -59,17 +61,11 @@ datatypes w = "http://whattf.org/datatype-draft"
, common.elem.script-supporting*
, thead.elem?
, common.elem.script-supporting*
, ( ( tfoot.elem
, common.elem.script-supporting*
, ( tbody.elem* | tr.elem+ )
, common.elem.script-supporting*
)
| ( ( tbody.elem* | tr.elem+ )
, common.elem.script-supporting*
, tfoot.elem?
)
, ( ( tbody.elem* | tr.elem+ )
, common.elem.script-supporting*
, tfoot.elem?
)
)
)
common.elem.flow |= table.elem
@@ -128,7 +124,9 @@ datatypes w = "http://whattf.org/datatype-draft"
element thead { thead.inner & thead.attrs }
thead.attrs =
( common.attrs
& common.attrs.aria?
& ( common.attrs.aria.implicit.rowgroup
| common.attrs.aria
)?
)
thead.inner =
( tr.elem*
@@ -141,7 +139,9 @@ datatypes w = "http://whattf.org/datatype-draft"
element tfoot { tfoot.inner & tfoot.attrs }
tfoot.attrs =
( common.attrs
& common.attrs.aria?
& ( common.attrs.aria.implicit.rowgroup
| common.attrs.aria
)?
)
tfoot.inner =
( tr.elem*
@@ -154,7 +154,9 @@ datatypes w = "http://whattf.org/datatype-draft"
element tbody { tbody.inner & tbody.attrs }
tbody.attrs =
( common.attrs
& common.attrs.aria?
& ( common.attrs.aria.implicit.rowgroup
| common.attrs.aria
)?
)
tbody.inner =
( tr.elem*
@@ -170,7 +172,9 @@ datatypes w = "http://whattf.org/datatype-draft"
element tr { tr.inner & tr.attrs }
tr.attrs =
( common.attrs
& common.attrs.aria?
& ( common.attrs.aria.implicit.row
| common.attrs.aria
)?
)
tr.inner =
( ( td.elem | th.elem | common.elem.script-supporting )* )
@@ -221,7 +225,9 @@ datatypes w = "http://whattf.org/datatype-draft"
& tables.attrs.cell-structure
& tables.attrs.headers?
# & tables.attrs.alignment
& common.attrs.aria?
& ( common.attrs.aria.implicit.cell
| common.attrs.aria
)?
)
td.inner =
( common.inner.flow )
@@ -1,4 +1,5 @@
datatypes w = "http://whattf.org/datatype-draft"
namespace c = "http://n.validator.nu/custom-elements/"
# #####################################################################
## RELAX NG Schema for HTML 5: Web Components
@@ -33,7 +34,7 @@ datatypes w = "http://whattf.org/datatype-draft"
| fieldset.inner
| select.inner
| details.inner
| menu.popup.inner
| menu.context.inner
)
common.elem.metadata |= template.elem
common.elem.phrasing |= template.elem
@@ -41,3 +42,10 @@ datatypes w = "http://whattf.org/datatype-draft"
# also allow <script> wherever <template> is allowed
common.elem.script-supporting |= script.elem
## Custom elements: <foo-bar>
common.elem.flow |= element c:* { common.inner.transparent.flow & attr.any* }
common.elem.phrasing |= element c:* { common.inner.phrasing & attr.any* }
attr.any = attribute * { text }
common.attrs.other &= attribute is { common.data.custom.element.name }?
@@ -86,9 +86,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& shared-form.attrs.readonly?
& shared-form.attrs.size?
& input.password.attrs.value?
& ( common.attrs.aria.implicit.textbox
| common.attrs.aria.role.textbox
)?
)
input.password.attrs.type =
attribute type {
@@ -113,7 +110,9 @@ datatypes w = "http://whattf.org/datatype-draft"
& input.checkbox.attrs.value?
& ( common.attrs.aria.implicit.checkbox
| common.attrs.aria.role.checkbox
| common.attrs.aria.role.button
| common.attrs.aria.role.menuitemcheckbox
| common.attrs.aria.role.option
| common.attrs.aria.role.switch
)?
)
@@ -243,7 +242,9 @@ datatypes w = "http://whattf.org/datatype-draft"
& common-form.attrs
& input.file.attrs.type
& input.file.attrs.accept?
& common.attrs.aria?
& ( common.attrs.aria?
| aria.prop.required?
)
)
input.file.attrs.type =
attribute type {
@@ -415,6 +416,7 @@ datatypes w = "http://whattf.org/datatype-draft"
# FIXME onfocus, onblur, onchange
& ( common.attrs.aria.implicit.listbox
| common.attrs.aria.role.listbox # aria-multiselectable depends on "multiple" value; check in assertions
| common.attrs.aria.role.menu
)?
)
select.attrs.size =
@@ -459,6 +461,7 @@ datatypes w = "http://whattf.org/datatype-draft"
| common.attrs.aria.role.menuitemcheckbox
| common.attrs.aria.role.menuitemradio
| common.attrs.aria.role.radio
| common.attrs.aria.role.tab
)?
)
button.submit.attrs.type =
@@ -513,6 +516,7 @@ datatypes w = "http://whattf.org/datatype-draft"
| common.attrs.aria.role.menuitemradio
| common.attrs.aria.role.radio
| common.attrs.aria.role.switch
| common.attrs.aria.role.tab
)?
)
button.button.attrs.type =
@@ -165,18 +165,23 @@ datatypes w = "http://whattf.org/datatype-draft"
& shared-form.attrs.pattern?
& shared-form.attrs.placeholder?
& shared-form.attrs.required?
& aria.prop.required?
& shared-form.attrs.minlength?
)
## Checkbox <input type='checkbox'>, Extensions
input.checkbox.attrs &=
( shared-input.attrs )
( shared-input.attrs
& aria.prop.required?
)
## Radiobutton: <input type='radio'>, Extensions
input.radio.attrs &=
( shared-input.attrs )
( shared-input.attrs
& aria.prop.required?
)
## Scripting Hook Button: <input type='button'>, Extensions
@@ -227,40 +232,6 @@ datatypes w = "http://whattf.org/datatype-draft"
common.data.integer.non-negative
}
## Global Date and Time: <input type='datetime'>
input.datetime.elem =
element input { input.datetime.attrs }
input.datetime.attrs =
( common.attrs
& common-form.attrs
& shared-input.attrs
& input.datetime.attrs.type
& input.datetime.attrs.min?
& input.datetime.attrs.max?
& input.attrs.step.float?
& input.datetime.attrs.value?
& common.attrs.aria?
)
input.datetime.attrs.type =
attribute type {
w:string "datetime"
}
input.datetime.attrs.min =
attribute min {
common.data.datetime
}
input.datetime.attrs.max =
attribute max {
common.data.datetime
}
input.datetime.attrs.value =
attribute value {
w:string "" | common.data.datetime
}
input.elem |= input.datetime.elem
## Date and Time with No Time Zone Information: <input type='datetime-local'>
input.datetime-local.elem =
@@ -274,7 +245,9 @@ datatypes w = "http://whattf.org/datatype-draft"
& input.datetime-local.attrs.max?
& input.attrs.step.float?
& input.datetime-local.attrs.value?
& common.attrs.aria?
& ( common.attrs.aria?
| aria.prop.required?
)
)
input.datetime-local.attrs.type =
attribute type {
@@ -308,7 +281,9 @@ datatypes w = "http://whattf.org/datatype-draft"
& input.date.attrs.max?
& input.attrs.step.integer?
& input.date.attrs.value?
& common.attrs.aria?
& ( common.attrs.aria?
| aria.prop.required?
)
)
input.date.attrs.type =
attribute type {
@@ -342,7 +317,9 @@ datatypes w = "http://whattf.org/datatype-draft"
& input.month.attrs.max?
& input.attrs.step.integer?
& input.month.attrs.value?
& common.attrs.aria?
& ( common.attrs.aria?
| aria.prop.required?
)
)
input.month.attrs.type =
attribute type {
@@ -376,7 +353,9 @@ datatypes w = "http://whattf.org/datatype-draft"
& input.time.attrs.max?
& input.attrs.step.float?
& input.time.attrs.value?
& common.attrs.aria?
& ( common.attrs.aria?
| aria.prop.required?
)
)
input.time.attrs.type =
attribute type {
@@ -410,7 +389,9 @@ datatypes w = "http://whattf.org/datatype-draft"
& input.week.attrs.max?
& input.attrs.step.integer?
& input.week.attrs.value?
& common.attrs.aria?
& ( common.attrs.aria?
| aria.prop.required?
)
)
input.week.attrs.type =
attribute type {
@@ -576,10 +557,8 @@ datatypes w = "http://whattf.org/datatype-draft"
& input.search.attrs.type
& input.search.attrs.value?
& shared-form.attrs.dirname?
& ( common.attrs.aria.implicit.textbox
| common.attrs.aria.implicit.combobox
| common.attrs.aria.role.textbox
| common.attrs.aria.role.combobox
& ( common.attrs.aria.implicit.searchbox
| common.attrs.aria.role.searchbox
)?
)
input.search.attrs.type =
@@ -676,7 +655,7 @@ datatypes w = "http://whattf.org/datatype-draft"
& shared-form.attrs.minlength?
& shared-form.attrs.autofocus?
& shared-form.attrs.required?
& shared-form.attrs.placeholder?
& textarea.attrs.placeholder?
& shared-form.attrs.dirname?
& textarea.attrs.rows?
& ( ( textarea.attrs.wrap.hard
@@ -697,6 +676,10 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute wrap {
w:string "soft"
}
textarea.attrs.placeholder =
attribute placeholder {
string
}
## List of Prefill Data: <datalist>
@@ -764,33 +747,6 @@ datatypes w = "http://whattf.org/datatype-draft"
fieldset.attrs &=
( common-form.attrs )
## Key-pair generator/input control: <keygen>
keygen.elem =
element keygen { keygen.inner & keygen.attrs }
keygen.attrs =
( common.attrs
& keygen.attrs.challenge?
& keygen.attrs.keytype?
& shared-form.attrs.autofocus?
& common-form.attrs?
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
keygen.attrs.challenge =
attribute challenge {
string
}
keygen.attrs.keytype =
attribute keytype {
w:string "rsa"
}
keygen.inner =
( empty )
common.elem.phrasing |= keygen.elem
## Selection Menu: <select>, Extensions
select.attrs &=
@@ -1,8 +1,8 @@
default namespace = "http://www.w3.org/1999/xhtml"
include "common.rnc" {
XMLonly = empty
HTMLonly = notAllowed
v5only = notAllowed
XMLonly = empty
HTMLonly = notAllowed
v5only = notAllowed
}
start = html.elem
include "phrase.rnc"
@@ -1,8 +1,8 @@
default namespace = "http://www.w3.org/1999/xhtml"
include "common.rnc" {
XMLonly = empty
HTMLonly = notAllowed
v5only = notAllowed
XMLonly = empty
HTMLonly = notAllowed
v5only = notAllowed
}
start = html.elem
include "phrase.rnc"
@@ -1,10 +1,10 @@
default namespace = "http://www.w3.org/1999/xhtml"
include "common.rnc" {
XMLonly = empty
HTMLonly = notAllowed
v5only = empty
nonHTMLizable = notAllowed
nonRoundtrippable = notAllowed
XMLonly = empty
HTMLonly = notAllowed
v5only = empty
nonHTMLizable = notAllowed
nonRoundtrippable = notAllowed
}
start = html.elem
include "phrase.rnc"
@@ -26,10 +26,10 @@ include "data.rnc"
include "legacy.rnc"
include "aria.rnc"
include "meta.rnc" {
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
}
@@ -1,10 +1,10 @@
default namespace = "http://www.w3.org/1999/xhtml"
include "common.rnc" {
XMLonly = empty
HTMLonly = notAllowed
v5only = empty
nonHTMLizable = notAllowed
nonRoundtrippable = notAllowed
XMLonly = empty
HTMLonly = notAllowed
v5only = empty
nonHTMLizable = notAllowed
nonRoundtrippable = notAllowed
}
start = html.elem
include "phrase.rnc"
@@ -26,14 +26,14 @@ include "data.rnc"
include "legacy.rnc"
include "aria.rnc"
include "meta.rnc" {
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
}
include "microdata.rnc"
include "rdfa.rnc" {
nonRDFaLite = notAllowed
nonRDFaLite = notAllowed
}
@@ -1,10 +1,10 @@
default namespace = "http://www.w3.org/1999/xhtml"
include "common.rnc" {
XMLonly = empty
HTMLonly = notAllowed
v5only = empty
nonHTMLizable = notAllowed
nonRoundtrippable = notAllowed
XMLonly = empty
HTMLonly = notAllowed
v5only = empty
nonHTMLizable = notAllowed
nonRoundtrippable = notAllowed
}
start = html.elem
include "phrase.rnc"
@@ -26,11 +26,11 @@ include "data.rnc"
include "legacy.rnc"
include "aria.rnc"
include "meta.rnc" {
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
}
include "microdata.rnc"
@@ -1,8 +1,8 @@
default namespace = "http://www.w3.org/1999/xhtml"
include "common.rnc" {
XMLonly = empty
HTMLonly = notAllowed
v5only = empty
XMLonly = empty
HTMLonly = notAllowed
v5only = empty
}
start = html.elem
include "phrase.rnc"
@@ -24,10 +24,10 @@ include "data.rnc"
include "legacy.rnc"
include "aria.rnc"
include "meta.rnc" {
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
}
@@ -1,8 +1,8 @@
default namespace = "http://www.w3.org/1999/xhtml"
include "common.rnc" {
XMLonly = empty
HTMLonly = notAllowed
v5only = empty
XMLonly = empty
HTMLonly = notAllowed
v5only = empty
}
include "common-ext.rnc"
@@ -28,11 +28,11 @@ include "data.rnc"
include "legacy.rnc"
include "aria.rnc"
include "meta.rnc" {
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
}
include "rdfa.rnc"
@@ -1,8 +1,8 @@
default namespace = "http://www.w3.org/1999/xhtml"
include "common.rnc" {
XMLonly = empty
HTMLonly = notAllowed
v5only = empty
XMLonly = empty
HTMLonly = notAllowed
v5only = empty
}
start = html.elem
include "phrase.rnc"
@@ -24,14 +24,14 @@ include "data.rnc"
include "legacy.rnc"
include "aria.rnc"
include "meta.rnc" {
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
}
include "microdata.rnc"
include "rdfa.rnc" {
nonRDFaLite = notAllowed
nonRDFaLite = notAllowed
}
@@ -1,8 +1,8 @@
default namespace = "http://www.w3.org/1999/xhtml"
include "common.rnc" {
XMLonly = empty
HTMLonly = notAllowed
v5only = empty
XMLonly = empty
HTMLonly = notAllowed
v5only = empty
}
start = html.elem
include "phrase.rnc"
@@ -24,11 +24,11 @@ include "data.rnc"
include "legacy.rnc"
include "aria.rnc"
include "meta.rnc" {
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
html.inner =
( head.elem
, ( body.elem
| frameset.elem
)
)
}
include "microdata.rnc"
@@ -1,5 +1,5 @@
<!--
* Copyright 2000-2016 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -103,6 +103,7 @@ grammar {
SVG.Core.attrib,
SVG.Style.attrib,
SVG.Presentation.attrib,
(common.attrs.aria.implicit.group | common.attrs.aria)?,
attribute unicode { text }?,
attribute glyph-name { text }?,
attribute d { PathData.datatype }?,
@@ -175,6 +175,7 @@ grammar {
SVG.DocumentEvents.attrib,
SVG.GraphicalEvents.attrib,
SVG.External.attrib,
common.attrs.aria?,
attribute x { Coordinate.datatype }?,
attribute y { Coordinate.datatype }?,
attribute width { Length.datatype }?,
@@ -223,6 +224,7 @@ grammar {
SVG.Presentation.attrib,
SVG.GraphicalEvents.attrib,
SVG.External.attrib,
(common.attrs.aria.implicit.group | common.attrs.aria)?,
attribute transform { TransformList.datatype }?
a:documentation [
"\x{a}" ~
@@ -264,7 +266,8 @@ grammar {
" desc: Description Element\x{a}" ~
" "
]
SVG.desc.content = text
any_element = element * { (attribute * { text } | any_element * | text)* }
SVG.desc.content = any_element* & text
desc = element desc { attlist.desc, SVG.desc.content }
attlist.desc &= SVG.Core.attrib, SVG.Style.attrib
a:documentation [ "\x{a}" ~ " title: Title Element\x{a}" ~ " " ]
@@ -291,6 +294,7 @@ grammar {
SVG.GraphicalEvents.attrib,
SVG.XLinkEmbed.attrib,
SVG.External.attrib,
common.attrs.aria?,
attribute x { Coordinate.datatype }?,
attribute y { Coordinate.datatype }?,
attribute width { Length.datatype }?,
@@ -88,6 +88,7 @@ grammar {
SVG.GraphicalEvents.attrib,
SVG.Cursor.attrib,
SVG.External.attrib,
(common.attrs.aria.implicit.group | common.attrs.aria)?,
attribute x { Coordinates.datatype }?,
attribute y { Coordinates.datatype }?,
attribute rotate { Numbers.datatype }?,
@@ -116,6 +117,7 @@ grammar {
SVG.Cursor.attrib,
SVG.XLink.attrib,
SVG.External.attrib,
(common.attrs.aria.implicit.group | common.attrs.aria)?,
attribute glyphRef { text }?,
attribute format { text }?
a:documentation [
@@ -142,6 +144,7 @@ grammar {
SVG.Style.attrib,
SVG.Font.attrib,
SVG.XLink.attrib,
(common.attrs.aria.implicit.group | common.attrs.aria)?,
attribute glyphRef { text }?,
attribute format { text }?
}
@@ -42,6 +42,7 @@ attlist.foreignObject &=
SVG.Presentation.attrib,
SVG.GraphicalEvents.attrib,
SVG.External.attrib,
(common.attrs.aria.implicit.group | common.attrs.aria)?,
attribute x { Coordinate.datatype }?,
attribute y { Coordinate.datatype }?,
attribute width { Length.datatype },
@@ -63,6 +63,7 @@ grammar {
SVG.GraphicalEvents.attrib,
SVG.XLinkReplace.attrib,
SVG.External.attrib,
(common.attrs.aria.implicit.link | common.attrs.aria)?,
attribute transform { TransformList.datatype }?,
attribute target { LinkTarget.datatype }?
}
@@ -48,6 +48,7 @@ grammar {
SVG.Cursor.attrib,
SVG.XLinkEmbed.attrib,
SVG.External.attrib,
(common.attrs.aria.implicit.img | common.attrs.aria)?,
attribute x { Coordinate.datatype }?,
attribute y { Coordinate.datatype }?,
attribute width { Length.datatype },
@@ -57,6 +57,7 @@ grammar {
SVG.GraphicalEvents.attrib,
SVG.Cursor.attrib,
SVG.External.attrib,
common.attrs.aria?,
attribute d { PathData.datatype },
attribute pathLength { Number.datatype }?,
attribute transform { TransformList.datatype }?
@@ -81,6 +82,7 @@ grammar {
SVG.GraphicalEvents.attrib,
SVG.Cursor.attrib,
SVG.External.attrib,
common.attrs.aria?,
attribute x { Coordinate.datatype }?,
attribute y { Coordinate.datatype }?,
attribute width { Length.datatype },
@@ -109,6 +111,7 @@ grammar {
SVG.GraphicalEvents.attrib,
SVG.Cursor.attrib,
SVG.External.attrib,
common.attrs.aria?,
attribute cx { Coordinate.datatype }?,
attribute cy { Coordinate.datatype }?,
attribute r { Length.datatype },
@@ -131,6 +134,7 @@ grammar {
SVG.GraphicalEvents.attrib,
SVG.Cursor.attrib,
SVG.External.attrib,
common.attrs.aria?,
attribute x1 { Coordinate.datatype }?,
attribute y1 { Coordinate.datatype }?,
attribute x2 { Coordinate.datatype }?,
@@ -157,6 +161,7 @@ grammar {
SVG.GraphicalEvents.attrib,
SVG.Cursor.attrib,
SVG.External.attrib,
common.attrs.aria?,
attribute cx { Coordinate.datatype }?,
attribute cy { Coordinate.datatype }?,
attribute rx { Length.datatype },
@@ -185,6 +190,7 @@ grammar {
SVG.GraphicalEvents.attrib,
SVG.Cursor.attrib,
SVG.External.attrib,
(common.attrs.aria.implicit.group | common.attrs.aria)?,
attribute points { Points.datatype },
attribute transform { TransformList.datatype }?
a:documentation [
@@ -209,6 +215,7 @@ grammar {
SVG.GraphicalEvents.attrib,
SVG.Cursor.attrib,
SVG.External.attrib,
common.attrs.aria?,
attribute points { Points.datatype },
attribute transform { TransformList.datatype }?
}
@@ -62,6 +62,7 @@ grammar {
SVG.Presentation.attrib,
SVG.GraphicalEvents.attrib,
SVG.External.attrib,
common.attrs.aria?,
attribute viewBox { ViewBoxSpec.datatype }?,
[ a:defaultValue = "xMidYMid meet" ]
attribute preserveAspectRatio {
@@ -27,7 +27,7 @@ namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
##
[ xml:lang = "en" ]
grammar {
ClassList.datatype = xsd:NMTOKENS
ClassList.datatype = xsd:string
StyleSheet.datatype = xsd:string
##
@@ -164,6 +164,7 @@ grammar {
SVG.GraphicalEvents.attrib,
SVG.Cursor.attrib,
SVG.External.attrib,
(common.attrs.aria.implicit.group | common.attrs.aria)?,
attribute x { Coordinates.datatype }?,
attribute y { Coordinates.datatype }?,
attribute dx { Lengths.datatype }?,
@@ -1,6 +1,7 @@
namespace svg = "http://www.w3.org/2000/svg"
namespace math = "http://www.w3.org/1998/Math/MathML"
namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
datatypes w = "http://whattf.org/datatype-draft"
include "xhtml10/xhtml-strict.rnc"
include "svg11/svg11-inc.rnc"
@@ -8,6 +9,7 @@ include "svg11/inkscape.rnc"
include "mml3/mathml3-inc.rnc"
include "rdf/rdf.rnc"
include "xhtml10/ruby.rnc"
include "html5/aria.rnc"
head.content &= rdf.elem*
SVG.metadata.content |= rdf.elem
@@ -36,3 +38,10 @@ annotation-xml.model.xhtml |=
# cannot; see http://www.w3.org/Bugs/Public/show_bug.cgi?id=9859#c8 for a
# rationale
mtext.content |= Inline.class
# datatypes needed for ARIA support
common.data.float = w:float
common.data.idref = w:IDREF
common.data.idrefs = w:IDREFS
common.data.integer.non-negative = w:integer-non-negative
common.data.integer.positive = w:integer-positive