Extremes of XML

Preview:

DESCRIPTION

Extremes of XML. Philip Fennell. XML – meta language…. describes other languages . i s phenomenally successful. is phenomenally s uccessful. e very information domain imaginable. some are indeed sublime. some are, shall we say… esoteric. XML, a lingua franca for the web. - PowerPoint PPT Presentation

Citation preview

Extremes of XMLPhilip Fennell

XML London 2013Extremes of XML

XML – meta language…

XML London 2013Extremes of XML

describes other languages

XML London 2013

is phenomenally successfulis phenomenally successful

Extremes of XML

XML London 2013Extremes of XML

every information domain imaginable

XML London 2013Extremes of XML

some are indeed sublime

XML London 2013Extremes of XML

some are, shall we say… esoteric

XML London 2013Extremes of XML

XML, a lingua franca for the web

XML London 2013Extremes of XML

XML grew out of SGML

XML London 2013Extremes of XML

early applications hinted at diversity

XML London 2013Extremes of XML

reflecting upon the nature of XML

XML London 2013Extremes of XML

XML sharing the stage with JSON

XML London 2013Extremes of XML

15 years of activity

XML London 2013Extremes of XML

six application categories:

XML London 2013Extremes of XML

DescribingModeling

ProcessingPublishingInteractingPresenting

XML London 2013Extremes of XML

what is fascinating is…

XML London 2013Extremes of XML

not how much…

XML London 2013Extremes of XML

or how fast…

XML London 2013Extremes of XML

but the breadth of application

XML London 2013Extremes of XML

the XML Envelope

XML London 2013Extremes of XML

XML London 2013Extremes of XML

introspection is often fruitful

XML London 2013Extremes of XML

should turn our attention outwards

XML London 2013Extremes of XML

towards the edges of the envelope

XML London 2013Extremes of XML

pushing the boundaries of XML

XML London 2013Extremes of XML

Describing

XML London 2013Extremes of XML

is not an edge case, it’s the centre

XML London 2013Extremes of XML

Modeling

XML London 2013Extremes of XML

captures how we model a domain

XML London 2013Extremes of XML

edge of current data modeling lies the Semantic Web

XML London 2013Extremes of XML

the boundary between XML and the Semantic Web is blurred

XML London 2013Extremes of XML

a mixed and, it should be said, confused relationship

XML London 2013Extremes of XML

XML - a singular standard

XML London 2013Extremes of XML

Semantic Web has managed to adopt at least four

XML London 2013Extremes of XML

RDF/XML has posed a problem…

XML London 2013Extremes of XML

it’s not a markup language

XML London 2013Extremes of XML

transform it with XSLT

XML London 2013Extremes of XML

but don’t query it with XQuery

XML London 2013Extremes of XML

XML in the Semantic Web is becoming sidelined

XML London 2013Extremes of XML

XML content does still intersect with the Semantic Web

XML London 2013Extremes of XML

metadata could, and should, be modeled as

RDF Linked Data

XML London 2013Extremes of XML

RDB to RDF Mapping Language for Relational Data Model

XML London 2013Extremes of XML

what about SPARQL over XML?

XML London 2013

schema lifting and lowering

Extremes of XML

lowering lifting

XML London 2013Extremes of XML

describes the process of mapping schemas to RDF ontologies

XML London 2013Extremes of XML

Semantic Web Annotations for WSDL and XML Schema (SAWSDL)

XML London 2013Extremes of XML

<xs:complexType name="entryType"> <xs:annotation> <xs:appinfo> <sawsdl:modelReference href="http://bblfish.net/work/atom-owl/2006-06-06/#Entry"/> </xs:appinfo> <xs:documentation> The Atom entry... </xs:documentation> </xs:annotation> ... </xs:complexType>

XML London 2013Extremes of XML

how to utilise these annotations to map from a document tree to a graph?

XML London 2013Extremes of XML

Type Introspection in XQueryMary Holstege, Balisage 2012

XML London 2013Extremes of XML

(: Get the model reference annotations for a complex type. :)$contextNode/sc:complex-type() !

sc:annotations()//sawsdl:modelReference/@href/string()

XML London 2013Extremes of XML

<!– Class definition. --><owl:Class rdf:about=http://bblfish.net/work/atom-owl/2006-06-06/#Entry> <rdfs:label xml:lang="en">Entry Class</rdfschema:label> <rdfs:comment xml:lang="en">see 4.1.2 of the rfc 4287</rdfs:comment> …</owl:Class>

XML London 2013Extremes of XML

