Re: normalize-scape.mod.xsl

ben <[email protected]> Wed, 02 Jul 2003 20:50:56 +0200
Newsgroups gmane.text.docbook.db2latex.devel
Message-ID <[email protected]>
Il s'agit d'un message multivolet au format MIME.
--------------8607A634A6C5F6B60C90244D
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

James Devenish a écrit :

> However, thanks to your prompting, perhaps we can come to a compromise:
> we will still use the long, monolithic "scape" template but it will be
> generated from a mapping file (not hand-coded).
>

Hi,

If it can be of some help, in dblatex I use an engine to build the entities
translation template. The attached files (used for MathML translation):
map2func.xsl is the template to apply on mapmmlent.xml. The output is a stylesheet
containing the templates, each template name corresponding to a <mapgroup> name.

Of course the code produced is ugly, but it works fine, and it is fast enough. For
instance, applying the scape template on a test file takes 147.1 s, using the
produced template takes 96 s.

Bye,
BG


--------------8607A634A6C5F6B60C90244D
Content-Type: text/plain; charset=us-ascii;
 name="map2func.xsl"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="map2func.xsl"

<?xml version='1.0'?>
<xsl:stylesheet version='1.0'
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="xml" encoding="UTF-8" indent="yes"/>

<xsl:template match="mapgroup">
  <xsl:element name="xsl:template">
    <xsl:variable name="n" select="@name"/>
    <xsl:attribute name="name">
      <xsl:value-of select="@name"/>
    </xsl:attribute>
    <xsl:text>&#10;</xsl:text>
    <xsl:element name="xsl:param">
      <xsl:attribute name="name">
        <xsl:text>content</xsl:text>
      </xsl:attribute>
    </xsl:element>
    <xsl:element name="xsl:if">
      <xsl:attribute name="test">
        <xsl:text>string-length($content)>0</xsl:text>
      </xsl:attribute>

      <xsl:text>&#10;</xsl:text>
      <xsl:element name="xsl:choose">
      <xsl:text>&#10;</xsl:text>
      <xsl:for-each select="map">
        <xsl:text>&#10;</xsl:text>
        <xsl:variable name="quot">
          <xsl:choose>
          <xsl:when test="contains(@key, &quot;'&quot;)">
            <xsl:text>"</xsl:text>
          </xsl:when>
          <xsl:otherwise>
            <xsl:text>'</xsl:text>
          </xsl:otherwise>
          </xsl:choose>
        </xsl:variable>
        <xsl:element name="xsl:when">
          <xsl:attribute name="test">
            <xsl:text>starts-with($content,</xsl:text>
            <xsl:value-of select="$quot"/>
            <xsl:value-of select="@key"/>
            <xsl:value-of select="$quot"/>
            <xsl:text>)</xsl:text>
          </xsl:attribute>
          <xsl:choose>
          <xsl:when test="contains(@text, &quot;'&quot;)">
            <xsl:element name="xsl:text">
              <xsl:value-of select="@text"/>
            </xsl:element>
          </xsl:when>
          <xsl:otherwise>
            <xsl:element name="xsl:value-of">
              <xsl:attribute name="select">
                <xsl:text>'</xsl:text>
                <xsl:value-of select="@text"/>
                <xsl:text>'</xsl:text>
              </xsl:attribute>
            </xsl:element>
          </xsl:otherwise>
          </xsl:choose>
          <xsl:element name="xsl:call-template">
            <xsl:attribute name="name">
              <xsl:value-of select="$n"/>
            </xsl:attribute>
            <xsl:element name="xsl:with-param">
              <xsl:attribute name="name">
                <xsl:text>content</xsl:text>
              </xsl:attribute>
              <xsl:attribute name="select">
                <xsl:text>substring-after($content,</xsl:text>
                <xsl:value-of select="$quot"/>
                <xsl:value-of select="@key"/>
                <xsl:value-of select="$quot"/>
                <xsl:text>)</xsl:text>
              </xsl:attribute>
            </xsl:element>
          </xsl:element>
        </xsl:element>
      </xsl:for-each>
      <xsl:element name="xsl:otherwise">
        <xsl:element name="xsl:value-of">
          <xsl:attribute name="select">
            <xsl:text>substring($content,1,1)</xsl:text>
          </xsl:attribute>
        </xsl:element>
        <xsl:element name="xsl:call-template">
          <xsl:attribute name="name">
            <xsl:value-of select="$n"/>
          </xsl:attribute>
          <xsl:element name="xsl:with-param">
            <xsl:attribute name="name">
              <xsl:text>content</xsl:text>
            </xsl:attribute>
            <xsl:attribute name="select">
              <xsl:text>substring($content,2)</xsl:text>
            </xsl:attribute>
          </xsl:element>
        </xsl:element>
      </xsl:element>  <!-- xsl:otherwise -->
      </xsl:element>  <!-- xsl:choose -->
    </xsl:element>  <!-- xsl:if -->
  </xsl:element>
