JBoss.orgCommunity Documentation
In the JSF Tools Reference Guide you may have read about the Graphical Editors for JSF configuration files and Tiles Files. All these editors have OpenOn (see Section 3.1.1, “OpenOn”) and Code Assist (see Section 3.1.2, “Content Assist”) features, which are described in more detail in this document. In addition, this document will cover the Visual Page Editor (see Section 3.2, “Visual Page Editor”), which provides combined visual and source editing of Web pages, as well as a number of additional editors (see Section 3.3, “More Editors”) for different types of files.
JBoss Developer Studio has powerful editing features that help you easily navigate within your application and make use of content and code assist no matter what type of project file (JSP
, XHTML
, XML
, CSS
etc.) you are working on.
The mentioned features are the following:
OpenOn lets you easily link directly from one resource to another in your project without using the Package Explorer view (i.e. the project tree). With OpenOn, you can simply use F3 or Ctrl+Click on a reference to another file and the file will be opened.
OpenOn is available for:
When editing an XML file press and hold down the Ctrl key. As you move the mouse cursor over different file references in the file, they are displayed with an underline. In this state these file references effectively become links, and when they are clicked the appropriate file will be opened in its own editor.
Use the OpenOn functionality for the next entries defined in XML
file:
Managed beans
In this example source code of the managed bean User
will be open.
The image below shows the result of using OpenOn.
Beans properties
JSP file references
OpenOn is also available in JSP
and XHTML
pages edited in the Visual Page Editor. It will allow you to quickly jump to the reference instead of having to hunt around in the project structure.
You can use OpenOn for the following JSP
or XHTML
file entries:
Imported property files.
CSS files used in a JSP
or XHTML
page.
Managed beans and their properties.
Navigation rules in JSP
files.
For JSP
files in a JSF project, you can easily open the navigation rules by applying OpenOn to the JSF tag for the navigation outcome:
Custom Facelets tag libraries in XHTML
pages.
For details, see Section 3.2.8.2, “OpenOn for Custom Facelets Components” later in this guide.
Custom JSF 2.0 components.
You can quickly navigate through CSS classes using OpenOn.
OpenOn is also implemented for CSS classes added by a complex link.
Content assist is available when working with:
Notice that code completion for EL variables have icons illustrating what they are from. These icons are described in the table below.
Table 3.1. Content assist icons
Icon | Type | Context |
---|---|---|
|
Enumeration |
Used to show items which exist in the predefined set of equivalent proposals. |
|
Seam Proposal |
Used to show Seam Context variables, its properties and methods. |
|
JSF EL |
Used to show Managed Beans, Managed Bean Properties, Managed Bean Methods, Constants, Resource Bundles, Resource Bundle Properties. |
|
JSF Action |
Used to show navigation rules defined in the |
|
Message Bundle |
Used to show Messages Resources items. |
|
Resource path |
Used to show paths which are accessible from the cursor place. |
The ranking and sorting are available in EL code completions.
As you can see, in addition to proposals, content assist also provides descriptions of selected tags or attributes.
When working with a JSF project in JBoss Developer Studio, you can use various Content Assist features while developing:
Content Assist for XML
, XHTML
, JSP
and JSF
configuration files
Content Assist for Composite Components
Content Assist based on project data
Content Assist with graphical JSF
editor
Content Assist is available to help you at any point when working with any XML
, JSP
and JSF
configuration files. Simply press Ctrl+Space to see what options are available.
Content Assist for JSF
configuration file:
Content Assist for JSF
JSP
file:
Content Assist for other JSF
XML
project files (web.xml
shown):
Content assist functionality is also available for composite components. The image below shows content assist used with a composite component file named loginPanel.xhtml
within a JSF 1.2 project with facelets.
JBoss Developer Studio takes Content Assist to the next level. JBoss Developer Studio will constantly scan your project, and you will be able to insert code into the JSP
page from your project including:
Values from Property files
Managed beans attributes and methods
Navigation Rule Outcomes
JSF variables (context, request etc...)
Resource Bundles from template page
The figure below demonstrates how to insert a message from a Properties file. You simply put the cursor inside the value
attribute and press Ctrl+Space. JBoss Developer Studio will scan your project and display a list of possible values that can be inserted.
In the following screenshot we are inserting a Managed bean attribute value. Again, by simply pressing Ctrl+Space, JBoss Developer Studio will show a list of all possible values that can be inserted.
Once you select a Managed bean, it will show you a list of all available attributes for the selected Managed bean.
Code Assist based on project data will also prompt you for navigation rules that exist in your JSF
configuration file.
Code Assist can also provide you with access to the beans located in JAR
archives.
Code Assist is able to define Resource Bundles on template pages and provides the proposals on the client page.
JBoss Developer Studio provides full code completion for JSF tags:
When the tag is selected, the required attributes, if there are any, are already inserted and the cursor is moved to the first attribute. At this point you can ask for attribute proposals.
Content assist for HTML tags works in the same manner as the JSF tags:
Content Assist can also be used for HTML tag attributes:
Content Assist also provides expression language (JSF EL) support. It is used in web application pages to access the JavaBeans components in the page bean and in other beans associated with the web application, such as the session bean and the application bean.
The code completion menu items for the Seam components in a Seam project shows the proposals marked with Seam icon.
If an XHTML
file uses custom Facelets components, the Content Assist should also be available for them. For details, see Section 3.2.8.1, “Content Assist for Custom Facelets Components” later in this guide.
Various tools tips provide you additional information about Java elements (JavaDocs, source classes, return types, method names, parameters and etc.) when working with Java files.
Content Assist is also available for any attribute value in the Insert Tag wizard.
If you open projects that were created in older studio versions you may see the following message:
It warns that some features of content assist may not work. Use the following steps to fix the problem and turn off the message box:
Right click the project in the Package Explorer view
Select
→ from the context menuConfigure your project using the Add JSF Capabilities wizard and click the button
JBoss Developer Studio offers the ability to edit the source code of a file, as well as providing visual editors for many file types. The source code and visual editors can be viewed and edited at the same time in a split screen view, and any changes you make in the source code editor will immediately appear in the visual editor.
The JSF configuration file editor has three views: Diagram, Tree and Source. All views are synchronized and you can edit the file in any view.
The same is true of all other JBoss Developer Studio editors.
The Web XML editor is shown. The Web XML editor has a graphical view, accessed by the Tree tab, and a source view, accessed by the Source tab.
The JBoss Developer Studio TLD file editor is shown below in Tree view. At any point you can edit the source by switching to the Source view.
JBoss Developer Studio comes with a powerful and customizable Visual Page Editor (VPE). You can use the Visual Page Editor to develop an application using any technology such as JSF, JSP, HTML and more. Double-click on a file in the Package Explorer view to open it in the Visual Editor, or just drag-and-drop it into perspective (the drag-and-drop feature can be also applied to JSP
, XHTML
or HTML
files created locally).
As a new JSF 2.0 specification has been released, support of new features is now implemented in the Visual Page Editor. The JSF 2.0 tags like <h:body>
, <h:head>
, <h:outputscript>
, <h:outputstyle>
are supported in the editor, as well as the composite components and expression language resource handling. (See the JSF 2 fu, Part 2: Templating and composite components for information on how to use composite components and JSF 2.0 New Feature Preview Series (Part 2.3): Resources on how to handle EL resources).
The current VPE version has three tabs: Visual/Source, Source and Preview. To switch between the views you can use tabs at the bottom of the VPE or the shortcut keys Ctrl+PageUp and Ctrl+PageDown.
Using the Visual/Source view you can edit your pages in the Source and Visual modes simultaneously, with instant synchronization between them:
The view is designed in the form of a split pane with toggle buttons for quickly moving between Source, Visual or Source/Visual modes, as shown on the figure above.
One more way to toggle between the various states of the split pane is using the Shift+F6 keyboard shortcut for maximizing or restoring the Source part and Shift+Alt+F6 for maximizing or restoring the Visual part.
You can synchronize the scrolling between the source and visual panes by clicking the
() button in the toolbar of the Web Development perspective. This will ensure that scrolling in one window pane will automatically scroll the other pane to the same location.When editing large documents hiding the Visual part will speed up the editing.
It should be pointed out that, no matter what mode you are working in, you get a full integration with the Properties and Outline views:
The Outline view displays a specific outline of a structured file that is currently open in the editor area, and lists its structural elements. Right-clicking on these elements will open additional options that allow other specific elements to be added in their appropriate positions.
The Properties view shows the property names and their values for a selected item. The values are editable: just select any value and click on the button that will appear to choose a new value. The key combination Ctrl+Z will return the previous value, while Ctrl+Y will return the new value again. The Properties view has additional options and can be set up to display categories and advanced properties.
It is also possible to use the JBoss Tools Palette (see Chapter 5, JBoss Tools Palette) to insert any tag from the list of tag libraries into the page you are editing with just a click or by dragging-and-dropping.
You can insert a tag or component from the palette into either the Source or the Visual part by displaying the context menu and selecting , , or , picking the type of the tag and finally choosing the tag you want to insert.
The image below illustrates how you can insert a tag into the Source part.
And this is how a tag is inserted using a context menu in the Visual part.
The Visual Page Editor also displays custom tags correctly if they are configured properly. The picture below shows an example how the custom tags pagination
and echo
will be displayed in VPE.
The listings of the custom tag implementations will help to demonstrate how VPE works.
echo.xhtml
:
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"> <span class="message">#{msg}</span> </ui:composition>
paginator.xhtml
:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"> <ui:component> <!-- h:inputHidden id="currentPage" replace, because if on page two fields, two elements with equal id has been used, but should be used only one --> <h:panelGrid style="margin-right:auto;margin-left:auto;" columns="4"> <h:commandButton value="<<" type="submit" onclick="document.getElementById('currentPage').value=0" > </h:commandButton> <h:commandButton value="<" type="submit" onclick="document.getElementById('currentPage').value=#{user.currentPage-user.rowsPerPage}"> </h:commandButton> <h:commandButton value=">" type="submit" onclick="document.getElementById('currentPage').value=#{user.currentPage+user.rowsPerPage}"> </h:commandButton> <h:commandButton value=">>" type="submit" onclick="document.getElementById('currentPage').value=#{user.numberOfItems - user.rowsPerPage}"> </h:commandButton> </h:panelGrid> <h:inputHidden id="currentPage" value=""/> </ui:component> </html>
If your custom tags are not configured correctly your Visual mode will look like this:
When you make a selection of tags in the source part of the editor, they will all be selected in the visual part of the editor as well. This makes it easy to link code that you have written, with the visual output.
The Visual Page Editor supports the ability to add comments in files you are working with (JSP
, XHTML
, etc.):
HTML comments ( <!-- -->
) which are output to the client
JSP comments ( <%-- --%>
) which are not output to the client as part of the JSP page output
The Visual Page Editor lets you collapse and expand (or hide and show) sections of your code to make it easier to navigate and read.
Code folding can be enabled by right-clicking on the left margin on the Source part of Visual Page Editor, selecting , and checking the Enable Folding checkbox or using the Ctrl+Numpad Divide shortcut.
When the code folding is enabled a minus sing ( ) will appear on the left margin of the editor next to each opening block tag.
Click the minus sign to collapse a block tag.
When the minus sign is clicked on the appropriate tag collapses and a plus sign ( ) is displayed on the left margin as well as a gray rectangle with two dots ( ), which appears after opening and closing tags.
You can now create a JSF2 component while in the Source view. To do this, highlight the code you wish to create into a JSF2 component and then right-click the highlighted code segment to bring up the context menu.
Within the context menu, select
. A new component will now be created containing the highlighted code.When working in the JBoss Tools JSP editor you are constantly provided with feedback and contextual error checking as you type.
VPE templates support custom tag libs, e.g. Seam Mail facelet taglib, RichFaces taglibs or any other created by you.
VPE templates also provides support for various versions of tag libraries, meaning that the Visual Page Editor takes control over those components which have different parameters or preview according to the framework version (like seam 1.2 and seam 2.0, or JSF 1.1 and JSF 1.2).
For example, the <s:decorate>
element in Seam has different parameters in versions 1.2 and 2.0, and the <h:outputLink>
JSF element has different preview in versions 1.1 and 1.2.
Most web pages use the cascading style sheets (CSS) to control the way they look. With Visual Page Editor you can easily stylize your pages. In this section we are going to introduce you to a powerful mechanism that Visual Page Editor provides for complete control over a pages' styling. Additional information on working with CSS files can be found in Chapter 6, CSS Editing Perspective
In the Visual part of the Visual Page Editor there is a graphical toolbar, which is used to add inline styling to JSF tags on your page. The toolbar can be hidden with the help of the special button ( ) on the Visual Page Editor toolbar.
For editing inline styles for DOM elements, the Visual Page Editor provides the CSS Dialog. It can be called from the style line in the Properties view of a currently selected element.
The CSS Style dialog has several tabs where CSS properties for text, background, borders and others can be specified. A simple preview which is generated at the top of the CSS Style dialog allows you to see the changes before you apply them.
The pages you are working with in the Visual Page Editor can use external stylesheets.
You can import an existing stylesheet by using the @import annotation within your webpage file. The annotation for importing a file is structured as @import "path/to/file.css";.
An example of how it is used can be seen below:
The Visual Page Editor allows you to create new style classes in existing stylesheets, as well as edit them. The Edit Style Class dialog is provided for this purposes.
Select the element for which you need to create or edit style class, and press button next to the styleClass field in the Properties view.
This will display the Edit Style Class dialog, which is shown in the image below:
Choose a style class from the variants provided, and click on the
button to apply the changes.To open a CSS dialog based on the active CSS file click on in the top panel or use hot-keys (Shift+Ctrl+C).
To create a new CSS class for the file click on the
button, enter its name in the textbox, and click on the button:Then you can configure style settings by switching between the tabs: Text/Font, Background, Boxes, Property Sheet. The list of existing classes with names beginning with the symbols printed will be displayed by using the standard Ctrl+Space key combination. To add an existing style to the chosen element just point to the necessary one. Each time you select any class it is displayed in the Preview tab. Click on the button to apply the changes without closing the window.
The Edited properties tab provides a preview of the properties which are set for the existing style class. You can easily modify them with the help of this wizard.
If the style class is not chosen, the tab does not show any properties.
The Preview tab provides a way to view the content of the selected CSS
file. This tab is hidden if no CSS
file is selected.
At the top of the CSS Class dialog you can see a preview box which visualizes the result. To edit the preview you should double click in the box. To leave the focus, use Ctrl+Tab.
The dialog for creating a new CSS class, which is called from
→ → → , is shown in the image below:Click on the
button to open a dialog where you can select the CSS file to create a CSS class for:
Choose the appropriate CSS
file and click on the button.
The Visual Page Editor also makes it possible to create visual templates for unknown tags.
To display the Template dialog for a tag, right-click on it in Visual mode and select option.
The Template dialog is shown in the image below:
The Tag Name field is used to define the name of the unknown tag.
The given field should be filled in according to the pattern: taglib:tag
. Also make sure you do not surround the name with angle brackets which will cause the validation error (see the figure below).
The Tag for Display field in the Template dialog requires specifying a type of tag. It can be SPAN, DIV, TABLE or any other HTML element. Check the Children field if you want to mark a tag as a child element.
The Value defines a tags' value.
As for the Style field, you can fill it out manually or make use of the button next to the field to bring the CSS Style dialog (See Section 3.2.2.1, “Text Formatting”) for editing styles.
You can view all defined templates in the Section 9.3, “Visual Page Editor” on the Visual Templates tab which, you can quickly access by pressing the toolbar button (see Section 3.2.5, “VPE Toolbar”).
Here it's possible to add, edit or remove any listed in the table template.
If you have a number of custom tags for which you have defined visual templates, you may need to share the templates definitions with other team members. In this case you can use export and import functionality for unknown tag templates.
To export all visual templates you defined for unknown tags, select
→ → → . Here is what the wizard looks like.At this point click the
button to set the path where to save the external XML file with templates, and then click the button to complete the export.
Importing follows a similar procedure. Select XML
file which stores the custom tags templates, and then click the button to complete the import.
The Visual Page Editor toolbar includes the following buttons:
Section 3.2.5.5, “Visual/Source Editors splitting buttons” ( )
Show bundle's messages as EL expressions ( )
The
button ( ) provides the ability to export a selected string.The first page of the Visual Page Externalize string wizard asks you for the name of the Property key you wish to create and the then Property value for that key. You then have the choice to either have the wizard generate a new properties file for the string or to select a property file that already exists (if one is available).
On the second page of the wizard enter a new or select an existing folder where the property file of the string will be stored. Be sure to also name the property file.
By clicking on the
button you will be shown an option to link the property file that will be created, to a file already on your computer. This step is not necessary for externalizing a string.The final page asks you to choose a place for the string bundle to be registered. By default the option of manually by user will be selected.
The
button ( ) provides quick access to the Visual Page Editor preferences.This page provides a number of options associated with the editor representation. For more detailed description on each option please read the "JBoss Tools Preferences" chapter under Section 9.3, “Visual Page Editor”.
The Actual Run-Time folders, is used to replace absolute and relative path values when generating a preview:
button ( ) displays a window which helps you specify necessary references of the resources. It is represented by a window with four tabs. The first one,The second tab, Included CSS files, is used to add CSS files to be linked by Visual Page Editor when generating a preview:
The third tab, Included tag libs, can be used to add Taglibs that can be used by the editor for getting appropriate templates to generate a preview:
And finally, the Substituted El expressions tab is used to add El expressions that will be substituted by the editor when generating a preview:
The first two tabs of the window let you define actual runtime folders. The example below will help you understand how this can be done.
Suppose you have the following project structure:
WebContent/ pages/ img/ a.gif header.jsp main.jsp
The content of the header.jsp
is:
My Header <img src="img/a.gif"/>
and main.jsp
content is:
<jsp:include page="pages/header.jsp" />
When you open the main.jsp
file in the Visual Page Editor, it will not be able to resolve the image from the header, however it will work fine in runtime. To fix this in design time, click the button and set Actual Run-Time Relative Folder to → → , and you will see the image appeared.
Let's consider an example for other tabs. For instance, the definition of your CSS on the page is the next:
<link rel="stylesheet" type="text/css" href="#{facesContext.externalContext.requestContextPath}/style.css"/>
This will work fine in runtime, but the Visual Page Editor does not know the value of requestContextPath
in design time. In order to see the necessary styles applied in design time your should add a path to your stylesheet in the CSS File Path section.
The next URI section lets you add URI taglibs so that the editor knows where to find the tag libraries.
And the last Substituted EL expressions section is provided to specify the values for specific EL variables. It can be useful for a preview generation.
As an example look at the figure below:
Here both in Source and Visual modes you see the EL expression #{user.name}
. When you switch to Preview view, you will also see this expression. Now click the button and set the value for the user.name as World.
As a result in Visual mode and Preview view the word World is displayed.
The Visual/Source Editors splitting buttons provide a way to choose one of the four possible layouts for the Visual/Source Editor.
The available layouts and corresponding buttons are as follows:
Vertical Source on top( )
Vertical Visual on top ( )
Horizontal Source to the left ( )
Horizontal Visual to the left ( )
Note, with the current view there is only one button, which provides the ability to move the Source and the View in a clockwise direction.
The Visual section of the Visual Page Editor.
button ( ) will display unknown tags in a border in theThe Visual section of the Visual Page Editor.
button ( ) will display non-visual tags in theIn the figure you can see that the non-visual elements are displayed with gray dashed borders.
You can also switch on this option in the Visual Page Editor preferences, having clicked on the
button ( ).At the bottom of the Visual/Source view there is a Selection Tag Bar. It's updated automatically, allowing you to see tags tree for a current component selected in Visual or Source mode. It also allows you to select tags parent and child tags.
If you want to hide the Selection Tag Bar, use the button ( ) on the Visual Page Editor toolbar.
The Visual Page Editor comes with a design-time preview feature, which is available for:
JSF Pages
Seam Pages
Preview view is read-only, and it shows how the page will look like in a browser.
The Visual Page Editor provides user friendly and effective error messages, which should make solving problems easier. The error messages contains a reference to the problem and its description. Also in the Error area you can find a link to Visual Page Editor forum and a button which is used to see a error trace.
If the error occurs while the editor is loading, the error message will contain information about of what might have caused the error (e.g. a missing library or errors in source code).
Visual Page Editor supports custom Facelets tag libraries both declared in the web.xml
file (for details, see Creating a component) and packed into a JAR
file.
In case of Facelets tag library packed in .jar
, remember to put *.taglib.xml
in right place: [filename].jar/META-INF/*.taglib.xml
Visual Page Editor recognizes the tags from the custom Facelets tag library and correctly renders them both in source and visual view of the editor.
While editing an XHTML
file that uses a custom Facelets components you can always make use of the following editor's features:
Call the content assist as usual by using Ctrl+Space when typing a tag. You should see the custom Facelets tags defined in your Facelets tag library listed as proposals.
While developing using Facelets you can make use of:
OpenOn functionality in XHTML files is available in two views of the Visual Page Editor:
Source view
Using the Ctrl+Click keyboard shortcut on the namespace will open the Facelets tag file in a separate window.
Using the Ctrl+Click keyboard shortcut on any custom Facelets tag declared on the page will do the same. The selected tag will be highlighted in the opened file.
Visual view
In the visual view of the Visual Page Editor, double-click a custom component and the Facelets tag file (*.taglib.xml
) where it is declared will be opened.
Besides Visual Page Editor JBDS is supplied with a huge range of various editors for different file types: properties, TLD, web.xml
, tiles and so on.
The Properties editor allows you to work in two different modes and also supports unicode characters.
To create a new properties file in the Package Explorer view, select → from the right-click context menu on the folder where you want to create the file.
You can edit the file using a table-oriented "Properties" viewer:
You can also use a Source viewer for editing the file:
The Tag Library Editor comes with same features you will find in all other JBoss Developer Studio editors:
Graphical and source edit modes
Validation and error checking
You can easily switch from Tree to Source by selecting the Source tab at the bottom of the editor.
You can easily add a new tag:
You can also easily add a new attribute to an existing tag:
Content assist is available when editing the file using the Source viewer:
In the Source viewer, if at any point a tag is incorrect or incomplete, an error will be indicated next to the line and also in the Problems view below.
The deployment descriptor web.xml
file is intended for describing the servlets, container-managed security constraints and various deployment properties specific for your web application.
To edit the deployment descriptor JBoss Developer Studio provides its own web.xml
editor that comes with the same features you will find in all other JBoss Developer Studio editors:
Graphical and source edit modes
Validation and error checking
Switch to the Tree view if you want to edit the web.xml
file in a graphical mode. All elements that web.xml
could include are located in the left area of the editor in a tree format. Click a node on the left to display and edit its properties, which will appear in the right-hand area.
You can add any new elements right in the Tree viewer:
You can use the Servlet-Name drop-down field to select an XML element, and navigate to the location of the element within the Source of the XML file.
Switch to the Source viewer to edit the web.xml
file by hand at any time:
Content assist is available in the Source viewer. Simply click CTRL+Space anywhere in the file.
The CSS editor comes with the same features you will find in all other JBoss Developer Studio editors.
Content assist
Validation and error checking
With the CSS (Cascading Style Sheet) editor, you can take advantage of code prompting:
And you can also use the Properties view next to the editor to edit existing stylesheet declaration properties:
The CSS perspective is available to facilitate working on Cascading Style Sheets. For more information please read Chapter 6, CSS Editing Perspective
The JavaScript editor is a Source viewer in which you can use code assist:
You can also use the JavaScript editor with the Outline view to navigate around the file:
JBoss Developer Studio comes with an XSD Editor for XML Schema files. This editor comes from the Web Tools Project (WTP) (see WTP Getting Started).
To create a new XSD
file, right-click a folder in the Package Explorer view, select → from the context menu and then select → in the dialog box.
The XSD Editor includes two viewers for working on the file, a Design viewer and a Source viewer:
In the Design viewer you can drill down on an element by double-clicking on it:
Various edit options are available when you right-click an element in the diagram:
You can also use the Properties view to edit a selected element:
You can also use a Source viewer for the file. In this viewer, along with direct editing of the source code, you can also edit the file by using the Properties view on the right:
JBoss Developer Studio fully supports XML
files based on schemas as well as DTDs:
In case you want to use your own DTD or XML Schema make sure that this DTD or XML Schema is not listed in XML Catalog. If it is, you can't work with your DTD and XML Schema and JBoss Tool which uses this DTD or XML Schema. More information about XML Catalog you can find in Eclipse Documentation and on XML Catalog Tutorial page.