Latest web development tutorials

XSLT на клиенте

Если ваш браузер поддерживает XSLT, то браузер, который может быть использован для преобразования документов в XHTML.


решение JavaScript

В предыдущей главе, мы учили, как использовать XSLT для преобразования документа XML в XHTML. Мы делаем это с помощью следующих способов: Добавлена ​​XSL таблицы стилей в файл XML, а также завершить преобразование через браузер.

Даже если эффект этого метода очень хорошо, ссылки таблицы стилей не всегда удовлетворительны (например, в XSLT-браузер не признает этот подход не будет работать) включен в файл XML.

Более общий подход, чтобы завершить преобразование использовать JavaScript.

С помощью JavaScript, мы можем:

  • Браузер для испытания подтверждения
  • В зависимости от браузера и потребностей пользователей, чтобы использовать другую таблицу стилей

Это XSLT прелесть! XSLT, разработанная для того, чтобы данные из одного формата в другой формат возможного и поддерживать различные типы браузеров и различных потребностей пользователей.

Преобразование клиента XSLT станет будущее одной из основных задач, выполняемых браузером, и мы увидим его рост (шрифт Брайля, звуковые браузеры, сетевые принтеры, портативные устройства и т.д.) в том или ином рынке браузеров.


XML-документы и файлы XSL

Посмотрите на это в предыдущем разделе было показано вне документа XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
.
.
</catalog>

Просмотр файла XML .

И сопровождающий XSL таблицу стилей:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th align="left">Title</th>
<th align="left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title" /></td>
<td><xsl:value-of select="artist" /></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

См файл XSL .

Обратите внимание, что файл XML не содержит ссылки на файл XSL.

ВАЖНО: Данное предложение означает, XML - файлы могут использовать несколько различных стилей XSL для преобразования.


В браузере конвертировать XML в XHTML

Это для клиента к XML-файлов в исходный код XHTML:

примеров

<html>
<head>
<script>
function loadXMLDoc(dname)
{
if (window.ActiveXObject)
{
xhttp=new ActiveXObject("Msxml2.XMLHTTP.3.0");
}
else
{
xhttp=new XMLHttpRequest();
}
xhttp.open("GET",dname,false);
xhttp.send("");
return xhttp.responseXML;
}

function displayResult()
{
xml=loadXMLDoc("cdcatalog.xml");
xsl=loadXMLDoc("cdcatalog.xsl");
// code for IE
if (window.ActiveXObject)
{
ex=xml.transformNode(xsl);
document.getElementById("example").innerHTML=ex;
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
xsltProcessor=new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
resultDocument = xsltProcessor.transformToFragment(xml,document);
document.getElementById("example").appendChild(resultDocument);
}
}
</script>
</head>
<body onload="displayResult()">
<div id="example" />
</body>
</html>

Попробуйте »

Совет: Если вы не знаете , как писать JavaScript, пожалуйста , изучить наш JavaScript учебник .

Примеры объяснить:

Функция loadXMLDoc ()

Функция loadXMLDoc () используется для загрузки XML и XSL файлы.

Он проверяет тип браузера и пользователь должен загрузить файл.

Функция displayResult ()

Эта функция используется для определения файла XML стиль отображения с помощью XSL-файлов.

  • Загрузка XML и XSL файлов
  • пользователи испытаний имеют тип браузера
  • Если объекты пользователя ActiveX поддержки браузера:
    • Используйте метод transformNode () из таблицы стилей XSL к документу XML
    • Установите текущий документ (ID = "пример") содержит корпус стиль был применен XML-документы
  • Если браузер пользователя не поддерживает объекты ActiveX:
    • Создайте новый объект и импорт XSL файлы XSLTProcessor
    • Используйте метод transformToFragment () из таблицы стилей XSL к документу XML
    • Установите текущий документ (ID = "пример") содержит корпус стиль был применен XML-документы