XML ValidatorBuddy help pages

×

  • XML ValidatorBuddy help pages

XML ValidatorBuddy

User guide
2016
Copyright 2015 xml-buddy.com


XML-JSON software overview

The XML ValidatorBuddy desktop application offers a lot of XML related functionality for your daily work with XML documents. The tool includes an enhanced File Explorer, an editor tab and a Large File Viewer to give you convenient access to all of your XML documents. The File Explorer shows detailed information about XML instance and schema files without the need to open them manually. This makes working with XML files more productive by saving time and clicks. For folders with a large number of files, XML related information is loaded in the background while the application is still responsive to user interaction.
With XML ValidatorBuddy you can edit, validate and transform multiple XML files with just a few clicks. All of the functionality is so easy to use that also people without a deeper knowledge about XML are able to validate and transform any number of documents.
At a glance, you can use XML ValidatorBuddy for the following tasks:
  • •
    XML validation
    Validate one or more XML documents quickly from the built-in File Explorer window.
  • •
    XML editing
    Create and edit XML instance files. Fix well-formed and validation errors in your XML documents.
  • •
    Support for XPath and XSL transformations
    Run XPath queries and transform multiple XML files to HTML using XSL.
  • •
    XML batch validation
    Create batch tasks and get detailed reports about the validation status of your XML.
  • •
    Schematron support
    Check XML input using the powerful semantic Schematron rules.
  • •
    Support for huge XML documents
    Edit and validate huge XML files.
  • •
    XML Digital Signatures
    Create and verify digital signatures with ease.
  • •
    Convert between XML, JSON and CSV formats
    Import CSV data and convert between XML and JSON. Create CSV from JSON.
  • •
    JSON editing
    Create and edit JSON with syntax-coloring, auto-completion and well-formed checking.
  • •
    JSON Schema validation
    Check your JSON input with the JSON Schema standard.
Copyright © 2015 by xml-buddy.com. All Rights Reserved.


File Explorer view

The File Explorer view in XML ValidatorBuddy is a central place to work with your XML files. To select a folder use the Folder-browse control on the left-top corner of the window. The view displays a list of all files and folders of the folder if a valid path is available. The view allows to arrange the columns of the File Explorer and to set the width of each column separately. Those settings will be restored on the next start of the application. This way it is possible to modify the appearance of the view to fit special needs.
Once the File Explorer is filled, XML ValidatorBuddy reads additional XML related information from each document in the background. The status-line on the bottom is updated with the path of the currently scanned file during this process. Once all file information is read the status-line says "Ready." again.
If "Search in subfolders" is checked the list will also contain all files in all subfolders of the current path. This feature gives quick access to all files even in deeply nested directory trees. Reading a lot of files from all subfolders can take a while. Therefore it is possible to stop this process at any time by simply removing the check from the "Search in subfolders" option again.
Context menu
The File Explorer context menu provides quick access to the XML related functionalities of XML ValidatorBuddy. From here you can validate, transform and open one or multiple XML files. Advanced functionalities like Schematron validation and generation of Schema documentation are also accessible from here. All commands are either present in the XML menu of the menu bar or in the context menu itself. Some of the commands will open a new dialog to specify more detailed options if necessary. The context menu also contains some basic shell operations like Delete, Copy, New Folder and Properties.
Searching
It is possible to find specific files by name or other options with the Find-controls of the File Explorer view:
The "Find what" field is used to input the search string and supports the common * and ? wildcards. The "Look in" list-box allows to select on which column the search string is applied. To start searching and to get a list of matching items in the File Explorer list press the "Find" button. The existing list of items is reduced to a list of items matching the search string. Use the "Clear find" button to get all files and folders of the current path again.


XML validator usage

XML ValidatorBuddy offers some simple to use methods to quickly validate one or multiple XML documents and also W3C Schemas and DTDs. The following XML validation standards are currently supported:
  • •
    W3C Schemas
  • •
    DTDs
  • •
    ISO Schematron
  • •
    RelaxNG
XML validation of the active document
You can validate the currently active document of the Editor window in XML ValidatorBuddy at any time with a click on the "Validate" button on the main toolbar. Alternatively you can also use the F8 hot-key to start validation.
The active XML document will be validated if a W3C schema or DTD reference can be found. In any case the results of the validation are displayed in the "Results" window:
If the results have one or more validation errors, the position of the first entry is selected automatically in the XML document. You can jump to any error position with a click on the related entry in the Results window. XML ValidatorBuddy reports all errors at once. This enables you to quickly fix all validation errors in your XML instance.
XML validation of multiple documents from the File Explorer
At first you need to select the folder containing the XML data to validate. It is possible to type the path directly into the Folder-browse control or use the folder-button which displays a dialog to select the folder. If you type inside of the Folder-browse edit field, a suggestion box appears with a list of matching entries from the folder history. You can also select one of the suggestions to quickly navigate to the folder. The Folder-browse control is located on the top-left corner of the built-in File Explorer tab as you can see on the screen-shot below:
The application reads the folder content and displays a list of files in the Explorer window. At the same time all XML documents are scanned in the background for XML related information like namespaces, W3C schema or DTD references and digital signatures. Those details are shown in the right-hand columns of the list. This way it is not necessary to open each document to know if a schema or DTD is already assigned to the document. The picture below shows a typical folder list in XML ValidatorBuddy.
To validate one or multiple XML instance documents, W3C Schemas or DTDs, it is necessary to select them in the File Explorer view. There are also "Select all" and "Invert selection" commands available to select all entries and to invert the current selection (to select those entries which are currently not selected). The selected XML documents can be validated by simply pressing F8 or by choosing the "Validate" command from the XML menu or from the File Explorer context menu.
All documents with a W3C schema or DTD reference and all schemas and DTDs are now validated. The results of the validation are displayed in a separate dialog if more then one document is validated at once:
Each document which has already been validated gets a valid or invalid icon in the built-in Explorer view. If a file is afterwards modified by any editor or external application the validation status is updated automatically. On hoovering over an invalid validation status icon the reported errors are shown as you can see here:
Run the XML validator on a single folder
The same command to run XML validation for one or multiple documents can be used to validate all XML files of a single folder and its subfolders. Use the Explorer window in XML ValidatorBuddy to select a single folder and start the validation with the "Validate" command from the XML menu. During the validation the status line of the application shows which XML document is currently processed. After all of the XML documents of the folder are validated a dialog appears to show the results.
Please note that in the same way you can run a well-formed check on a single folder. Just use the "Check if XML well-formed" command instead after selecting the folder in the File Explorer window.
XML validation without schemaLocation attributes
Select a schema for validation - W3C, DTD or RelaxNG
If you want to set a specific schema for validation please use the "Validate against a specific Schema..." command from the XML menu or the Explorer context menu. You can also select any RelaxNG schema to validate the XML documents against it.
Use the XML schema catalog
In contrast to many other tools XML ValidatorBuddy supports validation of XML data against W3C schema definitions without an explicit reference in the instance document.
This is done using a standard OASIS XML catalog and an association based on the usage of namespaces in the instance document and the definition of a target namespace in the schema. XML ValidatorBuddy provides a simple command for adding any W3C schema with a target namespace to the internal XML catalog:
The "Add to Schema catalog for validation" command is part of the File Explorer context menu.
Whenever an XML document is validated, any grammar which is available in the XML catalog is also used for validation if a matching namespace usage is found. This way it is possible to validate XML without a schemaLocation attribute.
Schematron validation
The desktop application offers several ways to validate an XML instance document against a Schematron schema.
1.) Open the XML instance on which you want to run the Schematron validation and use the "Schematron" field on the "Quick Associations" window of the application to permanently assign a Schematron schema to this document. Use the "Validate with Schematron" command to apply the rules from this Schematron schema to the active document.
2.) Select one or multiple instance documents in the Explorer window together with a single Schematron .sch schema. XML ValidatorBuddy will recognize the schema on using the "Validate with Schematron" command and validates the selected documents against it.
3.) If the instance document contains a processing instruction pointing to a Schematron schema you can directly use the "Validate with Schematron" command to apply the schema. The name of the processing instruction can be set on the Schematron page of the settings dialog.
4.) It is possible to configure a batch task to use a Schematron schema. Use the "Configure and run a batch task..." command of the XML ValidatorBuddy desktop application to setup the batch. You can find this command in the context menu of the Explorer tab or in the "File Explorer" menu. To define a Schematron batch select "Schematron" at the "Parser to use:" field, check the "Use external schema" option and insert the path to the Schematron schema at the related edit field (see also Configure a batch ).


