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


Help: OASIS Mailing Lists Help | MarkMail Help

dita message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: RE: [dita] W3C XML Schema 1.1

Hi Scott,

The current incarnation of the DITA Schemas fully adheres to the XSD 1.0
spec and
has no dependency of the XSD 1.1.  The schemas were redesigned from top to
in the developerWorks 1.3.2 to remove any architectural dependency that
would only
appear  in XSD 1.1.  Otherwise, most  commercial/open-source XML tools
would not be
able to validate instance documents using the DITA Schemas.

If DITA needs requirements for XSD 1.1 (RQ-11) , that would mean that the
Schema would  make use of the XSD inheritance mechanism. Which also means
the DITA would have to be redesigned from top to bottom. That does not
mean that DITA will use that feature.

RQ-11 is only an issue *if and only if* we make use the XSD inheritance
model. This
is a very important point. If DITA is implemented using the inheritance
model XSD still
would not be able to fully implement DITA. What's missing in the XSD
architecture to fully support the DITA architecture? Renaming or aliasing
element in a
specific content model (local element substitution).  XSD only supports
global element
substitution via substitutionGroups.

There is a possibly a way that we may be able to achieve local element
substitution via
the XSD inheritance model, but implementing it in XSD architecture would be
very ugly!

We can model the DITA 1.0 and 1.1 using XSD 1.0.  We currently have no
on any XSD 1.1 features.  We may have a dependency on XSD 1.1 features for
DITA 2.0,
but it will probably not involve any feature that is dependent on the XSD

I hope this helps address your concerns.

Kind regards,

I've included below a response to question regarding *issues* with the DITA
on the dita-users list (just in case some folks on the TC may not be
subscribe to that list).


There are no issues, per se, with the DITA Schemas. The schemas are
fully equivalent to the DTDs and work fine with most XML authoring
editors...IDE's are another issue.  :-) . The *issue* with the W3C Schemas
is that we are able to take full advantage of the inheritance
capabilities. Why do we want to use the W3C XML Schema inheritance
capabilities? Well because their inheritance rules are pretty close to
the DITA inheritance rules. And if were to make use of that it would be
easier for developers to create valid specializations that conform to
the DITA spec.

We developed schemas over a year ago that *tried* Schema inheritance,
but kept hitting wall after wall of issue in the manner some parsers
adhered to the XML Schema 1.0. Some were very strict while other were
lax. We could not get a consistent story. Since the developerWorks DITA
1.3.2 version and the spec version that is available at OASIS we have
removed all use of inheritance in the schema, but also need to come up
with an architecture that was *fairly easy* to use so
developers/authors/architects could create new specializations.
Unfortunately, they still (along with the DTDs...and same would occur
with RNG) manually verify that the specialized element's content is
valid as per the DITA spec.

Probably one of the biggest reason that people are still using
the DTDs is that XSLT 1.0 processors only support DTDs out-of-the-box.
Web browsers only supports DTD parsing. If you look at a schema validate
instance in a browser and trying to use a stylesheet to view the
doc...you not going to see what you were expecting. If you want to see a
schema validated instance doc in a browser you have to use CSS. There
are no free XSLT 2.0 (Schema aware) processor available at this time.
You have to pay for Saxonica-SA and the XMLSpy one. I believe Stylus
Studio use Saxonica.

The entire DITA processing system is dependent on a default class
attribute value that appears on every element in DITA, like
<xs:attribute ref="class" default="- topic/topic "/>. All instance docs
need to validated so that the class attributes are normalized...then and
only then can the instance document be processed by the XSL stylesheets.

If your asking yourself...how do I process my instance documents if they
are all schema validated? Well..in the demo directory in the DITA open
source project there is a java directory...in it you will find a couple
of small applications, TransformUsingXMLSchema and ValidateXMLDoc, that
can help those using XML Schemas or want to use XML Schemas to process
their documents.

TransformUsingXMLSchema does what the applications says..it can
transform XML Schema validate docs using XSLT 1.0 processors. All the
application does is validate and normalize the class attribute and then
pass the doc to XSLT processor to be processed.

ValidateXMLDoc allows you to validate an XML instance doc with an
external schema when the instance has a DOCTYPE defined in it. You don't
need to modify your multitude of legacy docs that have the DOCTYPE in it
for them to be validated. Unfortunately, this option is implemented in
TransformUsingXMLSchema yet. If someone has a requirement or would like
to see the feature added to it...let us know or open a feature request
on SourceForge.

I hope this helps clear up some of the *issues* regarding XML
Schemas...or create new ones.  ;-)
Eric A. Sirois
Staff Software Developer
DB2 Universal Database - DBA XML Tools Development
IBM Canada Ltd. - Toronto Software Lab
Email: esirois@ca.ibm.com
Phone:(905) 413-2841
Blue Pages (Internal)

"Transparency and accessibility requirements dictate that public
information and government
transactions avoid depending on technologies that imply or impose a
specific product or
platform on businesses or citizens" - EU on XML-based office document

             "Tsao, Scott"                                                 
             g.com>                                                     To 
                                       Eric Sirois/Toronto/IBM@IBMCA       
             04/28/2005 06:35                                           cc 
             PM                        <dita@lists.oasis-open.org>         
                                       RE: [dita] W3C XML Schema 1.1       


Thanks for the reply.  I noticed that this feature has been included in
the XML Schema 1.1 requirements (see
http://www.w3.org/TR/xmlschema-11-req/#N40014F).  However, since we are
using the W3C XML Schema 1.0 spec (not DTD) for most (if not all) of our
XML projects at Boeing, I am concerned if we are taking a major risk to
adopt DITA today before the following events actually happen:
1) W3C releases the XML Schema 1.1 Recommendation
2) DITA incorporates the needed feature(s) of XML Schema 1.1

Please help us better understand the potential risks.



-----Original Message-----
From: Eric Sirois [mailto:esirois@ca.ibm.com]
Sent: Monday, September 20, 2004 11:10 AM
To: Tsao, Scott
Cc: dita@lists.oasis-open.org
Subject: Re: [dita] W3C XML Schema 1.1

Hi Scott,

The issue related to "restriction via subsumption" is still active
within the XML Schema WG.

RQ-17 -
 (not sure if you have to be a W3C member to view the document).

I did speak to IBM's rep on the workgroup and he's is aware of our
requirements as well as the WG. They working on solving this issue for
WXS 1.1. Part of the new algorithm is implemented in Saxon 8.0 and XSV

Kind regards,
Eric A. Sirois
Staff Software Developer
DB2 Universal Database - DBA XML Tools Development
IBM Canada Ltd. - Toronto Software Lab
Email: esirois@ca.ibm.com
Phone:(905) 413-2841
Blue Pages (Internal)

             "Tsao, Scott"



             09/15/2004 02:09

                                       [dita] W3C XML Schema 1.1

I recall that someone has mentioned that DITA requires functionality
beyond the current XML Schema (1.0) spec, and I wonder if those
requirements have been documented somewhere and are being considered by
the W3C WG to be included in the XML Schema 1.1 spec.


Scott Tsao
The Boeing Company
P.O. Box 3707, MC 67-EF
Seattle, WA 98124-2207

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]