Podstawy programowania II 6


Podstawy programowania II
dr inż. Paweł Róg
1
Zagadnienia
%
Definicja typu dokumentu (DTD)
ą
Walidacja
ą
Deklaracje elementów
ą
Deklaracje atrybutów
2
Prosty przykład DTD





3
Poprawny element


Alan
Turing

computer scientist
mathematician
cryptographer

4
Również poprawny element


Alan
Turing


5
Niepoprawny element

computer scientist
mathematician
cryptographer

6
Niepoprawny element

computer scientist

Alan
Turing

mathematician
cryptographer

7
Niepoprawny element


Alan
Turing

mathematician
cryptographer
On Computable
Numbers...


8
Niepoprawny element


Alan
Turing

was a computer scientist,
a mathematician, and a
cryptographer.

9
Alternatywne DTD





0
1
Deklaracja typu dokumentu
%
Poprawny dokument zawiera odniesienie do DTD,
z którym powinien być porównany:
"http://www.cafeconleche.org/dtds/person.dtd">
1
1
Poprawny dokument

"http://www.cafeconleche.org/dtds/person.dtd">


Alan
Turing

computer scientist
mathematician
cryptographer

2
1
%
Jeśli dokument znajduje się na tej samej stronie
WWW, gdzie DTD, możemy napisać:

%
Jeśli dokument znajduje się w tym samym
katalogu, wtedy możemy napisać:

3
1
Publiczne ID
%
Jeśli używamy standardowego DTD możemy
podać jego publiczne ID:
Communications//DTD RSS 0.91//EN"
"http://my.netscape.com/publish/formats/rss-
0.91.dtd">
4
1
Wewnętrzne DTD






]>
5
1
Wewnętrzne DTD cd.


Alan
Turing

computer scientist
mathematician
cryptographer

6
1


]>
7
1
Walidacja dokumentów
%
xmllint --valid nazwa_pliku.xml
%
Topologi Schematron Validator
(http://www.topologi.com)
8
1
Deklaracja elementu
%
Każdy element używany w poprawnym
dokumencie musi zostać zadeklarowany.
Deklaracja elementu ma ogólną postać:

9
1
Zawartość tekstowa
%
Najprostszym typem zawartości jest zawartość
tekstowa:

0
2
Elementy-dzieci
%
Innym rodzajem zawartości może być element
podanego typu:

1
2
Sekwencje
%
Deklaracja sekwencji elementów:

2
2
Poprawny element

Madonna
Ciconne

3
2
Niepoprawny element

Ciconne
Madonna

4
2
Niepoprawny element

Madonna

5
2
Niepoprawny element

Madonna
Louise
Ciconne

6
2
Liczba dzieci
%
Liczbę elementów-dzieci pewnego typu możemy
zdefiniować za pomocą przyrostków:
ą
? - dozwolony zero lub jeden element,
ą
* - dozwolone zero lub więcej elementów,
ą
+ - dozwolony jeden lub więcej elementów.
%
Przykład:
last_name?)>
7
2
Poprawne elementy

Madonna
Ciconne


Madonna
Louise
Ciconne


Madonna

8
2
Niepoprawne elementy

George

Herbert
Walker
Bush



Ciconne
Madonna

9
2
%
Deklaracja możliwości opcjonalnego
wielokrotnego występowania elementu
middle_name
last_name?)>
%
Deklaracja możliwości wielokrotnego
występowania elementu middle_name
last_name?)>
0
3
Alternatywy
%
Definicja alternatywy:

1
3
%
Definicja wielokrotnej alternatywy:
(zero | one | two | three | four | five | six |
seven | eight | nine)
>
2
3
Zastosowanie nawiasów
%
Aby grupować elementy, możemy wykorzystać
nawiasy:


r) )>
3
3
%
Definicja elementu polygon
(((x, y) | (r, q)), ((x, y) | (r, q)), ((x, y)
| (r, q))+)>
4
3
Poprawny element

0 0
0 10
10 0

5
3
%
Jak rozszyfrować tę deklarację?
| (first_name, ( (middle_name+,
last_name) | (last_name?) )
) >
6
3
Mieszana zawartość
%
Definicja mieszanej zawartości:

7
3
Poprawny element
A Turing Machine refers
to an abstract finite
state automaton with infinite memory that can be
proven equivalent
to any any other finite state automaton with
arbitrarily large memory.
Thus what is true for one Turing machine is true
for all Turing
machines no matter how implemented.

8
3
%
Jak rozszyfrować tę definicję?
(#PCDATA | name | profession | footnote |
emphasize | date )*
>
9
3
Puste elementy
%
Aby używać następujący element ...
alt="Alan Turing standing in front of a
bus"
/>
%
... musimy go zdefiniować

