Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /data/web/virtuals/280515/virtual/www/templates/vasv304/functions.php on line 202

Article Index

Výskyty značek

Při našem zápisu prozatím neupravujeme počet výskytů daného elementu. V tom případě se předpokládá, že bude na daném místě pouze 1x. Když potřebujeme povolit jeho volitelnost (počet výskytů 0) nebo vícenásobné vložení (můžeme nechat neomezený počet nebo omezit horní počet výskytů elementu), použijeme následujíc úpravu.

XML

<zpravy>
  <zprava>
    <od>Michal</od>
    <komu>Jan</komu>
    <predmet>Přednáška</predmet>
    <text>Vem to dnes prosím za mne.</text>
  </zprava>
</zpravy>

XSD

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="zpravy">
    <xs:complexType>
     <xs:sequence>
       <!-- zpráv může být 0 až nekonečno -->
       <xs:element ref="zprava" minOccurs="0" maxOccurs="unbounded"/>

     </xs:sequence>
    </xs:complexType>
   </xs:element>


  <xs:element name="zprava">
    <xs:complexType>
     <xs:sequence>
      <xs:element name="od" type="xs:string"/>
           <!-- adresát musí být alespoň jeden, maximum je omezeno na 10 -->
      <xs:element name="komu" type="xs:string" minOccurs="1" maxOccurs="10"/>
      <xs:element name="predmet" type="xs:string"/>
      <xs:element name="text" type="xs:string"/>
     </xs:sequence>
    <xs:attribute name="id" use="required" type="xs:integer"/>
    </xs:complexType>
   </xs:element>
</xs:schema>

Pokud tento zápos chybí, pak se vyžaduje výskyt dané značky přesně jednou - <od>, <predmet>, <text>.

Volitelnost vybraných značek

Náš příklad se týká zprávy, pojďme si upravit příjemce tak, aby odpovídali emailové zprávě. Přidáme příjemce CC (kopie) a BCC (slepé kopie) s tím, že vždy musí být alespoň jedenkrát značka <komu></komu>.

XML

<zpravy>
  <zprava>
    <od>Michal</od>
    <komu>Jan</komu>
    <predmet>Přednáška</predmet>
    <text>Vem to dnes prosím za mne.</text>
  </zprava>
</zpravy>

XSD

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="zpravy">
    <xs:complexType>
     <xs:sequence>
      <!-- zpráv může být 0 až nekonečno -->  

      <xs:element ref="zprava" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
    <xs:attribute name="id" use="required" type="xs:integer"/>
    </xs:complexType>
   </xs:element>


  <xs:element name="zprava">
    <xs:complexType>
     <xs:sequence>
      <xs:element name="od" type="xs:string"/>
      <xs:element name="komu" type="xs:string" minOccurs="1" maxOccurs="10"/>
            <xs:element name="cc" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="bcc" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
      <xs:element name="predmet" type="xs:string"/>
      <xs:element name="text" type="xs:string"/>
     </xs:sequence>
    </xs:complexType>
   </xs:element>
</xs:schema>