caldav::CalDAV instproc returnXMLelement (public)
<instance of caldav::CalDAV> returnXMLelement resource node
Defined in /var/www/openacs.org/packages/caldav/tcl/caldav-procs.tcl
Return a pair of values indicating success and the value to be returned. While the property=* methods above return just values, this method wraps it into XML elements for returning it.
- Parameters:
- resource (required)
- node (required)
- Testcases:
- PROPFIND_ios, PROPFIND_android, Thunderbird_subscribe, macOS_subscribe
Source code: # # set property [$node localName] set ns [$node name] :debug "<$property> <$ns> resource $resource queryType <${:queryType}>" if {[info exists :xmlns($ns)]} { set outputNs [set :xmlns($ns)] set methodName property=$outputNs-$property #:debug "call method $methodName" try { set value [:$methodName $resource $node] :debug "<$property> <$ns> resource $resource queryType <${:queryType}> -> '$value'" } on error {errorMsg} { ns_log warning "CalDAV returnXMLelement: call method $methodName raised exception: $errorMsg" set value "" } if {$value eq ""} { set result [list 1 <${outputNs}:$property/>] #:debug "${:method} query $methodName returns empty (probably not found)" } else { set result [list 0 <${outputNs}:$property>$value</${outputNs}:$property>] } } else { ns_log warning "CalDAV: client requested a element with unknown namespace $ns known ([array names :xmlns])" set result [list 1 [subst {<[$node nodeName] xmlns:[$node prefix]="[$node namespaceURI]"/>}]] } return $resultXQL Not present: Generic, PostgreSQL, Oracle