Eclipse Web Tools Platform 3.1 - New and Noteworthy
Semantic Highlighting support
Although it will be more exciting once adopters start using it,
SSE-based editors now support Semantic Highlighting. Enablement of
this functionality is controlled from the
Structured Text Editors
New XML Perspective
An XML perspective is now provided, showcasing the new XPath and
Tooltips in the Outline
The Outline view will now show the content of a Comment when
hovered over. Hovering over an Element will now also the content of
its preceding Comment.
XML Validation now supports the 'Honour all schema locations' option
XML Schema documents with multiple import statements that share the
same namespace but point to different schema locations can be
successfully validated by using the 'Honour all schema locations'
option in the Preferences dialog. It is now also possible to
validate XML instance documents that make use of such schemas. To
accommodate the change, the checkbox control to enable/disable this
feature has been moved to a new location in the preferences dialog.
New XML Smart Insert preference
When the typing preference is enabled, the XML editor can
automatically insert a matching end tag when a start tag is
Advanced tab for simple types
There is now an Advanced tab in the Properties view for simple
types. This tab allows editing of advanced attributes like final.
Export diagram as PNG image
Export Diagram as Image
function now supports the
Properties sheet for enumeration
Users can now edit the values for enumerations via the
Advanced tab for schema element
There is now an
tab in the
view for the schema element. This tab allows users to edit
namespace prefixes, block default, and final default.
Prompt for schema location when adding directive
By default, users are now presented with a wizard to select the
schema location when adding a directive in the XML Schema Editor
Automatic showing of the wizard can be disabled from the XML Schema Files preference page.
Improved visual cues for abstract types and elements
Abstract types and elements are now italicized in the XML Schema
Multiple selection of items
Users can now hit Ctrl+A or select Edit->Select All to select
all items in the XML Schema editor. Users can also hold the Shift
key to select a range of items in the editor.
New validation section in XML Schema File preferences
A new 'Validation' subsection has been created for XML Schema Files
preferences. The content of the setting pages has been moved to
accommodate this change. A hyperlink between the XML Schema and XML
File validation sections has been provided.
Set base type in Design View
It is now possible to set the base type of simple and complex type
declarations in the XML Schema editor design view:
The new context menu item "Set Base Type" brings up a dialog box with the available type declarations that are suitable for the selection:
When the selection consists of a complex type declaration, setting the base to a simple type will generate in the source view simple content and extension elements:
If the base is instead set to a complex type, complexContext and extension elements are generated in the source view:
Finally, if the selection is a simple type declaration, a restriction element in the source view is generated:
At all times the properties view is updated to reflect the changes performed in the document:
Hyperlinks between anchors
The HTML editor now provides hyperlinks between
tags and their targets in the same document, to anchors in other
resources, and to their referrer(s) in the same file.
Hyperlinks to matching named anchors within the same file.
A hyperlink to an anchor in another file.
Hyperlinks to anchors pointing to this anchor from within this file.
Enablement of the Anchors link kind is controlled from the
New HTML Smart Insert preference
When the typing preference is enabled, the HTML editor can
automatically insert a matching end tag when a start tag is
Automatic revalidation from depencencies
- JSP files are now automatically
revalidated any fragments they include are modified.
Existing workspaces will need to revalidate their JSP files to
enable this feature.
Java Task Tags in JSP files
Tags specified for Java files will now be detected for Java sources
within JSP files. This features requires that the
JSP Syntax Validator
be enabled and the
These tags are set from the Java Compiler Task Tags preference page instead of the Structured Text Editors Task Tags preference page.
Enhancements when editing Tag Library Descriptors
When editing a JSP Tag Library Descriptor, the XML Editor will offer
some additional functionality. First, the Outline view will show
more information about the TLD's values.
Also, hyper-links are now available for Java classes referenced anywhere within the TLD source.
XSLT Java Processors Preference Page
The setup for XSLT Java processors is now done on their own
Content Assist: exclude-result-prefix attribute
Content assistance is now available on XSLT exclude-result prefixes.
The content assistance will provide a list of all available namespace prefixes that can be excluded.
If a result prefix has already been excluded, it is not available in the proposal list. i.e. html has already been excluded so it does not show up in the list.
Content Assist: mode attribute
Content assistance is now available for the XSLT mode attribute. This attribute is on the xsl:template and xsl:apply-templates elements.
The assistance will find all available modes that have been defined in the current stylesheet as well as any imported or included stylesheets.
Content Assitance: call-template
Content Assistance is available for the name attribute on the xsl:call-template element.
This will provide proposals of available named templates that can be called. This searches the current stylesheet as well as any imported or included stylesheets.
Content Assitance: include/import href
Content assistance is available for the href attribute on xsl:include and xsl:import elements.
This will search the current project for any XSLT stylesheet that is available, and provide it as a possible proposal. It is limited in scope to the current project.
Content Assistance: xsl element proposals
XSL element proposals are now available for positions that aren't within the current XSL namespace. This allows for xsl proposals underneath other elements. The scope is determined by the first ancestor xsl element that is found.
Debugger: Result View
The XSLT debugger now supports a result view. The view will show the output that has been generated to the current break point. As a user steps through code the view will be updated as well.
Editor: Template Override Marker
The XSLT editor now provides a marker for when a template overrides an imported template.
Moving the mouse over the green triangle will show in which xsl stylesheet the template resides that is being overridden.
XSLT Syntax Coloring
The XSL Tools Editor can have syntax coloring that is specific just for the XSLT Namespace.
Control of the coloring that is used for the XSLT namespace items is handled through the Syntax Coloring preference page for XSL.
Non-XSLT coloring is handled by the standard XML Syntax Coloring preference page.
Project specific Validation Settings
XSL Tools now supports project specific settings for validation.
Content Assist: Named Templates
XSLT named templates have Content Assistance based on the call-templates that are available in the model. This includes imported and included style-sheets.
Debug: XSL NodeSets
During debugging of an XSLT Stylesheet, variables that contain NodeSets are now expandable, allowing inspection of the contents of the Nodes carried.
Content Assist: Templates View
The XSL Tools Editor now supports the Templates View . This allows for drag and drop support of XPath templates into the editor. Users may also use this view to create and maintain new or existing templates.
The Templates View has been added by default to the XML perspective. Reset the perspective if you already are using this perspective to have it added. Users may also open the view using Quick Access (usually CTRL+3/Command+3).
XML Model Content Assist in XPath Expressions
The XSLT editor now supports content assistance for XML files with namespaces or an inferred grammar.
This currently only works for globally defined elements in the namespace that has been defined in the XML Catalog. It also will work with DTDs as well as grammars loaded using XML Schema Location. It is recommended though that the grammar be setup with in the XML Catalog as a Namespace Key.
XPath Content Assistance
XPath content assistance has been reworked to address several bugs when it came to providing proposals. Proposals should now work directly after slashes, commas, parentheses, brackets, and axis statements.
XPath View: No Matches
The XPath View has been updated so that if there are no results returned for the expression, it will return "No Matches" within the view itself. It also has been updated to clear the display when a non SSE based editor is in focus.
The view will also dynamically try and update itself as the active XML document is being editted.
Validators: XPath 2.0 Validation for XSLT 2.0
The XSLT Validators will correctly handle valid XPath 2.0 expressions in XSLT 2.0. In the past, these were marked as being in error. This functionality is leveraging the XPath 2.0 processor/parsing capabilities of the PsychoPath processor.
XPath 2.0: PsychoPath processor
XSL Tools now includes and maintains the XPath 2.0 processor, known as psychopath, thanks to a contribution from Andrea Bittau. This is a mostly compliant implementation of a 2004 Draft of the XPath 2.0 specificiation. It is also an XML Schema aware processor, allowing for the use of the XML Schema data types and grammars. The processor can be used standalone outside of eclipse as it's own JAR file.
Future plans for this processor include having it be compliant to the current approved XPath 2.0 specification.
Launching: Open Files
A code contribution from Stuart Harper now allows for the selection of existing files that may be already opened in editors. This is available when selecting an XSL to launch or pressing CTRL+F11 or F11 for debugging.
Note: Selection is limited to those files that are stored on a file system and not accessed remotely.