OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [xml-dev] Looking for a schema->html form XSL transform

[ Lists Home | Date Index | Thread Index ]

XForms does have a repeat UI controls that can bind to the data in an
homogeneous xsd:sequence, but it doesn't handle the complexType directly;
instead, UI controls inside the repeat are bound with XPath paths to the
various nodes that need user interaction, and the repeat steps through the
sequence.  You can insert and delete entries into the sequence, and they are
copied from the first entry in the sequence.  

There's also a little support for a complex structure in the xforms:copy
element used inside xforms:select, which lets you copy in a subtree to the
bound node upon selection (and the original for that subtree itself could
have had other form controls bound to it).  This lets you do master/detail
forms.

More spec support for complex types will have to wait for a later version of
XForms; perhaps implementations will push the envelope with RelaxNG instead!

Leigh.

-----Original Message-----
From: Bob Foster [mailto:bob@objfac.com] 
Sent: Friday, August 08, 2003 6:32 PM
To: Klotz, Leigh; xml-dev@lists.xml.org
Subject: Re: [xml-dev] Looking for a schema->html form XSL transform


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>
>
>




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS