[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: XML Design Guidelines for Facilitating the Creationand Pro
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 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 > > > >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|