<?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>
<head>
<link rel="stylesheet" type="text/css" href="../../com.ibm.help.doc/swg_info_common.css" />
<title>XML editor integration with the workbench</title>
<script language="JavaScript">
    function popup_window( url, id, width, height )
    {
      popup = window.open( url, id, 'toolbar=no,scrollbars=no,location=no,statusbar=no,menubar=no,resizable=no,width=' + width + ',height=' + height + ',left=,top=' );
      popup.focus();
    }
</script><script language="JavaScript" src="help/liveHelp.js"></script></head>
<body id="cwwedtvw"><a name="cwwedtvw"><!-- --></a>

<h1 class="topictitle1">XML editor integration with the workbench</h1>
<div><p>To edit a file using the XML editor, right-click the file in the
Navigator view, and click <span class="uicontrol">Open With &gt; XML Editor</span>. Because
the editor that is last used to open a file becomes the default editor for
that particular file, the XML editor will remain the default
XML editor for that file unless you explicitly change it.</p><p>The Resource perspective is designed to facilitate XML development, so
it contains certain views (such as the Outline and Properties view) that are
advantageous to XML editor users. If, however, you prefer to work in a different
perspective, that does not provide these views by default, you can add them
by clicking <span class="menucascade"><span class="uicontrol">Window</span> &gt; <span class="uicontrol">Show View</span></span> and selecting the appropriate view.</p>
<dl><dt class="bold">Outline view</dt>
<dd>The Outline view provides a node-level outline, or roadmap of an XML file.
This view is especially useful for navigating complex documents, because when
you select an element in the Outline view, the corresponding nodes in the
Source and Properties views are also identified as the "active" node. In addition,
the Outline view is synchronized with the workbench Properties view, so that
the selected element's attributes and their values are displayed in the Properties
view (but not the Outline view). You can also use the Outline view to insert
and delete elements.</dd>
<dt class="bold">Properties view</dt>
<dd>The  <span class="uicontrol">Property</span> column in the Properties view contains
a list of attributes, and the <span class="uicontrol">Value</span> column contains
the editable values of those attributes. Attributes that are already included
in the selected or "active" tag are displayed with their values. In addition,
if the document contains a reference to a DTD or schema, then the attributes
that are allowed for that tag are also displayed. When you select the value
column of a property, you are provided with an editing option. <p>The pop-up
menu in the Properties view contains the following options: undo, cut, copy,
paste, delete, and select all. The options that are available at a given time
depend on where the cursor is located when the pop-up menu is displayed. To
see the pop-up menu options, the property value field must be active. (select
the property, then select its value.)</p>
 <p>Use the  <span class="uicontrol">Restore Default
Value</span> toolbar button <img src="../images/nrstrval.gif" alt="Image of the Restore default values button" /> to
change any value back to its default setting.</p>
 <p>Once you are in the Properties
view, you can modify other property values for specific attributes. To edit
another tag using the Properties view, you can select the desired node in
the workbench Outline view, or select an attribute in the Design or Source
view of the XML editor.</p>
</dd>
</dl>
</div>

<div>
<p>
<b class="parentlink">Parent topic:</b> <a href="../topics/cwxmledt.html" title="The XML editor is a tool for creating and viewing XML files">XML editor</a><br />
</p>
</div><p>
		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
</p>
</body>
</html>