ASSIGNED - bug 225418: [xslt][validation] Hyperlinks for variables
https://bugs.eclipse.org/bugs/show_bug.cgi?id=225418
diff --git a/bundles/org.eclipse.wst.xsl.ui/.project b/bundles/org.eclipse.wst.xsl.ui/.project
index ea6d47e..b662d7d 100644
--- a/bundles/org.eclipse.wst.xsl.ui/.project
+++ b/bundles/org.eclipse.wst.xsl.ui/.project
@@ -20,9 +20,15 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
</natures>
</projectDescription>
diff --git a/bundles/org.eclipse.wst.xsl.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.ui/META-INF/MANIFEST.MF
index af36e85..86d2d5b 100644
--- a/bundles/org.eclipse.wst.xsl.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.xsl.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.wst.xsl.ui;singleton:=true
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 1.1.0.qualifier
Bundle-Activator: org.eclipse.wst.xsl.ui.internal.XSLUIPlugin
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui;bundle-version="[3.4.0,4.0.0)",
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/contentmodel/XSLContentModelGenerator.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/contentmodel/XSLContentModelGenerator.java
index 989cdfd..f88876f 100755
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/contentmodel/XSLContentModelGenerator.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/contentmodel/XSLContentModelGenerator.java
@@ -22,7 +22,7 @@
* This provides the ContentModel based off the XSL xml schema grammars and other
* grammars provided by the xml editor.
*
- * @since 1.0
+ * @since 1.1
*
*/
public class XSLContentModelGenerator extends AbstractContentModelGenerator {
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/editor/XSLHyperlinkDetector.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/editor/XSLHyperlinkDetector.java
index febf8db..997e2fd 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/editor/XSLHyperlinkDetector.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/editor/XSLHyperlinkDetector.java
@@ -78,55 +78,44 @@
Element xslEl = null;
Attr xslAttr = null;
- if (currentNode.getNodeType() == Node.ATTRIBUTE_NODE)
- {
- Attr att = (Attr) currentNode;
- if (XSLCore.XSL_NAMESPACE_URI.equals(att.getOwnerElement().getNamespaceURI()))
+ if (XSLCore.XSL_NAMESPACE_URI.equals(currentNode.getNamespaceURI())) {
+ if (currentNode.getNodeType() == Node.ATTRIBUTE_NODE)
{
+ Attr att = (Attr) currentNode;
xslEl = att.getOwnerElement();
xslAttr = att;
}
- }
- else if (currentNode.getNodeType() == Node.ELEMENT_NODE)
- {
- Element el = (Element)currentNode;
- if (XSLCore.XSL_NAMESPACE_URI.equals(el.getNamespaceURI()))
+
+ if (currentNode.getNodeType() == Node.ELEMENT_NODE)
{
- xslEl = el;
- xslAttr = getCurrentAttrNode(el, region.getOffset());
+ Element el = (Element)currentNode;
+ xslEl = el;
+ xslAttr = getCurrentAttrNode(el, region.getOffset());
}
}
- // try to create hyperlink from information gathered
- if (xslEl != null && xslAttr != null)
- {
- IRegion hyperlinkRegion = getHyperlinkRegion(xslAttr);
- IFile file = getFileForDocument(document);
- if (file != null)
- {
- if ("call-template".equals(xslEl.getLocalName()) && "name".equals(xslAttr.getLocalName()))
- {
- hyperlink = createCallTemplateHyperLink(file,xslAttr.getValue(), hyperlinkRegion);
- }
- else if (("include".equals(xslEl.getLocalName()) || "import".equals(xslEl.getLocalName()))
- && "href".equals(xslAttr.getLocalName()))
- {
- // seems to be handled elsewhere (XML editor??)
-// hyperlink = createIncludeHyperLink(file,xslAttr.getValue(), hyperlinkRegion);
- }
- }
- }
+
+ hyperlink = createHyperLink(document, hyperlink, xslEl, xslAttr);
}
return hyperlink == null ? null : new IHyperlink[]{hyperlink};
}
+
+ private IHyperlink createHyperLink(IDocument document,
+ IHyperlink hyperlink, Element xslEl, Attr xslAttr) {
+ if (xslEl != null && xslAttr != null)
+ {
+ IRegion hyperlinkRegion = getHyperlinkRegion(xslAttr);
+ IFile file = getFileForDocument(document);
+ if (file != null)
+ {
+ if ("call-template".equals(xslEl.getLocalName()) && "name".equals(xslAttr.getLocalName()))
+ {
+ hyperlink = createCallTemplateHyperLink(file,xslAttr.getValue(), hyperlinkRegion);
+ }
+ }
+ }
+ return hyperlink;
+ }
-// private IHyperlink createIncludeHyperLink(IFile currentFile, String include, IRegion hyperlinkRegion)
-// {
-// IHyperlink hyperlink = null;
-// IFile linkedFile = XSLCore.resolveFile(currentFile, include);
-// if (linkedFile != null && linkedFile.exists())
-// hyperlink = new SourceFileHyperlink(hyperlinkRegion,linkedFile);
-// return hyperlink;
-// }
private IHyperlink createCallTemplateHyperLink(IFile currentFile, String templateName, IRegion hyperlinkRegion)
{