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