despre xmlns

Elementul rădăcină este un XSL-șablon . și, în multe cazuri, se pare ca acest lucru:

Pentru a începe să înțeleagă că, în general, face aceste modele, începând cu xmlns. În toate-puternic W3C privind acest subiect, de asemenea, are un document intitulat „namespace in XML». După ce a citit-o (pe timp de noapte nu este recomandat), știm că principala cauză a fost necesitatea de a distinge între spațiile de nume XML-elemente care au același nume, dar cu un alt sens și scop, aparținând diferitelor vocabulare markup.







Un bun exemplu de o astfel de separare poate servi doar nostru XSL drăguț inima. De exemplu, elementul are namespace XSL și administrează XSL-cod, în timp ce elementul namespace, și-a trimis doar la ieșire, în ciuda faptului că numele el, de asemenea, de text.

Forma cu prefixul este de forma:

Deci, declară namespace cu prefixul, putem folosi acum - scrie elemente cu spațiile de nume. Cum de a face acest lucru, cititorul stie cu siguranta:

Exact ca și toată lumea face în XSL-codul atunci când doresc să folosească orice element al XSL-exemplul . Așa cum am spus, prefixul poate fi orice, astfel încât să puteți scrie astfel:







Dar toate sunt obișnuiți să folosească xsl - este scurt și convenabil.

Ne întoarcem la spațiile de nume fără prefixul. El are forma:

Acest design declară spațiile de nume implicite. Este necesară într-o situație în care atunci când scrieți un element nu specificați un prefix, și scrieți numele elementului imediat -

. Acesta este un element care nu are un prefix, se consideră că fac parte din spațiile de nume implicite.

Ce se întâmplă dacă nu sunt implicite namespace declarate, iar elementul nu are nici un prefix? Această situație vetritseshniki, de asemenea, reglementează: elementul, apoi obține namespace, care nu are nici o valoare, numită nulă.

Transformatoare sunt necesare pentru a copia xmlns în producția HTML XSL-caietul de sarcini. Faptul că transformatorul poate genera nu numai HTML, ci si XML arbitrare (care pot fi prelucrate suplimentar), și trebuie să fie raportate, ce namespace aparțin elementelor fără prefix. Și în acest moment există anumite reguli. În special, mențiunea:

Să examinăm un exemplu. Imaginați-vă că avem două XSL-șablon, și importă altul.

Importate import.xsl șablon:

Rezultatul șablonului de master este:

element și toți urmașii săi sunt din punct de vedere XHTML-namespace. Dar, paragraful-l nul (în xmlns lor import.xsl nu este specificat fișier), astfel încât punctele rebel și ne spune: „Du-te în iad. Nu vrem să moștenească XHTML. Avem propriile noastre namespace null ». Acest lucru se reflectă în xmlns înregistrare = „“ fiecare paragraf, ceea ce înseamnă doar că spațiile de nume ale elementului nul.

Concluzie: este necesar sau în toate XSL-fișier pentru a declara namespace implicite, sau toate să nu declare. Personal, nu a declarat toate - mai puțin agitat în cod.

În secțiunea următoare vom lua o privire mai atentă la namespace cu prefix.