blob: 7a95b54b209a4401211f86518facdd1b6f5a2f79 [file] [log] [blame]
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
& time.attrs.datetime?
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
time.attrs.datetime =
attribute datetime {
common.data.time-datetime
}
time.attrs.datetime.dateonly =
attribute datetime {
common.data.date
}
time.attrs.datetime.tz =
attribute datetime {
common.data.datetime
}
time.inner =
( common.inner.phrasing ) #Cannot enforce textContent format here
common.elem.phrasing |= time.elem
## Data: <data>
data.elem =
element data { data.inner & data.attrs }
data.attrs =
( common.attrs
& data.attrs.value
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
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?
& meter.attrs.low?
& meter.attrs.high?
& meter.attrs.max?
& meter.attrs.optimum?
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
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