html5.html =
## The html element represents the root of an HTML document.
element html { html5.html.attlist, html5.head, html5.body }
html5.html.attlist &= html5.global.attrs
html5.head =
## The head element represents a collection of metadata for the Document.
element head { html5.head.attlist & html5.head.content }
html5.head.attlist &= html5.global.attrs
html5.head.content = html5.title? & html5.base? & html5.metadata.class*
html5.metadata.class |= html5.link | html5.meta
html5.body =
## The body element represents the main content of the document.
element body { html5.body.attlist & html5.body.content }
html5.body.attlist &= html5.global.attrs
html5.body.content = html5.section.model
html5.base = element base { html5.base.attlist }
html5.base.attlist &= html5.global.attrs &
((html5.href.attr & html5.target.attr?) | html5.target.attr)
html5.link =
## The link element allows authors to link their document to other resources.
element link { html5.link.attlist }
html5.link.attlist &= html5.global.attrs & html5.href.attr &
html5.rel.attr & html5.media.attr? & html5.hreflang.attr? &
html5.type.mime.attr? & html5.link.sizes.attr?
html5.link.sizes.attr = attribute sizes { 'any' | datatype.html5.sizes }
html5.meta =
## The meta element represents various kinds of metadata that cannot be expressed using the title, base, link, style, and script elements.
element meta { html5.meta.attlist }
html5.meta.attlist &= html5.global.attrs & (
(html5.meta.name.attr & html5.meta.content.attr)
| (html5.meta.http-equiv.attr & html5.meta.content.attr)
| html5.charset.attr )
html5.meta.name.attr = attribute name { datatype.string }
html5.meta.http-equiv.attr = attribute http-equiv { html5.meta.http-equiv.attr.content }
html5.meta.http-equiv.attr.content = xsd:string { pattern = "([Dd][Ee][Ff][Aa][Uu][Ll][Tt]\-[Ss][Tt][Yy][Ll][Ee])|([Rr][Ee][Ff][Rr][Ee][Ss][Hh])|([Cc][Oo][Nn][Tt][Ee][Nn][Tt]\-[Tt][Yy][Pp][Ee])" }
html5.meta.content.attr = attribute content { datatype.string }
html5.title =
## The title element represents the document's title or name. Authors should use titles that identify their documents even when they are used out of context, for example in a user's history or bookmarks, or in search results. The document's title is often different from its first heading, since the first heading does not have to stand alone when taken out of context.
element title { html5.title.attlist & html5.title.content }
html5.title.attlist &= html5.global.attrs
html5.title.content = datatype.text