source: Dev/trunk/src/client/dojox/wire/ml/XmlHandler.js

Last change on this file was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 1.6 KB
Line 
1dojo.provide("dojox.wire.ml.XmlHandler");
2
3dojo.require("dojox.wire.ml.RestHandler");
4dojo.require("dojox.xml.parser");
5dojo.require("dojox.wire._base");
6dojo.require("dojox.wire.ml.util");
7
8
9dojo.declare("dojox.wire.ml.XmlHandler", dojox.wire.ml.RestHandler, {
10        // summary:
11        //              A REST service handler for XML
12        // description:
13        //              This class provides XML handling for a REST service.
14
15        contentType: "text/xml",
16        handleAs: "xml",
17
18        _getContent: function(/*String*/method, /*Array*/parameters){
19                // description:
20                //              If 'method' is "POST" or "PUT", the first parameter in
21                //              'parameters' is used to generate an XML content.
22                // method:
23                //              A method name
24                // parameters:
25                //              An array of parameters
26                // returns:
27                //              A request content
28                var content = null;
29                if(method == "POST" || method == "PUT"){
30                        var p = parameters[0];
31                        if(p){
32                                if(dojo.isString(p)){
33                                        content = p;
34                                }else{
35                                        var element = p;
36                                        if(element instanceof dojox.wire.ml.XmlElement){
37                                                element = element.element;
38                                        }else if(element.nodeType === 9 /* DOCUMENT_NODE */){
39                                                element = element.documentElement;
40                                        }
41                                        var declaration = "<?xml version=\"1.0\"?>"; // TODO: encoding?
42                                        content = declaration + dojox.xml.parser.innerXML(element);
43                                }
44                        }
45                }
46                return content;
47        },
48
49        _getResult: function(/*Document*/data){
50                // summary:
51                //              Extract a result
52                // description:
53                //              A response data (XML Document) is returned wrapped with
54                //              XmlElement.
55                // data:
56                //              A response data returned by a service
57                // returns:
58                //              A result object
59                if(data){
60                        data = new dojox.wire.ml.XmlElement(data);
61                }
62                return data;
63        }
64});
Note: See TracBrowser for help on using the repository browser.