Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
GoodVin 22.04.2004 15:48
Задача:# загружаем карту сайта $mapXML[^file::load[text;../_xml/spravka/map.xml]] # получаем отдельный XML с картой сайта $XML-mapXML[^xdoc::create{<?xml version="1.0" encoding="$request:charset"?> ^untaint[as-is]{$mapXML.text} }] # создаем XSL-шаблон для выбора пути и получаем путь в переменную $XSL-pathXML[^xdoc::create[/xsl/]{<?xml version="1.0" encoding="$request:charset"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="Страница[@Ид = $id]"> <xsl:value-of select="@ПутьXML"/> </xsl:template> </xsl:stylesheet> }] $transformedDoc[^XML-mapXML.transform[$XSL-pathXML]] $pathXML[^transformedDoc.string[$.method[text]]] # создаем XSL-шаблон для выбора пути и получаем путь в переменную $XSL-pathXSL[^xdoc::create[/xsl/]{<?xml version="1.0" encoding="$request:charset"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="Страница[@Ид = $id]"> <xsl:value-of select="@ПутьXSL"/> </xsl:template> </xsl:stylesheet> }] $transformedDoc[^XML-mapXML.transform[$XSL-pathXSL]] $pathXSL[^transformedDoc.string[$.method[text]]] # выводим значения для проверки $pathXML $pathXSL/.xml (фрагмент)/
<КартаСайта> <Раздел Наименование="СПРАВОЧНАЯ" Ид="1" Описание="Справочный раздел" ЦветРаздела="#99D228"> <Страница Ид="1003" ПутьXML="../_xml/spravka/ext.xml" ПутьXSL="../_xsl/dir/spravka.xsl"></Страница> </Раздел> </КартаСайта>Буду рад если удастся убрать из кода хоть 1 строку :)