|
Тема
|
XML&XSLT - проблем
|
|
Автор | Anthares (Нерегистриран) |
Публикувано | 13.05.04 16:23 |
|
Здрасти! Имам малък проблем, който не знам как да разреша (или поне в дебелите книги не пише :). Ситуацията е такава:
Имам XML документ, и шаблон на XSLT. Двата файла са качени да кажем на сървъра на дир.бг Въпроса ми е: как да преобразувам съответния xml по начина зададен в *.XSL По точно как да стартирам парсера и да му задам като аргументи двата файла?
| |
|
Начи зависи... не ми стана много ясно какво точно искаш да направиш и къде искаш да го направиш, затова пак ще пиша много:
Не знам дали дир.бг ти дават да ползваш ASP на сървъра- дълбоко се съмнявам, но ако не дай си боже ти дават- използваш следния код:var xml = new ActiveXObject("MSXML2.DOMDocument.3.0");
var xsl = new ActiveXObject("MSXML2.DOMDocument.3.0");
xml.async = false;
xsl.async = false;
xml.load("data.xml");
xsl.load("sample.xsl");
var fso = new ActiveXObject("Scripting.FileSystemObject");
var MyFile = fso.CreateTextFile("output.html", true);
MyFile.Write(xml.transformNode(xsl));
MyFile.Close(); Като сините са имената на файла с данни и схемата. По този начин ще запишеш на сървъра резултата от парсера. Иначе можеш да го имаш кода като променлива... например $promenliva = xml.transformNode(xsl);... Всъщност най-важната част от кода е метода transformNode на XML обектите!
Този код е написан на JScript, не на VB и апропо, можеш почти целия да го извикаш като JScript директно в браузъра... приблизително така:<SCRIPT LANGUAGE="JScript">
<!--
var xml = new ActiveXObject("MSXML2.DOMDocument.3.0");
var xsl = new ActiveXObject("MSXML2.DOMDocument.3.0");
xml.async = false;
xsl.async = false;
xml.load("data.xml");
xsl.load("sample.xsl");
document.write(xml.transformNode(xsl));
//-->
</SCRIPT> Но това ще работи само в Microsoft Internet Explorer...
Апропо същото може да се направи и на PHP, но с него не съм се занимавал и не мога да ти кажа, но съм убеден, че в интернет е пълно с обяснения как се управляват XML обекти (класове) или каквото искаш!
И не на последно място повечето браузъри, но не всички, имат вградени XML парсери, както и разбират от XSLT схеми, така че можеш просто на първия ред в XML файла да напишеш: <?xml-stylesheet type="text/xsl" href="sample.xsl"?> като червеното е пътя до схемата... това ще го разбере както Explorer (мисля от 5 версия нагоре), така и Netscape и Opera и Mozilla... и повечето браузъри базирани върху изброените!
БАба...
Ама баба не е жена, вие не знаете ли?
| |
Тема
|
Re: XML&XSLT - проблем
[re: Anthares]
|
|
Автор |
PllP (SubNet) |
Публикувано | 14.05.04 10:57 |
|
Ако както на дир.бг имаш поддръжка на PHP...
Една моя дрсканица може да ти помогне...
| |
Тема
|
Re: XML&XSLT - проблем
[re: Anthares]
|
|
Автор | Anthares (Нерегистриран) |
Публикувано | 17.05.04 14:02 |
|
Благодаря ви и на двамата. Кодовете работят без грешка. Ако видя зор, пак ще се обаждам
| |
|
|
|
|