<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd" [
  <!ENTITY kxmleditor "<application>KXML Editor</application>" >
  <!ENTITY kappname "&kxmleditor;">
  <!ENTITY % English "INCLUDE" >
  <!ENTITY % addindex "IGNORE">
]>

<!-- ................................................................ -->

<!-- The language must NOT be changed here. -->

<book lang="&language;">

<!-- This header contains all of the meta-information for the document such
as Authors, publish date, the abstract, and Keywords -->

<bookinfo>
<title>The KXML Editor Handbook</title>

<authorgroup>
<author>
<firstname>Lumir</firstname>
<othername></othername>
<surname>Vanek</surname>
<affiliation>
<address><email>lvanek@users.sourceforge.net</email></address>
</affiliation>
</author>
</authorgroup>


<copyright>
<year>2004</year>
<holder>Lumir Vanek</holder>
</copyright>
<!-- Translators: put here the copyright notice of the translation -->
<!-- Put here the FDL notice.  Read the explanation in fdl-notice.docbook
     and in the FDL itself on how to use it. -->
<legalnotice>&FDLNotice;</legalnotice>

<!-- Date and version information of the documentation
Don't forget to include this last date and this last revision number, we
need them for translation coordination !
Please respect the format of the date (DD/MM/YYYY) and of the version
(V.MM.LL), it could be used by automation scripts.
Do NOT change these in the translation. -->

<date>07/08/2004</date>
<releaseinfo>1.11</releaseinfo>

<!-- Abstract about this handbook -->

<abstract>
<para>
KXML Editor is an application for browsing and editing XML files.
</para>

<para>
This document describes KXML Editor version 1.0.
</para>

</abstract>

<!-- This is a set of Keywords for indexing by search engines.
Please at least include KDE, the KDE package it is in, the name
 of your application, and a few relevant keywords. -->

<keywordset>
<keyword>KDE</keyword>
<keyword>KXML Editor</keyword>
</keywordset>

</bookinfo>

<!-- The contents of the documentation begin here.  Label
each chapter so with the id attribute. This is necessary for two reasons: it
allows you to easily reference the chapter from other chapters of your
document, and if there is no ID, the name of the generated HTML files will vary
from time to time making it hard to manage for maintainers and for the CVS
system. Any chapter labelled (OPTIONAL) may be left out at the author's
discretion. Other chapters should not be left out in order to maintain a
consistent documentation style across all KDE apps. -->

<!-- ***************************************************************************** -->
<!--                                                                               -->
<!--                             Fundamentals                                      -->
<!--                                                                               -->
<!-- ***************************************************************************** -->

<chapter id="some-fundamentals">
<title>Some Fundamentals</title>
<para>
Extensible Markup Language (XML) is wide standart for exchanging and
transferring data in application development. XML stores character data
in a structured way, using tags placed within the data representing its structure.
An XML document has a tree structure, where "XML element" tags comprise the nodes.
The "root element", begets all the other elements in the tree. All elements except the root
have a single parent. Elements may contain character data - "XML contents".
An element node may also own a list of "attributes".
</para>

<para>
<screenshot>
<screeninfo>XML structure</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="xml.png" format="PNG" />
	  </imageobject>
	</mediaobject>
</screenshot>
</para>

<para>
You may obtain <ulink url="http://www.zvon.org">more informations</ulink>
 about XML on Web.
</para>

</chapter>

<!-- ***************************************************************************** -->
<!--                                                                               -->
<!--                             Introduction                                      -->
<!--                                                                               -->
<!-- ***************************************************************************** -->

<chapter id="introduction">
<title>Introduction</title>

<!-- The introduction chapter contains a brief introduction for the
application that explains what it does and where to report
problems. Basically a long version of the abstract.  Don't include a
revision history. (see installation appendix comment) -->

<para>
KXML Editor is a program that lets you browse and edit XML files. Main window is divided
to two windows.
</para>

<para>
Left side contain tree widget with XML structure. XML document has tree structute, one (and only one)
element is root. Every element may own one or more childs elements or contents items.
</para>

<para>
Right side contain detail for selected item. If XML element is selectected in left side,
attributes list and raw XML are displayied. If XML contents is selectected in left side, edit widget with full
context is displayied.
</para>

<para>
<!-- Note that all graphics should be in .png format. Use no gifs because of
patent issues. -->

<screenshot>
<screeninfo>Here's a screenshot of &kxmleditor;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="screenshot.png" format="PNG" />
	  </imageobject>
	</mediaobject>
</screenshot>

</para>

<para>
KXML Editor contain two toolbars with buttons - one with standart commands and second with
commands for edit XML document. Third toolbar contain Konqueror-like path bar, that display
path of selected XML item.
</para>

