Just cause Eclipse is slow to adopt new standards, we shouldn't write the correct
thing.
IMO, XML Schema 1.1.
(Btw, I wonder if this works on IntelliJ?)
On Aug 23, 2012, at 9:56 AM, Tristan Tarrant wrote:
Hi all,
as part of my work on ISPN-1978 [1] and ISPN-2210 [2], I have hit a snag
with the XML schema and the extensibility I want to allow:
- currently elements in the global and cache configuration can be placed
in any order and can happen at most once (using the <xs:all /> element)
- I want to add an <xs:any namespace="##other /> element to the <xs:all
/> above, but this is not allowed in XMLSchema 1.0. It is however a
valid construct in XMLSchema 1.1
- Eclipse (even the latest Juno) does not validate XMLSchema 1.1 files
and therefore developers using it wouldn't be able to get content assist
when editing Infinispan configuration files
Possible solutions:
- I go with a 1.1 schema, telling Eclipse users to pressure for an
updated XML editor
- I stay with a 1.0 schema, but swap <xs:all> with <xs:sequence>, which
forces the elements to appear in a specific order (minus), but allows
extension points to be treated as first-class citizens (plus)
- I stay with a 1.0 schema, and place the extension points inside a
<modules> element which can be a child of <global>, <default> and
<namedCache>. This allows elements to be in any order, but adds the
extra indirection.
Fortunately we don't have this issue with the cache stores since that is
a <xs:sequence>.
Opinions ?
Tristan
[1]
https://issues.jboss.org/browse/ISPN-1978
[2]
https://issues.jboss.org/browse/ISPN-2210
_______________________________________________
infinispan-dev mailing list
infinispan-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache