summaryrefslogtreecommitdiff
path: root/xml/relaxng
diff options
context:
space:
mode:
Diffstat (limited to 'xml/relaxng')
-rw-r--r--xml/relaxng/src/resources/html5-schema/html5-svg-mathml.rnc2
-rwxr-xr-xxml/relaxng/src/resources/html5-schema/html5/applications.rnc12
-rwxr-xr-xxml/relaxng/src/resources/html5-schema/html5/aria.rnc10
-rwxr-xr-xxml/relaxng/src/resources/html5-schema/html5/block.rnc1
-rwxr-xr-xxml/relaxng/src/resources/html5-schema/html5/common.rnc15
-rwxr-xr-xxml/relaxng/src/resources/html5-schema/html5/core-scripting.rnc2
-rwxr-xr-xxml/relaxng/src/resources/html5-schema/html5/embed.rnc71
-rw-r--r--xml/relaxng/src/resources/html5-schema/html5/legacy.rnc6
-rwxr-xr-xxml/relaxng/src/resources/html5-schema/html5/media.rnc6
-rwxr-xr-xxml/relaxng/src/resources/html5-schema/html5/meta.rnc1
-rw-r--r--xml/relaxng/src/resources/html5-schema/html5/microdata.rnc3
-rw-r--r--xml/relaxng/src/resources/html5-schema/html5/rdfa.rnc30
-rwxr-xr-xxml/relaxng/src/resources/html5-schema/html5/tables.rnc33
-rw-r--r--xml/relaxng/src/resources/html5-schema/legacy/legacy.rnc6
-rw-r--r--xml/relaxng/src/resources/html5-schema/svg11/svg-basic-font.rnc4
-rw-r--r--xml/relaxng/src/resources/html5-schema/svg11/svg-conditional.rnc3
-rw-r--r--xml/relaxng/src/resources/html5-schema/svg11/svg-extensibility.rnc11
-rw-r--r--xml/relaxng/src/resources/patches/0004_ping.patch2
-rw-r--r--xml/relaxng/src/resources/patches/patch_build.patch53
-rwxr-xr-xxml/relaxng/src/resources/update_html5_schema.sh4
20 files changed, 166 insertions, 109 deletions
diff --git a/xml/relaxng/src/resources/html5-schema/html5-svg-mathml.rnc b/xml/relaxng/src/resources/html5-schema/html5-svg-mathml.rnc
index fadc971d2bb4..fe154b8f57bf 100644
--- a/xml/relaxng/src/resources/html5-schema/html5-svg-mathml.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5-svg-mathml.rnc
@@ -10,8 +10,6 @@ common.elem.phrasing |= math
SVG.foreignObject.content |=
( math
- | html.elem
- | body.elem
| common.inner.flow
)
diff --git a/xml/relaxng/src/resources/html5-schema/html5/applications.rnc b/xml/relaxng/src/resources/html5-schema/html5/applications.rnc
index ac07294db29c..2a592fbbd781 100755
--- a/xml/relaxng/src/resources/html5-schema/html5/applications.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/applications.rnc
@@ -377,6 +377,7 @@ datatypes w = "http://whattf.org/datatype-draft"
| common.attrs.aria.role.combobox
| common.attrs.aria.role.dialog
| common.attrs.aria.role.directory
+ | common.attrs.aria.role.group
| common.attrs.aria.role.heading
| common.attrs.aria.role.img
| common.attrs.aria.role.link
@@ -425,7 +426,16 @@ datatypes w = "http://whattf.org/datatype-draft"
( common.attrs
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
+ | common.attrs.aria.role.button
)?
)
summary.inner =
- ( common.inner.phrasing )
+ ( common.inner.phrasing
+ | h1.elem
+ | h2.elem
+ | h3.elem
+ | h4.elem
+ | h5.elem
+ | h6.elem
+ | hgroup.elem
+ )
diff --git a/xml/relaxng/src/resources/html5-schema/html5/aria.rnc b/xml/relaxng/src/resources/html5-schema/html5/aria.rnc
index b1035a0fa2a6..cf412e5f4ace 100755
--- a/xml/relaxng/src/resources/html5-schema/html5/aria.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/aria.rnc
@@ -133,15 +133,7 @@ common.attrs.aria.implicit.toolbar |=
& aria.prop.activedescendant?
)
-common.attrs.aria.implicit.columnheader |=
- ( aria.prop.sort?
- & aria.prop.readonly?
- & aria.prop.required?
- & aria.state.selected?
- & aria.state.expanded?
- )
-
-common.attrs.aria.implicit.rowheader |=
+common.attrs.aria.implicit.column-or-row-header |=
( aria.prop.sort?
& aria.prop.readonly?
& aria.prop.required?
diff --git a/xml/relaxng/src/resources/html5-schema/html5/block.rnc b/xml/relaxng/src/resources/html5-schema/html5/block.rnc
index 2fd2d233c71b..de3b5a54ee2d 100755
--- a/xml/relaxng/src/resources/html5-schema/html5/block.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/block.rnc
@@ -112,6 +112,7 @@ datatypes w = "http://whattf.org/datatype-draft"
& ol.attrs.reversed?
& ol.attrs.type?
& ( ( common.attrs.aria.role.directory
+ | common.attrs.aria.role.group
| common.attrs.aria.role.list
| common.attrs.aria.role.listbox
| common.attrs.aria.role.menu
diff --git a/xml/relaxng/src/resources/html5-schema/html5/common.rnc b/xml/relaxng/src/resources/html5-schema/html5/common.rnc
index 9f1e65673bd2..09afb1454233 100755
--- a/xml/relaxng/src/resources/html5-schema/html5/common.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/common.rnc
@@ -113,9 +113,7 @@ common.attrs =
)
common.attrs.basic =
- ( ( common.attrs.id
- | common.attrs.xml-id
- )? # REVISIT assuming only either one is allowed
+ ( common.attrs.id?
& common.attrs.class?
& common.attrs.title?
& common.attrs.base?
@@ -125,10 +123,6 @@ common.attrs.basic =
attribute id {
common.data.id
}
- common.attrs.xml-id =
- attribute xml:id {
- xsd:NCName
- } & XMLonly
common.attrs.class =
attribute class {
common.data.tokens
@@ -387,6 +381,10 @@ common.attrs.other =
common.data.keylabellist =
w:keylabellist
+## List of Source Sizes
+ common.data.source.size.list =
+ w:source-size-list
+
## Microdata Properties
common.data.microdata-properties =
list { w:microdata-property+ }
@@ -466,7 +464,7 @@ common.attrs.aria.implicit.article = ( notAllowed )
common.attrs.aria.implicit.banner = ( notAllowed )
common.attrs.aria.implicit.button = ( notAllowed )
common.attrs.aria.implicit.checkbox = ( notAllowed )
-common.attrs.aria.implicit.columnheader = ( notAllowed )
+common.attrs.aria.implicit.column-or-row-header = ( notAllowed )
common.attrs.aria.implicit.combobox = ( notAllowed )
common.attrs.aria.implicit.complementary = ( notAllowed )
common.attrs.aria.implicit.contentinfo = ( notAllowed )
@@ -486,7 +484,6 @@ common.attrs.aria.implicit.option = ( notAllowed )
common.attrs.aria.implicit.progressbar = ( notAllowed )
common.attrs.aria.implicit.radio = ( notAllowed )
common.attrs.aria.implicit.region = ( notAllowed )
-common.attrs.aria.implicit.rowheader = ( notAllowed )
common.attrs.aria.implicit.section = ( notAllowed )
common.attrs.aria.implicit.select = ( notAllowed )
common.attrs.aria.implicit.slider = ( notAllowed )
diff --git a/xml/relaxng/src/resources/html5-schema/html5/core-scripting.rnc b/xml/relaxng/src/resources/html5-schema/html5/core-scripting.rnc
index bef6bf107423..eb08c2ed5bb7 100755
--- a/xml/relaxng/src/resources/html5-schema/html5/core-scripting.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/core-scripting.rnc
@@ -15,6 +15,7 @@ datatypes w = "http://whattf.org/datatype-draft"
( common.attrs
& script.attrs.type?
& script.attrs.language? # restricted in Schematron
+ & embedded.content.attrs.crossorigin?
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
@@ -29,6 +30,7 @@ datatypes w = "http://whattf.org/datatype-draft"
& script.attrs.type?
& script.attrs.charset?
& script.attrs.language? # restricted in Schematron
+ & embedded.content.attrs.crossorigin?
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
diff --git a/xml/relaxng/src/resources/html5-schema/html5/embed.rnc b/xml/relaxng/src/resources/html5-schema/html5/embed.rnc
index 51a2f0acb7a6..be4204914fa8 100755
--- a/xml/relaxng/src/resources/html5-schema/html5/embed.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/embed.rnc
@@ -15,12 +15,15 @@ namespace local = ""
img.attrs =
( common.attrs
& img.attrs.src
+ & img.attrs.srcset?
+ & img.attrs.sizes?
& img.attrs.alt? # ARIA: if alt empty, only allowed role value is "presentation"; check in assertions
& img.attrs.height?
& img.attrs.width?
& img.attrs.usemap?
& img.attrs.ismap?
& img.attrs.border? # obsolete
+ & embedded.content.attrs.crossorigin?
& ( common.attrs.aria.implicit.img
| common.attrs.aria
)?
@@ -29,6 +32,14 @@ namespace local = ""
attribute src {
common.data.uri.non-empty
}
+ img.attrs.srcset =
+ attribute srcset {
+ string
+ } & v5only
+ img.attrs.sizes =
+ attribute sizes {
+ common.data.source.size.list
+ } & v5only
img.attrs.alt =
attribute alt {
text
@@ -58,6 +69,54 @@ namespace local = ""
common.elem.phrasing |= img.elem
+## Image with multiple sources: <picture>
+
+ picture.elem =
+ element picture { picture.inner & picture.attrs }
+ & v5only
+ picture.attrs =
+ ( common.attrs )
+ picture.inner =
+ ( ( source.picture.elem*
+ & common.elem.script-supporting*
+ ),
+ ( img.elem
+ & common.elem.script-supporting*
+ )
+ )
+
+ common.elem.phrasing |= picture.elem
+
+## Picture source: <source srcset>
+
+ source.picture.elem =
+ element source { source.picture.inner & source.picture.attrs }
+ source.picture.attrs =
+ ( common.attrs
+ & source.picture.attrs.media?
+ & source.picture.attrs.srcset
+ & source.picture.attrs.sizes?
+ & source.picture.attrs.type?
+ )
+ source.picture.attrs.media =
+ attribute media {
+ common.data.mediaquery
+ }
+ source.picture.attrs.srcset =
+ attribute srcset {
+ string
+ }
+ source.picture.attrs.sizes =
+ attribute sizes {
+ common.data.source.size.list
+ }
+ source.picture.attrs.type =
+ attribute type {
+ common.data.mimetype
+ }
+ source.picture.inner =
+ ( empty )
+
## Plug-ins: <embed>
embed.elem =
@@ -72,6 +131,7 @@ namespace local = ""
& ( common.attrs.aria.landmark.application
| common.attrs.aria.landmark.document
| common.attrs.aria.role.img
+ | common.attrs.aria.role.presentation
)?
)
embed.attrs.src =
@@ -292,6 +352,7 @@ namespace local = ""
& ( common.attrs.aria.landmark.application
| common.attrs.aria.landmark.document
| common.attrs.aria.role.img
+ | common.attrs.aria.role.presentation
)?
)
object.attrs.data =
@@ -370,6 +431,7 @@ namespace local = ""
& ( common.attrs.aria.landmark.application
| common.attrs.aria.landmark.document
| common.attrs.aria.role.img
+ | common.attrs.aria.role.presentation
)?
)
iframe.attrs.src =
@@ -548,7 +610,7 @@ namespace local = ""
w:string "allowfullscreen" | w:string ""
} & v5only
iframe.inner =
- ( text )
+ ( ( text & HTMLonly ) | empty )
common.elem.phrasing |= iframe.elem
@@ -655,3 +717,10 @@ namespace local = ""
( empty )
common.elem.phrasing |= area.elem
+
+## Attributes Common to Embedded Content
+
+ embedded.content.attrs.crossorigin =
+ attribute crossorigin {
+ w:string "anonymous" | w:string "use-credentials" | w:string ""
+ } & v5only
diff --git a/xml/relaxng/src/resources/html5-schema/html5/legacy.rnc b/xml/relaxng/src/resources/html5-schema/html5/legacy.rnc
index e64f77068455..3d6f1c1930ef 100644
--- a/xml/relaxng/src/resources/html5-schema/html5/legacy.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/legacy.rnc
@@ -812,6 +812,12 @@ datatypes w = "http://whattf.org/datatype-draft"
}
object.attrs &= object.attrs.border?
+ table.attrs.border =
+ attribute border {
+ string
+ }
+ table.attrs &= table.attrs.border?
+
## cellpadding attribute
table.attrs.cellpadding =
diff --git a/xml/relaxng/src/resources/html5-schema/html5/media.rnc b/xml/relaxng/src/resources/html5-schema/html5/media.rnc
index 04072ecc1036..28cbb630bb39 100755
--- a/xml/relaxng/src/resources/html5-schema/html5/media.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/media.rnc
@@ -14,6 +14,7 @@ datatypes w = "http://whattf.org/datatype-draft"
& media.attrs.loop?
& media.attrs.mediagroup?
& media.attrs.muted?
+ & embedded.content.attrs.crossorigin?
)
media.attrs.autoplay =
attribute autoplay {
@@ -48,7 +49,6 @@ datatypes w = "http://whattf.org/datatype-draft"
( common.attrs
& source.attrs.src
& source.attrs.type?
- & source.attrs.media?
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
@@ -61,10 +61,6 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute type {
common.data.mimetype
}
- source.attrs.media =
- attribute media {
- common.data.mediaquery
- }
source.inner =
( empty )
diff --git a/xml/relaxng/src/resources/html5-schema/html5/meta.rnc b/xml/relaxng/src/resources/html5-schema/html5/meta.rnc
index b5e810a0d46f..898a130ec6ed 100755
--- a/xml/relaxng/src/resources/html5-schema/html5/meta.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/meta.rnc
@@ -164,6 +164,7 @@ datatypes w = "http://whattf.org/datatype-draft"
& shared-hyperlink.attrs.type?
& link.attrs.sizes?
# link.attrs.title included in common.attrs
+ & embedded.content.attrs.crossorigin?
& ( common.attrs.aria.role.link
| common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
diff --git a/xml/relaxng/src/resources/html5-schema/html5/microdata.rnc b/xml/relaxng/src/resources/html5-schema/html5/microdata.rnc
index 076a4ded1dad..91616c846147 100644
--- a/xml/relaxng/src/resources/html5-schema/html5/microdata.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/microdata.rnc
@@ -25,7 +25,7 @@ common.attrs.microdata =
}
common.attrs.microdata.itemtype =
attribute itemtype {
- common.data.uri.absolute
+ list { common.data.uri.absolute+ }
}
common.attrs.microdata.itemid =
attribute itemid {
@@ -58,6 +58,7 @@ base.attrs &= common.attrs.microdata
& shared-hyperlink.attrs.type?
& link.attrs.sizes?
# link.attrs.title included in common.attrs
+ & embedded.content.attrs.crossorigin?
& ( common.attrs.aria.role.link
| common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
diff --git a/xml/relaxng/src/resources/html5-schema/html5/rdfa.rnc b/xml/relaxng/src/resources/html5-schema/html5/rdfa.rnc
index b8513d716093..3c849d98a954 100644
--- a/xml/relaxng/src/resources/html5-schema/html5/rdfa.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/rdfa.rnc
@@ -1,5 +1,5 @@
nonRDFaLite = empty
-# #####################################################################
+# #####################################################################
## RELAX NG Schema for HTML 5: RDFa 1.1 and RDFa Lite 1.1 #
# #####################################################################
@@ -9,12 +9,12 @@ nonRDFaLite = empty
common.data.rdfa.safecurie =
xsd:string {
- pattern = "\[(([\i-[:]][\c-[:]]*)?:)?[^\s]+\]"
- minLength = "3"
+ pattern = "\[(([\i-[:]][\c-[:]]*)?:?)[^\s]*\]"
+ minLength = "2"
}
common.data.rdfa.curie =
xsd:string {
- pattern = "(([\i-[:]][\c-[:]]*)?:)?[^\s]+"
+ pattern = "(([\i-[:]][\c-[:]]*)?:)[^\s]*"
minLength = "1"
}
common.data.rdfa.term =
@@ -182,15 +182,11 @@ link.rdfa.attrs.metadata =
& common.attrs.present
& common.attrs.other
& ( ( common.attrs.rdfa.property
- & ( link.attrs.rel
- | common.attrs.rdfa.rel
- )?
+ & link.attrs.rel?
)
|
( common.attrs.rdfa.property?
- & ( link.attrs.rel
- | common.attrs.rdfa.rel
- )
+ & link.attrs.rel
)
)
& link.attrs.href
@@ -208,6 +204,11 @@ link.rdfa.attrs.metadata =
& shared-hyperlink.attrs.type?
& link.attrs.sizes?
# link.attrs.title included in common.attrs
+ & embedded.content.attrs.crossorigin?
+ & ( common.attrs.aria.role.link
+ | common.attrs.aria.role.presentation
+ | common.attrs.aria.role.menuitem
+ )?
)
link.rdfa.attrs.phrasing =
( common.attrs.basic
@@ -215,9 +216,7 @@ link.rdfa.attrs.phrasing =
& common.attrs.present
& common.attrs.other
& common.attrs.rdfa.property
- & ( link.attrs.rel
- | common.attrs.rdfa.rel
- )?
+ & link.attrs.rel?
& ( ( common.attrs.rdfa.resource
& link.attrs.href?
)
@@ -239,6 +238,11 @@ link.rdfa.attrs.phrasing =
& shared-hyperlink.attrs.type?
& link.attrs.sizes?
# link.attrs.title included in common.attrs
+ & embedded.content.attrs.crossorigin?
+ & ( common.attrs.aria.role.link
+ | common.attrs.aria.role.presentation
+ | common.attrs.aria.role.menuitem
+ )?
)
common.elem.metadata |= link.rdfa.elem.metadata
common.elem.phrasing |= link.rdfa.elem.phrasing
diff --git a/xml/relaxng/src/resources/html5-schema/html5/tables.rnc b/xml/relaxng/src/resources/html5-schema/html5/tables.rnc
index 2aecbcfc7a4e..b6021dac22dd 100755
--- a/xml/relaxng/src/resources/html5-schema/html5/tables.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/tables.rnc
@@ -50,13 +50,8 @@ datatypes w = "http://whattf.org/datatype-draft"
element table { table.inner & table.attrs }
table.attrs =
( common.attrs
- & table.attrs.border?
& common.attrs.aria?
)
- table.attrs.border =
- attribute border {
- string
- }
table.inner =
( caption.elem?
, common.elem.script-supporting*
@@ -84,9 +79,7 @@ datatypes w = "http://whattf.org/datatype-draft"
element caption { caption.inner & caption.attrs }
caption.attrs =
( common.attrs
- & ( common.attrs.aria.role.presentation
- | common.attrs.aria.role.menuitem
- )?
+ & common.attrs.aria?
)
caption.inner =
( common.inner.flow )
@@ -100,9 +93,7 @@ datatypes w = "http://whattf.org/datatype-draft"
element colgroup { colgroup.inner & colgroup.attrs }
colgroup.attrs =
( common.attrs
- & ( common.attrs.aria.role.presentation
- | common.attrs.aria.role.menuitem
- )?
+ & common.attrs.aria?
)
colgroup.attrs.span =
attribute span {
@@ -122,9 +113,7 @@ datatypes w = "http://whattf.org/datatype-draft"
col.attrs =
( common.attrs
& col.attrs.span?
- & ( common.attrs.aria.role.presentation
- | common.attrs.aria.role.menuitem
- )?
+ & common.attrs.aria?
)
col.attrs.span =
attribute span {
@@ -139,9 +128,7 @@ datatypes w = "http://whattf.org/datatype-draft"
element thead { thead.inner & thead.attrs }
thead.attrs =
( common.attrs
- & ( common.attrs.aria.role.presentation
- | common.attrs.aria.role.menuitem
- )?
+ & common.attrs.aria?
)
thead.inner =
( tr.elem*
@@ -154,9 +141,7 @@ datatypes w = "http://whattf.org/datatype-draft"
element tfoot { tfoot.inner & tfoot.attrs }
tfoot.attrs =
( common.attrs
- & ( common.attrs.aria.role.presentation
- | common.attrs.aria.role.menuitem
- )?
+ & common.attrs.aria?
)
tfoot.inner =
( tr.elem*
@@ -169,9 +154,7 @@ datatypes w = "http://whattf.org/datatype-draft"
element tbody { tbody.inner & tbody.attrs }
tbody.attrs =
( common.attrs
- & ( common.attrs.aria.role.presentation
- | common.attrs.aria.role.menuitem
- )?
+ & common.attrs.aria?
)
tbody.inner =
( tr.elem*
@@ -253,7 +236,9 @@ datatypes w = "http://whattf.org/datatype-draft"
& tables.attrs.scope?
& tables.attrs.headers?
# & tables.attrs.alignment
- & common.attrs.aria?
+ & ( common.attrs.aria?
+ | common.attrs.aria.implicit.column-or-row-header
+ )
)
th.inner =
( common.inner.flow )
diff --git a/xml/relaxng/src/resources/html5-schema/legacy/legacy.rnc b/xml/relaxng/src/resources/html5-schema/legacy/legacy.rnc
index e64f77068455..3d6f1c1930ef 100644
--- a/xml/relaxng/src/resources/html5-schema/legacy/legacy.rnc
+++ b/xml/relaxng/src/resources/html5-schema/legacy/legacy.rnc
@@ -812,6 +812,12 @@ datatypes w = "http://whattf.org/datatype-draft"
}
object.attrs &= object.attrs.border?
+ table.attrs.border =
+ attribute border {
+ string
+ }
+ table.attrs &= table.attrs.border?
+
## cellpadding attribute
table.attrs.cellpadding =
diff --git a/xml/relaxng/src/resources/html5-schema/svg11/svg-basic-font.rnc b/xml/relaxng/src/resources/html5-schema/svg11/svg-basic-font.rnc
index 32eb1460f564..94f5b7fa3121 100644
--- a/xml/relaxng/src/resources/html5-schema/svg11/svg-basic-font.rnc
+++ b/xml/relaxng/src/resources/html5-schema/svg11/svg-basic-font.rnc
@@ -97,7 +97,7 @@ grammar {
attribute overline-thickness { Number.datatype }?
a:documentation [ "\x{a}" ~ " glyph: Glyph Element\x{a}" ~ " " ]
SVG.glyph.class = notAllowed
- SVG.glyph.content = SVG.Description.class*, SVG.glyph.class*
+ SVG.glyph.content = SVG.Description.class* | SVG.glyph.class*
glyph = element glyph { attlist.glyph, SVG.glyph.content }
attlist.glyph &=
SVG.Core.attrib,
@@ -120,7 +120,7 @@ grammar {
]
SVG.missing-glyph.class = notAllowed
SVG.missing-glyph.content =
- SVG.Description.class*, SVG.missing-glyph.class*
+ SVG.Description.class* | SVG.missing-glyph.class*
missing-glyph =
element missing-glyph {
attlist.missing-glyph, SVG.missing-glyph.content
diff --git a/xml/relaxng/src/resources/html5-schema/svg11/svg-conditional.rnc b/xml/relaxng/src/resources/html5-schema/svg11/svg-conditional.rnc
index 22f3cc23b1d9..ecb3e154aded 100644
--- a/xml/relaxng/src/resources/html5-schema/svg11/svg-conditional.rnc
+++ b/xml/relaxng/src/resources/html5-schema/svg11/svg-conditional.rnc
@@ -62,8 +62,7 @@ grammar {
| SVG.Conditional.class
| SVG.Image.class
| SVG.Shape.class
- | SVG.Hyperlink.class
- | SVG.Extensibility.class)*
+ | SVG.Hyperlink.class)*
switch = element switch { attlist.switch, SVG.switch.content }
attlist.switch &=
SVG.Core.attrib,
diff --git a/xml/relaxng/src/resources/html5-schema/svg11/svg-extensibility.rnc b/xml/relaxng/src/resources/html5-schema/svg11/svg-extensibility.rnc
index 2f075b4c2cec..ba3316ad160b 100644
--- a/xml/relaxng/src/resources/html5-schema/svg11/svg-extensibility.rnc
+++ b/xml/relaxng/src/resources/html5-schema/svg11/svg-extensibility.rnc
@@ -57,3 +57,14 @@ foreignElement =
| text
| foreignElement)*
}
+SVG.a.content &= SVG.Extensibility.class*
+SVG.defs.content &= SVG.Extensibility.class*
+SVG.glyph.content &= SVG.Extensibility.class*
+SVG.g.content &= SVG.Extensibility.class*
+SVG.marker.content &= SVG.Extensibility.class*
+SVG.mask.content &= SVG.Extensibility.class*
+SVG.missing-glyph.content &= SVG.Extensibility.class*
+SVG.pattern.content &= SVG.Extensibility.class*
+SVG.svg.content &= SVG.Extensibility.class*
+SVG.switch.content &= SVG.Extensibility.class*
+SVG.symbol.content &= SVG.Extensibility.class*
diff --git a/xml/relaxng/src/resources/patches/0004_ping.patch b/xml/relaxng/src/resources/patches/0004_ping.patch
index 6f825ac4a2e0..4e47a934c7d6 100644
--- a/xml/relaxng/src/resources/patches/0004_ping.patch
+++ b/xml/relaxng/src/resources/patches/0004_ping.patch
@@ -7,7 +7,7 @@
- shared-hyperlink.attrs.ping =
- attribute ping {
- common.data.uris
-- } & v5only & nonW3C
+- } & v5only
## Emphatic Stress: <em>
diff --git a/xml/relaxng/src/resources/patches/patch_build.patch b/xml/relaxng/src/resources/patches/patch_build.patch
index ba4c30769bd0..88e4148c2420 100644
--- a/xml/relaxng/src/resources/patches/patch_build.patch
+++ b/xml/relaxng/src/resources/patches/patch_build.patch
@@ -1,7 +1,8 @@
-diff -r dd84d714a0da build.py
---- a/build.py Fri Oct 25 13:00:39 2013 +0900
-+++ b/build.py Fri Jan 24 13:53:06 2014 +0400
-@@ -147,8 +147,8 @@
+diff --git a/build.py b/build.py
+index ac7ecb3..db7de9c 100755
+--- a/build.py
++++ b/build.py
+@@ -153,13 +153,13 @@ dependencyJars = runDependencyJars + buildOnlyDependencyJars
moduleNames = [
"syntax",
@@ -10,9 +11,18 @@ diff -r dd84d714a0da build.py
+ # "util",
+ # "xmlparser",
"validator",
+- "jing-trang",
+- "htmlparser",
+- "nu-validator-site",
+- "tests",
++ # "jing-trang",
++ # "htmlparser",
++ # "nu-validator-site",
++ # "tests",
]
-@@ -875,19 +875,19 @@
+ javaSafeNamePat = re.compile(r'[^a-zA-Z0-9]')
+@@ -926,19 +926,19 @@ def downloadDependencies():
downloadDependency(url, md5sum)
def buildAll():
@@ -42,36 +52,5 @@ diff -r dd84d714a0da build.py
+ # buildXmlParser()
+ # buildValidator()
- def hgCloneOrUpdate(mod, baseUrl):
+ def gitCloneOrUpdate(mod, baseUrl):
if os.path.exists(mod):
-@@ -925,18 +925,18 @@
- # XXX root dir
- for mod in moduleNames:
- hgCloneOrUpdate(mod, hgRoot)
-- gitCloneOrUpdate("nu-validator-site", gitRoot)
-- runCmd('"%s" co http://jing-trang.googlecode.com/svn/branches/validator-nu jing-trang' % (svnCmd))
-- hgCloneOrUpdate("htmlparser", parserHgRoot)
-- testsRemote = "https://github.com/validator/tests.git"
-- testsBranch = "master"
-- testsDir = "tests"
-- if os.path.exists(testsDir):
-- os.chdir(testsDir)
-- runCmd('"%s" pull %s %s' % (gitCmd, testsRemote, testsBranch))
-- os.chdir("..")
-- else:
-- runCmd('"%s" clone %s %s' % (gitCmd, testsRemote, testsDir))
-+ # gitCloneOrUpdate("nu-validator-site", gitRoot)
-+ # runCmd('"%s" co http://jing-trang.googlecode.com/svn/branches/validator-nu jing-trang' % (svnCmd))
-+ # hgCloneOrUpdate("htmlparser", parserHgRoot)
-+ # testsRemote = "https://github.com/validator/tests.git"
-+ # testsBranch = "master"
-+ # testsDir = "tests"
-+ # if os.path.exists(testsDir):
-+ # os.chdir(testsDir)
-+ # runCmd('"%s" pull %s %s' % (gitCmd, testsRemote, testsBranch))
-+ # os.chdir("..")
-+ # else:
-+ # runCmd('"%s" clone %s %s' % (gitCmd, testsRemote, testsDir))
-
- def selfUpdate():
- hgCloneOrUpdate("build", hgRoot)
diff --git a/xml/relaxng/src/resources/update_html5_schema.sh b/xml/relaxng/src/resources/update_html5_schema.sh
index 299129868253..20d28e53762e 100755
--- a/xml/relaxng/src/resources/update_html5_schema.sh
+++ b/xml/relaxng/src/resources/update_html5_schema.sh
@@ -11,9 +11,9 @@ mkdir temp
cd temp
echo ">>>>> Preparing validator build"
-hg clone https://bitbucket.org/validator/build build
+git clone https://github.com/validator/build build
cd build
-hg import "$PATCHES/patch_build.patch" --no-commit
+git apply "$PATCHES/patch_build.patch"
cd ..
echo