[335273] avoid NPE when working with exslt function extension.
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/XSLElementFactory.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/XSLElementFactory.java
index 3057f0c..3a9fcde 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/XSLElementFactory.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/XSLElementFactory.java
@@ -72,13 +72,15 @@
break;
}
}
- if (stylesheetParserData.getParentEl().getModelType() == XSLModelObject.Type.FUNCTION) {
- Function function = (Function) stylesheetParserData.getParentEl();
- function.addParameter(param);
- } else if (stylesheetParserData.getParentEl().getModelType() == XSLModelObject.Type.TEMPLATE
- && stylesheetParserData.getElementStack().size() == 2 && stylesheetParserData.getCurrentTemplate() != null) {
- Template template = (Template) stylesheetParserData.getParentEl();
- template.addParameter(param);
+ if (stylesheetParserData.getParentEl() != null) {
+ if (stylesheetParserData.getParentEl().getModelType() == XSLModelObject.Type.FUNCTION) {
+ Function function = (Function) stylesheetParserData.getParentEl();
+ function.addParameter(param);
+ } else if (stylesheetParserData.getParentEl().getModelType() == XSLModelObject.Type.TEMPLATE
+ && stylesheetParserData.getElementStack().size() == 2 && stylesheetParserData.getCurrentTemplate() != null) {
+ Template template = (Template) stylesheetParserData.getParentEl();
+ template.addParameter(param);
+ }
}
return param;
}