XML Visualiser

Обсуждение проектов наших жителей.
Вы можете выставить проект на тест или найти помощников для его реализации.

Модератор: BV

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

XML Visualiser

Сообщение Antonariy » 03.02.2006 (Пт) 14:40

Данный проект предназначен для визуализации XML-данных примерно так же, как это делает IE, открывающий xml-файл. Только у меня стильней :wink:

В архиве лежит одна библиотека с единственным классом с одной процедурой VisualizeXML(node, Optional ExpandAll As Boolean).
В качестве параметра node принимается путь к xml-файлу, xml-текст, обект DOMDocument или IXMLDOMNode. При ExpandAll = True дерево формируется в развернутом виде.

Использовать проще некуда - добавить в референсах и можно вызывать VisualizeXML из любого места программы.
У вас нет доступа для просмотра вложений в этом сообщении.
Лучший способ понять что-то самому — объяснить это другому.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 03.02.2006 (Пт) 15:34

Нужна поддержка вывода в указанный тривью :)

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 03.02.2006 (Пт) 15:41

В смысле в MSComctlLib.TreeView?
Лучший способ понять что-то самому — объяснить это другому.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 03.02.2006 (Пт) 15:50

В смысле да. Или, например, самому настраивать тип и свойства вывода структуры на экран.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 03.02.2006 (Пт) 16:37

В смысле да.
Не уверен, что это хорошая идея. Во-первых использование подразумевается только с целью отладки приложений, чтобы можно было комфортно посмотреть, что происходит в узле документа и не мучать watch window.
Во-вторых TreeView не отличается изобилием настроек внешнего вида; смотреть структуру будет просто неудобно, особенно если попадутся длинные значения.
Или, например, самому настраивать тип и свойства вывода структуры на экран.
Могу разве что предложить менять css-стили элементов. Но так ли сильно это нужно?
Лучший способ понять что-то самому — объяснить это другому.

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 03.02.2006 (Пт) 16:48

Да, и еще хотелось бы возможность вывода по умолчанию с уже развернутыми свойствами веток.
То, что для одних константа, для других только переменная...

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 03.02.2006 (Пт) 17:51

Могу разве что предложить менять css-стили элементов.

Добавил класс с настройками некоторых стилей. Использовать можно все так же, в любом месте программы:
Код: Выделить всё
XMLVisStyles.td = "font-size:10px;color:black"

Да, и еще хотелось бы возможность вывода по умолчанию с уже развернутыми свойствами веток.
Вуаля!
Код: Выделить всё
VisualizeXML(node, Optional ExpandAll As Boolean, Optional showAttributes as Boolean = True)
А сам-то когда HTMLSpy доделывать будешь?
У вас нет доступа для просмотра вложений в этом сообщении.
Лучший способ понять что-то самому — объяснить это другому.

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 03.02.2006 (Пт) 18:42

О, именно оно. Особенно доступ с CSS-стилям просто супер. Вот попробую заюзать дома, напишу еще парочку пожеланий ;) А по поводу HTMLSpy - руки не доходят. Появились новые художники в моем игровом проекте, нужно пользоваться пока есть :) Поэтому пока в свободное время только этим и занимаюсь.
То, что для одних константа, для других только переменная...

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 04.02.2006 (Сб) 1:49

Ну вроде пока предложений больше нет. Только вот не хочеш ли ты это сделать в виде контрола? И плюс сделатьто же, но для просмотра HTML. Это было бы весьма кстати и пригодилось бы куче людей, думаю. Мне в том числе ;)
То, что для одних константа, для других только переменная...

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 08.02.2006 (Ср) 13:56

Насчет контрола - зачем? По-моему так удобнее.
Насчет хтмл подумаю. С ним не так все просто, как с xml.
Лучший способ понять что-то самому — объяснить это другому.

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 08.02.2006 (Ср) 15:27

Ну хотя бы затем, чтобы использовать на формах контрол для просмотра html. Вот в HTMLSpy я бы вставил, если бы была подсветка синтаксиса ;)
То, что для одних константа, для других только переменная...

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 13.02.2006 (Пн) 12:32

