All Downloads are FREE. Search and download functionalities are using the official Maven repository.

relaxng.media.rnc Maven / Gradle / Ivy

datatypes w = "http://whattf.org/datatype-draft"

# #####################################################################
##  RELAX NG Schema for HTML 5: Advanced Embedded Content             #
# #####################################################################

## Attributes Common to Media Elements

	# src not included
	media.attrs = 
		(	media.attrs.autoplay?
		&	media.attrs.preload?
		&	media.attrs.controls?
		&	media.attrs.loop?
		&	media.attrs.mediagroup?
		&	media.attrs.muted?
		)
		media.attrs.autoplay   =
			attribute autoplay   {
				w:string "autoplay" | w:string ""
			}
		media.attrs.preload   =
			attribute preload   {
				w:string "none" | w:string "metadata" | w:string "auto" | w:string ""
			}
		media.attrs.controls  =
			attribute controls  {
				w:string "controls" | w:string ""
			}
		media.attrs.loop =
			attribute loop {
				w:string "loop" | w:string ""
			}
		media.attrs.mediagroup =
			attribute mediagroup {
				string
			}
		media.attrs.muted =
			attribute muted {
				w:string "muted" | w:string ""
			}
		
## Source: 

	source.elem =
		element source { source.inner & source.attrs }
	source.attrs =
		(	common.attrs
		&	source.attrs.src
		&	source.attrs.type?
		&	source.attrs.media?
		&	(	common.attrs.aria.role.presentation
			|	common.attrs.aria.role.menuitem
			)?
		)
		source.attrs.src =
			attribute src {
				common.data.uri.non-empty
			}
		source.attrs.type =
			attribute type {
				common.data.mimetype
			}
		source.attrs.media =
			attribute media {
				common.data.mediaquery
			}
	source.inner =
		( empty )

## Media Source

	media.source = 
		(	media.attrs.src
		|	source.elem*
		)

	media.attrs.src =
		attribute src {
			common.data.uri.non-empty
		}

## Video: 
figure.elem = element figure { figure.inner & figure.attrs } figure.attrs = ( common.attrs & common.attrs.aria? ) figure.inner = ( ( figcaption.elem?, common.inner.flow ) | ( common.inner.flow, figcaption.elem? ) ) common.elem.flow |= figure.elem ## Figure caption:
figcaption.elem = element figcaption { figcaption.inner & figcaption.attrs } figcaption.attrs = ( common.attrs & ( common.attrs.aria.role.presentation | common.attrs.aria.role.menuitem )? ) figcaption.inner = ( common.inner.flow )




© 2015 - 2025 Weber Informatics LLC | Privacy Policy