149 38 5MB
Polish Pages 0 [6] Year 2008
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.