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

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: XML Schemas: Best Practices



First, before getting to Curt's latest message, I have summarized online
all of our (awesome!) discussions on designing variable content
container elements:

http://www.xfront.com/VariableContentContainers.html

(Curt, you're not going to like my recommendation.)

Okay, now for Curt's message:

"Arnold, Curt" wrote:
> 
> Also, since the xsi:type value is a QName, unless you are restricting your document to use a fixed prefix, it would be difficult to write an XPath that would give you only the  Magazine nodes.

It's a little more challenging, but not too difficult:

<xsl:for-each  
select="c:Publication[substring-after(@xsi:type,':')='MagazineType']">
        -- process the Magazine --
</xsl:for-each>

> 
> I don't think the superclass as tag name, subclass as xsi:type pattern > is generic enough to be a best practice.  The aggregation pattern 
> offers the same advantages but is more capable.

Remember that we are comparing methods 1, 2, and 3; not projection vs
aggregation vs decoration.  That is, we are searching for the Best
Practice for designing variable content containers in an XML Schema.
What is the Best Practice in designing an instance document (do we use
projection, aggregation, or decoration) is a separate (interesting)
issue. 

Of the 3 methods, which one would you recommend for Best Practice Curt? 
Len, what's your recommendation?  /Roger