private void getData_without_index(ByteBuffer buf, final int index, OnDataListener dataListener) throws SQLException {
		
		int offset = index;
		final int idx[] = new int[6];		
		getIndex(buf, offset * 10, idx);
		
		int wordid = -1;
		
		if ((idx[3] == 0) && ((idx[5] - idx[1]) > 0)) {
			//word
			wordid = dataListener.OnWordData(WordFlag.Normal, index, buf, idx[0], idx[4] - idx[0]);
			dataListener.OnXmlData(wordid, index, buf, idx[1], idx[5] - idx[1]);
		} else if ((idx[3] == 0) && ((idx[5] - idx[1]) == 0)) {
			//impossible
		} else if ((idx[3] > 0) && ((idx[5] - idx[1]) > 0)) {
			//word + index
			wordid = dataListener.OnWordData(WordFlag.Normal_Reference, index, buf, idx[0] + idx[3] * 4, (idx[4] - idx[0]) - idx[3] * 4);
			dataListener.OnXmlData(wordid, index, buf, idx[1], idx[5] - idx[1]);
			getXmlIndexData(wordid, index, buf, idx[3], idx[0], dataListener);
			//getReferenceData(wordid, index, buf, idx[3], idx[0], dataListener);
		} else if ((idx[3] > 0) && ((idx[5] - idx[1]) == 0)) {
			//only index
			// for all word, include these word that just be index, for example, code and coding.
			wordid = dataListener.OnWordData(WordFlag.Reference, index, buf, idx[0] + idx[3] * 4, (idx[4] - idx[0]) - idx[3] * 4);
			getXmlIndexData(wordid, index, buf, idx[3], idx[0], dataListener);
			//getReferenceData(wordid, index, buf, idx[3], idx[0], dataListener);
		}
	}