Признаюсь сразу, что небольшой специалист по XML.
Просто возникла конкретная задача, и я когда-то вроде бы видел решение, поэтому пытаюсь соорудить нечто подобное, и мне кажется, что XML-решение самое подходящее в моем случае.
Меня интересует возможность просмотра XML-документа в формате XML (или просто древовидной форме) в окне браузера с использованием XSL-файла.
То есть если XML не содержит stylesheet-тэга, и его открыть браузером, то видим XML, или иерархическое дерево.
Если добавить XSL-файл, то правила меняются на HTML-правила: можно вывести таблицу, ссылка на элементы XML выводит значения как обычные строки, можно делать циклическую обработку, но формат вложенного дерева теряется.
Например,
<?xml version="1.0"?>
<fields description="errors">
<field Value="764" Line="0">
<TCCompareError>"Message 1"</TCCompareError>
</field>
<field Value="764" Line="0">
<TCCompareError>"Message 2"</TCCompareError>
</field>
</fields>
если открыть это в браузере, видим иерархическое дерево, ветви которого можно сворачивать-разворачивать.
А если добавить XSL... блин, могу вывести в таблицу, могу вывести просто на экран, но как выразить в XSL, что это должно быть дерево...
XML:
<?xml version="1.0"?>
<?xml:stylesheet type="text/xsl" href="b.xsl" ?>
<fields description="errors">
<field Value="764" Line="0">
<TCCompareError>"Message 1"</TCCompareError>
</field>
<field Value="764" Line="0">
<TCCompareError>"Message 2"</TCCompareError>
</field>
</fields>
XSL:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<xsl:for-each select="fields/field">
<xsl:value-of select="TCCompareError"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Здесь элементы выводятся как обычные строки...
Может, надо использовать output method="xml", но простая вставка в XSL не помогает.
Боюсь, что в решении, которое я видел, просто использовался скрипт.
XML+XSL = XML ?
-
- Уже с Приветом
- Posts: 1065
- Joined: 31 Mar 2003 21:52
- Location: UA --> MD
XML+XSL = XML ?
"Вы задаете сразу три вопроса -- мне одному ответить трудно" (с) Труффальдино
-
- Уже с Приветом
- Posts: 775
- Joined: 10 May 2003 17:55
- Location: Minsk->NJ->PA->CA
-
- Уже с Приветом
- Posts: 1065
- Joined: 31 Mar 2003 21:52
- Location: UA --> MD
Мда, обьясняюсь туманно -- видимо, я принимаю желаемое за действительное и не хватает правильной терминологии.
Мне показалось, что в примере, который я видел, страница в браузере выглядела точно так же, как при просмотре обычного XML, только с кастомизированными цветами и с некоторыми "спрятанными" тэгами, т.е., почти "как в XML, так и на экране"
Но все же скорее всего это действительно было реализовано как дерево с помощью скрипта.
Спасибо, Falcon, это действительно то, что нужно.
Мне показалось, что в примере, который я видел, страница в браузере выглядела точно так же, как при просмотре обычного XML, только с кастомизированными цветами и с некоторыми "спрятанными" тэгами, т.е., почти "как в XML, так и на экране"
Но все же скорее всего это действительно было реализовано как дерево с помощью скрипта.
Спасибо, Falcon, это действительно то, что нужно.
"Вы задаете сразу три вопроса -- мне одному ответить трудно" (с) Труффальдино
-
- Уже с Приветом
- Posts: 775
- Joined: 10 May 2003 17:55
- Location: Minsk->NJ->PA->CA
Gori wrote:Мда, обьясняюсь туманно -- видимо, я принимаю желаемое за действительное и не хватает правильной терминологии.
Мне показалось, что в примере, который я видел, страница в браузере выглядела точно так же, как при просмотре обычного XML, только с кастомизированными цветами и с некоторыми "спрятанными" тэгами, т.е., почти "как в XML, так и на экране"
Но все же скорее всего это действительно было реализовано как дерево с помощью скрипта.
Спасибо, Falcon, это действительно то, что нужно.
А браузер тоже человек, унутри у него неонка... т.е. такой же XSL. Вот можете подкрутить чего надо.
You do not have the required permissions to view the files attached to this post.
-
- Уже с Приветом
- Posts: 1065
- Joined: 31 Mar 2003 21:52
- Location: UA --> MD
-
- Уже с Приветом
- Posts: 775
- Joined: 10 May 2003 17:55
- Location: Minsk->NJ->PA->CA
Gori wrote:В последнем примере текст впечатляет... А как это можно посмотреть -- к нему нужен XML ?
Так в том и фокус что к нему годится любой XML. Этот XSL использует Internet Explorer чтобы показывать вам дерево тэгов так как вы привыкли его видеть. Я надеюсь что меня не расстреляют за reverse engineering
-
- Уже с Приветом
- Posts: 1065
- Joined: 31 Mar 2003 21:52
- Location: UA --> MD