- From: Robert Leif <rleif@rleif.com>
- Date: Tue, 5 Jul 2011 07:53:20 -0700
- To: "'Norman Walsh'" <ndw@nwalsh.com>, <public-html-xml@w3.org>
- Cc: "'Radu Coravu'" <radu_coravu@sync.ro>
- Message-ID: <018b01cc3b23$4861e0d0$d925a270$@rleif.com>
From: Bob Leif To: Norman Walsh et al. Subject: XHTML5, XSD1.1, and CSS Below is an attempt to create a set of requirements for permitting XHTML5, XSD1.1, and CSS to work together and a hint of how to meet them. These requirements and the means to meet them are straw-men and are specific for the use of strongly typed XML pages and schemas, which is appropriate for many medical devices and other mission critical applications. These suggestions explicitly assume the use of XSDL 1.1. Their major purpose is to start a discussion. I believe that the three modalities can be made to work together without extreme measures, such as recoding XHTML5 in XML. Requirements: 1. XML based upon XSDL 1.1 can be incorporated in XHTML5 in such a manner that one or more XML element values and attribute values can be enclosed in XHTML tags. The contents of the XHTML5 and XML tags can be formatted by CSS 2.1(CSS 3?). {Do we do anything about XSL:FO?} 2. XHTML5 presently requires a specific set of data types. A means to use data-types that could be validated with XSDL schemas should be developed. This would be of use, particularly with forms. This means could include transformation of schema based XML data-types into XHTML5 data-types. 3. XHTML5 Forms must be able to read data from and write data to XML pages. 4. The equivalent of some of the XHTML5 data-types including the new ones being made available for the first time should be able to be included in XSDL 1.1 schemas. Other Possible Requirements 5. 1. The names and structures of data-types, elements and attributes should, where possible, be harmonized between HTML5 and XSDL 1.1. 6. 2. Both XML and HTML5 should fully support curies and prefixes. Possible approaches Introduction Although HTML5 and consequently XHTML5 have not been written in XSDL, it essential to use XSDL data types in XHTML5 and the equivalents of some XHTML5 elements in XML. In many cases, this coexistence can be based on both modalities ignoring each other. This is the opposite of polyglot markup. XHTML5 Pages The two additions to the XHTML5 toolchain are 1) The openContent element present in XSDL 1.1. and 2) One or more means to use XSDL1.1 data-types in XHTML5 form elements <xs:openContent mode="interleave"> <xs:any namespace="http://www.r.org" processContents="strict"/> </xs:openContent> In the above example, the elements from http://www.r.org can be interleaved between the elements from the schema snippet shown above. The elements in the r.org schema would be parsed in a strict manner. In a similar manner, if the XHTML5 browser could include the equivalent of openContent, the browser could ignore the elements based upon the namespace of their schema's prefix, which was used to import (include) the schema's elements into the XHTML page. The contents of the elements would be treated as text. This would permit the formatting by CSS to be based on the XHTML5 elements: <p>, <h1>, etc. One impediment to this solution is that presently, "Oxygen does not yet support XML Schema 1.1 when generating XML instances." Appendix 1 includes two schemas and one XML page that show the result of an openContent element. The second addition is a method to permit XHTML5 to use XML schema defined elements and possibly their data-types. One approach to this second method is to import an XML element into an XHTML5 page by transforming the element into the corresponding XHTML data-type and to export elements from XHTML5 pages by transforming elements with a specific XHTML data-type into a data-type (the original one) that can be entered into an XML page that can be validated against an XSD 1.1 schema. Even if XHTML5 did not have the full set of XSD schemas required to make it a full XML implementation, these two tools would make it possible for XHTML5 to include XML that could be validated against XSDL schemas. This proposal is based on my belief that a full set of schemas for XHTML5 will unfortunately not be available in the near future. As described in http://dev.w3.org/html5/spec/Overview.html#forms, the forms element assigns types as they are used including specifying numerical ranges with min (minInclusive) and max (maxInclusive) attributes, and step sizes, when they are used. I do not know of anything comparable to step size in XSDL. HTML5 also lists all the values of an enumeration at the point of use, for instance: <fieldset> <legend> Pizza Size </legend> <p><label> <input type=radio name=size> Small </label></p> <p><label> <input type=radio name=size> Medium </label></p> <p><label> <input type=radio name=size> Large </label></p> </fieldset> This requirement for listing all of the data-types should interfere with reuse of enumerated types, such as the selection of items from data-sets, for instance a state from a list of the states in the U.S.A. The pattern element of HTML5 appears to be different from that used in XSDL 1.1. Since, simple type overrides do not appear to be possible for many cases, a translator program would have to be developed at least for these cases. If XHTML5 were to become an XML schema based application, descriptions of the XHTML5 data-types would have to be created. In any event, the step attribute should be implemented in XSD 1.1. It might be simpler to add a means to directly use XSD data-types with XHTML5 forms and similar entities. This should include the use of CURIES or prefixes to reduce the use of long URLs. The differences in the pattern element suggest that significant changes be made to the pattern element in XSDL1.1 or a new patternEcma element be added to XSD1.1 and possibly the old pattern element be declared legacy. In any event, a new pattern functionality needs to be included, namely a concatenation of two strings, with each defined by its own pattern. This will simplify the creation and maintenance of Complex patterns and permit the reuse of their components. XSDL 1.1 Schemas An XSD schema should be able to ignore interleaved XHTML elements. It appears that the "interleave" value of the openContent element in XSD 1.1 might permit a schema validation tool to ignore every XHTML5 based element in an XML page. The XML elements still would be parsed by the XSDL parser. The parser for the XHTML5 elements may not be as strict as the XML parser or as complete. The actual implementation of an openContent element for the interleaved XHTML5 elements could include creation of a table that contained the XHTML5 element tags; rather than the creation of a complete set of schemas for XHTML5. However, in the case where the XHTML5 elements provide a functionality, an upgraded (validated with XSDL 1.1) version of the schemas that have been created for the implementation of XHTML Modularization 1.1 - Second Edition, W3C Recommendation 29 July 2010 (http://www.w3.org/TR/xhtml-modularization/) could serve as the basis for an implementation. There is still the question of: would the browsers be able to display the XML pages with their new XHTML5 based tags? . Textural Corrections to HTML/XML Task Force Report, W3C Editor's Draft (with revision marks) 28 June 2011 "we use the term "DOM" throughout as a general term for any of these possible representations." The abbreviation DOM needs to be spelled out Document Object Model and a reference to a web page needs to be provided. Robert (Bob) C. Leif, Ph.D. Vice President Newport Instruments 3345 Hopi Place, San Diego, CA 92117-3516 Tel. (619)582-0437) Email rleif@rleif.com Web www.CytometryML.org And : www.newportinstruments.com Appendix 1, XML Study Subject The use of the openContent element in the schema below was part of an attempt to determine how XHTML5 and XML could work together. If the XSD 1.1 openContent element were usable in XML and XHTML5, as stated above, it would aid the development of combined implementations. The test case is based upon slides 266 and 217 of XML Schema 1.1 by Roger L. Costello, (http://www.xfront.com) dated 24 March 2011. Slide 217 is a complete XML page. http://www.xfront.com/files/tutorials.html Then pressing xml schema 1.1. This is followed by going "XML Schema 1.1 Tutorial" and then going to the hyperlink labeled Here is the tutorial: XML Schema 1.1 (PowerPoint document). It appears that there are at least two versions of this PowerPoint document with different dates and slide numbers that can be found with a Google search. XSD1.1 Schema, which validated </xs:schema> <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.books.org" xmlns="http://www.books.org" elementFormDefault="qualified"> <xs:element name="Book"> <xs:complexType> <xs:openContent mode="interleave"> <xs:any namespace="http://www.r.org" processContents="strict"/> </xs:openContent> <xs:sequence> <xs:element name="Title" type="xs:string"/> <xs:element name="Author" type="xs:string"/> <xs:element name="Date" type="xs:string"/> <xs:element name="ISBN" type="xs:string"/> <xs:element name="Publisher" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> Second XSD1.1 Schema, which validated. The elements with values that have been commented out are from the XML page example that was included in the PowerPoint presentation. <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.r.org" xmlns="http://www.r.org" elementFormDefault="qualified"> <xs:element name="Binding" type="Binding_Type"/> <xs:simpleType name="Binding_Type"> <xs:restriction base="xs:token"> <xs:enumeration value="Hardcover"/> <xs:enumeration value="Soft"/> </xs:restriction> </xs:simpleType> <!--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx--> <!--r:Binding>Hardcover</r:Binding--> <!--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx--> <xs:simpleType name="Category_Type"> <xs:restriction base="xs:token"> <xs:enumeration value="Non-fiction"/> <xs:enumeration value="Fiction"/> </xs:restriction> </xs:simpleType> <!--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx--> <xs:element name="Size" type="xs:int"/> <!--r:Size>5 x 7</r:Size --> <xs:element name="InStock" type="xs:boolean"/> <!--r:InStock>true</r:InStock--> <xs:element name="Category" type="Category_Type"/> <!--r:Category>Non-fiction</r:Category --> <xs:element name="NumPages" type="xs:int"/> <!--r:NumPages>299</r:NumPages--> <xs:element name="AvailableOnTape" type="xs:boolean"/> <!--r:AvailableOnTape>false</r:AvailableOnTape--> </xs:schema> ---------------------------------------------------------------- Test XML page that does not validate because it includes one element (<r:Size>5 x 7</r:Size>) from the schema (r.xsd) that contains the interleaved elements <?xml version="1.0" encoding="UTF-8"?> <Book xmlns="http://www.books.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:r="http://www.r.org" xsi:schemaLocation="http://www.books.org file:/D:/XML/Schema/Schema1_1/interleave/books.xsd <http://www.books.org%20file:/D:/XML/Schema/Schema1_1/interleave/books.xsd> "> <!--r:Binding>Hardcover</r:Binding--> <Title>My Life and Times</Title> <r:Size>5 x 7</r:Size> <Author>Paul McCartney</Author> <!--r:InStock>true</r:InStock--> <Date>1998</Date> <!--r:Category>Non-fiction</r:Category--> <ISBN>1-56592-235-2</ISBN> <!--r:NumPages>299</r:NumPages--> <Publisher>McMillin Publishing</Publisher> <!--r:AvailableOnTape>false</r:AvailableOnTape--> </Book> ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- ----- -----Original Message----- From: public-html-xml-request@w3.org [mailto:public-html-xml-request@w3.org] On Behalf Of Norman Walsh Sent: Tuesday, June 28, 2011 9:07 AM To: public-html-xml@w3.org Subject: Revised HTML/XML Task Force Report Hello world, I took a stab at addressing the comments received so far as per my email messages earlier today. The new draft is published at <http://www.w3.org/2010/html-xml/snapshot/> http://www.w3.org/2010/html-xml/snapshot/ Please send any comments that you have to the public comments list. Be seeing you, norm -- Norman Walsh Lead Engineer MarkLogic Corporation Phone: +1 413 624 6676 <http://www.marklogic.com> www.marklogic.com
Received on Tuesday, 5 July 2011 14:54:09 UTC