за xmlns
корен елемент е XSL-шаблон
За да започнете да се разбере, че по принцип правят тези проекти, като се започне с xmlns. В всемогъщ W3C по този въпрос също има документ, озаглавен "от имена в XML». След като го прочете (през нощта не се препоръчва), ние знаем, че основната причина е необходимостта да се прави разлика между пространства от имена на XML елементи, които имат едно и също име, но с различен смисъл и цел, принадлежащи към различни маркиране речници.
Един добър пример за такова разделяне може да служи само нашето сладко сърце XSL. Например, елементът
Форма с представката е в следния формат:
Така че се обявяват от имена с представка, вече можем да го използват - пиша елементи с мястото на имената. Как да го направя, читателят сигурно знае:
Точно както всеки прави в XSL-код, когато те искат да използват някой от елементите на XSL-примера
Но всички са свикнали да използвате за XSL - това е кратък и удобен.
Обръщаме се към мястото на имената без префикс. Той има следния вид:
Този дизайн декларира Пространствата от имена по подразбиране. Той е необходим в ситуация, в която, когато пишете елемент ние не зададете префикс и напишете името на елемента веднага -
Какво става, ако от имена по подразбиране не са обявени, както и покупка няма представка? Тази ситуация vetritseshniki също да урежда: елементът след това да получите от имена, което няма стойност, наречена нулев.
Трансформатори са необходими, за да копирате xmlns в HTML изхода на XSL-спецификация. Фактът, че на трансформатора може да генерира не само HTML, но и произволен XML (които могат да бъдат допълнително обработени), и това трябва да се отчита, какво от имена принадлежат на елементи, които нямат префикс. И в този момент, има определени правила. По-специално, вписване:
Нека разгледаме един пример. Представете си, че имаме две XSL-шаблон, и внася още един.
Внесените шаблон import.xsl:
Резултатът от майстор шаблона е:
елемент и всички негови потомци са законно XHTML-именни пространства. Но параграфа-то нула (в техните import.xsl xmlns не е уточнено файл), така че параграфи бунтовник и да ни кажете: "Върви по дяволите. Ние не искаме да наследи си XHTML. Ние имаме нашите собствени пространства от имена нула ». Това е отразено в xmlns звукозаписните = "" всеки параграф, което просто означава, че мястото на имената на нула на елемент.
Заключение: това е необходимо или във всички XSL-файл за обявяване на имена по подразбиране, или всички да не се декларират. Лично аз не се декларират всички - по-малко напрегнат в кода.
В следващата част ще разгледаме по-отблизо в пространства от имена, започващи със.