[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: recognize character entities
Subject: Re: recognize character entities
From: Frank Marent <frank.marent@xxxxxxxxxxx>
Date: Wed, 30 Aug 2006 11:22:09 +0200
|
georges, david
the problem is i have to address around 2000 different entity
references that can appear (Α Β &Epsilon ... ‾
⁄ ℵ ... ⩱ %hercon; ... ... ...). if i understand
your way correctly, so
<xsl:variable name="entity.values"
select="('&#...', '&#...', ...)"/>
would become quite a statement.
concerning the mail of david:
we have a problem within mathml
impossible!
you're right! :-) the problem is actually not within mathml but
caused by an application that needs an additional fontfamily
attribute if we're using entity references.
as far as i understand the pathes proposed there is not a statement
that can select *all* entity references at once...?
best regards
frank
Am 30.08.2006 um 10:41 schrieb Florent Georges:
Frank Marent wrote:
Hi
we have to change by xslt all m:mo elements that consist
of one special character (entity reference) to symbol font
for output. the input is coming from design science
mathflow on arbortext editor:
<m:mo>÷</m:mo>
to
<m:mo fontfamily="Symbol">÷</m:mo>
this is to address the correct font in the output
So I'll guess you have to add the attribute to each m:mo
element where the content is equal to the value of the
entity (of one of the entities), whatever it has been
represented as an entity reference or plain text.
So you don't have to know if there was an entity reference
or not. Just match on the value of the entities:
<xsl:variable name="entity.values"
select="('&#...', '&#...', ...)"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!-- If XSLT 2.0 -->
<xsl:template match="m:mo[. = $entity.values]">
<xsl:copy>
<xsl:attribute name="fontfamiliy" select="'Symbol'"/>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!-- If XSLT 1.0 -->
<xsl:template match="m:mo">
<xsl:choose>
<xsl:when test=". = $entity.values">
<xsl:copy>
<xsl:attribute name="fontfamiliy" select="'Symbol'"/>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:when>
<xsl:otherwise>
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Regards,
--drkm
p5.vert.ukl.yahoo.com uncompressed/chunked Wed Aug 30 07:13:39 GMT
2006
______________________________________________________________________
_____
Dicouvrez un nouveau moyen de poser toutes vos questions quelque
soit le sujet !
Yahoo! Questions/Riponses pour partager vos connaissances, vos
opinions et vos expiriences.
http://fr.answers.yahoo.com
|
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format
RSS 2.0 |
|
Atom 0.3 |
|
|