2010-08-02 3 views
1

Un exemple de certains XML qui pourrait être envoyé:Créer un exemple XSD - Heures d'ouverture - un de plusieurs types

<hours-of-operation> 
     <monday hourType="custom"> 
      <open unit="AM">9:00</open> <!-- open/close or closed or 24hour --> 
      <close unit="PM">5:00</close> 
     </monday> 
     <tuesday hourType="closed" /> 
     <wednesday hourType="24hour" /> 
     <thursday hourType="custom"> 
      <open unit="AM">9:00</open> <!-- open/close or closed or 24hour --> 
      <close unit="PM">5:00</close> 
     </thursday> 
     <friday hourType="custom"> 
      <open unit="AM">9:00</open> <!-- open/close or closed or 24hour --> 
      <close unit="PM">5:00</close> 
     </friday> 
     <saturday hourType="closed" /> 
     <sunday hourType="closed" /> 
    </hours-of-operation> 

Je veux un XSD qui définit les heures de l'élément opérationnel. Si cela rend les choses plus simples, n'hésitez pas à faire un hourType un élément plutôt qu'un attribut.

Donc, fondamentalement, j'ai besoin d'un jour pour chaque semaine, et il peut soit avoir des heures d'ouverture et de fermeture, être fermé, ou être ouvert 24 heures. En outre, les exigences ici ne sont pas clémentes, j'ai besoin de tous les jours de la semaine.

Si ce n'était pas clair, je ne veux pas savoir comment vous aborderiez ce problème en pratique. Je veux des définitions XSD pour le XML que j'ai posté, si vous avez une source qui tente de résoudre ce problème, je veux la partie XSD spécifique qui s'applique exactement à ce XML. Je ne sais pas grand-chose sur les schémas XML, et pendant que j'apprends le mieux, je peux rapidement, la meilleure chose que je peux obtenir pour ceci est le code XSD réel pour ce cas d'utilisation.

+1

Quel est le cas d'utilisation? – oluies

Répondre

1

Cela aurait été une réponse acceptable, il ne valide pas que le temps est du tout, c'est juste une chaîne, mais pour l'exemple affiché fonctionnerait.

<xs:element name="hours-of-operation"> 
     <xs:complexType> 
      <xs:sequence> 
       <xs:element name="monday" type="day-hours"/> 
       <xs:element name="tuesday" type="day-hours"/> 
       <xs:element name="wednesday" type="day-hours"/> 
       <xs:element name="thursday" type="day-hours"/> 
       <xs:element name="friday" type="day-hours"/> 
       <xs:element name="saturday" type="day-hours"/> 
       <xs:element name="sunday" type="day-hours"/> 
      </xs:sequence> 
     </xs:complexType> 
    </xs:element> 
    <xs:complexType name="day-hours"> 
     <xs:choice> 
      <xs:element name="twentyfourhours"/> 
      <xs:element name="closed"/> 
      <xs:element name="hours" type="hours"/> 
     </xs:choice> 
    </xs:complexType> 
    <xs:complexType name="hours"> 
     <xs:sequence> 
      <xs:element name="open" type="time"/> 
      <xs:element name="close" type="time"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="time"> 
     <xs:simpleContent> 
      <xs:extension base="xs:string"> 
       <xs:attribute name="unit" use="required" type="unit"/> 
      </xs:extension> 
     </xs:simpleContent> 
    </xs:complexType> 
Questions connexes