Примеры на
http://en.wikipedia.org/wiki/XSLT
или
http://www.w3schools.com/xsl/tryxslt .asp? xmlfile = cdcatalog & xsltfile = cdcatalog
кажутся независимыми файлами XML и XSLT. Дон» они должны быть связаны? Или вы как-то помещаете их в один файл? В противном случае, как один файл узнает, как всасывать данные из другого файла?
Вы можете добавить это после объявления xml.
<?xml-stylesheet type="text/xsl" href="yourxsl.xsl"?>
Вы также можете выполнить преобразование на странице html:
<script type="text/javascript">
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("some_xml.xml")
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("some_xsl.xsl")
document.write(xml.transformNode(xsl))
</script>
Вам понадобится внешний инструмент или библиотека для применения преобразования Xslt к Xml. Как вы это делаете, зависит от вашей среды программирования, однако для .Net XslCompiledTransform - это класс, используемый для применения преобразования Xslt к фрагменту Xml (либо файлу, либо XML в памяти).
В качестве альтернативы вы можете использовать инструмент командной строки Microsoft xslt.exe - вам нужно будет самостоятельно изучить, как сделать то же самое в других языках программирования / операционных системах.
Один файл не знает, как «втягивать данные» другой файл, потому что файлы не являются тем, что будет выполнять обработку.
Что-то вроде XSLT-процессора будет делать это, и то, как ему сообщают, над чем работать, варьируется, поэтому он может обрабатывать различные варианты использования.
В случае рендеринга всего преобразования XML-документа, когда он отображается в браузере, тогда инструкция по обработке:
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
(На самом деле это должно было быть «text / xml» для типа, поскольку это mime- тип документа XSL, но это было в конце войны браузеров, и реализация функций браузера по-прежнему часто происходила быстрее, чем скорость здравого смысла).
Если вы управляете преобразованием программно, используя какую-либо библиотеку (есть объекты для клиентского javascript и библиотеки на любом языке, с которого вы, вероятно, захотите это сделать), то у вас достаточно контроля, чтобы детализировать, что трансформируется чем. Вот несколько интересных случаев.
Вы можете даже иметь документ с узлом содержимого и узлом преобразований, выбрать их и запустить преобразование.
Если вы выполняете одно и то же преобразование в нескольких XML-документах, очень часто более эффективно вызвать какой-либо метод PreCompile () или аналогичный, который использует этот вызов для использования всех последующих преобразований.
Вы можете передавать значения параметрам верхнего уровня в XSLT.