For this assignment you will model and process an XML document   ttp://free1.ed.gov/xml/gemexport.xml) containing a set of teaching and learning resources produced by the Department of Education (http://www.ed.gov/) You will need to extract the following data from each of elements in the document: titledescriptionurlthe list of subjects, both     the categories and subcategories.You will need to define an appropriate set of classes that modelthe structure of the XML document using the approach described in the content.You only need to model the subset of information that needs to be collected. Itwill require more than one class, however. Further, you must create a class, ResourceImporter, which has exactlytwo operations:public class ResourceImporter {  private staticDocument loadXMLDocument(String documentLocation) { … }  public staticResources importResourcesFromXML(String documentLocation) { … }}where Resources is the class that represents the element in the resourcedocument. Technically, if you apply the method for mapping an XML structure to aset of classes, the name of the class should be Root but Resources is more meaningful. The class should load and parse the resources XML document, similar to how TopTracksImporter worked in theLastFM example.You must also have a class T_Resources which contains the  main(). It must be the only file that contains a main(). It will use ResourceImporter to load the document and then use the returned Resources object to produce formatted output. Given a structure that looks like the following (note thatthe irrelevant parts of the structure have been stripped)  Ben’sGuide to the U.S. Government for Kids Help’s K-12 students learn…   http://bensguide.gpo.gov/       Government Elections     Government Other     Government Congress      The output should look like Ben’s Guide to the U.S. Government for Kids’ http://bensguide.gpo.gov   Government ::Elections   Government :: Other   Government :: Congress A blank line should appear between the outputs of the differentresources.Submission RequirementsYour submission for this assignment will consist of a single zipfile that contains the Java source code files (no .class files!). The filesshould not be nested in another folder. The Java classes cannot depend onanything more than each other and the standard Java libraries.Each class you define should be contained in its own .java file. Each file requires a header at the top of the file of the formTo do this, we will use theDocument Object Model (DOM). The DOM is an API maintained by the World Wide WebConsortium (W3C). An API just tells what’s available and how things work. Thereneeds to be an implementation of the API and, conveniently, Java provides one.