# #####################################################################
##  RELAX NG Schema for HTML 5: Block Markup Added in HTML5           #
# #####################################################################

## Section: <section>

	section.elem =
		element section { section.inner & section.attrs }
	section.attrs =
		(	common.attrs
		&	(	common.attrs.aria.implicit.region
			|	common.attrs.aria.role.alert
			|	common.attrs.aria.role.alertdialog
			|	common.attrs.aria.role.application
			|	common.attrs.aria.role.dialog
			|	common.attrs.aria.role.feed
			|	common.attrs.aria.role.group
			|	common.attrs.aria.role.log
			|	common.attrs.aria.role.marquee
			|	common.attrs.aria.role.presentation
			|	common.attrs.aria.role.region
			|	common.attrs.aria.role.status
			|	common.attrs.aria.role.tabpanel
			|	common.attrs.aria.landmark.banner
			|	common.attrs.aria.landmark.complementary
			|	common.attrs.aria.landmark.contentinfo
			|	common.attrs.aria.landmark.document
			|	common.attrs.aria.landmark.main
			|	common.attrs.aria.landmark.navigation
			|	common.attrs.aria.landmark.note
			|	common.attrs.aria.landmark.search
			|	common.attrs.aria.role.doc-abstract
			|	common.attrs.aria.role.doc-acknowledgments
			|	common.attrs.aria.role.doc-afterword
			|	common.attrs.aria.role.doc-appendix
			|	common.attrs.aria.role.doc-bibliography
			|	common.attrs.aria.role.doc-chapter
			|	common.attrs.aria.role.doc-colophon
			|	common.attrs.aria.role.doc-conclusion
			|	common.attrs.aria.role.doc-credit
			|	common.attrs.aria.role.doc-credits
			|	common.attrs.aria.role.doc-dedication
			|	common.attrs.aria.role.doc-endnotes
			|	common.attrs.aria.role.doc-epigraph
			|	common.attrs.aria.role.doc-epilogue
			|	common.attrs.aria.role.doc-errata
			|	common.attrs.aria.role.doc-example
			|	common.attrs.aria.role.doc-foreword
			|	common.attrs.aria.role.doc-glossary
			|	common.attrs.aria.role.doc-index
			|	common.attrs.aria.role.doc-introduction
			|	common.attrs.aria.role.doc-notice
			|	common.attrs.aria.role.doc-pagelist
			|	common.attrs.aria.role.doc-part
			|	common.attrs.aria.role.doc-preface
			|	common.attrs.aria.role.doc-prologue
			|	common.attrs.aria.role.doc-pullquote
			|	common.attrs.aria.role.doc-qna
			|	common.attrs.aria.role.doc-toc
			)?
		)
	section.inner =
		( common.inner.flow )

	common.elem.flow |= section.elem

## Navigational Links: <nav>

	nav.elem =
		element nav { nav.inner & nav.attrs }
	nav.attrs =
		(	common.attrs
		&	(	common.attrs.aria.implicit.navigation
			|	common.attrs.aria.landmark.navigation
			|	common.attrs.aria.role.doc-index
			|	common.attrs.aria.role.doc-pagelist
			|	common.attrs.aria.role.doc-toc
			|	common.attrs.aria.role.menu
			|	common.attrs.aria.role.menubar
			|	common.attrs.aria.role.none
			|	common.attrs.aria.role.presentation
			|	common.attrs.aria.role.tablist
			)?
		)
	nav.inner =
		( common.inner.flow )

	common.elem.flow |= nav.elem

## Article: <article>

	article.elem =
		element article { article.inner & article.attrs }
	article.attrs =
		(	common.attrs
		&	(	common.attrs.aria.implicit.article
			|	common.attrs.aria.landmark.article
			|	common.attrs.aria.landmark.document
			|	common.attrs.aria.role.application
			|	common.attrs.aria.landmark.main
			|	common.attrs.aria.role.feed
			|	common.attrs.aria.role.region
			|	common.attrs.aria.role.presentation
			)?
		)
	article.inner =
		(	common.inner.flow
		)
		
	common.elem.flow |= article.elem

## Tangential Aside: <aside>

	aside.elem =
		element aside { aside.inner & aside.attrs }
	aside.attrs =
		(	common.attrs
		&	(	common.attrs.aria.implicit.complementary
			|	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
			|	common.attrs.aria.role.doc-dedication
			|	common.attrs.aria.role.doc-example
			|	common.attrs.aria.role.doc-footnote
			|	common.attrs.aria.role.doc-glossary
			|	common.attrs.aria.role.doc-pullquote
			|	common.attrs.aria.role.doc-tip
			)?
		)
	aside.inner =
		(	common.inner.flow
		)

	common.elem.flow |= aside.elem

## Header: <header>

	header.elem =
		element header { header.inner & header.attrs }
	header.attrs =
		(	common.attrs
		&	(	common.attrs.aria.implicit.banner
			|	common.attrs.aria.landmark.banner
			|	common.attrs.aria.role.group
			|	common.attrs.aria.role.presentation
			|	common.attrs.aria.role.doc-footnote
			)?
		)
	header.inner =
		( common.inner.flow )

	common.elem.flow |= header.elem

## Footer: <footer>

	footer.elem =
		element footer { footer.inner & footer.attrs }
	footer.attrs =
		(	common.attrs
		&	(	common.attrs.aria.implicit.contentinfo
			|	common.attrs.aria.landmark.contentinfo
			|	common.attrs.aria.role.group
			|	common.attrs.aria.role.presentation
			|	common.attrs.aria.role.doc-footnote
			)?
		)
	footer.inner =
		( common.inner.flow )

	common.elem.flow |= footer.elem

## main content: <main>

	main.elem =
		element main { main.inner & main.attrs }
	main.attrs =
		(	common.attrs
		&	(	common.attrs.aria.implicit.main
			|	common.attrs.aria.landmark.main
			)?
		)
	main.inner =
		( common.inner.flow )

	common.elem.flow |= main.elem

## Search: <search>

	search.elem =
		element search { search.inner & search.attrs }
	search.attrs =
		(	common.attrs
		&	(	common.attrs.aria.implicit.search
			|	common.attrs.aria.landmark.search
			|	common.attrs.aria.landmark.form
			|	common.attrs.aria.role.group
			|	common.attrs.aria.role.none
			|	common.attrs.aria.role.presentation
			|	common.attrs.aria.role.region
			|	common.attrs.aria.role.search
			)?
		)
	search.inner =
		( common.inner.flow )

	common.elem.flow |= search.elem
