XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
RE: [xml-dev] XML Design Guidelines for Facilitating the Creationand Processing of Compound Documents

Hi Rob, 

> How are you defining compound documents?

By compound documents I mean two or more independent XML vocabularies combined into a single XML instance document. A common example is combining the XHTML vocabulary with the MathML vocabulary to create an XHTML document with embedded MathML.

/Roger


> -----Original Message-----
> From: Robert Koberg [mailto:rob@koberg.com] 
> Sent: Friday, March 06, 2009 1:21 PM
> To: Costello, Roger L.
> Cc: 'xml-dev@lists.xml.org'
> Subject: Re: [xml-dev] XML Design Guidelines for Facilitating 
> the Creation and Processing of Compound Documents
> 
> How are you defining compound documents? Do you want different media  
> types in a document or are you talking about including XML  
> 'components' (that might include other components and so on)?
> 
> What is compound about your examples?
> 
> best,
> -Rob
> 
> 
> 
> On Mar 6, 2009, at 1:11 PM, Costello, Roger L. wrote:
> 
> >
> > Hi Folks,
> >
> > What guidelines would you recommend to someone who:
> >
> >   - wants to create an XML vocabulary,
> >
> >   - that will be combined with other XML vocabularies to create a  
> > compound instance document,
> >
> >   - which will be processed by applications?
> >
> > In other words, what XML designs will facilitate the creation and  
> > processing of compound documents?
> >
> > Below is a list of guidelines that I have come up with. Are there  
> > other guidelines that you recommend?
> >
> >
> > ----------------------------------------------
> >   GUIDELINES FOR FACILITATING THE
> >      CREATION AND PROCESSING
> >       OF COMPOUND DOCUMENTS
> > ----------------------------------------------
> >
> > Namespaces are key to creating compound documents that can be  
> > effectively processed. Applications can partition compound 
> documents  
> > along the lines identified by namespaces, thus enabling module- 
> > specific processing.
> >
> >
> > 1. When designing a schema, associate the XML vocabulary it 
> creates  
> > with a namespace. Thus the first guideline is to identify each XML  
> > vocabulary via a namespace. Here's an example of a Book XML  
> > vocabulary identified by the http://www.book.org namespace:
> >
> >    <Book xmlns="http://www.book.org";>
> >         <Title>Illusions</Title>
> >         <Author>Richard Bach</Author>
> >         <Date>1977</Date>
> >         <ISBN>0-440-34319-4</ISBN>
> >         <Publisher>Dell Publishing Co.</Publisher>
> >    </Book>
> >
> > Conversely, do not identify the XML vocabulary by embedding 
> a unique  
> > identifier inside an element or attribute. Here's an 
> example of the  
> > Book XML vocabulary identified using a GUID embedded inside an  
> > element:
> >
> >    <Book>
> >         
> <Identifier>fc48ee30-0a6b-11de-8c30-0800200c9a66</Identifier>
> >         <Title>Illusions</Title>
> >         <Author>Richard Bach</Author>
> >         <Date>1977</Date>
> >         <ISBN>0-440-34319-4</ISBN>
> >         <Publisher>Dell Publishing Co.</Publisher>
> >    </Book>
> >
> >
> > 2. If the schema language used to create the XML vocabulary 
> provides  
> > the option of namespace-qualifying all elements or namespace- 
> > qualifying only global elements, choose the former. For 
> example, the  
> > W3C XML Schema language allows you to specify "all elements 
> must be  
> > qualified in the instance document" by setting:
> >
> >    elementFormDefault="qualified"
> >
> > Conversely, it allows you to specify "only qualify globally 
> declared  
> > elements in the instance document" by setting:
> >
> >    elementFormDefault="unqualified"
> >
> > Don't use the latter as it destroys the value of namespaces.  
> > Instead, use the former as it maximizes the value of namespaces.
> >
> >
> > 3. Use standard filename suffixes: .xsd (W3C XML Schema), 
> .rng (ISO  
> > RELAX NG), .sch (ISO Schematron), .dtd (W3C DTD). Although it is  
> > technically accurate to, say, suffix an XML Schema file with .xml,  
> > it is preferable to use .xsd as the latter enables applications to  
> > more easily recognize an XML vocabulary's schema language.
> >
> >
> > 4. Design your schema maximizing the use of globally declared  
> > elements. Each globally declared component is a potential compound  
> > document component. For example, with this schema both 
> BookStore and  
> > Book can be used as a component in a compound document:
> >
> >    <element name="BookStore">
> >        <complexType>
> >            <element ref="Book" maxOccurs="unbounded" />
> >        </complexType>
> >    </element>
> >
> >    <element name="Book"> ... </element>
> >
> > Conversely, this schema only allows BookStore to be used as a  
> > component in a compound document:
> >
> >    <element name="BookStore">
> >        <complexType>
> >            <element name="Book" maxOccurs="unbounded"> ... 
> </element>
> >        </complexType>
> >    </element>
> >
> >
> > What else would you add to this list?
> >
> > /Roger
> > 
> ______________________________________________________________
> _________
> >
> > XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> > to support XML implementation and development. To minimize
> > spam in the archives, you must subscribe before posting.
> >
> > [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> > Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> > subscribe: xml-dev-subscribe@lists.xml.org
> > List archive: http://lists.xml.org/archives/xml-dev/
> > List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
> >
> 
> 


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


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS