Associating Style Sheets with XML documents Version 1.0

Transkrypt

Associating Style Sheets with XML documents Version 1.0
Polskie tłumaczenie rekomendacji "Associating Style Sheets with XML
documents Version 1.0"
Autor: Sebastian Snopek
Lokalizacja:
http://www.t4tw.info/tlumaczenia/tlumaczeniaAssociating/tlumaczeniaAssociating.htm
Dokument ten jest tłumaczeniem rekomendacji W3C 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 w języku angielskim na stronie W3C
http://www.w3.org/1999/06/REC-xml-stylesheet-19990629.
Dokument jest chroniony prawem autorskim. Copyright © 2004 W3C® (MIT, ERCIM, Keio).
Łączenie arkuszy stylów z dokumentami XML
Wersja 1.0
Rekomendacja W3C 29 czerwiec 1999
Obecna wersja:
http://www.w3.org/1999/06/REC-xml-stylesheet-19990629
Najnowsza wersja:
http://www.w3.org/TR/xml-stylesheet
Poprzednia wersja:
http://www.w3.org/TR/1999/xml-stylesheet-19990428
Autor:
James Clark <[email protected]>
Copyright Š 1999 W3C (MIT, INRIA, Keio), Wszelkie prawa zastrzeżone. W3C stosuje
następujące zasady dotyczące odpowiedzialności cywilnej, znaku towarowego, używania
dokumentu oraz licencji oprogramowania.
Streszczenie
Ten dokument pozwala arkuszowi stylów na łączenie z dokumentem XML poprzez zawarcie jednej
bądź wielu instrukcji przetwarzania z obiektem docelowym xml-stylesheet w prologu
dokumentu.
Status 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 stały dokument i może być
używany jako wzorzec lub cytowany jako odnośnik normatywny z innego dokumentu. 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 na http://www.w3.org/TR/1999/xmlstylesheet-19990629/errata.
Komentarze dotyczące tej specyfikacji można zgłaszać do <[email protected]>. Archiwum publicznych komentarzy jest dostępne na
http://w3.org/Archives/Public/www-xml-stylesheet-comments.
Listę bieżących Rekomendacji W3C oraz innych technicznych dokumentów można znaleźć na
http://www.w3.org/TR.
Grupa Robocza spodziewa się, że w przyszłej specyfikacji zostaną zdefiniowane dodatkowe
mechanizmy łączenia arkuszy stylów z dokumentem.
Użycie instrukcji przetwarzania XML w tej specyfikacji nie powinno być traktowane jako
nadrzędne. W3C nie przewiduje rekomendowania użycia instrukcji przetwarzających w żadnej
przyszłej specyfikacji. Uzasadnienie tłumaczy, dlaczego zostały użyte w tej specyfikacji.
Ten dokument został stworzony jako część Działania W3C XML.
Spis treści
1 Instrukcja przetwarzania xml-stylesheet
Uzupełnienie
A Odwołania
B Uzasadnienie
1 Instrukcja przetwarzania xml-stylesheet
Arkusze stylów mogą zostać powiązane z dokumentem XML [XML10] poprzez instrukcję
przetwarzania, której obiektem docelowym jest xml-stylesheet. Powyższa instrukcja
przetwarzania zachowuje się jak w HTML 4.0 <LINK REL="stylesheet">[HTML40].
Instrukcja przetwarzania xml-stylesheet jest parsowana w taki sam sposób jak "start-tag",
wyjątek stanowią inne encje od encji predefiniowanych, które nie mogą posiadać odwołań.
Następująca gramatyka jest podana poprzez użycie tej samej notacji jak gramatyka w Rekomendacji
[XML10]. Symbole w gramatyce, które nie są tutaj zdefiniowane, zostały zdefiniowane w
Rekomendacji XML.
Instrukcja przetwarzania xml-stylesheet
[1] StyleSheetPI
::= '<?xml-stylesheet' (S PseudoAtt)* S? '?>'
[2] PseudoAtt
::= Name S? '=' S? PseudoAttValue
[3] PseudoAttValue ::= ('"' ([^"<&] | CharRef | PredefEntityRef)* '"'
| "'" ([^'<&] | CharRef | PredefEntityRef)*
"'")
- (Char* '?>' Char*)
[4] PredefEntityRef ::= '&amp;' | '&lt;' | '&gt;' | '&quot;' | '&apos;'
W PseudoAttValue, CharRef lub PredefEntityRef jest interpretowane w ten sam sposób jak przy
normalnej wartości atrybutu XML. Rzeczywista wartość "pseudo-attribute" jest wartością, po której
każde odwołanie jest zastępowane przez znak, do którego się odwołuje. To zastąpienie nie jest
wykonywane automatycznie przez procesor XML.
Przetwarzanie instrukcji xml-stylesheet jest dozwolone w prologu dokumentu XML. Składnia
XML ogranicza to, gdzie instrukcje przetwarzania są dozwolone w prologu, instrukcja
przetwarzania xml-stylesheet jest dozwolona wszędzie w prologu, który spełnia te ograniczenia.
UWAGA: Jeżeli instrukcja przetwarzania xml-stylesheet pojawia się w zewnętrznym
podzbiorze DTD lub w encji parametrycznej, jest możliwe, że nie zostanie przetworzoną przez
niewalidujący procesor XML (zobacz [XML10]).
Następujące "pseudo attributes" są zdefiniowane:
href CDATA #REQUIRED
type CDATA #REQUIRED
title CDATA #IMPLIED
media CDATA #IMPLIED
charset CDATA #IMPLIED
alternate (yes|no) "no"
Semantyki "pseudo-attributes" są dokładnie takie jak w przypadku <LINK REL="stylesheet"> w
HTML 4.0, z wyjątkiem "pseudo-attribute" - alternate . Jeżeli alternate="yes" jest określone,
wtedy instrukcja przetwarzania ma semantykę <LINK REL="alternate stylesheet"> zamiast
<LINK REL="stylesheet">.
UWAGA: Ponieważ wartość atrybutu href jest referencją URI, może to być relatywny URI oraz
może zawierać identyfikator fragmentu. W określonym wypadku referencja URI może zawierać
tylko identyfikator fragmentu. Taka referencja URI jest odwołaniem do części dokumentu
zawierającej instrukcję przetwarzania xml-stylesheet (zobacz [RFC2396]). Konsekwencją jest to,
że instrukcja przetwarzania xml-stylesheet pozwala arkuszom stylów na bycie umieszczonymi w
tym samym dokumencie, co instrukcja przetwarzania xml-stylesheet.
W niektórych przypadkach, arkusze stylów mogą być połączone z dokumentem XML zewnętrznie
do tego dokumentu. Na przykład, wcześniejsze wersje HTTP [RFC2068] (sekcja 19.6.2.4)
pozwalały arkuszom stylów na powiązanie z dokumentami XML poprzez Link header. Wszystkie
linki do arkuszy stylów określone zewnętrznie do dokumentu pojawiają się przed linkami
określonymi przez instrukcję przetwarzania xml-stylesheet. Tak samo jak w HTML 4.0 (zobacz
sekcja 14.6).
Tutaj znajduje się kilka przykładów z HTML 4.0 z odpowiednią 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ą dozwolone z dokładnie tą samą
semantyką jak w przypadku 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">
będzie ekwiwalentne z:
<?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"?>
A Odwołania
HTML40
World Wide Web Consortium. HTML 4.0 Specification. W3C Recommendation. See
http://www.w3.org/TR/REC-html40
RFC2068
R. Fielding, J. Gettys, J. Mogul, H. Frystyk Nielsen, and T. Berners-Lee. Hypertext Transfer
Protocol -- HTTP/1.1.. IETF RFC 2068. See http://www.ietf.org/rfc/rfc2068.txt.
RFC2396
T. Berners-Lee, R. Fielding, and L. Masinter. Uniform Resource Identifiers (URI): Generic
Syntax. IETF RFC 2396. See http://www.ietf.org/rfc/rfc2396.txt.
XML10
World Wide Web Consortium. Extensible Markup Language (XML) 1.0. W3C
Recommendation. See http://www.w3.org/TR/1998/REC-xml-19980210
B Uzasadnienie
Była pilna potrzeba specyfikacji do łączenia arkuszy stylów, która mogłaby być skończona na czas,
przed wypuszczeniem na rynek nowych wersji przeglądarek. Tylko poprzez wybór prostego
mechanizmu podobnego do już sprawdzonych istniejących mechanizmów można było sprostać
powyższej potrzebie i ukończyć tę specyfikację na czas.
Użycie instrukcji przetwarzania pozwala na uniknięcie zanieczyszczenia głównej struktury
dokumentu poprzez przetwarzanie informacji odnoszącej się do konkretnego programu.
Mechanizm wybrany dla tej wersji specyfikacji nie stanowi ograniczenia dodatkowych
mechanizmów planowanych w przyszłych wersjach. Nie oczekuje się, że te mechanizmy będą
używały instrukcji przetwarzania; faktycznie mogą one nie zawierać łączącej informacji w
dokumencie źródłowym.