Контрол все равно делать не буду, однако
Код: Выделить всё
Public Sub VisualizeXML(node, Optional ExpandAll As Boolean, Optional showAttributes As Boolean = True, Optional WebBrowser As Object)
теперь можно подставить webbrowser для вывода.

Появилась процедура VisualizeHTML, полный аналог VisualizeXML. В качестве источника принимает путь к html-файлу, html-строку, www-адрес, HTMLDocument, HTMLElement. В VisualizeXML также добавлено понимание www-адреса.

Класс XMLVisStyles изменился с public not creatable на multiuse, а одноименное свойство с readonly на get/set. Теперь настройки стилей можно хранить в переменных.
У вас нет доступа для просмотра вложений в этом сообщении.
Лучший способ понять что-то самому — объяснить это другому.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 29.03.2006 (Ср) 16:15

1. VisualizeXML/HTML теперь могут возвращать текст сформированного документа.
2. В функции добавлен необязательный параметр Optional ShowResult As Boolean = True, определяющий, выводить ли результат в окно ie. При указании WebBrowser'а параметр игнорируется.
3. В класс XMLVisStyles добавлено свойство tr, отвечающее за стиль строк дерева.
4. Исправлено несколько ошибок парсинга криво сформированных html-документов.
У вас нет доступа для просмотра вложений в этом сообщении.
Лучший способ понять что-то самому — объяснить это другому.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.03.2006 (Чт) 13:02

Исправлена позорная ошибка, из-за которой не работала функция VisualizeXML.
У вас нет доступа для просмотра вложений в этом сообщении.
Лучший способ понять что-то самому — объяснить это другому.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 30.03.2006 (Чт) 14:06

вот такой xml открывается НЕ правильно :!:
У вас нет доступа для просмотра вложений в этом сообщении.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.03.2006 (Чт) 14:31

Ошибка парсинга - знак _ в названии тега или атрибута недопустим. Это сазал сам MSXML.
Позже добавлю вывод сообщения об ошибке.
Лучший способ понять что-то самому — объяснить это другому.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 30.03.2006 (Чт) 14:44

однако нет никакой ошибки в этом XML-файле, так как IE его нормально парсит и открывает.

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 30.03.2006 (Чт) 14:55

Уверен? IE это еще далеко не W3C :lol: И то, что IE корректно работает, например, с JS-конструкцией типа

Код: Выделить всё
document.all('myfield').value = '111'


еще не означает, что это правильная конструкция (ошибка в скобках, но IE такое хавает). В общем IE не эталон...
То, что для одних константа, для других только переменная...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 30.03.2006 (Чт) 14:57

msxml parser дает True на валидацию

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 30.03.2006 (Чт) 15:07

AltovaXML Spy также говорит, что этот файл Well-Formed

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.03.2006 (Чт) 15:17

Я подключил самую дремучую версию xml 2.0, потому что она везде есть. Более поздние возможно считают, что все в порядке. Пока не проверял.
Лучший способ понять что-то самому — объяснить это другому.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 30.03.2006 (Чт) 15:23

W3C в своем описании XML 1.0 дает , что знак "_" может быть в имени тэга (даже в начале), как и знаки ":" (так же может быть в начале) и многие другие уже в теле тэга

http://www.w3.org/TR/1998/REC-xml-19980210#NT-Name

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 30.03.2006 (Чт) 15:44

Я и не спорю. Меня просто смутило вот это ;)

так как IE его нормально парсит и открывает
То, что для одних константа, для других только переменная...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 30.03.2006 (Чт) 16:00

IE по-умолчанию юзает MSXML 3.0

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 06.10.2006 (Пт) 12:02

Версия незаметно подросла до 1.0.0.20 - была исправлена какая-то очередная ошибка парсинга кривых документов.
У вас нет доступа для просмотра вложений в этом сообщении.
Лучший способ понять что-то самому — объяснить это другому.


Вернуться в Наши проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

    TopList