blob: 12defb844dac65f4d6eb6131ba48de04df9b3c7b [file] [log] [blame]
<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Content Assist</title><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xsleditor.html" title="Chapter&nbsp;2.&nbsp;XSL Editing"><link rel="prev" href="xsleditor.html" title="Chapter&nbsp;2.&nbsp;XSL Editing"><link rel="next" href="xsleditor_templates.html" title="Templates"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="ContentAssist"></a>Content Assist</h2></div></div></div><p>
XSL Tools extends the existing content assistance support of the
XML Editor to provide content assistance for
several XSL namespace
attributes. The content assistance provided covers the available XPath
statements as
defined in the
<span class="emphasis"><em>XPath Templates</em></span>
preference page.
</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">XPath 2.0 Support</h3><p>
Currently XPath 2.0 is not supported directly. However, a user
can add this support if they need it by
adding the missing XPath
functions to the XPath Templates.
</p></div><p>
To initiate content assistance press CTRL + SPACE or CMD + SPACE. This will bring up
a dialog that will contain any proposals that are available. If no proposals are available
an message will be displayed in the status bar.
</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="SelectTest"></a>Select and Test Attributes </h3></div></div></div><p>
Where ever an xsl element supports a
<span class="emphasis"><em>select</em></span>
or
<span class="emphasis"><em>test</em></span>
attribute, content assistance is
available. This includes support for
the following:
</p><div class="itemizedlist"><p class="title"><b>Select and Test Assistance</b></p><ul type="disc"><li><p>
<span class="emphasis"><em>Variables</em></span>
- both local and global variables are supported within the current
stylesheet. Any local or global
variable will be
added to the list
and the name is prefixed with a dollar sign $ symbol.
</p></li><li><p>
<span class="emphasis"><em>XPath 1.0</em></span>
- XPath 1.0 is supported through the use of templates. All of the
XPath 1.0 and XSLT xpath
extension
functions are available, as well
as
<span class="emphasis"><em>axis</em></span>
operations. Currently XPath 2.0 is not supported
directly, but will
be added in the future.
</p></li></ul></div><p>
Content assistance for the select and test attributes is
intelligent enough to know that it is within an
XPath expression, and will try to determine and provide content assistance based on the
current cursor
position. If a word has been partially typed it will
filter the available assistance.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="ExcludeResultPrefixesContentAssist"></a>Exclude-Result-Prefixes</h3></div></div></div><p>
The
<span class="emphasis"><em>exclude-result-prefixes</em></span>
attribute in both XSLT 1.0 and XSLT 2.0 allows for the exclusion of
certain namespace
declarations in the
output document. The content
assistance populates a list of available namespaces that have been
defined in
the
stylseheet and provides them as proposals as shown in
<a class="xref" href="xsleditor_contentassist.html#fig_ExcludeResultPrefixesContentAssist1" title="Figure&nbsp;2.1.&nbsp;Exclude-result-prefixes Content Assistance">Figure&nbsp;2.1, &ldquo;Exclude-result-prefixes Content
Assistance&rdquo;</a>
.
</p><div class="figure"><a name="fig_ExcludeResultPrefixesContentAssist1"></a><p class="title"><b>Figure&nbsp;2.1.&nbsp;Exclude-result-prefixes Content
Assistance</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/editor/ExcludeContentAssist1.png" align="middle" alt="Exclude-result-prefixes Content Assistance"></div></div></div><br class="figure-break"><p>
If the attribute has no values defined, then the
<span class="emphasis"><em>#all</em></span>
value will be available in the list. If #all
is already in the
attributes value, then no content assistance
will be available.
</p><div class="figure"><a name="fig_ExcludeResultPrefixesContentAssist2"></a><p class="title"><b>Figure&nbsp;2.2.&nbsp;Filtered exclude-result-prefixes proposals</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/editor/ExcludeContentAssist2.png" align="middle" alt="Filtered exclude-result-prefixes proposals"></div></div></div><br class="figure-break"><p>
Content assistance is intelligent enough to know when a
namespace prefix is already in the list of
excluded namespaces. In
this
case it will not show the namespace in the proposal list.
</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Why isn't the XSL Namespace prefix in the proposals?
</h3><p>
Currently the xsl prefix or any prefix that uses the XSL
namespace is excluded from the list. This may
be changed at
a future
date. This will depend on user feedback.
</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="ed_ModeAssist"></a>Mode attribute assistance</h3></div></div></div><p>
Content assistance is available for those xsl elements that support the mode attribute. For XSLT 1.0
these elements are <span class="emphasis"><em>template</em></span>, <span class="emphasis"><em>apply-templates</em></span>, and <span class="emphasis"><em>apply-imports</em></span>.
</p><div class="figure"><a name="fig_ModeAssistance"></a><p class="title"><b>Figure&nbsp;2.3.&nbsp;Mode attribute assistance</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/editor/modeAssistance.png" align="middle" alt="Mode attribute assistance"></div></div></div><br class="figure-break"><p>
The proposal list is populated by those modes defined on templates in the current stylesheet, and any
of the templates that are <span class="emphasis"><em>included</em></span> or <span class="emphasis"><em>imported</em></span>.
</p></div></div></body></html>