RE: Revised HTML/XML Task Force Report

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