blob: 4cfc157fc4ac56936bcef217a1f7f0c76d7731cf [file] [log] [blame]
default namespace = "http://www.w3.org/2000/svg"
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
##
## SVG 1.1 Basic Text Module
## file: svg-basic-text.rng
##
## This is SVG, a language for describing two-dimensional graphics in XML.
## Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
##
## Modifications Copyright 2007 Mozilla Foundation
##
## $Id$
##
##
## Basic Text
##
## text, altGlyph, altGlyphDef, glyphRef
##
## This module declares markup to provide support for text.
##
##
## Datatypes
##
[ xml:lang = "en" ]
grammar {
FontFamilyValue.datatype = xsd:string
FontSizeValue.datatype = xsd:string
a:documentation [ "\x{a}" ~ " SVG.Font.attrib\x{a}" ~ " " ]
SVG.Font.extra.attrib = empty
SVG.Font.attrib &=
attribute font-family { FontFamilyValue.datatype }?,
attribute font-size { FontSizeValue.datatype }?,
attribute font-style {
string "normal" | string "italic" | string "oblique" | string "inherit"
}?,
attribute font-weight {
string "normal"
| string "bold"
| string "bolder"
| string "lighter"
| string "100"
| string "200"
| string "300"
| string "400"
| string "500"
| string "600"
| string "700"
| string "800"
| string "900"
| string "inherit"
}?,
SVG.Font.extra.attrib
a:documentation [ "\x{a}" ~ " SVG.Text.class\x{a}" ~ " " ]
SVG.Text.extra.class = notAllowed
SVG.Text.class |= \text | SVG.Text.extra.class
a:documentation [
"\x{a}" ~
" SVG.TextContent.class\x{a}" ~
" "
]
SVG.TextContent.extra.class = notAllowed
SVG.TextContent.class = altGlyph | SVG.TextContent.extra.class
a:documentation [ "\x{a}" ~ " text: Text Element\x{a}" ~ " " ]
SVG.text.class =
text
| SVG.Description.class
| SVG.Animation.class
| # <ref name="SVG.TextContent.extra.class"/>
SVG.Hyperlink.class
SVG.text.content = SVG.text.class*
\text = element text { attlist.text, SVG.text.content }
attlist.text &=
SVG.Core.attrib,
SVG.Conditional.attrib,
SVG.Style.attrib,
SVG.Font.attrib,
SVG.Paint.attrib,
SVG.Color.attrib,
SVG.Opacity.attrib,
SVG.Graphics.attrib,
SVG.Clip.attrib,
SVG.Mask.attrib,
SVG.Filter.attrib,
SVG.GraphicalEvents.attrib,
SVG.Cursor.attrib,
SVG.External.attrib,
attribute x { Coordinates.datatype }?,
attribute y { Coordinates.datatype }?,
attribute rotate { Numbers.datatype }?,
attribute transform { TransformList.datatype }?
a:documentation [
"\x{a}" ~
" altGlyph: Alternate Glyph Element\x{a}" ~
" "
]
SVG.altGlyph.content = text
altGlyph =
element altGlyph { attlist.altGlyph, SVG.altGlyph.content }
attlist.altGlyph &=
SVG.Core.attrib,
SVG.Conditional.attrib,
SVG.Style.attrib,
SVG.Font.attrib,
SVG.Paint.attrib,
SVG.Color.attrib,
SVG.Opacity.attrib,
SVG.Graphics.attrib,
SVG.Clip.attrib,
SVG.Mask.attrib,
SVG.Filter.attrib,
SVG.GraphicalEvents.attrib,
SVG.Cursor.attrib,
SVG.XLink.attrib,
SVG.External.attrib,
attribute glyphRef { text }?,
attribute format { text }?
a:documentation [
"\x{a}" ~
" altGlyphDef: Alternate Glyph Definition Element\x{a}" ~
" "
]
SVG.altGlyphDef.content = glyphRef+
altGlyphDef =
element altGlyphDef {
attlist.altGlyphDef, SVG.altGlyphDef.content
}
attlist.altGlyphDef &= SVG.Core.attrib
a:documentation [
"\x{a}" ~
" glyphRef: Glyph Reference Element\x{a}" ~
" "
]
SVG.glyphRef.content = empty
glyphRef =
element glyphRef { attlist.glyphRef, SVG.glyphRef.content }
attlist.glyphRef &=
SVG.Core.attrib,
SVG.Style.attrib,
SVG.Font.attrib,
SVG.XLink.attrib,
attribute glyphRef { text }?,
attribute format { text }?
}