<para><interface>The Pathbar</interface> shows the path to the selected XML item,
You can type a path here and press <keycap>Enter</keycap> to go to it.
You may use combobox in path bar for select bookmarked item.
The black icon at the left hand end of the Pathbar clears the text entry box.
</para>


</chapter>

<!-- ***************************************************************************** -->
<!--                                                                               -->
<!--                             Edit XML                                          -->
<!--                                                                               -->
<!-- ***************************************************************************** -->

<chapter id="edit-xml">
<title>Edit XML document</title>

<para>
User may edit XML document using menu commands, or using drag and drop.
</para>

<note><para>
Moving elements using clipboard or drag and drop has one side effect to
bookmarks system. Moving elements and their subtrees leave its paths in
<interface>Pathbar</interface> combobox nonvalid. </para>
<para>
When you cut/copy and paste items with bookmarks, or drag and drop it, bookmarks are not
transfered.
</para>
</note>

<sect1 id="clipboard">
<title>Using clipboard</title>

<para>To copy a XML element or contents item you can:</para>

<para>
<itemizedlist>

<listitem><para>If the item is selected you can use the
<guiicon>Copy</guiicon> button on the Toolbar or the Menubar
<menuchoice><guimenu>Edit</guimenu> <guimenuitem>Copy</guimenuitem></menuchoice>
item, or the <keycombo action="simul"><keycap>Ctrl</keycap><keycap>C</keycap></keycombo>
hotkey.</para></listitem>

<listitem><para>Then select item, where you can copy XML element.</para></listitem>

<listitem><para><guiicon>Finally, use Paste</guiicon> button or the Menubar <menuchoice><guimenu>Edit</guimenu>
<guimenuitem>Paste</guimenuitem></menuchoice> option or the <keycombo
action="simul"><keycap>Ctrl</keycap><keycap>V</keycap></keycombo> hotkey.
</para></listitem>

</itemizedlist></para>

<para>Moving a XML element or contents item can be done in the same
way as copying, except that you choose the <guimenuitem>Cut</guimenuitem> option
or <keycombo action="simul"><keycap>Ctrl</keycap><keycap>X</keycap></keycombo>
instead of <guimenuitem>Copy</guimenuitem>. <!--The item that you have
<guimenuitem>Cut</guimenuitem> will be removed from the original position when
you do the <guimenuitem>Paste</guimenuitem> into the new directory. --> </para>

<note><para>
You can also exchange XML between &kxmleditor; and text editor using clipboard. Of course,
when you paste XML element, clipboard must contain well formed XML.
</para></note>

</sect1>

<sect1 id="drag-drop">
<title>Using Drag 'n Drop</title>

<para>&kxmleditor; supports Drag and Drop copying and moving of elements and
contents items.</para>

<procedure>
<step><para>Set the tree view to show the item you wish to move. If you can copy,
press <keycap>Ctrl</keycap> button and hold it.
</para></step>
<step><para>Position the mouse pointer over source item name or icon then, holding the &LMB;
pressed, <quote>drag</quote> it over to the tree view and position the
mouse pointer over the target item. Release the mouse button and <keycap>Ctrl</keycap> if you
made copy.
</para></step>
</procedure>

<note><para>
You can also drag and drop between different instances of &kxmleditor;. Also is possible drag from
&kxmleditor; and drop into text editor.
</para></note>

</sect1>

<sect1 id="Encoding">
<title>Encoding</title>

<para>&kxmleditor; supports XML document encoding.</para>

<para>
When file is loaded, parser get information about encoding from processing instruction
 &lt;?xml encoding="xxxx" ?&gt; and convert XML to Unicode.
</para>

<para>
&kxmleditor; works internally with Unicode strings.
</para>

<para>
While saving, &kxmleditor; convert XML from Unicode to encoding that depends on processing
instruction &lt;?xml encoding="xxxx" ?&gt;, where xxxx may be ISO-8859-1, ISO-8859-2, UTF-8 etc.
If you change encoding, you change codec, that is used while saving.
</para>

</sect1>

<sect1 id="KParts">
<title>KParts</title>

<para>&kxmleditor; supports KParts technology.</para>

<para>
If you browse directory using Konqueror, you may select XML file and click on it by right
mouse button. Then you may choose menu item <menuchoice><guimenu>Preview in</guimenu></menuchoice>
and <menuchoice><guimenu>KXML Editor</guimenu></menuchoice> that starts KXML editor inside Konqueror
main window.

<screenshot>
<screeninfo>Special processing instruction dialog</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kparts.png" format="PNG" />
	  </imageobject>
	</mediaobject>
</screenshot>

</para>

</sect1>

</chapter>
<!-- ***************************************************************************** -->

<!-- ***************************************************************************** -->
<!--                                                                               -->
<!--                             Menu Entries                                      -->
<!--                                                                               -->
<!-- ***************************************************************************** -->

