@ECHO OFF

REM   This script converts XML data exported from TRACE32 
REM   to a HTML file.
REM  
REM   Requirements
REM       t32transform.xsl must be in the same directory as your XML file
REM       Programms "xalan" or "xsltproc" must be in your working PATH

REM SET PATH=%PATH%;C:\cygwin\bin


SETLOCAL ENABLEDELAYEDEXPANSION 
SET XMLFILE=
FOR %%A IN (%*) DO (
	SET PARAM=%%A
	IF "!PARAM:~0,1!"=="-" (
		SET FLAG=!PARAM:~1!
		IF !FLAG!==h    GOTO HELP
		IF !FLAG!==help GOTO HELP
	) ELSE (
		IF EXIST !PARAM! SET XMLFILE=!PARAM!
	)
)
IF [%XMLFILE%]==[] GOTO HELP

SET HTMFILE=%~dpn1.htm

FOR %%X IN (xalan.exe)    DO (SET XALANPATH=%%~$PATH:X)
FOR %%X IN (xsltproc.exe) DO (SET XSLTPROCPATH=%%~$PATH:X)
FOR %%X IN (msxsl.exe)    DO (SET MSXSLPATH=%%~$PATH:X)
IF "%XALANPATH%-%XSLTPROCPATH%-%MSXSLPATH%"=="--" (
	ECHO Can't find neither "xalan" nor "xsltproc" nor "msxsl" in your PATH !
	ECHO  You require "xalan-c" or "xsltproc" or "msxsl" in your PATH 
	ECHO  Please check your PATH environment variable
	ECHO  Download "xalan-c"  from http://xalan.apache.org/xalan-c 
	ECHO  Download "xsltproc" from http://www.zlatkovic.com/libxml.en.html 
	ECHO                  or check http://xmlsoft.org/xslt
	ECHO  Download "msxsl" from http://www.microsoft.com 
	GOTO:EOF
)

IF DEFINED XALANPATH (
	ECHO xalan -a -o "%HTMFILE%" %XMLFILE%
	xalan -a -o "%HTMFILE%" %XMLFILE%
) ELSE (
	IF DEFINED XSLTPROCPATH (
		ECHO xsltproc %XMLFILE% ^> "%HTMFILE%"
		xsltproc %XMLFILE% > "%HTMFILE%"
	) ELSE (
		ECHO msxsl "%XMLFILE%" -pi -o "%HTMFILE%"
		msxsl "%XMLFILE%" -pi -o "%HTMFILE%"
	)
)

GOTO:EOF

:HELP
	echo Please specify a valid file name!
	echo %~n0 ^<xml-file^>
	GOTO:EOF