Open and validate large XML

XML ValidatorBuddy provides support for huge XML documents (multi-GB) to open and validate those files directly in the application. Regardless of the size of the document, the application will always use about the same amount of memory to view the file. XML ValidatorBuddy does not need to keep the complete file in memory to validate or to show the XML instance within the application.
The Large File Viewer component is a separate tab window inside of XML ValidatorBuddy and can display one document at the same time. The screen-shot below shows a generated directory list as XML with some validation errors:
Open a huge XML file
To open a huge document, or also smaller ones, the application provides the "Open in Large File Viewer" command on the main Toolbar. This command opens the currently selected file in the File Explorer in the Large File Viewer window.
Syntax coloring is used to draw the text, to increase the readability of the XML content. This makes it easy to distinguish between element names, attributes, values and comments. A control on the left side of the window shows the line numbers of the visible area and allows to scroll quickly through the whole document.
It is also possible to scroll the file content by placing the cursor inside of the XML text and using the usual cursor up and down or the page up and down keys.
Encoding
XML ValidatorBuddy tries to detect if the file uses UTF-8 or UTF-16 encoding. If the encoding can't be detected it can be set using the Encoding-Listbox. The file content will be displayed immediately in the selected encoding.
Please note that changing the encoding here doesn't change the encoding of the file on disk.
Find text in file
Use the find controls to locate any string in the document. The find operation will always start at the current cursor position and the search direction is downwards to the bottom of the file.
The "Match case" check can be set to compare the strings case-sensitive.
After the first matching string is found you can use F3 to find the next match. If the find operation has reached the end of the file a message box is displayed.
Copy to clipboard
You can use the Copy command from the Toolbar or the Ctrl+C keyboard shortcut to copy the current selection to the clipboard.
Validate huge XML files
Use the "Validate file" command from the XML menu, the toolbar or press the F8 key to validate the current document against any schema which is assigned to the XML instance file. If the file is not valid, one or more error messages will appear in the results window on the bottom of the Large File Viewer. Every message with a line number can be selected with a left-button mouse click to jump directly to the position in the document where the error occured.
Well-formed XML
To check if the XML document is well-formed use the "Check if well-formed" command from the XML menu, the toolbar or press F7. If the XML is not well-formed, the list of errors is shown in the results window again. On success, the results window shows a message which says that the file is well-formed.


XML editor help pages

×

  • XML editor help pages

The contents of XML editor help pages

XML editor usage
Large XML data editor


XML editor usage

XML ValidatorBuddy supports all common text editor functionalities like undo-redo, copy-paste and find-replace operations. In addition the XML text editor provides intelligent entry-helpers, syntax-coloring, folding and other XML related editing features. All of these features will help you to create error free XML in less time.
Element folding
Use the plus and minus signs to expand and collapse XML elements. This helps to increase the readability of XML data and to focus on the currently important sections of text.
The following standard keyboard shortcuts are also available for folding:
ALT+ num. Keypad * | Expand all
ALT + num. Keypad / | Collapse all
ALT + num. Keypad + | Expand at current line
ALT + num. Keypad - | Collapse at current line
Pop-up windows showing schema information
Providing context-sensitive information from the schema helps a lot on creating XML content. On moving the mouse over an element name, the XML editor shows after a short time all of the information from the assigned schema it can find.
The pop-up window shows annotations, simple type, enumerations, patterns and namespaces.
Use the "Reload entry-helpers from schema" command from the editor context-menu to update the information if the schema has changed in the meantime.
Entry helpers
Context-sensitive entry-helper windows with schema information are available in the editor for the following situations:
Element names
After typing "<" in the editor a list with all possible element names will appear if an element can be added at the current position.
Attribute names
An entry-helper window with attribute names is shown on typing a blank " " inside the starting tag of an XML element.
Element and attribute value enumerations
A list of enumeration values from the schema is displayed on starting to edit the content of an element after typing ">" or after adding an attribute.


Large XML data editor

