Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Xalan должен дать Вам полезные ошибки, когда Вы пытаетесь использовать недопустимый XSLT. Если Вы хотите что-то более мощное, одна опция для отладки XSLT Кислородный XML-редактор . Это интегрируется с Xalan и саксонскими механизмами преобразования. Ее режим отладки позволяет Вам устанавливать точки останова, наблюдать переменные, и обеспечивает другую такую основную функциональность отладки. Это может быть излишество для Вас, хотят, но это очень хорошо.
Я когда-то должен был записать и отладить некоторые сложные документы XSLT. В то время, когда я использовал отлаженный "printf-стиль" путем вывода большого количества промежуточных значений. Я позже узнал, что существует намного более легкий способ сделать это - Altova XMLSpy. Это позволяет Вам одноэтапному посредством процесса приложения стиля, наблюдайте промежуточный вывод, и т.д. и т.д.
, VS8 также имеет XSLT отладка поддержки. Посмотрите здесь: http://msdn.microsoft.com/en-us/library/ms255605 (По сравнению с 80) .aspx
я должен также упомянуть, что и XMLSpy и VS8 имеют подсветку синтаксиса также. При определении XSD в XML VS8 даже дает Вам intellisense!
при изучении редактор подсветки синтаксиса обычно достаточно для меня (конечно, с касательно документа, открытого на другом окне.
Kate является великим редактором для XML и XSLT.
Я работаю с XSLT почти каждый день и имею в течение шести или семи лет.
я нашел, что отладка "printf-стиля" XSLT является столь эффективной, что я никогда не получал преимущество от использования никакого другого механизма отладки (и я попробовал XMLSpy и Visual Studio). Это действительно иногда происходит, что я хочу смочь осмотреть значение переменной и создания логики, что выводы это - стычка. Но это довольно редко.
может случиться так, что наличие отладчика сделало бы изучение XSLT легче. (Что-либо имело бы.)
Xselerator является s большим средством отладки XSL, которое будет:
, я использовал это в течение многих лет, и это - большой инструмент.
Если вы хотите выполнить отладку в стиле printf и не хотите засорять вывод отладочными данными, используйте тег
для генерации вывода отладки при обработке таблицы стилей. С помощью атрибута terminate = "yes"
вы даже можете остановить обработку таблицы стилей.