Lists Home |
Date Index |
Leigh Dodds wrote:
>>When an app that works with extensible XML encounters elements
>>from an unrecognized namespace, how does it know how display and
>>edit them? I think it should be able to download and plugin a
>>user interface at runtime.
>Sounds reasonable to me. The XSmiles browser (Java) handles
>multi-namespace documents. It might be useful to investigate what
>infrastructure they're using to dispatch handling of elements based
>>The UI could be a collection of
>>resources made for elements in this namespace, including XSL
>>stylesheets to transform an element into XHTML and XForms for
>>creating them. Would this be something appropriate to include
>>in an RDDL document?
>Yes. Mappings to and from other similar languages are another
>useful thing to include. That way a processor could look up the
>newly encountered namespace and then find transformations
>that can turn it into something it can process. This might involve
>traversing RDDL documents.
This is potentially a very powerful idea. The extensibility of
XML+namespaces is pretty intangible - it's like calling a bucket
extensible because you can put anything in it. RDF/XML offers more
realizable extensibility thanks to the model behind the syntax providing
at least partial understanding. But to enable full understanding in a
pluggable fashion - that'd be pretty cool.
For a UI there is already XUL which on platforms that support it (i.e.
Mozilla) could provide such dynamic configuration of interpretation on
the basis of a URI (the namespace).
RDDL would appear to provide a large part of what's needed, although
'purpose' will need further qualification to map between the application
and the desired processing. What a browser does with an XXXML file may
differ from what a syndication pipeline might do. In each case the
processing may also vary according to the context in which the data is
encountered. A mimetype-style grouping of purposes might be one
approach, but I suppose the easiest would be keep such information at
the client end, so once given the purpose it can figure out what to do