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 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