diff --git a/src/docbkx/common.xml b/src/docbkx/common.xml index 67d98f42..af017834 100644 --- a/src/docbkx/common.xml +++ b/src/docbkx/common.xml @@ -157,9 +157,6 @@
Handling XML With XPath - - One of the best ways to handle XML is to use XPath. Quoting , item 35: - What is XPath? @@ -169,6 +166,9 @@ XPath tutorial + + One of the best ways to handle XML is to use XPath. Quoting , item 35: +
XPath is a fourth generation declarative language that allows you to specify which nodes you want to diff --git a/src/docbkx/server.xml b/src/docbkx/server.xml index c9de2f7d..8ed13fe2 100644 --- a/src/docbkx/server.xml +++ b/src/docbkx/server.xml @@ -358,7 +358,7 @@ public class MarshallingOrderEndpoint extends AbstractMarshallingPayloadEndpoint
- <literal>@Endpoint</literal> + <interfacename>@Endpoint</interfacename> The previous two programming models were based on inheritance, and handled individual XML mesages. Spring Web Services offer another endpoint with which you aggregate multiple handling into one @@ -427,6 +427,59 @@ public class AnnotationOrderEndpoint { PayloadRootAnnotationMethodEndpointMapping is the mapping that detects and handles the @PayloadRoot annotations. + + As an alternative to using marshalling, we could have used XPath to + extract the information out of the incoming XML request. Spring-WS offers another annotation for + this purpose: @XPathParam. You simply annotate a method paramters + with this annotation, and it will be bound with the evaluation of that annotation. + Here is an example: + + + + + + + + + + + + + +]]> + + Using the @XPathParam, you can bind to all the data types supported by + XPath: + + boolean or Boolean + double or Double + String + Node + NodeList + +