Deploying an Extensible Presentation Layer With XML

1 / 72
About This Presentation
Title:

Deploying an Extensible Presentation Layer With XML

Description:

Deploying an Extensible Presentation Layer With XML – PowerPoint PPT presentation

Number of Views:22
Avg rating:3.0/5.0
Slides: 73
Provided by: steve273

less

Transcript and Presenter's Notes

Title: Deploying an Extensible Presentation Layer With XML


1
Deploying an Extensible Presentation Layer With
XML
Software AG The XML Company Steve Hamby, IT
Architect 404-441-4498
2
Objectives
  • 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

3
Extensible 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

4
Why 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

5
XML Separates Document Components
Presentation
Structure
ABC
Content
Text
Pictures
6
PUBLISH ... to different devices and layouts
Mobile Devices
7
Objectives
  • 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

8
XML 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

9
XML 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

10
CC/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
11
Objectives
  • 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

12
XSL
  • 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

13
XSL Stylesheet Processing
14
XSL Stylesheet Processing
15
XSL Stylesheet Processing
XSL StylesheetProcessor
16
XSLT 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

17
Anatomy of an XSLT Stylesheets
XSL Stylesheet
XML Tree
ltxsltemplate match"pattern"gt lt/xsltemplategt
1. Pattern matching
18
Loopsxslfor-each
catalog
cruise
cruise
match
yachtname
cruisedescription
route
price
for-each select
harbor
harbor
harbor
value-of
ZAKYNTHOS
HERA
ATHENS
19
Loopsxslfor-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.

20
Decide 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

21
xslchoose 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
22
xslsort
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)

23
xslvariableSum 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
24
Count 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
  • count(node) number

25
XSLT 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
26
XSL-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

27
Basic Structure of the Formatting Tree
foroot
fodeclarations
folayout-master-set
fopage-sequence
fotitle
fosimple-page-master
fostatic-content
foflow
fopage-sequence-master
28
Formatting Tree Structure
29
Formatting 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
30
Areas
This shows block and inline areas for Hebrew
31
Areas
32
XSL-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

33
XSL-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
34
Hello 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

35
XSL 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
36
End of Presentation on XSL
The remainder of this portion of the presentation
is for your use as a reference on XPath
37
XMLTree (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
38
XPath Expressions
ltxsltemplate match"/catalog/cruise" /gt ltxsl
value-of select"price"/gt ltxslapply-templates
select "route/harbor"/gt lt/xsltemplategt
XPath-EXPRESSION
39
Context 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
40
Context 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
41
Absolute 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
42
Absolute 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
43
Axes
  • /
  • 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

44
Axes Example
/
catalog
year
title
chapter
title
date
section
author
title
para
title
45
Axes
  • Terminology

46
Filters 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
47
Arithmetic Operators
Price - _at_discount
  • AdditiveExpr
  • MultiplicativeExpr

price 3
price count(skipper)
price div 2
position() mod 2 0
48
PatternsMatching 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 ..."
49
Display 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
50
Function 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
51
PatternsMatching 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"

52
Functions 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
53
Functions 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!
54
Functions 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
55
Functions 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)
56
Functions 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
57
Other 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

58
Objectives
  • 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

59
XQuery
  • 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

60
XQuery 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

61
Example 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

62
Results 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

63
Objectives
  • 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

64
XForms
  • 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

65
XForms
66
XForms 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

67
Objectives
  • 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

68
What 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

69
WebDAV 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

70
WebDAV Properties
  • Dead Properties (are managed by the client)
  • author
  • readOnly
  • Live Properties (are managed by the server)
  • creationDate
  • displayName
  • getLastModified
  • lockDiscovery

71
Tamino XML Server WebDAV
72
Summary
  • 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
Write a Comment
User Comments (0)