Schema agenda.xsd


schema location:  C:\Documents and Settings\José Carlos Ramalho\Os meus documentos\XML Book Samples\agenda de contactos\agenda.xsd
 
Elements  Complex types 
agenda  Tentrada 
Tgrupo 


element agenda
diagram
children entrada grupo
annotation
documentation 
Comment describing your root element
source
<xs:element name="agenda">
  <xs:annotation>
    <xs:documentation>Comment describing your root element</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:choice maxOccurs="unbounded">
      <xs:element name="entrada" type="Tentrada"/>
      <xs:element name="grupo" type="Tgrupo"/>
    </xs:choice>
  </xs:complexType>
</xs:element>

element agenda/entrada
diagram
type Tentrada
children nome email telefone
attributes
Name  Type  Use  Default  Fixed  Annotation
id  xs:ID  required      
tipo  xs:string  optional      
source
<xs:element name="entrada" type="Tentrada"/>

element agenda/grupo
diagram
type Tgrupo
children entrada ref grupo
attributes
Name  Type  Use  Default  Fixed  Annotation
gid  xs:ID  required      
source
<xs:element name="grupo" type="Tgrupo"/>

complexType Tentrada
diagram
children nome email telefone
used by
elements agenda/entrada Tgrupo/entrada
attributes
Name  Type  Use  Default  Fixed  Annotation
id  xs:ID  required      
tipo  xs:string  optional      
source
<xs:complexType name="Tentrada">
  <xs:sequence>
    <xs:element name="nome" type="xs:string"/>
    <xs:element name="email" type="xs:string" minOccurs="0"/>
    <xs:element name="telefone">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="253-\d{6}"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:element>
  </xs:sequence>
  <xs:attribute name="id" type="xs:ID" use="required"/>
  <xs:attribute name="tipo" type="xs:string" use="optional"/>
</xs:complexType>

element Tentrada/nome
diagram
type xs:string
source
<xs:element name="nome" type="xs:string"/>

element Tentrada/email
diagram
type xs:string
source
<xs:element name="email" type="xs:string" minOccurs="0"/>

element Tentrada/telefone
diagram
type restriction of xs:string
facets
pattern 253-\d{6}
source
<xs:element name="telefone">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="253-\d{6}"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

complexType Tgrupo
diagram
children entrada ref grupo
used by
elements agenda/grupo Tgrupo/grupo
attributes
Name  Type  Use  Default  Fixed  Annotation
gid  xs:ID  required      
source
<xs:complexType name="Tgrupo">
  <xs:choice maxOccurs="unbounded">
    <xs:element name="entrada" type="Tentrada"/>
    <xs:element name="ref">
      <xs:complexType>
        <xs:attribute name="entref" type="xs:IDREF" use="required"/>
      </xs:complexType>
    </xs:element>
    <xs:element name="grupo" type="Tgrupo"/>
  </xs:choice>
  <xs:attribute name="gid" type="xs:ID" use="required"/>
</xs:complexType>

element Tgrupo/entrada
diagram
type Tentrada
children nome email telefone
attributes
Name  Type  Use  Default  Fixed  Annotation
id  xs:ID  required      
tipo  xs:string  optional      
source
<xs:element name="entrada" type="Tentrada"/>

element Tgrupo/ref
diagram
attributes
Name  Type  Use  Default  Fixed  Annotation
entref  xs:IDREF  required      
source
<xs:element name="ref">
  <xs:complexType>
    <xs:attribute name="entref" type="xs:IDREF" use="required"/>
  </xs:complexType>
</xs:element>

element Tgrupo/grupo
diagram
type Tgrupo
children entrada ref grupo
attributes
Name  Type  Use  Default  Fixed  Annotation
gid  xs:ID  required      
source
<xs:element name="grupo" type="Tgrupo"/>


XML Schema documentation generated with
XML Spy Schema Editor www.xmlspy.com