The Essence of Declarative, XML-based Web Applications: XForms & XSLT

Chimezie Ogbuji ccf logo

Background

The XForm paradigm

XForms challenges

The XSLT proposition

The scenario: editing Atom

An experiment with XUL / XSLT / XForms

xslt proposition

Mapping XUL widgets to XForms / XHTML

A high-level abstraction for UI patterns

Combined usage
<ui:existential-block node="atom:category">
    <xf:repeat nodeset="atom:category">
        <ui:attribute-anchor node=".">
            <ui:attribute label="Scheme" attrName="@scheme"/>
            <ui:attribute label="Term"      attrName="@term"/>
        </ui:attribute-anchor>
    </xf:repeat>               
</ui:existential-block>        
    
<ui:existential-block node="atom:link">
    <xf:repeat nodeset="atom:link">
        <ui:attribute-anchor node=".">
            <ui:attribute label="Relation" attrName="@rel"/>
            <ui:attribute label="URL"      attrName="@href"/>
        </ui:attribute-anchor>
    </xf:repeat>                       
</ui:existential-block>        
    

Processing mixed vocabularies

xslt proposition

Other considerations