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

 


Help: OASIS Mailing Lists Help | MarkMail Help

relax-ng message

[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