/** * Parseaza fisierul primit ca parametru. * * @param file Calea absoluta a fisierului de parsat. * @return mixed Daca in fisier a fost gasit un analizator atunci returneaza Analyzer, altfel * returneaza null. */ private Analyzer getAnalyzer(final String file) { Document dom = null; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); try { // Ia din factory o noua instanta de document builder. DocumentBuilder db = dbf.newDocumentBuilder(); // Parseaza pentru a obtine o reprezentare DOM a fisierului. dom = db.parse(file); } catch (Exception e) { ErrorMessage.show("Exceptie la parsarea fisierelor XSD:" + e.getMessage()); } Map<String, String> dt = new TreeMap<String, String>(); // Ia toate tagurile simpleType. Match simpleType = $(dom).namespace("xs", "http://www.w3.org/2001/XMLSchema").xpath("//xs:simpleType"); for (int i = 0; i < simpleType.size(); i++) { // Ia nume si valoare daca acestea exista. String name = simpleType.get(i).getAttribute("name"); String value = $(simpleType.content(i)) .namespace("xs", "http://www.w3.org/2001/XMLSchema") .xpath("//xs:pattern") .attr("value"); // Verifica daca exista name si value. if (name != null && value != null) { dt.put(name, value); } } // Avem nevoie de un analizator de un anumit tip. if (dt.get("execType") != null && dt.get("execType").compareTo(this.type) == 0) { return new Analyzer(dt.get("execName"), dt.get("execDescription"), this.type); } return null; }
public static FeatureGenerator instantiateFromXML(Match conf) { return new ESANewClusterFeatureGenerator( conf.attr("name"), conf.xpath("./SourceFeatureGenerator").content().trim(), conf.xpath("./SourceFeatureSet").content().trim(), Integer.parseInt(conf.xpath("./NumberOfClusters").content().trim()), Integer.parseInt(conf.xpath("./NumberOfBestToUse").content().trim()), Boolean.parseBoolean(conf.xpath("./UsedForClassification").content().trim()), conf.xpath("./SourceFeatureSet").content().trim()); }