Re: XML-Schema Requirements for SMIL

"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