[Home] [By Thread] [By Date] [Recent Entries]
On 23/07/2021 04:07, Amelia A Lewis wrote: And if the have the following and want to extract sally you are still busted:On Thu, 22 Jul 2021 23:20:37 +0100, Pete Cordell wrote:If you're not interested in the new syntax being a subset of XML and you still want namespaces, you'll want to consider an alternative way of mapping namespace prefixes to namespaces so that the mapping is available BEFORE it is required. Currently the mapping mechanism requires a fair bit of pre-fetching and caching which is sub-optimal. Something like the following might work: <:and http://www.whatever.com/:> <and:harry />Why? That still separates :and from and:, so if you start parsing on the <and:harry /> line, you're busted. And why use a non-default prefix for an element? <harry xmlns="http://www.whatever.com"> <and:harry xmlns:and="http://www.whatever.com"> <and:sally> ... </and:sally> </and:harry> Or if you have the following and want harry: <tom xmlns:and="http://www.whatever.com"> <and:harry> <and:sally> ... </and:sally> </and:harry> </tom> So the current scheme is troublesome to implement and only gives you a benefit in certain key situations. That looks very undesirable. And composition of grammars using components from different namespaces seems a common and useful use-case even if it isn't the only one.It is almost never *necessary* to bind a namespace to a prefix for use with elements. It can be verbose to repeatedly re-declare with a bad schema design like this: <root> <othernschild xmlns="http://other.ns.example.com" /> <othernschild xmlns="http://other.ns.example.com" /> <othernschild xmlns="http://other.ns.example.com" /> <othernschild xmlns="http://other.ns.example.com" /> <!-- ... --> </root> Pete. -- --------------------------------------------------------------------- Pete Cordell Codalogic Ltd C++ tools for C++ programmers, http://codalogic.com Read & write XML in C++, http://www.xml2cpp.com ---------------------------------------------------------------------
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |

Cart



