OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [relaxng-user] RELAXNG Compact Syntax and character escapes

[ Lists Home | Date Index | Thread Index ]

> sequences of the form \x{n}. Easy enough. But the note in the section (and
> grammar) specifies that there may be more than one "x" character. In the
> grammar this is indefinite-- and this is presumably correct as the
> reversible transformation may be compounded upon itself (some of the
> confusion may stem from the odd text in the note "...the transformation
> replaces adds an extra...").
> Obviously however, there are some pathological cases here. I am wondering if
> there are real world limits that others are imposing (e.g. max 2 xx).

Handling multiple x's is trivial, just add a counter. Download rnv
from http://davidashen.net/rnv.html; rnc.c is a compact syntax
parser, including tokenizer. 

'struct rnc_source' contains 'int nx', which the counter of x's in
the current escape sequence. If \ followed by x+ is followed by curly
braces, it is folded and unescaped. If it is not, then x's are counted
and returned that many times. Look at rnc.c:getv(struct rnc_source *sp)

David Tolpin


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS