blob: 85a49d9ca3a7a471eb188b2235f399a4f68838a8 [file] [log] [blame]
# #####################################################################
## RELAX NG Schema for HTML 5: Sectioning Markup #
# #####################################################################
# #####################################################################
## Headings
## Heading (Rank 1): <h1>
h1.elem =
element h1 { h1.inner & h1.attrs }
h1.attrs =
( common.attrs
& ( common.attrs.aria.implicit.heading
| common.attrs.aria.role.heading
| common.attrs.aria.role.tab
| common.attrs.aria.role.presentation
)?
)
h1.inner =
( common.inner.phrasing )
common.elem.flow |= h1.elem
## Heading (Rank 2): <h2>
h2.elem =
element h2 { h2.inner & h2.attrs }
h2.attrs =
( common.attrs
& ( common.attrs.aria.implicit.heading
| common.attrs.aria.role.heading
| common.attrs.aria.role.tab
| common.attrs.aria.role.presentation
)?
)
h2.inner =
( common.inner.phrasing )
common.elem.flow |= h2.elem
## Heading (Rank 3): <h3>
h3.elem =
element h3 { h3.inner & h3.attrs }
h3.attrs =
( common.attrs
& ( common.attrs.aria.implicit.heading
| common.attrs.aria.role.heading
| common.attrs.aria.role.tab
| common.attrs.aria.role.presentation
)?
)
h3.inner =
( common.inner.phrasing )
common.elem.flow |= h3.elem
## Heading (Rank 4): <h4>
h4.elem =
element h4 { h4.inner & h4.attrs }
h4.attrs =
( common.attrs
& ( common.attrs.aria.implicit.heading
| common.attrs.aria.role.heading
| common.attrs.aria.role.tab
| common.attrs.aria.role.presentation
)?
)
h4.inner =
( common.inner.phrasing )
common.elem.flow |= h4.elem
## Heading (Rank 5): <h5>
h5.elem =
element h5 { h5.inner & h5.attrs }
h5.attrs =
( common.attrs
& ( common.attrs.aria.implicit.heading
| common.attrs.aria.role.heading
| common.attrs.aria.role.tab
| common.attrs.aria.role.presentation
)?
)
h5.inner =
( common.inner.phrasing )
common.elem.flow |= h5.elem
## Heading (Rank 6): <h6>
h6.elem =
element h6 { h6.inner & h6.attrs }
h6.attrs =
( common.attrs
& ( common.attrs.aria.implicit.heading
| common.attrs.aria.role.heading
| common.attrs.aria.role.tab
| common.attrs.aria.role.presentation
)?
)
h6.inner =
( common.inner.phrasing )
common.elem.flow |= h6.elem
# #####################################################################
## Section Meta
## Contact Info: <address>
address.elem =
element address { address.inner & address.attrs }
address.attrs =
( common.attrs
& ( common.attrs.aria.role.contentinfo
| common.attrs.aria.role.presentation
)?
)
address.inner =
( common.inner.flow )
common.elem.flow |= address.elem
# #####################################################################
## Quotations
## Block Quotes: <blockquote>
blockquote.elem =
element blockquote { blockquote.inner & blockquote.attrs }
blockquote.attrs =
( common.attrs
& blockquote.attrs.cite?
& common.attrs.aria?
)
blockquote.attrs.cite =
attribute cite {
common.data.uri
}
blockquote.inner =
( common.inner.flow )
common.elem.flow |= blockquote.elem