DTD i XML Schema.doc

(43 KB) Pobierz
XML Schema

1.      DTD

a.       Deklaracja DTD

<!DOCTYPE nazwa typu [

                            Tutaj deklaracja elementów

]>

b.      Deklaracja elementu

<!ELEMENT nazwa zawartość>

Deklaracja elementu pustego

<!ELEMENT pusty EMPTY>

Deklaracja dowolnego elementu

<!ELEMENT dowolny ANY>

 

Określanie zawartości elementu:

·         Lista dopuszczalnych elementów np. (pierwszy, drugi, trzeci) zakłada kolejne występowanie elementów o nazwach pierwszy, drugi, trzeci

·         Wybór np. (ten | tamten)

·         Łączenie listy i wyboru np. (pierwszy | drugi), (trzeci | czwarty)

Liczności wystąpień elementów – deklarujemy przy określaniu zawartości

·         Domyślnie element musi wysąpić raz :

<!ELEMENT pojedyncze (pierwszy, drugi) >

·         Element opcjonalny

<!ELEMENT opcjonalne (pierwszy?, drugi?)>

·         Wiele wystąpień (0 lub więcej)

<!ELEMENT wiele (pierwszy*, drugi*)>

·         Więcej niż jeden

<!ELEMENT wiecejNizJeden (pierwszy+, drugi+)>

Zawartość tekstowa:

              <!ELEMENT tekst (#PCDATA) >

                           

    1. Deklaracja atrybutu

<!ATTLIST nazwa.elementu definicje.atrybutow>

                           

Atrybuty wyliczalne z wartością domyślną (w tym przypadku CZERWONY)

<!ATTLIST farba KOLOR (CZERWONY | ZIELONY | NIEBIESKI) „CZERWONY” >                           

Typy atrybutów:

·         ID – identyfikator  np. „A51”

·         IDREF – wskażnik do identyfikatora

·         IDREFS –wskaźniki do identyfikatorów np. „A51 C12 A11”

·         CDATA – tekst

·         ENTITY – odnośnik do encji zewnętrznej np. pliku

·         …..

Przykłady atrybutów

<!ATTLIST def.terminu

                            id ID #REQUIRED

                            nazwa CDATA #IMPLIED>

              <!ATTLIST formularz

                                          Metoda CDATA #FIXED „POCZTA”>


2. XML Schema

 

 

1.      Deklaracja XML Schema

<?xml version=”1.0” encoding=”UTF-8”>

<xsd:schema xmlns:xsd=”http://www.w3c.org/2001/XMLSchema”> 

</xsd:schema>

2.      Typy danych

    1. Proste – typ prosty definuje element zawierający tylko i wyłącznie tekst

Definiowanie typu prostego:

              <xsd:simpleType name=”nazwa”/>

Definiowanie typu prostego wraz z orgraniczeniami:

              <xsd:simpleType name=”bardzoOgraniczonyTyp”>

                            <xsd:restriction base=”xsd:string”> (ograniczamy do typu string)

                                          <xsd:pattern value=”JestemBardzoOgraniczony”/>

                                          <xsd:pattern value=”JestemBardziejOgraniczony”/>

                            </xsd:restriction>

              </xsd:simpleType>

Deklarowanie listy:

                                                        <xsd:simpleType name="typListowy">

                                                                      <xsd:list>

                                                                                    <xsd:simpleType name="">

                                                                                                  <xsd:restriction base="xsd:string">

                                                                                                                <xsd:maxLength value="20"/>

                                                                                                  </xsd:restriction>

                                                                                    </xsd:simpleType>

                                                                      </xsd:list>

                                                        </xsd:simpleType>

 

 

                           

    1. Złożone – typ złożony może składać się z tekstu oraz innych elementów

Definiowanie typu złożonego

              <xsd:complexType name=”….”>

                            <rodzaj struktury>

                                          Deklaracja elementów

                            </rodzaj struktury>

              </xsd:complexType>

 

Dostępne rodzaje struktury:

              <xsd:sequence> sekwencja

              <xsd:choice> lista wyboru

              <xsd:all> wszystkie elementy w dowolnej kolejności

3.      Deklaracja elementów

<xsd:element name=”nazwa”/>

Rozbudowany o typ

<xsd:element name=”nazwa” type=”nazwatypu”/>

Inne ograniczenia:

·         minOccurs

·         maxOccurs

·         fixed

·         default

·         required

Jest możliwe definiowanie typu danych od razu po deklaracji elementu np.:

              <xsd:element name=”nazwa”>

                            <xsd:simpleType>

                                         

                            </xsd:simpleType>

              </xsd:element>

4.      Definiowanie atrybutów w ramach elementu

<xsd:attribute name=”nazwa” use=”rodzaj użycia”/>

Dopuszczalne rodzaje użycia:

·         required

·         optional

·         prohibited

 

Zgłoś jeśli naruszono regulamin