<!-- (OPTIONAL, BUT RECOMMENDED) This chapter should list all of the
application windows and their menubar and toolbar commands for easy reference.
Also include any keys that have a special function but have no equivalent in the
menus or toolbars. This may not be necessary for small apps or apps with no tool
or menu bars. -->


<chapter id="the-menu-entries">
<title>The Menu Entries</title>

<!-- ******************************** File menu ********************************* -->
<sect1 id="file">
<title>The <guimenu>File</guimenu> Menu</title>
<para><variablelist>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>N</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu>
<guimenuitem><accel>N</accel>ew</guimenuitem>
</menuchoice></term>
<listitem><para><action>Creates a new XML document. If there is a current document
with unsaved changes the user is given a chance to save it. Program show dialog for
special processing instruction, you may choose XML version and encoding.

</action>

<screenshot>
<screeninfo>Special processing instruction dialog</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="specprocinstrdlg.png" format="PNG" />
	  </imageobject>
	</mediaobject>
</screenshot>

</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>O</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu>
<guimenuitem><accel>O</accel>pen</guimenuitem>
</menuchoice></term>
<listitem>
<para>
This command opens a file.  It does this by means of a dialog box
which allows the user to navigate the file system.  The dialog operates
like a small file manager. Clicking on directories displayed in the
central window directs the dialog to enter that directory - displaying its
contents.  There is an entry/dropdown box which can be used to type in
directly the location and name of the file or by clicking the arrow at the
side choose from a dropdown list of recently used locations. Below this is
a filter which similarly may have data entered directly or chosen from a
dropdown list of recent filter types.  The filter facility lets only files
that meet its specifications be displayed in the central window. If the
filter contained text such as <literal role="extension">*.xml</literal> then only files
with the txt extension would be visible in the selection window. Below the filter
is a status bar giving information about the number of files and subdirectories
within the current directory.
</para>

<para>The  toolbar, which is located at the top of the dialog, has left and right
arrow buttons that let the user move back and forth through previously selected
directories as well as an up arrow button for moving up the directory tree. The
button with the little house takes the user to his or her home directory and the one
with the two arrows curved in on each other updates the view of the current
directory. The flag button lets the user set a new bookmark at the current directory
or go to  one that was previously set. <!-- The button with the wrench (spanner) -->
<!-- icon even permits the user to change a few basic settings for the dialog -->
<!-- box.  --> The last button on the toolbar allows you to create a new
directory, and finally  there is dropdown box with a list of some commonly
frequented directories.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice>
<guimenu><accel>F</accel>ile</guimenu>
<guimenuitem>Open<accel>R</accel>ecent</guimenuitem>
</menuchoice></term>
<listitem><para>
This is a shortcut to open recently saved documents. Clicking on
this item opens a list to the side of the menu with several of the most recently
saved files. Clicking on a specific file will open it in &kxmleditor; - if the file
still resides at the same location.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>S</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu>
<guimenuitem><accel>S</accel>ave</guimenuitem>
</menuchoice></term>
<listitem><para><action>
This saves the current document. If there has already been a save of the document then this will overwrite the previously
saved file without asking for the user's consent. If it is the first save of a new document the save as dialog
(described below) will be invoked.
</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Save <accel>A</accel>s</guimenuitem>
</menuchoice></term>
<listitem><para>
This allows a document to be saved with a new file name. This is
done by means of the file dialog box described above in the Open
 section of this help file.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem><accel>M</accel>ail</guimenuitem>
</menuchoice></term>
<listitem><para>
This allows mail document using your mail client.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem><accel>V</accel>ersion &amp; Encoding</guimenuitem>
</menuchoice></term>
<listitem><para>
Program show dialog for special processing instruction, you may choose XML version and encoding.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Attach Schema</guimenuitem>
</menuchoice></term>
<listitem><para>
This allow to attach DTD schema file.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Detach Schema</guimenuitem>
</menuchoice></term>
<listitem><para>
This allow to remove DTD schema file.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Attach Stylesheet</guimenuitem>
</menuchoice></term>
<listitem><para>
This allow to insert processing instruction for ataching schema (obviously .xsl or .xslt) file.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Detach Stylesheet</guimenuitem>
</menuchoice></term>
<listitem><para>
This allow to remove processing instruction for ataching schema.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem><accel>P</accel>rint</guimenuitem>
</menuchoice></term>
<listitem><para>
This allow print document.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>Q</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu>
<guimenuitem><accel>Q</accel>uit</guimenuitem>
</menuchoice></term>
<listitem><para><action>Quits</action> &kxmleditor;</para></listitem>
</varlistentry>

</variablelist></para>

</sect1>