Any document with a size of more than 150 MB will be opened using the Large File view in XML ValidatorBuddy. In this case the document is never loaded completely into the editor but you can always scroll and jump to any line using the special scroll-bar to the left or using the "Go to line..." command. The screenshot below shows the editor after loading an original OSM document with the geographical information of Massachusetts. The document has about 2.5 GB and more than 39 million lines of XML data.
Editing of large files
Use the "Start editing" button on the right upper corner to start the editing mode of the Large File view in XML ValidatorBuddy. A backup is created before you can start to modify the currently loaded data in the editor. Depending on the size of the document and the speed of the storage device this can take a few seconds. Please note that you can't scroll or jump to any line outside of the active edit buffer. Before you can browse the whole document again, you need to finish the current editing session and either save the changes you made or cancel the editing mode using the reload or close commands.
The "Start editing" button turns into a "Save changes" button during an active edit session. Use the "Save changes" button to update the original document with any modifications to the current edit buffer and to delete the backup file.
Find and replace in edit mode
The find and replace operations are working as usual on editing a large document but are limited to the current edit buffer. A message box is displayed if no match is found and the end of the edit buffer has been reached:


Using the XPath evaluator window

XML ValidatorBuddy has a built-in XPath window which supports quick and easy evaluation of XPath 1.0 and XPath 2.0 expressions:
Turn on the "Evaluate on typing" option to get the XPath results immediately on typing. As long as the expression is incomplete and can't be evaluated an error message will show additional error information.
Setting the evaluation context
You can use the "Evaluate" button on the XPath window to select in which context the XPath expression should be evaluated. The default context is Document. To change the context just select the XML node directly in the active document. The evaluation context is also shown in the XPath results area.
Generating an XPath
There are two commands available in the Edit menu and from the main toolbar to generate XPath statements for the currently selected XML node or attribute in the active document.
  • •
    Use the "Copy XPath (simplified)" command to get an XPath statement without any namespace information. This will produce a more human-readable XPath.
  • •
    Use the "Copy XPath" command to get a full-qualified XPath statement also containing namespace information if required. This will generate an XPath which can be directly used in XSLT or Schematron files.


XML digital signatures - sign and verify

With XML ValidatorBuddy it is easy and convenient to sign and verify XML documents with digital signatures. Use the toolbar on the main window to issue all of the commands necessary to sign and verify your XML data or use the related commands from the XML menu. You can also put certificates on the XML Digital Signatures toolbar to select them quickly if you need some of them frequently to sign XML documents or to verify an existing signature.
The picture below shows the XML Digital Signatures toolbar with a user-defined button to quickly select the sample RSA SHA-2 certificate:
How to sign an XML document
1. Open or select XML document(s)
Open any XML document in the editor or select one or more XML files which should be signed with a digital signature from the File Explorer window of XML ValidatorBuddy. All of the selected files will be signed using the same certificate. Any selected folder is skipped during the signing operation.
2. Use the sign command
Use the "Sign XML with Digital Signature" command either from the toolbar or from the XML menu to start the signing operation. This command is enabled when a document is loaded in the editor or if one or more files are selected on the File Explorer tab. A dialog will be displayed to set additional options for the signing operation:
XML digital signatures - sign and verify

Use certificate option

1. Use certificate option
To sign one or more documents you can specify a certificate which holds the private key for the signing operation.
Top

Select certificate button

2. Select certificate button
If there is no certificate selected on the XML Digital Signatures toolbar the fields on the dialog for the currently active certificate will be empty. Use the "Select..." button to select a certificate in this case.
Top

Use file or password

3. Use file or password
Select the "Use file or password" option to read the key from an external .PFX file or to enter the password manually in the "Password:" edit field. On using a password, the key type and hash method can be selected. If a .PFX file is used key type and hash algorithm are specified by the file. Any required password to access the key from the .PFX file can be entered at the "Password:" field.
Select HMAC as key type if you want to use a password to sign the XML data. Again use the "Password" field to enter the password.
Top

Key type

4. Key type
RSA, DSA or HMAC.
Top

Hash algorithm

5. Hash algorithm
SHA-1, SHA-2 (256), SHA-2 (384), SHA-2 (512)
Top

PFX file

6. PFX file
Path of the .PFX file that contains the key information. See also at "Use file or password".
Top

Password field

7. Password field
Use this field to enter either the password to sign the XML document (for HMAC keys) or to access any PFX file.
Top

Add references to XML content

8. Add references to XML content
You can also sign only parts of the XML if you don't need to have the complete XML content in the signature. Use the ID values of the XML elements to select the fragments to add to the signature. You can add as many references as you like using the "Add" button. Delete a reference with the "Remove" button. If the ID can be found in the XML, the XPath is displayed in the "Location" column.
Top

Content transformations

9. Content transformations
Add one or more transformation methods which are applied to the XML before signing.
Top

Enveloped option

10. Enveloped option
Use either enveloped or enveloping signature elements.
Top

Canonical XML option

11. Canonical XML option
Support for several canonicalization methods for the signature element.
Top

Add KeyInfo with public key for verification

12. Add KeyInfo with public key for verification
A KeyInfo element can be added to the signature to hold the public key. This way no certificate needs to be selected to verify the signature later on.
Top

Add X.509 Data element

13. Add X.509 Data element
Adding an X.509 data element to the KeyInfo containing the subject name, issuer name and issuer serial number taken from the certificate.
Top

Add KeyName element

14. Add KeyName element
A KeyName element can be filled with an arbitrary string.
Top

Sign button

15. Sign button
Click the "Sign" button to add the digital signature. If the sign dialog is used from the built-in File Explorer the signed XML documents are saved in the same folder.
Top
As the dialog shows, the DSIG implementation of XML ValidatorBuddy offers all of the important methods and types of XML digital signatures.
3. Saving signed files
After a document has been signed from the File Explorer tab it needs to be saved. You can tell XML ValidatorBuddy to automatically append an arbitrary string to the end of the current name of the file, or you can choose to display a standard file dialog for each signed file to set the name and destination of the new document. The controls to select how to save the signed files are on the bottom of the dialog.
On signing the active document a new window containing the signed XML is opened directly in the editor.
Verification of digital signatures
You can use XML ValidatorBuddy to verify the digital signatures of one or multiple files at once. The implementation also supports multiple signatures in one file and shows a detailed report about the verification results for each file separately:
1. Open or select XML document(s)
Open an XML document in the editor or select one or more XML files which should be verified from the File Explorer window of XML ValidatorBuddy. Any selected folder is skipped during the verify operation.
2. Use the verify command
Use the "Verify XML Digital Signature" command either from the toolbar or from the XML menu to verify XML digital signatures. This command is enabled if there is an active document in the editor or if one or more files are selected in the File Explorer.
The public key to verify the signature of an XML document is either taken from the certificate selected on the toolbar or, if the signature of the XML document contains a KeyInfo element, directly from the file. Any selected certificate has priority over the public key from the KeyInfo element.
The results of the verification process are displayed on the standard results pane or as a separate dialog if multiple XML documents were selected on the File Explorer tab.
Working with certificates
Certificates are used to hold the private and public keys to sign and verify XML documents with digital signatures.
  • •
    Certificates holding RSA, DSA and HMAC keys can be used.
  • •
    MD5, SHA and SHA-2 (SHA-256, SHA-384, SHA-512) hash algorithms are supported.
