On Sat, March 17, 2012 4:43 pm, davep wrote:
On 17/03/12 16:29, Tony Graham wrote:
On Sat, March 17, 2012 4:14 pm, davep wrote:
...
It's still not working
<xsl:variable name="NameStartChar.re" as="xs:string">
$[A-Z]|_|[a-z] |
[À-Ö] | [Ø-ö] |
[ø-˿] | [Ͱ-ͽ] |
[Ϳ-῿] | [‌-‍] |
[⁰-↏] | [Ⰰ-⿯] |
[、-퟿] | [豈-﷏] |
[ﷰ-�] | [𐀀-]
</xsl:variable>
<xsl:variable name="NameChar.re" as="xs:string"
select="concat($NameStartChar.re,' |
- | \. | [0-9] |· | [̀-ͯ] |
[‿-⁀]')"/>
<xsl:variable name='Name.re'
select='concat($NameStartChar.re,
"(", $NameChar.re,")*")'/>
Why not use '\i' and '\c' from
http://www.w3.org/TR/xmlschema-2/#charcter-classes?
For which range please Tony? Err....
\i includes : which is wrong?
\c looks good though! Ah no. Again it's NameChar from
http://www.w3.org/TR/2000/WD-xml-2e-20000814#NT-NameChar
which is more than allowed for xsl:variable @name?
From the definition of NCName later in the same document:
[\i-[:]][\c-[:]]*
Otherwise, you may want '(' and ')' around $NameStartChar.re in
$Name.re,
otherwise (to mix variable expansions) it looks like
'...|[‿-⁀]($NameChar.re)*" and you'll only match
multi-character names when they begin with a character in the range
[‿-⁀].
As I read it (or more accurately fail to read it correctly)
It's NameChar less :
followed by (Name less :)+
Simpler version [A-Za-z0-9]+ and the i18N additions,
but I can't get the simpler one working.
It's only matching on the first letter of a variable currently....
Because without extra parentheses around $NameStartChar.re, the
'($NameChar.re)*' part looks like it's part of the last alternative in
$NameStartChar.re, not something to come after $NameStartChar.re.
Regards,
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--