<!-- Source Atom XML Fragment. --><entry> <title>Atom-Powered Robots Run Amok</title> …</entry>

XML London 2013Extremes of XML

# Triple from the shadow graph (Turtle).@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix awol: <http://bblfish.net/work/atom-owl/2006-06-06/#> .

[ a awol:Entry ] .

XML London 2013Extremes of XML

it has uses beyond the domain of web services

XML London 2013Extremes of XML

to build a 'shadow' graph index via the mapping rules

XML London 2013Extremes of XML

seamlessly mix XQuery and SPARQLover the same content

XML London 2013Extremes of XML

a world that's throwing itself at the notion of schemaless databases

XML London 2013Extremes of XML

where better should we do such a thing than in declarative languages

XML London 2013Extremes of XML

Processing

XML London 2013Extremes of XML

many processes can been seen as a series of transformations

XML London 2013Extremes of XML

static content and application state

XML London 2013Extremes of XML

application's data structures are a snapshot of its current state

XML London 2013Extremes of XML

crossing the line from passive state representation to active state manipulation

XML London 2013Extremes of XML

XProc succeeds as a mechanism for orchestrating sequences of XML processing steps

XML London 2013Extremes of XML

useful aspect of XProc is it’s ability to create domain-specific languages

XML London 2013Extremes of XML

manipulate the configuration of an application

XML London 2013Extremes of XML

<admin:get-configuration/>

<admin:forest-create forest-name="forest1" host-id="hp6910-772" data-directory=""/>

<admin:database-create ml-database-name="data" security-db="Security" schema-db="Schemas"/>

<admin:save-configuration-without-restart/>

XML London 2013Extremes of XML

application configuration can be viewed as a pipeline of instructions

XML London 2013Extremes of XML

source input as the current state…

XML London 2013Extremes of XML

a set of actions that reconfigure

XML London 2013Extremes of XML

an instruction to commit the changes…

XML London 2013Extremes of XML

sets of changes can themselves be composed into compound actions

XML London 2013Extremes of XML

<mla:create-database database="data" schema-db="Schemas" security-db="Security"> <p:input port="forests"> <p:inline> <mla:forests> <mla:forest name="forest1" host="hp6910-772" data-dir=""/> </mla:forests> </p:inline> </p:input></mla:create-database>

XML London 2013Extremes of XML

the composing of XProc processing steps is an incredibly powerful tool

XML London 2013Extremes of XML

define your own steps and abstractions

XML London 2013Extremes of XML

applications outside of XProc’s originally intended domains

XML London 2013Extremes of XML

Publishing

XML London 2013Extremes of XML

publishing content appears to be reasonably straightforward

XML London 2013Extremes of XML

the separation of concerns tells us to keep

the markup of content free from presentation and layout

XML London 2013Extremes of XML

to take publishing in an intriguing direction –

the Document Description Format

XML London 2013Extremes of XML

a framework that looks at documents as functions over a dataset

XML London 2013Extremes of XML

getting data to the point of consumption in

a manner tailored to the recipient

XML London 2013Extremes of XML

consume many and varied sources of information

XML London 2013Extremes of XML

transform them to a common structure and apply presentation and layout

constraints

XML London 2013Extremes of XML

build flexible page layouts that adapt to variability in the source data

XML London 2013Extremes of XML

data bindingcommon structure

presentation

XML London 2013Extremes of XML

DDF's main design decision was to 'consider the document as a function of some variable data'

XML London 2013Extremes of XML

when the document is evaluated, data is transformed into a common structure

XML London 2013Extremes of XML

from which a view can be generated for presentation

XML London 2013Extremes of XML

embedding XSLT syntax and semantics provides the mechanism for transformation

XML London 2013Extremes of XML

partial evaluation is also possible, where theprocessing results in new transformations

XML London 2013Extremes of XML

another aspect of DDF that is worth noting is the presentation system

XML London 2013Extremes of XML

going beyond simple flows, DDF supports constraints between components

XML London 2013Extremes of XML

with so much more and varied data, we need a new direction in document delivery

XML London 2013Extremes of XML

Interacting

XML London 2013Extremes of XML

mixed success for XML in user interaction

XML London 2013Extremes of XML

XForms has grown enthusiasm with the rise of native XML databases

XML London 2013Extremes of XML

there's another area of interaction, that goes beyond conventional form filling…

Animation!

XML London 2013Extremes of XML

Synchronized Multimedia Integration Language SMIL :)

XML London 2013Extremes of XML

has a whole subset of its extensive specification set aside for animation

