[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
- From: "Costello, Roger L." <costello@mitre.org>
- To: "'xml-dev@lists.xml.org'" <xml-dev@lists.xml.org>
- Date: Fri, 6 Mar 2009 15:17:53 -0500
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]