Въведение в XSLT
Нискобюджетни сайтове.
Промоция на уебсайт.
Въведение в XSLT. Преобразуване в XML, HTML, XHTML, RTF
Вътре в XSLT, S. Holsner
Да предположим, че уебсайтът на вашата компания използва Commerce One XML-базиран софтуер, който използва Java Message Service (JMS) за сигурна комуникация през Интернет. Вашият бизнес беше толкова успешен, че току-що погълнахте конкурента си. За съжаление, вашият бивш конкурент използва друг XML-базиран продукт, RosettaNet, за своя сайт в Интернет. Как да конвертирате поръчка за покупка на xCBL Commerce One, написана в XML, в поръчка за покупка на RosettaNet, също написана в XML, но на съвсем различен диалект?
Приложете XSLT, разбира се. Този вид XML-XML трансформации стават все по-често срещани. Все повече компании използват JMS за сигурна комуникация през Интернет и тъй като JMS работи в Java, има смисъл да обедини JMS с базирани на Java XSLT процесори като Xalan или Saxon.
Основната цел на XSLT не е просто да замени един елемент с друг, а да реорганизира напълно съдържанието на XML документ. Например може да се наложи да рефакторирате planets.xml по отношение на планетарната плътност, като използвате XSLT, за да създадете нов XML документ:
Също така ще разгледаме използването на XSLT режими за извършване на множество трансформации на документ и ще ви преведем как да приложите само един от няколкото подходящи шаблона.
Голяма част от тази глава изследва възможностите на елемента, с кратък преглед на който ще започна.
За първи път научихме за елемент, елемент в Глава 2 и го използвахме главно, за да определим вида на получения документ. Този тип може да посочи например дали XSLT процесорът пише инструкция за обработка на XML в началото на документа и също така посочва типа MIME (като "text/xml" или "text/html") на документи, изпратени от процесорът XSLT от уеб сървъра към браузъра. Също така, ако зададете тип изход на HTML, повечето XSLT процесори ще могат да разпознаят, че не всички HTML елементи се нуждаят от затваряне или отваряне на маркери и т.н.
Следният списък изброява атрибутите:
cdata-section-elements (по избор). Задава имената на онези елементи, чието съдържание трябва да бъде изведено като CDATA секции. Взима стойностите на разделен списък на QName;
кодиране (по избор). Определя кодирането на знаците. Задайте стойност на низ;
отстъп (по избор). Определя дали изходът е подравнен, за да отразява структурата за влагане. Задайте на да или не;
тип носител (по избор). Задава типа MIME на изхода. Задайте стойност на низ;
метод (по избор). Задава изходния формат. Приема стойностите "xml", "html", "text" или валидно QName;
версия (по избор). Задава версията на изхода. Приема стойността на валиден NMToken.