Я хотел бы узнать, как проверить, является ли строковое значение правильным xslt-образцом.Как проверить, является ли строковое значение правильным xslt-шаблоном?
Я пытаюсь использовать API-интерфейс саксона для этого.
Я написал:
import net.sf.saxon.Configuration;
import net.sf.saxon.pattern.Pattern;
import net.sf.saxon.pattern.PatternParser20;
import net.sf.saxon.sxpath.IndependentContext;
import net.sf.saxon.trans.XPathException;
/**
* @param p the xslt pattern to be tested
*/
public static boolean test_Pattern2(String p) {
PatternParser20 pat = new PatternParser20();
IndependentContext staticContext = new IndependentContext();
try {
Pattern p = pat.parsePattern(p, staticContext);
} catch (XPathException ex) {
System.out.println("it is not a xslt pattern valid!");
return false;
}
catch (NullPointerException ex) {
System.out.println("NullPointerException");
}
System.out.println("it is a xslt pattern valid!");
return true;
}
Когда моя картина плохая картина, как XSLT
// тото и Тити
я получил "XPathException", и это хорошо но с хорошим шаблоном xslt у меня было «NullPointerException». Я не понимаю, почему?
Благодарим за помощь!
Вы проглотите все исключение. Добавьте '' e.printStackTrace() '' в блок catch исключения NullPointerException и опубликуйте детали. – f1sh
Скомпилирует ли этот код? Вы передаете параметр 'String p' и объявляете' Pattern p'. – Filburt