[
Lists Home |
Date Index |
Thread Index
]
Thanks for the most coherent explanation of XForms I have seen yet!
But what role do complexTypes play in this. Can the prototype instance be
extended by adding new elements/attributes in conformance with the schema?
I'm thinking of the multi-row, multi-column table case, where the prototype
instance necessarily can't contain all the rows a user might want.
Bob Foster
From: "Klotz, Leigh" <Leigh.Klotz@pahv.xerox.com>
> Right, the labels/help/hint can't be determined from a general Schema, nor
> can the prototype instance.
>
> So when designing XForms we decided to start with a prototype instance
that
> sets the complex content by example, and use XPath to point from UI
controls
> and their labels/help/hint to the value node in the prototype; XML Schema
is
> used to declare the simple types for validating those nodes, and for
> whole-document validation at the end just before submission in clients
that
> support Schema validation. (XForms also uses XPath expressions for a few
> other things like validation constraints that must be true before
> submission, the readonly bit, calculated values, etc.)
>
> So, XForms is pretty much just XPath-based glue between a human-readable
UI
> layer and a data layer containing a prototype instance and a Schema
> description and optional XPath for additional constraints. Control is
done
> through DOM Events expressed in XML (the recently PR'd XML Events), and
> presentation through CSS.
>
> Plus, it's designed to be incorporated into browsers, not just as a
> standalone premium office product.
>
> What's not to like ;-)
>
> Leigh.
>
>
>
> -----Original Message-----
> From: Patrick.Garvey@talaris.com [mailto:Patrick.Garvey@talaris.com]
> Sent: Friday, August 08, 2003 3:59 PM
> To: xml-dev@lists.xml.org
> Subject: RE: [xml-dev] Looking for a schema->html form XSL transform
>
>
> Very good point about xsd:any and the general case.
>
> Using this method requires that the designer know what can be in the
schema,
> and thus what can be on the form. And before anyone jumps all over me for
> imposing my imperfect cognitive frames on the possible contents of a
> document, I've changed my address 5 times in the last 10 years and the DMV
> change of address form has looked the same every time :-)
>
> Patrick
>
> -----Original Message-----
> From: Klotz, Leigh [mailto:Leigh.Klotz@pahv.xerox.com]
> Sent: Friday, August 08, 2003 3:51 PM
> To: Patrick Garvey (Engineering); Klotz, Leigh; 'cameron@shorter.net';
> 'xml-dev@lists.xml.org'
> Subject: RE: [xml-dev] Looking for a schema->html form XSL transform
>
>
> That's great reference for the original question. Thank you for showing
how
> XSLT can be used to generate an XForms document.
>
> As for the non-generative question, the lack of a single top-level element
> was just an example, and can of course be worked around by specifying,
> outside the Schema, a toplevel element. But I believe that in the general
> case, an XML Schema cannot be used to generate a unique prototype document
> that can be edited just by filling in simple element content and
attributes.
> If the user agent is allowed to alter the structure of the document (i.e.,
> by y adding elements and attributes where none were generated from the
> transformation on the Schema), then that begs the question of whether the
> document is indeed generated from the Schema, since the user is in this
case
> generating the document.
>
> Here are two examples of Schemas that do not have enough information about
> their structure to generate documents by any means other than infinite
> enumeration of all legal documents followed by a "Y or N?" dialog, or by
> using an editor that already understands Schema structures and letting the
> user add any structure necessary.
>
> 1. xsd:any
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> elementFormDefault="qualified"
> targetNamespace="http://www.example.com"
> xmlns:e="http://www.example.com">
> <xs:element name="instance">
> <xs:complexType>
> <xs:sequence>
> <xsd:any namespace="##any" processContents="skip" minOccurs="0"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:schema>
>
> You might argue that this is a trival Schema, but in fact I extracted it
> from the Schema for XForms itself.
>
> 2. The Schema for modularized XHTML 1.1:
>
>
http://www.w3.org/TR/xhtml-m12n-schema/xhtml-m12n-schema.html#a_schema_xhtml
> 11
>
> Note that if you can write an XSLT transformation that takes this as input
> and produces an editor that can output all documents that are valid by
this
> Schema, you will have produced a general XHTML editor!
>
>
> Leigh.
>
>
> -----Original Message-----
> From: Patrick.Garvey@talaris.com [mailto:Patrick.Garvey@talaris.com]
> Sent: Friday, August 08, 2003 2:00 PM
> To: Leigh.Klotz@pahv.xerox.com; cameron@shorter.net; xml-dev@lists.xml.org
> Subject: RE: [xml-dev] Looking for a schema->html form XSL transform
>
>
> How is an XML Schema non-generative?
>
> There are top level elements that show what the root element is. This
> element has a type, which has child elements, etc.
>
> If there are multiple top level elements in the schema, just pass in a
> parameter to the stylesheet with the name of the root element you want in
> your result document and follow the tree all the way to the end.
>
> See http://www.xml.com/pub/a/2003/01/15/transforming-schemas.html?page=1,
> or the "User Interface Generation" chapter from the following paper, which
> describes how one can generate an XForms from a schema using XSLT (and
> borrowed heavily from the examples in the xml.com article):
> http://dream.sims.berkeley.edu/CDE/report/go-five-final-report.html
>
>
> -------------------------------------
> Patrick Garvey
> Document Engineer
>
> Talaris Corporation
> 1400 Fashion Island Boulevard
> San Mateo, CA, 94404
>
> (650) 212 8434 phone
> (650) 212 8499 fax
>
> pgarvey@talaris.com
> http://www.talaris.com
>
> Red Herring "Top 10 Companies to Watch"
> InfoWorld "Top 100 Technology Innovators"
> Enterprise 2002 "Top 5 New Big Thing"
>
>
>
>
>
> -----Original Message-----
> From: Klotz, Leigh [mailto:Leigh.Klotz@pahv.xerox.com]
> Sent: Friday, August 08, 2003 1:22 PM
> To: 'Cameron Shorter'; 'xml-dev@lists.xml.org'
> Subject: RE: [xml-dev] Looking for a schema->html form XSL transform
>
>
> An XML Schema is not generative; i.e., doesn't have enough information in
it
> to provide the basic structure of a document, so you need to start with
> something that says what the root element it, what elements come next,
etc.
>
> If you start with a sample XML document with blanks for the content, then
> you can use any XForms processor to do what you're asking. You do need to
> provide the human-readable labels for the fields you want the user to
edit,
> and an XPath expression that says where those fields are in the initial
> document. If you specify one or more XML Schemas, they will be used to
> validate the resulting document before it is POSTed back as XML.
>
> See http://www.w3.org/MarkUp/Forms and
> http://www.w3.org/MarkUp/Forms/Test/ImplementationReport.html two
> fully-conformant implementations, one of which runs inside Internet
> Explorer. There are also some JavaScript-based implementations; they
aren't
> fully conformant with the XForms spec, but might be good enough for your
> purposes. IBM has one available form download and testing.
>
> Leigh.
>
> -----Original Message-----
> From: Cameron Shorter [mailto:cameron@shorter.net]
> Sent: Friday, August 08, 2003 2:01 PM
> To: xml-dev@lists.xml.org
> Subject: [xml-dev] Looking for a schema->html form XSL transform
>
>
> Hi,
> I want to:
> 1. Use XSL to build a HTML form from a schema, then
> 2. Build XML from the elements in the form and POST the xml back to a
> server.
>
> Does anyone know of XSL or javascript I can use which will address either
of
>
> the above?
>
> --
> Cameron Shorter http://cameron.shorter.net
> Open Source Developer http://generguide.sourceforge.net
> http://mapbuilder.sourceforge.net
> http://geotools.org
> Senior Software Engineer http://www.adi-limited.com
>
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>
>
>
|