1. A method of providing services in a network, the method comprising: sending a service request from a service requesting network element to a service matching network element, the service matching network element storing structured service documents defining available services in a database and the service request comprising a structured request document containing a plurality of nodes; at the service matching network element: receiving the service request; forming a Path and Parent Associated Node (PPAN) element for each node in the structured request document, each PPAN element being a data structure containing a path level of a current node in the structured request document, a name and value pair associated with the current element, and a name and value pair of a parent element of the current element, the PPAN element not containing additional information about structure of the structured request document other than the path level of the current node and the parent-child relationship of the current node and its parent node; using the PPAN elements from the structured request document to identify a subset of the stored structured service documents that contain data and structure that match the PPAN elements; and sending to the service requesting network element, at least part of a structured service document in the identified subset of structured service documents; at the service requesting network element: receiving the at least part of the structured service document; and using the at least part of the structured service document to access a service defined by the at least part of the structured service document.