Title: Deploying an Extensible Presentation Layer With XML
1Deploying an Extensible Presentation Layer With
XML
Software AG The XML Company Steve Hamby, IT
Architect 404-441-4498
2Objectives
- Define Extensible Presentation Layer
- Provide Overview of XML-related Standards
- Discuss XSL (XSLT and XSL-FO) and Provide
Examples - Discuss XQuery and Provide Examples
- Discuss XForms and Provide Examples
- Discuss WebDAV
3Extensible Presentation Layer
- Allows various defined XML documents to be
presented in multiple formats depending on device
capabilities, user preferences, and system
requirements - Extensible
- Reusable
- Document changes
- Multiple devices / transports
4Why XML ?
- Added context to data
- What is data
- What are relationships within that data
- Extensible
- Separation of Structure, Content, and
Presentation - Subset of SGML
- Great for managing content
- Can represent any data and publish to various
formats - Integrate multimedia
- Provide XML-based markups for images, math, etc
5XML Separates Document Components
Presentation
Structure
ABC
Content
Text
Pictures
6PUBLISH ... to different devices and layouts
Mobile Devices
7Objectives
- Define Extensible Presentation Layer
- Provide Overview of XML-related Standards
- Discuss XSL (XSLT and XSL-FO) and Provide
Examples - Discuss XQuery and Provide Examples
- Discuss XForms and Provide Examples
- Discuss WebDAV
8XML Presentation Standards
- CC/PP (Composite Capabilities/Preference
Profiles) standard for providing a description
of device capabilities and user preferences that
can be used to guide the adaptation of content
presented to that device - InkML an XML data format for representing
digital ink data that is input with an electronic
pen or stylus as part of a multimodal system - Synchronized Multimedia Integration Language
(SMIL, pronounced "smile") enables simple
authoring of interactive audiovisual
presentations to include "rich media"/multimedia
presentations which integrate streaming audio and
video with images, text or any other media type - Scalable Vector Graphics (SVG) a language for
describing two-dimensional graphics and graphical
applications in XML
9XML Presentation Standards
- VoiceXML a language for creating audio dialogs
that feature synthesized speech, digitized audio,
recognition of spoken and DTMF key input,
recording of spoken input, telephony, and mixed
initiative conversations - CCXML Call Control
- SSML Speech Synthesis
- SRGS Speech Recognition Grammar
- Semantic Interpretation
- XHTML HTML functionality with XML extensibility
- Timed Text Authoring Format covers all
necessary aspects of timed text on the Web to
include the real time subtitling of
foreign-language movies on the Web, captioning
for people lacking audio devices or having
hearing impairments, karaoke, scrolling news
items or teleprompter applications
10CC/PP Example
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns
xmlnsccpp"http//www.w3.org/2002/11/08-ccpp-sche
ma" xmlnsex"http//www.example.com/schema"
gt ltrdfDescription rdfabout"http//www.examp
le.com/profileMyProfile"gt
ltccppcomponentgt ltrdfDescription
rdfabout"http//www.example.com/profileTerminal
Hardware"gt ltrdftype
rdfresource"http//www.example.com/schemaHardwa
rePlatform" /gt
ltexdisplayWidthgt320lt/exdisplayWidthgt
ltexdisplayHeightgt200lt/exdisplayHeightgt
lt/rdfDescriptiongt
lt/ccppcomponentgt ltccppcomponentgt
ltrdfDescription rdfabout"http//www.example.
com/profileTerminalSoftware"gt
ltexnamegtEPOClt/exnamegt
ltexversiongt2.0lt/exversiongt
ltexvendorgtSymbianlt/exvendorgt
lt/rdfDescriptiongt lt/ccppcomponentgt
ltccppcomponentgt ltrdfDescription
rdfabout"http//www.example.com/profileTerminal
Browser"gt ltccppdefaults
rdfresource"http//www.example.com/terminalProfi
leUADefault" /gt lt/rdfDescriptiongt
lt/ccppcomponentgt lt/rdfDescriptiongt lt/rdf
RDFgt
11Objectives
- Define Extensible Presentation Layer
- Provide Overview of XML-related Standards
- Discuss XSL (XSLT and XSL-FO) and Provide
Examples - Discuss XQuery and Provide Examples
- Discuss XForms and Provide Examples
- Discuss WebDAV
12XSL
- eXtensible Stylesheet Language The W3C
Recommendation for a language for expressing
stylesheets - Consists of
- Transformation (XSLT) transform XML documents
- Formatting Objects (XSL-FO) specify formatting
semantics - XML Path Language (XPath) expression language
used by XSLT (and XLink, XQuery, and other specs)
to access or refer to parts of an XML document - XSLT is processing oriented FO is formatting
oriented - Either linked or called
13XSL Stylesheet Processing
14XSL Stylesheet Processing
15XSL Stylesheet Processing
XSL StylesheetProcessor
16XSLT Syntax
- ltxslapply-templatesgt Process children of current
node - ltxslapply-templates select".."gt Process
specified nodes - ltxslfor-each select".."gt Iterative processing
- ltxslif test"expression"gt Conditional processing
- ltxslchoosegt Decide structure
- ltxslwhen test"expr"gt Element of Decide
structure - ltxslotherwisegt "else" processing
- ltxslsortgt Process child nodes in sorted order
- ltxslvalue-of select".."gt Insert text
17Anatomy of an XSLT Stylesheets
XSL Stylesheet
XML Tree
ltxsltemplate match"pattern"gt lt/xsltemplategt
1. Pattern matching
18Loopsxslfor-each
catalog
cruise
cruise
match
yachtname
cruisedescription
route
price
for-each select
harbor
harbor
harbor
value-of
ZAKYNTHOS
HERA
ATHENS
19Loopsxslfor-each
ltxsltemplate match"route"gt ltxslfor-each
select"harbor"gt ltligt ltxslvalue-of
select"." /gt lt/ligt lt/xslfor-eachgt lt/xslte
mplategt
- ltxslfor-each select"pattern"gt
- Note loop handling for display with HTML.
20Decide Structuresxslif
ltxsltemplate match"route"gt ltxslfor-each
select"harbor"gt ltxslif test"position()1"gt
Start-harbor ltxslvalue-of select"."
/gt lt/xslifgt lt/xslfor-eachgt lt/xsltemplategt
- ltxslif test"pattern"gt.lt/xslifgt
21xslchoose with When and Otherwise
ltxsltemplate match"route"gt ltxslfor-each
select"harbor"gt ltxslchoosegt ltxslwhen
test"position()1"gt start-harbor
ltxslvalue-of select"."/gt lt/xslwhengt
ltxslwhen test"position()last()"gt
Dest.-harborltxslvalue-of select"."/gt
lt/xslwhengt ltxslotherwisegt Stopover
ltxslvalue-of select"."/gt lt/xslotherwisegt
lt/xslchoosegt lt/xslfor-eachgt lt/xsltemplate
gt
22xslsort
ltxsltemplate match"ncatalog"gt
ltxslapply-templates select"cruise" gt
ltxslsort select"price" /gt ltxslsort
select"sharbor" /gt lt/xslapply-templates gt
lt/xsltemplategt
- xslsort has the following attributes
- select specifies the sort area default is "."
- order ascending/descending
- lang language of the sort keys
- data-type data type of the sort key (Text/Number)
- case-order upper-first/lower-first default
language-dependent)
23xslvariableSum Function
ltxsltemplate match"ncatalog"gt ltxslvariable
name"price" select"ncruise/newprice" /gt
ltxslapply-templates/gt ltp/gt lthr/gt Total
of prices ltbgtltxslvalue-of select"sum(price)
" /gtlt/bgt lt/xsltemplategt
Definition
ltxslvariable name"price" select"ncruise/newpric
e"/gt ltxslvalue-of select"sum(price)" /gt
Usage with sum function
24Count Function
ltxsltemplate match"ncatalog"gt
ltxslapply-templates select"ncruise" /gt
ltBRgtltBgt ltxslvalue-of select"count(ncruise)"
/gt lt/Bgt cruisesltBgt ltxslvalue-of
select"count(ncruisenewprice gt 680)" /gt
lt/Bgt cruises have a price more than 680.
lt/BRgt lt/xsltemplategt
25XSLT Stylesheet Example
ltxslstylesheet xmlnsxsl"http//www.w3.org/TR/WD
-xsl"gt ltxsltemplate match"/"gt ltHTMLgt
ltHEADgtltTITLEgtWeather Reportlt/TITLEgtlt/HEADgt
ltBODYgtltH1gtWeather Reportlt/H1gt
ltxslfor-each select"//Weather-Report"gt
ltPgtltxslapply-templates/gtlt/Pgt
lt/xslfor-eachgt lt/BODYgt lt/HTMLgt lt/xsltempla
tegt ltxsltemplate matchtemperaturegt
ltxslvalue-of /gtltBR/gt lt/xsltemplategt lt/xslstyles
heetgt
26XSL-FO
- 2nd part of XSL
- Describes how XML will look
- Is an intermediate form between media-neutral XML
and media-dependent output - Defines four basic area types
- regions
- block areas
- line areas
- inline areas
- Defines many formatting objects and properties
27Basic Structure of the Formatting Tree
foroot
fodeclarations
folayout-master-set
fopage-sequence
fotitle
fosimple-page-master
fostatic-content
foflow
fopage-sequence-master
28Formatting Tree Structure
29Formatting Objects Concept
ltforootgt
Definition of layout and page geometry
ltfolayout-master-setgt
ltfosimple-page-master master-name"cover"
gt
lt/fosimple-page-mastergt
ltfopage-sequence-master master-name"contents"gt
Page control by conditions
ltfoconditional-page-master-reference
master-name"page-even" odd-or-even"even" /gt
lt/fosimple-page-mastergt
lt/folayout-master-setgt
Content that is distributed to the pages (static
and flow content)
ltfopage-sequence master-name"cover"gt
lt/fopage-sequencegt
ltfopage-sequence master-name"contents"gt
lt/fopage-sequencegt
lt/forootgt
30Areas
This shows block and inline areas for Hebrew
31Areas
32XSL-FO Formatting Objects
- fobasic-link
- fobidi-override
- foblock
- foblock-container
- focharacter
- focolor-profile
- foconditional-page-master-reference
- fodeclarations
- foexternal-graphic
- fofloat
- foflow
- fofootnote
- fofootnote-body
- foinitial-property-set
- foinline
- foinline-container
- foinstream-foreign-object
- folayout-master-set
- foleader
- folist-block
- folist-item
- folist-item-body
- folist-item-label
- fomarker
- fomulti-case
- fomulti-properties
- fomulti-property-set
- fomulti-switch
- fomulti-toggle
- fopage-number
- fopage-number-citation
- fopage-sequence
- fopage-sequence-master
- foregion-after
- foregion-before
- foregion-body
- foregion-end
- foregion-start
- forepeatable-page-master-alternatives
- forepeatable-page-master-reference
- foretrieve-marker
- foroot
- fosimple-page-master
- fosingle-page-master-reference
- fostatic-content
- fotable
- fotable-and-caption
- fotable-body
- fotable-caption
- fotable-cell
- fotable-column
- fotable-footer
- fotable-header
- fotable-row
- fotitle
- fowrapper
33XSL-FO Example
lt?xml version"1.0"?gt ltforoot
xmlnsfo"http//www.w3.org/1999/XSL/Format"gt
ltfolayout-master-setgt ltfosimple-page-master
master-name"only"gt ltforegion-body/gt
lt/fosimple-page-mastergt lt/folayout-master-se
tgt ltfopage-sequence master-name"only"gt
ltfoflow flow-name"xsl-region-body"gt
ltfoblock font-size"20pt" font-family"serif"
line-height"30pt"gt Hydrogen lt/foblockgt
ltfoblock font-size"20pt" font-family"serif"
line-height"30pt" gt Helium lt/foblockgt
lt/foflowgt lt/fopage-sequencegt lt/forootgt
34Hello World XSL-FO Example
- lt?xml version"1.0" encoding"iso-8859-1"?gt
- ltforoot xmlnsfo"http//www.w3.org/1999/XSL/Form
at"gt - ltfolayout-master-setgt
- ltfosimple-page-master master-name"my-page"gt
- ltforegion-body margin"1in"/gt
- lt/fosimple-page-mastergt
- lt/folayout-master-setgt
- ltfopage-sequence master-reference"my-page"gt
- ltfoflow flow-name"xsl-region-body"gt
- ltfoblockgtHello, world!lt/foblockgt
- lt/foflowgt
- lt/fopage-sequencegt
- lt/forootgt
35XSL Example
lt?xml version"1.0" encoding"ISO-8859-1"?gt ltxsls
tylesheet xmlnsxsl"http//www.w3.org/1999/XSL/T
ransform" version"1.0" xmlnsfo"http//www.
w3.org/1999/XSL/Format"gt ltxsloutput
encoding"ISO-8859-1" indent"yes"/gt ltxsltemplat
e match "/"gt ltforoot xmlnsfo"http//www.w3.or
g/1999/XSL/Format"gt lt!-- defines page layout
--gt ltfolayout-master-set gt lt!-- layout
for the first page --gt ltfosimple-page-master
master-name"only"
page-height"11in"
page-width"8.5in"
margin-top"0.5in"
margin-bottom"0.75in"
margin-left"0.75in"
margin-right"0.75in"gt
36End of Presentation on XSL
The remainder of this portion of the presentation
is for your use as a reference on XPath
37XMLTree (Presentation)
/
ltxsltemplate match"/catalog/cruise" /gt
catalog
_at_cruiseid
_at_status
cruise
cruise
ltxsl value-of select"price"/gt
yacht
description
route
skipper
price
description
image
image
name
name
ltxslapply-templates select "route/harbor "/gt
_at_file
_at_file
harbor
b-date
e-date
image
harbor
_at_file
38XPath Expressions
ltxsltemplate match"/catalog/cruise" /gt ltxsl
value-of select"price"/gt ltxslapply-templates
select "route/harbor"/gt lt/xsltemplategt
XPath-EXPRESSION
39Context Nodes and Location Paths
/
Context node yacht
catalog
_at_cruiseid
_at_status
cruise
cruise
ltxsltemplate match"name"gt
yacht
description
route
skipper
price
description
image
image
name
name
_at_file
_at_file
harbor
b-date
e-date
image
harbor
_at_file
40Context Nodes and Location Paths
/
Context node yacht
catalog
_at_cruiseid
_at_status
cruise
cruise
ltxsltemplate match"//name"gt
yacht
description
route
skipper
price
name
description
image
image
name
name
_at_file
_at_file
harbor
b-date
e-date
image
harbor
_at_file
41Absolute and Relative Location Paths
Match document
ltxsltemplate match"/"gt "When you start
processing the document do
... ltxsltemplate match"cruise"gt "When you
get to a cruise element do
..." ltxsltemplate match"//cruise"gt ltxslt
emplate match"yacht skipper"gt "When you get
to either a yacht element or a
skipper element do ..."
Match by name
Match several names
42Absolute and Relative Location Paths
Match with parent
ltxsltemplate match"cruise/price"gt "When you
get to a price element that has a
cruise element as a parent do
..." ltxsltemplate match"catalog//harbor"gt "When
you get to a harbor element that has
a catalog as an ancestor do
..." ltxsltemplate match"cruise/"gt "When you
get to any element that is an
immediate child of cruise do ...."
Match with an ancestor
Wildcard match
43Axes
- /
- left of element Parent Element
- right of element Child Elements
- //
- left of element Ancestors (higher in the
hierarchy)) - right of element Descendants (lower in the
hierarchy) - Examples
- catalog/title
- catalog//title
- catalog//title
- .//title
- ./title
- ../title
44Axes Example
/
catalog
year
title
chapter
title
date
section
author
title
para
title
45Axes
46Filters and Operators
- Existence of a child node
- Value of a child node
- Existence of an attribute node
- Value of an attribute node
- A combination of these situations
cruiseskipper
cruiseprice lt 10000
cruise_at_status
cruise_at_status 'available'
cruise_at_status 'available'and price lt 10000
47Arithmetic Operators
Price - _at_discount
- AdditiveExpr
- MultiplicativeExpr
price 3
price count(skipper)
price div 2
position() mod 2 0
48PatternsMatching Attributes
ltxsltemplate match"cruise"gt "When you
get to a cruise element
do ..." ltxsltemplate match"cruise_at_status"gt "
When you get to a cruise
element that has an attr
ibute called status do ..." ltxsltemplate
match"cruise_at_ status 'available'"gt
"When you get
to a cruise element that
has an attribute called
status and its value is
'available' do ..."
49Display Attributes
ltxsltemplate match"cruise_at_status'available'"gt
ltIgtStatus islt/Igt ltBgtltxslvalue-of
select"_at_status" /gtlt/Bgt ltPgtltxslvalue-of
select"sharbor" /gtlt/Pgt ltHR /gt lt/xsltemplategt
Distinction ltxslattributegt
ltIMGgt ltxslattribute name"SRC"gt
.......... lt/xslattributegt lt/IMGgt
50Function position()
route
The parser can return the positions!
1
2
harbor
harbor
harbor
last()
harbor
ltxsltemplate match"route"gt Startharborltxslvalu
e-of select"harborposition()1"/gtltbr/gt Endharbo
rltxslvalue-of select"harborposition()last()"
/gt lt/xsltemplategt
51PatternsMatching Positions
"harborposition()1"
- is true if
- the node harbor occurs and is an element node,
- the expression position()1 can be evaluated and
the result yields the value "true",
"harborposition()last()"
- is true if
- the node harbor occurs and is an element node,
- the expression position()last() can be evaluated
and the result yields the value "true"
52Functions contains
String1 contains String2
cruisem.xml
ltxsltemplate match"cruise"gt Cruises of yachts
with AN ltxslvalue-of select"yachtcontains(nam
e,'AN')" /gt lt/xsltemplategt
Result
Cruises of yachts with AN VENTANA Cruises of
yachts with AN FLYING DUTCHMAN
53Functions concat
ltxsltemplate match"route"gt ltxslvalue-of
select"concat(harbor1,' to ',harborposition()
last())" /gt lt/xsltemplategt
ZAKYNTHOS to ATHEN AZOREN to GRAN CANARIA
Result
Two or more expressions are possible!
54Functions local-name, name
ltxsltemplate match"cruise"gtltP/gtltBgtCurrent
context ltxslvalue-of select"local-name()"/gt
lt/Bgt Price ltxslvalue-of select"price"/gtltbr/gt
Current context cruise Price 761 Current
context cruise Price 870 ...
Result
name() Name with Namespace Prefix
namespace-uri() URI of the Namespace
55Functions substring
ltdescriptiongtAny text describing this cruise
5152lt/descriptiongt
ltxsltemplate match"description"gt ltxslvalue-of
select"substring(.,10)"/gt lt/xsltemplategt
Result
describing this cruise 5152
substring-after(string s1,string s2)
substring-before(string s1,string s2)
56Functions starts-with
ltxslapply-templates select "cruisestarts-wit
h(yacht/name,'C')" /gt lt/xsltemplategt
ltxsltemplate match"yacht"gt Cruises of yachts
that start with C ltbgtltxslvalue-of
select"name" /gtlt/bgtltbr /gt lt/xsltemplategt
Result
Cruises of yachts that start with C CARMEN
Cruises of yachts that start with C CRISMADA
57Other XPath Functions
- count() Number in the node set
- document() Include other document
- format-number() Convert for display
- key() Select nodes with key
- lang() Test language attribute
- not() Negation
- number() Conversion into number
- position() Value of context position
- last() Value of context size
- round() Determine integer value
- string-length() Determine string length
- sum() Return sum in node set
- translate() Substitution of characters
58Objectives
- Define Extensible Presentation Layer
- Provide Overview of XML-related Standards
- Discuss XSL (XSLT and XSL-FO) and Provide
Examples - Discuss XQuery and Provide Examples
- Discuss XForms and Provide Examples
- Discuss WebDAV
59XQuery
- XQuery is the W3C standard XML query language.
- XQuery is a superset of XPath ???
- XQuery allows you to
- access multiple XML documents and nodes
- modify those documents or nodes
- construct result sets
- XQuery supports XSD data types
- XQuery supports user-defined functions
- XQuery supports FLWR syntax
- For defines an iteration
- Let variable assignment for a single iteration
- Where query restriction
- Return defines result set to be returned
- XQuery expressions can be nested
- Software AGs implementation of XQuery supports
XML document / node updates
60XQuery Examples
- Construct new document
- for book in document("bib.xml")//book
- where book/publisher "Addison-Wesley"
- return ltbookgt
-
- book/title,
- book/author
- lt/bookgt
- Join multiple documents
- for b in input()/bib/book,
- a in input()/reviews/entry
- where b/title eq a/title
- return b/author
61Example document
- ltbibgt
- ltbook year"1994"gt
- lttitlegtTCP/IP Illustratedlt/titlegt
- ltauthorgtltlastgtStevenslt/lastgtltfirstgtW.lt/firstgtlt/au
thorgt - ltpublishergtAddison-Wesleylt/publishergt
- ltpricegt 65.95lt/pricegt
- lt/bookgt
- ltbook year"1992"gt
- lttitlegtAdvanced Programming in the Unix
environmentlt/titlegt - ltauthorgtltlastgtStevenslt/lastgtltfirstgtW.lt/firstgtlt/au
thorgt - ltpublishergtAddison-Wesleylt/publishergt
- ltpricegt65.95lt/pricegt
- lt/bookgt
- ltbook year"2000"gt
- lttitlegtData on the Weblt/titlegt
- ltauthorgtltlastgtAbiteboullt/lastgtltfirstgtSergelt/first
gtlt/authorgt ltauthorgtltlastgtBunemanlt/lastgtltfirstgtPete
rlt/firstgtlt/authorgt ltauthorgtltlastgtSuciult/lastgtltfirs
tgtDanlt/firstgtlt/authorgt - ltpublishergtMorgan Kaufmann Publisherslt/publishergt
- ltpricegt39.95lt/pricegt
- lt/bookgt
62Results of query
- ltbookgt
- lttitlegtTCP/IP Illustratedlt/titlegt
- ltauthorgtltlastgtStevenslt/lastgtltfirstgtW.lt/firstgtlt/au
thorgt - lt/bookgt
- ltbookgt
- lttitlegtAdvanced Programming in the Unix
environmentlt/titlegt - ltauthorgtltlastgtStevenslt/lastgtltfirstgtW.lt/firstgtlt/au
thorgt - lt/bookgt
63Objectives
- Define Extensible Presentation Layer
- Provide Overview of XML-related Standards
- Discuss XSL (XSLT and XSL-FO) and Provide
Examples - Discuss XQuery and Provide Examples
- Discuss XForms and Provide Examples
- Discuss WebDAV
64XForms
- Separates Form Presentation from Purpose
- Decoupled Data, Logic, and Presentation
- Allows for Flexible Forms
- Seamless Integration With Other XML Tag Sets
- Improved Internationalization
- Support for structured form data
- Advanced forms logic
- Multiple forms per page, and pages per form
- Suspend and Resume support
- XSD Data Types
- Many Implementations . In recent months
- XForms is W3C's name for a specification of Web
forms that can be used with a wide variety of
platforms including desktop computers, handhelds,
information appliances, and even paper
65XForms
66XForms Example
- ltdiv class"body"gt
- lth1gtltxformsoutput ref"greeting"
/gt160ltxformsoutput ref"who" /gt!lt/h1gt - ltdiv class"example"gt
- ltxformsselect1 ref"greeting"gt
- ltxformslabel style"width150px"gtChange
Greetinglt/xformslabelgt - ltxformshintgtChoose the greeting that you
would like to uselt/xformshintgt - ltxformsitemgt
- ltxformslabelgtHellolt/xformslabelgt
- ltxformsvaluegtHellolt/xformsvaluegt
- lt/xformsitemgt
- ltxformsitemgt
- ltxformslabelgtGoodbyelt/xformslabelgt
- ltxformsvaluegtGoodbyelt/xformsvaluegt
- lt/xformsitemgt
- lt/xformsselect1gt
- ltxformsinput ref"who"gt
- ltxformslabel style"width150px"gtGreet
Who?lt/xformslabelgt - ltxformshintgtPlease say who you would like to
greetlt/xformshintgt - lt/xformsinputgt
67Objectives
- Define Extensible Presentation Layer
- Provide Overview of XML-related Standards
- Discuss XSL (XSLT and XSL-FO) and Provide
Examples - Discuss XQuery and Provide Examples
- Discuss XForms and Provide Examples
- Discuss WebDAV
68What is WebDAV
- Web-based Distributed Authoring and Versioning
- Provides Three Primary Features
- Collections file folders
- Properties author, date, time
- Locking shared, locked, or read-only
- Standard defined by IETF (RFC 2518)
- Enables the Collaborative Web
- WebDAV enables Instant Web Publishing
- MS IE, Office, and many other desktop
applications are WebDAV-enabled
69WebDAV HTTP Extension
- HTTP
- Options
- Get
- Post
- Put
- Head
- Delete
- Trace
- Connect
- WebDAV (additional commands)
- PropFind
- PropPatch
- MkCol
- Get, Head, Post
- Delete
- Put
- Copy, Move
- Lock, Unlock
- Body XML
- Some commands are recursive
70WebDAV Properties
- Dead Properties (are managed by the client)
- author
- readOnly
- Live Properties (are managed by the server)
- creationDate
- displayName
- getLastModified
- lockDiscovery
71Tamino XML Server WebDAV
72Summary
- Define Extensible Presentation Layer
- Provide Overview of XML-related Standards
- Discuss XSL (XSLT and XSL-FO) and Provide
Examples - Discuss XQuery and Provide Examples
- Discuss XForms and Provide Examples
- Discuss WebDAV
- QUESTIONS ??
- steve.hamby_at_softwareagusa.com