Summary

SketchPath is a free XPath Editor and XML analysis and testing tool supporting XPath 1.0 and XPath 2.0. It provides an integrated graphical environment for viewing XML files, developing and testing XPath expressions against them and managing the expressions in file libraries.

 (Fig 1) Screenshot of SketchPath with XPath editor in 'Trace' mode. In this mode, a slider control or cursor keys are used to step through an XPath expression, alternatively you can simply click on the expression part directly. 

XPath Evaluation

SketchPath uses the .NET System.Xml.XPath Query Evaluator for XPath 1.0 and uses Saxon.Net from Saxonica for XPath 2.0 evaluatation.

XPath Query Features 

One of the many original features of this tool is the ability to (with a double-click) 'step into' any part of a complex XPath expression to resolve a specific part.

XPath expressions can be created, imported, managed and saved as expression library files. These files are in an XML format.

SketchPath supports compressed zip-format XML Packages as used by OOXML and ODF.

SketchPath Users

This tool should suit XSLT and XQuery developers at all levels or any developers or analysts who work with XPath. Location-Path generation features and an extensive Assist Pane are well-suited to those new to the XPath language. Equally, Intellisense, debugging and variable-handling features should help ease the workload for more experienced XPath users working with complex XPath expressions.

 

((Fig 2) Screenshot of SketchPath XML Package view. The dynamically populated 'Intelli-List' in the 'Assist Pane' is populated with valid nodes for the context. If required, complex XPath expressions can now be built mostly with the mouse.

 

(Fig 3) The Value Nodes Pane in SketchPath shows, at a glance, the immediate 'significant' subnodes of the selected element. An XPath location is automatically generated as each subnode is selected.

 

 

 

(Fig 4) The Environment Manager handles Namespace and XSD schema location declarations and XSD validation. A custom schema resolver is used to resolve relative URIs for the SchemaLocation. If valid, the type annotation and base type is shown (as here) for each selected element. Any invalid nodes are listed and can be navigated interactively.

(Fig 5) This shot shows the settings for the SketchPath default XPath processor. Settings are preserved in a location dependant on whether the local or USB portable version of SketchPath is used .

 

What is SketchPath used for?

Because of the ubiquity of XPath, and SketchPath's array of features it can be used in a vast range of different contexts. The following is just a small sample of contexts in which SketchPath is being used:

  • Enterprise Content Management
  • Business Process Modelling (BPEL)
  • Financial Product Integration (FPML)
  • Web Page Development
  • Web Scraping Configuration
  • XPath Learning
  • XML Processor Testing 

License

SketchPath is available as Freeware under a Creative Commons Attribution-No Derivative Works 3.0 License. Saxon license information is separate and is detailed on the SketchPath downloads page.

Project Status

SketchPath is a personal-project that was first released as 'a Production Version' in Dec 2007,  following an 8-month public Beta phase.

Acknowledgements

For XPath 2.0 evaluation, SketchPath makes extensive use of Saxon, the XSLT and XQuery processor produced by Saxonica at http://www.saxonica.com

 

Help and Support

See the Features page for help on using SketchPath functionality. There's also a Getting Started page here and a 'How To' list, or you can use the search feature on this page to search the SketchPath website for a specific phrase.

Feedback

Your feedback will help ensure the continued improvement of this product. So please contribute and contact me with any new features you'd like to see, any specific annoyances, or just to let me know what you think of SketchPath.

Disclaimer

The materials in this site are provided "as is" and without warranties of any kind either express or implied. SketchPath represents an indenpendent initiative and the current employer (Logica) and previous employers of this publisher have no association with this product.