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

# #####################################################################
##  RELAX NG Schema for HTML 5: Static Data Markup                    #
# #####################################################################

## Time: <time>

	time.elem =
		element time { time.inner & time.attrs }
	time.attrs =
		(	common.attrs
		&	common.attrs.aria?
		)
	time.inner =
		( text ) #Cannot enforce textContent format here

	common.elem.phrasing |= time.elem

## Time with datetime attribute: <time datetime>

	time.datetime.elem =
		element time { time.datetime.inner & time.datetime.attrs }
	time.datetime.attrs =
		(	common.attrs
		&	time.attrs.datetime
		&	common.attrs.aria?
		)
		time.attrs.datetime =
			attribute datetime {
				common.data.time-datetime
			}
	time.datetime.inner =
		( common.inner.phrasing )

	common.elem.phrasing |= time.datetime.elem

## Data: <data>

	data.elem =
		element data { data.inner & data.attrs }
	data.attrs =
		(	common.attrs
		&	data.attrs.value
		&	common.attrs.aria?
		)
		data.attrs.value =
			attribute value {
				string
			}
	data.inner =
		( common.inner.phrasing )

	common.elem.phrasing |= data.elem

## Scalar Gauge: <meter>

	meter.elem =
		element meter { meter.inner & meter.attrs }
	meter.attrs =
		(	common.attrs
		&	meter.attrs.value
		&	meter.attrs.min?
		&	aria.prop.valuemin?
		&	meter.attrs.low?
		&	meter.attrs.high?
		&	meter.attrs.max?
		&	aria.prop.valuemax?
		&	meter.attrs.optimum?
		)
		meter.attrs.value =
			attribute value {
				common.data.float
			}
		meter.attrs.min =
			attribute min {
				common.data.float
			}
		meter.attrs.low =
			attribute low {
				common.data.float
			}
		meter.attrs.high =
			attribute high {
				common.data.float
			}
		meter.attrs.max =
			attribute max {
				common.data.float
			}
		meter.attrs.optimum =
			attribute optimum {
				common.data.float
			}
	meter.inner =
		( common.inner.phrasing ) #Cannot enforce textContent format here

	common.elem.phrasing |= meter.elem
