diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-text.rnc')
-rw-r--r-- | Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-text.rnc | 275 |
1 files changed, 275 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-text.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-text.rnc new file mode 100644 index 00000000000..b9d52e14420 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-text.rnc @@ -0,0 +1,275 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## SVG 1.1 Text Module +## file: svg-text.rng +## +## This is SVG, a language for describing two-dimensional graphics in XML. +## Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. +## +## $Id: svg-text.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ +## + +## +## Text +## +## text, tspan, tref, textPath, altGlyph, altGlyphDef, altGlyphItem, +## glyphRef +## +## This module declares markup to provide support for alternate glyph. +## +[ xml:lang = "en" ] +grammar { + include "svg-basic-text.rnc" + a:documentation [ "\x{a}" ~ " Datatypes\x{a}" ~ " " ] + BaselineShiftValue.datatype = xsd:string + FontSizeAdjustValue.datatype = xsd:string + GlyphOrientationHorizontalValue.datatype = xsd:string + GlyphOrientationVerticalValue.datatype = xsd:string + KerningValue.datatype = xsd:string + SpacingValue.datatype = xsd:string + TextDecorationValue.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Text.attrib\x{a}" ~ " " ] + SVG.Text.extra.attrib = empty + SVG.Text.attrib &= + attribute writing-mode { + "lr-tb" | "rl-tb" | "tb-rl" | "lr" | "rl" | "tb" | "inherit" + }?, + SVG.Text.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.TextContent.attrib\x{a}" ~ " " ] + SVG.TextContent.extra.attrib = empty + SVG.TextContent.attrib &= + attribute alignment-baseline { + "auto" + | "baseline" + | "before-edge" + | "text-before-edge" + | "middle" + | "central" + | "after-edge" + | "text-after-edge" + | "ideographic" + | "alphabetic" + | "hanging" + | "mathematical" + | "inherit" + }?, + attribute baseline-shift { BaselineShiftValue.datatype }?, + attribute direction { "ltr" | "rtl" | "inherit" }?, + attribute dominant-baseline { + "auto" + | "use-script" + | "no-change" + | "reset-size" + | "ideographic" + | "alphabetic" + | "hanging" + | "mathematical" + | "central" + | "middle" + | "text-after-edge" + | "text-before-edge" + | "inherit" + }?, + attribute glyph-orientation-horizontal { + GlyphOrientationHorizontalValue.datatype + }?, + attribute glyph-orientation-vertical { + GlyphOrientationVerticalValue.datatype + }?, + attribute kerning { KerningValue.datatype }?, + attribute letter-spacing { SpacingValue.datatype }?, + attribute text-anchor { "start" | "middle" | "end" | "inherit" }?, + attribute text-decoration { TextDecorationValue.datatype }?, + attribute unicode-bidi { + "normal" | "embed" | "bidi-override" | "inherit" + }?, + attribute word-spacing { SpacingValue.datatype }?, + SVG.TextContent.extra.attrib + SVG.Font.attrib &= + attribute font-size-adjust { FontSizeAdjustValue.datatype }?, + attribute font-stretch { + "normal" + | "wider" + | "narrower" + | "ultra-condensed" + | "extra-condensed" + | "condensed" + | "semi-condensed" + | "semi-expanded" + | "expanded" + | "extra-expanded" + | "ultra-expanded" + | "inherit" + }?, + attribute font-variant { "normal" | "small-caps" | "inherit" }? + + ## + ## extend SVG.Text.class + ## + SVG.Text.class |= altGlyphDef + + ## + ## extend SVG.TextContent.class + ## + SVG.TextContent.class |= tspan | tref | textPath + a:documentation [ "\x{a}" ~ " text: Text Element\x{a}" ~ " " ] + SVG.text.class |= SVG.TextContent.class + attlist.text &= + SVG.Text.attrib, + SVG.TextContent.attrib, + attribute dx { Lengths.datatype }?, + attribute dy { Lengths.datatype }?, + attribute textLength { Length.datatype }?, + attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }? + a:documentation [ + "\x{a}" ~ + " tspan: Text Span Element\x{a}" ~ + " " + ] + SVG.tspan.content = + (text + | tspan + | tref + | altGlyph + | animate + | set + | animateColor + | SVG.Description.class + | SVG.Hyperlink.class)* + tspan = element tspan { attlist.tspan, SVG.tspan.content } + attlist.tspan &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.TextContent.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 dx { Lengths.datatype }?, + attribute dy { Lengths.datatype }?, + attribute rotate { Numbers.datatype }?, + attribute textLength { Length.datatype }?, + attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }? + a:documentation [ + "\x{a}" ~ + " tref: Text Reference Element\x{a}" ~ + " " + ] + SVG.tref.content = + (animate | set | animateColor | SVG.Description.class)* + tref = element tref { attlist.tref, SVG.tref.content } + attlist.tref &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.TextContent.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.XLinkRequired.attrib, + SVG.External.attrib, + attribute x { Coordinates.datatype }?, + attribute y { Coordinates.datatype }?, + attribute dx { Lengths.datatype }?, + attribute dy { Lengths.datatype }?, + attribute rotate { Numbers.datatype }?, + attribute textLength { Length.datatype }?, + attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }? + a:documentation [ + "\x{a}" ~ + " textPath: Text Path Element\x{a}" ~ + " " + ] + SVG.textPath.content = + (text + | tspan + | tref + | altGlyph + | animate + | set + | animateColor + | SVG.Description.class + | SVG.Hyperlink.class)* + textPath = element textPath { attlist.textPath, SVG.textPath.content } + attlist.textPath &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.TextContent.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.XLinkRequired.attrib, + SVG.External.attrib, + attribute startOffset { Length.datatype }?, + attribute textLength { Length.datatype }?, + attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }?, + attribute method { "align" | "stretch" }?, + attribute spacing { "auto" | "exact" }? + a:documentation [ + "\x{a}" ~ + " altGlyph: Alternate Glyph Element\x{a}" ~ + " " + ] + attlist.altGlyph &= + SVG.TextContent.attrib, + attribute x { Coordinates.datatype }?, + attribute y { Coordinates.datatype }?, + attribute dx { Lengths.datatype }?, + attribute dy { Lengths.datatype }?, + attribute rotate { Numbers.datatype }? + a:documentation [ + "\x{a}" ~ + " altGlyphDef: Alternate Glyph Definition Element\x{a}" ~ + " " + ] + SVG.altGlyphDef.content |= altGlyphItem+ + a:documentation [ + "\x{a}" ~ + " altGlyphItem: Alternate Glyph Item Element\x{a}" ~ + " " + ] + SVG.altGlyphItem.content = glyphRef+ + altGlyphItem = + element altGlyphItem { + attlist.altGlyphItem, SVG.altGlyphItem.content + } + attlist.altGlyphItem &= SVG.Core.attrib + a:documentation [ + "\x{a}" ~ + " glyphRef: Glyph Reference Element\x{a}" ~ + " " + ] + attlist.glyphRef &= + attribute x { Number.datatype }?, + attribute y { Number.datatype }?, + attribute dx { Number.datatype }?, + attribute dy { Number.datatype }? +} |