[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;
 	}