/**
   * @param provider
   * @param properties
   */
  public GMLFileResource(GMLCRSProvider provider, Properties properties) {
    super(provider, properties, "Dictionary", CommonNamespaces.GML3_2_NS.toASCIIString());
    try {
      transformations = XMLTools.getElements(getRootElement(), TRANSFORM_XPATH, nsContext);

    } catch (XMLParsingException e) {
      LOG.logError(e.getLocalizedMessage(), e);
    }
    cachedWGS84Transformations = new HashMap<CoordinateSystem, Helmert>();
  }
  /*
   * (non-Javadoc)
   *
   * @see org.deegree.crs.configuration.gml.GMLResource#getAvailableCRSIds()
   */
  public List<String[]> getSortedAvailableCRSIds() {
    List<Element> crsIDs = new LinkedList<Element>();
    try {
      crsIDs.addAll(XMLTools.getElements(getRootElement(), ID_XPATH, nsContext));
    } catch (XMLParsingException e) {
      throw new CRSConfigurationException(
          Messages.getMessage("CRS_CONFIG_GET_ALL_ELEMENT_IDS", e.getMessage()), e);
    }

    List<String[]> result = new ArrayList<String[]>();
    for (Element crs : crsIDs) {
      if (crs != null) {
        result.add(new String[] {XMLTools.getStringValue(crs)});
      }
    }
    return result;
  }