public/ckeditor/_source/plugins/xml/plugin.js
function( xpath, contextNode )
		{
			var baseXml = this.baseXml;

			if ( contextNode || ( contextNode = baseXml ) )
			{
				if ( CKEDITOR.env.ie || contextNode.selectSingleNode )	// IE
					return contextNode.selectSingleNode( xpath );
				else if ( baseXml.evaluate )							// Others
				{
					var result = baseXml.evaluate( xpath, contextNode, null, 9, null);
					return ( result && result.singleNodeValue ) || null;
				}
			}

			return null;
		}
function( xpath, contextNode )
		{
			var baseXml = this.baseXml;

			if ( contextNode || ( contextNode = baseXml ) )
			{
				if ( CKEDITOR.env.ie || contextNode.selectSingleNode )	// IE
					return contextNode.selectSingleNode( xpath );
				else if ( baseXml.evaluate )							// Others
				{
					var result = baseXml.evaluate( xpath, contextNode, null, 9, null);
					return ( result && result.singleNodeValue ) || null;
				}
			}

			return null;
		}
function ( xpath , contextNode ) { var baseXml = this . baseXml ; if ( contextNode || ( contextNode = baseXml ) ) { if ( CKEDITOR . env . ie || contextNode . selectSingleNode ) // IE
 return contextNode . selectSingleNode ( xpath ) ; else if ( baseXml . evaluate ) // Others
 { var result = baseXml . evaluate ( xpath , contextNode , null , 9 , null ) ; return ( result && result . singleNodeValue ) || null ; } } return null ; }
Get a single node from the XML document, based on a XPath query.
@param {String} xpath The XPath query to execute.
@param {Object} [contextNode] The XML DOM node to be used as the context
for the XPath query. The document root is used by default.
@returns {Object} A XML node element or null if the query has no results.
@example
// Create the XML instance.
var xml = new CKEDITOR.xml( '<list><item id="test1" /><item id="test2" /></list>' );
// Get the first <item> node.
var itemNode = <b>xml.selectSingleNode( 'list/item' )</b>;
// Alert "item".
alert( itemNode.nodeName );
Get a single node from the XML document based on a XPath query .