Привет всем.
Народ в свое время, когда изучал технологии XML написал утилиту для работы —
один html файл. Работает под управлением IE, необходим установленный парсер MSXML4
Утилита позволяет: Выполнять следующие работы с XML
Загрузить (локально и по http) и проверить синтаксис документа.
Вывести текст загруженного документа.
Отобразить данный документ как дерево.
Показать DOM (в виде набора свойств элементов) загруженного документа, осуществлять
навигацию по объектам DOM. Выделять в дереве текущий активный объект
Вывести http заголовок документа загруженого с URL
Выполнять следующие работы с XSL
Загрузить XSL (локально и по http) и проверить синтаксис документа.
Выполнять XSLT преобразование.
При этом:
Показать текст XSLT преобразования
Показать XSLT преобразования в виде HTML
Показать XSLT преобразования в виде XML дерева (если преобразование является синтаксически правильным XML)
Осуществлять отладку (debug) XSLT (пошаговый проход по XML дереву и по XSLT дереву)
Осуществлять определение времени выполнения (profiler) XSLT (показывает кол-во проходов и время выполнения каждого элемента)
Получить ряд узлов удовлетворяещему данному выражению на загруженном XML.
Выделить в дереве загруженного XML все узлы удовлетворяющие XPath выражению.
По ссылки получить доступ к DOM свойствам элемента.
Не судите строго, в общем это, конечно, игрушка. Если вы понимаете что такое
XSLT никакой debug вам уже не нужен. Думаю, что утилита будет полезна начинающим.
Реализована с расширением hta чтобы снять все ограничения по безопасности,
можете иметь ее и с *.htm. Если народ посчитает утилиту полезной можно разместить в XML FAQ.
Можно добавить к ней наиболее непонимаемые народом примеры — группировка на XSLT,
организация циклов и прочие.
Выкачать можно с: Не запакованная версия 44Кб Zip архив 10Кб
Очень приятная штука. Спасибо, Didi.
Особенно мне понравилось использовать "отладку" XPath.
Идея кажется очень интересной. Скажите, пожалуйста, никому не попадалась условно-коммерческий аналог, с более удобной GUI, например, и со схожей фукцниональностью? Хотя, конечно, утилита Didi тоже очень ничего.
E>Очень приятная штука. Спасибо, Didi. E>Особенно мне понравилось использовать "отладку" XPath.
E>Идея кажется очень интересной. Скажите, пожалуйста, никому не попадалась условно-коммерческий аналог, с более удобной GUI, например, и со схожей фукцниональностью? Хотя, конечно, утилита Didi тоже очень ничего.
Спасибо за оценку.
Я это делал под свои потребности.
Может у кого есть идеи чего там не хватает?
E>>Очень приятная штука. Спасибо, Didi. E>>Особенно мне понравилось использовать "отладку" XPath.
E>>Идея кажется очень интересной. Скажите, пожалуйста, никому не попадалась условно-коммерческий аналог, с более удобной GUI, например, и со схожей фукцниональностью? Хотя, конечно, утилита Didi тоже очень ничего.
D>Спасибо за оценку. D>Я это делал под свои потребности. D>Может у кого есть идеи чего там не хватает?
D>С уважением Didi
Мне кажется не совсем удобным, что фреймы "скачут" при разных режимах.
Может быть сделать их всегда фиксированными — три фрейма:
-------
| | |
--------
| |
--------
1 — дерево
2 — панель управления
3 — текст XML XSL
Если какое-то не используются — чтобы было пустым.
Еще показались не столь интуитивно понятными переключатели "Текст" "DOM" и т.д.
Например, замечены случаи, когда в верхней и нижней строке переключателей стоят какие-то значения.
Далее, если щелкать по ним повторно — что-то происходит ("скачут" фреймы). Почему? Ведь они уже выбраны — значит ничего происходить не должно.
То есть немного доработать юзабибилити. А функцильность кажется очень неплохой.
Здравствуйте, Elich, Вы писали:
E>Мне кажется не совсем удобным, что фреймы "скачут" при разных режимах. E>Может быть сделать их всегда фиксированными — три фрейма:
E>------- E>| | | E>-------- E>| | E>--------
E>1 — дерево E>2 — панель управления E>3 — текст XML XSL
E>Если какое-то не используются — чтобы было пустым.
Обычно же пользуешься всего одним режимом работы.
Например отлаживаешь тот-же XPath раз за разом меняя выражение.
Или редактируешь XSLT просматривая какой получился вывод
И для каждого режима освобождается как можно больше пространства на экране.
Мне казалось это логичным.
E>Еще показались не столь интуитивно понятными переключатели "Текст" "DOM" и т.д.
Возможно ты прав, но писать на экране вместо
DOM — отобразить Document Object Model загруженного документа — слишком длинно.
Если эту надпись представить в виде Hinta (появляется при подведении указателя мышы)
будет нормально?
E>Например, замечены случаи, когда в верхней и нижней строке переключателей стоят какие-то значения. E>Далее, если щелкать по ним повторно — что-то происходит ("скачут" фреймы). Почему? Ведь они уже выбраны — значит ничего происходить не должно.
Поясни, пожалуйста, вкратце, каким образом удается организовать профайлинг каждого элемента трансформации? И пошаговое ее выполнение? Файл что-то скачиваться не желает, так что сам посмотреть не могу.
Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Кто-то спрашивал как работает отлатчик и профайлер.
Понятно что внуть парсера не залезешь.
Поэтому на основе вашей XSL создается новая XSL в которой каждая инструкция
сопровождается неким "системным" вызовом. (используется расширение MSXML — вызов JScript)
И результирующее преобразование выдает результат этих "системных" вызовов,
который и интерпретируется оболочкой.
Отсюда основной вывод — профайлер измеряет не только время вызова XSL инструкций,
но и время вызова своих же "системных" инструкций, что естественно вносит некое искажение.
С другой стороны точность измерения промежутков времени на Jscript не велика.
и гнаться за сверх точностью не имеет смысла.
Весь код не закрыт — его можно посмотреть в утилите.
Если есть еще вопросы — отвечу.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Didi, Вы писали:
D>>Выкачать можно с: D>>Не запакованная версия 44Кб D>>Zip архив 10Кб
А>К сожалению, ссылки не работают!
Я вроде уже отвечал:
изменилось имя сервера (по независищим от меня причинам)
Сейчас ссылки следующие
E>>Очень приятная штука. Спасибо, Didi. E>>Особенно мне понравилось использовать "отладку" XPath.
E>>Идея кажется очень интересной. Скажите, пожалуйста, никому не попадалась условно-коммерческий аналог, с более удобной GUI, например, и со схожей фукцниональностью? Хотя, конечно, утилита Didi тоже очень ничего.
D>Спасибо за оценку. D>Я это делал под свои потребности. D>Может у кого есть идеи чего там не хватает?
D>С уважением Didi
У меня один xsl-файл подключает другой:
<!-- Использовать псевдофункции -->
<xsl:include href="../pseudo_functions.xsl"/>
Здравствуйте, antirest, Вы писали:
A>Здравствуйте, Didi, Вы писали:
D>>Выкачать можно с: D>>Не запакованная версия 44Кб D>>Zip архив 10Кб
A>up. Где ее можно скачать сейчас?
Мне тоже надо