Autorinės teisės © 1999 W3C (MIT, INRIA, Keio), Visos teisės saugomos. Taikomos W3C teisinės atsakomybės, prekių ženklų, dokumentų naudojimo ir programų licencijavimo taisyklės.
Šis dokumentas susieja stiliaus lentelę su XML dokumentu įtraukiant vieną
ar daugiau vykdomųjų instrukcijų xml-stylesheet į dokumento
prologą.
Šis dokumentas peržiūrėtas W3C Narių ir kitų suinteresuotų šalių ir buvo patvirtintas direktoriaus kaip W3C Rekomendacija. Tai stabilus dokumentas, kurį galima naudoti kaip nuorodą ar cituoti normatyvinėse nuorodose kituose dokumentuose. W3C rolė suteikiant šią Rekomendaciją yra atkreipti dėmesį į specifikaciją ir vystyti platų jos diegimą. Tai padidina Tinklo funkcionalumą ir suderinamumą.
Žinomų šios specifikacijos klaidų sąrašas yra http://www.w3.org/TR/1999/xml-stylesheet-19990629/errata.
Komentarai apie šią specifikaciją gali būti siunčiami <www-xml-stylesheet-comments@w3.org>.Viešų komentarų archyvas yra http://w3.org/Archives/Public/www-xml-stylesheet-comments.
Einamųjų W3C Rekomendacijų ir kitų techninių dokumentų sąrašas yra http://www.w3.org/TR.
Darbo grupė numato, jog papildomi stilių lentelių sąsajos su XML dokumentais mechanizmai bus sekančioje specifikacijoje.
XML vykdomųjų instrukcijų naudojimas šioje specifikacijoje neturėtų būti priimamas kap precedentas. W3C nesitiki rekomenduoti vykdomųjų instrukcijų naudojimo jokioje būsimoje specifikacijoje. Pagrindas paaiškina kodėl jos buvo naudojamos šioje specifikacijoje.
Šis dokumentas yra sukurtas kaip W3C XML Veiklos dalis.
xml-stylesheet
lentelės vykdomoji instrukcijaStilių lentelės gali būti susietos su XML[XML10]
dokumentu naudojant vykdomają instrukciją, kurios taikinys yra xml-stylesheet.
Vykdomoji instrukcija atitinka HTML 4.0 <LINK
REL="stylesheet">[HTML40] mechanizmą.
xml-stylesheet vykdomoji instrukcija yra nagrinėjama taip pat
kaip startinis žymuo, išskyrus tai, jog kitokie nei nustatyti subjektai neturėtų
būti nurodomi.
Sekanti gramatika yra suteikiama naudojant tą patį užrašymą kaip ir XML Rekomendacija[XML10]. Šios gramatikos simboliai, kurie čia nenurodyti yra XML Rekomendacijoje.
| [1] | StyleSheetPI | ::= | '<?xml-stylesheet' (S PseudoAtt)* S? '?>' | |
| [2] | PseudoAtt | ::= | Name S? '=' S? PseudoAttValue | |
| [3] | PseudoAttValue | ::= | ('"' ([^"<&] | CharRef | PredefEntityRef)* '"' | |
| | "'" ([^'<&] | CharRef | PredefEntityRef)* "'") | ||||
| - (Char* '?>' Char*) | ||||
| [4] | PredefEntityRef | ::= | '&' | '<' | '>' | '"' | ''' |
PseudoAttValue, ir CharRef ar PredefEntityRef interpretuojami taip pat kaip ir normalaus XML atributo dydis. Tikras pseudoatributo dydis yra dydis, sekantis po kiekvienos nuorodos yra pakeičiamas simboliu, kurį jis nurodo. Šis pakeitimas nėra automatiškai vykdomas XML procesoriuje.
xml-stylesheet vykdymo instrukcija leidžiama tik XML
dokumento prologr. XML sintaksės apribojimai nurodo kur prologe leidžiamos
vykdomosios komandos; xml-stylesheet vykdomoji instrukcija leidžiama
bet kur prologe, atitinkant šiuos apribojimus.
DĖMESIO: Jei xml-stylesheet vykdomoji instrukcija yra išorinėje
DTD dalyje ar parametrų dalyje, įmanoma, jog ji nebus įvykdyta nepatvirtinančiojo
XML procesoriaus (žr. [XML10]).
Sekantys pseudoatributai yra nustatyti:
href CDATA #BŪTINAS type CDATA #BŪTINAS title CDATA #NUMANOMAS media CDATA #NUMANOMAS charset CDATA #NUMANOMAS alternate (yes|no) "no"
Pseudoatributų semantika yra tokia pat kaip HTML 4.0 <LINK REL="stylesheet">,
išskyrus alternate pseudoatributą. Jei
alternate="yes" yra nustatyta, tai vykdomojii nstrukcija turi <LINK REL="alternate
stylesheet"> semantiką vietoje <LINK
REL="stylesheet">.
DĖMESIO: Kadangihrefatributo dydis yra URI nuoroda, jis gali būti santykinis URI ir gali turėti fragmentinį identifikatorių. Konkrečiai URI nuoroda gali turėti tik fragmentinį identifikatorių. Tokia URI nuoroda yra dokumento, turinčioxml-stylesheetvykdymo instrukciją (žr. [RFC2396]), dalis. Pasekmė ta, kadxml-stylesheetvykdomoji instrukcija suteikia galimybę įtraukti stiliaus lentelę į tą patį dokumentą kur yraxml-stylesheetvykdomoji instrukcija.
Kai kuriais atvejais, stilių lentelės gali būti išoriškai susietos su XML
dokumentu. Pavyzdžiui, ankstesnės HTTP versijos [RFC2068]
(sekcija 19.6.2.4) leido stilių lenteles susieti su XML dokumentais naudojant Link
aprašą. Bet kokios nuorodos, kurios yra išorinės dokumentui laikomos esančios
prieš nuorodas, esančias xml-stylesheet vykdomosiose
instrukcijose. Tai yra tas pats kaip HTML 4.0 (žr. sekciją
14.6).
Štai yra keletas pavyzdžių iš HTML 4.0 su atitinkančia vykdomąja instrukcija:
<LINK href="manostilius.css" rel="srylesheet" type="text/css"> <?xml-stylesheet href="manostilius.css" type="text/css"?> <LINK href="manostilius.css" title="Kompaktiškas" rel="stylesheet" type="text/css"> <?xml-stylesheet href="manostilius.css" title="Kompaktiškas" type="text/css"?> <LINK href="manostilius.css" title="Vidutinis" rel="stylesheet alternate" type="text/css"> <?xml-stylesheet alternate="yes" href="manostilius.css" title="Vidutinis" type="text/css"?>
Daugybinės xml-stylesheet vykdomosios instrukcijos yra leidžiamos
su lygiai ta pačia semantika kaip ir LINK
REL="stylesheet". Pavyzdžiui,
<LINK rel="stylesheet alternate" title="kompaktiškas" href="mazas-baze.css" type="text/css"> <LINK rel="stylesheet alternate" title="kompaktiškas" href="mazas-papildomas.css" type="text/css"> <LINK rel="stylesheet alternate" title="spausdinimui" href="spausdinimui.css" type="text/css"> <LINK rel="stylesheet" href="iprastas.css" type="text/css">
atitiks
<?xml-stylesheet alternate="yes" title="kompaktiškas" href="mazas-baze.css" type="text/css"?> <?xml-stylesheet alternate="yes" title="kompaktiškas" href="mazas-papildomas.css" type="text/css"?> <?xml-stylesheet alternate="yes" title="spausdinimui" href="spausdinimui.css" type="text/css"?> <?xml-stylesheet href="iprastas.css" type="text/css"?>
Buvo skubus stilių lentelių sąsajos poreikis, kuris turėjo būti padarytas greitai iki kitos vienos pagrindinių naršyklių versijos išlėidimo. Tik pasirinkus paprastą mechanizmą kuo panašesnį į išbandytą egzistuojantį mechanizmą galima užbaigti specifikaciją nustatytu laiku.
Naudojant vykdomąsias instrukcijas, galima išvengti pagrindinio dokumento struktūros taršos.
Šioje versijoje pasirinktas mechanizmas nėra suvaržytas papildomais mechanizmais, būtinais būsimoms versijoms. Nesitikima, kad jos naudos vykdomąsias instrukcijas; nors jos gali neturėti nuorodų pagrindiniame dokumente.