diff options
Diffstat (limited to 'xml/relaxng/src/resources/html5-schema')
17 files changed, 147 insertions, 69 deletions
diff --git a/xml/relaxng/src/resources/html5-schema/html5-svg-mathml.rnc b/xml/relaxng/src/resources/html5-schema/html5-svg-mathml.rnc index fadc971d2bb4..fe154b8f57bf 100644 --- a/xml/relaxng/src/resources/html5-schema/html5-svg-mathml.rnc +++ b/xml/relaxng/src/resources/html5-schema/html5-svg-mathml.rnc @@ -10,8 +10,6 @@ common.elem.phrasing |= math SVG.foreignObject.content |= ( math - | html.elem - | body.elem | common.inner.flow ) diff --git a/xml/relaxng/src/resources/html5-schema/html5/applications.rnc b/xml/relaxng/src/resources/html5-schema/html5/applications.rnc index ac07294db29c..2a592fbbd781 100755 --- a/xml/relaxng/src/resources/html5-schema/html5/applications.rnc +++ b/xml/relaxng/src/resources/html5-schema/html5/applications.rnc @@ -377,6 +377,7 @@ datatypes w = "http://whattf.org/datatype-draft" | common.attrs.aria.role.combobox | common.attrs.aria.role.dialog | common.attrs.aria.role.directory + | common.attrs.aria.role.group | common.attrs.aria.role.heading | common.attrs.aria.role.img | common.attrs.aria.role.link @@ -425,7 +426,16 @@ datatypes w = "http://whattf.org/datatype-draft" ( common.attrs & ( common.attrs.aria.role.presentation | common.attrs.aria.role.menuitem + | common.attrs.aria.role.button )? ) summary.inner = - ( common.inner.phrasing ) + ( common.inner.phrasing + | h1.elem + | h2.elem + | h3.elem + | h4.elem + | h5.elem + | h6.elem + | hgroup.elem + ) diff --git a/xml/relaxng/src/resources/html5-schema/html5/aria.rnc b/xml/relaxng/src/resources/html5-schema/html5/aria.rnc index b1035a0fa2a6..cf412e5f4ace 100755 --- a/xml/relaxng/src/resources/html5-schema/html5/aria.rnc +++ b/xml/relaxng/src/resources/html5-schema/html5/aria.rnc @@ -133,15 +133,7 @@ common.attrs.aria.implicit.toolbar |= & aria.prop.activedescendant? ) -common.attrs.aria.implicit.columnheader |= - ( aria.prop.sort? - & aria.prop.readonly? - & aria.prop.required? - & aria.state.selected? - & aria.state.expanded? - ) - -common.attrs.aria.implicit.rowheader |= +common.attrs.aria.implicit.column-or-row-header |= ( aria.prop.sort? & aria.prop.readonly? & aria.prop.required? diff --git a/xml/relaxng/src/resources/html5-schema/html5/block.rnc b/xml/relaxng/src/resources/html5-schema/html5/block.rnc index 2fd2d233c71b..de3b5a54ee2d 100755 --- a/xml/relaxng/src/resources/html5-schema/html5/block.rnc +++ b/xml/relaxng/src/resources/html5-schema/html5/block.rnc @@ -112,6 +112,7 @@ datatypes w = "http://whattf.org/datatype-draft" & ol.attrs.reversed? & ol.attrs.type? & ( ( common.attrs.aria.role.directory + | common.attrs.aria.role.group | common.attrs.aria.role.list | common.attrs.aria.role.listbox | common.attrs.aria.role.menu diff --git a/xml/relaxng/src/resources/html5-schema/html5/common.rnc b/xml/relaxng/src/resources/html5-schema/html5/common.rnc index 9f1e65673bd2..09afb1454233 100755 --- a/xml/relaxng/src/resources/html5-schema/html5/common.rnc +++ b/xml/relaxng/src/resources/html5-schema/html5/common.rnc @@ -113,9 +113,7 @@ common.attrs = ) common.attrs.basic = - ( ( common.attrs.id - | common.attrs.xml-id - )? # REVISIT assuming only either one is allowed + ( common.attrs.id? & common.attrs.class? & common.attrs.title? & common.attrs.base? @@ -125,10 +123,6 @@ common.attrs.basic = attribute id { common.data.id } - common.attrs.xml-id = - attribute xml:id { - xsd:NCName - } & XMLonly common.attrs.class = attribute class { common.data.tokens @@ -387,6 +381,10 @@ common.attrs.other = common.data.keylabellist = w:keylabellist +## List of Source Sizes + common.data.source.size.list = + w:source-size-list + ## Microdata Properties common.data.microdata-properties = list { w:microdata-property+ } @@ -466,7 +464,7 @@ common.attrs.aria.implicit.article = ( notAllowed ) common.attrs.aria.implicit.banner = ( notAllowed ) common.attrs.aria.implicit.button = ( notAllowed ) common.attrs.aria.implicit.checkbox = ( notAllowed ) -common.attrs.aria.implicit.columnheader = ( 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 ) @@ -486,7 +484,6 @@ 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.rowheader = ( notAllowed ) common.attrs.aria.implicit.section = ( notAllowed ) common.attrs.aria.implicit.select = ( notAllowed ) common.attrs.aria.implicit.slider = ( notAllowed ) diff --git a/xml/relaxng/src/resources/html5-schema/html5/core-scripting.rnc b/xml/relaxng/src/resources/html5-schema/html5/core-scripting.rnc index bef6bf107423..eb08c2ed5bb7 100755 --- a/xml/relaxng/src/resources/html5-schema/html5/core-scripting.rnc +++ b/xml/relaxng/src/resources/html5-schema/html5/core-scripting.rnc @@ -15,6 +15,7 @@ datatypes w = "http://whattf.org/datatype-draft" ( common.attrs & script.attrs.type? & script.attrs.language? # restricted in Schematron + & embedded.content.attrs.crossorigin? & ( common.attrs.aria.role.presentation | common.attrs.aria.role.menuitem )? @@ -29,6 +30,7 @@ datatypes w = "http://whattf.org/datatype-draft" & script.attrs.type? & script.attrs.charset? & script.attrs.language? # restricted in Schematron + & embedded.content.attrs.crossorigin? & ( common.attrs.aria.role.presentation | common.attrs.aria.role.menuitem )? diff --git a/xml/relaxng/src/resources/html5-schema/html5/embed.rnc b/xml/relaxng/src/resources/html5-schema/html5/embed.rnc index 51a2f0acb7a6..be4204914fa8 100755 --- a/xml/relaxng/src/resources/html5-schema/html5/embed.rnc +++ b/xml/relaxng/src/resources/html5-schema/html5/embed.rnc @@ -15,12 +15,15 @@ namespace local = "" img.attrs = ( common.attrs & img.attrs.src + & img.attrs.srcset? + & img.attrs.sizes? & img.attrs.alt? # ARIA: if alt empty, only allowed role value is "presentation"; check in assertions & img.attrs.height? & img.attrs.width? & img.attrs.usemap? & img.attrs.ismap? & img.attrs.border? # obsolete + & embedded.content.attrs.crossorigin? & ( common.attrs.aria.implicit.img | common.attrs.aria )? @@ -29,6 +32,14 @@ namespace local = "" attribute src { common.data.uri.non-empty } + img.attrs.srcset = + attribute srcset { + string + } & v5only + img.attrs.sizes = + attribute sizes { + common.data.source.size.list + } & v5only img.attrs.alt = attribute alt { text @@ -58,6 +69,54 @@ namespace local = "" common.elem.phrasing |= img.elem +## Image with multiple sources: <picture> + + picture.elem = + element picture { picture.inner & picture.attrs } + & v5only + picture.attrs = + ( common.attrs ) + picture.inner = + ( ( source.picture.elem* + & common.elem.script-supporting* + ), + ( img.elem + & common.elem.script-supporting* + ) + ) + + common.elem.phrasing |= picture.elem + +## Picture source: <source srcset> + + source.picture.elem = + element source { source.picture.inner & source.picture.attrs } + source.picture.attrs = + ( common.attrs + & source.picture.attrs.media? + & source.picture.attrs.srcset + & source.picture.attrs.sizes? + & source.picture.attrs.type? + ) + source.picture.attrs.media = + attribute media { + common.data.mediaquery + } + source.picture.attrs.srcset = + attribute srcset { + string + } + source.picture.attrs.sizes = + attribute sizes { + common.data.source.size.list + } + source.picture.attrs.type = + attribute type { + common.data.mimetype + } + source.picture.inner = + ( empty ) + ## Plug-ins: <embed> embed.elem = @@ -72,6 +131,7 @@ namespace local = "" & ( common.attrs.aria.landmark.application | common.attrs.aria.landmark.document | common.attrs.aria.role.img + | common.attrs.aria.role.presentation )? ) embed.attrs.src = @@ -292,6 +352,7 @@ namespace local = "" & ( common.attrs.aria.landmark.application | common.attrs.aria.landmark.document | common.attrs.aria.role.img + | common.attrs.aria.role.presentation )? ) object.attrs.data = @@ -370,6 +431,7 @@ namespace local = "" & ( common.attrs.aria.landmark.application | common.attrs.aria.landmark.document | common.attrs.aria.role.img + | common.attrs.aria.role.presentation )? ) iframe.attrs.src = @@ -548,7 +610,7 @@ namespace local = "" w:string "allowfullscreen" | w:string "" } & v5only iframe.inner = - ( text ) + ( ( text & HTMLonly ) | empty ) common.elem.phrasing |= iframe.elem @@ -655,3 +717,10 @@ namespace local = "" ( empty ) common.elem.phrasing |= area.elem + +## Attributes Common to Embedded Content + + embedded.content.attrs.crossorigin = + attribute crossorigin { + w:string "anonymous" | w:string "use-credentials" | w:string "" + } & v5only diff --git a/xml/relaxng/src/resources/html5-schema/html5/legacy.rnc b/xml/relaxng/src/resources/html5-schema/html5/legacy.rnc index e64f77068455..3d6f1c1930ef 100644 --- a/xml/relaxng/src/resources/html5-schema/html5/legacy.rnc +++ b/xml/relaxng/src/resources/html5-schema/html5/legacy.rnc @@ -812,6 +812,12 @@ datatypes w = "http://whattf.org/datatype-draft" } object.attrs &= object.attrs.border? + table.attrs.border = + attribute border { + string + } + table.attrs &= table.attrs.border? + ## cellpadding attribute table.attrs.cellpadding = diff --git a/xml/relaxng/src/resources/html5-schema/html5/media.rnc b/xml/relaxng/src/resources/html5-schema/html5/media.rnc index 04072ecc1036..28cbb630bb39 100755 --- a/xml/relaxng/src/resources/html5-schema/html5/media.rnc +++ b/xml/relaxng/src/resources/html5-schema/html5/media.rnc @@ -14,6 +14,7 @@ datatypes w = "http://whattf.org/datatype-draft" & media.attrs.loop? & media.attrs.mediagroup? & media.attrs.muted? + & embedded.content.attrs.crossorigin? ) media.attrs.autoplay = attribute autoplay { @@ -48,7 +49,6 @@ datatypes w = "http://whattf.org/datatype-draft" ( common.attrs & source.attrs.src & source.attrs.type? - & source.attrs.media? & ( common.attrs.aria.role.presentation | common.attrs.aria.role.menuitem )? @@ -61,10 +61,6 @@ datatypes w = "http://whattf.org/datatype-draft" attribute type { common.data.mimetype } - source.attrs.media = - attribute media { - common.data.mediaquery - } source.inner = ( empty ) diff --git a/xml/relaxng/src/resources/html5-schema/html5/meta.rnc b/xml/relaxng/src/resources/html5-schema/html5/meta.rnc index b5e810a0d46f..898a130ec6ed 100755 --- a/xml/relaxng/src/resources/html5-schema/html5/meta.rnc +++ b/xml/relaxng/src/resources/html5-schema/html5/meta.rnc @@ -164,6 +164,7 @@ datatypes w = "http://whattf.org/datatype-draft" & shared-hyperlink.attrs.type? & link.attrs.sizes? # link.attrs.title included in common.attrs + & embedded.content.attrs.crossorigin? & ( common.attrs.aria.role.link | common.attrs.aria.role.presentation | common.attrs.aria.role.menuitem diff --git a/xml/relaxng/src/resources/html5-schema/html5/microdata.rnc b/xml/relaxng/src/resources/html5-schema/html5/microdata.rnc index 076a4ded1dad..91616c846147 100644 --- a/xml/relaxng/src/resources/html5-schema/html5/microdata.rnc +++ b/xml/relaxng/src/resources/html5-schema/html5/microdata.rnc @@ -25,7 +25,7 @@ common.attrs.microdata = } common.attrs.microdata.itemtype = attribute itemtype { - common.data.uri.absolute + list { common.data.uri.absolute+ } } common.attrs.microdata.itemid = attribute itemid { @@ -58,6 +58,7 @@ base.attrs &= common.attrs.microdata & shared-hyperlink.attrs.type? & link.attrs.sizes? # link.attrs.title included in common.attrs + & embedded.content.attrs.crossorigin? & ( common.attrs.aria.role.link | common.attrs.aria.role.presentation | common.attrs.aria.role.menuitem diff --git a/xml/relaxng/src/resources/html5-schema/html5/rdfa.rnc b/xml/relaxng/src/resources/html5-schema/html5/rdfa.rnc index b8513d716093..3c849d98a954 100644 --- a/xml/relaxng/src/resources/html5-schema/html5/rdfa.rnc +++ b/xml/relaxng/src/resources/html5-schema/html5/rdfa.rnc @@ -1,5 +1,5 @@ nonRDFaLite = empty -# ##################################################################### +# ##################################################################### ## RELAX NG Schema for HTML 5: RDFa 1.1 and RDFa Lite 1.1 # # ##################################################################### @@ -9,12 +9,12 @@ nonRDFaLite = empty common.data.rdfa.safecurie = xsd:string { - pattern = "\[(([\i-[:]][\c-[:]]*)?:)?[^\s]+\]" - minLength = "3" + pattern = "\[(([\i-[:]][\c-[:]]*)?:?)[^\s]*\]" + minLength = "2" } common.data.rdfa.curie = xsd:string { - pattern = "(([\i-[:]][\c-[:]]*)?:)?[^\s]+" + pattern = "(([\i-[:]][\c-[:]]*)?:)[^\s]*" minLength = "1" } common.data.rdfa.term = @@ -182,15 +182,11 @@ link.rdfa.attrs.metadata = & common.attrs.present & common.attrs.other & ( ( common.attrs.rdfa.property - & ( link.attrs.rel - | common.attrs.rdfa.rel - )? + & link.attrs.rel? ) | ( common.attrs.rdfa.property? - & ( link.attrs.rel - | common.attrs.rdfa.rel - ) + & link.attrs.rel ) ) & link.attrs.href @@ -208,6 +204,11 @@ link.rdfa.attrs.metadata = & shared-hyperlink.attrs.type? & link.attrs.sizes? # link.attrs.title included in common.attrs + & embedded.content.attrs.crossorigin? + & ( common.attrs.aria.role.link + | common.attrs.aria.role.presentation + | common.attrs.aria.role.menuitem + )? ) link.rdfa.attrs.phrasing = ( common.attrs.basic @@ -215,9 +216,7 @@ link.rdfa.attrs.phrasing = & common.attrs.present & common.attrs.other & common.attrs.rdfa.property - & ( link.attrs.rel - | common.attrs.rdfa.rel - )? + & link.attrs.rel? & ( ( common.attrs.rdfa.resource & link.attrs.href? ) @@ -239,6 +238,11 @@ link.rdfa.attrs.phrasing = & shared-hyperlink.attrs.type? & link.attrs.sizes? # link.attrs.title included in common.attrs + & embedded.content.attrs.crossorigin? + & ( common.attrs.aria.role.link + | common.attrs.aria.role.presentation + | common.attrs.aria.role.menuitem + )? ) common.elem.metadata |= link.rdfa.elem.metadata common.elem.phrasing |= link.rdfa.elem.phrasing diff --git a/xml/relaxng/src/resources/html5-schema/html5/tables.rnc b/xml/relaxng/src/resources/html5-schema/html5/tables.rnc index 2aecbcfc7a4e..b6021dac22dd 100755 --- a/xml/relaxng/src/resources/html5-schema/html5/tables.rnc +++ b/xml/relaxng/src/resources/html5-schema/html5/tables.rnc @@ -50,13 +50,8 @@ datatypes w = "http://whattf.org/datatype-draft" element table { table.inner & table.attrs } table.attrs = ( common.attrs - & table.attrs.border? & common.attrs.aria? ) - table.attrs.border = - attribute border { - string - } table.inner = ( caption.elem? , common.elem.script-supporting* @@ -84,9 +79,7 @@ datatypes w = "http://whattf.org/datatype-draft" element caption { caption.inner & caption.attrs } caption.attrs = ( common.attrs - & ( common.attrs.aria.role.presentation - | common.attrs.aria.role.menuitem - )? + & common.attrs.aria? ) caption.inner = ( common.inner.flow ) @@ -100,9 +93,7 @@ datatypes w = "http://whattf.org/datatype-draft" element colgroup { colgroup.inner & colgroup.attrs } colgroup.attrs = ( common.attrs - & ( common.attrs.aria.role.presentation - | common.attrs.aria.role.menuitem - )? + & common.attrs.aria? ) colgroup.attrs.span = attribute span { @@ -122,9 +113,7 @@ datatypes w = "http://whattf.org/datatype-draft" col.attrs = ( common.attrs & col.attrs.span? - & ( common.attrs.aria.role.presentation - | common.attrs.aria.role.menuitem - )? + & common.attrs.aria? ) col.attrs.span = attribute span { @@ -139,9 +128,7 @@ datatypes w = "http://whattf.org/datatype-draft" element thead { thead.inner & thead.attrs } thead.attrs = ( common.attrs - & ( common.attrs.aria.role.presentation - | common.attrs.aria.role.menuitem - )? + & common.attrs.aria? ) thead.inner = ( tr.elem* @@ -154,9 +141,7 @@ datatypes w = "http://whattf.org/datatype-draft" element tfoot { tfoot.inner & tfoot.attrs } tfoot.attrs = ( common.attrs - & ( common.attrs.aria.role.presentation - | common.attrs.aria.role.menuitem - )? + & common.attrs.aria? ) tfoot.inner = ( tr.elem* @@ -169,9 +154,7 @@ datatypes w = "http://whattf.org/datatype-draft" element tbody { tbody.inner & tbody.attrs } tbody.attrs = ( common.attrs - & ( common.attrs.aria.role.presentation - | common.attrs.aria.role.menuitem - )? + & common.attrs.aria? ) tbody.inner = ( tr.elem* @@ -253,7 +236,9 @@ datatypes w = "http://whattf.org/datatype-draft" & tables.attrs.scope? & tables.attrs.headers? # & tables.attrs.alignment - & common.attrs.aria? + & ( common.attrs.aria? + | common.attrs.aria.implicit.column-or-row-header + ) ) th.inner = ( common.inner.flow ) diff --git a/xml/relaxng/src/resources/html5-schema/legacy/legacy.rnc b/xml/relaxng/src/resources/html5-schema/legacy/legacy.rnc index e64f77068455..3d6f1c1930ef 100644 --- a/xml/relaxng/src/resources/html5-schema/legacy/legacy.rnc +++ b/xml/relaxng/src/resources/html5-schema/legacy/legacy.rnc @@ -812,6 +812,12 @@ datatypes w = "http://whattf.org/datatype-draft" } object.attrs &= object.attrs.border? + table.attrs.border = + attribute border { + string + } + table.attrs &= table.attrs.border? + ## cellpadding attribute table.attrs.cellpadding = diff --git a/xml/relaxng/src/resources/html5-schema/svg11/svg-basic-font.rnc b/xml/relaxng/src/resources/html5-schema/svg11/svg-basic-font.rnc index 32eb1460f564..94f5b7fa3121 100644 --- a/xml/relaxng/src/resources/html5-schema/svg11/svg-basic-font.rnc +++ b/xml/relaxng/src/resources/html5-schema/svg11/svg-basic-font.rnc @@ -97,7 +97,7 @@ grammar { attribute overline-thickness { Number.datatype }? a:documentation [ "\x{a}" ~ " glyph: Glyph Element\x{a}" ~ " " ] SVG.glyph.class = notAllowed - SVG.glyph.content = SVG.Description.class*, SVG.glyph.class* + SVG.glyph.content = SVG.Description.class* | SVG.glyph.class* glyph = element glyph { attlist.glyph, SVG.glyph.content } attlist.glyph &= SVG.Core.attrib, @@ -120,7 +120,7 @@ grammar { ] SVG.missing-glyph.class = notAllowed SVG.missing-glyph.content = - SVG.Description.class*, SVG.missing-glyph.class* + SVG.Description.class* | SVG.missing-glyph.class* missing-glyph = element missing-glyph { attlist.missing-glyph, SVG.missing-glyph.content diff --git a/xml/relaxng/src/resources/html5-schema/svg11/svg-conditional.rnc b/xml/relaxng/src/resources/html5-schema/svg11/svg-conditional.rnc index 22f3cc23b1d9..ecb3e154aded 100644 --- a/xml/relaxng/src/resources/html5-schema/svg11/svg-conditional.rnc +++ b/xml/relaxng/src/resources/html5-schema/svg11/svg-conditional.rnc @@ -62,8 +62,7 @@ grammar { | SVG.Conditional.class | SVG.Image.class | SVG.Shape.class - | SVG.Hyperlink.class - | SVG.Extensibility.class)* + | SVG.Hyperlink.class)* switch = element switch { attlist.switch, SVG.switch.content } attlist.switch &= SVG.Core.attrib, diff --git a/xml/relaxng/src/resources/html5-schema/svg11/svg-extensibility.rnc b/xml/relaxng/src/resources/html5-schema/svg11/svg-extensibility.rnc index 2f075b4c2cec..ba3316ad160b 100644 --- a/xml/relaxng/src/resources/html5-schema/svg11/svg-extensibility.rnc +++ b/xml/relaxng/src/resources/html5-schema/svg11/svg-extensibility.rnc @@ -57,3 +57,14 @@ foreignElement = | text | foreignElement)* } +SVG.a.content &= SVG.Extensibility.class* +SVG.defs.content &= SVG.Extensibility.class* +SVG.glyph.content &= SVG.Extensibility.class* +SVG.g.content &= SVG.Extensibility.class* +SVG.marker.content &= SVG.Extensibility.class* +SVG.mask.content &= SVG.Extensibility.class* +SVG.missing-glyph.content &= SVG.Extensibility.class* +SVG.pattern.content &= SVG.Extensibility.class* +SVG.svg.content &= SVG.Extensibility.class* +SVG.switch.content &= SVG.Extensibility.class* +SVG.symbol.content &= SVG.Extensibility.class* |