About the XML Library

The XML Library stores your dsTest Workspaces, XML Snippets, and report configurations and it is yours to organize as you see fit. You can create sub-directories, nest directories, and group your files in whatever arrangement is useful to you. When dsClient starts your library is scanned and the contents are displayed in the Library Explorer, as are any changes that you make to your library's structure or contents during your session. dsClient creates two libraries - the Local Library and the Examples library - the first time the application is run.

The files in your library are written in dsClient XML, not dsTest XML. You cannot pick an XML document from your library and upload it to dsTest as a source document but must generate dsTest XML. dsClient uses a separate XML schema for its library files and every library file is a complete dsClient document.

The Local Library

XML Library Toolbar


 (edit) is enabled when a file is selected, opens the file for editing. Double-clicking the table row also opens the file.

(new folder) is enabled when a directory is selected and the tree is in focus (last object clicked). Displays a dialog to collect the name of the new directory. If a directory of that name does not already exist under the parent directory one is created and shown in the tree.

 (duplicate) is enabled when either a directory (other than xmlLibrary) or file was the last object selected. Creates a duplicate object of the selected object in place with the name "Copy of" <object name>.

(rename) is enabled under the same conditions as duplicate. Displays a dialog to collect the new name of the directory or file. ".dsx" will be appended to file names if not included by the user. Overwrite warning is displayed if the resulting name matches a sibling file or directory, and the sibling will be overwritten on confirmation.

(refresh) is always enabled. Performs the same library scan that is executed at application start-up, resulting in a rebuilt library tree. Can be used to sync structure with the client file system after adding or removing items manually or if an error is encountered during a copy or move action.

(delete) is enabled under the same conditions as duplicate. Deletes, upon confirmation, the selected object. The delete key will also invoke this action, assuming the action is enabled. NOTE: no warning is given when deleting a snippet used by another file.


Drag-n-Drop support


Move: drag a file from the table into a different directory. Drag a directory (other than xmlLibrary) into another directory. Overwrite warning is displayed if indicated.

Copy: drag while pressing the Ctrl key. A "+" symbol is displayed on the drag image when copying, and the original object remains in place.

The XML Library contains a read-only directory of dsTest example configurations. The example configurations are loaded on your dsTest server when dsTest is installed/upgraded, and added to your XML Library when the GUI connects to your server.  When an examples version change is recognized in your default server or if there is no default server defined and a new latest version is recognized among all registered servers, dsClient will download the dsx examples from the server and unpack them into this directory.

The Examples library appears as a read-only library () in the library browser, and when populated will display the corresponding dsTest version in the root tree node. Example workspaces and snippets may be opened and run but not modified unless they are saved or copied into a read/write library.

The examples can be manually refreshed using the Refresh Examples button in a server's manage window if some other version is desired or if the automated refresh fails, however they may be replaced after the next server scan. 

Importing and Exporting Library Contents

The free-form structure of the XML Library makes it very easy to share content among client applications. Simply choose a directory or individual files from one client's library and copy them into another client's library. Be sure to include any files referenced by the files you are copying.

It is always safest to work with clients that are running the same dsClient version, although it should be safe to copy files from an older client version to a newer client version. Copying files from a newer client version to an older client version, however, is not supported and will produce undesirable results.

When you add new content to a library through the file system rather than through dsClient, that content will not be recognized and cannot be used until dsClient is restarted and the automatic library scan is performed.

To import a file into the GUI, use the File>Import menu selection from the Workspace window. The File Import window will be displayed:

From this window, the following file types can be imported:

dsx bundle files (.dsb)

.dsx files

.xml files

Developing Solutions supplied example xml configuration files


Exporting Library Contents using the GUI Bundling Feature

The best way to export files from your XML Library is to use the GUI Bundling feature. This feature allows you to easily export dsx files, and insures that all snippets that are included in the main dsx file are also exported. Choose File>Export from the menu toolbar. The Export/Bundling screen will be presented:

The files were selected by clicking/highlighting the file name in the XML Library block on the left, and dragging to the 'Files to Export' block on the right.

If the 'Export snippets' box is checked, dsClient Desktop will automatically export all snippets that are included with the main file. If you do not want snippets to be exported with their parent file, simply uncheck the 'Export snippets' box. For a discussion about snippets, refer to Working with Snippets.

File selections in the 'Files to Export' block can be deleted from the bundle by clicking/highlighting the appropriate filename, and clicking on the red .

If you prefer to include some snippets and not others, click on the 'Manage Snippets' button and clear the 'Include' check box next to any undesired snippet.

When you are done selecting the files to export, click on the 'Export' button at the bottom of the bundling screen. You will be asked to select a file name and location (directory) for the exported files. The file will have a .dsb extension.

Creating and Maintaining Multiple XML Libraries

Use the Manage... button in the library browser's tool bar to manage your libraries in a pop-up dialog.


Library root nodes are displayed in a list.

Use the Add folder  and Delete  buttons to add or remove libraries. The Local Library cannot be removed.  When removing a library that you can write to, deleting the content from the file system is optional.

When adding a library, a library with the name "New Library" is added to the list and selected. Set the library's name in Display Name, click Browse... and navigate to the library's location. If you do not have write permission for that directory, the Read-only Library check box will be checked. You can manually write-protect a library by selecting the Protect Library check box.

The library list and OK buttons are disabled if the settings for the current selection are not valid.

All settings except Display Name may be modified in any library except the Local Library. Once committed, a library's name cannot be changed.

The root tree node of a protected library is displayed with a icon.


Drag-n-drop and toolbar actions: All structural actions are disabled when the current selection is in a protected library. Dragging a file out of a protected library is always a copy, never a move. Dropping a file within a protected library is prohibited.

The OK button in the Save As dialog will remain disabled as long as the directory selection is within a protected library. The Save button will remain disabled for any workspace, report, etc. opened from a protected library.


Snippets: Snippets can reside in any library and snippet paths will now begin with the library name. Existing links will be upgraded to begin with Local Library.


Exporting: You can export from any library and from a mix of libraries.


Importing a library bundle: If the bundle contains libraries with names that match your libraries you can import into those same libraries, assuming you can write to all of them. If library names do not match you'll be forced to import all files into the directory you select (snippet links will be modified accordingly). If the bundle contains files from a protected library you can choose to skip those files and either retain the remaining bundle structure or import all files into the directory you select.


To facilitate snippet portability, users who are sharing a library should all use the same library name.