1 / 12

XML Technologies You Need For Workflow Applications

Explore the XML technologies needed to implement an XML-based workflow application, including XHTML, CSS, XForms, XML Schema, Schematron, Relax NG, DTD, NVDL, and XSLT/XPath.

Download Presentation

XML Technologies You Need For Workflow Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML Technologies You Need For Workflow Applications Roger L. Costello 2 January, 2009

  2. XML Rob Jill Anthony Sally Pete Workflow Applications • Workflow applications are those applications where documents are moved around a community of people who each perform on it.

  3. XML Technologies • The following slides lays out the XML technologies you will need for implementing an XML-based workflow application • It's a core list, you may need additional XML technologies, depending on your application • This is an all-XML solution. No imperative languages (Java, C#, etc) required.

  4. XHTML + CSS • XHTML is an XML'ized version of HTML • Use CSS to style XHTML documents • XHTML + CSS = your GUI language

  5. XForms • Use XForms to collect user input and automatically generate an XML document composed of the user's input <DMV>    <personal-information>        <name>            <first-name>John</first-name>            <initial>A</initial>            <last-name>Smith</last-name>        </name>        <driver-license-number>B987695</driver-license-number>        <birth-date>1983-03-03</birth-date>    </personal-information> … </DMV> Web Server XML

  6. XML Schema • Use XML Schemas to validate input as it's entered by the user <xs:schema targetNamespace="http://orbeon.org/oxf/examples/dmv"     xmlns:dmv="http://orbeon.org/oxf/examples/dmv"     xmlns:xs="http://www.w3.org/2001/XMLSchema"     elementFormDefault="qualified">      <xs:element name="DMV">        <xs:complexType>            <xs:sequence>                <xs:element name="personal-information">                    <xs:complexType>                        <xs:sequence>                            <xs:element name="name">                                <xs:complexType>                                    <xs:sequence>                                        <xs:element name="first-name" type="dmv:first-name"/>                                        <xs:element name="initial" type="dmv:initial"/>                                        <xs:element name="last-name" type="dmv:last-name"/>                                    </xs:sequence>                                </xs:complexType>                            </xs:element>                            <xs:element name="driver-license-number" type="dmv:driver-license-number"/>                            <xs:element name="birth-date" type="xs:date"/>                        </xs:sequence>                    </xs:complexType>                </xs:element> … </xs:schema validate XML Schema

  7. XML Schema, Schematron, Relax NG, DTD, NVDL • Use one or more XML validation languages server-side <DMV>    <personal-information>        <name>            <first-name>John</first-name>            <initial>A</initial>            <last-name>Smith</last-name>        </name>        <driver-license-number>B987695</driver-license-number>        <birth-date>1983-03-03</birth-date>    </personal-information> … </DMV> XML Schema Relax NG Valid! Web Server Schematron DTD XML

  8. XSLT/XPath • Use XSLT and XPath to process (apply functions to, transform, merge, sort, etc) the XML document <DMV>    <personal-information>        <name>            <first-name>John</first-name>            <initial>A</initial>            <last-name>Smith</last-name>        </name>        <driver-license-number>B987695</driver-license-number>        <birth-date>1983-03-03</birth-date>    </personal-information> … </DMV> XSLT/XPath Web Server XML

  9. XML Database • Many XML documents will be generated over time. Store them in an XML database (native, or XML-enabled) <DMV>    <personal-information>        <name>            <first-name>John</first-name>            <initial>A</initial>            <last-name>Smith</last-name>        </name>        <driver-license-number>B987695</driver-license-number>        <birth-date>1983-03-03</birth-date>    </personal-information> … </DMV> <DMV>    <personal-information>        <name>            <first-name>John</first-name>            <initial>A</initial>            <last-name>Smith</last-name>        </name>        <driver-license-number>B987695</driver-license-number>        <birth-date>1983-03-03</birth-date>    </personal-information> … </DMV> <DMV>    <personal-information>        <name>            <first-name>John</first-name>            <initial>A</initial>            <last-name>Smith</last-name>        </name>        <driver-license-number>B987695</driver-license-number>        <birth-date>1983-03-03</birth-date>    </personal-information> … </DMV> <DMV>    <personal-information>        <name>            <first-name>John</first-name>            <initial>A</initial>            <last-name>Smith</last-name>        </name>        <driver-license-number>B987695</driver-license-number>        <birth-date>1983-03-03</birth-date>    </personal-information> … </DMV> <DMV>    <personal-information>        <name>            <first-name>John</first-name>            <initial>A</initial>            <last-name>Smith</last-name>        </name>        <driver-license-number>B987695</driver-license-number>        <birth-date>1983-03-03</birth-date>    </personal-information> … </DMV> Web Server XML

  10. XQuery • Use XQuery to query the XML documents that are in the XML database <DMV>    <personal-information>        <name>            <first-name>John</first-name>            <initial>A</initial>            <last-name>Smith</last-name>        </name>        <driver-license-number>B987695</driver-license-number>        <birth-date>1983-03-03</birth-date>    </personal-information> … </DMV> <DMV>    <personal-information>        <name>            <first-name>John</first-name>            <initial>A</initial>            <last-name>Smith</last-name>        </name>        <driver-license-number>B987695</driver-license-number>        <birth-date>1983-03-03</birth-date>    </personal-information> … </DMV> <DMV>    <personal-information>        <name>            <first-name>John</first-name>            <initial>A</initial>            <last-name>Smith</last-name>        </name>        <driver-license-number>B987695</driver-license-number>        <birth-date>1983-03-03</birth-date>    </personal-information> … </DMV> <DMV>    <personal-information>        <name>            <first-name>John</first-name>            <initial>A</initial>            <last-name>Smith</last-name>        </name>        <driver-license-number>B987695</driver-license-number>        <birth-date>1983-03-03</birth-date>    </personal-information> … </DMV> XQuery

  11. XProc • Use the XML Pipeline language, XProc, to specify the series of actions (steps) to be applied to the XML document • e.g. validate then process then store in DB then query then … Pipeline

  12. Further Info • See Michael Kay's paper: Building Workflow Applications with XML and XQueryhttp://www.stylusstudio.com/whitepapers/xml_workflow.pdf • Also see Michael Kay's Q&A on Application Processing:http://www.xfront.com/Michael-Kay-on-application-processing/index.html

More Related