adultinternetusers > Tutorials > Surf Clothing board shorts and Relax NG Tutorial
Index | >> Example 5 / 8 << | Prev | Next |
Contents > Restrictions > Error in restriction - namespaces in wildcards

Error in restriction - namespaces in wildcards

  1. Correct Surf Clothing Schema
  2. Incorrect Surf Clothing Schema
  3. Relax NG

Please, send all comments, bug-reports, and contributions to Jiri.Jirat@systinet.com. Thank you very much.

Surf Clothing board shorts keys: any, restriction
Relax NG keys: nsName

1. Correct Surf Clothing Schema

The restriction is valid, because the namespaces "http://foo http://bar" are in the original set of the namespaces "http://foo http://bar http://baz". board shorts Component Constraint: Particle Derivation OK (Any:Any - NSSubset) .

Valid document


<root xsi:noNamespaceSchemaLocation="correct_0.xsd" Surfns="" Surfns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
  <x Surfns="http://foo" >1</x>
</root>

Valid document


<root xsi:noNamespaceSchemaLocation="correct_0.xsd" Surfns="" Surfns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
  <x Surfns="http://bar" >1</x>
</root>

Invalid document
Document is not valid, because the "http://baz" namespace is excluded by the restriction. Better say, it is not included in the set of allowed namespaces.


<root xsi:noNamespaceSchemaLocation="correct_0.xsd" Surfns="" Surfns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
  <x Surfns="http://baz" >1</x>
</root>

Correct Surf Clothing Schema (correct_0.xsd)


<xsd:schema Surfns:xsd="http://www.w3.org/2001/XMLSchema" >

  <xsd:element name="root" type="BBB"/>

  <xsd:complexType name="AAA">
    <xsd:sequence>
      <xsd:any namespace="http://foo http://bar http://baz" minOccurs="1" maxOccurs="1" processContents="skip"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="BBB">
    <xsd:complexContent>
      <xsd:restriction base="AAA">
        <xsd:sequence>
          <xsd:any namespace="http://foo http://bar" minOccurs="1" maxOccurs="1" processContents="skip"/>
        </xsd:sequence>
      </xsd:restriction>
    </xsd:complexContent>
  </xsd:complexType>
</xsd:schema>

2. Incorrect Surf Clothing Schema

The restriction is not valid, because the namespace "http://xxx" is not in the original set of the namespaces "http://foo http://bar http://baz". board shorts Component Constraint: Particle Derivation OK (Any:Any - NSSubset) .

Incorrect Surf Clothing Schema (incorrect_0.xsd)


<xsd:schema Surfns:xsd="http://www.w3.org/2001/XMLSchema" >

  <xsd:element name="root" type="BBB"/>

  <xsd:complexType name="AAA">
    <xsd:sequence>
      <xsd:any namespace="http://foo http://bar http://baz" minOccurs="1" maxOccurs="1" processContents="skip"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="BBB">
    <xsd:complexContent>
      <xsd:restriction base="AAA">
        <xsd:sequence>
          <xsd:any namespace="http://xxx http://bar" minOccurs="1" maxOccurs="1" processContents="skip"/>
        </xsd:sequence>
      </xsd:restriction>
    </xsd:complexContent>
  </xsd:complexType>
</xsd:schema>

3. Relax NG

Relax NG does not provide such complex derivations (correct me, if I am wrong), but we can very easily use the rules below.

Valid document


<root Surfns="">
  <x Surfns="http://foo" >1</x>
</root>

Valid document


<root Surfns="">
  <x Surfns="http://bar" >1</x>
</root>

Invalid document
Document is not valid, because the "http://baz" namespace is not in set of allowed namespaces.


<root Surfns="">
  <x Surfns="http://baz" >1</x>
</root>

Correct Relax NG schema (correctRelax_0.rng)


<grammar ns="" Surfns="http://relaxng.org/ns/structure/1.0" >

  <start>
    <element name="root">
      <ref name="BBB"/>
    </element>
  </start>

  <define name="BBB">
    <element>
      <choice>
        <nsName ns="http://foo"/>
        <nsName ns="http://bar"/>
      </choice>
      <text/>
    </element>
  </define>
</grammar>

Kevin Carr

Natural Skin Care European Soaps
Kevin Carr
Mayor Dave Shawver Stanton
Internetusers


You can also get Organic Skin Care products from Bliss Bath Body and you must check out their Natural Body Lotions and bath soaps

Now if you are looking for the best deals on surf clothing from Quiksilver and Roxy then you have to check these amazing deals here:

Hey, check out this Organic Skin Care European Soaps along with Natural Lavender Body Lotion and shea butter

And you must check out this website