12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- // wrapped by build app
- define("dojox/wire/ml/XmlHandler", ["dijit","dojo","dojox","dojo/require!dojox/wire/ml/RestHandler,dojox/xml/parser,dojox/wire/_base,dojox/wire/ml/util"], function(dijit,dojo,dojox){
- dojo.provide("dojox.wire.ml.XmlHandler");
- dojo.require("dojox.wire.ml.RestHandler");
- dojo.require("dojox.xml.parser");
- dojo.require("dojox.wire._base");
- dojo.require("dojox.wire.ml.util");
- dojo.declare("dojox.wire.ml.XmlHandler", dojox.wire.ml.RestHandler, {
- // summary:
- // A REST service handler for XML
- // description:
- // This class provides XML handling for a REST service.
- contentType: "text/xml",
- handleAs: "xml",
- _getContent: function(/*String*/method, /*Array*/parameters){
- // description:
- // If 'method' is "POST" or "PUT", the first parameter in
- // 'parameters' is used to generate an XML content.
- // method:
- // A method name
- // parameters:
- // An array of parameters
- // returns:
- // A request content
- var content = null;
- if(method == "POST" || method == "PUT"){
- var p = parameters[0];
- if(p){
- if(dojo.isString(p)){
- content = p;
- }else{
- var element = p;
- if(element instanceof dojox.wire.ml.XmlElement){
- element = element.element;
- }else if(element.nodeType === 9 /* DOCUMENT_NODE */){
- element = element.documentElement;
- }
- var declaration = "<?xml version=\"1.0\"?>"; // TODO: encoding?
- content = declaration + dojox.xml.parser.innerXML(element);
- }
- }
- }
- return content;
- },
- _getResult: function(/*Document*/data){
- // summary:
- // Extract a result
- // description:
- // A response data (XML Document) is returned wrapped with
- // XmlElement.
- // data:
- // A response data returned by a service
- // returns:
- // A result object
- if(data){
- data = new dojox.wire.ml.XmlElement(data);
- }
- return data;
- }
- });
- });
|