Function: url-dav-process-DAV:prop
url-dav-process-DAV:prop is a byte-compiled function defined in
url-dav.el.gz.
Signature
(url-dav-process-DAV:prop NODE)
Source Code
;; Defined in /usr/src/emacs/lisp/url/url-dav.el.gz
(defun url-dav-process-DAV:prop (node)
;; A prop node has content model of ANY
;;
;; Some predefined nodes have special meanings though.
;;
;; DAV:supportedlock - list of DAV:lockentry
;; DAV:source
;; DAV:iscollection - boolean
;; DAV:getcontentlength - integer
;; DAV:ishidden - boolean
;; DAV:getcontenttype - string
;; DAV:resourcetype - node who's name is the resource type
;; DAV:getlastmodified - date
;; DAV:creationdate - date
;; DAV:displayname - string
;; DAV:getetag - unknown
(let ((children (xml-node-children node))
(node-type nil)
(props nil)
(value nil)
;; (handler-func nil)
)
(when (not children)
(error "No child nodes in DAV:prop"))
(while children
(setq node (car children)
node-type (intern
(or
(cdr-safe (assq url-dav-datatype-attribute
(xml-node-attributes node)))
"unknown"))
value nil)
(pcase node-type
((or 'dateTime.iso8601tz
'dateTime.iso8601
'dateTime.tz
'dateTime.rfc1123
'dateTime
'date) ; date is our 'special' one...
;; Some type of date/time string.
(setq value (url-dav-process-date-property node)))
('int
;; Integer type...
(setq value (url-dav-process-integer-property node)))
((or 'number 'float)
(setq value (url-dav-process-number-property node)))
('boolean
(setq value (url-dav-process-boolean-property node)))
('uri
(setq value (url-dav-process-uri-property node)))
(_
(if (not (eq node-type 'unknown))
(url-debug 'dav "Unknown data type in url-dav-process-prop: %s"
node-type))
(setq value (url-dav-dispatch-node node))))
(setq props (plist-put props (xml-node-name node) value)
children (cdr children)))
props))