Error: Unanticipated System.Xml.XPath.XPathException error when approving map

 This article is suitable for a Library Administrator

Ref: 201410300934
Last Edited: 4th December 2014

Symptoms

When confirming approval of a map on the 'Confirmation of Approvals and Rework' webpage, an unanticipated error is reported.

A problem has been encountered. Please see the Triaster knowledge base at www.triaster.co.uk or contact support@triaster.co.uk, with the following error details. 
Error Details: System.Xml.XPath.XPathException: 'RevisionHistory/Revisions[@Node='Map with 'single quotes' in name']' has an invalid token. at MS.Internal.Xml.XPath.XPathParser.CheckToken(LexKind t) at MS.Internal.Xml.XPath.XPathParser.ParsePredicate(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseStep(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseRelativeLocationPath(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParsePathExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseUnionExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseMultiplicativeExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseRelationalExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseAndExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseExpresion(AstNode qyInput) at MS.Internal.Xml.XPath.QueryBuilder.Build(String query, Boolean allowVar, Boolean allowKey) at System.Xml.XPath.XPathExpression.Compile(String xpath, IXmlNamespaceResolver nsResolver) at System.Xml.XPath.XPathNavigator.Select(String xpath) at Confirmation.UpdateRevisionHistory(XmlDocument objXMLDoc, String strNode, String strDescription, String strCategory, String strAuthor, String strURL, String strOwner, String strVersionInfo, String strApprover) at Confirmation.ProcessCollections(Collection colapproval, Collection colrework) at Confirmation.Button1_Click(Object sender, EventArgs e)
 
The map's Approval status isn't updated.

Cause

Approving a map with a name that contains characters that may be regarded as special in XML or XPath, such as single-quotes, will cause this error.

Solution

Ensure Node names do not contain such special characters.

Note:
Currently, we are only aware of single-quotes (aka an apostrophe, ANSI/ASCII character 39) causing this issue, but there may be others. Other versions of single-quotes, such as those often used by Microsoft Office to automatically replace those standard single-quotes, do not appear to cause the error.

Applies to

Triaster Server 14.2 and earlier





Need further help? Contact the Triaster Support team by e-mailing support@triaster.co.uk or by calling us on + 44 (0)870 402 1234.
 
Do you have any feedback or suggestions that you would like to share with Triaster? We would love to hear from you! Please e-mail feedback@triaster.co.uk