public void loadProperties(String xmlDataFile, String xmlSchemaFile)
            throws InvalidXMLFileFormatException
    {

        String dataPath = getProperty(DATA_PATH_PROPERTY);
 
        // ADD THE DATA PATH
        xmlDataFile = dataPath + xmlDataFile;
        xmlSchemaFile = dataPath + xmlSchemaFile;
        
        // FIRST LOAD THE FILE
        Document doc = xmlUtil.loadXMLDocument(xmlDataFile, xmlSchemaFile);
        
        // NOW LOAD ALL THE PROPERTIES
        Node propertyListNode = xmlUtil.getNodeWithName(doc, PROPERTY_LIST_ELEMENT);
        ArrayList<Node> propNodes = xmlUtil.getChildNodesWithName(propertyListNode, PROPERTY_ELEMENT);
        for(Node n : propNodes)
        {
            NamedNodeMap attributes = n.getAttributes();
            for (int i = 0; i < attributes.getLength(); i++)
            {
                Node att = attributes.getNamedItem(NAME_ATT);
                String attName = attributes.getNamedItem(NAME_ATT).getTextContent();
                String attValue = attributes.getNamedItem(VALUE_ATT).getTextContent();
                properties.put(attName, attValue);
            }
        }
        
        // AND THE PROPERTIES FROM OPTION LISTS
        Node propertyOptionsListNode = xmlUtil.getNodeWithName(doc, PROPERTY_OPTIONS_LIST_ELEMENT);
        if (propertyOptionsListNode != null)
        {
            ArrayList<Node> propertyOptionsNodes = xmlUtil.getChildNodesWithName(propertyOptionsListNode, PROPERTY_OPTIONS_ELEMENT);
            for (Node n : propertyOptionsNodes)
            {
                NamedNodeMap attributes = n.getAttributes();
                String name = attributes.getNamedItem(NAME_ATT).getNodeValue();
                ArrayList<String> options = new ArrayList();
                propertyOptionsLists.put(name, options);
                ArrayList<Node> optionsNodes = xmlUtil.getChildNodesWithName(n, OPTION_ELEMENT);
                for (Node oNode : optionsNodes)
                {
                    String option = oNode.getTextContent();
                    options.add(option);
                }
            }
        }
    }