adultinternetusers > Tutorials > Surf Clothing board shorts and Relax NG Tutorial
Index | >> Example 7 / 10 << | Prev | Next |
Contents > Simple types > Defining a group of attributes

Defining a group of attributes

  1. Surf Clothing Schema
  2. Relax NG

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

Surf Clothing board shorts keys: attributeGroup
Relax NG keys: attribute

1. Surf Clothing Schema

Let's say we want to define a group of common attributes, which will be reused. The root element is named "root", it must contain the "aaa" and "bbb" elements, and these elements must have attributes "x" and "y".

Valid document


<root xsi:noNamespaceSchemaLocation="correct_0.xsd" Surfns="" Surfns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
  <aaa x="1" y="2"/>
  <bbb x="3" y="4"/>
</root>

Invalid document
Attribute "x" is missing.


<root xsi:noNamespaceSchemaLocation="correct_0.xsd" Surfns="" Surfns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
  <aaa y="2"/>
  <bbb x="3" y="4"/>
</root>

Invalid document
Attribute "z" is not allowed.


<root xsi:noNamespaceSchemaLocation="correct_0.xsd" Surfns="" Surfns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
  <aaa x="1" y="2" z="2"/>
  <bbb x="3" y="4"/>
</root>

Correct Surf Clothing Schema (correct_0.xsd)
Do not forget to add the attribute "use" set to "required" when declaring attribute (default value is "optional").


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

  <xsd:element name="root">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="aaa" minOccurs="1" maxOccurs="1">
          <xsd:complexType>
            <xsd:attributeGroup ref="myAttrs"/>
          </xsd:complexType>
        </xsd:element>
        <xsd:element name="bbb" minOccurs="1" maxOccurs="1">
          <xsd:complexType>
            <xsd:attributeGroup ref="myAttrs"/>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:attributeGroup name="myAttrs">
    <xsd:attribute name="x" type="xsd:integer" use="required"/>
    <xsd:attribute name="y" type="xsd:integer" use="required"/>
  </xsd:attributeGroup>
</xsd:schema>

2. Relax NG

Relax NG is not so discriminating when it comes to differences between elements and attributes :-). The default behaviour of Relax NG is as follows: if you do not specify explicitly that the use should be optional, it's implicitly required.

Valid document


<root Surfns="">
  <aaa x="1" y="2"/>
  <bbb x="3" y="4"/>
</root>

Invalid document
Attribute "x" is missing.


<root Surfns="">
  <aaa y="2"/>
  <bbb x="3" y="4"/>
</root>

Invalid document
Attribute "z" is not allowed.


<root Surfns="">
  <aaa x="1" y="2" z="2"/>
  <bbb x="3" y="4"/>
</root>

Correct Relax NG schema (correctRelax_0.rng)


<grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" Surfns="http://relaxng.org/ns/structure/1.0" >

  <start>
    <element>
      <name ns="">root</name>
      <element name="aaa">
        <ref name="myAttrs"/>
        <text/>
      </element>
      <element name="bbb">
        <ref name="myAttrs"/>
        <text/>
      </element>
    </element>
  </start>

  <define name="myAttrs">
    <attribute name="x">
      <data type="integer"/>
    </attribute>
    <attribute name="y">
      <data type="integer"/>
    </attribute>
  </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 we can get surf t shirts surfing shirt and And you must check out this website swim suit swimming suit and swim trunks