To put a certificate on the XML Digital Signatures toolbar in XML ValidatorBuddy open the "Certificates" page on the Options dialog. Use the "New" button to add a new line to the list of certificates. You can assign a title by clicking the line of the certificate on the list. The title will be displayed on the toolbar to identify the certificate.
To select a certificate use the "Assign Certificate..." button. Set the "Show on toolbar" check to show the certificate as a button on the XML Digital Signatures toolbar.


How to validate W3C Schema and DTD files

To validate W3C Schema files, usually files with an .xsd file extension, simply select one ore more W3C Schema documents (or DTDs) in the File Explorer window of XML ValidatorBuddy. This means you can validate W3C Schema files or DTDs with the same command and the same way you validate XML instance documents. After the validation has finished, a dialog appears with all results for each schema file validated. Using the results dialog you can click through all errors, warnings and other messages reported and open any file in the editor with a single click. This makes it easy to check a large number of schemas in less time.
You can also generate Schema documentation in HTML for one or multiple documents at once. Please take a look at the Help page Generating W3C Schema documentation to learn more about this feature.


Generating W3C Schema documentation

Generated Schema documentation is a great way to get a quick overview about a Schema you don't know and also to provide additional documentation if you give your Schema to someone else. With XML ValidatorBuddy you can generate informative and pretty HTML based Schema documentation for any W3C Schema just with a few clicks.
Documentation for single Schema files
Select any number of W3C Schema files in the built-in File Explorer of XML ValidatorBuddy. Use the right-click menu and the "Generate Schema documentation" command to instantly generate the HTML Schema documentation for all selected schema files.
For each Schema file the generated HTML documentation is written to the same folder replacing the .xsd file extension with ".html".
Documentation for folders containing Schema files
To generate Schema documentation for all Schema files in a folder and its sub-folders select a single folder in the File Explorer and open the context menu with a right-button click. Then select the "Generate Schema documentation" command from the menu in the same way as you do it for multiple files. The command will notice that only a single folder is selected and offers now a dialog where you can select if you want to write the generated documentation HTML next to each schema found or in a separate folder.
The advantage of the separate folder is that all generated documentation files are afterwards at one place. For example, you could easily add them to a ZIP archive and send them by email. The advantage of saving the files next to the schema is that you have the documentation at the same location as the schema. You might prefer this option if you like to keep the documentation for later reference.
During the generation the hourglass mouse cursor is shown and after the process has finished a message box is displayed saying that all schemas are now documented.


XSL transformation

To do XSL transformation you simply select the file(s) for transformation in the File Explorer window of XML ValidatorBuddy and specify the XSL stylesheet with the "XSL Transformation..." command from the "XML" menu. A dialog opens with plenty of options to save the generated output documents:
Only the selection of the stylesheet (XSL) is necessary, everything else is optional.


JSON editor help pages

×

  • JSON editor help pages

The contents of JSON editor help pages

JSON editor text mode
JSON grid editor
JSON Schema editor
How to convert JSON to CSV


JSON editor text mode

Use the "Editor" tab in XML ValidatorBuddy or JSONBuddy to open and edit JSON documents. The editor provides JSON specific syntax-coloring, intelligent auto-completion and well-formed checking. Of course all of the standard editor functionalities like copy-paste and find or replace are also available for JSON documents.
JSON auto-completion
The JSON intelligent auto-completion feature learns which object and value names are used in the currently active JSON document. On starting a new name with a leading " (quote) character, a list of already used names is presented in a standard auto-completion window for quick selection. This saves a lot of time on editing and modifying any JSON document.
Validation using JSON Schema
Please learn more about JSON validation here: JSON Schema editor
JSON well-formed checking
To make sure that the current JSON content of the active document follows the JSON syntax, you can use the "Check if JSON well-formed" command from the JSON menu at any time.
As an example we take the following malformed JSON:
{
"root": {
"span": [ { "style": "font" }, 1, ]
}
}
And we get the following message in the standard results dialog of the editor:
Hint: To check multiple JSON documents at once just select them in the File Explorer window of XML ValidatorBuddy and use the "Check if JSON well-formed" command from the JSON menu or use the toolbar button.
JSON pretty-print
Use the "Pretty-print JSON" command from the JSON menu to convert any JSON input into a more readable layout. This can help a lot on editing a JSON document and avoids adding errors to the content. Because only well-formed JSON can be pretty-printed, this command will also detect syntax errors in the document.
Remove whitespace from JSON
Any well-formed JSON can be converted to a compact format to reduce the amount of characters which is used to save the document. The resulting JSON will be printed as a single line without any line-breaks.
JSON Pointer evaluator
Use the built-in JSON Pointer evaluator to quickly test and create valid JSON pointer expressions for your JSON document. If the pointer evaluates to a location in the current document the editor will select the corresponding line:


JSON grid editor

