blob: 3d6f1c1930efaf2703fabaeb2eef7ea032e32cb4 [file] [log] [blame]
datatypes w = "http://whattf.org/datatype-draft"
# #####################################################################
## RELAX NG Schema for HTML 5: Obsolete Elements and Attributes #
# #####################################################################
## In order to work around RELAX NG limitations and to thereby get more
## useful error messages, the following elements and attributes are
## allowed here but disallowed in the assertions-checking code.
## Obsolete elements
## Centering: <center>
center.elem =
element center { center.inner & center.attrs }
center.attrs =
( common.attrs )
center.inner =
( common.inner.flow )
common.elem.flow |= center.elem
## Inline Styling: <font>
font.elem =
element font { font.inner & font.attrs }
font.attrs =
( common.attrs
& font.attrs.color?
& font.attrs.face?
& font.attrs.size?
& common.attrs.aria?
)
font.attrs.color =
attribute color {
string
}
font.attrs.face =
attribute face {
string
}
font.attrs.size =
attribute size {
string
}
font.inner =
( common.inner.phrasing )
common.elem.phrasing |= font.elem
## Base Font Size: <basefont>
basefont.elem =
element basefont { empty & basefont.attrs }
basefont.attrs =
( common.attrs
& basefont.attrs.color?
& basefont.attrs.face?
& basefont.attrs.size?
)
basefont.attrs.color =
attribute color {
string
}
basefont.attrs.face =
attribute face {
string
}
basefont.attrs.size =
attribute size {
string
}
common.elem.flow |= basefont.elem
## Larger Font: <big>
big.elem =
element big { big.inner & big.attrs }
big.attrs =
( common.attrs )
big.inner =
( common.inner.flow )
common.elem.phrasing |= big.elem
## Struck Text: <strike>
strike.elem =
element strike { strike.inner & strike.attrs }
strike.attrs =
( common.attrs )
strike.inner =
( common.inner.flow )
common.elem.phrasing |= strike.elem
## Teletype: <tt>
tt.elem =
element tt { tt.inner & tt.attrs }
tt.attrs =
( common.attrs )
tt.inner =
( common.inner.flow )
common.elem.phrasing |= tt.elem
## Abbreviation: <acronym>
acronym.elem =
element acronym { acronym.inner & acronym.attrs }
acronym.attrs =
( common.attrs )
acronym.inner =
( common.inner.flow )
common.elem.phrasing |= acronym.elem
## Directory: <dir>
dir.elem =
element dir { dir.inner & dir.attrs }
dir.attrs =
( common.attrs
& dir.attrs.compact?
)
dir.attrs.compact =
attribute compact {
string
}
dir.inner =
( li.elem* )
common.elem.flow |= dir.elem
## Java Applets: <applet>
applet.elem.flow =
element applet { applet.inner.flow & applet.attrs }
applet.elem.phrasing =
element applet { applet.inner.phrasing & applet.attrs }
applet.attrs =
( common.attrs
& applet.attrs.archive?
& applet.attrs.code
& applet.attrs.codebase?
& applet.attrs.name?
& applet.attrs.height
& applet.attrs.width
)
applet.attrs.archive =
attribute archive {
common.data.uri #FIXME *comma* separated URI list (*grumble*)
}
applet.attrs.code =
attribute code {
token
}
applet.attrs.codebase =
attribute codebase {
common.data.uri
}
applet.attrs.name =
attribute name {
string #FIXME refine
}
applet.attrs.height =
attribute height {
common.data.integer.positive
}
applet.attrs.width =
attribute width {
common.data.integer.positive
}
applet.inner.flow =
( param.elem*
, common.inner.flow
)
applet.inner.phrasing =
( param.elem*
, common.inner.phrasing
)
common.elem.flow |= applet.elem.flow
common.elem.phrasing |= applet.elem.phrasing
## Frame Set: <frameset>
frameset.elem =
element frameset { frameset.inner & frameset.attrs }
frameset.attrs =
( common.attrs
& frameset.attrs.rows?
& frameset.attrs.columns?
& frameset.attrs.onunload?
)
frameset.attrs.rows =
attribute rows {
string
}
frameset.attrs.columns =
attribute columns {
string
}
frameset.attrs.onunload =
attribute onunload {
string
}
frameset.inner =
(
( frameset.elem
| frame.elem
)+
& noframes.elem?
)
## Frame: <frame>
frame.elem =
element frame { empty & frame.attrs }
frame.attrs =
( common.attrs.basic
& common.attrs.i18n
& common.attrs.present
& common.attrs.other
& frame.attrs.longdesc?
& frame.attrs.name?
& frame.attrs.src?
& frame.attrs.frameborder?
& frame.attrs.marginwidth?
& frame.attrs.marginheight?
& frame.attrs.noresize?
& frame.attrs.scrolling?
)
frame.attrs.longdesc =
attribute longdesc {
string
}
frame.attrs.name =
attribute name {
string
}
frame.attrs.src =
attribute src {
string
}
frame.attrs.frameborder =
attribute frameborder {
string
}
frame.attrs.marginwidth =
attribute marginwidth {
string
}
frame.attrs.marginheight =
attribute marginheight {
string
}
frame.attrs.noresize =
attribute noresize {
string
}
frame.attrs.scrolling =
attribute scrolling {
string
}
## Alternate no-frames content: <noframes>
noframes.elem =
element noframes { noframes.inner & noframes.attrs }
noframes.attrs =
( common.attrs )
noframes.inner =
( common.inner.flow )
common.elem.flow |= noframes.elem
## "content-language" pragma directive: <meta http-equiv='content-language'>
meta.http-equiv.content-language.elem =
element meta { meta.inner & meta.http-equiv.content-language.attrs }
meta.http-equiv.content-language.attrs =
( common.attrs.basic
& common.attrs.i18n
& common.attrs.present
& common.attrs.other
& meta.http-equiv.attrs.http-equiv.content-language
& meta.http-equiv.attrs.content.content-language?
)
meta.http-equiv.attrs.http-equiv.content-language =
attribute http-equiv {
w:string "content-language"
}
meta.http-equiv.attrs.content.content-language =
attribute content {
string
}
common.elem.metadata |= meta.http-equiv.content-language.elem # not quite right per spec
# if the definition is
# reused in another language
## Obsolete attributes
## abbr attribute
td.attrs.abbr =
attribute abbr {
string
}
td.attrs &= td.attrs.abbr?
th.attrs.abbr =
attribute abbr {
string
}
th.attrs &= th.attrs.abbr?
## archive attribute
object.attrs.archive =
attribute archive {
string
}
object.attrs &= object.attrs.archive?
## axis attribute
td.attrs.axis =
attribute axis {
string
}
td.attrs &= td.attrs.axis?
th.attrs.axis =
attribute axis {
string
}
th.attrs &= th.attrs.axis?
## charset attribute
link.attrs.charset =
attribute charset {
string
}
link.attrs &= link.attrs.charset?
a.attrs.charset =
attribute charset {
string
}
a.attrs &= a.attrs.charset?
## classid attribute
object.attrs.classid =
attribute classid {
common.data.uri
}
object.attrs &= object.attrs.classid?
## codebase attribute
object.attrs.codebase =
attribute codebase {
common.data.uri
}
object.attrs &= object.attrs.codebase?
## codetype attribute
object.attrs.codetype =
attribute codetype {
common.data.mimetype
}
object.attrs &= object.attrs.codetype?
## code attribute
object.attrs.code =
attribute code {
token
}
object.attrs &= object.attrs.code?
## coords attribute
a.attrs.coords =
attribute coords {
string
}
a.attrs &= a.attrs.coords?
## declare attribute
object.attrs.declare =
attribute declare {
string
}
object.attrs &= object.attrs.declare?
## longdesc attribute
img.attrs.longdesc =
attribute longdesc {
common.data.uri.non-empty
}
img.attrs &= img.attrs.longdesc?
iframe.attrs.longdesc =
attribute longdesc {
string
}
iframe.attrs &= iframe.attrs.longdesc?
## methods attribute
a.attrs.methods =
attribute methods {
string
}
a.attrs &= a.attrs.methods?
link.attrs.methods =
attribute methods {
string
}
link.attrs &= link.attrs.methods?
## name attribute
img.attrs.name =
attribute name {
string
}
img.attrs &= img.attrs.name?
embed.attrs.name =
attribute name {
string
}
embed.attrs &= embed.attrs.name?
option.attrs.name =
attribute name {
string
}
option.attrs &= option.attrs.name?
## nohref attribute
area.attrs.nohref =
attribute nohref {
string
}
area.attrs &= area.attrs.nohref?
## profile attribute
head.attrs.profile =
attribute profile {
string
}
head.attrs &= head.attrs.profile?
## rev attribute
link.attrs.rev =
attribute rev {
string
}
link.attrs &= link.attrs.rev?
a.attrs.rev =
attribute rev {
string
}
a.attrs &= a.attrs.rev?
## scheme attribute
meta.attrs.scheme =
attribute scheme {
string
}
meta.name.attrs &= meta.attrs.scheme?
## scope attribute
td.attrs.scope =
attribute scope {
string
}
td.attrs &= td.attrs.scope?
## shape attribute
a.attrs.shape =
attribute shape {
string
}
a.attrs &= a.attrs.shape?
## standby attribute
object.attrs.standby =
attribute standby {
string
}
object.attrs &= object.attrs.standby?
## target attribute
link.attrs.target =
attribute target {
string
}
link.attrs &= link.attrs.target?
## type attribute
param.attrs.type =
attribute type {
string
}
param.attrs &= param.attrs.type?
## urn attribute
a.attrs.urn =
attribute urn {
string
}
a.attrs &= a.attrs.urn?
link.attrs.urn =
attribute urn {
string
}
link.attrs &= link.attrs.urn?
## usemap attribute
input.attrs.usemap =
attribute usemap {
string
}
input.image.attrs &= input.attrs.usemap?
## valuetype attribute
param.attrs.valuetype =
attribute valuetype {
string
}
param.attrs &= param.attrs.valuetype?
## version attribute
html.attrs.version =
attribute version {
string
}
html.attrs &= html.attrs.version?
## Obsolete style attributes
## align attribute
caption.attrs.align =
attribute align {
string
}
caption.attrs &= caption.attrs.align?
col.attrs.align =
attribute align {
string
}
col.attrs &= col.attrs.align?
colgroup.attrs.align =
attribute align {
string
}
colgroup.attrs &= colgroup.attrs.align?
div.attrs.align =
attribute align {
string
}
div.attrs &= div.attrs.align?
embed.attrs.align =
attribute align {
string
}
embed.attrs &= embed.attrs.align?
h1.attrs.align =
attribute align {
string
}
h1.attrs &= h1.attrs.align?
h2.attrs.align =
attribute align {
string
}
h2.attrs &= h2.attrs.align?
h3.attrs.align =
attribute align {
string
}
h3.attrs &= h3.attrs.align?
h4.attrs.align =
attribute align {
string
}
h4.attrs &= h4.attrs.align?
h5.attrs.align =
attribute align {
string
}
h5.attrs &= h5.attrs.align?
h6.attrs.align =
attribute align {
string
}
h6.attrs &= h6.attrs.align?
hr.attrs.align =
attribute align {
string
}
hr.attrs &= hr.attrs.align?
iframe.attrs.align =
attribute align {
string
}
iframe.attrs &= iframe.attrs.align?
img.attrs.align =
attribute align {
string
}
img.attrs &= img.attrs.align?
input.attrs.align =
attribute align {
string
}
input.text.attrs &= input.attrs.align?
input.password.attrs &= input.attrs.align?
input.checkbox.attrs &= input.attrs.align?
input.radio.attrs &= input.attrs.align?
input.button.attrs &= input.attrs.align?
input.submit.attrs &= input.attrs.align?
input.reset.attrs &= input.attrs.align?
input.file.attrs &= input.attrs.align?
input.image.attrs &= input.attrs.align?
input.datetime.attrs &= input.attrs.align?
input.datetime-local.attrs &= input.attrs.align?
input.date.attrs &= input.attrs.align?
input.month.attrs &= input.attrs.align?
input.time.attrs &= input.attrs.align?
input.week.attrs &= input.attrs.align?
input.number.attrs &= input.attrs.align?
input.range.attrs &= input.attrs.align?
input.email.attrs &= input.attrs.align?
input.url.attrs &= input.attrs.align?
input.search.attrs &= input.attrs.align?
input.tel.attrs &= input.attrs.align?
input.color.attrs &= input.attrs.align?
legend.attrs.align =
attribute align {
string
}
legend.attrs &= legend.attrs.align?
object.attrs.align =
attribute align {
string
}
object.attrs &= object.attrs.align?
p.attrs.align =
attribute align {
string
}
p.attrs &= p.attrs.align?
table.attrs.align =
attribute align {
string
}
table.attrs &= table.attrs.align?
tbody.attrs.align =
attribute align {
string
}
tbody.attrs &= tbody.attrs.align?
td.attrs.align =
attribute align {
string
}
td.attrs &= td.attrs.align?
tfoot.attrs.align =
attribute align {
string
}
tfoot.attrs &= tfoot.attrs.align?
th.attrs.align =
attribute align {
string
}
th.attrs &= th.attrs.align?
thead.attrs.align =
attribute align {
string
}
thead.attrs &= thead.attrs.align?
tr.attrs.align =
attribute align {
string
}
tr.attrs &= tr.attrs.align?
## alink attribute
body.attrs.alink =
attribute alink {
string
}
body.attrs &= body.attrs.alink?
iframe.attrs.allowtransparency =
attribute allowtransparency {
string
}
iframe.attrs &= iframe.attrs.allowtransparency?
## background attribute
body.attrs.background =
attribute background {
string
}
body.attrs &= body.attrs.background?
## color attribute
hr.attrs.color =
attribute color {
string
}
hr.attrs &= hr.attrs.color?
## bgcolor attribute
body.attrs.bgcolor =
attribute bgcolor {
string
}
body.attrs &= body.attrs.bgcolor?
table.attrs.bgcolor =
attribute bgcolor {
string
}
table.attrs &= table.attrs.bgcolor?
tr.attrs.bgcolor =
attribute bgcolor {
string
}
tr.attrs &= tr.attrs.bgcolor?
td.attrs.bgcolor =
attribute bgcolor {
string
}
td.attrs &= td.attrs.bgcolor?
th.attrs.bgcolor =
attribute bgcolor {
string
}
th.attrs &= th.attrs.bgcolor?
## border attribute
object.attrs.border =
attribute border {
string
}
object.attrs &= object.attrs.border?
table.attrs.border =
attribute border {
string
}
table.attrs &= table.attrs.border?
## cellpadding attribute
table.attrs.cellpadding =
attribute cellpadding {
string
}
table.attrs &= table.attrs.cellpadding?
## cellspacing attribute
table.attrs.cellspacing =
attribute cellspacing {
string
}
table.attrs &= table.attrs.cellspacing?
## char attribute
col.attrs.char =
attribute char {
string
}
col.attrs &= col.attrs.char?
colgroup.attrs.char =
attribute char {
string
}
colgroup.attrs &= colgroup.attrs.char?
tbody.attrs.char =
attribute char {
string
}
tbody.attrs &= tbody.attrs.char?
td.attrs.char =
attribute char {
string
}
td.attrs &= td.attrs.char?
tfoot.attrs.char =
attribute char {
string
}
tfoot.attrs &= tfoot.attrs.char?
th.attrs.char =
attribute char {
string
}
th.attrs &= th.attrs.char?
thead.attrs.char =
attribute char {
string
}
thead.attrs &= thead.attrs.char?
tr.attrs.char =
attribute char {
string
}
tr.attrs &= tr.attrs.char?
## charoff attribute
col.attrs.charoff =
attribute charoff {
string
}
col.attrs &= col.attrs.charoff?
colgroup.attrs.charoff =
attribute charoff {
string
}
colgroup.attrs &= colgroup.attrs.charoff?
tbody.attrs.charoff =
attribute charoff {
string
}
tbody.attrs &= tbody.attrs.charoff?
td.attrs.charoff =
attribute charoff {
string
}
td.attrs &= td.attrs.charoff?
tfoot.attrs.charoff =
attribute charoff {
string
}
tfoot.attrs &= tfoot.attrs.charoff?
th.attrs.charoff =
attribute charoff {
string
}
th.attrs &= th.attrs.charoff?
thead.attrs.charoff =
attribute charoff {
string
}
thead.attrs &= thead.attrs.charoff?
tr.attrs.charoff =
attribute charoff {
string
}
tr.attrs &= tr.attrs.charoff?
## clear attribute
br.attrs.clear =
attribute clear {
string
}
br.attrs &= br.attrs.clear?
## compact attribute
dl.attrs.compact =
attribute compact {
string
}
dl.attrs &= dl.attrs.compact?
menu.attrs.compact =
attribute compact {
string
}
menu.attrs &= menu.attrs.compact?
ol.attrs.compact =
attribute compact {
string
}
ol.attrs &= ol.attrs.compact?
ul.attrs.compact =
attribute compact {
string
}
ul.attrs &= ul.attrs.compact?
## frame attribute
table.attrs.frame =
attribute frame {
string
}
table.attrs &= table.attrs.frame?
## frameborder attribute
iframe.attrs.frameborder =
attribute frameborder {
string
}
iframe.attrs &= iframe.attrs.frameborder?
## height attribute
td.attrs.height =
attribute height {
string
}
td.attrs &= td.attrs.height?
th.attrs.height =
attribute height {
string
}
th.attrs &= th.attrs.height?
## hspace attribute
img.attrs.hspace =
attribute hspace {
string
}
img.attrs &= img.attrs.hspace?
object.attrs.hspace =
attribute hspace {
string
}
object.attrs &= object.attrs.hspace?
## link attribute
body.attrs.link =
attribute link {
string
}
body.attrs &= body.attrs.link?
## marginbottom attribute
body.attrs.marginbottom =
attribute marginbottom {
string
}
body.attrs &= body.attrs.marginbottom?
## marginheight attribute
body.attrs.marginheight =
attribute marginheight {
string
}
body.attrs &= body.attrs.marginheight?
iframe.attrs.marginheight =
attribute marginheight {
string
}
iframe.attrs &= iframe.attrs.marginheight?
## marginleft attribute
body.attrs.marginleft =
attribute marginleft {
string
}
body.attrs &= body.attrs.marginleft?
## marginright attribute
body.attrs.marginright =
attribute marginright {
string
}
body.attrs &= body.attrs.marginright?
## margintop attribute
body.attrs.margintop =
attribute margintop {
string
}
body.attrs &= body.attrs.margintop?
## marginwidth attribute
body.attrs.marginwidth =
attribute marginwidth {
string
}
body.attrs &= body.attrs.marginwidth?
iframe.attrs.marginwidth =
attribute marginwidth {
string
}
iframe.attrs &= iframe.attrs.marginwidth?
## noshade attribute
hr.attrs.noshade =
attribute noshade {
string
}
hr.attrs &= hr.attrs.noshade?
## nowrap attribute
td.attrs.nowrap =
attribute nowrap {
string
}
td.attrs &= td.attrs.nowrap?
th.attrs.nowrap =
attribute nowrap {
string
}
th.attrs &= th.attrs.nowrap?
## rules attribute
table.attrs.rules =
attribute rules {
string
}
table.attrs &= table.attrs.rules?
## datapagesize attribute
table.attrs.datapagesize =
attribute datapagesize {
string
}
table.attrs &= table.attrs.datapagesize?
## scrolling attribute
iframe.attrs.scrolling =
attribute scrolling {
string
}
iframe.attrs &= iframe.attrs.scrolling?
## size attribute
hr.attrs.size =
attribute size {
string
}
hr.attrs &= hr.attrs.size?
## summary attribute
table.attrs.summary =
attribute summary {
string
}
table.attrs &= table.attrs.summary?
## text attribute
body.attrs.text =
attribute text {
string
}
body.attrs &= body.attrs.text?
## type attribute
li.attrs.type =
attribute type {
string
}
li.attrs &= li.attrs.type?
oli.attrs &= li.attrs.type?
ul.attrs.type =
attribute type {
string
}
ul.attrs &= ul.attrs.type?
## valign attribute
col.attrs.valign =
attribute valign {
string
}
col.attrs &= col.attrs.valign?
colgroup.attrs.valign =
attribute valign {
string
}
colgroup.attrs &= colgroup.attrs.valign?
table.attrs.valign =
attribute valign {
string
}
table.attrs &= table.attrs.valign?
tbody.attrs.valign =
attribute valign {
string
}
tbody.attrs &= tbody.attrs.valign?
td.attrs.valign =
attribute valign {
string
}
td.attrs &= td.attrs.valign?
tfoot.attrs.valign =
attribute valign {
string
}
tfoot.attrs &= tfoot.attrs.valign?
th.attrs.valign =
attribute valign {
string
}
th.attrs &= th.attrs.valign?
thead.attrs.valign =
attribute valign {
string
}
thead.attrs &= thead.attrs.valign?
tr.attrs.valign =
attribute valign {
string
}
tr.attrs &= tr.attrs.valign?
## vlink attribute
body.attrs.vlink =
attribute vlink {
string
}
body.attrs &= body.attrs.vlink?
## vspace attribute
img.attrs.vspace =
attribute vspace {
string
}
img.attrs &= img.attrs.vspace?
object.attrs.vspace =
attribute vspace {
string
}
object.attrs &= object.attrs.vspace?
## width attribute
col.attrs.width =
attribute width {
string
}
col.attrs &= col.attrs.width?
colgroup.attrs.width =
attribute width {
string
}
colgroup.attrs &= colgroup.attrs.width?
hr.attrs.width =
attribute width {
string
}
hr.attrs &= hr.attrs.width?
pre.attrs.width =
attribute width {
string
}
pre.attrs &= pre.attrs.width?
table.attrs.width =
attribute width {
string
}
table.attrs &= table.attrs.width?
td.attrs.width =
attribute width {
string
}
td.attrs &= td.attrs.width?
th.attrs.width =
attribute width {
string
}
th.attrs &= th.attrs.width?
## event attribute
script.attrs.event =
attribute event {
string
}
script.attrs.imported &= script.attrs.event?
script.attrs.embedded &= script.attrs.event?
## for attribute
script.attrs.for =
attribute for {
string
}
script.attrs.imported &= script.attrs.for?
script.attrs.embedded &= script.attrs.for?
## datafld attribute
legacy.attrs.datafld =
attribute datafld {
string
}
span.attrs &= legacy.attrs.datafld?
div.attrs &= legacy.attrs.datafld?
object.attrs &= legacy.attrs.datafld?
input.text.attrs &= legacy.attrs.datafld?
input.password.attrs &= legacy.attrs.datafld?
input.checkbox.attrs &= legacy.attrs.datafld?
input.radio.attrs &= legacy.attrs.datafld?
input.button.attrs &= legacy.attrs.datafld?
input.submit.attrs &= legacy.attrs.datafld?
input.reset.attrs &= legacy.attrs.datafld?
input.file.attrs &= legacy.attrs.datafld?
input.image.attrs &= legacy.attrs.datafld?
input.datetime.attrs &= legacy.attrs.datafld?
input.datetime-local.attrs &= legacy.attrs.datafld?
input.date.attrs &= legacy.attrs.datafld?
input.month.attrs &= legacy.attrs.datafld?
input.time.attrs &= legacy.attrs.datafld?
input.week.attrs &= legacy.attrs.datafld?
input.number.attrs &= legacy.attrs.datafld?
input.range.attrs &= legacy.attrs.datafld?
input.email.attrs &= legacy.attrs.datafld?
input.url.attrs &= legacy.attrs.datafld?
input.search.attrs &= legacy.attrs.datafld?
input.tel.attrs &= legacy.attrs.datafld?
input.color.attrs &= legacy.attrs.datafld?
select.attrs &= legacy.attrs.datafld?
textarea.attrs &= legacy.attrs.datafld?
button.submit.attrs &= legacy.attrs.datafld?
button.reset.attrs &= legacy.attrs.datafld?
button.button.attrs &= legacy.attrs.datafld?
table.attrs &= legacy.attrs.datafld?
## dataformatas attribute
legacy.attrs.dataformatas =
attribute dataformatas {
string
}
span.attrs &= legacy.attrs.dataformatas?
div.attrs &= legacy.attrs.dataformatas?
object.attrs &= legacy.attrs.dataformatas?
input.attrs &= legacy.attrs.dataformatas?
input.text.attrs &= legacy.attrs.dataformatas?
input.password.attrs &= legacy.attrs.dataformatas?
input.checkbox.attrs &= legacy.attrs.dataformatas?
input.radio.attrs &= legacy.attrs.dataformatas?
input.button.attrs &= legacy.attrs.dataformatas?
input.submit.attrs &= legacy.attrs.dataformatas?
input.reset.attrs &= legacy.attrs.dataformatas?
input.file.attrs &= legacy.attrs.dataformatas?
input.image.attrs &= legacy.attrs.dataformatas?
input.datetime.attrs &= legacy.attrs.dataformatas?
input.datetime-local.attrs &= legacy.attrs.dataformatas?
input.date.attrs &= legacy.attrs.dataformatas?
input.month.attrs &= legacy.attrs.dataformatas?
input.time.attrs &= legacy.attrs.dataformatas?
input.week.attrs &= legacy.attrs.dataformatas?
input.number.attrs &= legacy.attrs.dataformatas?
input.range.attrs &= legacy.attrs.dataformatas?
input.email.attrs &= legacy.attrs.dataformatas?
input.url.attrs &= legacy.attrs.dataformatas?
input.search.attrs &= legacy.attrs.dataformatas?
input.tel.attrs &= legacy.attrs.dataformatas?
input.color.attrs &= legacy.attrs.dataformatas?
select.attrs &= legacy.attrs.dataformatas?
textarea.attrs &= legacy.attrs.dataformatas?
button.submit.attrs &= legacy.attrs.dataformatas?
button.reset.attrs &= legacy.attrs.dataformatas?
button.button.attrs &= legacy.attrs.dataformatas?
table.attrs &= legacy.attrs.dataformatas?
## datasrc attribute
legacy.attrs.datasrc =
attribute datasrc {
string
}
span.attrs &= legacy.attrs.datasrc?
div.attrs &= legacy.attrs.datasrc?
object.attrs &= legacy.attrs.datasrc?
input.text.attrs &= legacy.attrs.datasrc?
input.password.attrs &= legacy.attrs.datasrc?
input.checkbox.attrs &= legacy.attrs.datasrc?
input.radio.attrs &= legacy.attrs.datasrc?
input.button.attrs &= legacy.attrs.datasrc?
input.submit.attrs &= legacy.attrs.datasrc?
input.reset.attrs &= legacy.attrs.datasrc?
input.file.attrs &= legacy.attrs.datasrc?
input.image.attrs &= legacy.attrs.datasrc?
input.datetime.attrs &= legacy.attrs.datasrc?
input.datetime-local.attrs &= legacy.attrs.datasrc?
input.date.attrs &= legacy.attrs.datasrc?
input.month.attrs &= legacy.attrs.datasrc?
input.time.attrs &= legacy.attrs.datasrc?
input.week.attrs &= legacy.attrs.datasrc?
input.number.attrs &= legacy.attrs.datasrc?
input.range.attrs &= legacy.attrs.datasrc?
input.email.attrs &= legacy.attrs.datasrc?
input.url.attrs &= legacy.attrs.datasrc?
input.search.attrs &= legacy.attrs.datasrc?
input.tel.attrs &= legacy.attrs.datasrc?
input.color.attrs &= legacy.attrs.datasrc?
select.attrs &= legacy.attrs.datasrc?
textarea.attrs &= legacy.attrs.datasrc?
button.submit.attrs &= legacy.attrs.datasrc?
button.reset.attrs &= legacy.attrs.datasrc?
button.button.attrs &= legacy.attrs.datasrc?
table.attrs &= legacy.attrs.datasrc?