]> code.delx.au - gnu-emacs-elpa/blobdiff - packages/html5-schema/ruby.rnc
Add 'packages/html5-schema/' from commit '6e7c7c331e7f6692be6c7d39fb9485792f0d3513'
[gnu-emacs-elpa] / packages / html5-schema / ruby.rnc
diff --git a/packages/html5-schema/ruby.rnc b/packages/html5-schema/ruby.rnc
new file mode 100644 (file)
index 0000000..dfd0e3f
--- /dev/null
@@ -0,0 +1,81 @@
+datatypes w = "http://whattf.org/datatype-draft"
+namespace local = ""
+
+# #####################################################################
+##  RELAX NG Schema for HTML 5: Ruby                                  #
+# #####################################################################
+
+#######################################################################
+
+## Ruby Annotation: <ruby>
+
+       ruby.elem =
+               element ruby { ruby.inner & ruby.attrs }
+       ruby.attrs =
+               (       common.attrs
+               &       common.attrs.aria?
+               )
+       ruby.inner =
+               (       (       common.inner.phrasing
+                       |       rb.elem
+                       )+
+               ,       (       (       rt.elem
+                               |       rtc.elem
+                               )+
+                               |       (       rp.elem
+                                       ,       (       rt.elem
+                                               |       rtc.elem
+                                               )+
+                                       ,       rp.elem
+                                       )
+                       )
+               )+
+
+       common.elem.phrasing |= ruby.elem
+
+## Ruby Text: <rt>
+
+       rt.elem =
+               element rt { rt.inner & rt.attrs }
+       rt.attrs =
+               (       common.attrs
+               &       common.attrs.aria?
+               )
+       rt.inner =
+               ( common.inner.phrasing )
+
+## Ruby Text Container: <rtc>
+
+       rtc.elem =
+               element rtc { rtc.inner & rtc.attrs }
+       rtc.attrs =
+               (       common.attrs
+               &       common.attrs.aria?
+               )
+       rtc.inner =
+               (       common.inner.phrasing
+                       |       rt.elem
+                       |       rp.elem
+               )*
+
+## Ruby Base: <rb>
+
+       rb.elem =
+               element rb { rb.inner & rb.attrs }
+       rb.attrs =
+               (       common.attrs
+               &       common.attrs.aria?
+               )
+       rb.inner =
+               ( common.inner.phrasing )
+
+## Ruby Parenthesis: <rp>
+
+       rp.elem =
+               element rp { rp.inner & rp.attrs }
+       rp.attrs =
+               (       common.attrs
+               &       common.attrs.aria?
+               )
+       rp.inner =
+               ( common.inner.phrasing )