Enviar pesquisa
Carregar
EXPath: the packaging system and the webapp framework
•
Transferir como ODP, PDF
•
0 gostou
•
601 visualizações
Florent Georges
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 32
Baixar agora
Recomendados
Sax Dom Tutorial
Sax Dom Tutorial
vikram singh
File upload php
File upload php
sana mateen
Php Applications with Oracle by Kuassi Mensah
Php Applications with Oracle by Kuassi Mensah
PHP Barcelona Conference
4 sw architectures and sparql
4 sw architectures and sparql
Mariano Rodriguez-Muro
Class 1 - World Wide Web Introduction
Class 1 - World Wide Web Introduction
Ahmed Swilam
Java and XML
Java and XML
Raji Ghawi
LATEX and BEAMER for Beginners
LATEX and BEAMER for Beginners
Tilak Devaraj
File Uploading in PHP
File Uploading in PHP
Idrees Hussain
Recomendados
Sax Dom Tutorial
Sax Dom Tutorial
vikram singh
File upload php
File upload php
sana mateen
Php Applications with Oracle by Kuassi Mensah
Php Applications with Oracle by Kuassi Mensah
PHP Barcelona Conference
4 sw architectures and sparql
4 sw architectures and sparql
Mariano Rodriguez-Muro
Class 1 - World Wide Web Introduction
Class 1 - World Wide Web Introduction
Ahmed Swilam
Java and XML
Java and XML
Raji Ghawi
LATEX and BEAMER for Beginners
LATEX and BEAMER for Beginners
Tilak Devaraj
File Uploading in PHP
File Uploading in PHP
Idrees Hussain
WEB PROGRAMMING UNIT IV NOTES BY BHAVSINGH MALOTH
WEB PROGRAMMING UNIT IV NOTES BY BHAVSINGH MALOTH
Bhavsingh Maloth
Object Relational Mapping in PHP
Object Relational Mapping in PHP
Rob Knight
Session 24 - JDBC, Intro to Enterprise Java
Session 24 - JDBC, Intro to Enterprise Java
PawanMM
Jdom how it works & how it opened the java process
Jdom how it works & how it opened the java process
Hicham QAISSI
EKON 12 Running OpenLDAP
EKON 12 Running OpenLDAP
Max Kleiner
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Marco Gralike
28 networking
28 networking
Ravindra Rathore
Java JDBC
Java JDBC
Jussi Pohjolainen
LaTeX Tutorial
LaTeX Tutorial
Tai Lun Tseng
Play framework training by Neelkanth Sachdeva @ Scala traits event , New Delh...
Play framework training by Neelkanth Sachdeva @ Scala traits event , New Delh...
Knoldus Inc.
Everything you ever wanted to know about lotus script
Everything you ever wanted to know about lotus script
Bill Buchan
XML Tools for Perl
XML Tools for Perl
Geir Aalberg
Linq To The Enterprise
Linq To The Enterprise
Daniel Egan
URL Class in JAVA
URL Class in JAVA
Ramasubbu .P
Exported resources design patterns
Exported resources design patterns
Yevgeny Trachtinov
Pf cs102 programming-8 [file handling] (1)
Pf cs102 programming-8 [file handling] (1)
Abdullah khawar
Xpath
Xpath
Manav Prasad
Balisage - EXPath - A practical introduction
Balisage - EXPath - A practical introduction
Florent Georges
Quanti libri in un libro di Paola Romagnoli
Quanti libri in un libro di Paola Romagnoli
Sistema Bibliotecario Ovest Bresciano
Puzzle Gigante
Puzzle Gigante
Sistema Bibliotecario Ovest Bresciano
La narrazione in atto incroci e idee tra gioco e storie leggendo e inventanto...
La narrazione in atto incroci e idee tra gioco e storie leggendo e inventanto...
Sistema Bibliotecario Ovest Bresciano
I gruppi di lettura come esperienza di salute e benessere di Roberto Spoldi
I gruppi di lettura come esperienza di salute e benessere di Roberto Spoldi
Sistema Bibliotecario Ovest Bresciano
Mais conteúdo relacionado
Mais procurados
WEB PROGRAMMING UNIT IV NOTES BY BHAVSINGH MALOTH
WEB PROGRAMMING UNIT IV NOTES BY BHAVSINGH MALOTH
Bhavsingh Maloth
Object Relational Mapping in PHP
Object Relational Mapping in PHP
Rob Knight
Session 24 - JDBC, Intro to Enterprise Java
Session 24 - JDBC, Intro to Enterprise Java
PawanMM
Jdom how it works & how it opened the java process
Jdom how it works & how it opened the java process
Hicham QAISSI
EKON 12 Running OpenLDAP
EKON 12 Running OpenLDAP
Max Kleiner
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Marco Gralike
28 networking
28 networking
Ravindra Rathore
Java JDBC
Java JDBC
Jussi Pohjolainen
LaTeX Tutorial
LaTeX Tutorial
Tai Lun Tseng
Play framework training by Neelkanth Sachdeva @ Scala traits event , New Delh...
Play framework training by Neelkanth Sachdeva @ Scala traits event , New Delh...
Knoldus Inc.
Everything you ever wanted to know about lotus script
Everything you ever wanted to know about lotus script
Bill Buchan
XML Tools for Perl
XML Tools for Perl
Geir Aalberg
Linq To The Enterprise
Linq To The Enterprise
Daniel Egan
URL Class in JAVA
URL Class in JAVA
Ramasubbu .P
Exported resources design patterns
Exported resources design patterns
Yevgeny Trachtinov
Pf cs102 programming-8 [file handling] (1)
Pf cs102 programming-8 [file handling] (1)
Abdullah khawar
Xpath
Xpath
Manav Prasad
Mais procurados
(17)
WEB PROGRAMMING UNIT IV NOTES BY BHAVSINGH MALOTH
WEB PROGRAMMING UNIT IV NOTES BY BHAVSINGH MALOTH
Object Relational Mapping in PHP
Object Relational Mapping in PHP
Session 24 - JDBC, Intro to Enterprise Java
Session 24 - JDBC, Intro to Enterprise Java
Jdom how it works & how it opened the java process
Jdom how it works & how it opened the java process
EKON 12 Running OpenLDAP
EKON 12 Running OpenLDAP
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
28 networking
28 networking
Java JDBC
Java JDBC
LaTeX Tutorial
LaTeX Tutorial
Play framework training by Neelkanth Sachdeva @ Scala traits event , New Delh...
Play framework training by Neelkanth Sachdeva @ Scala traits event , New Delh...
Everything you ever wanted to know about lotus script
Everything you ever wanted to know about lotus script
XML Tools for Perl
XML Tools for Perl
Linq To The Enterprise
Linq To The Enterprise
URL Class in JAVA
URL Class in JAVA
Exported resources design patterns
Exported resources design patterns
Pf cs102 programming-8 [file handling] (1)
Pf cs102 programming-8 [file handling] (1)
Xpath
Xpath
Destaque
Balisage - EXPath - A practical introduction
Balisage - EXPath - A practical introduction
Florent Georges
Quanti libri in un libro di Paola Romagnoli
Quanti libri in un libro di Paola Romagnoli
Sistema Bibliotecario Ovest Bresciano
Puzzle Gigante
Puzzle Gigante
Sistema Bibliotecario Ovest Bresciano
La narrazione in atto incroci e idee tra gioco e storie leggendo e inventanto...
La narrazione in atto incroci e idee tra gioco e storie leggendo e inventanto...
Sistema Bibliotecario Ovest Bresciano
I gruppi di lettura come esperienza di salute e benessere di Roberto Spoldi
I gruppi di lettura come esperienza di salute e benessere di Roberto Spoldi
Sistema Bibliotecario Ovest Bresciano
De Stegosaurus
De Stegosaurus
College04a Ronse
De Veloceraptor
De Veloceraptor
College04a Ronse
Balisage - EXPath Packaging
Balisage - EXPath Packaging
Florent Georges
De Brachiosaurus
De Brachiosaurus
College04a Ronse
Destaque
(9)
Balisage - EXPath - A practical introduction
Balisage - EXPath - A practical introduction
Quanti libri in un libro di Paola Romagnoli
Quanti libri in un libro di Paola Romagnoli
Puzzle Gigante
Puzzle Gigante
La narrazione in atto incroci e idee tra gioco e storie leggendo e inventanto...
La narrazione in atto incroci e idee tra gioco e storie leggendo e inventanto...
I gruppi di lettura come esperienza di salute e benessere di Roberto Spoldi
I gruppi di lettura come esperienza di salute e benessere di Roberto Spoldi
De Stegosaurus
De Stegosaurus
De Veloceraptor
De Veloceraptor
Balisage - EXPath Packaging
Balisage - EXPath Packaging
De Brachiosaurus
De Brachiosaurus
Semelhante a EXPath: the packaging system and the webapp framework
20100707 e z_rmll_gig_v1
20100707 e z_rmll_gig_v1
Gilles Guirand
Fast SOA with Apache Synapse
Fast SOA with Apache Synapse
Paul Fremantle
Processing XML with Java
Processing XML with Java
BG Java EE Course
Practical catalyst
Practical catalyst
dwm042
jkljklj
jkljklj
hoefo
Sword Or2008 Julieallinson
Sword Or2008 Julieallinson
Julie Allinson
IGT2009 The Open Cloud Computing Interface
IGT2009 The Open Cloud Computing Interface
Shlomo Swidler
Laurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus Presentation
Ajax Experience 2009
Spring Surf 101
Spring Surf 101
Alfresco Software
Axis2 Landscape
Axis2 Landscape
Eran Chinthaka Withana
EXPath Webapp - CXAN: a case-study for Servlex, an XML web framework
EXPath Webapp - CXAN: a case-study for Servlex, an XML web framework
Florent Georges
Letting In the Light: Using Solr as an External Search Component
Letting In the Light: Using Solr as an External Search Component
Jay Luker
Sword Bl 0903[1]
Sword Bl 0903[1]
Julie Allinson
Sword Crig 2007 12 06
Sword Crig 2007 12 06
Julie Allinson
Introducing Struts 2
Introducing Struts 2
wiradikusuma
Open Cloud Computing Interface Presentation
Open Cloud Computing Interface Presentation
Intel Corporation
2007 03 12 Swecr 2
2007 03 12 Swecr 2
kiyoshi_tezuka
PowerPoint
PowerPoint
Videoguy
SPARQLing Services
SPARQLing Services
Leigh Dodds
Developing web apps using Erlang-Web
Developing web apps using Erlang-Web
fanqstefan
Semelhante a EXPath: the packaging system and the webapp framework
(20)
20100707 e z_rmll_gig_v1
20100707 e z_rmll_gig_v1
Fast SOA with Apache Synapse
Fast SOA with Apache Synapse
Processing XML with Java
Processing XML with Java
Practical catalyst
Practical catalyst
jkljklj
jkljklj
Sword Or2008 Julieallinson
Sword Or2008 Julieallinson
IGT2009 The Open Cloud Computing Interface
IGT2009 The Open Cloud Computing Interface
Laurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus Presentation
Spring Surf 101
Spring Surf 101
Axis2 Landscape
Axis2 Landscape
EXPath Webapp - CXAN: a case-study for Servlex, an XML web framework
EXPath Webapp - CXAN: a case-study for Servlex, an XML web framework
Letting In the Light: Using Solr as an External Search Component
Letting In the Light: Using Solr as an External Search Component
Sword Bl 0903[1]
Sword Bl 0903[1]
Sword Crig 2007 12 06
Sword Crig 2007 12 06
Introducing Struts 2
Introducing Struts 2
Open Cloud Computing Interface Presentation
Open Cloud Computing Interface Presentation
2007 03 12 Swecr 2
2007 03 12 Swecr 2
PowerPoint
PowerPoint
SPARQLing Services
SPARQLing Services
Developing web apps using Erlang-Web
Developing web apps using Erlang-Web
Último
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Zilliz
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Zilliz
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
Rustici Software
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
jfdjdjcjdnsjd
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
sammart93
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
danishmna97
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
Sandro Moreira
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
rafiqahmad00786416
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Edi Saputra
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Orbitshub
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
WSO2
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Deepika Singh
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
DianaGray10
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Khushali Kathiriya
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc
Último
(20)
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
EXPath: the packaging system and the webapp framework
1.
EXPath
A packaging system for XML libraries and a portable web application framework XML Prague, March 13 th , 2010 Florent Georges H2O Consulting
2.
3.
Simple examples
4.
The packaging system
5.
Web applications
6.
A comprehensive example
7.
Conclusion
8.
9.
XSLT 2.0 and
needs for new extensions
10.
EXSLT 2.0, EXQuery
& EXProc
11.
XML Prague 2009
– EXPath
12.
First modules –
HTTP Client & ZIP Facility
13.
Balisage 2009 –
the Packaging System
14.
XML Prague 2010
– the Webapp module
15.
16.
Extensions for XPath
of course
17.
But also: XSLT,
XQuery, XProc (and XForms, XML Schema, DSDL, etc.; that is, XML technologies)
18.
Mainly extension functions
19.
But also: servlet
container, packaging system...
20.
21.
The main means
is extension functions
22.
The main goal
is defining portable specifications...
23.
...and convincing vendors
to endorse them
24.
But also providing
support to open-source implementations
25.
26.
The definitive goal
is writing specifications
27.
The main tool
is the mailing list
28.
Each module has
one main maintainer, responsible of editing & achieving consensus
29.
Other tools include
Subversion repositories, public Wiki, etc.
30.
More infos about
processes on the wiki
31.
32.
Simple examples
←
33.
The packaging system
34.
Web applications
35.
A comprehensive example
36.
Conclusion
37.
38.
Get the description
of the request as an XML element (with verb, headers, content...)
39.
Return a description
of the response as an XML element (with code, headers, content...)
40.
Actually the content
is handled differently (as separate items, either text, XML, HTML or binary) to avoid the SOAP envelope syndrome
41.
Examples – HTTP
Client http:send-request ( $ request as element (http:request)) as item () + <http:request href = "http://www.example.com/..." method = "post" > <http:header name = "X-Header" value = "some value" /> <http:body content-type = "application/xml" > <hello> World! </hello> </http:body> </http:request> <http:response status = "200" message = "Ok" > <http:header name = "..." value = "..." /> ... <http:body content-type = "application/xml" /> </http:response>
42.
43.
zip:html-entry ( $
href, $ path) as document-node ()
44.
zip:text-entry ( $
href, $ path) as xs:string
45.
46.
zip:update-entries ( $
zip, $ output) as empty ()
47.
Examples – Google
Contacts
48.
Examples – Google
Contacts
49.
50.
Simple examples
51.
The packaging system
←
52.
Web applications
53.
A comprehensive example
54.
Conclusion
55.
56.
Depends on the
processor
57.
Easy: just copy
the files somewhere
58.
59.
import module
namespace ubl = "http://fgeorges.org/ubl/mod-1" at "dadb://modules/ubl-helpers/mod-1.xql" ;
60.
61.
So you have
to change the import statements throughout this third-party library
62.
Wait a minute,
no problem, really, UBL Helpers have to include FunctX
63.
But your application
uses another library, which in turn also uses FunctX
64.
...
65.
66.
They help avoiding
the requirement of changing import statements...
67.
...as long as
everyone agree on URIs to use in import statements
68.
They must then
be supported by all products
69.
One has to
install configure catalogs for its system by hand, again and again
70.
71.
Must be understood
by most processors (suitable for standard libraries)
72.
Must package the
components and additional informations in a single file (suitable as a delivery format)
73.
74.
Packaging – Overview
75.
76.
Command-line repository manager
77.
Implementation for Saxon
(XQuery, XSLT)
78.
Implementation for Calabash
(RELAX NG RNG + RNC, Schematron, XProc, XQuery, XML Schema and XSLT)
79.
Implementations provide a
Java API as well as command-line scripts
80.
81.
82.
Other info can
be added in the component source files
83.
Structure and annotations
captures some packaging information, used by a packager
84.
85.
They are as
less as possible
86.
Conventions are flexible
87.
They can be
used to ease developer's day-to-day life, by automating repetitive tasks
88.
89.
90.
Simple examples
91.
The packaging system
92.
Web applications
←
93.
A comprehensive example
94.
Conclusion
95.
96.
Most existing XML
databases provide proprietary framework for that (eXist, MarkLogic, Sausalito, etc.)
97.
Then again, we
are stuck with processor-locked applications
98.
A standard would
allow to write portable web applications, libraries and frameworks
99.
100.
A component can
be an XQuery function or module, an XSLT function, template or stylesheet, or an XProc pipeline
101.
The only technical
missing piece is a way to map HTTP requests to components
102.
That means dispatching
and providing infos
103.
104.
A component is
identified by its name (if applicable) and the import URI of it module
105.
This is configured
in a simple descriptor
106.
...and packaged using
the Packaging System
107.
The Packaging System
already provides setting of the component's public URIs
108.
The web descriptor
simply builds on top of that
109.
Webapps – Requests
<web:request servlet = "name" path = "/path" method = "get" > <web:uri> http://example.org/my-app/path </web:uri> <web:authority> http://example.org </web:authority> <web:context-root> /my-app </web:context-root> <web:path> <web:part> path </web:part> </web:path> <web:header name = "connection" value = "keep-alive" /> ... </web:request> <web:response status = "200" message = "Ok" > <web:header name = "..." value = "..." /> ... <web:body content-type = "text/html" method = "xhtml" /> </http:response>
110.
111.
Server technology is
Java Servlet
112.
XSLT and XQuery
are provided by Saxon
113.
XProc is (going
to be) provided by Calabash
114.
Webapp manager to
(un)deploy applications
115.
116.
Simple examples
117.
The packaging system
118.
Web applications
119.
A comprehensive example
←
120.
Conclusion
121.
122.
Use EXPath ZIP
Facility
123.
Use EXPath HTTP
Client
124.
Use Google API
XSLT libraries
125.
Use OAuth-like authentication
126.
127.
http://expath.org/
128.
Baixar agora