<!-- ******************************** Edit menu ********************************* -->
<sect1 id="edit">
<title>The <guimenu>Edit</guimenu> Menu</title>
<para><variablelist>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>Z</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu>
<guimenuitem><accel>U</accel>ndo</guimenuitem>
</menuchoice></term>
<listitem>
<para>This is used to eliminate or reverse the most recent user action or operation.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><keycap>Z</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu>
<guimenuitem><accel>R</accel>edo</guimenuitem>
</menuchoice></term>
<listitem>
<para>This will reverse the most recent change (if any) made using Undo
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Edit->Undo/Redo History</guimenu>
</menuchoice></term>
<listitem>
<para>
This will call a display box showing a list of the most recent actions on the left and another list of actions which have been 'undone' on the right.
There are also three buttons at the right of the box labeled Undo, Redo, and Close.
Clicking on the Undo button will cause the action at the top of the Undo list to be reversed which will place that particular action at the top of the Redo list.
Likewise, clicking on the Redo button will reinstate the reversed action and move it back to the top of the Undo list. Clicking on an item below the top item in either
list will select all the items from the top down to that point. A subsequent click on the corresponding button will cause all the selected actions to be undone or redone accordingly.
This would be particularly useful when the user knows precisely the point to which she or he would like to proceed - making it unnecessary to go through a series of single undo or redo actions.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>X</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu>
<guimenuitem>C<accel>u</accel>t</guimenuitem>
</menuchoice></term>
<listitem>
<para>This command deletes the current selection and places it on the clipboard.  The
clipboard is a feature of KDE that works invisibly to provide a way to transfer data between
applications.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu>
<guimenuitem><accel>C</accel>opy</guimenuitem></menuchoice></term>
<listitem>
<para>This copies the currently selected text to the clipboard so that it may be
pasted elsewhere.  The clipboard is a feature of KDE that works invisibly to
provide a way to transfer data between applications.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>V</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu>
<guimenuitem><accel>P</accel>aste</guimenuitem>
</menuchoice></term>
<listitem>
<para>This will insert the contents of the clipboard at the cursor position. The
clipboard is feature of KDE that works invisibly to provide a way to transfer
data between applications.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Del</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu>
<guimenuitem><accel>D</accel>elete</guimenuitem>
</menuchoice></term>
<listitem>
<para>This will delete selected XML node, including their child subtree, if any</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>E</accel>dit</guimenu>
<guimenuitem>Delete all attributes</guimenuitem>
</menuchoice></term>
<listitem>
<para>This will delete all attributes that contain selected XML element</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>E</accel>dit</guimenu>
<guimenuitem>Move <accel>U</accel>p</guimenuitem>
</menuchoice></term>
<listitem>
<para>Move selected node Up, in their parent list</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>E</accel>dit</guimenu>
<guimenuitem>Move <accel>D</accel>own</guimenuitem>
</menuchoice></term>
<listitem>
<para>Move selected node Down, in their parent list</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>E</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu>
<guimenuitem>D<accel>e</accel>select node</guimenuitem>
</menuchoice></term>
<listitem>
<para>This unselect node</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>F</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu>
<guimenuitem><accel>F</accel>ind</guimenuitem></menuchoice></term>
<listitem>
<para>This opens the find dialog which is used to specify the <guilabel>Text to
Find</guilabel> in the document. There is small text box for entering the search
pattern. <!-- which also doubles as a dropdown box. Clicking on the dropdown arrow at
the side of the box makes available other recent search patterns.--> Other
parameters are included to make the search more efficient. Selecting
<guilabel>Case Sensitive</guilabel> will limit finds to entries that match the
case (upper or lower) of each of the characters in the search
pattern. <!-- <guilabel>Find Backwards</guilabel> directs the search to proceed in an
upwardly direction. The <guilabel>Selected Text</guilabel> option keeps the
search within currently selected text. Checking <guilabel>Whole Words
Only</guilabel> prevents the search from stopping on words that contain the
searched for pattern. The <guilabel>Search from Cursor</guilabel> option begins
the search from the current position of the cursor within the document rather
than from the beginning. -->
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>F3</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu>
<guimenuitem>Find <accel>N</accel>ext</guimenuitem></menuchoice></term>
<listitem>
<para>This repeats the last find operation, if any, without calling the find
dialog box.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>E</accel>dit</guimenu>
<guimenuitem><accel>P</accel>roperties</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Display dialog which allows the user to change selected node properties. Dialog type
depends on selected item type.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>E</accel>dit</guimenu>
<guimenuitem>Edit <accel>r</accel>aw XML</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Display dialog which allows the user to edit selected element as raw XML.
</para>

<screenshot>
<screeninfo>Special processing instruction dialog</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="texteditor.png" format="PNG" />
	  </imageobject>
	</mediaobject>
</screenshot>

