home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 23 / IOPROG_23.ISO / SOFT / XML / XMLSPY13.ZIP / XMLspy13.exe / file0017_13d733_142ae3.bin < prev    next >
Encoding:
Extensible Markup Language  |  1999-01-24  |  78.3 KB  |  2,016 lines

  1. <?XML version="1.0"?>
  2. <!-- edited with XML Spy v1.3  - http://www.xmlspy.com-->
  3. <user_manual>
  4.     <!--This XML version of the user manual has been created from the original Word97 file
  5. by means of an intermediate conversion to HTML format. An updated version
  6. (using the XML capabilities of Word2000) will be available in the future.-->
  7.     <info>
  8.         <meta http-equiv="Content-Type" content="text/html; 
  9. charset=windows-1252"/>
  10.         <meta name="Generator" content="Microsoft Word 97"/>
  11.         <meta name="subject" content="XML Spy User Manual"/>
  12.         <meta name="keywords" content="XML, DTD, Editor, Windows,
  13. Parser"/>
  14.         <meta name="Template" content="E:\Data\Icon\Dot-Files\Dokumentation.dot"/>
  15.         <title>Spy Manual</title>
  16.     </info>
  17.     <manual>
  18.         <div class="c5">
  19.             <p class="c2">
  20.                 <img src="shots/splash.gif" width="406" height="337"/>
  21.             </p>
  22.             <p class="c2">Version 1.3</p>
  23.             <h2 class="c3">A powerful - yet simple- tool for structured
  24. editing of XML and DTD files on the Windows platform.</h2>
  25.         </div>
  26.         <p class="c7">
  27.             <span class="c6">⌐1998-99</span>
  28.             <b>Icon</b>
  29.             <span class="c6">EDV Informations-Systeme GmbH. All rights
  30. reserved.</span>
  31.         </p>
  32.         <h1 class="c8">Contents</h1>
  33.         <p>
  34.             <b>
  35.                 <u>1. Introduction</u>
  36.             </b>
  37.             <a href="#_Toc441258490">*</a>
  38.         </p>
  39.         <p>
  40.             <b>
  41.                 <u>2. XML Overview</u>
  42.             </b>
  43.             <a href="#_Toc441258491">*</a>
  44.         </p>
  45.         <p>
  46.             <b>2.1 XML Documents</b>
  47.             <a href="#_Toc441258492">*</a>
  48.         </p>
  49.         <p>
  50.             <b>2.2 XML Tools</b>
  51.             <a href="#_Toc441258493">*</a>
  52.         </p>
  53.         <p>
  54.             <b>
  55.                 <u>3. Using XML Spy</u>
  56.             </b>
  57.             <a href="#_Toc441258494">*</a>
  58.         </p>
  59.         <p>
  60.             <b>3.1 Installation</b>
  61.             <a href="#_Toc441258495">*</a>
  62.         </p>
  63.         <p>
  64.             <b>3.2 Opening XML Files</b>
  65.             <a href="#_Toc441258496">*</a>
  66.         </p>
  67.         <p>
  68.             <b>3.3 Viewing XML Files</b>
  69.             <a href="#_Toc441258497">*</a>
  70.         </p>
  71.         <p>
  72.             <span class="c9">3.3.1 Tree View</span>
  73.             <a href="#_Toc441258498">*</a>
  74.         </p>
  75.         <p>
  76.             <span class="c9">3.3.2 Enhanced Grid View</span>
  77.             <a href="#_Toc441258499">*</a>
  78.         </p>
  79.         <p>
  80.             <span class="c9">3.3.3 Navigating</span>
  81.             <a href="#_Toc441258500">*</a>
  82.         </p>
  83.         <p>
  84.             <b>3.4 Editing XML Files</b>
  85.             <a href="#_Toc441258501">*</a>
  86.         </p>
  87.         <p>
  88.             <span class="c9">3.4.1 Modifying items</span>
  89.             <a href="#_Toc441258502">*</a>
  90.         </p>
  91.         <p>
  92.             <span class="c9">3.4.2 Adding items</span>
  93.             <a href="#_Toc441258503">*</a>
  94.         </p>
  95.         <p>
  96.             <span class="c9">3.4.3 Converting items</span>
  97.             <a href="#_Toc441258504">*</a>
  98.         </p>
  99.         <p>
  100.             <span class="c9">3.4.4 Copying items</span>
  101.             <a href="#_Toc441258505">*</a>
  102.         </p>
  103.         <p>
  104.             <span class="c9">3.4.5 Pasting items</span>
  105.             <a href="#_Toc441258506">*</a>
  106.         </p>
  107.         <p>
  108.             <span class="c9">3.4.6 Rearranging</span>
  109.             <a href="#_Toc441258507">*</a>
  110.         </p>
  111.         <p>
  112.             <span class="c9">3.4.7 Finding Text</span>
  113.             <a href="#_Toc441258508">*</a>
  114.         </p>
  115.         <p>
  116.             <span class="c9">3.4.8 Replacing Text</span>
  117.             <a href="#_Toc441258509">*</a>
  118.         </p>
  119.         <p>
  120.             <b>3.5 Printing XML Files</b>
  121.             <a href="#_Toc441258510">*</a>
  122.         </p>
  123.         <p>
  124.             <b>3.6 Editing DTD Files</b>
  125.             <a href="#_Toc441258511">*</a>
  126.         </p>
  127.         <p>
  128.             <b>3.7 Examples</b>
  129.             <a href="#_Toc441258512">*</a>
  130.         </p>
  131.         <p>
  132.             <b>
  133.                 <u>4. Reference</u>
  134.             </b>
  135.             <a href="#_Toc441258513">*</a>
  136.         </p>
  137.         <p>
  138.             <b>4.1 Toolbar</b>
  139.             <a href="#_Toc441258514">*</a>
  140.         </p>
  141.         <p>
  142.             <b>4.2 Command Reference</b>
  143.             <a href="#_Toc441258515">*</a>
  144.         </p>
  145.         <p>
  146.             <span class="c9">4.2.1 File Menu</span>
  147.             <a href="#_Toc441258516">*</a>
  148.         </p>
  149.         <p>
  150.             <span class="c9">4.2.2 Edit Menu</span>
  151.             <a href="#_Toc441258517">*</a>
  152.         </p>
  153.         <p>
  154.             <span class="c9">4.2.3 XML Menu</span>
  155.             <a href="#_Toc441258518">*</a>
  156.         </p>
  157.         <p>
  158.             <span class="c9">4.2.4 Item Type Submenu</span>
  159.             <a href="#_Toc441258519">*</a>
  160.         </p>
  161.         <p>
  162.             <span class="c9">4.2.5 View Menu</span>
  163.             <a href="#_Toc441258520">*</a>
  164.         </p>
  165.         <p>
  166.             <span class="c9">4.2.6 Window Menu</span>
  167.             <a href="#_Toc441258521">*</a>
  168.         </p>
  169.         <p>
  170.             <span class="c9">4.2.7 Mouse Menu</span>
  171.             <a href="#_Toc441258522">*</a>
  172.         </p>
  173.         <p>
  174.             <b>
  175.                 <u>5. Background Information</u>
  176.             </b>
  177.             <a href="#_Toc441258523">*</a>
  178.         </p>
  179.         <p>
  180.             <b>5.1 Shareware Notice</b>
  181.             <a href="#_Toc441258524">*</a>
  182.         </p>
  183.         <p>
  184.             <b>5.2 About the authors</b>
  185.             <a href="#_Toc441258525">*</a>
  186.         </p>
  187.         <p>
  188.             <b>5.3 XML Parsing</b>
  189.             <a href="#_Toc441258526">*</a>
  190.         </p>
  191.         <p>
  192.             <b>5.4 OS & Memory Requirements</b>
  193.             <a href="#_Toc441258527">*</a>
  194.         </p>
  195.         <p>
  196.             <b>5.5 Unicode Support</b>
  197.             <a href="#_Toc441258528">*</a>
  198.         </p>
  199.         <ol>
  200.             <li class="c11">
  201.                 <a name="_Toc441258490"/>
  202.                 <span class="c10">Introduction</span>
  203.             </li>
  204.         </ol>
  205.         <div class="c5">
  206.             <p class="c1">With the acceptance of XML as a new standard for data
  207. distribution and information engineering on the Internet, the need
  208. for a simple tool to quickly open and edit any XML document arises.
  209. Just like any common text editor does its job for plain ASCII
  210. files, such a tool must contain a bunch of simple to use commands
  211. that allow the user to browse through XML files and modify them as
  212. needed.</p>
  213.             <p class="c1">
  214.                 <img src="shots/mainframe.gif" width="484" height="389"/>
  215.             </p>
  216.             <p class="c1">XML Spy is exactly that kind of tool. With its
  217. structured approach it allows you to quickly view and edit any XML
  218. or DTD document on your PC.</p>
  219.             <p class="c1">Unlike the many Java-based XML editors available
  220. today, XML Spy is written entirely in C++ and is targeted
  221. specifically at the Windows platform. This results in a series of
  222. benefits for the PC user:</p>
  223.         </div>
  224.         <div class="c5">
  225.             <ul>
  226.                 <li class="c12">it is a lot faster than any Java-based editor</li>
  227.                 <li class="c12">it fully exploits the Windows user interface
  228. possibilities (e.g. drag & drop)</li>
  229.                 <li class="c12">it has rich structure views for the screen and many
  230. printing options</li>
  231.                 <li class="c12">it offers unlimited levels of "Undo"</li>
  232.                 <li class="c12">it contains detailed find & replace
  233. capabilities</li>
  234.             </ul>
  235.         </div>
  236.         <div class="c5">
  237.             <p class="c14">
  238.                 <span class="c13">XML Spy is shareware: you may
  239. evaluate the software for a period of up to 20 days free of charge.
  240. If you find XML Spy useful and would like to continue using the
  241. program after the evaluation period, you have to register with Icon
  242. (for further details please refer to the separate</span>
  243.                 <u>Shareware Notice</u>
  244.                 <span class="c13">at the end of this
  245. document).</span>
  246.             </p>
  247.         </div>
  248.         <ol>
  249.             <li class="c12">
  250.                 <a name="_Toc441258491"/>
  251.                 <span class="c10">XML
  252. Overview</span>
  253.             </li>
  254.             <li>
  255.                 <p class="c14">
  256.                     <span class="c13">The Extensible Markup Language
  257. (XML) is a subset of SGML that has been defined by the World Wide
  258. Web Consortium (W3C) in</span>
  259.                     <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a>
  260.                     <span class="c13">. Its goal is to
  261. enable generic SGML to be served, received, and processed on the
  262. Web in the way that is now possible with HTML. XML has been
  263. designed for ease of implementation and for interoperability with
  264. both SGML and HTML.</span>
  265.                 </p>
  266.                 <ol>
  267.                     <li class="c12">
  268.                         <a name="_Toc441258492"/>
  269.                         <span class="c15">XML
  270. Documents</span>
  271.                     </li>
  272.                     <li>
  273.                         <p class="c1">XML documents are made up of storage units called
  274. entities, which contain either parsed or unparsed data. Parsed data
  275. is made up of characters, some of which form character data, and
  276. some of which form markup. Markup encodes a description of the
  277. document's storage layout and logical structure. XML provides a
  278. mechanism to impose constraints on the storage layout and logical
  279. structure.</p>
  280.                         <p class="c1">A data object is an XML document if it is
  281. well-formed, as defined in the XML specification. A well-formed XML
  282. document may in addition be valid if it meets certain further
  283. constraints. Each XML document has both a logical and a physical
  284. structure. Physically, the document is composed of units called
  285. entities. An entity may refer to other entities to cause their
  286. inclusion in the document. A document begins in a root or document
  287. entity. Logically, the document is composed of declarations,
  288. elements, comments, character references, and processing
  289. instructions, all of which are indicated in the document by
  290. explicit markup. A document type definition (DTD) may define some
  291. rules for checking for the validity of XML documents.</p>
  292.                     </li>
  293.                     <li class="c12">
  294.                         <a name="_Toc441258493"/>
  295.                         <span class="c15">XML
  296. Tools</span>
  297.                     </li>
  298.                 </ol>
  299.                 <p class="c1">There are already a couple of tools available on the
  300. market that allow editing or creation of XML documents. Each one
  301. uses a slightly different approach and therefore may be suitable
  302. differently for different tasks.</p>
  303.                 <p class="c1">XML Spy is a non-validating XML editor and is focused
  304. on the structured display and manipulation of an XML or DTD file.
  305. It checks each document for well-formedness and displays its
  306. contents in a tree and enhanced grid view.</p>
  307.                 <p class="c1">Therefore, XML Spy is also an ideal companion to many
  308. large-scale commercial XML publishing suites, because it allows
  309. viewing and low-level editing once the documents have been produced
  310. by the publishing system.</p>
  311.             </li>
  312.             <li class="c12">
  313.                 <a name="_Toc441258494"/>
  314.                 <span class="c10">Using
  315. XML Spy</span>
  316.             </li>
  317.             <li>
  318.                 <p class="c1">XML Spy comes with an integrated setup program that
  319. installs the XML Spy application, documentation, samples, and
  320. required files. An uninstaller is also included and can be used to
  321. remove XML Spy from your computer if you do not need the software
  322. any longer.</p>
  323.                 <ol>
  324.                     <li class="c12">
  325.                         <a name="_Toc441258495"/>
  326.                         <span class="c15">Installation</span>
  327.                     </li>
  328.                     <li>
  329.                         <p class="c1">When you run the setup program, you are asked to
  330. specify an installation directory as well as a program folder in
  331. your "Start" menu. The setup program will then copy the entire
  332. software and samples to the designated installation directory and
  333. register XML Spy to be the default editor for all files with
  334. extensions "*.xml" and "*.dtd".</p>
  335.                     </li>
  336.                     <li class="c12">
  337.                         <a name="_Toc441258496"/>
  338.                         <span class="c15">Opening XML Files</span>
  339.                     </li>
  340.                     <li>
  341.                         <p class="c1">To start XML Spy you can either double-click on any
  342. XML file or select XML Spy from the program folder on the "Start"
  343. menu. While XML Spy starts up you'll see a splash screen with the
  344. program logo followed by a brief shareware reminder message (in the
  345. unregistered version only).</p>
  346.                         <p class="c1">On the "File" menu you will find commands to open a
  347. file from your computer ("Open...") or directly from the Internet
  348. ("Open URL...").</p>
  349.                         <p class="c1">The "Open..." command brings up the common Windows
  350. Dialog that allows you to choose a file from any drive and
  351. directory available on your PC.</p>
  352.                         <p class="c1">
  353.                             <img src="shots/OpenFile.gif" width="412" height="251"/>
  354.                         </p>
  355.                         <p class="c1">The extension "*.xml" or "*.dtd" automatically
  356. determines if the file will be interpreted as an Extended Markup
  357. Language (XML) or Document Type Definition (DTD) document.</p>
  358.                         <p class="c1">┬á</p>
  359.                         <p class="c1">To open a file directly from the Internet, you may
  360. use the "Open URL..." command:</p>
  361.                         <p class="c1">
  362.                             <img src="shots/OpenURL.gif" width="419" height="104"/>
  363.                         </p>
  364.                         <p class="c1">Since the specific kind of a file on the Internet
  365. can't always be determined from the URL, you must specify if the
  366. document is to be interpreted as an XML or DTD. You can also choose
  367. to load the file using a local cache or proxy server, or force a
  368. reload from its original source on the Internet.</p>
  369.                         <p class="c1">Whenever a file is opened, it is automatically
  370. checked for well-formedness and parsed according to the XML grammar
  371. specification. If an error is detected by XML Spy, the error
  372. message and document source is displayed inside a text editor
  373. window and the offending item is hilited:</p>
  374.                         <p class="c1">
  375.                             <img src="shots/error.gif" width="558" height="320"/>
  376.                         </p>
  377.                         <p class="c1">You can now easily correct the error and click on the
  378. "Reparse" button to check the modified document for well-formedness
  379. and try to open it again.</p>
  380.                         <p class="c1">As with any other XML editor, only well-formed XML
  381. documents can ever be opened and edited by XML Spy in the
  382. structured tree and enhanced grid display. The "Edit and Reparse"
  383. function upon opening of a malformed file does, however,
  384. dramatically reduce the time required to get a bad XML file
  385. fixed!</p>
  386.                         <p class="c14">
  387.                             <span class="c13">If an XML document is stored in a
  388. file using the UCS-16 encoding format, the current Shareware
  389. version 1.3 of XML Spy will be unable to open the file (please see
  390. the section</span>
  391.                             <u>Unicode Support</u>
  392.                             <span class="c13">for
  393. more details).</span>
  394.                         </p>
  395.                     </li>
  396.                     <li class="c12">
  397.                         <a name="_Toc441258497"/>
  398.                         <span class="c15">Viewing XML Files</span>
  399.                     </li>
  400.                     <li>
  401.                         <p class="c1">XML Spy displays each document as a window with a
  402. tree view on the left and an enhanced grid view on the right. The
  403. tree view outlines the overall structure (i.e. element hierarchy)
  404. of the file, while the grid shows each entity with as many details,
  405. as requested: if an element acts as a container for other elements,
  406. it can be expanded or collapsed by clicking on the tiny down-arrow
  407. button to the left of the element name. For each element the
  408. attributes are shown first, followed by child elements and any
  409. character data the element may contain.</p>
  410.                         <p class="c1">In addition to the elements, all other entities (e.g.
  411. processing instructions, comments, document type definitions, and
  412. even the "<?xml" version info at the beginning of each file) are
  413. also shown in the enhanced grid where they can be edited as
  414. well.</p>
  415.                         <ol>
  416.                             <li class="c12">
  417.                                 <a name="_Toc441258498"/>
  418.                                 <span class="c16">Tree
  419. View</span>
  420.                             </li>
  421.                             <li>
  422.                                 <p class="c1">Just like the familiar directory tree in the
  423. Explorer, the tree view in XML Spy gives you an overview of the
  424. overall structure of an XML document and lets you quickly browse to
  425. any element of interest. Each element that contains child elements
  426. is automatically included in the tree view.</p>
  427.                                 <p class="c1">
  428.                                     <img src="Image1.gif" width="162" height="371"/>The
  429. element hierarchy can be expanded and collapsed using the small +
  430. and ΓÇô symbols in front of each element name. In addition, the
  431. "Expand", "Collapse" and "Expand Fully" commands in the "View" menu
  432. are available for navigation in the tree. Three toolbar buttons
  433. serve as a shortcut to these commands as well.</p>
  434.                                 <p class="c1">Double-clicking on any element will navigate to the
  435. corresponding element in the enhanced grid view, where the element
  436. details can be viewed and edited.</p>
  437.                                 <p class="c14">
  438.                                     <span class="c13">The elements that form the
  439. hierarchical structure of an XML document, can also be directly
  440. modified in the tree view. Elements can easily be renamed, moved to
  441. a new position, copied to the clipboard or deleted. If you
  442. right-click on any element in the tree view, you can furthermore
  443. insert or append new entities on the same level or add child
  444. entities for the currently selected item. Please refer to the
  445. section</span>
  446.                                     <u>Editing XML Files</u>
  447.                                     <span class="c13">for more
  448. details.</span>
  449.                                 </p>
  450.                                 <p class="c1">Please note that for DTD documents there is no tree
  451. view, as document type definitions do not contain elements.</p>
  452.                             </li>
  453.                             <li class="c17">
  454.                                 <a name="_Toc441258499">Enhanced Grid View</a>
  455.                             </li>
  456.                             <li>
  457.                                 <p class="c1">The main portion of any XML Spy window is occupied by
  458. the enhanced grid view. All entities contained in an XML document
  459. are displayed in a structured way that allows for easy manipulation
  460. of contents and structure at the same time. Any hierarchical entity
  461. (such as the XML declaration, document type declaration, or any
  462. element that contains child elements) is represented with a gray
  463. side bar and a tiny arrow at the top that can be expanded and
  464. collapsed as needed.</p>
  465.                                 <p class="c1">
  466.                                     <img src="shots/grid.gif" width="581" height="382"/>
  467.                                 </p>
  468.                                 <p class="c1">The contents of such a hierarchical entity depend on
  469. its kind and ΓÇô in the case of elements ΓÇô mostly consist of
  470. attributes, character data, comments and child elements. To
  471. emphasize the strong coupling between attributes and the respective
  472. parent element, all attributes are always listed first and cannot
  473. be preceded by comments, character data or child elements. The
  474. order of the individual attributes is, however, preserved from the
  475. input file and can me modified if necessary.</p>
  476.                                 <p class="c1">Following the attributes, the remaining entities
  477. within an element appear exactly in the order found in the file and
  478. can be rearranged without limitations using drag & drop.</p>
  479.                                 <p class="c1">If an element contains only character data, the data
  480. will be shown in the same line as the element and the element will
  481. not be considered hierarchical by nature (and will therefore not be
  482. included in the tree view). The character data for any other
  483. element will be shown indented with the attributes and potential
  484. child elements and will be labeled as "Text" (see example
  485. screenshot above).</p>
  486.                                 <p class="c1">The grid view can easily be customized using the
  487. mouse to adjust column widths. The "Optimal widths" command on the
  488. "View" menu automatically adjusts all columns so that the currently
  489. visible contents of all items can be fully displayed. The heights
  490. of the cells are determined by their contents alone and cannot be
  491. adjusted by the user.</p>
  492.                                 <p class="c1">As an orientation aide, a special "Synchronize"
  493. command is also available on the "View" menu that will
  494. automatically synchronize the tree and grid views of the
  495. document.</p>
  496.                                 <p class="c1">┬á</p>
  497.                             </li>
  498.                             <li class="c12">
  499.                                 <a name="_Toc441258500"/>
  500.                                 <span class="c16">Navigating</span>
  501.                             </li>
  502.                         </ol>
  503.                         <p class="c1">In addition to moving about with the mouse, you can
  504. also use the keyboard for navigating through an XML document. The
  505. arrow keys move the selection in the tree and grid views and the +
  506. and ΓÇô keys on the numeric keypad allow you to expand and collapse
  507. items.</p>
  508.                         <p class="c1">In the tree view only one item at a time can be
  509. selected and the keys only expand and collapse the selected item.
  510. In the grid view, however, the selection can encompass many items
  511. at once. Therefore, when expanding an item, all subitems are
  512. automatically selected. This enables you to press the + key once
  513. more to expand all items on the second level, and so forth....</p>
  514.                     </li>
  515.                     <li class="c12">
  516.                         <a name="_Ref440644291"/>
  517.                         <a name="_Toc441258501"/>
  518.                         <span class="c15">Editing XML Files</span>
  519.                     </li>
  520.                     <li>
  521.                         <p class="c1">When editing files with XML Spy, several commands are
  522. available that facilitate the creation and manipulation of all
  523. entities permitted by the XML 1.0 specification. These commands and
  524. operations are described in detail in this chapter.</p>
  525.                         <p class="c1">While editing an XML document, it is possible to
  526. modify the entities in such a way that the corresponding XML file
  527. would not be well-formed according to the XML specification. XML
  528. Spy does, however, strictly prohibit the saving of such a malformed
  529. document and will flag any error and ask you to correct it. It is
  530. also possible to check a document for well-formedness anytime by
  531. using the "Validate" command on the "XML" menu.</p>
  532.                         <p class="c1">Please keep in mind that the Shareware version of XML
  533. Spy does not perform any validity checking in the sense of the XML
  534. specification (i.e. check the XML document against the rules set
  535. forth in its document type definition). This means that you can
  536. create a (well-formed) XML document with XML Spy, that will later
  537. be rejected by a validating XML processor.</p>
  538.                         <ol>
  539.                             <li class="c12">
  540.                                 <a name="_Toc441258502"/>
  541.                             </li>
  542.                             <li class="c17">Modifying items</li>
  543.                             <li>
  544.                                 <p class="c1">You can easily modify any item by clicking on the
  545. element name or its contents in the tree view or enhanced grid
  546. view. If you have been navigating inside the grid view using the
  547. keyboard, you can also use the <ENTER> or <RETURN> keys
  548. to start editing. A blinking text cursor will appear and you may
  549. change the text.</p>
  550.                                 <p class="c1">While editing an item, the arrow keys operate within
  551. the text of that element. You can also use the <Home> and
  552. <End> keys to jump to the beginning or end of a line. By
  553. pressing and holding down the <Ctrl> key the effect of the
  554. other navigation keys is modified according to this table:</p>
  555.                                 <div class="c22">
  556.                                     <table border="1" cellspacing="1" cellpadding="4" width="415">
  557.                                         <tr>
  558.                                             <td width="22%" valign="TOP">
  559.                                                 <p class="c18">Key</p>
  560.                                             </td>
  561.                                             <td width="39%" valign="TOP">
  562.                                                 <p class="c19">Normal</p>
  563.                                             </td>
  564.                                             <td width="39%" valign="TOP">
  565.                                                 <p class="c19">Ctrl + Key</p>
  566.                                             </td>
  567.                                         </tr>
  568.                                         <tr>
  569.                                             <td width="22%" valign="TOP">
  570.                                                 <p class="c20">Left arrow</p>
  571.                                             </td>
  572.                                             <td width="39%" valign="TOP">
  573.                                                 <p class="c21">Left one character</p>
  574.                                             </td>
  575.                                             <td width="39%" valign="TOP">
  576.                                                 <p class="c21">Left one word</p>
  577.                                             </td>
  578.                                         </tr>
  579.                                         <tr>
  580.                                             <td width="22%" valign="TOP">
  581.                                                 <p class="c20">Right arrow</p>
  582.                                             </td>
  583.                                             <td width="39%" valign="TOP">
  584.                                                 <p class="c21">Right one character</p>
  585.                                             </td>
  586.                                             <td width="39%" valign="TOP">
  587.                                                 <p class="c21">Right one word</p>
  588.                                             </td>
  589.                                         </tr>
  590.                                         <tr>
  591.                                             <td width="22%" valign="TOP">
  592.                                                 <p class="c20">Down arrow</p>
  593.                                             </td>
  594.                                             <td width="39%" valign="TOP">
  595.                                                 <p class="c21">Down one line</p>
  596.                                             </td>
  597.                                             <td width="39%" valign="TOP">┬á</td>
  598.                                         </tr>
  599.                                         <tr>
  600.                                             <td width="22%" valign="TOP">
  601.                                                 <p class="c20">Up arrow</p>
  602.                                             </td>
  603.                                             <td width="39%" valign="TOP">
  604.                                                 <p class="c21">Up one line</p>
  605.                                             </td>
  606.                                             <td width="39%" valign="TOP">┬á</td>
  607.                                         </tr>
  608.                                         <tr>
  609.                                             <td width="22%" valign="TOP">
  610.                                                 <p class="c20">Home</p>
  611.                                             </td>
  612.                                             <td width="39%" valign="TOP">
  613.                                                 <p class="c21">Start of line</p>
  614.                                             </td>
  615.                                             <td width="39%" valign="TOP">
  616.                                                 <p class="c21">Start of text</p>
  617.                                             </td>
  618.                                         </tr>
  619.                                         <tr>
  620.                                             <td width="22%" valign="TOP">
  621.                                                 <p class="c20">End</p>
  622.                                             </td>
  623.                                             <td width="39%" valign="TOP">
  624.                                                 <p class="c21">End of line</p>
  625.                                             </td>
  626.                                             <td width="39%" valign="TOP">
  627.                                                 <p class="c21">End of text</p>
  628.                                             </td>
  629.                                         </tr>
  630.                                         <tr>
  631.                                             <td width="22%" valign="TOP">
  632.                                                 <p class="c20">Return/Enter</p>
  633.                                             </td>
  634.                                             <td width="39%" valign="TOP">
  635.                                                 <p class="c21">Enter/Leave editing mode</p>
  636.                                             </td>
  637.                                             <td width="39%" valign="TOP">
  638.                                                 <p class="c21">Insert carriage return char</p>
  639.                                             </td>
  640.                                         </tr>
  641.                                         <tr>
  642.                                             <td width="22%" valign="TOP">
  643.                                                 <p class="c20">Tab</p>
  644.                                             </td>
  645.                                             <td width="39%" valign="TOP">
  646.                                                 <p class="c21">Jump to next editable item</p>
  647.                                             </td>
  648.                                             <td width="39%" valign="TOP">
  649.                                                 <p class="c21">Insert Tab character</p>
  650.                                             </td>
  651.                                         </tr>
  652.                                     </table>
  653.                                 </div>
  654.                                 <p class="c1">To select text, you can use the mouse as usual or any
  655. of the above navigation keys while holding down the <Shift>
  656. key. The selected text can be cut, copied and deleted by using the
  657. familiar commands on the "Edit" menu.</p>
  658.                                 <p class="c1">The "Undo" command is supported for all modifications
  659. and keeps track of an unlimited number of steps. This means that
  660. you can easily step back and forth through all your modifications
  661. using the "Undo" and "Redo" commands, if you wish to check or
  662. review the changes you have made.</p>
  663.                                 <p class="c1">To quit editing, simply press the <RETURN> or
  664. <ENTER> key to commit your changes or press <ESC> to
  665. cancel any modifications you have made. You can also use
  666. <TAB> to jump to the next editable item in sequence and
  667. immediately enter the editing mode there. As you would expect,
  668. <Shift>-<TAB> jumps to the previous editable item.</p>
  669.                                 <p class="c14">
  670.                                     <span class="c13">If you need to insert a line-break
  671. (i.e. <CR>, <LF>, or both) inside the text of an
  672. element, you'll have to use <Ctrl>-<RETURN>. The actual
  673. characters stored in the resulting file are determined by the
  674. line-break options in the</span>
  675.                                     <u>Settings...</u>
  676.                                     <span class="c13">dialog.</span>
  677.                                 </p>
  678.                                 <p class="c1">In a similar way you must use
  679. <Ctrl>-<TAB> to insert a Tab character into the text,
  680. because <TAB> alone is used for navigating between the
  681. different items in the grid view, when you want to edit each item
  682. in sequence. Please note that the original function of
  683. <Ctrl>-<TAB> (i.e. switching between open document
  684. windows) is, of course, still available when you are not in editing
  685. mode!</p>
  686.                             </li>
  687.                             <li class="c17">
  688.                                 <a name="_Toc441258503">Adding items</a>
  689.                             </li>
  690.                             <li>
  691.                                 <p class="c1">To add a new item, first select an existing item or
  692. location where you want the new item to be added. Then use one of
  693. these commands on the XML menu which are also available on the
  694. context-menu of the right mouse button.</p>
  695.                                 <ol>
  696.                                     <li class="c23">Insert item</li>
  697.                                     <li>
  698.                                         <p class="c1">Inserts the specified item before the location of the
  699. selected one. The kind of item inserted can be chosen from a
  700. submenu. Depending on the position in the XML document, not all
  701. item types can be inserted in all places (e.g. an Attribute-List,
  702. which is part of the DTD, can only be inserted inside the DTD).</p>
  703.                                         <p class="c14">
  704.                                             <span class="c13">Please note that in case of an
  705. attribute, the inserted item may appear to be inserted some lines
  706. above the current selection if an element or text item was selected
  707. as the location for the insertion operation. This is due to the
  708. fact that attributes always appear first below the parent element
  709. and can not be physically appear in any other place inside an
  710. element according to the XML specifications. The</span>
  711.                                             <u>Structure Normalization</u>
  712.                                             <span class="c13">function of XML Spy
  713. ensures that these constraints are also applied while editing an
  714. XML document.</span>
  715.                                         </p>
  716.                                     </li>
  717.                                     <li class="c23">Append item</li>
  718.                                     <li>
  719.                                         <p class="c1">Appends the item to the end of the parent's item
  720. list. This is useful if you want to add a large number of items in
  721. sequence and would like to add an item as the last one in the
  722. list.</p>
  723.                                     </li>
  724.                                     <li class="c23">Add child</li>
  725.                                 </ol>
  726.                                 <p class="c1">Adds the item as a child of the currently selected
  727. item. This allows you to directly add attributes and child-elements
  728. to an item without having to select another one of its child-items
  729. first.</p>
  730.                                 <p class="c1">Please note that an element that contains only
  731. character data (i.e. text) is shown in one line only to reduce the
  732. amount of space required to display that item.</p>
  733.                                 <p class="c1">
  734.                                     <img src="shots/element_plain.gif" width="445" height="20"/>
  735.                                 </p>
  736.                                 <p class="c1">Therefore, when you choose to add a child attribute
  737. or element to such an element, that element will henceforth have to
  738. be displayed in a hierarchical manner, so that the child items can
  739. be shown. The previous text of the element will now appear in a
  740. sub-item that is entitled "Text".</p>
  741.                                 <p class="c1">
  742.                                     <img src="shots/element_hierarchical.gif" width="521" height="59"/>
  743.                                 </p>
  744.                                 <p class="c1">┬á</p>
  745.                             </li>
  746.                             <li class="c12">
  747.                                 <a name="_Toc441258504"/>
  748.                                 <span class="c16">Converting items</span>
  749.                             </li>
  750.                             <li>
  751.                                 <p class="c1">Under rare circumstances you will also find that you
  752. have created an item of the wrong type but have already entered
  753. some data so that you simply don't want to delete it and create it
  754. anew. Or you may find that in your application you are sometimes
  755. modifying the structure so that it becomes necessary to change
  756. sub-elements into attributes.</p>
  757.                                 <p class="c1">To enable such operations, the "XML" menu as well as
  758. the context-menu (using the right mouse button) contain a command
  759. for converting the type of an item. Please note, however, that not
  760. all conversions are possible at all times. It is simply impossible
  761. to convert an element, that already contains child-items into any
  762. other type of item, because that operation would result in the loss
  763. of all child-item data.</p>
  764.                                 <p class="c1">Sometimes you may also receive a warning that the
  765. name or contents of an item will be lost in the conversion process
  766. (e.g. when converting from attribute to comment).</p>
  767.                             </li>
  768.                             <li class="c12">
  769.                                 <a name="_Ref441255194"/>
  770.                                 <a name="_Toc441258505"/>
  771.                                 <span class="c16">Copying items</span>
  772.                             </li>
  773.                             <li>
  774.                                 <p class="c1">You may at any time use the clipboard to copy items
  775. to and from an XML document. While copying and pasting items within
  776. XML Spy, all information about content and structure is retained in
  777. an internal format.</p>
  778.                                 <p class="c14">
  779.                                     <span class="c13">If you would like to use the items
  780. in any outside application (such as your word processor or
  781. spreadsheet) you can choose to copy the items as tagged XML-text or
  782. in a structured, TAB-separated form that is suitable for pasting
  783. into tables. The format used by the copy command can be adjusted in
  784. the</span>
  785.                                     <u>Settings...</u>
  786.                                     <span class="c13">dialog.</span>
  787.                                 </p>
  788.                             </li>
  789.                             <li class="c12">
  790.                                 <a name="_Ref441245512"/>
  791.                                 <a name="_Toc441258506"/>
  792.                                 <span class="c16">Pasting items</span>
  793.                             </li>
  794.                             <li>
  795.                                 <p class="c1">If you want to paste an item within XML Spy, the item
  796. is per default just pasted at the specified location as you would
  797. intuitively expect. Sometimes, however, this behavior can be
  798. undesirable. As an example consider this XML document:</p>
  799.                                 <p class="c24"><drawing></p>
  800.                                 <p class="c24"><shapelist></p>
  801.                                 <p class="c24"><rect color="black"></p>
  802.                                 <p class="c24"><point x="10" y="50"></p>
  803.                                 <p class="c24"><point x="80" y="90"></p>
  804.                                 <p class="c24"></shapelist></p>
  805.                                 <p class="c24"></drawing></p>
  806.                                 <p class="c1">If you copied just the attribute color="black" and
  807. were later to paste it directly at the top-level on another drawing
  808. element, XML Spy would insert it as an attribute of the
  809. <drawing> element ΓÇô which could potentially be in violation
  810. of the DTD.</p>
  811.                                 <p class="c14">
  812.                                     <span class="c13">Therefore XML Spy can optionally
  813. be instructed to insert an item with the appropriate parent
  814. structure for the location that you pasted it into (this is
  815. selectable in the</span>
  816.                                     <u>Settings...</u>
  817.                                     <span class="c13">dialog). Activating this function for the above example would
  818. automatically create an new empty <rect> element inside a new
  819. <shapelist> element inside the <drawing> and paste the
  820. attribute into the <rect> element ΓÇô thereby attempting to
  821. preserve the parent structure of the element that was originally
  822. copied (it was, after all, a color attribute of a <rect>, not
  823. of a <drawing>).</span>
  824.                                 </p>
  825.                             </li>
  826.                             <li class="c12">
  827.                                 <a name="_Toc441258507"/>
  828.                                 <span class="c16">Rearranging</span>
  829.                             </li>
  830.                             <li>
  831.                                 <p class="c1">There are two options for rearranging items in an XML
  832. document: using the clipboard (Cut/Copy/Paste) menu commands or
  833. using the mouse to drag and drop items.</p>
  834.                                 <p class="c1">Please note that XML Spy does not check for
  835. conformance with any DTD when you are restructuring your document.
  836. XML Spy is a non-validating editor and therefore can only enforce
  837. the well-formedness of the resulting document.</p>
  838.                                 <p class="c1">It does, however, try to help you in keeping a
  839. document conforming to a DTD when you move or duplicate items by
  840. inserting as many parent elements as necessary (depending on the
  841. target location) together with the item actually copied.</p>
  842.                                 <ol>
  843.                                     <li class="c23">Cut & Paste</li>
  844.                                     <li>
  845.                                         <p class="c14">
  846.                                             <span class="c13">Moving items about with Cut &
  847. Paste has the one benefit of being accessible by keyboard alone. In
  848. most other circumstances it is easier to use the mouse to drag and
  849. drop items in a graphic fashion. Also, drag & drop allows for
  850. more fine control when deciding what is to be dropped in the target
  851. location, whereas with pasting you can only adjust one global
  852. setting to determine whether you intend to paste with the parent
  853. structure or without (see</span>
  854.                                             <u>Pasting items</u>
  855.                                             <span class="c13">for details).</span>
  856.                                         </p>
  857.                                     </li>
  858.                                     <li class="c23">Drag & Drop</li>
  859.                                 </ol>
  860.                                 <p class="c1">To move items about, just drag them to their new
  861. location with the mouse and drop them there. To duplicate an item,
  862. hold down the <Ctrl> key while dropping the item:</p>
  863.                                 <p class="c1">
  864.                                     <img src="shots/dragdrop.gif" width="524" height="388"/>
  865.                                 </p>
  866.                                 <p class="c1">While dragging an item, the current target location
  867. for the "drop" is always hilited using a cross-hair that shows the
  868. exact spot where the item will be inserted. This gives you precise
  869. control over the position where the item is moved to and thereby
  870. reduces the amount of work incurred by unsuccessful attempts.</p>
  871.                                 <p class="c14">
  872.                                     <span class="c13">When dropping an item, it is again
  873. created "as is" or with the required parent element structure to
  874. fit into the target hierarchy ΓÇô depending on the options in
  875. the</span>
  876.                                     <u>Settings...</u>
  877.                                     <span class="c13">dialog (see</span>
  878.                                     <u>Pasting items</u>
  879.                                     <span class="c13">for details).</span>
  880.                                 </p>
  881.                                 <p class="c1">If you need more fine-control over the insertion
  882. process, you can drag an item using the right mouse button (with or
  883. without the <Ctrl> key depending on whether you intend to
  884. move or copy the item). When you drop off an item using the right
  885. mouse button, a small menu appears that allows you to select
  886. exactly up to what level the parent elements should be created for
  887. the item:</p>
  888.                                 <p class="c1">
  889.                                     <img src="shots/dragdropchoice.gif" width="524" height="388"/>
  890.                                 </p>
  891.                                 <p class="c1">This way you can easily keep a document conforming to
  892. its DTD and furthermore save a lot of time which would normally be
  893. spent on creating elements within elements within elements.</p>
  894.                             </li>
  895.                             <li class="c17">
  896.                                 <a name="_Toc441258508">Finding Text</a>
  897.                             </li>
  898.                             <li>
  899.                                 <p class="c1">While any text editor will allow you to find a string
  900. inside a file, only XML Spy offers you the precision controls to
  901. find exactly what you are looking for. To quickly locate any text
  902. inside an XML file, the "Find" command on the "Edit" menu offers a
  903. multitude of options for specifying where the text should be
  904. located and what is to be considered a match.</p>
  905.                                 <p class="c1">
  906.                                     <img src="shots/find.gif" width="344" height="221"/>
  907.                                 </p>
  908.                                 <p class="c14">
  909.                                     <span class="c13">You can restrict the search
  910. operation to certain types of entities and can specify whether you
  911. want to find matches in names, contents or both. Furthermore it is
  912. possible to search for the any item of a specified type (e.g. the
  913. first Processing instruction) by leaving the "Find what" field
  914. empty. The other options are familiar from most development tools
  915. and are explained in detail in the</span>
  916.                                     <u>Reference</u>
  917.                                     <span class="c13">section.</span>
  918.                                 </p>
  919.                                 <p class="c1">If the find window should ever obstruct the found
  920. item in the grid view, the find window will automatically be
  921. relocated to a different position on the screen, so that you can
  922. easily continue to search for further occurrences with the "Find
  923. Next" button.</p>
  924.                             </li>
  925.                             <li class="c12">
  926.                                 <a name="_Toc441258509"/>
  927.                                 <span class="c16">Replacing Text</span>
  928.                             </li>
  929.                         </ol>
  930.                         <p class="c1">Sometimes the need arises to replace some or all
  931. occurrences of a certain word or phrase with another text. Again
  932. XML Spy offers many options for replacing the text.</p>
  933.                         <p class="c1">
  934.                             <img src="shots/replace.gif" width="344" height="238"/>
  935.                         </p>
  936.                         <p class="c1">As a security precaution the "Replace all" command
  937. shows each individual replacement operation in the grid view so
  938. that you can interrupt the operation by pressing <ESC>
  939. anytime. Furthermore, each replacement is recorded as one operation
  940. that can be undone individually.</p>
  941.                     </li>
  942.                     <li class="c12">
  943.                         <a name="_Toc441258510"/>
  944.                         <span class="c15">Printing XML Files</span>
  945.                     </li>
  946.                     <li>
  947.                         <p class="c1">While XML documents are normally used for electronic
  948. distribution, sometimes there is still a need for producing a
  949. printed copy for meeting notes, documentation or other presentation
  950. purposes.</p>
  951.                         <p class="c1">To aid in this task, XML Spy offers several flags
  952. that can be set to control what is to be printed and in which
  953. form.</p>
  954.                         <p class="c1">
  955.                             <img src="shots/Print.gif" width="433" height="231"/>
  956.                         </p>
  957.                         <p class="c1">Each type of item can be turned on and off
  958. individually to select just what kind of information is to appear
  959. on the printed page. You can choose to print the element tree only
  960. or the whole contents of the file and you can expand all levels as
  961. necessary.</p>
  962.                         <p class="c1">Depending on your objective for the printout, you may
  963. split larger documents over several pages in order to glue them
  964. together to produce an impressive poster, or you can reduce the
  965. size of the printout to shrink the whole document down to exactly
  966. one page.</p>
  967.                         <p class="c1">To save the environment and preserve natural
  968. resources, XML Spy includes a "Preview" command right in the Print
  969. dialog that lets you view the final result before committing it to
  970. paper.</p>
  971.                         <p class="c1">
  972.                             <img src="file:///\\Melange/dfs/proj/akt/XML 
  973. Spy/manual/shots/preview.gif" width="546" height="422"/>
  974.                         </p>
  975.                         <p class="c1">In this preview you can view any page in various zoom
  976. levels and directly print the document once you are satisfied with
  977. your results.</p>
  978.                     </li>
  979.                     <li class="c12">
  980.                         <a name="_Toc441258511"/>
  981.                         <span class="c15">Editing DTD Files</span>
  982.                     </li>
  983.                     <li>
  984.                         <p class="c1">Document type definitions (DTDs) can be embedded
  985. inside XML documents or can be contained in external DTD files. XML
  986. Spy can edit DTDs in either place, but does not include support for
  987. structured display of element-type, attribute-list or other DTD
  988. declaration items. These are all, of course, checked for
  989. well-formedness according to the XML specification, but otherwise
  990. have to be edited as text.</p>
  991.                         <p class="c14">
  992.                             <span class="c13">Experimental support for editing
  993. full SGML-type DTDs is available separately for registered users.
  994. Please send an e-mail message to</span>
  995.                             <a href="mailto:support@xmlspy.com">support@xmlspy.com</a>
  996.                             <span class="c13">to request a grammar description file that accepts these
  997. extended DTDs.</span>
  998.                         </p>
  999.                     </li>
  1000.                     <li class="c12">
  1001.                         <a name="_Toc441258512"/>
  1002.                         <span class="c15">Examples</span>
  1003.                     </li>
  1004.                 </ol>
  1005.                 <p class="c1">We have now guided you through the main features of
  1006. XML Spy. Included with the application are a couple of example
  1007. documents to get you started with XML editing.</p>
  1008.                 <p class="c14">
  1009.                     <span class="c13">For further information, please
  1010. refer to the following</span>
  1011.                     <u>Reference</u>
  1012.                     <span class="c13">section of this manual or send an e-mail message to</span>
  1013.                     <a href="mailto:support@xmlspy.com">support@xmlspy.com</a>
  1014.                     <span class="c13">.</span>
  1015.                 </p>
  1016.             </li>
  1017.             <li class="c12">
  1018.                 <a name="_Ref440644641"/>
  1019.                 <a name="_Toc441258513"/>
  1020.                 <span class="c10">Reference</span>
  1021.             </li>
  1022.             <li>
  1023.                 <p class="c1">The reference section contains a complete description
  1024. of all XML Spy commands and explains their use in general. We've
  1025. tried to make this user manual as comprehensive as possible. In
  1026. many cases, however, the operation of a command is rather
  1027. self-evident so we've kept the description to a minimum in order to
  1028. reduce the time required to study this documentation.</p>
  1029.                 <p class="c14">
  1030.                     <span class="c13">If you have questions which are
  1031. not covered by this documentation and you are a registered user,
  1032. please don't hesitate to contact us at</span>
  1033.                     <a href="mailto:support@xmlspy.com">support@xmlspy.com</a>
  1034.                     <span class="c13">.</span>
  1035.                 </p>
  1036.                 <ol>
  1037.                     <li class="c12">
  1038.                         <a name="_Toc441258514"/>
  1039.                         <span class="c15">Toolbar</span>
  1040.                     </li>
  1041.                 </ol>
  1042.             </li>
  1043.         </ol>
  1044.         <div class="c5">
  1045.             <p class="c1">The XML Spy toolbar contains symbols for the most
  1046. frequently used menu commands. For each symbol you'll get a brief
  1047. "tool tip" explanation when the mouse cursor is directly over the
  1048. item. You can also drag the toolbar from its standard position to
  1049. any location on the screen, where it will be available as a
  1050. floating palette window.</p>
  1051.             <p class="c1">
  1052.                 <img src="shots/toolbar.gif" width="539" height="47"/>
  1053.             </p>
  1054.             <p class="c1">The commands available on the toolbar are (in order
  1055. from left to right):</p>
  1056.         </div>
  1057.         <div class="c5">
  1058.             <ul>
  1059.                 <li>
  1060.                     <u>New</u>
  1061.                     <span class="c13">Create a new XML file</span>
  1062.                 </li>
  1063.                 <li>
  1064.                     <u>Open...</u>
  1065.                     <span class="c13">Open an existing XML
  1066. file</span>
  1067.                 </li>
  1068.                 <li>
  1069.                     <u>Save</u>
  1070.                     <span class="c13">Save current file</span>
  1071.                 </li>
  1072.                 <li>
  1073.                     <u>Validate</u>
  1074.                     <span class="c13">Check current file for
  1075. well-formedness</span>
  1076.                 </li>
  1077.                 <li>
  1078.                     <u>Print...</u>
  1079.                     <span class="c13">Print current
  1080. file</span>
  1081.                 </li>
  1082.                 <li>
  1083.                     <u>Undo</u>
  1084.                     <span class="c13">(multi-level) Undo last
  1085. command</span>
  1086.                 </li>
  1087.                 <li>
  1088.                     <u>Redo</u>
  1089.                     <span class="c13">(multi-level) Redo the command
  1090. last undone</span>
  1091.                 </li>
  1092.                 <li>
  1093.                     <u>Cut</u>
  1094.                     <span class="c13">Cut selected
  1095. text/entities</span>
  1096.                 </li>
  1097.                 <li>
  1098.                     <u>Copy</u>
  1099.                     <span class="c13">Copy selected
  1100. text/entities</span>
  1101.                 </li>
  1102.                 <li>
  1103.                     <u>Paste</u>
  1104.                     <span class="c13">Paste contents of
  1105. clipboard</span>
  1106.                 </li>
  1107.                 <li>
  1108.                     <u>Find...</u>
  1109.                     <span class="c13">Find text</span>
  1110.                 </li>
  1111.                 <li>
  1112.                     <u>Find Next</u>
  1113.                     <span class="c13">Repeat last find
  1114. command</span>
  1115.                 </li>
  1116.                 <li>
  1117.                     <u>Replace...</u>
  1118.                     <span class="c13">Replace text</span>
  1119.                 </li>
  1120.                 <li class="c12">Synchronize Synchronize tree and grid views</li>
  1121.                 <li>
  1122.                     <u>Expand</u>
  1123.                     <span class="c13">Expand one level of selected
  1124. entities</span>
  1125.                 </li>
  1126.                 <li>
  1127.                     <u>Collapse</u>
  1128.                     <span class="c13">Collapse selected
  1129. entities</span>
  1130.                 </li>
  1131.                 <li>
  1132.                     <u>Expand fully</u>
  1133.                     <span class="c13">Expand all levels of
  1134. selected entities</span>
  1135.                 </li>
  1136.                 <li>
  1137.                     <u>Optimal widths</u>
  1138.                     <span class="c13">Adjust column widths
  1139. for optimal display</span>
  1140.                 </li>
  1141.                 <li>
  1142.                     <u>Move left</u>
  1143.                     <span class="c13">Move entity to the
  1144. left</span>
  1145.                 </li>
  1146.                 <li>
  1147.                     <u>Move right</u>
  1148.                     <span class="c13">Move entity to the
  1149. right</span>
  1150.                 </li>
  1151.                 <li>
  1152.                     <u>Help</u>
  1153.                     <span class="c13">Show "About" dialog</span>
  1154.                 </li>
  1155.             </ul>
  1156.         </div>
  1157.         <div class="c5">
  1158.             <ol>
  1159.                 <li class="c12">
  1160.                     <a name="_Toc441258515"/>
  1161.                     <span class="c15">Command Reference</span>
  1162.                 </li>
  1163.                 <li>
  1164.                     <p class="c1">XML Spy supports all standard Windows commands on the
  1165. "File" and "Edit" menus to enable the user to quickly exploit all
  1166. capabilities of the program. Wherever appropriate, additional
  1167. commands have been added to support special XML- or
  1168. Internet-related features (such as opening documents directly from
  1169. an URL).</p>
  1170.                     <ol>
  1171.                         <li class="c12">
  1172.                             <a name="_Toc441258516"/>
  1173.                             <span class="c16">File
  1174. Menu</span>
  1175.                         </li>
  1176.                         <li>
  1177.                             <p class="c1">The "File" menu contains all commands required to
  1178. manipulate XML and DTD file in XML Spy. Furthermore a list of the
  1179. nine most recently used files (MRUs) is kept on the "File" menu to
  1180. facilitate the quick opening of frequently used documents in a
  1181. project.</p>
  1182.                             <p class="c1">
  1183.                                 <img src="shots/m_file.gif" width="227" height="372"/>
  1184.                             </p>
  1185.                             <p class="c1">┬á</p>
  1186.                             <ol>
  1187.                                 <li class="c12">
  1188.                                     <a name="_Ref440646535"/>
  1189.                                     <span class="c25">New</span>
  1190.                                 </li>
  1191.                                 <li>
  1192.                                     <p class="c1">Creates a new empty XML document window. For your
  1193. convenience the following XML version info tag is automatically
  1194. inserted:</p>
  1195.                                     <p class="c24"><?XML version="1.0"
  1196. encoding="ISO-8859-1"?></p>
  1197.                                     <p class="c1">This information can, of course, be edited or deleted
  1198. later on.</p>
  1199.                                 </li>
  1200.                                 <li class="c23">New DTD</li>
  1201.                                 <li>
  1202.                                     <p class="c1">Creates a new empty document type definition window.
  1203. While this command is here for the sake of completeness, we don't
  1204. currently recommend that you create DTDs from scratch using XML
  1205. Spy. Writing a DTD is a different form of art and there are tools
  1206. coming from the SGML market that are (currently) more adept for
  1207. this task.</p>
  1208.                                     <p class="c1">XML Spy lets you edit DTDs embedded in XML files as
  1209. well as standalone DTD documents. This editing is, however,
  1210. somewhat limited because most elements inside a DTD are displayed
  1211. as text only. While they are, of course, checked for
  1212. well-formedness, there is no user-interface support for comfortably
  1213. creating attribute-lists, element declarations and other DTD
  1214. items.</p>
  1215.                                     <p class="c1">If you register for XML Spy, we will, however,
  1216. automatically keep you informed about both new product versions
  1217. that can better handle DTDs and future offers.</p>
  1218.                                 </li>
  1219.                                 <li class="c12">
  1220.                                     <a name="_Ref440646554"/>
  1221.                                     <span class="c25">Open...</span>
  1222.                                 </li>
  1223.                                 <li>
  1224.                                     <p class="c1">Opens an XML or DTD file from your PC. The familiar
  1225. Windows "Open" dialog will appear and allow you to select one ore
  1226. more files for editing.</p>
  1227.                                     <p class="c1">
  1228.                                         <img src="shots/OpenFile.gif" width="439" height="267"/>
  1229.                                     </p>
  1230.                                     <p class="c1">You can select which kind of files you want to be
  1231. displayed in the dialog (XML, DTD or all files).</p>
  1232.                                 </li>
  1233.                                 <li class="c23">Open URL</li>
  1234.                                 <li>
  1235.                                     <p class="c1">If you don't have the required file on your hard
  1236. disk, you can also open a document directly from a URL (uniform
  1237. resource locator) address.</p>
  1238.                                     <p class="c1">
  1239.                                         <img src="shots/OpenURL.gif" width="477" height="119"/>
  1240.                                     </p>
  1241.                                     <p class="c1">Due to the nature of URLs it is not possible to
  1242. detect the file type by looking at the extension. You will,
  1243. therefore, have to specify if the targeted file is an XML or DTD
  1244. document.</p>
  1245.                                     <p class="c1">To give you more control over the loading process,
  1246. you can choose to load the file through the local cache or a proxy
  1247. server (which will considerably speed up the time required for
  1248. opening the file, if it has already been loaded before). Under
  1249. other circumstances you may want to reload the file anew in every
  1250. case (e.g. when you are working with an electronic publishing or
  1251. database system and wish to view the life output from the software
  1252. using XML Spy).</p>
  1253.                                     <p class="c1">┬á</p>
  1254.                                 </li>
  1255.                                 <li class="c23">Close</li>
  1256.                                 <li>
  1257.                                     <p class="c1">Closes the frontmost document. If the file has been
  1258. modified (i.e. the window title show the file name with an asterisk
  1259. [*] in the end), you will be asked if you wish to save the file
  1260. first.</p>
  1261.                                 </li>
  1262.                                 <li class="c12">
  1263.                                     <a name="_Ref440646570"/>
  1264.                                     <span class="c25">Save</span>
  1265.                                 </li>
  1266.                                 <li>
  1267.                                     <p class="c1">Saves the contents of the frontmost document window
  1268. to the file it has been opened from. If the document has been
  1269. opened from a URL, the "Save as..." dialog is presented
  1270. instead.</p>
  1271.                                     <p class="c1">When saving a document, it is automatically checked
  1272. for well-formedness, because all XML documents must be well-formed
  1273. ΓÇô otherwise they could not be interpreted by any other XML
  1274. application.</p>
  1275.                                 </li>
  1276.                                 <li class="c23">Save as...</li>
  1277.                                 <li>
  1278.                                     <p class="c1">Shows the familiar Windows "Save as..." dialog to ask
  1279. for the name and location of the file that is to be saved. Then it
  1280. proceeds to the Save operation as described above.</p>
  1281.                                     <p class="c1">┬á</p>
  1282.                                 </li>
  1283.                                 <li class="c12">
  1284.                                     <a name="_Ref440646606"/>
  1285.                                     <span class="c25">Print...</span>
  1286.                                 </li>
  1287.                             </ol>
  1288.                         </li>
  1289.                     </ol>
  1290.                 </li>
  1291.             </ol>
  1292.         </div>
  1293.         <div class="c5">
  1294.             <p class="c1">Bring up the "Print" dialog where you can adjust
  1295. certain options to control what appears on the printed
  1296. representation.</p>
  1297.             <p class="c1">
  1298.                 <img src="shots/Print.gif" width="443" height="236"/>
  1299.             </p>
  1300.         </div>
  1301.         <ul>
  1302.             <li class="c12">In the "Types" area you can select what kind of
  1303. items you wish to appear in the output. This allows you to hide
  1304. comments as well as processing instructions or DTD items. For an
  1305. explanation of the item types, please refer to the XML
  1306. specification.</li>
  1307.             <li class="c12">In the "What" area you can choose to print the
  1308. entire file or just the current selection.</li>
  1309.             <li class="c12">In the "Expand" area you can elect to print the
  1310. document as it has been expanded on the screen, or to print the
  1311. entire document with all child elements expanded fully.</li>
  1312.             <li class="c12">In the "Contents" area you can decide to print the
  1313. contents of all elements in a document, or you may also print only
  1314. those elements that form the hierarchical "tree" structure of the
  1315. document. This should, however, not be confused with the tree view
  1316. on the left side of each document window, wich is only used as a
  1317. navigation aide on the screen and cannot be printed.</li>
  1318.             <li class="c12">In the "If contents is wider than page" area you
  1319. can decide what to do if the document is larger than one page of
  1320. paper.</li>
  1321.             <li>
  1322.                 <ul>
  1323.                     <li class="c26">The "Split pages" option will print the entire
  1324. document in its regular size and split the contents on as many
  1325. pages (both horizontally and vertically) as are required. These
  1326. pages can later be glued together to form a huge poster of the
  1327. document.</li>
  1328.                     <li class="c26">The "First page" option is especially useful if you
  1329. believe that your page is only a bit too narrow and that most of
  1330. the important information is contained on the left side, anyway.
  1331. This will result in a printed output that is split into pages
  1332. vertically (as necessary), but will only print the first page
  1333. horizontally so that the document is printed as one huge vertical
  1334. strip.</li>
  1335.                     <li class="c26">The "Shrink horizontally" option reduces the size
  1336. of the printed output, until it fits on one page horizontally. The
  1337. output may, however, still span several pages vertically and is
  1338. split accordingly.</li>
  1339.                     <li class="c26">The "Shrink both" option shrinks the document in
  1340. both directions until it fits exactly on one sheet, thus making it
  1341. useful for overviews.</li>
  1342.                 </ul>
  1343.             </li>
  1344.             <li class="c12">The "Print" button prints the document with the
  1345. selected options.</li>
  1346.             <li class="c12">The "Preview" button opens a print preview window
  1347. that lets you view the final output before committing it to
  1348. paper.</li>
  1349.             <li class="c12">The "Print Setup" button opens the "Print Setup"
  1350. dialog and allows you to adjust the paper format, orientation, and
  1351. other printer options for this print job only.</li>
  1352.         </ul>
  1353.         <p class="c1">┬á</p>
  1354.         <div class="c5">
  1355.             <ol>
  1356.                 <li class="c23">Print Setup</li>
  1357.                 <li>
  1358.                     <p class="c1">Shows the printer-specific "Print Setup" dialog to
  1359. allow setting the paper format, orientation, and other printer
  1360. options for all further print jobs.</p>
  1361.                     <p class="c1">┬á</p>
  1362.                 </li>
  1363.                 <li class="c23">Most recently used files (MRU)</li>
  1364.                 <li>
  1365.                     <p class="c1">Shows the file name and path information for the nine
  1366. most recently used files so that they can be accessed more quickly
  1367. and easily the next time XML Spy is started.</p>
  1368.                     <p class="c1">┬á</p>
  1369.                 </li>
  1370.                 <li class="c23">Exit</li>
  1371.             </ol>
  1372.         </div>
  1373.         <div class="c5">
  1374.             <p class="c1">Closes all open windows ΓÇô asking to save their
  1375. contents, if necessary ΓÇô and quits the XML Spy application
  1376. program.</p>
  1377.             <p class="c1">┬á</p>
  1378.         </div>
  1379.         <div class="c5">
  1380.             <ol>
  1381.                 <li class="c17">
  1382.                     <a name="_Toc441258517">Edit Menu</a>
  1383.                 </li>
  1384.                 <li>
  1385.                     <p class="c1">The "Edit" menu contains all necessary commands used
  1386. for manipulating item text or XML items. The Cut, Copy, Paste,
  1387. Delete and Select All commands can be applied while editing text as
  1388. well as while operating on whole items or even selections of more
  1389. than one item.</p>
  1390.                     <p class="c14">
  1391.                         <span class="c13">For a discussion of the clipboard
  1392. contents in foreign applications and the parent element hierarchy
  1393. upon pasting please refer to the sections Copying items and</span>
  1394.                         <u>Pasting items</u>
  1395.                         <span class="c13">.</span>
  1396.                     </p>
  1397.                     <p class="c1">
  1398.                         <img src="shots/m_edit.gif" width="131" height="202"/>
  1399.                     </p>
  1400.                     <p class="c1">┬á</p>
  1401.                     <ol>
  1402.                         <li class="c12">
  1403.                             <a name="_Ref440646618"/>
  1404.                             <span class="c25">Undo</span>
  1405.                         </li>
  1406.                         <li>
  1407.                             <p class="c1">XML Spy contains support for unlimited levels of
  1408. Undo! Every action in XML Spy can be undone and it is possible to
  1409. undo one command after another. The Undo history is even kept after
  1410. using the "Save" command, so you can still go back to a state the
  1411. document was in before you saved your changes.</p>
  1412.                         </li>
  1413.                         <li class="c12">
  1414.                             <a name="_Ref440646629"/>
  1415.                             <span class="c25">Redo</span>
  1416.                         </li>
  1417.                         <li>
  1418.                             <p class="c1">Until you don't apply any other new changes, the
  1419. previously undone commands can also be redone again ΓÇô thereby
  1420. giving you a complete history of the work you have completed. You
  1421. can step back and forward through this history using the Undo and
  1422. Redo commands.</p>
  1423.                         </li>
  1424.                         <li class="c12">
  1425.                             <a name="_Ref440646641"/>
  1426.                             <span class="c25">Cut</span>
  1427.                         </li>
  1428.                         <li>
  1429.                             <p class="c1">The Cut command copies the selected text or items to
  1430. the clipboard and then deletes them from their present
  1431. location.</p>
  1432.                         </li>
  1433.                         <li class="c12">
  1434.                             <a name="_Ref440646657"/>
  1435.                             <span class="c25">Copy</span>
  1436.                         </li>
  1437.                         <li>
  1438.                             <p class="c1">The Copy command copies the selected text or items to
  1439. the clipboard.</p>
  1440.                         </li>
  1441.                         <li class="c12">
  1442.                             <a name="_Ref440646668"/>
  1443.                             <span class="c25">Paste</span>
  1444.                         </li>
  1445.                         <li>
  1446.                             <p class="c1">The Paste command inserts the contents of the
  1447. clipboard at the current insertion point.</p>
  1448.                         </li>
  1449.                         <li class="c23">Delete</li>
  1450.                         <li>
  1451.                             <p class="c1">The Delete command removes the currently selected
  1452. text or items without placing them on the Clipboard first.</p>
  1453.                         </li>
  1454.                         <li class="c23">Select All</li>
  1455.                         <li>
  1456.                             <p class="c1">The Select All command selects all the text of an
  1457. item or all the items in an XML document so that forthcoming
  1458. commands can operate on the entire text or document at once.</p>
  1459.                         </li>
  1460.                         <li class="c12">
  1461.                             <a name="_Ref440646678"/>
  1462.                             <span class="c25">Find...</span>
  1463.                         </li>
  1464.                     </ol>
  1465.                 </li>
  1466.             </ol>
  1467.         </div>
  1468.         <div class="c5">
  1469.             <p class="c1">The Find command allows you to quickly locate any
  1470. occurrence of a text string in your XML document.</p>
  1471.             <p class="c1">
  1472.                 <img src="shots/find.gif" width="453" height="287"/>
  1473.             </p>
  1474.         </div>
  1475.         <ul>
  1476.             <li class="c12">Enter the text to be searched for in the "Find
  1477. what:" field. For your convenience the corresponding combo-box
  1478. popup contains the last ten terms that have been searched for. You
  1479. can also leave this field empty to search for any item of the
  1480. specified type.</li>
  1481.             <li class="c12">In the "Types" area you can select what kind of
  1482. items you wish to have included in the search. This allows you to
  1483. e.g. skip comments as well as processing instructions or DTD items.
  1484. For an explanation of the item types, please refer to the XML
  1485. specification.</li>
  1486.             <li class="c12">In the "Search in" area you can specify whether you
  1487. want to search for the specified text in the names of items, in
  1488. their contents, or in both.</li>
  1489.             <li class="c12">In the "Settings" area you can choose to perform a
  1490. case-sensitive search and to match the entered string as any part
  1491. of an item or as the whole item only.</li>
  1492.             <li class="c12">In the "Where" area you may optionally restrict
  1493. your search to the current selection.</li>
  1494.             <li class="c12">In the "Direction" area you can specify the
  1495. direction of your search.</li>
  1496.         </ul>
  1497.         <p class="c1">┬á</p>
  1498.         <div class="c5">
  1499.             <ol>
  1500.                 <li class="c12">
  1501.                     <a name="_Ref440646704"/>
  1502.                     <span class="c25">Find
  1503. Next</span>
  1504.                 </li>
  1505.                 <li>
  1506.                     <p class="c1">This repeats the last Find command to find the next
  1507. occurrence of the requested text.</p>
  1508.                     <p class="c1">┬á</p>
  1509.                 </li>
  1510.                 <li class="c12">
  1511.                     <a name="_Ref440646718"/>
  1512.                     <span class="c25">Replace...</span>
  1513.                 </li>
  1514.             </ol>
  1515.         </div>
  1516.         <div class="c5">
  1517.             <p class="c14">
  1518.                 <span class="c13">The Replace command features the
  1519. same options as the</span>
  1520.                 <u>Find...</u>
  1521.                 <span class="c13">command
  1522. and allows you to replace the found text by any other text string
  1523. of your choice.</span>
  1524.             </p>
  1525.             <p class="c1">
  1526.                 <img src="shots/replace.gif" width="453" height="314"/>
  1527.             </p>
  1528.             <p class="c1">You may replace each found item individually, or you
  1529. can use the "Replace All" button to perform a global search and
  1530. replace operation.</p>
  1531.             <p class="c1">As a security precaution the "Replace all" command
  1532. shows each individual replacement operation in the grid view so
  1533. that you can interrupt the operation by pressing <ESC>
  1534. anytime. Furthermore, each replacement is recorded as one operation
  1535. that can be undone individually.</p>
  1536.             <p class="c1">┬á</p>
  1537.         </div>
  1538.         <div class="c5">
  1539.             <ol>
  1540.                 <li class="c17">
  1541.                     <a name="_Toc441258518">XML Menu</a>
  1542.                 </li>
  1543.                 <li>
  1544.                     <p class="c1">The XML menu contains all commands specific to the
  1545. Extensible Markup Language (XML).</p>
  1546.                     <p class="c1">
  1547.                         <img src="shots/m_xml.gif" width="119" height="203"/>
  1548.                     </p>
  1549.                     <p class="c1">┬á</p>
  1550.                     <ol>
  1551.                         <li class="c23">Insert</li>
  1552.                         <li>
  1553.                             <p class="c1">Inserts a new item directly before the currently
  1554. selected one. In case of an attribute, the new item may appear a
  1555. few lines before the current item because all attributes must
  1556. immediately follow their parent element.</p>
  1557.                         </li>
  1558.                         <li class="c23">Append</li>
  1559.                         <li>
  1560.                             <p class="c1">Appends a new item as the last item inside the parent
  1561. of the currently selected item. This is handy whenever you want to
  1562. add more than one item in sequence.</p>
  1563.                         </li>
  1564.                         <li class="c23">Add child</li>
  1565.                         <li>
  1566.                             <p class="c1">Adds a child item to the currently selected element.
  1567. This is especially useful for adding attributes to an item or
  1568. creating child elements.</p>
  1569.                         </li>
  1570.                         <li class="c23">Convert to</li>
  1571.                         <li>
  1572.                             <p class="c1">Converts an item to a different item type. Depending
  1573. on the location of the item (not on its current kind), some or all
  1574. options on the item type submenu may or may not be available. This
  1575. operation can only be performed on one individual item, not on an
  1576. element that contains many children.</p>
  1577.                             <p class="c1">If the operation would result in the loss of data
  1578. (e.g. converting an attribute to a comment looses the attribute
  1579. name), a brief warning dialog will appear.</p>
  1580.                         </li>
  1581.                         <li class="c12">
  1582.                             <a name="_Ref440646795"/>
  1583.                             <span class="c25">Move
  1584. left</span>
  1585.                         </li>
  1586.                         <li>
  1587.                             <p class="c1">Moves the current element to the left one level,
  1588. thereby turning a child element into a sibling of its parent. This
  1589. is also often referred to as the "Promote" command.</p>
  1590.                         </li>
  1591.                         <li class="c12">
  1592.                             <a name="_Ref440646806"/>
  1593.                             <span class="c25">Move
  1594. right</span>
  1595.                         </li>
  1596.                         <li>
  1597.                             <p class="c1">Moves the current element to the right one level,
  1598. thereby turning it into a child element to the element directly
  1599. above. This is also often referred to as the "Demote" command.</p>
  1600.                         </li>
  1601.                         <li class="c23">View XML-Text</li>
  1602.                         <li>
  1603.                             <p class="c1">Opens a text editor window and views the entire file
  1604. in its current state as XML text. This is especially useful if you
  1605. want to check on the final XML output once in a while, or if you
  1606. are still learning XML and would like to see how some construct
  1607. looks in the final XML document.</p>
  1608.                         </li>
  1609.                         <li class="c12">
  1610.                             <a name="_Ref440646585"/>
  1611.                             <span class="c25">Validate</span>
  1612.                         </li>
  1613.                         <li>
  1614.                             <p class="c1">The "Validate" command checks the document for
  1615. well-formedness. It does not ΓÇô in the strictest sense of the XML
  1616. specification ΓÇô validate the document, because a "valid" XML
  1617. document conforms to its DTD and XML Spy is by the very definition
  1618. of it a non-validating XML editor. We could, however, think of no
  1619. other possible simple title for this menu command and
  1620. "Well-formedness Check" just didn't ring the bell....</p>
  1621.                         </li>
  1622.                         <li class="c12">
  1623.                             <a name="_Ref441208407"/>
  1624.                             <span class="c25">Settings...</span>
  1625.                         </li>
  1626.                     </ol>
  1627.                 </li>
  1628.             </ol>
  1629.         </div>
  1630.         <div class="c5">
  1631.             <p class="c1">The Settings command allows you to adjust the global
  1632. program setting in the following dialog:</p>
  1633.             <p class="c1">
  1634.                 <img src="shots/settings.gif" width="456" height="244"/>
  1635.             </p>
  1636.         </div>
  1637.         <ul>
  1638.             <li class="c12">The window title for each document window can be
  1639. shown using the file name only, or using the full path name.</li>
  1640.             <li class="c12">Line-break encoding in the document file can be
  1641. preserved so that the same characters will be used that were found
  1642. when opening the file. Alternatively you can elect to always encode
  1643. line breaks in any of the three possible forms (CR&LF for PCs,
  1644. CR for the MacOS, or LF for Unix).</li>
  1645.             <li>
  1646.                 <span class="c13">If structure normalization is turned on, XML
  1647. Spy will enforce several structure rules so that a document looks
  1648. exactly the same when it is saved to disk and reopened. Please
  1649. refer to</span>
  1650.                 <u>Structure Normalization</u>
  1651.                 <span class="c13">for further details.</span>
  1652.             </li>
  1653.             <li class="c12">You can choose the format in which data will be
  1654. exported to foreign applications using the clipboard. If you select
  1655. XML-Text the contents of the clipboard will be formatted and tagged
  1656. just like the resulting XML file itself. The structured text mode
  1657. attempts to format the clipboard contents as a table so that it can
  1658. easily be used in a spreadsheet or database application. This
  1659. option does, however, not effect the internal clipboard format that
  1660. XML Spy uses for copying and pasting within the application
  1661. itself.</li>
  1662.             <li class="c12">The Paste/Drop setting determines how an item will
  1663. be created when pasted or dropped into a different location. You
  1664. can choose to either create the new item as it is or you can let
  1665. XML Spy automatically create the required element parent structure
  1666. to match the location the item is being created in.</li>
  1667.             <li class="c12">The Font settings allow you to select the font
  1668. being used for displaying text and keywords in the enhanced grid
  1669. view. The same fonts are also being used for printing and
  1670. consequently only TrueType fonts can be selected.</li>
  1671.         </ul>
  1672.         <div class="c5">
  1673.             <ol>
  1674.                 <li class="c12">
  1675.                     <a name="_Ref441428150"/>
  1676.                     <span class="c25">Structure Normalization</span>
  1677.                 </li>
  1678.             </ol>
  1679.         </div>
  1680.         <div class="c5">
  1681.             <p class="c1">In order to make sure that a document looks exactly
  1682. the same after being saved and reopened, XML Spy performs several
  1683. automatic "normalization" adjustments to its structure during
  1684. editing:</p>
  1685.         </div>
  1686.         <ul>
  1687.             <li class="c12">An element that contains only text and one other
  1688. item (e.g. an attribute) will automatically be converted from a
  1689. hierarchical element to a plain element, whenever you happen to
  1690. delete that one other item.</li>
  1691.             <li class="c12">If an element between two text items is deleted the
  1692. text items are automatically being merged into one.</li>
  1693.             <li class="c12">Attributes are automatically inserted above all
  1694. child elements.</li>
  1695.             <li>
  1696.                 <span class="c13">The XML Declaration (</span>
  1697.                 <span class="c27"><?xml version=....?></span>
  1698.                 <span class="c13">) always
  1699. is the first item in a file.</span>
  1700.             </li>
  1701.             <li>
  1702.                 <span class="c13">The Document Type Declaration (</span>
  1703.                 <span class="c27"><!DOCTYPE ....></span>
  1704.                 <span class="c13">) always
  1705. is located before the first element.</span>
  1706.             </li>
  1707.         </ul>
  1708.         <div class="c5">
  1709.             <p class="c14">
  1710.                 <span class="c13">This automatic normalization
  1711. process can be turned off in the</span>
  1712.                 <u>Settings...</u>
  1713.                 <span class="c13">dialog.</span>
  1714.             </p>
  1715.         </div>
  1716.         <div class="c5">
  1717.             <ol>
  1718.                 <li class="c12">
  1719.                     <a name="_Toc441258519"/>
  1720.                 </li>
  1721.                 <li class="c17">Item Type Submenu</li>
  1722.                 <li>
  1723.                     <p class="c1">When inserting, appending, adding a child, or
  1724. converting an item, the item type submenu is shown when the mouse
  1725. pointer hovers over the main command in the menu.</p>
  1726.                     <p class="c1">
  1727.                         <img src="shots/m_sub.gif" width="138" height="232"/>
  1728.                     </p>
  1729.                     <p class="c1">This menu allows you to choose what kind of item you
  1730. wish to add to the document. For your convenience we have added
  1731. several keyboard shortcuts for the most frequently used items on
  1732. this menu. Depending on the current selection or insertion point,
  1733. some or all choices may not be available in the menu and are
  1734. displayed in gray.</p>
  1735.                     <p class="c1">The items are grouped by their importance and typical
  1736. frequency of use when editing documents. For an explanation of the
  1737. various item types, please refer to the XML specification.</p>
  1738.                 </li>
  1739.                 <li class="c12">
  1740.                     <a name="_Toc441258520"/>
  1741.                     <span class="c16">View
  1742. Menu</span>
  1743.                 </li>
  1744.                 <li>
  1745.                     <p class="c1">The "View" menu controls the display of the frontmost
  1746. document window as well as certain global options.</p>
  1747.                     <p class="c1">
  1748.                         <img src="shots/m_view.gif" width="108" height="177"/>
  1749.                     </p>
  1750.                     <p class="c1">┬á</p>
  1751.                     <ol>
  1752.                         <li class="c23">Toggle Toolbar & Status Bar</li>
  1753.                         <li>
  1754.                             <p class="c1">If you are working with a small monitor and wish to
  1755. use more screen real-estate for the contents of the document view,
  1756. you may turn off the status bar and toolbar displays.</p>
  1757.                         </li>
  1758.                         <li class="c23">Startup screen</li>
  1759.                         <li>
  1760.                             <p class="c1">This allows you to turn off the startup screen with
  1761. the XML Spy logo.</p>
  1762.                         </li>
  1763.                         <li class="c12">
  1764.                             <a name="_Ref440646734"/>
  1765.                             <span class="c25">Synchronize</span>
  1766.                         </li>
  1767.                         <li>
  1768.                             <p class="c1">To quickly locate an item in a larger document, the
  1769. combination of tree and grid view can be very helpful in
  1770. navigating. The "Synchronize" command allows you to quickly locate
  1771. the selected item in the other view by opening the element
  1772. hierarchy in the other view to exactly the same level and hiliting
  1773. the selected item.</p>
  1774.                             <p class="c1">As a shortcut you may also double-click on an element
  1775. in the tree view to navigate to that very item in the enhanced grid
  1776. view.</p>
  1777.                         </li>
  1778.                         <li class="c12">
  1779.                             <a name="_Ref440646751"/>
  1780.                             <span class="c25">Expand</span>
  1781.                         </li>
  1782.                         <li>
  1783.                             <p class="c1">Expands the selected element by one level. This
  1784. command can be used in the tree and grid views and can also be used
  1785. from the keyboard by using the + key on the numeric keypad.</p>
  1786.                             <p class="c1">In the grid view the element and all its children
  1787. remain selected after expansion. This allows you to repeatedly
  1788. expand a large element one level after another by pressing the +
  1789. key on the keyboard again and again.</p>
  1790.                         </li>
  1791.                         <li class="c12">
  1792.                             <a name="_Ref440646762"/>
  1793.                             <span class="c25">Collapse</span>
  1794.                         </li>
  1795.                         <li>
  1796.                             <p class="c1">Collapses the selected element in the tree or grid
  1797. view. The ΓÇô key on the numeric keypad can be used as a shortcut for
  1798. this command.</p>
  1799.                         </li>
  1800.                         <li class="c12">
  1801.                             <a name="_Ref440646772"/>
  1802.                             <span class="c25">Expand fully</span>
  1803.                         </li>
  1804.                         <li>
  1805.                             <p class="c1">Expands all child items of the selected element down
  1806. to the last level of nesting. While this command does not have a
  1807. keyboard shortcut, it is available on the toolbar and can also be
  1808. achieved by repeatedly using the + key on the numeric keypad on an
  1809. element in the grid view.</p>
  1810.                         </li>
  1811.                         <li class="c12">
  1812.                             <a name="_Ref440646784"/>
  1813.                             <span class="c25">Optimal widths</span>
  1814.                         </li>
  1815.                     </ol>
  1816.                     <p class="c1">Adjusts the widths of all columns so that the text of
  1817. the entire document comfortably fits into the designated columns.
  1818. If you expand and collapse several elements, it can be helpful to
  1819. again choose the "Optimal widths" command, because only those items
  1820. visible through expansion are used when calculating the optimum
  1821. column widths.</p>
  1822.                     <p class="c1">┬á</p>
  1823.                 </li>
  1824.                 <li class="c12">
  1825.                     <a name="_Toc441258521"/>
  1826.                     <span class="c16">Window Menu</span>
  1827.                 </li>
  1828.                 <li>
  1829.                     <p class="c1">To organize the individual document windows in an XML
  1830. Spy session, the "Window" menu contains some standard commands that
  1831. we are all familiar with from many other applications.</p>
  1832.                     <p class="c1">
  1833.                         <img src="shots/m_window.gif" width="113" height="133"/>
  1834.                     </p>
  1835.                     <p class="c1">You can cascade all open document windows, place them
  1836. on the screen as tiles or arrange document icons once you have
  1837. minimized them. Furthermore you can switch to each open window
  1838. directly from the menu.</p>
  1839.                     <p class="c1">┬á</p>
  1840.                 </li>
  1841.                 <li class="c12">
  1842.                     <a name="_Toc441258522"/>
  1843.                     <span class="c16">Mouse
  1844. Menu</span>
  1845.                 </li>
  1846.             </ol>
  1847.         </div>
  1848.         <div class="c5">
  1849.             <p class="c1">Whenever you right-click in the tree or enhanced grid
  1850. views, you'll get a "mouse menu" that allows you to directly
  1851. manipulate the currently selected entities.</p>
  1852.             <p class="c1">┬á</p>
  1853.             <p class="c1">
  1854.                 <img src="shots/rightmouse.gif" width="133" height="237"/>
  1855.             </p>
  1856.             <p class="c1">┬á</p>
  1857.             <p class="c1">This menu contains the most frequently used commands
  1858. from the "Edit", "View", and "XML" menus to let you modify entities
  1859. in a document without having to move the mouse to the menu bar each
  1860. time you select an entity in the display.</p>
  1861.             <p class="c1">The commands available on the mouse menu are
  1862. explained in detail in the corresponding menu sections above.</p>
  1863.         </div>
  1864.         <ol>
  1865.             <li class="c12">
  1866.                 <a name="_Toc441258523"/>
  1867.                 <span class="c10">Background Information</span>
  1868.             </li>
  1869.             <li>
  1870.                 <ol>
  1871.                     <li>
  1872.                         <a name="_Ref440565995"/>
  1873.                         <a name="_Toc441258524"/>
  1874.                         <span class="c15">Shareware Notice</span>
  1875.                     </li>
  1876.                     <li>
  1877.                         <p class="c1">XML Spy is sold as shareware: you may download,
  1878. install and evaluate the software for a period of up to 20 days
  1879. free of charge. During this evaluation period the software will
  1880. remind you every once in a while that it has not been registered
  1881. yet.</p>
  1882.                         <p class="c14">
  1883.                             <span class="c13">If you find XML Spy useful and
  1884. would like to continue using the program after the evaluation
  1885. period, you have to register with Icon for the small fee of
  1886. 39,-</span>
  1887.                             <span class="c13">(Euro). You can register on-line
  1888. using the "Order" button at</span>
  1889.                             <a href="http://www.xmlspy.com/order/">http://www.xmlspy.com/order/</a>
  1890.                             <span class="c13">.</span>
  1891.                         </p>
  1892.                         <p class="c1">As a registered user you are entitled to free
  1893. technical support via e-mail and automatically will be notified of
  1894. any updates or new versions. You will also get a substantial
  1895. discount on the forthcoming commercial DTD-aware validating XML
  1896. editor that Icon is planning to release in the future.</p>
  1897.                         <p class="c1">If you want to share XML Spy with others, please make
  1898. sure that only the installation program is ever distributed. It
  1899. contains the application program, grammar description, sample
  1900. files, and this online manual as well as a quick Read-Me file in
  1901. one neat package.</p>
  1902.                         <p class="c1">If you try to use an unregistered version of XML Spy
  1903. after the end of the evaluation period, you will be asked to
  1904. register upon every attempt to open or save a file. Furthermore the
  1905. number of files you are allowed to open or save after the end of
  1906. the evaluation period is limited to restrict abuse of unregistered
  1907. versions of our software.</p>
  1908.                     </li>
  1909.                     <li class="c12">
  1910.                         <a name="_Toc441258525"/>
  1911.                         <span class="c15">About
  1912. the authors</span>
  1913.                     </li>
  1914.                 </ol>
  1915.             </li>
  1916.         </ol>
  1917.         <div class="c5">
  1918.             <p class="c14">
  1919.                 <span class="c13">XML Spy has been produced by Icon
  1920. EDV Informations-Systeme GmbH, an independent software development
  1921. and consulting company based in Vienna, Austria (EU). Icon offers
  1922. custom Software, Hardware and CD-ROM solutions for the innovative
  1923. information-technology products of tomorrow. Please visit our
  1924. web-site at</span>
  1925.                 <a href="http://www.icon-is.com/">http://www.icon-is.com</a>
  1926.                 <span class="c13">for more
  1927. information.</span>
  1928.             </p>
  1929.             <p class="c1">The development team for XML Spy is:</p>
  1930.         </div>
  1931.         <div class="c5">
  1932.             <ul>
  1933.                 <li class="c12">Vladislav Gavrielov C++ Development</li>
  1934.                 <li class="c12">Alexander Falk C++ Dev, Grammar, User Manual</li>
  1935.                 <li class="c12">Thomas Kefer Software Quality Management</li>
  1936.                 <li class="c12">Joachim Legat Graphic Design &
  1937. Web-Development</li>
  1938.             </ul>
  1939.         </div>
  1940.         <div class="c5">
  1941.             <p class="c14">
  1942.                 <span class="c13">For comments and suggestions about
  1943. this product and for technical assistance (registered users only)
  1944. please use the on-line support form at</span>
  1945.                 <a href="http://www.xmlspy.com/supprt/">http://www.xmlspy.com/supprt/</a>
  1946.                 <span class="c13">.</span>
  1947.             </p>
  1948.         </div>
  1949.         <div class="c5">
  1950.             <ol>
  1951.                 <li class="c12">
  1952.                     <a name="_Toc441258526"/>
  1953.                     <span class="c15">XML
  1954. Parsing</span>
  1955.                 </li>
  1956.                 <li>
  1957.                     <p class="c1">When opening any XML or DTD file, XML Spy uses a
  1958. parsing module called "Parso" to interpret the structure of the
  1959. document. Parso is a very fast parser written in C++ that is
  1960. entirely controlled by an EBNF-like grammar description file.
  1961. Please refer to the file "grammar.txt" for an example of such a
  1962. grammar description.</p>
  1963.                     <p class="c14">
  1964.                         <span class="c13">If you need to open and parse XML
  1965. documents in you own application, or if you need to parse any other
  1966. computer language (SQL, etc.) you can license the "Parso"
  1967. source-code from Icon. Please visit</span>
  1968.                         <a href="http://www.icon-is.com/parso/">http://www.icon-is.com/parso/</a>
  1969.                         <span class="c13">for more details.</span>
  1970.                     </p>
  1971.                     <p class="c1">┬á</p>
  1972.                 </li>
  1973.                 <li class="c12">
  1974.                     <a name="_Toc441258527"/>
  1975.                     <span class="c15">OS
  1976. & Memory Requirements</span>
  1977.                 </li>
  1978.                 <li>
  1979.                     <p class="c1">XML Spy is a modern 32-bit Windows application that
  1980. runs on Windows 95, 98 and NT. It assumes a fair amount of memory
  1981. to be installed in the system, because it loads each document fully
  1982. into memory. This is necessary in order to completely parse and
  1983. analyze each document and also greatly improves the viewing and
  1984. editing speed during normal work.</p>
  1985.                     <p class="c1">While editing a small to medium sized document (up to
  1986. 512kB) is possible in as little as 2MB of RAM, opening a 5MB
  1987. document can consume up to 20MB during the initial parsing
  1988. process.</p>
  1989.                     <p class="c1">Memory requirements are also influenced by the
  1990. unlimited Undo history. When repeatedly cutting and pasting large
  1991. selections in huge documents, memory can rapidly be exhausted.</p>
  1992.                 </li>
  1993.                 <li class="c12">
  1994.                     <a name="_Ref440650721"/>
  1995.                     <a name="_Toc441258528"/>
  1996.                     <span class="c15">Unicode Support</span>
  1997.                 </li>
  1998.             </ol>
  1999.         </div>
  2000.         <div class="c5">
  2001.             <p class="c1">We apologize for the inconvenience, but the Shareware
  2002. version of XML Spy does not include full Unicode support at this
  2003. time. When opening an XML file, the encoding format is
  2004. auto-detected by XML Spy according to the XML 1.0 recommendation,
  2005. but any file in UCS-16 format will be rejected with an error
  2006. message.</p>
  2007.             <p class="c1">Opening an UTF-8 encoded XML document is, however,
  2008. possible ΓÇô although while editing the document, all characters that
  2009. are encoded with more than one byte will be displayed with their
  2010. respective encoding bytes as individual characters. Such a file can
  2011. safely be edited and saved back as long as the multi-byte
  2012. characters are not touched in any way.</p>
  2013.         </div>
  2014.     </manual>
  2015. </user_manual>
  2016.