private void readRightSylDetails() { try { syllable.setRightTone(StrToInt(xMLStreamReader.getAttributeValue(0))); syllable.setRightPhoneme(xMLStreamReader.getAttributeValue(1)); syllable.setRightPhonemeType(xMLStreamReader.getAttributeValue(2)); syllable.setRightSyl(xMLStreamReader.getElementText()); } catch (XMLStreamException ex) { Logger.getLogger(TextDBReader.class.getName()).log(Level.SEVERE, null, ex); } }
private void readLeftSylDetails() { try { // <leftSyl tone="0" finalPhnm="NUL" leftPhnmType="NUL">NULL</leftSyl> syllable.setLeftTone(StrToInt(xMLStreamReader.getAttributeValue(0))); syllable.setLeftPhoneme(xMLStreamReader.getAttributeValue(1)); syllable.setLeftPhonemeType(xMLStreamReader.getAttributeValue(2)); syllable.setLeftSyl(xMLStreamReader.getElementText()); } catch (XMLStreamException ex) { Logger.getLogger(TextDBReader.class.getName()).log(Level.SEVERE, null, ex); } }
private void ReadSylDetails() { // id_syl="1" name="mặt" start_index = "0" end_index="2850" position = "1" num_of_phone = "3" // energy="1023.4"> syllable = new Syllable(); syllable.setIDofSyllable(StrToInt(xMLStreamReader.getAttributeValue(0))); syllable.setSylName(xMLStreamReader.getAttributeValue(1)); syllable.setStartIndex(StrToInt(xMLStreamReader.getAttributeValue(2))); syllable.setEndIndex(StrToInt(xMLStreamReader.getAttributeValue(3))); // syllable.setSylPosition(StrToInt(xMLStreamReader.getAttributeValue(4))); syllable.setNumOfPhone(StrToInt(xMLStreamReader.getAttributeValue(4))); syllable.setEnergy(Float.parseFloat(xMLStreamReader.getAttributeValue(5))); }
@Override public void ReadDetails() { try { while (xMLStreamReader.hasNext()) { Integer eventType = xMLStreamReader.next(); // if (eventType.equals(XMLEvent.START_ELEMENT)) { // System.out.println("START_ELEMENT " + xMLStreamReader.getName() + " " // + xMLStreamReader.getAttributeCount()); // } else if (eventType.equals(XMLEvent.CHARACTERS)) { // System.out.println("CHARACTERS " + xMLStreamReader.getText() + " "); // //ko thay in ra gi if (eventType.equals(XMLEvent.START_ELEMENT)) { // neu eventType = START_ELEMENT thi kiem tra, neu Name = File thi ReadFile, // neu Name = root thi bo qua, neu Name = Syllable thi ReadSyl // neu eventType = CHARACTERS thi bo qua // neu eventType = END_ELEMENT thi kiem tra, neu Name = Syllable thi bo qua // neu Name = File thi ket thuc file // neu Name = sentence thi ket thuc cau nameOfElement = xMLStreamReader.getName().toString(); if (nameOfElement.compareTo("file") == 0) { ReadFileDetails(); } else if (nameOfElement.compareTo("sentence") == 0) { ReadSentenceDetails(); } else if (nameOfElement.compareTo("phrase") == 0) { ReadPhraseDetails(); } else if (nameOfElement.compareTo("syllable") == 0) { ReadSylDetails(); } else if (nameOfElement.compareTo("initial") == 0) { syllable.setInitialType(xMLStreamReader.getAttributeValue(0)); syllable.setIntialPhoneme(xMLStreamReader.getElementText()); } else if (nameOfElement.compareTo("middle") == 0) { syllable.setMiddleType(xMLStreamReader.getAttributeValue(0)); syllable.setMiddlePhoneme(xMLStreamReader.getElementText()); } else if (nameOfElement.compareTo("nucleus") == 0) { syllable.setNucleusType(xMLStreamReader.getAttributeValue(0)); syllable.setNucleusPhoneme(xMLStreamReader.getElementText()); } else if (nameOfElement.compareTo("final") == 0) { syllable.setFinalType(xMLStreamReader.getAttributeValue(0)); syllable.setFinalPhoneme(xMLStreamReader.getElementText()); } else if (nameOfElement.compareTo("leftSyl") == 0) { readLeftSylDetails(); } else if (nameOfElement.compareTo("rightSyl") == 0) { readRightSylDetails(); } else if (nameOfElement.compareTo("tone") == 0) { syllable.setSylTone(StrToInt(xMLStreamReader.getElementText())); } else if (nameOfElement.compareTo("root") == 0) { continue; } else { System.out.println("DON'T KNOW THIS START_ELEMENT"); } } else if (eventType.equals(XMLEvent.END_ELEMENT)) { nameOfElement = xMLStreamReader.getName().toString(); if (nameOfElement.compareTo("leftSyl") == 0) { } else if (nameOfElement.compareTo("rightSyl") == 0) { } else if (nameOfElement.compareTo("syllable") == 0) { phrase.getSyllablesInPh().add(syllable); } else if (nameOfElement.compareTo("phrase") == 0) { phrase.setContent(); phrase.setPhraseLen(); sentence.getSylPhrases().add(phrase); } else if (nameOfElement.compareTo("sentence") == 0) { sentence.setSenContent(); getAllSentences().add(sentence); } } else if (eventType.equals(XMLEvent.CHARACTERS)) { // System.out.println("Characters"); continue; } else if (eventType.equals(XMLEvent.END_DOCUMENT)) { continue; } else { System.out.println(eventType); System.out.println("DON'T KNOW THIS EVENT"); } } } catch (XMLStreamException ex) { Logger.getLogger(XMLTextDBSylReader.class.getName()).log(Level.SEVERE, null, ex); } try { xMLStreamReader.close(); } catch (XMLStreamException ex) { Logger.getLogger(XMLTextDBSylReader.class.getName()).log(Level.SEVERE, null, ex); } //////////////////////////////////////////////////////////////////////// // System.out.println("so luong cau: " + this.getAllSentences().size()); }