Technologies

Sketchpath was written in C# using the Microsoft .NET Framework 2.0 and Windows Forms. It exploits the System.XML namespace for all most XML processing and XPath 1.0 evaluation. Saxon.Net from Saxonica is used for XPath 2.0 evaluation. The W3c XPath 1.0 and 2.0 recommendations are supported.

Priorities

Focus

SketchPath seeks to complement these products by providing a tool concentrating on just the one W3C recommendation, XPath. Hopefully this more focused approach permits it to provide a more efficient, yet simpler user inteface.

Out of Scope

XSLT transforms

Sophisticated XML Source editing features (Well formedness checking only)

XML compatibility

Character Escaping - XSLT Compatibility

XPath embedded within XSLT stylesheets, or any other XML document may use character entities for the 5 XML reserved characters. The XPath editor pane auto-converts these along with XML numeric character references into the literal characters, both to assist in readability (see screenshot - right) but also because the .NET XPath processor doesn't recognize character entities.

If XPath expressions containing XML reserved characters need to be copied and pasted into an XML document, these characters must be substituted with their respective character entities.

 

XML File Load Performance

To keep development time down, and yet still provide rich functionality, some design decisions were taken that effectively limit the size of the source XML document that can be loaded into this environment to about 512KB or 20,000 elements. Whilst file sizes up to 1.5MB have been tested successfully, the load time for such files is unacceptably long. The characteristics of the XML structure (especially the number of nodes) being loaded also have a significant impact on performance, so file size alone is not necessarily an indicator here.

External Links

Microsoft System.XML Namespace W3C XPath 1.0 Saxonica