<para>
You may press Validate button for checking, if XML is well formed.
</para>

</listitem>
</varlistentry>


</variablelist></para>
</sect1>

<!-- ******************************** View menu ********************************* -->
<sect1 id="go">
<title>The <guimenu>View</guimenu> Menu</title>
<para><variablelist>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Alt</keycap><keysym>Up Arrow</keysym></keycombo></shortcut>
<guimenu><accel>V</accel>iew</guimenu>
<guimenuitem>To <accel>P</accel> arent node</guimenuitem></menuchoice></term>
<listitem>
<para>Go up a level in the tree hierarchy. Select parent node.</para> </listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keysym>Plus</keysym></keycombo></shortcut>
<guimenu><accel>V</accel>iew</guimenu>
<guimenuitem>E<accel>x</accel>pand node</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Expand selected XML element and show entire child subtree.
</para>
<para>
Tip: You may expand node to choosed level. Press button for this function on toolbar,
hold mouse pressed for small anmount of time. Program show menu, which allows the user to
expand node to selected level.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keysym>Minus</keysym></keycombo></shortcut>
<guimenu><accel>V</accel>iew</guimenu>
<guimenuitem><accel>C</accel>ollapse node</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Collapse selected XML element and hide entire child subtree.
</para>
<para>
Tip: You may collapse node from choosed level. Press button for this function on toolbar,
hold mouse pressed for small anmount of time. Program show menu, which allows the user to
collapse node from selected level.
</para>
</listitem>
</varlistentry>

</variablelist></para>
</sect1>

<!-- ******************************** Insert menu ***************************** -->
<sect1 id="xml">
<title>The <guimenu>Insert</guimenu> Menu</title>
<para><variablelist>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><keycap>E</keycap></keycombo></shortcut>
<guimenu><accel>I</accel>nsert</guimenu>
<guimenuitem><accel>E</accel>lement</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Insert new XML element into tree. Display dialog which allows the user to enter element name.
If you have void document, new element becomes root. If you have selected any existing element,
new element becomes child of this element. You may decide, if new element will be placed to
begin or end of childs items list.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><keycap>A</keycap></keycombo></shortcut>
<guimenu><accel>I</accel>nsert</guimenu>
<guimenuitem><accel>A</accel>ttribute</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Insert new XML attribute for selected XML element. Display dialog which allows the user to enter
attribute name and value. Attribute name is checked for duplicity before inserting into
attribute list.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><keycap>T</keycap></keycombo></shortcut>
<guimenu><accel>I</accel>nsert</guimenu>
<guimenuitem><accel>T</accel>ext</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Insert new XML text item into tree. Display dialog which allows the user to enter contents text.
New item becomes child of celected XML element. You may decide, if new item will be
placed to begin or end of childs items list.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><keycap>D</keycap></keycombo></shortcut>
<guimenu><accel>I</accel>nsert</guimenu>
<guimenuitem>C<accel>D</accel>ATA</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Insert new XML CDATA item into tree. Display dialog which allows the user to enter contents text.
New item becomes child of celected XML element. You may decide, if new item will be
placed to begin or end of childs items list.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><keycap>C</keycap></keycombo></shortcut>
<guimenu><accel>I</accel>nsert</guimenu>
<guimenuitem><accel>C</accel>omment</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Insert new XML comment item into tree. Display dialog which allows the user to enter contents text.
New item becomes child of celected XML element. You may decide, if new item will be
placed to begin or end of childs items list.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><keycap>P</keycap></keycombo></shortcut>
<guimenu><accel>X</accel>ML</guimenu>
<guimenuitem>Insert <accel>p</accel>roc. instruction</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Insert new XML processing instruction into tree. Display dialog which allows
the user to enter target and data.
</para>
</listitem>
</varlistentry>


</variablelist></para>
</sect1>

<!-- ******************************** Bookmarks menu **************************** -->

<sect1 id="bookmarks">
<title>The <guimenu>Bookmarks</guimenu> Menu</title>
<para><variablelist>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Ctrl</keycap><keycap>B</keycap></keycombo></shortcut>
<guimenu><accel>B</accel>ookmark</guimenu>
<guimenuitem><accel>T</accel>oggle bookmark</guimenuitem>
</menuchoice></term>
<listitem>
<para>This creates a marker in the document at the selected item. Bookmarked item path as added
into Pathbar combo. User may traverse bookmarks using
Previous or Next Bookmark command,
or directly select bookmarked item in Pathbar combobox.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Shift</keycap><keycap>F5</keycap></keycombo></shortcut>
<guimenu><accel>B</accel>ookmark</guimenu>
<guimenuitem><accel>P</accel>revious bookmark</guimenuitem>
</menuchoice></term>
<listitem>
<para>Move selection to previous bookmark in document, relative to selected item. Bookmarked items,
that are closed is skipped.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>F5</keycap></keycombo></shortcut>
<guimenu><accel>B</accel>ookmark</guimenu>
<guimenuitem><accel>N</accel>ext bookmark</guimenuitem>
</menuchoice></term>
<listitem>
<para>Move selection to next bookmark in document, relative to selected item. Bookmarked items,
that are closed is skipped.
</para>
</listitem>
</varlistentry>

