Title: XML in WebDAV or, a Tale of Two Standards
1XML in WebDAV or, a Tale of Two Standards
- Rohit Khare
- (with Jim Whitehead)
- UC Irvine
- November 15, 1998 CSCW'98
- Originally for XML98 Dev Day
2XML in WebDAV
- Distributed Authoring and Versioning
- WebDAV Abstract Model
- Why WebDAV Used XML
- The WebDAV Protocol DTD
- PROPFIND Example ( 7.1.1)
- Standards Process Update
- Call to Arms
3Distributed Authoring
- Very first Web tools edited, too
- ... but didnt have collaboration support
- WebDAV founded to prevent lost-update
- HTTP extensions to update documents
- Metadata to describe sites and pages
- Implemented with XML
- ... about 1/3 of the spec (by volume)
4WebDAV Abstract Model
- Resources
- Properties
- create, remove, and query metadata links
- Collections
- Locks
- exclusive or shared write access
- Namespace Operations
- atomic copy and move commands
5Why WebDAV Used XML
- Used XML in headers and entity-bodies
- to add extra XML elements to existing data
- to support internationalization
- Used whenever arguments
- are unbounded length
- are shown to humans
- Decentralized Extensibility
- e.g. new locktypes beyond write access
6The WebDAV Protocol DTD
- Protocol elements
- activelock, multistatus, link, propfind
- Property elements
- creationdate, displayname, getcontentlength
- The DAV Namespace
- Reference-by-copy of a previous draft (24.4)
- About to be updated by the new one!
- as about to be replaced by xmlns
7PROPFIND Example ( 7.1.1)
HTTP/1.1 207 Multi-Status Content-Type
text/xml Content-Length xxxxx lt?xml
version"1.0"?gt lt?xmlnamespace ns"DAV"
prefix"D"?gt lt?xmlnamespace ns"http//www.foo.ba
r/boxschema/" prefix"R"?gt ltDmultistatusgt ltDresp
onsegt ltDhrefgthttp//www.foo.bar/files/lt/Dhrefgt
ltDpropstatgt ltDpropgt ltRbigboxgt ltRBoxTyp
egtBox type Alt/RBoxTypegt lt/Rbigboxgt ltRau
thorgt ltRNamegtJ.J. Johnsonlt/RNamegt lt/Rauthor
gt lt/Dpropgt ltDstatusgtHTTP/1.1 200
OKlt/Dstatusgt lt/Dpropstatgt ltDpropstatgt ltD
propgtltRDingALing/gtltRRandom/gtlt/Dpropgt ltDstat
usgtHTTP/1.1 403 Forbiddenlt/Dstatusgt ltDrespons
edescriptiongt The user does not have access
to the DingALing
property. lt/Dresponsedescriptiongt lt/Dpropst
atgt lt/Dresponsegt ltDresponsedescriptiongt An
access violation error. lt/Dresponsedescriptiongt lt
/Dmultistatusgt
PROPFIND /files/ HTTP/1.1 Host
www.foo.bar Depth 0 Content-type
text/xml Content-Length xyz lt?xml
version"1.0"?gt lt?xmlnamespace ns"DAV"
prefix"D"?gt lt?xmlnamespace ns"http//www.foo.ba
r/boxschema/" prefix"R"?gt ltDpropfindgt ltDpropgt
ltRbigbox/gt ltRauthor/gt ltRDingALing/gt ltR
Random/gt lt/Dpropgt lt/Dpropfindgt
8Standards Process Update
- Imminent IETF Proposed Standard
- Next steps IESG Approval, Implementations
- Launching DAV Searching Location (DASL) WG
Access Control Lists (ACL) to come - Support from several vendors
- Microsoft, Netscape prototype servers
- Workflow vendors
- More announcements on the way...
9Call to Arms
- WebDAV uses XML
- ... for its protocol commands
- ... for its properties/ metadata
- WebDAV can manage XML
- ... ideal for versioning
- ... manages source and derived editions
- Protocols can be built atop XML
- ... though it was tough to coordinate maturity
10For More Information...
- WebDAV Working Group
- w3c-dist-auth_at_w3.org mailing list
- Meeting _at_ LA IETF
- Chair E. James Whitehead
- ejw_at_ics.uci.edu
- http//www.ics.uci.edu/ejw/authoring
- (this talk will be available at that url)
- Acknowledgments to many, many others