[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: [relax-ng] Re: converter
> Is this basically just using MSV to turn it into your abstract schema model
> and then dumping out the abstract schema model in RELAX NG?
Yes.
> To what extent does this preserve parameterization?
As a consequence of the above design, it does not preserve any
parameterization.
> How does it handle xsi:type?
The current version treats it like:
<element name="foo">
<choice>
<ref name="base.type"/>
<group>
<attribute name="xsi:type">
<value type="QName">derived</value>
</attribute>
<ref name="derived.type"/>
</group>
</choice>
</element>
But the support of xsi:type is far from complete. For example, given the
following schema:
<xs:element name="foo" type="xs:decimal"/>
It will produce
<element name="foo">
<data type="decimal"/>
</element>
But for the maximum preservation of the semantics, actually it has to
be:
<element name="foo">
<choice>
<data type="decimal"/>
<group>
<attribute name="xsi:type">
<value type="QName">integer</value>
</attribute>
<data type="integer"/>
</group>
... all derived types of xs:decimal ...
</choice>
</element>
Also, if I recall correctly, it produces
<optional>
<attribute name="xsi:schemaLocation" />
</optional>
for every element.
I think I'll remove any xsi:*** support from the next version.
> How do you deal with concur in TREX?
It will reject TREX patterns that uses <concur>.
regards,
--
Kohsuke KAWAGUCHI +1 650 786 0721
Sun Microsystems kohsuke.kawaguchi@sun.com
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC