- From: Dan Connolly <connolly@w3.org>
- Date: Tue, 16 May 2000 07:06:47 -0500
- To: "Cohen, Aaron M" <aaron.m.cohen@intel.com>
- CC: www-xml-schema-comments@w3.org, "'Patrick Schmitz'" <pschmitz@microsoft.com>
"Cohen, Aaron M" wrote: > > Dan: > Thanks for taking a look at this. I'll take a closer look at your SMIL > Animation Schema later this week when I have a chance. > > Meanwhile, I have a question. You integrated the SMIL timing attributes with > the "P" element by making your own version of xhtml.xsd that allowed > including qualified attribute names from other schemas. Yes, I expect the "official" XHTML schema to work that way. > I'm not sure that > this is a total solution. > > However, in my understanding of our discussion of namespaces, I got the > impression that redefining elements to include new content and/or attributes > and then "putting" those elements in a "new" namespace was okay. So it seems > that you can define hybrid languages, it's just that they don't have a > "lineage" reflected in a namespace structure, or in an XML Schema structure > (because the attributes on an element can only be defined in one place). Not so: (a) as I say, I expect the XHTML schema to allow anyAttribute namespace="#other" in the first place, and (b) if you did create a new XHTML namespace, you certainly could design it so that it has a discoverable "lineage", i.e. it derived from the canonical XHTML schema. > This will lead to integrations that need to be done very differently in > DTD's vs. XML Schemas. What I mean is that in some cases, the schema will > have to repeat a lot of stuff defined in a "base" schema, while the DTD will > not. I don't know what leads you to think that; it's not so. > The case in point is XHTML+SMIL, which it seems, will have to repeat > the definitions of all of the XHTML-based elements, add the timing > attributes (which can be done nicely in attribute groups in the smil > modules), and declare them in a new namespace. So while there will be very > tight semantics coupling between XHTML and XHTML+SMIL, this coupling will > not be reflected in either the namespace or the schema for XHTML+SMIL. > > About the best that I think could be done is if the XHTML-WG creates > "proto-HTML" types that can be used in the derived languages to define the > actual elements. I certainly expect the HTML WG to use things like <anyAttribute namespace="#other"> to specify that XHTML is extensible. > I think that you can do something like this for timed <a> link's (correct me > if I am wrong): > > In the XHTML.xsd: > > <xsd:complexType content="mixed" name="aType"> > <xsd:attribute name="href" type="xsd:uriReference"/> > ...other linking attribute declarations > </xsd:complexType> > > In the SMIL.xsd: > <xsd:attributeGroup name="smilTimingAttrs" /> > <xsd:attribute name="begin" type="xsd:string"/> > <xsd:attribute name="end" type="xsd:string"/> > ...other timing attribute declarations > </xsd:attributeGroup> > > And then in the XHTML+SMIL.xsd: > <xsd:element name="a" type="xhtml:aType"> > <xsd:attributeGroup ref="smilTimingAttrs"/> > </xsd:element> Yes, that's another way to design a schema for XHTML+SMIL. But I hope that we don't use that approach; as you say: > Of course, the means to do this has to be set up in XHTML.xsd and SMIL.xsd. > I can see us doing this kind of thing for SMIL, but of course the other > stuff is up to XHTML, SVG, and the other XML-based languages using XML > Schemas. I think it's clearly preferable to have one schema for XHTML, one for SMIL, one for SVG, and one for MathML that can be used together in compound documents; rather than one for XHTML+MathML, one for XHTML+MathML+SVG, etc. for a total of N! schemas. -- Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Tuesday, 16 May 2000 08:07:04 UTC