</variablelist></para>
</sect1>

<!-- ******************************** Settings menu ****************************** -->
<sect1 id="settings">
<title>The <guimenu>Settings</guimenu> Menu</title>
<para><variablelist>

<varlistentry>
<term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu>
<guimenuitem>Show <accel>T</accel>oolbar</guimenuitem>
</menuchoice></term>
<listitem>
<para>
When checked, this displays a movable toolbar containing buttons used to
initiate frequently used commands. When unchecked the toolbar is hidden.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu>
<guimenuitem>Show <accel>S</accel>tatusbar</guimenuitem>
</menuchoice></term>
<listitem>
<para>When checked, this displays a small bar at the bottom of the main window
containing information about the status of the current document.  When unchecked
the statusbar is hidden.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem>Configure S<accel>h</accel>ortcuts</guimenuitem></menuchoice></term>
<listitem>
<para>This command opens a dialog box whereby the  key bindings may be changed.
A display window at
the top of the dialog box shows the list of commands (actions) that can have
keyboard shortcuts.  Below the display are three radio buttons.  The user may choose
between No Key, Default Key, and Custom Key.  (Note that a set of radio buttons only
allows the selection of one of the offered items - in the way that buttons on a car
radio only offer the selection of one preset station.  Also, the Default Key
selection  is only available for those commands that actually have a 'default'
shortcut.)  Selecting the Custom Key option activates the three check boxes and key
button at the bottom of the dialog. The user may then select a key
combination for the command in question by means of the check boxes and key
button. For example, with the About KDE command selected in the display window,
the user could select <keycap>Ctrl</keycap> and <keycap>Alt</keycap>, click on
the key button, and then press the <keycap>K</keycap> key on the keyboard.  This
would mean that anytime he or she held down the <keycap>Ctrl</keycap> and
<keycap>Alt</keycap> buttons and pressed <keycap>K</keycap> (while using
&kxmleditor;) the About KDE display box would be called. </para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu>
<guimenuitem>Configure Tool<accel>b</accel>ars</guimenuitem>
</menuchoice></term>
<listitem><para>This will open the dialog whereby the toolbars configuration may
be changed.   The user can choose which shortcut buttons should appear on the
toolbar. A display window on the left lists the commands available to placed
on the toolbar.  A display on the right lists those commands already on the
toolbar.  A set of four arrow buttons between the two displays manipulates the
selections.  The right pointing arrow places any command selected in the left
pane onto the right pane, <abbrev>i.e.</abbrev>, it is added to the toolbar.
The left arrow does just the opposite, removing any action selected in the right
window from the toolbar.  The up and down pointing arrows change the position of
an action selected in the right window which changes the position of its button
in the toolbar.</para> </listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu>
<guimenuitem><accel>C</accel>onfigure &kxmleditor;</guimenuitem>
</menuchoice></term>
<listitem>
<para>This menu item opens a dialog whereby several different <link
linkend="pref-dialog">settings</link> may be adjusted.</para>
</listitem>
</varlistentry>

</variablelist></para>
</sect1>

<!-- ******************************** Help menu ********************************** -->
<sect1 id="help">
<title>The <guimenuitem>Help</guimenuitem> Menu</title>
<para><variablelist>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>F1</keycap></keycombo></shortcut>
<guimenu><accel>H</accel>elp</guimenu>
<guimenuitem><accel>C</accel>ontents</guimenuitem>
</menuchoice></term>
<listitem>
<para>This invokes the KDE help system starting at the &kxmleditor; help pages (this document).
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>Shift</keycap><keycap>F1</keycap></keycombo></shortcut>
<guimenu><accel>H</accel>elp</guimenu>
<guimenuitem>What's <accel>T</accel>his?</guimenuitem>
</menuchoice></term>
<listitem>
<para>
This changes the mouse cursor to a combination arrow and question mark.
Clicking on items within &kxmleditor; with this arrow will open a help window (if
one exists for the particular item) explaining the item's function.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>H</accel>elp</guimenu>
<guimenuitem><accel>R</accel>eport Bug</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>
This calls a dialog box to help
the user help the KDE team to track down and solve any
problems(bugs) in the program.  The dialog attempts to do this by
means of email using the information given by the user.
</action></para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>H</accel>elp</guimenu>
<guimenuitem><accel>A</accel>bout KXML Editor</guimenuitem>
</menuchoice></term>
<listitem>
<para>This will display version and author information.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>H</accel>elp</guimenu><guimenuitem>About <accel>K</accel>DE</guimenuitem></menuchoice></term>
<listitem>
<para>This displays the KDE version and other basic information.</para>
</listitem>
</varlistentry>

