[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: [relax-ng-comment] How to avoid pattern name conflicts acrossdifferent vocabularies?
Hello, Now I'm experimenting to rewrite XHTML+MathML+SVG [1] in RELAX NG. Rewriting each vocabulary is rather trivial (thanks to DTDinst), but I have encountered some problems to combine them together. Each vocabulary is defined in a separate schema, and they work fine so long as they are used separately. There is also a "hub" schema that combines these vocabularies together by including them [2], but there are conflicting definitions in those included schemas so it doesn't work. For example, both XHTML and SVG schemas have definition like this: <define name="a"> ... <element name="a"> ... </element> ... </define> and those are similar but different, and of course those belong to different namespace. I know this is an error according to the spec [3], and if I have control over all schemas I can try to avoid name conflicts just like avoiding name conflicts of parameter entities in DTDs (e.g. name them as "XHTML.a" and "SVG.a" respectively), but when I don't have control over each vocabulary, it's difficult to avoid such conflict. In some cases I could work-around this by using the "combine" attribute, but I don't think it's appropriate for all cases. Is there any way to avoid this kind of conflict? As a side note, I think this is where RELAX Namespace would be useful. I heard a rumor that RELAX Namespace will be updated to accommodate RELAX NG. Is there any progress? Thanks, [1] http://www.w3.org/TR/XHTMLplusMathMLplusSVG/ [2] http://www.w3.org/People/mimasa/test/schemas/rng/xhtml-math-svg.rng [3] http://www.oasis-open.org/committees/relax-ng/spec-20011203.html#IDA0KZR -- Masayasu Ishikawa
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC