[294079]: [editor] Content Assist for xpath expressions inside curly brackets
https://bugs.eclipse.org/bugs/show_bug.cgi?id=294079
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/AttributeContentAssist.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/AttributeContentAssist.java
index 597727f..ee872db 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/AttributeContentAssist.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/AttributeContentAssist.java
@@ -1,12 +1,12 @@
 /*******************************************************************************
- *Copyright (c) 2008 Standards for Technology in Automotive Retail and others.
+ *Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
  *All rights reserved. This program and the accompanying materials
  *are made available under the terms of the Eclipse Public License v1.0
  *which accompanies this distribution, and is available at
  *http://www.eclipse.org/legal/epl-v10.html
  *
  *Contributors:
- *    David Carver (STAR) - bug 240170 - initial API and implementation
+ *    David Carver (STAR) - bug 294079 - initial API and implementation
  *******************************************************************************/
 package org.eclipse.wst.xsl.ui.internal.contentassist;
 
@@ -17,8 +17,6 @@
 import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
 import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
 import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xsl.ui.provisional.contentassist.SelectAttributeContentAssist;
 import org.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
@@ -52,7 +50,7 @@
 	
 	/** 
 	 * (non-Javadoc)
-	 * @see org.eclipse.wst.xsl.ui.provisional.contentassist.SelectAttributeContentAssist#getCompletionProposals()
+	 * @see org.eclipse.wst.xsl.ui.internal.contentassist.SelectAttributeContentAssist#getCompletionProposals()
 	 */
 	@Override
 	public ArrayList<ICompletionProposal> getCompletionProposals() {
@@ -76,6 +74,10 @@
     }
 
 	private IDOMAttr getAttributeAtOffset(int offset) {
+		Node node = getNode();
+		if (node == null) {
+			return null;
+		}
 		NamedNodeMap nodeMap = getNode().getAttributes();
 		IDOMAttr attrNode = null;
 		
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/SelectAttributeContentAssist.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/SelectAttributeContentAssist.java
similarity index 96%
rename from bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/SelectAttributeContentAssist.java
rename to bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/SelectAttributeContentAssist.java
index 9438cec..1dcee8d 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/SelectAttributeContentAssist.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/SelectAttributeContentAssist.java
@@ -11,7 +11,7 @@
  *                                       position adjuster for matchString.
  *                          bug 281420 - fixed variable replacement offsets.
  *******************************************************************************/
-package org.eclipse.wst.xsl.ui.provisional.contentassist;
+package org.eclipse.wst.xsl.ui.internal.contentassist;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -28,9 +28,11 @@
 import org.eclipse.wst.xml.xpath.ui.internal.contentassist.XPathTemplateCompletionProcessor;
 import org.eclipse.wst.xml.xpath.ui.internal.templates.TemplateContextTypeIdsXPath;
 import org.eclipse.wst.xsl.ui.internal.XSLUIPlugin;
-import org.eclipse.wst.xsl.ui.internal.contentassist.XPathElementContentAssist;
 import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper;
 import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXMLElementContentAssistRequest;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.CustomCompletionProposal;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/TestAttributeContentAssist.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/TestAttributeContentAssist.java
similarity index 93%
rename from bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/TestAttributeContentAssist.java
rename to bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/TestAttributeContentAssist.java
index e875df0..0c52954 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/TestAttributeContentAssist.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/TestAttributeContentAssist.java
@@ -8,7 +8,7 @@
  *Contributors:
  *    David Carver (STAR) - bug 240170 - initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.xsl.ui.provisional.contentassist;
+package org.eclipse.wst.xsl.ui.internal.contentassist;
 
 import java.util.ArrayList;
 
@@ -51,7 +51,7 @@
 	
 	/** 
 	 * (non-Javadoc)
-	 * @see org.eclipse.wst.xsl.ui.provisional.contentassist.SelectAttributeContentAssist#getCompletionProposals()
+	 * @see org.eclipse.wst.xsl.ui.internal.contentassist.SelectAttributeContentAssist#getCompletionProposals()
 	 */
 	@Override
 	public ArrayList<ICompletionProposal> getCompletionProposals() {
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLContentAssistRequestFactory.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLContentAssistRequestFactory.java
index 630ee12..42061ba 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLContentAssistRequestFactory.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLContentAssistRequestFactory.java
@@ -19,8 +19,6 @@
 import org.eclipse.wst.xsl.ui.internal.contentassist.href.HrefContentAssistRequest;
 import org.eclipse.wst.xsl.ui.provisional.contentassist.IContentAssistProposalRequest;
 import org.eclipse.wst.xsl.ui.provisional.contentassist.NullContentAssistRequest;
-import org.eclipse.wst.xsl.ui.provisional.contentassist.SelectAttributeContentAssist;
-import org.eclipse.wst.xsl.ui.provisional.contentassist.TestAttributeContentAssist;
 import org.w3c.dom.NamedNodeMap;
 
 /**