public AxisInfoXmlDriver(String xmlStr) throws DocumentException,
            XmlTypeErrorException {
        super();
        if (!isAxisInfoXml(xmlStr)) {
            throw new XmlTypeErrorException("not a valid axisInfo Xml");
        }
        document = DocumentHelper.parseText(xmlStr);
        cubeIdentifier = document.selectSingleNode("//properties/cube")
                .getText();

        Element root = this.document.getRootElement();
        List<?> list = root.selectNodes("//properties/dimensions/name");
        String dimensionName;
        for (Iterator<?> iter = list.iterator(); iter.hasNext(); ) {
            Node node = (Node) iter.next();
            dimensionName = node.getText();
            dimensionNames.add(dimensionName);
        }
    }