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 ::= '&' | '<' | '>' | '"' | ''' 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.