	private void selectAttribute() { 
		if(attribute == null || attribute.length() == 0) return;
		XAttribute a = object.getModelEntity().getAttribute(attribute);
		if(isESB(a)) {
			findESBAttrPosition(a);
		}
		String xml = (a == null) ? null : a.getXMLName();
		if(xml == null || xml.length() == 0) return;
		if(xml.indexOf(".") < 0) { 
			String s = text.substring(startPosition, endPosition);
			int i1 = findAttrPosition(s, xml);
			if(selectAttributeName) {
				if(i1 < 0) return;
				startPosition = startPosition + i1;
				endPosition = startPosition + xml.length();
				return;
			}
			int i2 = (i1 < 0) ? -1 : s.indexOf('"', i1 + 1);
			int i3 = (i2 < 0) ? -1 : s.indexOf('"', i2 + 1);
			if(i3 > 0) {
				endPosition = startPosition + i3;						
				startPosition = startPosition + i2 + 1;
			}
		} else {
			xml = xml.substring(0, xml.indexOf('.'));
			int e1 = text.indexOf("</" + getTagXMLName(object) + ">", startPosition); 
			String s = e1 < 0 ? "" : text.substring(startPosition, e1); 
			if(xml.length() == 0) {
				int i1 = s.indexOf(">"); 
				endPosition = startPosition + i1 + 1;
				startPosition = startPosition + e1;
			} else if(s.length() > 0) {
				int i1a = s.indexOf("<" + xml + ">"); 
				int i1b = s.indexOf("<" + xml + "/>"); 
				int i2 = (i1a < 0) ? -1 : s.indexOf("</", i1a); 
				if(i1a >= 0 && i2 >= 0) {
					endPosition = startPosition + i2;
					startPosition = startPosition + i1a + 2 + xml.length();
				} else if(i1b >= 0) {
					endPosition = startPosition + i1b + 3 + xml.length();
					startPosition = startPosition + i1b;
				}
			}
		}				
	}

	private void selectAttribute() { 
		if(attribute == null || attribute.length() == 0) return;
		XAttribute a = object.getModelEntity().getAttribute(attribute);
		if(isESB(a)) {
			findESBAttrPosition(a);
		}
		String xml = (a == null) ? null : a.getXMLName();
		if(xml == null || xml.length() == 0) return;
		if(xml.indexOf(".") < 0) { 
			String s = text.substring(startPosition, endPosition);
			int i1 = findAttrPosition(s, xml);
			if(selectAttributeName) {
				if(i1 < 0) return;
				startPosition = startPosition + i1;
				endPosition = startPosition + xml.length();
				return;
			}
			int i2 = (i1 < 0) ? -1 : s.indexOf('"', i1 + 1);
			int i3 = (i2 < 0) ? -1 : s.indexOf('"', i2 + 1);
			if(i3 > 0) {
				endPosition = startPosition + i3;						
				startPosition = startPosition + i2 + 1;
			}
		} else {
			xml = xml.substring(0, xml.lastIndexOf('.')); 
			if(xml.indexOf('.') >= 0) {
				xml = xml.substring(xml.lastIndexOf('.') + 1); 
			}
			int e1 = text.indexOf("</" + getTagXMLName(object) + ">", startPosition); 
			String s = e1 < 0 ? "" : text.substring(startPosition, e1); 
			if(xml.length() == 0) {
				int i1 = s.indexOf(">"); 
				endPosition = startPosition + i1 + 1;
				startPosition = startPosition + e1;
			} else if(s.length() > 0) {
				int i1a = s.indexOf("<" + xml + ">"); 
				int i1b = s.indexOf("<" + xml + "/>"); 
				int i2 = (i1a < 0) ? -1 : s.indexOf("</", i1a); 
				if(i1a >= 0 && i2 >= 0) {
					endPosition = startPosition + i2;
					startPosition = startPosition + i1a + 2 + xml.length();
				} else if(i1b >= 0) {
					endPosition = startPosition + i1b + 3 + xml.length();
					startPosition = startPosition + i1b;
				}
			}
		}				
	}
