public static KNXAddress create(final XmlReader r) throws KNXMLException
	{
		if (r.getEventType() != XmlReader.START_ELEMENT)
			r.nextTag();
		if (r.getEventType() == XmlReader.START_ELEMENT) {
			final String type = r.getAttributeValue(null, ATTR_TYPE);
			if (GroupAddress.ATTR_GROUP.equals(type))
				return new GroupAddress(r);
			else if (IndividualAddress.ATTR_IND.equals(type))
				return new IndividualAddress(r);
		}
		throw new KNXMLException("not a KNX address", r);
	}
public static KNXAddress create ( final XmlReader r ) throws KNXMLException { if ( r . getEventType ( ) != XmlReader . START_ELEMENT ) r . nextTag ( ) ; if ( r . getEventType ( ) == XmlReader . START_ELEMENT ) { final String type = r . getAttributeValue ( null , ATTR_TYPE ) ; if ( GroupAddress . ATTR_GROUP . equals ( type ) ) return new GroupAddress ( r ) ; else if ( IndividualAddress . ATTR_IND . equals ( type ) ) return new IndividualAddress ( r ) ; } throw new KNXMLException ( "not a KNX address" , r ) ; }
Creates a KNX address from xml input, the KNX address element is expected to be the current or next element from
the parser.

@param r a XML reader
@return the created KNXAddress, either of subtype {@link GroupAddress} or {@link IndividualAddress}
@throws KNXMLException if the XML element is no KNX address, on unknown address type or wrong address syntax