← Prev in month ← Prev in thread
Next in thread → Next in month →

[relax-ng] Re: converter

From
Kohsuke KAWAGUCHI <>
Date
2001-10-18T00:37:11+00:00
ID
Thread
[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                   
← Prev in month ← Prev in thread
Next in thread → Next in month →