Use the grid view in XML ValidatorBuddy to open and edit well-formed JSON documents. The grid editor also provides JSON specific syntax-coloring and intelligent auto-completion. Of course all of the standard editor functionalities like copy-paste and find or replace are also available in the gird editor. You can use the "Grid view" command from the toolbar or from the View menu to switch to the grid editor at any time. If the JSON content contains syntax errors the text view will show the results of the well-formed check. You need to resolve all of them before you can activate the grid editor for JSON.
Expand and collapse objects and arrays
The plus and minus signs in the left corner of any JSON object or array allows to collapse and expand any element. The collapsed status of any child object will be remembered. On expanding any parent element all children will be displayed according to their previous state. Please use the "Collapse selection" command from the context menu to collapse the current selection and all children. Use the "Expand selection" command to expand all of the current selection.
Setting and moving the selection
A single click using the left mouse button selects any element in the grid editor. You can then move the current selection with the keyboard arrow keys (up, down). Please take a look at the samples below to learn more about the different selection states:
In this case the complete "author" array is selected. Any copy/paste operation would affect the whole array. Pressing Delete would also remove the complete array from the grid view.
This selection points to the upper insertion location of the "author" array. A paste operation would insert any content right before the "author" array.
In this case the lower insertion point is selected. A paste operation would insert any content right after the "author" array.
Extending the selection with SHIFT and CONTROL keys
You can extend the current selection using the mouse together with the SHIFT and CONTROL keys. Holding down the SHIFT key will select all elements at the same level between the current left mouse button click position and the existing selection. Holding down the CONTROL will only add a single element next to the current selection.
Drag and drop
Holding down the left mouse button at the current selection and moving the mouse will start a drag and drop operation. The cursor will turn into a hand to signal that a drag and drop operation is now executed. Release the left mouse button at the position where you want to move the current selection. In the picture below the object will be moved between the first and the second element of the "author" array:
The drag and drop position is shown in orange and follows the same style as the selection insertion points from above.
Quick editing using the TAB and ENTER keys
The TAB and ENTER keys can be used to quickly move the edit field and to insert a new value. The TAB key will move the edit field to the next possible name, caption or value. You can immediately continue editing at the next JSON content. The ENTER key will insert a new value right after the current edit field.
Set the type of a JSON value
A JSON value can have one of the following types: string, number, boolean and null. The selected type affects how the JSON content is written as text. Only the string type will get surrounding quotes. You set the type of a value using the selection field on the right side of the name area:
A single click at the existing symbol will show the selection field.
T = string, # = number, B = boolean, 0 = null
Context menu
Use the context menu for the most common tasks while editing your JSON data. You can also see the currently assigned keyboard shortcuts of the commands from there. The context menu will open after a click with the right mouse button.


JSON Schema editor

In order to help people writing JSON schemas, XML ValidatorBuddy provides special syntax-coloring and auto-completion for schema keywords together with a built-in validator.
To tell the editor that you are working on a JSON schema, simply use the "Quick Associations" pane and set the "Document is JSON Schema" checkmark. From this moment on the editor knows that this JSON content should be treated as JSON schema:
You will notice that the way JSON syntax-coloring works changes immediately after telling the editor that this JSON is actually a schema. All of the schema keywords are now green and all of the keywords are also present in the auto-completion. The picture below shows how the sample library schema, which is part of the installation, is displayed afterwards in the editor:
JSON Schema keywords like "properties" or "description" appear in green, while arbitrary names like "book" are still in red. This improves the readability of the schema in the editor a lot and helps on editing the document. The sample has been modified in a way that the built-in JSON schema validator reports an error. As you can see on the screenshot the "type" field contains a wrong "obect" value. The editor will point you to the error location in the schema and also shows the exact description in the "Results" pane at the bottom. You can jump to the error position at any time on clicking the entry in the Results window.
Auto-completion is a very important feature and helps tremendously on creating and editing any text-based standard. As you can see on the screenshot below, the editor provides a list of JSON schema keywords also for the auto-completion window:
Quickly test any JSON instance while editing the schema
To check a JSON document against any JSON Schema, enter the path to the JSON schema at the "JSON Schema" field of the "Quick Associations" pane when the JSON instance is the active document. Now the editor keeps a reference to the schema for this instance document. It is also possible to put a relative path here. If both documents are located in the same folder just enter the name of the schema here. Whenever you use the "Validate against JSON Schema" command the schema content is either loaded from disk or directly taken from the editor and the validation results appear in the "Results" pane. This makes it possible to quickly test the schema while it is still open in XML ValidatorBuddy for editing.
Most of the reported errors also contain the location as JSON pointer. Simply click on the error in the Results window to use the jump-to-error functionality and to go to the position where the error was detected.
Validator for JSON Schema files
To validate JSON Schema documents the editor provides a built-in schema for schemas. If the current document is marked as JSON schema the "Validate against JSON Schema" command will use the built-in schema to detect errors in the active schema. This makes it easy to create error free JSON schema files in less time.
Any errors in the JSON schema are displayed in the standard Results window.


How to convert JSON to CSV

Use the "JSON | Convert JSON to CSV file..." command to convert JSON input to CSV tables. This command is enabled after selecting a file in the built-in "File Explorer" or an active document is loaded on the Editor tab. To start the conversion a dialog is opened that offers various options in a convenient way:
How to convert JSON to CSV

Take only top-level objects

1. Take only top-level objects
Only JSON objects from the root level are taken to generate the CSV output. Can also be used if the top-level value is a JSON array.
Top

Take objects at JSON pointer

2. Take objects at JSON pointer
If not the complete JSON should be converted to CSV this option can be used to set a JSON pointer to set the location where the conversion process should start.
Top

JSON pointer field

3. JSON pointer field
JSON pointer to set the location in the input where the conversion process should start. See also (2)
Top

Take from selection

4. Take from selection
This button is enabled if the current document is converted to CSV and a valid JSON pointer for the current selection is available. On clicking this button the current JSON pointer is copied to the JSON pointer field
Top

Only objects named

5. Only objects named
Use this option if only objects with a specific name at the starting level shall be converted to CSV.
Top

Include child objects and values

6. Include child objects and values
Select this option to convert the complete JSON with all child objects and values. The column labels are then JSON pointers pointing to the related values relative to the starting level of the JSON input. Please take a look at the List of JSON values and the CSV preview to get a better idea how the JSON is converted to CSV in this case.
Top

List of JSON values

7. List of JSON values
This list contains all of the JSON values which will be converted to CSV. You can add values using the Add and Remove buttons. The column labels are actually JSON pointer fragments relative to the starting level within the JSON input.
Top

Add value

8. Add value
Use this button to manually add a JSON value (by name) to the CSV output.
Top

Remove value

9. Remove value
Button to remove a selected JSON value from the CSV output.
Top

Up button

10. Up button
Moves the JSON value position to the front in the CSV output line.
Top

Down button

11. Down button
Moves the JSON value position to the end in the CSV output line.
Top

Update preview

12. Update preview
The CSV output preview is refreshed using the current conversion options.
Top

CSV preview

13. CSV preview
Top

CSV column delimiter

14. CSV column delimiter
The CSV export supports three different column separators:
  • •
    Semicolon
  • •
    Comma
  • •
    Tabulator
Top

Create header row

15. Create header row
Add a header line with column labels to the CSV output.
Top

