namespace svg = "http://www.w3.org/2000/svg"
namespace math = "http://www.w3.org/1998/Math/MathML"

include "svg11/svg11-inc.rnc"
include "mml3/mathml3-inc.rnc"

common.elem.phrasing |= svg

common.elem.phrasing |= math

math.attributes &=
	(	common.attrs.aria.role.math
	|	common.attrs.aria.implicit.math
	)?

math.attributes &= aria.global?

SVG.foreignObject.content |=
	(	math
	|	common.inner.flow
	)

SVG.Core.attrib &= aria.global?

annotation-xml.model.svg |= svg

annotation-xml.model.xhtml |=
	(	html.elem
	|	common.elem.flow
	)

SVG.desc.content |= common.inner.flow
SVG.title.content |= common.inner.flow
SVG.metadata.content |= common.inner.flow

# in our integration, <mtext> is the only MathML "token element" that can
# contain HTML element content; the <mi>, <mn>, <mo> and <ms> elements
# cannot; see http://www.w3.org/Bugs/Public/show_bug.cgi?id=9859#c8 for a
# rationale
mtext.content |= common.elem.phrasing

SVG.vector-effect.attrib =
	attribute vector-effect {
		string "none" | string "non-scaling-stroke"
	}

attlist.circle &= SVG.vector-effect.attrib?
attlist.ellipse &= SVG.vector-effect.attrib?
attlist.foreignObject &= SVG.vector-effect.attrib?
attlist.image &= SVG.vector-effect.attrib?
attlist.line &= SVG.vector-effect.attrib?
attlist.path &= SVG.vector-effect.attrib?
attlist.polygon &= SVG.vector-effect.attrib?
attlist.polyline &= SVG.vector-effect.attrib?
attlist.rect &= SVG.vector-effect.attrib?
attlist.text &= SVG.vector-effect.attrib?
attlist.tspan &= SVG.vector-effect.attrib?
attlist.use &= SVG.vector-effect.attrib?
