]> code.delx.au - gnu-emacs-elpa/blobdiff - packages/html5-schema/structural.rnc
Add 'packages/html5-schema/' from commit '6e7c7c331e7f6692be6c7d39fb9485792f0d3513'
[gnu-emacs-elpa] / packages / html5-schema / structural.rnc
diff --git a/packages/html5-schema/structural.rnc b/packages/html5-schema/structural.rnc
new file mode 100644 (file)
index 0000000..410f34d
--- /dev/null
@@ -0,0 +1,135 @@
+# #####################################################################
+##  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.contentinfo
+                       |       common.attrs.aria.role.dialog
+                       |       common.attrs.aria.role.log
+                       |       common.attrs.aria.role.marquee
+                       |       common.attrs.aria.role.region
+                       |       common.attrs.aria.role.status
+                       |       common.attrs.aria.role.presentation
+                       |       common.attrs.aria.landmark.application
+                       |       common.attrs.aria.landmark.document
+                       |       common.attrs.aria.landmark.main
+                       |       common.attrs.aria.landmark.search
+                       )?
+               )
+       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
+                       )?
+               )
+       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.landmark.application
+                       |       common.attrs.aria.landmark.main
+                       |       common.attrs.aria.role.presentation
+                       )?
+               )
+       article.inner =
+               (       style.elem*
+               ,       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.presentation
+                       )?
+               )
+       aside.inner =
+               (       style.elem*
+               ,       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
+                       )?
+               )
+       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
+                       )?
+               )
+       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