XML London 2013Extremes of XML

SMIL Animation has, historically, been tied to its host document types

XML London 2013Extremes of XML

SMILHTML+Time

SVG

XML London 2013Extremes of XML

with the advent of SMIL Timesheetsthat dependency was broken

XML London 2013Extremes of XML

orchestrate animation in a web page,orchestrate steps in a workflow

XML London 2013Extremes of XML

the order of execution of XProc pipelines is not limited to being sequential…

XML London 2013Extremes of XML

allowing the possibility of asynchronous step processing

XML London 2013Extremes of XML

with SMIL Timesheets it is conceivable that you can define the orchestration of

step execution in a pipeline

XML London 2013Extremes of XML

<p:pipeinfo> <smil:timesheet xmlns:smil="http://www.w3.org/ns/SMIL30"> <smil:par> <smil:item select="#service1" begin="term-aggregation.begin" dur="30s"/> <smil:item select="#service2" begin="term-aggregation.begin" dur="30s"/> <smil:item select="#service3" begin="term-aggregation.begin" dur="30s"/> </smil:par> </smil:timesheet></p:pipeinfo>

XML London 2013Extremes of XML

<terms:get xml:id="service1" name="OpenCalais" href="http://opencalais.com/"/> <p:sink/>

<terms:get xml:id="service2" name="MetaCarta" href="http://www.metacarta.com/"/> <p:sink/>

<terms:get xml:id="service3" name="Yahoo" href="http://search.yahooapis.com/"/> <p:sink/>

XML London 2013Extremes of XML

putting together unrelated applications of XML can extend their respective usefulness

XML London 2013Extremes of XML

Presenting

XML London 2013Extremes of XML

the final step from information to presentation is the conversion of text, values and graphics…

XML London 2013Extremes of XML

into a visual representation, a rasterization of shapes for display or printed media

XML London 2013Extremes of XML

SVG is on the ascendant again!

XML London 2013Extremes of XML

whilst X3D never hit the prime time

XML London 2013Extremes of XML

experts at Pixar, who brought us Toy Story, developed a 3D image rendering architecture called Reyes

XML London 2013Extremes of XML

Reyes defines a processing pipeline that

applies a series of transforms to

graphics primitives

XML London 2013Extremes of XML

so they can be more easily processed for visibility, depth, colour and texture

XML London 2013Extremes of XML

what has this to do with XML?

XML London 2013Extremes of XML

at the edge of the XML envelope is the boundary between text and binary formats

XML London 2013Extremes of XML

when XSLT 2.0 came along it introduced the concept of sequences

XML London 2013Extremes of XML

a rasterized image is just one long sequence of integer values with some header info

XML London 2013Extremes of XML

push the boundaries of the XML envelope still further…

XML London 2013Extremes of XML

implement the Reyes rendering pipeline and a TIFF encoder with XSLT

XML London 2013Extremes of XML

created from a simple SVG graphic

XML London 2013Extremes of XML

where all the rectangles are sub-divided into pixel sized micro-polygons

XML London 2013Extremes of XML

depth sorting, transparency, colour and sampling calculations

XML London 2013Extremes of XML

finally encoded according to the TIFF format

XML London 2013Extremes of XML

serialized as a Base64 encoded file

XML London 2013Extremes of XML

this example is somewhat extreme as it is highly questionable if XSLT is the right technology

XML London 2013Extremes of XML

however, it was surprisingly straight forward to implement with XSLT

XML London 2013Extremes of XML

XSLT provides the transformation tools and XML provides the representation

XML London 2013Extremes of XML

Overlapping Edges

XML London 2013Extremes of XML

in the XML Envelope there is no clear dividing line between categories

XML London 2013Extremes of XML

all the categories require description

XML London 2013Extremes of XML

modeling relies upon processing

XML London 2013Extremes of XML

publishing utilises processing

XML London 2013Extremes of XML

interaction could drive processing

XML London 2013Extremes of XML

presentation is the product of processing

XML London 2013Extremes of XML

XML London 2013Extremes of XML

XML London 2013Extremes of XML

much has been accomplished over the last 15 years

XML London 2013Extremes of XML

robust tools, techniques and design patterns

XML London 2013Extremes of XML

XML does not have any hard and fast limits to its application

XML London 2013Extremes of XML

there are many more applications to which XML and its attendant technologies can be put..

XML London 2013Extremes of XML

than we might have originally imagined.

XML London 2013

Questions?

Extremes of XML

XML London 2013

Thank you

Extremes of XML

Recommended