######### JWM Kit Repair & Restore  ############################################
######### Tips for understanding error messages   ##############################

JWM Kit Repair and Restore provides useful error messages to assist in finding
errors in the JWM configuration.  This document provides information on how to
interpet the error messages in order to fix the errors.  Exmples are provided.

################################################################################
######### Error position / Finding the error ###################################

The status report provides error messages that can be useful in finding and
repairing errors.  To aid in finding the errors, most messages gives the
position of the error in the file as lines & columns. Example: line 8, column 5
While helpful the position is not entirely accurate. You may still have to do
some searching, but the position does provide a starting point.  If the error
position is in a tag compare the matching tag and area in between the tags.
If the position is between a tag examine all contents between the 2 closes tags.
In both cases move further out (outer tags) if you find no errors.

The following list may  be
helpful, but is nowhere near complete.

################################################################################
######### Common errors / Examples / Fixes #####################################

NOTE: Multiple possible causes as listed for many of the errors with examples
NOTE2: This is not complete.

Error: Possible executable without leading "exec:"
 * executable inside Include and Dynamic tags must start with the exec:
	Example: <Include>jwmkit_easymenu</Include>
	FIX:	 <Include>exec:jwmkit_easymenu</Include>
 ** Important! : In the error report this error is given for executable file
		not the config file you need to fix. you will need to search
		your files for reference to the file 
 #### Notes/Tips for this error ####
 ** note: This error test needs to be expanded to include more tags
 ** note: This error test need to report proper position in the correct file.

Error: XML declaration not well-formed
 * error in Declaration at start of file
	Example: <?xml vxxxersion="1.0"?>
	FIX:	 <?xml version="1.0"?>
 #### Notes/Tips for this error ####
 ** As a last resort, It is probably safe remove the XML declaration

Error: mismatched tag
 * open and closing tags are different.
	Example: <Program></Menu>
	FIX:	 <Program></Program>
 * typo in open or closing tag
	Example: <Program></Programxx>
	FIX: 	 <Program></Program>
 * open or closing tag is missing
	Example: <JWM><Program></JWM>
	FIX: 	 <JWM><Program></Program></JWM> 
 * extra opening or closing tag.
	Example: <Program></Program></Program>
	FIX: 	 <Program></Program>
 * wrong placement of opening or closing tag
	Example: <Program><Menu></Program></Menu>
	FIX: 	<Menu><Program></Program></Menu>
 #### Notes/Tips for this error ####
 ** check matching tag for error.
 ** check for missing/extra tags
 ** check tags are in right place
 ** can't find it? Move to outer or previous tags


Error: junk after Document element
 * Data after closing most outer tag </JWM>
	Example: <JWM></JWM> stuff her. maybe in </tag> maybe not
	FIX: Remove extra content, or place in proper place
 * </JWM> tag closed to early
	Example: <JWM></JWM><Program></Program></JWM>
	FIX: delete extra tag or move to proper place
 * Extra </JWM> tag at end (or anywhere)
	Example: <JWM></JWM></JWM>
	FIX: delete extra tag.

Error: not well-formed (invalid token)
 * Check declaration at start of file
	Example: <xml version="1.0"?>
	FIX: <?xml version="1.0"?> (add the missing ? mark)
 * Empty Tag / Tag name is missing (Doesn't seem very likly)
	Example: <></Program>  or <Program></>
	FIX: <Program></Program>
 * Attribute is missing the equal sign =
	Example: <Program label"Web Browser"></Program>
	FIX: <Program label="Web Browser"></Program>
 * Attribute is missing quotes '/double quotes " pair
	Example: <Program label=Web Browser></Program>
	FIX: <Program label="Web Browser"></Program>
 * Attribute is missing quotes '/double quotes " single
	Example: <Program label="Web Browser></Program>
	FIX: <Program label="Web Browser"></Program>
 * Attribute is missing a space delimiter
	Example: <Programlabel="Web Browser"></Program>
	FIX: <Program label="Web Browser"></Program>
 	Example2: <Program label="Web Browser"icon="web"></Program>
	FIX2: <Program label="Web Browser" icon="web"></Program>
 * > greater than sign is missing from tag.
	Example: <Program </Program>
	FIX: <program></Program>
 * extra/duplicate of one of these  > < " '
	Example: <program><</Program>
	FIX: <program></Program>
 * Replace invalid characters with escape code:
	Example: <Program label="Find & Run">appfinder</Program>
	Fix: <Program label="Find &amp; Run">appfinder</Program>
	###### Invalid Characters and escape codes ######
	Invalid Characters  -	Replacement
		"		&quot;				
		'		&apos;
		<		&lt;
		>		&gt;
		&		&amp;

################################################################################