ModelEnhancementRequirements

From W3C XForms Group Wiki (Public)

This topic is further information related to the feature of improving ability for a form to reused model content defined elsewhere.

Encapsulation

  • External whole model
  • Reuse a model in multiple forms: Attach different UIs to the same whole model
  • Separation of concerns: Language-specific models with binds IDs for UI dereferencing

Narrowing-Only Inheritance / Specialization

  • Include a base model
  • Add additional non-contradictory model content (e.g. non-overriding binds)
  • Specialize by additional binds to restrict access, add access, more bind sites for access control
  • Specialize with additional instances, actions, submissions to transform back-end transactional data format into format appropriate for UI binding
    • In the limit, the UI could be looked at as another reusable component, but for simplicity we will keep that as a separate issue.

Fragment Inclusion

  • Stepping through a process with multiple pages, filling in parts
  • Including external content once into a model
  • E.g. include a main model plus add some page-specific constraints
  • Could be viewed as specialization, but then would be unable to compose a form consisting of multiple bundles of such constraints

Adaptations / Composition

  • Multiple reusable artifacts that characterize each web service
  • In a main form, want to pull in these artifacts and talk to them
  • Web Services
    • Write instances and submission for a web service
    • Pull that into larger model
    • Copy data to request payload, invoke, copy data from response payload

Fragment Reusability

  • multiple times in same page
  • contextualize fragment content (e.g. starting context node)
  • ID space challenge