Output encoding

16. Output encoding
Please select the encoding that should be used on writing the CSV output. By default a standard ASCII encoding is selected.
Top

Convert button

17. Convert button
Top
In general the conversion process takes all JSON objects it can find at a specific location in the JSON document. This location can be the root of the JSON data or any other valid JSON pointer.
A list of JSON values is updated whenever the starting location of the conversion process is changed. This list can also be used to change the order in the CSV output, to remove values from the output and to add values which were not detected automatically. Use the "Remove" button to skip a JSON value in the CSV output. In order to move a value up or down select the value from the list and use the "Up" or "Down" buttons.
The "Take from selection" button is enabled if the dialog was opened from an active document on the Editor tab. In this case the JSON pointer location is taken from the current selection in the JSON data.
To generate the actual output use the "Convert" button. This will open a new document in the editor with the conversion results as CSV. Afterwards you can save the CSV data with the standard "File | Save" command.
Error reporting
It can happen that not all of the JSON input can be converted to CSV. For example, the JSON input could have syntax errors at a specific line. Any available CSV output is written to a new document and the standard "Results" window of the application will then display all of the reported errors. Please note that not all of the JSON input is converted in this case.


Generate JSON schema documentation

Use the "View | Schema view" command or the toolbar button to switch to the JSON schema view (currently read-only) to generate a nicely looking tree diagram of your JSON schema. If the current JSON content contains syntax errors the text view will show the results of the well-formed check. You need to resolve all of them before you can activate the JSON schema view. You can expand and collapse parts of the schema to get a better overview of the JSON structure:
Use the "Generate JSON schema documentation (HTML)" command to create a new document in the editor which contains the generated HTML. The HTML documentation uses SVG to keep the diagram scalable to any size. After you have saved the document with the generated documentation you can open it directly in your browser.


Convert CSV data to XML or JSON

CSV is a popular format for tabular data and can be used to export and convert from many sources like Excel or databases to JSON and XML. To make it easy to work with CSV, XML ValidatorBuddy can convert any CSV input to XML or JSON using a dialog that offers various options in a convenient way. To open the dialog select any CSV input document and use the Convert CSV file... command from the File Explorer menu.
The dialog shows a preview of the first 20 lines of the CSV input. This allows to see how the data will be imported and changing any related options like the column separator updates the preview immediately. There is also the output preview which shows how the input CSV data will be converted to XML or JSON. To generate the actual output use the "Convert" button. This will open a new document in the editor with the conversion results in XML or JSON.
Convert CSV data to XML or JSON

Column separator

The CSV import supports three different column separators:
  • •
    Semicolon
  • •
    Comma
  • •
    Tabulator
Top

Encoding of CSV input

2. Encoding of CSV input
Please select the encoding according to the CSV input. By default a standard ASCII encoding is selected.
Top

CSV preview

3. CSV preview
The input preview can be used to check if the CSV can be converted as expected. It will also show, if the first line contains header information to set the column labels.
Top

CSV header line check

4. CSV header line check
Many CSV files contain a header line to set the column labels. If the current input comes with a header line, set this option to read the column labels from the first line. As a consequence, the import will then start from the second line.
Top

Column selector for generated output

5. Column selector for generated output
Below the header line option is a list of column labels. Use the check-box in each line to include or exclude the column in the output. In addition the label text can be edited. The output preview will show the changes to the column labels immediately.
Top

Output format

The CSV data can be converted into XML or JSON using this option.
Top

Conversion method

XML ValidatorBuddy supports several methods what JSON or XML structure will be created from the imported CSV data. The following methods are available for the generated JSON:
  • •
    A JSON object as array item for each CSV row
  • •
    A JSON array for each CSV row
  • •
    A JSON array for each CSV column
Top

Output preview

8. Output preview
Please note that the Output preview will only show the data from the first 20 lines of the CSV input.
Top

Convert button

9. Convert button
Click the "Convert" button to start the conversion process and to generate the XML or JSON output. A new document with the conversion result will be opened in XML ValidatorBuddy.
Top


JSON-XML conversions

XML ValidatorBuddy can convert XML to JSON and also from JSON to XML with a single click. To transform XML documents to JSON use the "Convert XML to JSON" command from the XML menu, for JSON to XML conversions use the "Convert JSON to XML" command from the JSON menu.
Convert the current document
Simply use the conversion commands from the XML or JSON menu to transform the active document to the other format. If the conversion was successfully the result is opened in a new document directly in the editor. The new document can be modified and saved afterwards.
Additional options for XML to JSON conversions
There are several options available to enhance the XML to JSON conversion process. With XML ValidatorBuddy you can apply a stylesheet to the XML before the XML is converted. This way you can transform the input or take only XML nodes you are interested in easily:
It is also possible to add prefixes to all attribute names coming from the XML. This allows to distinguish between element nodes and attributes also in the JSON output. In order to keep all namespace prefixes in JSON please check the "Keep namespace prefix" option. Otherwise all prefixes will be removed from the output.
Running conversions from the built-in File Explorer
XML ValidatorBuddy will convert all files selected in the File Explorer from XML to JSON. Regardless of the file extension the conversion process assumes that all selected files are XML documents and XML ValidatorBuddy tries to convert them to the JSON file format. After a document has been converted, a JSON well-formed check is applied to the output file to make sure that the generated text is readable JSON.
The converted JSON document gets the same file title with only the file extension replaced with .json. If there is already a file present with this name, the conversion is not executed and no document is written. In this case a message is added to the results window.
Use the "Convert JSON to XML" command from the JSON menu to convert any number of JSON documents to XML. The process is basically the same as the one from the XML to JSON conversion.


Advanced batch processing

×

  • Advanced batch processing

The contents of Advanced batch processing

XML and JSON batch processing
Transforming the batch output
Scheduled XML batch task
XML batch configuration - reference


XML and JSON batch processing

