XML : tablice informatyczne
 9788324605903, 8324605908 [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

XML DOM (XML DOCUMENT OBJECT MODEL)

getElementsByTagName Zwraca kolekcję węzłów o nazwach (i przestrzeniach nazw) identya­ getElementsByTagNameNS n eh z odan ma umentem.

Model DOM przewiduje trzy zasadniae interfejsy dokumentu: : : Document, : : Node, : : Node List.

Właściwości

removeChild

Najrzadziej wykorzystywane właściwości modelu. Praktyanie wyłąanie tylko do odaytu.

doctype implementation

O pis

� � !Pu� ����e�!� (OTO) - jeżeli zdefiniowano, właściwość zwraca obieku � � i �rp � � �ości dokumentu, determinowany zasadniao zgodnie

Defini

�� e �

:� � !��

replaceChild

.doctype

Specyfikacja DOM level 3 wprowadziła nowe właściwości document, takie jak documentURI, domConfig, inputEncoding, strictError­ Che cking, xmlEncoding, xmlStandalone oraz xmlVersion reprezentujące właściwości dokumentu deklarowane w prologu. Opis

createAttribute createAttributeNS

Utworzenie nowego atrybutu (węzła typu Attr). Uwaga: atrybuty domyślnie nie posiadają przestrzeni nazw, nawet, a właściwie zwłaszaa wtedy, jeżeli umiej­ scowione są w węzłach posiadających tę cechę, atrybut z określoną przestrzenią nazw posiada zawsze prefiks wskazujący na przestrzeń.

r

c eateComment createDocu­ mentFragment

Utworzenie nowe o w

createElement createElementNS

Utworzenie nowego elementu (bez określonej przestrzeni nazw, lub w podanej przestrzeni).

.createAttribute(nazwa) .createAttributeNS(UR/, nazwa) .createCDATASectio n tekst . createComment(tekst) .createDocumentFrag­ ment( .createElement(nazwa) .createElement(UR/, nazwa .createEntityReferenc e(nazwa)

createCDATASection Utworzenie nowego węza typu CDATA. u komentarz.

Utworzenie pustego obiektu (nie węzła!) typu documentFragment.

createEntityReference

Tworzy odwołanie (referencję) do zdefiniowanej encji o nazwie określonej af umentem. Tworzy instrukcję sterującą o nazwie określonej przy użyciu pierwszego parametru createProcessingln- i wartości. Uwaga: z punktu widzenia DOM informacje zawarte w wartości createProcessinglnstruc tion(nazwa, wartość) stru ctlon nie są w żaden sposób wyróżniane (mimo zazwyaaj oaywistej konstrukcji metr wa ość ).

ra =" rt "

getElementByld

����mentsByTag-

Wyszukuje element dokumentu posiadający określone id. Uwaga: korzystanie z metody uzależnione jest od zadeklarowania w OTO właściwego typu atrybutu, co na dłużs met b a niew odne.

.getElementByld(id)

Wyszukuje elementy (nawet jeżeli znajdzie jeden, zwracana jest kolekcja - : :

getElementsByTag- Nodellst) o nazwie określonej parametrem, przy NS dodatkowo we wskazanej przestrzeni nazw. NameNS importNode

Importuje (kopiuje) węzły pomiędzy dokumentami. Węzeł źródłowy pozostaje niezmieniony. Drugi parametr wywołania określa, ay import dotyay tylko węzła, ay węzła wraz z węzłami potomnymi (atrybuty danego węzła nie są węzłami otomn mi i im ortowane s zawsze).

.getElementsByTagNam e(nazwa) .getElementsByTagNam eNS(UR/, nazwa)

Interfejs ::Node Najważniejszą, determinującą dostępność .głębszych" właściwości i metod cechą węzła (DOMNode) jest jego typ. Standard określa zarówno zdefiniowane wartości tekstowe, jak i ich numeryane odpowiedniki.

�gg�MENT _FRAGMENT_ 11 NOTATION_NODE

Notacja zadeklarowana w DTD.

12

Właściwość

Referencja do encji. Enc"a. Instrukcja sterująca.

M

Komentarz. Dokument (cały dokument XML; główny element drzewa DOM).

DOCUMENT _NODE

getAttributeNode getAttributeNodeNS setAttributeNode setAttributeNodeNS removeAttributeNode

Interfejs ::Nodelist Interfejs posiada jedną metodę i jedną właściwość

l ngth e

rst l stchi ttribut a

a

Interfejs ::NamedNodeMap Interfejs wykorzystywany przy zwracaniu kolekcji nazwanych wartości (w praktyce - atrybutów). Posiada jedną właściwość i kilka metod. rzykład

Opis

l

nextS i bl ng previou sSibling

.length

Zwraca liabę elementów w kolekcji.

getNamedltem() getNamedltemNSQ setNamedltem() setNamedltemNS() removeNamedltem() removeNamedltemNS()

Zwraca węzeł kolekcji o pozycji (indeksie) określonej argumentem (numerowanie węzłów w kolekc"i zaa na si od O). Zwraca węzeł kolekcji o nazwie określonej a umentem. Dodaje do kolekcji nowy węzeł (wskazany af umentem). Usuwa z kolekcji węzeł o nazwie określonej a umentem.

Przykłady wykorzystan ia DOM Utworzenie prologu dokumentu: domObj.appendChlld(domObj.createProcesslnglnstructlon(" xml","verslon='l.O' encoding='UTF-8"'))

uri","Pozycja")),setAttribute("Lp",I)

Usunięcie ostatniego węzła podrzędnego: rootObj.removeChlld(rootObj.lastChlld)

Utworzenie luźnego węzła: newNode=domObj.createElementNS("jakies­ uri","PodPozycja") with(rootObj.firstChlld.appendChlld(newNode)){

Utworzenie atrybutów:

for(k=l;k..• uzależnia wykonanie zawartości elementu od spełnienia warunku@wiek>15 and Ma (wartość atrybutu@wlekjestwięk­ sza niż lS oraz istnieje element o nazwie Ma). Zamiast wielu elementów uzależniających przetwarzanie węzłów, lepiej przekazywać sterowanie przetwarzaniem węzlów do odpowiednich szablonów poprzez element dopasowujący wlaśclwy zestaw węzlów. Element Element uzależnia wykonanie zawartości ele­ mentu od spełnienia jednego z warunków określonych wewnątrz w elemencie . Element nie posiada atrybutów. Zawiera co najmniej jeden element oraz co najwyżej jeden element , który- jeśli jest użyty - musi być elementem ostatnim. Warunki w elemen­ tach sprawdzane są kolejno, do pierwszego popraw­ nego.W przypadku niespełnienia żadnego z określonych warunków wykonywana jest zawartość elementu . Przykład:

•.. ...

Wartość z zakresu xml:lan , n . "pl", "en" it . "text" I n um r" I QName

Jang

"

data-ty pe Porządek (w kolejności malejącej lub rosnącej) sortowania.

order

r

ca se-o d er

W przypadku gdy data-type="text" określa sposób sortowania małych i wielkich liter, np. "A a B b" lub "a A b B".

be

"

"asc ending" I "de scen ding Dom ślna wartość to "ascendin " . "upper-first" I "!ower-first'' Domyślna wartość zależna jest od wartości air butu Ian .

Przekaz wanie parametrów

dopasowuje elementy o nazwie Ala i przekazuje sterowanie do najle­ piej dopasowanego szablonu z mocie, jak przy wywołaniu.Przy braku dopasowania wykonane zostaną szablony wbudowane. Skrócona składnia wywołania ma postać i jest tożsama z .

/

Sortowanie Element Element służy do określenia porządku przetwarza­ nia węzłów. Porządek ten decyduje o tym, które węzły będą przetwa­ rzane jako pierwsze przez elementy lub . Przykład:



dopasowuje elementy o nazwie Ala i przekazuje sterowanie, zachowu­ jąc malejący porządek sortowania według wartości atrybutu @wiek (traktowanej jako wartość liczbowa).

Element Element pozwala na przekazanie para­ metru do wykonywanego szablonu. Atrybuty

name

Wyma an .Nazwa arametru.

select

Wartość wyrażenia (uwzględniającego kontekst wywołania).

Przykład:



dopasowuje elementy o nazwie Ala i dla dopasowanych węzłów wykonany zostaje szablon, wewnątrz którego można odwołać się do parametru ileMa a t (), wartością tego parametru będzie wartość atrybutu@wiek elementu Ala przekazywanego do przetworzenia. Przypomina to przekazywanie parametrów funkcji w językach programowania.

l

Atrybuty

Wymagany. Nazwa szablonu, do którego ma zostać przekazane sterowanie.

name

Przykład:



W liczenia

Element Element umożliwia wykonanie zawartości elementu dla każdego z węzłów zestawu określonego atrybutem select. Element ten użyteczny jest jedynie wtedy, gdy struktura dokumentu wejściowego jest znana i regularna; zdecydowana większość konstruk­ cji daje zapisać się jako odpowiednie dopasowania - . Pamiętać należy, że wewnątrz elementu węzłem kontekstowym nie jest węzeł wynikający z wywołania szablonu, a aktualnie przetwarzany węzeł (spośród zestawu określonego atry­ butem s elect).

Wymagany.Wyrażenie (uwzględniające kontekst wywołania) określające zbiór węzlów, na których wykonana zostanie zawartość elementu .

select

f r each

Przykład:

W cofanie

Element Element pozwala obslużyć elementy niedo­ stępne w danej Implementacji XSLT i zabezpiecza przed przerwaniem transformacji z błędem. Jeśli nieznany element ma jeden lub więcej elementów podrzędnych < xsl: fali back>, musi zostać wykonana kolejno zawartość każdego z nich. Inaczej transformacja zostanie przerwana z błędem. Element wartosc

. Białe znaki pomiędzy a oraz i zostaną pominięte. Należy pamiętać, że ustawienie wartości atrybutu disable-output­ escaplng na "yes" może spowodować, że dokument wynikowy transformacji może nie być prawidłowym dokumentem XML. Atrybut ten powinien być stosowany z wielką rozwagą. Element Element pozwala na wstawienie wartości liczbowej, sformatowanej w zależności od ustawień zawartych w atrybutach elementu. Atrybuty

att3="{count(*)}">

vall

tworzy w dokumencie wynikowym dwa elementy wraz z atrybu­ tami:

Wartość att3 została obliczona w trakcie wykonywania szablonu. Nawiasy klamrowe informują procesor o konieczności obliczenia wartości wyrażenia Xpath (wstawienia zmiennej lub parametru). W przypadku konieczności użycia w wartości atrybutu znaku klamry należy zastosować sekwencję { {. Podczas próby utworzenia atrybutu o określonej przestrzeni nazw, ale bez jawnego wskazania prefiksu, parser wygeneruje jego unikalną nazwę (atrybuty bez prefiksów nie należą do żadnej przestrzeni nazw). Atrybuty powinny być ustawiane w pierwszej kolejności. W przy­ padku próby zwrócenia atrybutu po węźle zostanie on pominięty w dokumencie wynikowym bez zwrócenia błędu.

count

Atrybuty

. . name use-attribute-sets

Wymagany. Nazwa zbioru atrybutów.

Opcjonalny. Wywołanie innego xsl: attribute-set zadeklarowanego w transformacji.

Określa poziom zagnieżdżenia uwzględniany podczas numerowania. Wartości: "single" I "multiple" I "any" (wartością domyślną ' est "single ").

Wyrażenie określające, które węzły powinny zostać zliczone na podanych poziomach. Gdy nie podano wartości atrybutu, zliczeniu podle­ gają wszystkie węzły tego samego typu, co typ w zła kontekstowe o.

from

Wyrażenie określające, skąd zliczanie węzłów powinno się rozpocząć.

value

Wyrażenie skonwertowane na wartość liczbową wstawianą do dokumentu wynikowego. Jeśli atrybut value nie jest podany, wartością elementu jest numer pozycji w zła kontekstowe o.

format

Łańcuch formatujący, który warunkuje sposób wyświetlenia wartości liczbowej. Poniżej tabela z możliwymi wartościami atrybutu format.

tang

Identyfikator języka (z zakresu xml : tang). Jeśli nie podano wartości atrybutu, jest ona warunko­ wana przez ustawienia systemowe.

letter-value

Określa sposób interpretacji kolejności znaków w danym języku. Wartość: "alphabetic" I "traditional" (wartością domyślną jest "ap\ha­ betic").

grouping­ separator

Znak używany do oddzielenia grupy znaków (np. tysięcy) w waności liczbowej. Jeśli podano tylko jeden z atrybutów grouping-separator lub grouping-size, atrybut ten jest ignorowany.

grouping­ size

Określa liczbę znaków stanowiących grupę.

Zestaw atr butów Element Element definiuje zbiór atrybutów, do którego można odwołać się poprzez jego nazwę.

Pozwala na generowanie znaków & i < zamiast encji odpowiadających tym znakom. Wartość atrybutu to "yes" lub "no" ("no" to wartość dom ślna).

Przykład:

level

pis

select

Kopiowanie zawartości Element Element umożliwia skopiowanie do dokumentu wynikowego węzła kontekstowego (kopiowanie nie obejmuje węzłów podrzędnych elementu ani jego atrybutów).

„.

< /xsl:processing-instruction>

utworzy w dokumencie wynikowym instrukcję sterowania o nazwie xml-stylesheet z podaną zawartością tekstową:

Serie nazwa-wartość traktowane są jako całość. XSLT (DOM również) nie wyróżnia ich w żaden sposób. Wiadomości Element Element pozwala na przesłanie do standar­ dowego bufora (zależnego od implementacji i ustawień systemo­ wych) komunikatu oraz przerwanie dalszego wykonywania procesu transformacji z podanym komunikatem. Atrybuty Opis

Przykład:

Przykład: to jest komentarz utworzy w dokumencie wynikowym węzeł komentarza w postaci

< I -- to jest komentarz--> .

ożliwe wartości

"xml" I "html" I "text"

encoding

"UTF-8" (domyślny), "150-8859-2", "wlndows1250", it .

indent

"yes" I "no"

omit-xml-declaration

"yes" I "no"

standalone

"yes" I "no"

A

A B C . „ X Y Z „ . AA AB AC AD „ .

cdata-sectlon-elements

oddzielona spacjami lista nazw elementów

doctype-pub\ic

tekst

doctype-system

tekst

media-type

tekst

Format dokumentu wyjściowego Element Element < xsl:output> określa właściwości dokumentu wyjściowego, takle jak format danych oraz kodowanie, dodatkowo -przy dokumentach SGML - definicję typu dokumentu.

Opis

Określa format dokumentu w 'ściowe o. Określa kodowanie znaków w dokumencie wyjściowym, zadeklarowane kodowanie musi być obsługiwane przez procesor.

Lista nazw elementów, których zawartość tekstowa ma zostać zwrócona 'ako sekc e CDATA.

Identyfikator publiczny, który będzie użyty w deklaracji < IDOCTYPE> dokumentu w nikowe o. Identyfikator systemowy, który będzie użyty w deklaracji < !DOCTYPE> dokumentu w nikowe o.

T MIME dokumentu w nikowe o.

Element Element definiuje sposób wyświet­

Opis

pattern-separator

lania wartości liczbowych I określa działanie funkcji format-num­

ber(). W przypadku podania waności atrybutu name mówimy o nazwanym formacie, do którego można odwołać się poprzez jego

nazwę. Element umieszczany jest zawsze bezpośrednio pod elemen­ tem xsl :stylesheet.

Atrybuty Opis

name

decimal-separator grouplng-separator infinity

minus-sign

Nazwa definicji formatu (zdefiniowanie więcej niż jednej definicji o tej samej nazwie uznane b dzle za bł d).

Znak używany do oddzielenia części całkowitej I ułamkowej liczby. Domyślnym znakiem 'est " . " (kro ka).

Znak używany do oddzielenia grup znaków w liczbie. Domyślnym znakiem jest "," ( rzecinek).

Łańcuch znaków używany do określenia wartości "nieskończoność''. Domyślnym łańcuchem znaków 'est "Infinity" .

Znak używany jako minus. Domyślnym znakiem 'est "-" (znak o kodzie #x2D).

Znak używany do określenia znaku procen­ ta. Dom śln m znakiem ·est "%".

Znak używany do określenia znaku promila. Domyślnym znakiem jest znak o kodzie #x2030.

i ii iii ivvvi vii . „ Przykład:

wstawi do dokumentu wynikowego wartość pozycji węzła konteks­ towego sformatowaną zgodnie z ciągiem formatującym "1 . " (1 „ 2„

Formatowanie tekstu

„.

l ll lll lV VVIVll . . .

Wystąpił jakiś błąd. Wykonanie transformacji zostaje przerwane.< /xsl: message>

verslon

1 2 1 3 14 . „

01 0203 04 „ . 1 2 1 3 14

Określa, czy transformacja powinna zostać przerwana po wykonaniu zawartości ele­ mentu. Wartość: "yes" I "no" (Wartością dom śln est "no").

terminate

Element Element pozwala na utworzenie w doku­ mencie wynikowym węzła komentarza. Element ten nie ma żad­ nych atrybutów, a jedyną jego zawartością jest treść, stanowiąca komentarz.

Łańcuch znaków określający wartość niebędącą liczbą. Domyślnym łańcuchem znaków 'est "NaN''.

01

3„4„ . „ ) .

type="text/xsl" href="szablony. xsl"

W powyższym przykładzie do elementu wynikowego div wstawiono dwa atrybuty dwoma różnymi sposobami: 1. korzystając z elementu < xsl : attribute > i jego zawartości podanej jako , 2. jawnie wpisującatrybut @ld o wartości{„ .} -zapis klamrowy jest skróconą składnią elementu i może być w ten sposób stosowany właśnie w atrybutach elementów bądź ogólnie jako wartość pewnego wyrażenia. Nawiasy klamrowe oznaczają, iż wyrażenie w nich zawarte najpierw jest wyliczane, a następnie wstawiane. Kiedy konieczne jest użycie w nazwie znaku nawiasu klamrowego, należy zastosować sekwencję dwóch nawiasów klamrowych (analogicznie do znaku backslash w językach programowania). Należy pamiętać, że ustawienie wartości atrybutu d isable-output­ escaplng na "yes" może spowodować, że dokument wynikowy transfonnacji może nie być prawidłowym dokumentem XML. Atrybut ten powinien być używany z wielką rozwagą.

Atrybut format

1 23 4

Przykład:

Przykład:



method

W ma an . Nazwa instrukc'i sterowania.

name

Wymagany. Wyrażenie zwracające zawartość węzła (tak naprawdę zestaw węzłów, z których wartościowany będzie tylko ierws z nich).

Pozwala na generowanie znaków & i < disable-output­ zamiast encji odpowiadających tym znakom. escaplng Wartość atrybutu to "yes" lub "no" C'no" to wartość dom ślna).

Przykład:

vall



Atrybuty

Pozostałe rodza' e w złów

pis

disab\e-output-escaplng

Element Element pozwala na utwo­ rzenie w dokumencie wynikowym węzła instrukcji sterowania.

Atrybuty

Atr but Element Element służy do tworzenia nowych atrybu­ tów. Podobnie jak w przypadku , nazwa tworzone­ go atrybutu może być określona dopiero w czasie transformacji I być wynikiem funkcji Xpath (XSLT) lub zmienną (parametrem).

Element Element zwraca wartość wyrażenia lub wartość tekstową pierwszego węzła pasującego do wyrażenia XPath umieszczonego w atrybucie select.

zero-digit digit

Znak używany do oddzielenia ciągu formatującego liczby dodatnie od ciągu formatującego liczby ujemne. Domyślnym znakiem ·est "; " (średnik).

Przykład:

Element Element pozwala na zachowy­ wanie białych znaków węzłów tekstowych określonych w atrybucie e lements. Element umieszczany jest zawsze bezpośrednio pod elementem xsl:stylesheet. Atrybuty

elements

Wymagany. Separowana lista nazw elementów, w których zawartościach tekstowych powinny zostać zachowane wsz stkie białe znaki.

Przykład:

każe zachować białe znaki w zawartościach tekstowych elementów o nazwach code i kod. Element Element umożliwia kasowanie białych znaków węzłów tekstowych określonych w atrybucie elements. Element umieszczany jest zawsze bezpośrednio pod elementem xsl :stylesheet. Atrybuty

Ta b l i ce i nfor m atyczne. XM L Dołączan ie transformacji zewnętrznych Element Element pozwala na dołąaenie transformacji

zawartej w innym zewnętrznym pliku, w miejscu wskazanym przez atrybut href. Element ten jest elementem nadrzędnym i powinien majdować się bezpośrednio jako element potomny elementu xsl :sty­ lesheet W przypadku próby bezpośredniego lub pośredniego dołąuenia transformaq1 przez samą siebie procesorzwróci błąd. Błędemzakońuy się również próba dołąuenia nieistniejącego pliku z transformacją. Atrybuty

Element Element deklaruje klua, ayli parę nazwa-wartość,

przypisany elementom dokumentu XML pasującym do wyrażenia XPath z atrybutu match. Zdefiniowany klua wykorzystywany jest przez funkcję key() pozwalającą na dostęp do wybranych ele­ mentów dokumentu określonych elementem . Atrybuty

name

Nazwa kluaa.

match

Wyrażenie określające węzły, którym przypisana zostanie wartość kluaa o nazwie name.

use

Wyrażenie, którego wynik zostanie użyty jako war­ tość kluaa. Wartością kluaa jest wyrażenie Xpath. Może nią być np. wartość atrybutu w kontekście pasującego węzła, poląaenie wartości i stałej makoik funk "i XSLT. we",

Wymagany. URI wskazujące plik XSLT, który powinien zostać d aon . Przykład:

doląaa zewnętrzną transformację z pliku innySzablonXslt.xsl i traktuje zawarte w nim szablony na równi z szablonami zawartymi w transfor­ macji bazowej, z której nastąpiło wywołanie doląaenia. Element Element pozwala na zaimportowanie transfor­ macji zawartej w innym zewnętrznym pliku w miejscu wskazanym przez atrybut href. Elementten jest elementem nadrzędnym i powi­ nien znajdować się bezpośrednio jako element potomny elementu xsl :stylesheet. W przypadku próby bezpośredniego lub pośredniego importu transformacji przez samą siebie proces transformacji zostanie przerwany i zakońaony błędem. Błędem również zakońay się próba dołąaenia nieistniejącego pliku z transformacją.

w dokumencie byłoby bardzo kłopotliwe. W drugim przykładzie, dzię­ ki typom nazwanym, ograniaono maanie objętość, a wydzielenie typów uprościło rozwijanie i utrzymanie kodu. Schemę schemy zbudowano przy użyciu drugiej metody. Zdecydowanie należy unikać modelu mieszanego. Zawartość elementów definiowana jest za pomocą odpowiednich typów - złożonych dla zawartości składającej się z podelementów i (lub) atrybutów or.izprostych dla zawartości tekstowej. Zawartość mieszana- podelementy i (lub) atrybuty oraz tekst definiowana jest przy zastosowaniu rozszerzania typów przez zawartość złożoną. Zawartość atrybutów określana jest typami prostymi. Główny element dokumentu opisany jest przez jedną z definicji xs:element, która jest bezpośrednio podrzędna xs:schema.

Pozostałe

Typ złożony wykorzystywany jest w przypadku określenia zawar­ tości elementów mogących posiadać podelementy i atrybuty. Definicja lub deklaracja typu złożonego tworzona jest przy użyciu elementu xs:compelxType Atrybuty tego elementu określone są wyłącznie dla definicji typu, którajest bezpośrednio podrzędna xs:schema (z wyląaeniem atrybutu id). pis

dopasowuje elementy zdefiniowane kluaem o nazwie wiekOsobO­ ImieniuAla, zawierające atrybut @wiek o wartości 15

abstract

Element Element definiuje nazwany zbiór atry­

butów, do którego odwołać się można poprzez jego nazwę podaas tworzenia nowego elementu lub atrybutu.

black

Opcjonalny. Uniemożliwienie wykorzystania typu do wyprowadzania innych typów wskazaną metodą. Wartości: #all I extension I #rest riction, domyślnie: zgodnie z ustawieniem blockDefault w xs:schema.

fina !

Opcjonalny. Ustala typ jako ostateany (niemo­ dyfikowalny) metodą określoną w wartości. Wartości: #all l extension I # restriction, domyślnie: zgodnie z ustawieniem finalDefault w xs:schema.

mixed

Opcjonalny. Zezwolenie na dowolną (niepodlegającą walidacji!) zawartość tekstową w węile. Wartości: true lfalse (1 1 0).

Atrybuty

name Wymagany. URI wskazujące plik XSLT, który powi­ nien zostać zaim ortowan .

Zasadniaą różnicą pomiędzy i jest fakt, iż w przypadku dołąaania zewnętrznych transformacji za pomocą elementu < xsl : include> doląaane szablony trak­ towane są na równi z szablonami transformacji, z której nastąpiło dołąaenie. W przypadku w pierwszej kolejności będą dopasowywane szablony zawarte w importowanej transformacji, a jeśli to się nie powiedzie, nastąpi próba dopasowania szablonu zawartego w transformacji, z której nastąpił import Przy okazji elementu < xsl : import> należy wspomnieć o niero­ zerwalnie z nim zląaonym elemencie . Wymusza on dopasowywanie i "nadpisuje" szablony bazowej trans­ formacji (tej, z której nastąpił import) szablonami z transformacji importowanej. W praktyce nie należy (zwykle nie ma takiej potrzeby) w jednej trans­ formacji używaćzarówno elementu , jak i elementu .

use-attrlbute­ sets Przykład:

vall

Definicję grupy elementów tworzymy podobnie jak definicję zesta­ wów elementów. Może ona zawierać odwołanie do innych zdefinio­ wanych grup. Ewentualne odwołanie cykliane jest błędem schemy i powinno zostać wykryte przez procesor. pis

name



Co najwyżejjeden element Pierwszy, a następnie co najmniejjeden element Drugi.

type="podmiot"/>











Jeden element Pierwszy i co najmniejjeden element Drugi wystę­ pujące łącznie.



Pięć kolejnych wystąpień jednego z dwóch elementów Pierwszy lub Drugi. xs: choice or.iz xs:sequence umożliwiają wielopoziomowe kon­ strukcje definiowania podelementów. xs:all możezawieraćwyląa­ nie bezpośrednie wyliaenie możliwych elementów.

Atrybut id może być użyty w każdym elemencie schemy. Umożliwia on - w miejscach dozwolonych specyfikacją-odwołanie się bez­ pośrednio do danego elementu. Istnieją dwa podstawowe sposoby tworzenia schemy - zagnież­ dżonyor.iz plaski. W pierwszym z nich struktura schemy odpowiada dokładnie strukturze dokumentu, który opisuje. Drugi z kolei umożliwia wielokrotne wykorzystanie zdefiniowanych zestawów węzłów, Pierwszy przykład pokazuje od razu, jak powinien wyglądać atrybutów, wartości tekstowych i grup oraz ich modyfikowanie zgodny z nim dokument Wymusza to jednak powtarzanie znaa(wyprowadzanie nowych typów z waeśniej zdefiniowanych). nych partii kodu, co w przypadku dalszych zagnieżdżeń elementów -·-------- - ._.._.__ _ _ ____, ....._. . ...,. _p_ ._,...__ ...., _ _'-_._.__ _ __

Przykład:

s

Wymagany przy definiowaniu grupy - xs:group bezpośrednio podrzędny xs: schema. Definicja grupy nie może zawie­ rać innych atrybutów (poza id dopuszaalnym w każd elemencie).

ref minOccurs maxOccurs Dowolne element

Standard XML Schema oferuje możliwość włąaania do doku­ mentu dowolnych (niezdefinowanych w schemie) elementów. Wykorzystujemy do tego celu xs:any. pis

namespace Opcjonalny. Określenie przestrzeni nazw, z której mogą pochodzić dodatkowe elementy. Wartość U Ri l tt lt any l tt ttlocal ltt #other l tt #targetN amespace. Atrybut może zawierać separowaną bi i makami list do uszaaln eh wartości. procesOpcjonalny. Informacja o sposobie sprawdzania sContents poprawności dodatkowych elementów. Wartość: skip (bez sprawdzania poprawności) l strict(spr awdzanie poprawności) l lax(sprawdzanie, jeżeli dostępne są informacje o docelowej przestrzeni nazw).

I



Tabl i ce i nformatyczne. X IVI L -

-

-

11111\

Opis

Definicja typu własnego może określał również kilka dopuszuonych typów:

typ e



...

albaprzy użyciu typu nazwanego:





Typ proste wbudowane

Standard XML Schema oferuje 19 podstawowych prostych typów wbudowanych oraz wyprowadzone z nich typy prostedodatkowe. Typy pochodne wyprowadzane są przy użyciu ograniaenia lub listy.

strin normalizedStrin

minlength

maxExclusive minlnclusive

Długość minimalna. Długość maksymalna.

Wartość maksymalna. Pierwsza niepoprawna wartość maksymalna. Wartość minimalna.

minExclusive

0-1 0-1

total Digits

0-1

Maksymalna dopuszaalna liaba cyfr.

fractionDigits

0-1

Maksymalna dopuszaalna liaba cyfr po przecinku.

whiteSpace

0-1

Sposób interpretowania białych znaków podaas walidacji. Wartość preserve(brak ingerencji w zawartośćl l replace(zami ana znaków tabulacji i końca wierszy na spacjel l co lla ps e(pomijanie nadmiarowych bia eh znaków).

token Ian u a e Na me NCName !DREF !DREFS ENTITY

Wymagana długość.

Pierwsza niepoprawna wartość minimalna.

Przykłady:

ENTITIES

base="xs:string">

Powyższy typ może definiować element posiadający zawartość teks­ tową (można, oaywiście, użyć zdefiniowanego typu własnego) oraz atrybuty attl i att2.