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] Calculating how many XML elements will be needed,given the number of data items

On Sat, 2014-04-12 at 19:23 +0000, Costello, Roger L. wrote:
> Hi Folks,
> 
> Suppose the below Bookstore grammar is expressed in XML Schema. How
> many XML elements will be needed to mark up this data:

Do you count the elements in the Schema?

You didn't need any elements at all in your email, so the minimum (but
perhaps unsatisfactory) answer is zero.

A single element,
<pineapple>Wisdom of Crowds non-fiction Springer Society of Mind
non-fiction Harvard Press</pineapple>
captures all of the information and could easily be represented in an
XML Schema.

If we require punctuation, we can match using a regular expression,

<starfruit>Wisdom of Crowds, non-fiction, Springer—Society of Mind
(Harvard Press)</starfruit>

But since you've given a grammar we don't need to do that. We could use
XSLT to match the grammar and produce something perhaps using the six
named productions in your grammar,

<instanceOfParseTreeMatchingGrammarByRoger>
  <node><name>Bookstore</name>
    <node><name>Book</name>
      <node><name>Title</name><t ref="1"/></node>
      <node><name>Other</name>
        <node><name>Genre</name><t ref="2" /></node>
      </node><!--* Other *-->
   </node><!--* book *-->
   [. . .]
  </node><!--* Bookstore *-->
  <t n="1">Wisdom of Crowds</t>
  <t n="2">non-fiction</t>
</instanceOfParseTreeMatchingGrammarByRoger>

Here I've used four element types and have represented (or suggested how
to represent) every node a possible parse tree.

But in fact it's not necessary to represent all of the nodes.
<Bookstore><title>...</title><genre>...</genre><title>...
is perfectly unambiguous.

A single book wrapper element would facilitate processing in some ways.

So it depends on your purpose and whether your target audience is a
bunch of language theorists and mathematicians comfortable with formal
grammars or a bunch of librarians and museum curators comfortable with
complex metadata or .... someone else ;)


> Here is the grammar:
> 
> Bookstore 	--> Book  Bookstore
> Bookstore 	--> Title  Other
> Book 		--> Title  Other
> Other 		--> Genre  Publisher
> Title 		--> "Wisdom of Crowds" 
> Title 		--> "Six Great Ideas" 
> Title 		--> "Society of Mind" 
> Genre 		--> "fiction" 
> Genre 		--> "non-fiction"
> Publisher 	--> "Springer" 
> Publisher 	--> "MIT Press" 
> Publisher 	--> "Harvard Press"

-- 
Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
Pictures from old books: http://fromoldbooks.org/
Ankh: irc.sorcery.net irc.gnome.org freenode/#xml



[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