</variablelist></para>

</sect1>

</chapter>

<!-- ***************************************************************************** -->
<!--                                                                               -->
<!--                             Configuration                                     -->
<!--                                                                               -->
<!-- ***************************************************************************** -->

<chapter id="pref-dialog">
<title>Configure &kxmleditor;</title>

<para>Selecting
<menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure
KXML Editor</guimenuitem></menuchoice> from the menu brings up the Configure-KXML Editor
dialog box. This dialog can be used to alter <!-- a number of different --> application settings. <!-- The
settings available for change vary according to which category the user chooses from
a vertical list on the left side of the dialog. --> By means of four buttons
along the bottom of the box the user can control the process.  She or he may invoke
the <guilabel>Help</guilabel> system, accept the current settings pressing <guibutton>Apply</guibutton> button,
accept the current settings and close the dialog by means of the <guibutton>OK</guibutton> button, or
<guibutton>Cancel</guibutton> the process.
</para>

<sect1 id="preftreeview">

<title>Tree View</title>
<para>This category deals with following properties detailed below.</para>

<para>
<screenshot>
<screeninfo>TarGz Extensions</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="setuptreeview.png" format="PNG" />
	  </imageobject>
	</mediaobject>
</screenshot>
</para>

<para><variablelist>

<varlistentry>
<term><guilabel>Set root element decorated</guilabel></term>
<listitem>
<para>
Set the root element in tree view decorated.
Sets this view to show open/close sign on root item.
</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Default expand level</guilabel></term>
<listitem>
<para>
Set the default expand level for tree view.
</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Enable drag &amp; drop</guilabel></term>
<listitem>
<para>
Enables or disables drag &amp; drop. Disabling it may be useful, when X-Window client
and server is not on the same machine and respond time is slow, that may cause unnecesary
drag &amp; drop operation caused while selecting in tree view.
</para></listitem>
</varlistentry>

<varlistentry>
<term>Show...</term>
<listitem><para>
This option allow display XML attributes for each element in left side tree window.
You may choose one of this options: Show only element name or Element, attribute name
or Element, attributes names and its value.
</para></listitem>
</varlistentry>

</variablelist></para>

</sect1>

<sect1 id="defaults">

<title>Defaults</title>
<para>This category allow set default XML version, encoding and program behavior
while creating new document</para>

<para>
<screenshot>
<screeninfo>Defaults</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="setupdefaults.png" format="PNG" />
	  </imageobject>
	</mediaobject>
</screenshot>
</para>

<para>
<variablelist>

<varlistentry>
<term><guilabel>XML version</guilabel></term>
<listitem>
<para>
Default XML version for new documents.
</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Encoding</guilabel></term>
<listitem>
<para>
Default XML encoding for new documents.
</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Creating new files</guilabel></term>
<listitem>
<para>
Behavior when creating new XML documents.
</para></listitem>
</varlistentry>


</variablelist></para>

</sect1>

<sect1 id="printout">

<title>Printout</title>
<para>This category allow set parameters for printing XML document</para>

<para>
<screenshot>
<screeninfo>Printout</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="setupprintout.png" format="PNG" />
	  </imageobject>
	</mediaobject>
</screenshot>
</para>

<para>
<variablelist>

<varlistentry>
<term><guilabel>Font family</guilabel></term>
<listitem>
<para>
Choose font family for printing document.
</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Font size</guilabel></term>
<listitem>
<para>
Choose font size for printing document.
</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Element intendation</guilabel></term>
<listitem>
<para>
Choose element intendation for printing document.
</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Print header</guilabel></term>
<listitem>
<para>
Choose if you can print header when printing document.
</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Print footer</guilabel></term>
<listitem>
<para>
Choose if you can print footer when printing document.
</para></listitem>
</varlistentry>

</variablelist></para>

</sect1>


<sect1 id="preftargz">

<title>TarGz Extensions</title>
<para>This category allow set list of XML files, that is TarGz archives.
This allow open and save those files transparently. This may be useful
for browsing KOffice files.</para>

<para>
<screenshot>
<screeninfo>TarGz Extensions</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="setuptargz.png" format="PNG" />
	  </imageobject>
	</mediaobject>
</screenshot>
</para>

<para>
<variablelist>

<varlistentry>
<term><guilabel>Archive files extensions</guilabel></term>
<listitem>
<para>
You may edit list of files extension using <guibutton>New</guibutton> and <guibutton>Delete</guibutton> buttons.
Actually selected item may be changed using edit line.
</para></listitem>
</varlistentry>