The XML ValidatorBuddy tool set makes it easy to create and run a wide range of XML batch validation tasks. It is often complicated to configure a batch task, for example if all options must be set through the command-line. To avoid this XML ValidatorBuddy provides a user-friendly dialog to create and manage all settings which are required to validate many files at once. Any supported batch task can either be started directly from the desktop application or using the command-line tool, which can also be called as a scheduled task by the operating system.
Step 1
Configure a batch task
All parameters and options to control the batch process are stored in a single XML settings file. This way you can easily use the same settings over and over again and you can create new batch settings using already existing setting files as templates. This is a huge benefit compared to simple command line parameters which you need to remember and often result in multi line command strings.
There are two ways to create this XML settings file:
a) Simply by using the "Batch settings" dialog
The "Batch Settings" dialog makes it is easy to define your batch process. To show this dialog use the "Configure and run batch task..." command in the XML ValidatorBuddy desktop application.
This dialog allows you to set all available options for the batch task in a convenient way. In addition you can load already defined batch settings and save new setting files for later use. Batch validation supports several parsers and types of validation like MSXML, Xerces, Schematron or RelaxNG. Using the Xerces SAX parser is recommended especially for large XML documents.
The "Test batch" button runs the batch as it is defined but without executing the validation. During the test the log file is created and saved. The log file written during the test run gives an overview which and how many files will be processed during the real batch.
This dialog can also be used to run the batch immediately. Push the "Run batch" button to immediately start the batch task. XML ValidatorBuddy will execute the batch as an own process in the background and you can continue working on other things in the meantime. The log file will grow constantly during the batch run.
b) Creating the settings XML manually
Open your XML editor or any other text editor which can save the file in Unicode UTF-8 or UTF-16. Even Notepad can do this. Type the following XML to create the simplest settings file for the batch:
<?xml version="1.0" encoding="UTF-8"?>
<batch_settings>
<batch_units>
<log_document path="C:\xml_log.xml"/>
<options/>
<batch_unit type="validation" validator="XercesC">
<folder_settings folder="C:\xml" subfolders="true"/>
<file_extensions>
<extension>xml</extension>
</file_extensions>
</batch_unit>
</batch_units>
</batch_settings>
This settings XML only specifies the necessary parameters:
  • •
    Start the batch at folder "C:\xml"
  • •
    Include all subfolders in the batch
  • •
    Validate all files with extension .xml
  • •
    Save the log file to "C:\xml_log.xml
Don't forget to set the encoding on saving the file if you don't use an XML editor to create the file! For a complete list of options in the settings XML please take a look here .
Step 2
Start the batch
Use the desktop application to run the batch
The "Batch settings" dialog in the desktop application makes it easy to define and run a batch task. After all options are set simply click on the "Run batch" button of the dialog.
Use the "Show message box after finishing" check-box in the dialog to control if XML ValidatorBuddy should wait until the batch task has been completed or not. If this check-box is not set, you can continue to use XML ValidatorBuddy but you won't be notified if the batch task is over.
Running the batch from the command-line
Open a command prompt at your XML ValidatorBuddy installation folder and enter the line to start valbuddy.exe with the settings XML:
Of course the batch can take a while depending on how many files with .xml extension are located at C:\xml in this case. If there is only a small number of files to be validated XML ValidatorBuddy should finished the batch in a few seconds.
If the batch process takes several minutes or hours you can open the log file at any time to check the progress while XML ValidatorBuddy is still running.
Step 3
Open the log file
The batch task creates a log file in XML format. This file can be opened directly in XML ValidatorBuddy or with any other text or XML editor. The path to the log file and its name are set in the batch settings dialog and also written to the settings XML file of the batch task.


Transforming the batch output

Although the XML log document contains all of the collected information after the batch run it is often necessary to provide the log results in a more readable format. Having all the data transformed into a HTML file makes it easy to read and can also be used to publish the log on the Intranet and/or the Internet.
In order to make this as simple as possible the batch validation settings file supports to specify a XSL transformation task. This task is applied after the log document has been created successfully. The transformation needs to input parameters. The XSL stylesheet and the name of the output file to generate. The batch dialog, which is available in the XML ValidatorBuddy Desktop application, allows you to set those parameters in a simple way:
Just check the "Transform output file" check-box and use the Configure... button to set the XSL stylesheet to use and the path to the output document of the transformation in the dialog:
XML ValidatorBuddy already comes with a sample XSL stylesheet which you can apply directly to your own batch result files. This stylesheet with the name valbuddy_log.xslt is written to the installation folder and can be located there. The output HTML is a straight-forward table using a green column background for valid files and a red background for invalid files. Even this rather simple approach makes it a lot easier to distinguish the invalid XML documents from the valid ones:
Applying a XSL transformation gives you a lot of more options beside generating HTML. Simple text files, another XML, PDF or even a Microsoft Word document can also be the result of the transformation. In addition there are powerful tools available producing XSL stylesheets for you generating the output of your choice without writing a single line of XSL.


Scheduled XML batch task

The XML ValidatorBuddy command-line tool provides a simple way to run any supported XML batch validation task. The executable "ValBuddy.exe" is part of the XML ValidatorBuddy Desktop package and can be found at the installation folder.
As a first step you need to configure the batch task by creating a XML settings file. The most convenient way to do so, is to use the "Configure and run batch task..." dialog of the XML ValidatorBuddy Desktop application. The desktop application is also a good place to test the batch task before you create a scheduled task. The desktop application will also use the command-line tool from the installation folder to run the batch task.
Once you have the final settings file you can pass it to the command-line tool. If ValBuddy.exe gets only one parameter at the command-line the tool assumes that this paramter is the path to a settings XML and runs the batch immediately (please call ValBuddy.exe without any options to get a list of all supported parameters).
Use the Windows control panel to create a new scheduled task. To run the XML batch validation take the executable ValBuddy.exe of the command-line tool and add the settings XML as the only parameter.


XML batch configuration - reference

×

  • Advanced batch processing
  • XML batch configuration - reference

Batch configuration XML reference

