Relevant work at JustSystems Dave Raggett, W3C/JustSystems ISTI, - - PowerPoint PPT Presentation

relevant work at justsystems
SMART_READER_LITE
LIVE PREVIEW

Relevant work at JustSystems Dave Raggett, W3C/JustSystems ISTI, - - PowerPoint PPT Presentation

Relevant work at JustSystems Dave Raggett, W3C/JustSystems ISTI, Pisa, 23 July 2008 1 Contact: dsr@w3.org JustSystems Japanese software developer Headquarters in Tokushima Founded in 1979 In Japan ATOK Japanese input method


slide-1
SLIDE 1

1

Relevant work at JustSystems

Dave Raggett, W3C/JustSystems

ISTI, Pisa, 23 July 2008 Contact: dsr@w3.org

slide-2
SLIDE 2

2

JustSystems

  • Japanese software developer

– Headquarters in Tokushima – Founded in 1979

  • In Japan

– ATOK Japanese input method – Ichitaro, word processor, drawing tools, etc. – Full member of Unicode Consortium

  • XML software

– XMetaL XML-based authoring tool – XFY XML data fusion and app development

slide-3
SLIDE 3

3

XFY

  • The document is the application
  • XFY client

– Written in Java – View and edit compound documents

  • XHTML, SVG, MathML, Chemical ML
  • UI markup (a kind of concrete UI)
  • Vocabulary components for charts, pie diagrams

– Extends XSLT for dynamic bindings

  • Source markup kept in sync with UI
  • XFY server

– XML repository and interfaces to databases, etc.

slide-4
SLIDE 4

What is a Vocabulary Component?

<XHTML> </XHTML>

Vocabulary Component XHTML Component SVG Component Other MathML Component

<sgv> </svg> <math> </math> Input Reflect

xfy Client

XML data VC Edit Output

slide-5
SLIDE 5

What is VC (Vocabulary Connection)?

Hello World!

Display Display Update Update

XSLT

VC mechanism (XVCD)

XML document XML document Web browser xfy Enterprise Client

Multi-view

Display Display Edit Edit

slide-6
SLIDE 6

Vocabulary Component

Vocabulary Component

A vocabulary component defines how to display and edit XML documents How to create vocabulary components:

  • View Designer
  • XVCD
  • JAVA
slide-7
SLIDE 7

7

XVCD

  • Extended version of XSLT that allows you to

define event handlers

– Update source and target DOM trees in response to

use input and application events

  • xvcd:action element and event attribute

– Commands to modify a DOM tree

  • xvcd:delete, xvcd:move, xvcd:combine, xvcd:split
  • xvcd:insert-at-caret, xvcd:delete-at-caret
  • xvcd:set-user-data, xvcd:set-property
  • xvcd:start-drag, xvcd-copy-selection
  • Can update source and destination DOM trees
slide-8
SLIDE 8

8

XFY User Interface Markup

  • Markup for menus, toolbars, buttons, pop-ups,

keyboard accelerators

  • Can be generated via application of XVCD

transform to source data

  • XVCD then defines the UI behaviour in

response to standard UI events

  • Plenty of platform commands to choose from

– Navigation and bookmarks, undo/redo, ...

  • Specialized markup for charts, pie diagrams, ...

– Requires tranformation of data into expected format

slide-9
SLIDE 9

9

Data Constraints and Calculations

  • Use XVCD to specify constraints on data

entered by the user

– Numbers, dates, times, durations, ranges, etc. – Restrictions on lists (max/min items settable)

  • XVCD also allows you to define calculations

e.g. where one element's content is the sum of several others

slide-10
SLIDE 10

10

XVCD and XForms

  • XFY uses a transformational approach that

maps source markup to destination markup

  • XForms uses XPath for binding data constraints

and calculations, but is not based upon XSLT

  • XForms defines abstract UI markup and relies
  • n XBL, CSS or other means to map this into a

concrete UI

  • XForms is in widespread use as a mature W3C

specification

  • What is the relationship between XForms and

conventional model-based UI?

slide-11
SLIDE 11

11

XForms

A brief introduction

slide-12
SLIDE 12

12

XForms Basics

  • Separates data from UI
  • Data held and submitted as XML
  • Optional use of XML Schema for data
  • Additional constraints through bind element

– XPath expressions on instance data – Required, relevant, read-only, calculated

  • Rich set of events and actions

– Act on instance data

  • Abstract UI elements
slide-13
SLIDE 13

13

XForms UI

  • Set of abstract UI controls

– input, secret, textarea, output, upload – range, trigger, submit, select, select1 – switch, case, toggle, repeat

  • Additional information

– label, help, hint, alert

  • Model-View-Controller design pattern
  • Originally designed as replacement for HTML

Forms

  • But now seen as of wider utility than forms
slide-14
SLIDE 14

14

XForms and Model-based UI

  • XForms brings lots of real-world requirements
  • Is the XForms abstract UI

– A complete solution? – Something to extend? – To be ignored as too forms centric?

  • How to relate concrete and abstract UI?

– Class and superclass?

  • How does XForms relate to task models?