- From: John Boyer <boyerj@ca.ibm.com>
- Date: Thu, 25 Oct 2007 13:31:13 -0700
- To: Forms WG (new) <public-forms@w3.org>
- Message-ID: <OFA8C95DB9.A3CEF98A-ON8825737F.006C9CD2-8825737F.0070C61E@ca.ibm.com>
So, I'm just going through the schema, and I will give you a separate report about that shortly. However, one of our last call comments from Steven asked to have the value attribute available on the mediatype child element of output. This causes that mediatype element to not be the same type as the one used in the upload control, which was known at the time we agreed to Steven's request. If you are *not* using output and upload together, then having the value attribute on output's mediatype actually is convenient. Of course, it opens up the problem of what to do in the schema. As a top level element, we used to have mediatype defined as follows: <xsd:element name="mediatype"> <xsd:complexType> <xsd:attributeGroup ref="xforms:Common.Attributes"/> <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/> </xsd:complexType> </xsd:element> And then the upload and output elements had definitions that included this element, like this: <xsd:element ref="xforms:mediatype" minOccurs="0"/> Now that the value attribute must be added for output (and it doesn't make sense in upload, by the way), we would have the need for two top-level element both named mediatype and with different schema. As far as I know, you can't do that, so I solved the problem by creating complex type definitions for the two different mediatype elements needed, like this: <xsd:complexType name="mediatype"> <xsd:attributeGroup ref="xforms:Common.Attributes"/> <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/> </xsd:complexType> <xsd:complexType name="mediatypeWithValue"> <xsd:complexContent> <xsd:extension base="xforms:mediatype"> <xsd:attribute name="value" type="xforms:XPathExpression" use="optional"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> Then upload gets the following: <xsd:element name="mediatype" type="xforms:mediatype" minOccurs="0"/> And output gets the following: <xsd:element name="mediatype" type="xforms:mediatypeWithValue" minOccurs="0"/> First question: Can anyone see a problem with the approach I used? Second question: If not, then why is it more than an hour or so of work to remove unwanted elements from the top level? Granted it's not critical path to CR, but if it's this easy then when we get done with the LC issues, we may as well just get this done. Cheers, John M. Boyer, Ph.D. STSM: Lotus Forms Architect and Researcher Chair, W3C Forms Working Group Workplace, Portal and Collaboration Software IBM Victoria Software Lab E-Mail: boyerj@ca.ibm.com Blog: http://www.ibm.com/developerworks/blogs/page/JohnBoyer
Received on Thursday, 25 October 2007 20:32:05 UTC