Диапазон Python () может только сделать целые числа, не плавающую точку. В Вашем конкретном случае можно использовать понимание списка вместо этого:
[x * 0.1 for x in range(0, 10)]
(Заменяют вызов для расположения с тем выражением.)
Для более общего случая, можно хотеть записать пользовательскую функцию или генератор.
Создайте специализацию SAXException и выбросьте ее (вам не нужно создавать свою собственную специализацию, но это означает, что вы можете специально отлавливать ее самостоятельно и обрабатывать другие исключения SAXException как фактические ошибки).
public class MySAXTerminatorException extends SAXException {
...
}
public void startElement (String namespaceUri, String localName,
String qualifiedName, Attributes attributes)
throws SAXException {
if (someConditionOrOther) {
throw new MySAXTerminatorException();
}
...
}
Мне неизвестен механизм для прерывания синтаксического анализа SAX, кроме техники генерации исключения , описанной Томом . Альтернативой является переключение на использование парсера StAX (см. pull vs push ).