Autor: Mariusz Żebrowski.
Lokalizacja:
http://www.antyspam.pl/w3c/REC-xml-stylesheet-19990629/
Dokument ten jest tłumaczeniem rekomendacji Associating Style Sheets with XML documents
Version 1.0. Przekład ten
nie jest przekładem normatywnym i może zawierać błędy wynikające z
tłumaczenia. Status normatywny posiada jedynie wersja angielskojęzyczna na
stronie W3C
http://www.w3.org/1999/06/REC-xml-stylesheet-19990629/.
Dokument jest chroniony prawem autorskim. Copyright © 2004 W3C®
(MIT, ERCIM, Keio).
Prawa autorskie © 1999 W3C® ( MIT, INRIA, Keio ), Wszystkie prawa zastrzeżone. Dotyczy przepisów W3C w zakresie odpowiedzialności, znaku towarowego, używania dokimentu oraz licencjonowania oprogramowania.
Ten dokument zezwala, aby szablon strony był połączony z dokumentem XML poprzez zawarcie jednej lub więcej
instrukcji przetwarzania z adresatem
szablonu strony xml
w prologu dokumentu.
Ten dokument został omówiony przez członków W3C i inne zainteresowane strony, a także został zatwierdzony przez Dyrektora jako Rekomendacja W3C. Jest to stabilny dokument i może być używany jako wzorzec lub cytowany jako odnośnik normatywny z innego dokumentu. Rola Rola W3C podczas tworzenia rekomendacji polega na zwróceniu uwagi na specyfikację oraz promocję jego rozwoju. Zwiększa to funkcjonalność i interoperacyjność sieci internetowej.
Lista znanych błędów w tej specyfikacji jest dostępna pod adresem http://www.w3.org/TR/1999/xml-stylesheet-19990629/errata.
Komentarze na temat tej specyfikacji mogą być wysłane do < www-xml-stylesheet-comments@w3.org>. Archiwum ogólnodostępnych komentarzy jest dostępne pod adresem http://w3.org/Archives/Public/www-xml-stylesheet-comments.
Lista aktualnych Rekomendacji W3C i inne dokumenty techniczne można znaleźć pod adresem http://www.w3.org/TR.
Grupa Robocza oczekuje dodatkowych mechanizmów dla łączenia szablonów stron z dokumentem XML, aby był on zdefiniowany w przyszłej specyfikacji.
Używanie instrukcji przetwarzania XML w tej specyfikacji nie powinno być uważane jako precedens. W3C nie przewiduje rekomendacji użycia instrukcji przetwarzania w jakiejkolwiek przyszłej specyfikacji. Racjonalne uzasadnienie wyjaśnia dlaczego zostały użyte w tej specyfikacji.
Ten dokument został stworzony jako część Działalności W3C XML.
szablonu strony xml
Szablony stron mogą być połączone z dokumentem XML
[XML10]
poprzez użycie instrukcji przetwarzania, której adresatem jest
szablon strony xml
.
Ta instrukcja przetwarzania stosuje się do zachowania HTML 4.0
<LINK
REL="stylesheet">
[HTML40].
Instrukcja przetwarzania szablonu strony xml
jest analizowana w ten sam sposób, co znacznik początkowy,
z taką różnicą, że do elementów rekordu innych, niż wcześniej zdefiniowane nie można się odnosić.
Następująca gramatyka jest podana podczas tego samego zapisu jako gramatyka w Rekomendacji XML [XML10]. Symbole gramatyczne, które nie są zdefiniowane tutaj są zdefiniowane w Rekomendacji XML.
[1] | StyleSheetPI | ::= | '<?xml-stylesheet' ( S PseudoAtt)* S? '?>' | |
[2] | PseudoAtt | ::= | Name S ? '=' S? PseudoAttValue | |
[3] | PseudoAttValue | ::= | ('"' ([^"<&] | CharRef | PredefEntityRef)* '"' | |
| "'" ([^'<&] | CharRef | PredefEntityRef)* "'") | ||||
- ( Char* '?>' Char*) | ||||
[4] | PredefEntityRef | ::= | '&' | '<' | '>' | '"' | ''' |
W PseudoAttValue, CharRef lub PredefEntityRef są interpretowane w ten sam sposób, jak w wartości normalnego strybutu XML. Właściwa wartość pseudoatrybutu to wartość po przemieszczeniu każdego odnośnika poprzez znak referencji. To przemieszczenie nie jest wykonywane automatycznie przez procesor XML.
Instrukcja przetwarzania szablonu strony xml
jest dozwolona tylko w prologu dokumentu XML.
Składnia XML jest ograniczana, gdzie instrukcje przetwarzania są dopuszczone w prologu;
instrukcja przetwarzania szablonu strony xml
jest dozwolona wszędzie w prologu, gdzie występują te ograniczenia.
UWAGA:
Jeżeli instrukcja przetwarzania szablonu strony xml
występuje w zewnętrznym podzbiorze DTD lub
w parametrze elemencie rekordu, możliwe jest, że nie może być on przetworzony przez nieatestujący procesor XML
(patrz
[XML10]).
Następujące pseudoatrybuty są zdefiniowane
href CDATA #REQUIRED type CDATA #REQUIRED title CDATA #IMPLIED media CDATA #IMPLIED charset CDATA #IMPLIED zmienny (tak|nie) "nie"
Semantyki tych pseudoatrybutów są dokładnie jak z
<
LINK REL="stylesheet">
w HTML 4.0,
z wyjątkiem zmiennego
pseudoatrybutu.
Jeślizmienny="tak"
jest wyszczególniony, wtedy instrukcja przetwarzania ma semantykę
<
LINK REL="alternate
stylesheet">
zamiast <LINK
REL="stylesheet">
.
UWAGA: Ponieważ wartość atrybutuhref
jest odnośnikiem URI, może być względnym URI i może zawierać fragmentowym identyfikatorem. W szczególności odnośnik URI może zawierać tylko fragmentowym identyfikatorem. Taki odnośnik URI jest odnośnikiem części dokumentu zawierającego instrukcję przetwarzaniaszablonu strony xml
(patrz [RFC2396]). Konsekwencją jest to, że instrukcja przetwarzaniaszablonu strony xml
zezwala, by szablon strony był wbudowany w tym samym dokumencie, co instrukcja przetwarzaniaszablonu strony xml
.
W niektórych przypadkach szablony stron mogą być łączone z dokumentem XML za pomocą zewnętrznych do dokumentu.
Na przykład wcześniejsze wersje HTTP
[RFC2068] (część 19.6.2.4)
pozwalały szablonom stron łączyć się z dokumentami XML za pomocą nagłówka Link
.
Uważa się, że jakiekolwiek linki do szablonów stron, które są zewnętrznie określone dla dokumentu, miały
miejsce przed linkami określonymi przez instrukcję przetwarzania szablony strony xml
.
Jest takie samo jak w HTML 4.0 (patrz
część
14.6).
Tutaj jest kilka przykładów z HTML 4.0 z odpowiadającą instrukcją przetwarzania:
<LINK href="mystyle.css" rel="style sheet" type="text/css"> <?xml-stylesheet href="mystyle.css" type="text/css"?> <LINK href="mystyle.css" title="Compact" rel="stylesheet" type="text/css"> <?xml-stylesheet href="mystyle.css" title="Compact" type="text/css"?> < LINK href="mystyle.css" title="Medium" rel="alternate stylesheet" type="text/css"> < ?xml-stylesheet alternate="yes" href="mystyle.css" title="Medium" type="text/css"?>
Wielokrotne instrukcje przetwarzania xml-stylesheet
są także dozwolone z dokłądnie taką samą semantyką, jak z
LINK
REL="stylesheet"
. Na przykład
<LINK rel="alternate stylesheet" title="compact" href="small-base.css" type="text/css"> <LINK rel="alternate stylesheet" title="compact" href="small-extras.css" type="text/css"> <LINK rel="alternate stylesheet" title="big print" href="bigprint.css" type="text/css"> < LINK rel="stylesheet" href="common.css" type="text/css">
byłyby równoważne do:
< ?xml-stylesheet alternate="yes" title="compact" href="small-base.css" type="text/css"?> < ?xml-stylesheet alternate="yes" title="compact" href="small-extras.css" type="text/css"?> < ?xml-stylesheet alternate="yes" title="big print" href="bigprint.css" type="text/css"?> < ?xml-stylesheet href="common.css" type="text/css"?>
Wystąpiły pilne wymagania co do specyfikacji dla łączenia szablonu strony, które mogłyby być spełnione w czasie do następnej edycji z głównych wyszukiwarek sprzedawców. Tylko poprzez wybranie prostego mechanizmu ściśle bazującego na zbadanych istniejących mechanizmach specyfikacja mogłaby być uzupełniona w czasie, aby sprostać tym wymaganiom.
Używanie instrukcji przetwarzania zapobiega zanieczyszczaniu struktury głównego dokumentu poprzez stosowanie szczególnych informacji przetwarzających.
Mechanizm wybrany dla tej wersji specyfikacji nie jest ograniczony do dodatkowych mechanizmów zaplanowanych do przyszłych wersji. Nie wymaga się, żeby one używały instrukcji przetwarzania; w rzeczywistości mogą nie zawierać informacji łączących w dokumencie źródłowym.