Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


RE: [xml-dev] XML Design Guidelines for Facilitating the Creation and

From: "Costello, Roger L." <costello@-----.--->
To: "'xml-dev@-----.---.---'" <-------@-----.---.--->
Date: 3/6/2009 8:26:00 PM
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@k...] 
> Sent: Friday, March 06, 2009 1:21 PM
> To: Costello, Roger L.
> Cc: 'xml-dev@l...'
> 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@l...
> > subscribe: xml-dev-subscribe@l...
> > List archive: http://lists.xml.org/archives/xml-dev/
> > List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
> >
> 
> 
_______________________________________________________________________

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@l...
subscribe: xml-dev-subscribe@l...
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php



transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent