Как отобразить XML с использованием XSLT-документа в приложении Delphi?

Мне был предоставлен образец XML-файла (в конечном итоге мой клиент будет получать несколько из них каждый день) и XSLT-файл, который, по-видимому, превратит XML в нечто значимое, подходящее для отображения в браузере или печати.

Я хотел бы поместить что-то в существующее унаследованное приложение Delphi, чтобы пользователь мог выбрать один из XML-файлов с диска и «отобразить» его (в функции Uses XMLDoc , XMLIntf ; function Transform ( XMLContent : string ; XSLContent : строка ) : WideString ; вар XML : IXMLDocument , XSL : IXMLDocument , начать XML : = LoadXMLData ( XMLContent ); XSL : = LoadXMLData ( XSLContent ); XML . DocumentElement . TransformNode ( XSL . DocumentElement , Result ) конец ; или похожие).

Я понятия не имею, с чего начать, и Googling delphi, xml и xslt получают мне примеры, которые, похоже, основаны на datamodule / database; Я просто хочу преобразовать данный XML-файл в нечто на экране. Похоже, что это может быть связано с программой PageProducer, но я не могу понять, что мне нужно делать. Кто-нибудь предлагает какие-либо указатели, или, может быть, ссылку на быстрый учебник?

Большое спасибо!

xml,delphi,xslt,

11

Ответов: 4


10 принят
<?xml-stylesheet type="text/xsl" href="myStyleSheet.xsl"?>

6

Я использовал библиотеку MSXML для преобразования XSLT в Delphi. Это было давно. Работал как шарм!

Я не уверен, какой формат вывода будет создан XSLT, но зная, что это поможет вам понять, как его отображать. Мы сгенерировали HTML из XML через XSLT и отобразили его с помощью элемента управления ActiveX Web Browser (IE) на панели в нашем приложении.

Вот ссылка на MSSXML и Delphi, которые могут помочь.

BTW: Если вы впервые работаете с XSLT, вы можете вручную отредактировать файл XML и добавить директиву, чтобы отобразить его с помощью конкретного XSLT. Когда вы откроете XML в Firefox после редактирования, XSLT будет применяться, и он покажет вам, что будет выводить ваши вызовы MSXML. Вот строка, которую вы добавляете вручную в xml:

TXMLDocument

2

Если вам нужны только преобразования, вы можете использовать TWebBrowser, сохранять на диск и отображать результат в TWebBrowser(через Navigate('file:///...')).

Лично у меня были некоторые проблемы с MSXML, поэтому я начал использовать DIXML .


1

Вы можете попробовать установить AltovaXML, его можно вызвать как COM +. Он бесплатный и может быть загружен с: http://www.altova.com/altovaxml.html

MsXml может работать только с xslt 1.0, но AltovaXml может работать с xslt 2.0

XML, Дельфы, XSLT,
Похожие вопросы