Parser od Microsoftu

Parser od Microsoftu je souΦßstφ Internet Exploreru 5.0. Pokud tedy mßme nainstalovßn Internet Explorer, mßme k dispozici i parser. Ve standardnφ verzi IE 5.0 je k dispozici pouze parser, kter² kontroluje sprßvnou strukturovanost dokumentu, ale ne jeho validitu. Novß verze parseru, kterß umφ kontrolovat dokument podle DTD a schΘmat je k dispozici na adrese http://msdn.microsoft.com/downloads/webtechnology/xml/msxml.asp.

Parser Microsoftu je k dispozici ve form∞ COM objektu. M∙₧eme ho tedy vyu₧φvat p°φmo v naÜich programech. K parseru vÜak nenφ standardn∞ dodßvßn ₧ßdn² nßstroj, kter² by umo₧nil jeho ruΦnφ spuÜt∞nφ z p°φkazovΘ °ßdky. Nic nßm vÜak nebrßnφ v tom, abychom si takov² program napsali.

Pro vytvo°enφ instance komponenty a jejφ spuÜt∞nφ je optimßlnφ prost°edφ Windows Scripting Host (WSH), kterΘ umo₧≥uje tvorbu dßvkov²ch soubor∙. WSH je standradnφ souΦßstφ Windows 98 a Windows 2000. Do ostatnφch verzφ Windows se dß instalovat dodateΦn∞. My si vytvo°φme jednoduchou dßvku msxml.js pro spouÜt∞nφ parseru.

var xml = WScript.CreateObject("MSXML2.DOMDocument");
xml.async = false;
if (WScript.Arguments.Count() == 0)
{
  WScript.Echo("Mus■te zadat jm←no souboru ke kontrole!!!");
  WScript.Quit(1);
}
xml.load(WScript.Arguments(0));
var err = xml.parseError;
if (err.errorCode != 0)
{
  WScript.Echo(err.srcText);
  var s = "";
  for (i=1; i<err.linepos; i++) s += "-";
  s += "^";
  WScript.Echo(s);
  WScript.Echo(err.url + ":" + err.line + ":" + err.linepos + 
	       ":" + err.reason);
}

Soubor bychom m∞li ulo₧it n∞kam, kam ukazuje prom∞nnß PATH. Majφ-li se chybovß hlßÜenφ parseru vypisovat na p°φkazovou °ßdku, a ne do samostatnΘho okna, je dobrΘ zadat na p°φkazovΘ °ßdce p°φkaz:

cscript //H:cscript

Parser pak spustφme pomocφ p°φkazu:

msxml dokument
⌐ Ji°φ Kosek 2000-2001