0
4
Poprawny pusty element
%
Dlaczego?
alt="Alan Turing standing in front of a
bus">
1
4
Niepoprawny pusty element
%
Dlaczego?
alt="Alan Turing standing in front of a
bus">

2
4
Vale tudo
%
Ten element może zawierać zawartość dowolnego
typu:

3
4
Deklaracja atrybutu
%
Zdefiniowanie, że element image posiada
obowiązkowy atrybut tekstowy source

4
4
%
Deklarację atrybutów dla jednego elementu
można łączyć:
width CDATA #REQUIRED
height CDATA #REQUIRED
alt CDATA #IMPLIED
>
5
4
Typy atrybutów
%
CDATA
%
NMTOKEN
%
NMTOKENS
%
Wyliczenie
%
ENTITY
%
ENTITIES
%
ID
%
IDREF
%
IDREFS
6
4
CDATA
%
Atrybuty typu CDATA przyjmują wartości tekstowe:

7
4
list_price CDATA #IMPLIED
suggested_retail_price CDATA #IMPLIED
actual_price CDATA #IMPLIED
>

8
4
NMTOKEN
%
Typ NMTOKEN ma podobne ograniczenia, jak nazwa
XML, jednak, w przeciwieństwie do niej, może się
zaczynać dowolnym z dozwolonych znaków.

9
4
NMTOKENS
%
Atrybut typu NMTOKENS może zawierać jeden lub
więcej wartości typu NMTOKEN oddzielonych
odstępem

Kat and the Kings

%
Deklaracja atrybuty typu NMTOKENS

0
5
Wyliczenia
| April | May | June
| July | August | September | October | November
| December) #REQUIRED
>
1
5
8 | 9 | 10 | 11 | 12
| 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25
| 26 | 27 | 28 | 29 | 30 | 31) #REQUIRED
>
2
5
1974 | 1975 | 1976
| 1977 | 1978 | 1979 | 1980 | 1981 | 1982 | 1983
| 1984 | 1985 | 1986
| 1987 | 1988 | 1989 | 1990 | 1991 | 1992 | 1993
| 1994 | 1995 | 1996
| 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003
| 2004 | 2005 | 2006
| 2007 | 2008 | 2009 ) #REQUIRED
>

3
5
%
Poprawny element:

%
Niepoprawne elementy:





4
5
ID
%
Atrybut typu ID musi zawierać poprawną nazwę
XML, unikatową w całym dokumencie
#REQUIRED>
%
Dlaczego zastosowano znak _?

5
5
IDREF

Develop Strategic Plan




Deploy Linux



6
5
...

Fred Smith


Jill Jones


Sydney Lee

7
5
Deklaracje
#REQUIRED>
#REQUIRED>
#REQUIRED>
8
5
IDREFS

Develop Strategic Plan


Deploy Linux


Fred Smith

9
5
...

Jill Jones


Sydney Lee

0
6
Deklaracje
#REQUIRED
fsteam IDREFS #REQUIRED>

1
6
Atrybuty domyślne
%
Poza określeniem typu atrybutu, możemy
zdefiniować jego wartości domyślne. Mamy cztery
możliwości:
ą
#IMPLIED
ą
#REQUIRED
ą
#FIXED
ą
Literał
2
6
#IMPLIED
%
#IMPLIED oznacza, że dany atrybut jest
opcjonalny
died CDATA #IMPLIED
>
3
6
#REQUIRED
%
#REQUIRED oznacza, że dany atrybut jest
obowiązkowy
center_y NMTOKEN #REQUIRED
radius NMTOKEN #REQUIRED
>
4
6
#FIXED
%
#FIXED oznacza, że dany atrybut ma stałą
wartość

5
6
literał
%
Można także podać wartość domyślną atrybutu,
jako ujęty w znaki "" literał

6
6


Wyszukiwarka

Podobne podstrony:
Podstawy programowania II 2
Podstawy programowania II 4
Podstawy programowania II 3
Podstawy programowania II 5
Podstawy programowania II 1
zestawy cwiczen przygotowane na podstawie programu Mistrz Klawia 6
Podstawy Programowania Wersja Rozszerzona
Visual C 6 0 Podstawy programowania
matlab podstawy programowania
JP SS 2 algorytmy i podstawy programowania
podstawy programowania 5
Podstawy programowania  11 2013
podstawa programowa
podstawa programowa
ciurla,Podstawy Zarządzania II, Zarządzanie zasobami ludzkimi
Podstawy Programowania
Delphi podstawy programowania rejestr systemowy
wychowanie fizyczne w nowej podstawie programowej

więcej podobnych podstron