</xsl:template>

<xsl:template match="mapping">
  <xsl:element name="xsl:stylesheet">
    <xsl:attribute name="version">
      <xsl:text>1.0</xsl:text>
    </xsl:attribute>
    <xsl:apply-templates/>
  </xsl:element>
</xsl:template>

</xsl:stylesheet>

--------------8607A634A6C5F6B60C90244D
Content-Type: text/plain; charset=us-ascii;
 name="mapmmlent.xml"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="mapmmlent.xml"

<?xml version='1.0'?>
<!-- generated by func2map on entities.xsl.ref -->
<!DOCTYPE mapping SYSTEM "../mapping.dtd">
<mapping>
<mapgroup name="replaceEntities">
<map key=" "		text="\; "/>
<map key="&#x0025B;"		text="\varepsilon "/>
<map key="&#x002D9;"		text="\dot{}"/>
<map key="&#x000A3;"		text="\pounds "/>
<map key="&#x000A5;"		text="\yen "/>
<map key="&#x000A7;"		text="\S "/>
<map key="&#x000A9;"		text="\copyright "/>
<map key="&#x000AC;"		text="\neg "/>
<map key="&#x000AE;"		text="\circledR "/>
<map key="&#x000B1;"		text="\pm "/>
<map key="&#x000B5;"		text="\mu "/>
<map key="&#x000B6;"		text="\P "/>
<map key="&#x000C5;"		text="\AA "/>
<map key="&#x000C6;"		text="\AE "/>
<map key="&#x000D7;"		text="\times "/>
<map key="&#x000E6;"		text="\ae "/>
<map key="&#x00391;"		text="{\rm A}"/>
<map key="&#x00392;"		text="{\rm B}"/>
<map key="&#x00393;"		text="\Gamma "/>
<map key="&#x00394;"		text="\Delta "/>
<map key="&#x00395;"		text="{\rm E}"/>
<map key="&#x00396;"		text="{\rm Z}"/>
<map key="&#x00397;"		text="{\rm H}"/>
<map key="&#x00398;"		text="\Theta "/>
<map key="&#x00399;"		text="{\rm I}"/>
<map key="&#x0039A;"		text="{\rm K}"/>
<map key="&#x0039B;"		text="\Lambda "/>
<map key="&#x0039C;"		text="{\rm M}"/>
<map key="&#x0039D;"		text="{\rm N}"/>
<map key="&#x0039E;"		text="\Xi "/>
<map key="&#x0039F;"		text="{\rm O}"/>
<map key="&#x003A0;"		text="\Pi "/>
<map key="&#x003A1;"		text="{\rm P}"/>
<map key="&#x003A3;"		text="\Sigma "/>
<map key="&#x003A4;"		text="{\rm T}"/>
<map key="&#x003A5;"		text="{\rm Y}"/>
<map key="&#x003A6;"		text="\Phi "/>
<map key="&#x003A7;"		text="{\rm X}"/>
<map key="&#x003A8;"		text="\Psi "/>
<map key="&#x003A9;"		text="\Omega "/>
<map key="&#x003B1;"		text="\alpha "/>
<map key="&#x003B2;"		text="\beta "/>
<map key="&#x003B3;"		text="\gamma "/>
<map key="&#x003B4;"		text="\delta "/>
<map key="&#x003B5;"		text="\epsilon "/>
<map key="&#x003B6;"		text="\zeta "/>
<map key="&#x003B7;"		text="\eta "/>
<map key="&#x003B8;"		text="\theta "/>
<map key="&#x003B9;"		text="\iota "/>
<map key="&#x003BA;"		text="\kappa "/>
<map key="&#x003BB;"		text="\lambda "/>
<map key="&#x003BC;"		text="\mu "/>
<map key="&#x003BD;"		text="\nu "/>
<map key="&#x003BE;"		text="\xi "/>
<map key="&#x003BF;"		text="o"/>
<map key="&#x003C0;"		text="\pi "/>
<map key="&#x003C1;"		text="\rho "/>
<map key="&#x003C2;"		text="\varsigma "/>
<map key="&#x003C3;"		text="\sigma "/>
<map key="&#x003C4;"		text="\tau "/>
<map key="&#x003C5;"		text="\upsilon "/>
<map key="&#x003C6;"		text="\phi "/>
<map key="&#x003C7;"		text="\chi "/>
<map key="&#x003C8;"		text="\psi "/>
<map key="&#x003C9;"		text="\omega "/>
<map key="&#x003D1;"		text="\vartheta "/>
<map key="&#x003D2;"		text="\Upsilon "/>
<map key="&#x003D5;"		text="\varphi "/>
<map key="&#x003D6;"		text="\varpi "/>
<map key="&#x003F0;"		text="\varkappa "/>
<map key="&#x003F1;"		text="\varrho "/>
<map key="&#x02006;"		text="\hspace{0.6em}"/>
<map key="&#x02003;"		text="\hspace{1em}"/>
<map key="&#x02004;"		text="\hspace{0.33em}"/>
<map key="&#x02005;"		text="\hspace{0.25em}"/>
<map key="&#x02009;"		text="\hspace{0.17em}"/>
<map key="&#x0200B;"		text=""/>
<map key="&#x02016;"		text="\| "/>
<map key="&#x02026;"		text="\dots "/>
<map key="&#x02032;"		text="\prime "/>
<map key="&#x02061;"		text=""/>
<map key="&#x02062;"		text=""/>
<map key="&#x02063;"		text=""/>
<map key="&#x0210B;"		text="\mathscr{H}"/>
<map key="&#x0210F;&#x0FE00;"		text="\hbar "/>
<map key="&#x0210F;"		text="\hslash "/>
<map key="&#x02111;"		text="\Im "/>
<map key="&#x02113;"		text="\ell "/>
<map key="&#x02115;"		text="\mathbb{N}"/>
<map key="&#x02118;"		text="\wp "/>
<map key="&#x02119;"		text="\mathbb{P}"/>
<map key="&#x0211A;"		text="\mathbb{Q}"/>
<map key="&#x0211C;"		text="\Re "/>
<map key="&#x02124;"		text="\mathbb{Z}"/>
<map key="&#x02126;"		text="\Omega "/>
<map key="&#x02127;"		text="\mho "/>
<map key="&#x02135;"		text="\aleph "/>
<map key="&#x02136;"		text="\beth "/>
<map key="&#x02137;"		text="\gimel "/>
<map key="&#x02138;"		text="\daleth "/>
<map key="&#x02145;"		text="D"/>
<map key="&#x02146;"		text="d"/>
<map key="&#x02147;"		text="e"/>
<map key="&#x02148;"		text="i"/>
<map key="&#x02149;"		text="j"/>
<map key="&#x02190;"		text="\leftarrow "/>
<map key="&#x02191;"		text="\uparrow "/>
<map key="&#x02192;"		text="\to "/>
<map key="&#x02193;"		text="\downarrow "/>
<map key="&#x02194;"		text="\leftrightarrow "/>
<map key="&#x02195;"		text="\updownarrow "/>
<map key="&#x02196;"		text="\nwarrow "/>
<map key="&#x02197;"		text="\nearrow "/>
<map key="&#x02198;"		text="\searrow "/>
<map key="&#x02199;"		text="\swarrow "/>
<map key="&#x0219A;"		text="\nleftarrow "/>
<map key="&#x0219B;"		text="\nrightarrow "/>
<map key="&#x0219D;"		text="\rightsquigarrow "/>
<map key="&#x0219E;"		text="\twoheadleftarrow "/>
<map key="&#x021A0;"		text="\twoheadrightarrow "/>
<map key="&#x021A2;"		text="\leftarrowtail "/>
<map key="&#x021A3;"		text="\rightarrowtail "/>
<map key="&#x021A6;"		text="\mapsto "/>
<map key="&#x021A9;"		text="\hookleftarrow "/>
<map key="&#x021AA;"		text="\hookrightarrow "/>
<map key="&#x021AB;"		text="\looparrowleft "/>
<map key="&#x021AC;"		text="\looparrowright "/>
<map key="&#x021AD;"		text="\leftrightsquigarrow "/>
<map key="&#x021AE;"		text="\nleftrightarrow "/>
<map key="&#x021B0;"		text="\Lsh "/>
<map key="&#x021B1;"		text="\Rsh "/>
<map key="&#x021B6;"		text="\curvearrowleft "/>
<map key="&#x021B7;"		text="\curvearrowright "/>
<map key="&#x021BA;"		text="\circlearrowleft "/>
<map key="&#x021BB;"		text="\circlearrowright "/>
<map key="&#x021BC;"		text="\leftharpoonup "/>
<map key="&#x021BD;"		text="\leftharpoondown "/>
<map key="&#x021BE;"		text="\upharpoonright "/>
<map key="&#x021BF;"		text="\upharpoonleft "/>
<map key="&#x021C0;"		text="\rightharpoonup "/>
<map key="&#x021C1;"		text="\rightharpoondown "/>
<map key="&#x021C2;"		text="\downharpoonright "/>
<map key="&#x021C3;"		text="\downharpoonleft "/>
<map key="&#x021C4;"		text="\rightleftarrows "/>
<map key="&#x021C6;"		text="\leftrightarrows "/>
<map key="&#x021C7;"		text="\leftleftarrows "/>
<map key="&#x021C8;"		text="\upuparrows "/>
<map key="&#x021C9;"		text="\rightrightarrows "/>
<map key="&#x021CA;"		text="\downdownarrows "/>
<map key="&#x021CB;"		text="\leftrightharpoons "/>
<map key="&#x021CC;"		text="\rightleftharpoons "/>
<map key="&#x021CD;"		text="\nLeftarrow "/>
<map key="&#x021CE;"		text="\nLeftrightarrow "/>
<map key="&#x021CF;"		text="\nRightarrow "/>
<map key="&#x021D0;"		text="\Leftarrow "/>
<map key="&#x021D1;"		text="\Uparrow "/>
<map key="&#x021D2;"		text="\Rightarrow "/>
<map key="&#x021D3;"		text="\Downarrow "/>
<map key="&#x021D4;"		text="\Leftrightarrow "/>
<map key="&#x021D4;"		text="\iff "/>
<map key="&#x021D5;"		text="\Updownarrow "/>
<map key="&#x021DA;"		text="\Lleftarrow "/>
<map key="&#x021DB;"		text="\Rrightarrow "/>
<map key="&#x02200;"		text="\forall "/>
<map key="&#x02201;"		text="\complement "/>
<map key="&#x02202;"		text="\partial "/>
<map key="&#x02203;"		text="\exists "/>
<map key="&#x02204;"		text="\nexists "/>
<map key="&#x02205;&#x0FE00;"		text="\emptyset "/>
<map key="&#x02205;"		text="\varnothing "/>
<map key="&#x02206;"		text=" "/>
<map key="&#x02207;"		text="\nabla "/>
<map key="&#x02208;"		text="\in "/>
<map key="&#x02209;"		text="\notin "/>
<map key="&#x0220B;"		text="\ni "/>
<map key="&#x0220C;"		text="\not\ni "/>
<map key="&#x0220F;"		text="\prod "/>
<map key="&#x02210;"		text="\coprod "/>
<map key="&#x02211;"		text="\sum "/>
<map key="&#x02212;"		text="-"/>
<map key="&#x02213;"		text="\mp "/>
<map key="&#x02214;"		text="\dotplus "/>
<map key="&#x02215;"		text=" "/>
<map key="&#x02216;"		text="\setminus "/>
<map key="&#x02217;"		text="\ast "/>
<map key="&#x02218;"		text="\circ "/>
<map key="&#x02219;"		text="\bullet "/>
<map key="&#x0221A;"		text="\surd "/>
<map key="&#x0221D;"		text="\propto "/>
<map key="&#x0221E;"		text="\infty "/>
<map key="&#x0221F;"		text=" "/>
<map key="&#x02220;"		text="\angle "/>
<map key="&#x02221;"		text="\measuredangle "/>
<map key="&#x02222;"		text="\sphericalangle "/>
<map key="&#x02223;"		text="\mid "/>
<map key="&#x02224;&#x0FE00;"		text="\nshortmid "/>
<map key="&#x02224;"		text="\nmid "/>
<map key="&#x02225;"		text="\parallel "/>
<map key="&#x02226;&#x0FE00;"		text="\nshortparallel "/>
<map key="&#x02226;"		text="\nparallel "/>
<map key="&#x02227;"		text="\wedge "/>
<map key="&#x02228;"		text="\vee "/>
<map key="&#x02229;"		text="\cap "/>
<map key="&#x0222A;"		text="\cup "/>
<map key="&#x0222B;"		text="\int "/>
<map key="&#x0222C;"		text="\iint "/>
<map key="&#x0222D;"		text="\iiint "/>
<map key="&#x0222E;"		text="\oint "/>
<map key="&#x0222F;"		text=" "/>
<map key="&#x02230;"		text=" "/>
<map key="&#x02231;"		text=" "/>
<map key="&#x02232;"		text=" "/>
<map key="&#x02233;"		text=" "/>
<map key="&#x02234;"		text="\therefore "/>
<map key="&#x02235;"		text="\because "/>
<map key="&#x02236;"		text=":"/>
<map key="&#x02237;"		text="\colon\colon "/>
<map key="&#x02238;"		text="\dot{-}"/>
<map key="&#x02239;"		text=" "/>
<map key="&#x0223A;"		text=" "/>
<map key="&#x0223B;"		text=" "/>
<map key="&#x0223C;"		text="\sim "/>
<map key="&#x0223D;"		text="\backsim "/>
<map key="&#x0223E;"		text=" "/>
<map key="&#x0223F;"		text=" "/>
<map key="&#x02240;"		text="\wr "/>
<map key="&#x02241;"		text="\nsim "/>
<map key="&#x02242;"		text="\eqsim "/>
<map key="&#x02243;"		text="\simeq "/>
<map key="&#x02244;"		text="\not\simeq "/>
<map key="&#x02245;"		text="\cong "/>
<map key="&#x02246;"		text=" "/>
<map key="&#x02247;"		text="\ncong "/>
<map key="&#x02248;"		text="\approx "/>
<map key="&#x02249;&#x00338;"		text=" "/>
<map key="&#x02249;"		text="\not\approx "/>
<map key="&#x0224A;"		text="\approxeq "/>
<map key="&#x0224B;"		text=" "/>
<map key="&#x0224C;"		text=" "/>
<map key="&#x0224D;"		text="\asymp "/>
<map key="&#x0224E;"		text="\Bumpeq "/>
<map key="&#x0224F;"		text="\bumpeq "/>
<map key="&#x02250;"		text="\doteq "/>
<map key="&#x02251;"		text="\doteqdot "/>
<map key="&#x02252;"		text="\fallingdotseq "/>
<map key="&#x02253;"		text="\risingdotseq "/>
<map key="&#x02254;"		text=" "/>
<map key="&#x02255;"		text=" "/>
<map key="&#x02256;"		text="\eqcirc "/>
<map key="&#x02257;"		text="\circeq "/>
<map key="&#x02258;"		text="\stackrel{\frown}{=}"/>
<map key="&#x02259;"		text="\stackrel{\wedge}{=}"/>
<map key="&#x0225A;"		text="\stackrel{\vee}{=}"/>
<map key="&#x0225B;"		text="\stackrel{\star}{=}"/>
<map key="&#x0225C;"		text="\triangleq "/>
<map key="&#x0225D;"		text="\stackrel{\scriptscriptstyle\mathrm{def}}{=}"/>
<map key="&#x0225E;"		text="\stackrel{\scriptscriptstyle\mathrm{m}}{=}"/>
<map key="&#x0225F;"		text="\stackrel{?}{=}"/>
<map key="&#x02260;&#x0FE00;"		text=" "/>
<map key="&#x02260;"		text="\ne "/>
<map key="&#x02261;&#x020E5;"		text=" "/>
<map key="&#x02261;"		text="\equiv "/>
<map key="&#x02262;"		text="\not\equiv "/>
<map key="&#x02263;"		text=" "/>
<map key="&#x02264;"		text="\le "/>
<map key="&#x02265;"		text="\ge "/>
<map key="&#x02266;"		text="\leqq "/>
<map key="&#x02267;"		text="\geqq "/>
<map key="&#x02268;"		text="\lneqq "/>
<map key="&#x02269;"		text="\gneqq "/>
<map key="&#x0226A;&#x00338;&#x0FE00;"		text=" "/>
<map key="&#x0226A;&#x00338;"		text=" "/>
<map key="&#x0226A;"		text="\ll "/>
<map key="&#x0226B;&#x00338;&#x0FE00;"		text=" "/>
<map key="&#x0226B;&#x00338;"		text=" "/>
<map key="&#x0226B;"		text="\gg "/>
<map key="&#x0226C;"		text="\between "/>
<map key="&#x0226D;"		text="\not\asymp "/>
<map key="&#x0226E;"		text="\nless "/>
<map key="&#x0226F;"		text="\ngtr "/>
<map key="&#x02270;&#x020E5;"		text="\nleq "/>
<map key="&#x02270;"		text="\nleqq "/>
<map key="&#x02271;&#x020E5;"		text="\ngeq "/>
<map key="&#x02271;"		text="\ngeqq "/>
<map key="&#x02272;"		text="\lesssim "/>
<map key="&#x02273;"		text="\gtrsim "/>
<map key="&#x02274;"		text="\not\lesssim "/>
<map key="&#x02275;"		text="\not\gtrsim "/>
<map key="&#x02276;"		text="\lessgtr "/>
<map key="&#x02277;"		text="\gtrless "/>
<map key="&#x02278;"		text="\not\lessgtr "/>
<map key="&#x02279;"		text="\not\gtrless "/>
<map key="&#x0227A;"		text="\prec "/>
<map key="&#x0227B;"		text="\succ "/>
<map key="&#x0227C;"		text="\preccurlyeq "/>
<map key="&#x0227D;"		text="\succcurlyeq "/>
<map key="&#x0227E;"		text="\precsim "/>
<map key="&#x0227F;"		text="\succsim "/>
<map key="&#x02280;"		text="\nprec "/>
<map key="&#x02281;"		text="\nsucc "/>
<map key="&#x02282;"		text="\subset "/>
<map key="&#x02283;"		text="\supset "/>
<map key="&#x02284;"		text="\not\subset "/>
<map key="&#x02285;"		text="\not\supset "/>
<map key="&#x02286;"		text="\subseteq "/>
<map key="&#x02287;"		text="\supseteq "/>
<map key="&#x0228E;"		text="\uplus "/>
<map key="&#x02293;"		text="\sqcap "/>
<map key="&#x02294;"		text="\bigsqcup "/>
<map key="&#x02295;"		text="\oplus "/>
<map key="&#x02296;"		text="\ominus "/>
<map key="&#x02297;"		text="\otimes "/>
<map key="&#x02298;"		text="\oslash "/>
<map key="&#x02299;"		text="\odot "/>
<map key="&#x0229F;"		text="\boxminus "/>
<map key="&#x022A4;"		text="\top "/>
<map key="&#x022A5;"		text="\perp "/>
<map key="&#x022A6;"		text="\vdash "/>
<map key="&#x022A7;"		text="\vDash "/>
<map key="&#x022A8;"		text="\models "/>
<map key="&#x022AA;"		text="\Vvdash "/>
<map key="&#x022C0;"		text="\bigwedge "/>
<map key="&#x022C1;"		text="\bigvee "/>
<map key="&#x022C2;"		text="\bigcap "/>
<map key="&#x022C3;"		text="\bigcup "/>
<map key="&#x022C4;"		text="\diamond "/>
<map key="&#x022C5;"		text="\cdot "/>
<map key="&#x022C6;"		text="\star "/>
<map key="&#x022C7;"		text="\divideontimes "/>
<map key="&#x022C8;"		text="\bowtie "/>
<map key="&#x022CD;"		text="\backsimeq "/>
<map key="&#x022EF;"		text="\cdots "/>
<map key="&#x022F0;"		text=" "/>
<map key="&#x022F1;"		text="\ddots "/>
<map key="&#x02308;"		text="\lceil "/>
<map key="&#x02309;"		text="\rceil "/>
<map key="&#x0230A;"		text="\lfloor "/>
<map key="&#x0230B;"		text="\rfloor "/>
<map key="&#x02329;"		text="\langle "/>
<map key="&#x0232A;"		text="\rangle "/>
<map key="&#x025A1;"		text="\square "/>
<map key="&#x025AA;"		text="\blacksquare "/>
<map key="&apos;"		text="\text{&apos;}"/>
<map key="{"		text="\{"/>
<map key="}"		text="\}"/>
<map key="$"		text="\$"/>
<map key="#"		text="\#"/>
<map key="&amp;"		text="\&amp;"/>
<map key="%"		text="\%"/>
<map key="_"		text="\_"/>
<map key="\"		text="\backslash "/>
</mapgroup>
<mapgroup name="replaceMtextEntities">
<map key="&#x02009;&#x0200A;&#x0200A;"		text="\hspace{0.28em}"/>
<map key="&#x02002;"		text="\hspace{0.6em}"/>
<map key="&#x02003;"		text="\hspace{1em}"/>
<map key="&#x02004;"		text="\hspace{0.33em}"/>
<map key="&#x02005;"		text="\hspace{0.25em}"/>
<map key="&#x02009;"		text="\hspace{0.17em}"/>
<map key="&#x0200A;"		text="\hspace{0.05em}"/>
<map key="&#x0200B;"		text=""/>
<map key="&#x0205F;"		text="\hspace{0.22em}"/>
<map key="$"		text="\$"/>
<map key="#"		text="\#"/>
<map key="&amp;"		text="\&amp;"/>
<map key="%"		text="\%"/>
<map key="_"		text="\_"/>
<map key="\"		text=""/>
</mapgroup>
</mapping>

--------------8607A634A6C5F6B60C90244D--



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01