</variablelist></para>

</sect1>

<sect1 id="texteditor">

<title>Text Editor</title>
<para>This category allow set text edior syntax highlighting</para>

<para>
<screenshot>
<screeninfo>Text Editor</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="setuptexteditor.png" format="PNG" />
	  </imageobject>
	</mediaobject>
</screenshot>
</para>

<para>
<variablelist>

<varlistentry>
<term><guilabel>Syntax highlighting</guilabel></term>
<listitem>
<para>
You may choose various colors for different XML syntax.
</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Element intendation</guilabel></term>
<listitem>
<para>
Choose element intendation for raw XML editing. This intendation is used also for saving document.
</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Wrap, instead of Hrz. Scroll bar</guilabel></term>
<listitem>
<para>
Disable horizontal srcrollbar and set word wrap ON for raw XML view and editing.
</para></listitem>
</varlistentry>

</variablelist></para>

</sect1>

</chapter>

<!-- ***************************************************************************** -->
<!--                                                                               -->
<!--                          Credits and licences                                 -->
<!--                                                                               -->
<!-- ***************************************************************************** -->

<!-- Include credits for the programmers, documentation writers, and
contributors here. The license for your software should then be included below
the credits with a reference to the appropriate license file included in the KDE
distribution. -->
<chapter id="credits">

<!-- Include credits for the programmers, documentation writers, and
contributors here. The license for your software should then be included below
the credits with a reference to the appropriate license file included in the KDE
distribution. -->

<title>Credits and License</title>

<para>
&kxmleditor; Program copyright 2001-2003 the &kxmleditor; developers:
</para>

<para><variablelist>

<varlistentry>
<term>Lumir Vanek <email>lvanek@users.sourceforge.net</email></term>
<listitem><para>Developer and maintainer</para></listitem>
</varlistentry>

<varlistentry>
<term>Olaf Hartig <email>hartig@users.sourceforge.net</email></term>
<listitem><para>Developer</para></listitem>
</varlistentry>

<varlistentry>
<term>Adam Charytoniuk <email>a_charytoniuk@users.sourceforge.net</email></term>
<listitem><para>Developer</para></listitem>
</varlistentry>

</variablelist></para>

<para>
Documentation copyright 2003 Lumir Vanek <email>lvanek@users.sourceforge.net</email>
</para>

<!--
<para>
Translations done by:
<itemizedlist>
<listitem>
<para>Babel D. Fish <email>babelfish@kde.org</email> (Sanskrit)</para>
</listitem>
</itemizedlist>
</para>
-->

&underFDL;               <!-- FDL: do not remove -->

<!-- Determine which license your application is licensed under,
     and delete all the remaining licenses below:

     (NOTE:  All documentation are licensed under the FDL,
     regardless of what license the application uses) -->

&underGPL;        	 <!-- GPL License -->

</chapter>

<!-- ***************************************************************************** -->
<!--                                                                               -->
<!--                             Installation                                      -->
<!--                                                                               -->
<!-- ***************************************************************************** -->

<appendix id="installation">
<title>Installation</title>

<sect1 id="getting-kxmleditor">
<title>How to obtain KXML Editor</title>

<para>
You may obtain &kxmleditor; from URL:
<ulink url="http://sourceforge.net/projects/kxmleditor">http://sourceforge.net/projects/kxmleditor</ulink>.
</para>
</sect1>

<sect1 id="requirements">
<title>Requirements</title>

<!--
List any special requirements for your application here. This should include:
.Libraries or other software that is not included in kdesupport,
kdelibs, or kdebase.
.Hardware requirements like amount of RAM, disk space, graphics card
capabilities, screen resolution, special expansion cards, etc.
.Operating systems the app will run on. If your app is designed only for a
specific OS, (you wrote a graphical LILO configurator for example) put this
information here.
-->

<para>
In order to successfully use &kxmleditor;, you need KDE 3.1.x or higher.
For instructions on acquiring &kde; please see <ulink url="http://www.kde.org">http://www.kde.org</ulink>.
</para>

</sect1>

<sect1 id="compilation">
<title>Compilation and installation</title>

<para>
In order to compile and install &kxmleditor; on your system, type the following in the base
directory:
<screen width="40">
<prompt>%</prompt> <userinput>./configure</userinput>
<prompt>%</prompt> <userinput>make</userinput>
<prompt>%</prompt> <userinput>make install</userinput>
</screen>
</para>

<para>Since &kxmleditor; uses autoconf and automake you should have not trouble compiling it.
Should you run into problems please report them to author.</para>

</sect1>

</appendix>

&documentation.index;
</book>
<!--
Local Variables:
mode: sgml
sgml-minimize-attributes: nil
sgml-general-insert-case: lower
End:
-->
