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.