Monday, November 08, 2010 at 12:05 AM.

system.verbs.builtins.soap.encode.main

on main (adrmsg, val, adrparent, name, customStructType=nil, customNamespace=nil, customNamespaceURI=nil, flEntityEncodeHighAscii=false) {
	<<Changes:
		<<03/19/01; 3:25:08 PM by JES
			<<Added support for encoding arrays of structs. When encoding arrays, pass in customArrayType, customNamespace, and customNamespaceURI.
		<<04/03/01; 7:47:48 PM by JES
			<<New optional parameter, flEntityEncodeHighAscii, specifies whether to entity-encode high-ascii characters when encoding strings. Default is false. This is passed to soap.encode.simpleType, soap.encode.array, and soap.encode.struct.
		<<04/07/01; 7:25:18 PM by JES
			<<Changed name of customArrayType parameter to customStructType.
		<<04/09/01; 2:22:43 PM by JES
			<<Fixed a bug where types were not always specified for scalar values.
	local (type);
	case typeof (val) {
		binaryType;
		booleanType;
		charType;
		dateType;
		doubleType;
		intType;
		longType;
		shortType;
		stringType;
		unknownType {
			return (soap.encode.simpleType (adrmsg, val, adrparent, name, flEntityEncodeHighAscii:flEntityEncodeHighAscii))};
		listType {
			return (soap.encode.array (adrmsg, val, adrparent, name, customStructType, customNamespace, customNamespaceURI, flEntityEncodeHighAscii))};
		tableType {
			return (soap.encode.struct (adrmsg, val, adrparent, name, customStructType, customNamespace, customNamespaceURI, flEntityEncodeHighAscii))}}
	else {
		scripterror ("Can't encode \"" + name + "\" because the encoding of type '" + string.typeToString (typeof (val)) + "' is not supported.")};
	return (true)}



This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.