Question: develop a java program named ParseXML to parse XML files. This means that your program will determine whether an input XML file is properly structured
develop a java program named ParseXML to parse XML files. This means that your program will determine whether an input XML file is properly structured and, when not so, print informative error messages.
program will implement the following methods:
isTag(String token): This returns true if and only if the token passed as a parameter is a tag, as opposed to being a word;
isWord(String token): This returns true if and only if the token is a word.
isClosingTag(String token): This returns true if and only if the token is a closing tag;
isOpeningTag(String token): This returns true if and only if the token is an opening tag;
isSelfClosingTag(String token): This returns true if and only if the token is a self-closing tag.
public String tagName(String token): This returns the name of a tag, that is, the alphanumeric text appearing between the angle brackets. It should return a null if the token is not a tag.

Your program will read an XML file from a file specified by the user and, as it does so, it will parse it using the algorithm specified below and by calling at various points the methods written above Parsing algorithm create an empty tag name stack for each token f if (the token is an opening tag) f print token push tag name onto the tag name stack else if (the token is a closing tag) print token if (the tag name stack is empty) print an error message that a closing tag has no matching opening tag and print that closing tag exit the program pop tag name off tag name stack if (the token's tag name is not equal to the popped tag name) print an error message that a closing tag does not match its opening tag and print that closing tag exit else print token if (the tag name stack is not empty) print an error message that there are opening tags with no matching closing tags and print all of those opening tags Notice in the pseudocode that are there are three possible errors 1. An closing tag with no matching opening tag 2. Improperly nested tags 3. An opening tag with no matching closing tag Your program will read an XML file from a file specified by the user and, as it does so, it will parse it using the algorithm specified below and by calling at various points the methods written above Parsing algorithm create an empty tag name stack for each token f if (the token is an opening tag) f print token push tag name onto the tag name stack else if (the token is a closing tag) print token if (the tag name stack is empty) print an error message that a closing tag has no matching opening tag and print that closing tag exit the program pop tag name off tag name stack if (the token's tag name is not equal to the popped tag name) print an error message that a closing tag does not match its opening tag and print that closing tag exit else print token if (the tag name stack is not empty) print an error message that there are opening tags with no matching closing tags and print all of those opening tags Notice in the pseudocode that are there are three possible errors 1. An closing tag with no matching opening tag 2. Improperly nested tags 3. An opening tag with no matching closing tag
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