Pease note: It is possible to edit the XML document to configure the batch task manually, but it is recommended to use the XML ValidatorBuddy Desktop application instead ( as described here in detail ) to simplify the creation of the XML settings.
<batch_settings>
The batch_settings element is the root element of the settings XML file. This element has no attributes and contains the batch_units element.
<batch_units>
This element contains other child nodes to set global parameters for all batch units and the sequence of batch_unit elements.
<log_document>
Attributes
path
Used to set the path including the file name of the output log document.
<options>
Attributes
close_logdoc | If the attribute is true the log document is closed after the batch process.
save_logdoc | True to save the log document automatically.
log_valid | If this attribute is set to false only invalid XML files will be reported.
timeout | Used to specify a timeout for the validation of each XML instance.
omit_time | The validation time for each file is not added to the log. This reduces the number of differences on comparing the log with a reference log.
omit_results | No detailed errors are reported in the log.
error_limit | Sets a limit for the number of reported errors for each file. Setting error_limit to 0 has the same effect as setting omit_results to true.
log_use_xinclude | If the batch task will create large log documents it is more efficient to write the log entries for all results as an included XML file. This can avoid "out of memory" conditions.
<batch_unit>
Attributes
type | Contains "validation", "well_formed_check" or "json_syntax_check" as the type of this batch task.
validator | Can contain "XercesC-SAX", "XercesC", "MSXML", "AltovaXML", "Schematron" or "RelaxNG" to set the validator. It is recommended to use "XercesC-SAX" for W3C schema and DTD validation.
external_schema | Path to external schema for Schematron or RelaxNG validation.
<folder_settings>
Attributes
path | Path to folder containing the files for the batch process.
subfolders | Set to true to include subfolders.
<file_extensions>
Only files with the file extensions listed in the file_extensions element will be used in the batch. The element includes a sequence of extension child nodes.
<extension>
The textual value of the extension element is taken as the file extension.


Custom user tools

Custom user tools are a great way to enhance the functionalities of XML ValidatorBuddy and to offer the user new possibilities to work with XML files. In general it is possible to call any executable, Java class or XSL transformation and to pass different arguments to the external tool. To add, delete or modify a custom user tool open the Options dialog from the Tools menu and select the "Tools setup" page.
A custom user tool is also a great way to use all kind of Java classes that support a command-line interface in XML ValidatorBuddy. The screenshot below shows how to add the JSONIX schema compiler to the application to convert a W3C schema to JSON schema:
Please note that you can put the path argument which is passed to the external tool in quotes to avoid problems if the path contains spaces. Several pre-defined variables can be accessed with the ">" button on the right side of the "Arguments" field.
One-click XSL transformations are also possible using a custom user-tool. Please note that you should not encapsulate arguments in quotes in this case as the parameters are only used internally and not passed to any external tool.
Below is a sample on how to add the simple batch log file XSL transformation which is installed with XML ValidatorBuddy to convert the XML log to HTML output:
If "Show tool as button" is checked the custom user-tool will be added as button to the bottom of the File Explorer view. A user-tool can also be invoked by command if the "Show tool in Explorer tab menu" is checked.
Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation


Schematron settings

The installer creates all necessary settings for Schematron validation on installing XML ValidatorBuddy. So Schematron validation runs out-of-the-box using the Saxon HE transformation engine (which is also installed).
XML ValidatorBuddy provides Schematron validation by applying XSL transformations to the XML instance file. The required stylesheets are installed by the installer and located in the installation folder. It is possible to change those stylesheets or to use completely different ones if necessary. The paths to the XSL files and other settings are accessible on the "Schematron" page of the Options dialog.
Schematron Processing Instruction
If the Schematron Processing Instruction is found in an XML instance document on doing Schematron validation the referenced Schematron schema file is used for validation. The File Explorer view in XML ValidatorBuddy also displays the text value of this PI, which should be a path to the Schematron schema. This way you can validate XML documents against any Schematron schema without the need to manually select the schema file. Simply select the documents with a valid Processing Instruction in the File Explorer window and use the "Validate with Schematron" command from the XML menu.


XMLSpy® Schematron validator

×

  • XMLSpy® Schematron validator

The contents of XMLSpy® Schematron validator

Schematron validator in XMLSpy
Schematron validator setup


Schematron validator in XMLSpy

×

  • XMLSpy® Schematron validator
  • Schematron validator in XMLSpy

Schematron validation in XMLSpy

®
The XML ValidatorBuddy XMLSpy® plugin provides easy access to Schematron validation in XMLSpy®. There is no need to create a command-line batch file or to use any other complicated tool. Just assign a Schematron schema and validate your XML instance files completely in the XML editor.
Assigning a Schematron Schema
The XML ValidatorBuddy plugin supports two methods to assign a Schematron Schema to an XML instance file:
1. Processing Instruction
A reference to a Schematron Schema can be provided by adding a Processing Instruction to the XML. The name of the Processing Instruction has to be valbuddy_schematron and the data is either an absolute or relative path to the .sch file. Example:
<?valbuddy_schematron using_report_element.sch?>
2. Project folder
If the XML document is part of the currently open Project a Schematron Schema can be provided by adding the .sch file to the same Project folder.
Schema Selector
The Schema Selector shows the associated Schematron .sch files and can be used to select which Schema will be used for validation. To update the list of Schema files use the button on the right side.
Open Schematron schema
Use this button to open the currently selected Schematron schema in XMLSpy® as new document. You can then modify the schema and check the validation again directly in the editor.
Validation
On clicking the Validate button the Schematron validation is started against the selected Schema file. If the Schema Selector is not filled XML ValidatorBuddy will search for any associated Schema files and takes the first Schema found for validation.
Advanced Functionality
Schematron validation uses XSLT transformations to validate the XML instance file. The "Get XSLT" button creates a new .xsl document in XMLSpy® which contains the stylesheet transformed from the currently selected Schematron Schema. You can use this for advanced debugging in the built-in debugger of XMLSpy®.


Schematron validator setup

After XML ValidatorBuddy has been installed, it is possible to do Schematron validation with a single click. Usually there is no need to manually configure any of the options described below. Please note that XML ValidatorBuddy requires a recent version of the Java Runtime environment for Schematron validation.
The standard method of Schematron validation uses XSL stylesheets to transform the Schematron .sch files into XSL. This XSL output of the first stage is then applied to the XML instance. XML ValidatorBuddy supports two different XSL paths for Schematron 1.5 and ISO Schematron. The installer already puts an ISO stylesheet into the installation folder in the \Schematron\isoXSL subfolder:
If you want to provide a different XSL or the path is not filled you can change here the stylesheets which are used for ISO and 1.5 Schematron schemas. XML ValidatorBuddy detects the schema version automatically by the namespace.
Handling of includes
To support includes the tool also allows to set a pre-process stylesheet. This stylesheet will be applied to embed any referenced external schema files into a single XSL. The resulting XSL is then used to validate the XML instance. Please check the "Includes pre-process step" to enable includes in Schematron. The pre-process step also needs the path to an XSL to resolve the references. Please set this path in the "XSL:" edit field. You can use the "..." browse button to get a standard file selection dialog.
If you don't have a custom includes pre-process stylesheet yourself you can download a working XSL at: iso_dsdl_include.xsl This XSL has been written by Rick Jelliffe , the founder of Schematron.