Eclipse Web Tools Platform 3.1 - New and Noteworthy

Back
Graduating from the WTP Incubator this year are the WTP XSL Tools, featuring an XSLT source editor with debugging support, initiated by the community, and built upon WTP's existing XML tools. Users of the Communication Framework's Real-Time Shared Editing features may find a few pleasant surprises as well.

SSE

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 Preference page.

    Semantic Highlighting option on the Structured Text Editors preference page

XML

New XML Perspective

    An XML perspective is now provided, showcasing the new XPath and Templates views.

    XML Perspective with its default layout

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.


    Tooltip showing over an XML comment in Outline view

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 Validation preferences

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 completed.

    New XML Typing preference page

XML Schema

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.

    Simple type Advanced tab


Export diagram as PNG image

    The Export Diagram as Image function now supports the PNG format.

    Export diagram as PNG image dialog


Properties sheet for enumeration

    Users can now edit the values for enumerations via the Properties view.

    Properties sheet for enumeration


Advanced tab for schema element

    There is now an Advanced tab in the Properties view for the schema element. This tab allows users to edit namespace prefixes, block default, and final default.

    Advanced tab for schema element


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 outline view.

    Prompt for schema location when adding directive

    Automatic showing of the wizard can be disabled from the XML Schema Files preference page.

    Prompt for schema location when adding directive preference


Improved visual cues for abstract types and elements

    Abstract types and elements are now italicized in the XML Schema editor.

    Italicized abstract element


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.

    Select all items


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.

    New XML Schema Validation preference page

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:

    Set Base Type context menu
    The new context menu item "Set Base Type" brings up a dialog box with the available type declarations that are suitable for the selection:

    Set Type dialog box


    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:

    Simple content


    If the base is instead set to a complex type, complexContext and extension elements are generated in the source view:

    Complex content


    Finally, if the selection is a simple type declaration, a restriction element in the source view is generated:

    Simple Type


    At all times the properties view is updated to reflect the changes performed in the document:

    XML Schema editor Properties view

HTML

Hyperlinks between anchors

    The HTML editor now provides hyperlinks between anchor tags and their targets in the same document, to anchors in other resources, and to their referrer(s) in the same file.

    Links to named anchors within the same file
    Hyperlinks to matching named anchors within the same file.

    A link to an anchor in another file
    A hyperlink to an anchor in another file.

    Links to anchors pointing to this anchor from within this file
    Hyperlinks to anchors pointing to this anchor from within this file.

    Enablement of the Anchors link kind is controlled from the Hyperlinking Preference page.

    Enablement of the Anchors link kind on the Hyperlinking Preference page


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 completed.

    HTML Typing preference page

JSP

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 Validation Builder run.

    Java Task Tags within a JSP Scriptlet

    These tags are set from the Java Compiler Task Tags preference page instead of the Structured Text Editors Task Tags preference page.

    The Java Compiler 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.

    Outline view when working with a TLD

    Also, hyper-links are now available for Java classes referenced anywhere within the TLD source.

    Armed hyperlink to a Java class

XSL

XSLT Java Processors Preference Page

    The setup for XSLT Java processors is now done on their own Preference page.


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.

    XSL Editor Syntax Coloring

    Control of the coloring that is used for the XSLT namespace items is handled through the Syntax Coloring preference page for XSL.

    XSL Syntax Coloring Preference

    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.

    Project Level 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.

    Named Template Assistance

Debug: XSL NodeSets

    XSLT Nodeset Variable

    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.

    Templates View

    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.

    XML Model XPath Assistance

    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.

    Launch Open Files

    Note: Selection is limited to those files that are stored on a file system and not accessed remotely.


WTP Logo Banner