OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Using grammars to generate XML data

[ Lists Home | Date Index | Thread Index ]
  • From: "Amit Rekhi" <amitr@abinfosys.com>
  • To: "xml list" <xml-dev@ic.ac.uk>
  • Date: Wed, 30 Jun 1999 16:54:15 +0530

Hello,

PROBLEM STATEMENT
Traditionally, an XML grammar (something like what's defined in the spec)
is used by parsers to check the syntax of input XML files
for conformance to XML.
My problem:
- Is it proper usage of an XML grammar to be used by
XML data generators to generate XMLised data?i.e
I am wanting to use an XML grammar not to validate XML data
but to generate XMLised data conforming to that grammar.
 Is it logical, proper to be using an
XML grammar for driving a XMLised data generator application?
- If yes, how would such a XML data generator
implement the production rules and use them to generate XMLised data?

Let me explain my point with an example.
Let's say I have the following XML grammar:

[1] Document  := '<Document>' (Element)+ '</Document>'
[2] Element     := '<Element>' CharData '</Element>'
[3] CharData  := [^<&]* - ([^<&]* ']]>' [^<&]*)

Let's say I wish to build an XMLised data generator which
would take the following input  stream:
'abc'
and produce the following output stream:
<Document>
  <Element>a</Element>
  <Element>b</Element>
  <Element>c</Element>
</Document>
This is an XMLised version of the input stream conforming to rules 1-3
above.
In order to produce the above XMLised output thru the XMLised generator
I am planning
- To let the data generator use rules 1-3 i.e.
For an input 'abc' the data generator would
- start building a syntax tree with non terminal 'Document' as the root,
looking at rule [1],
- On each character of the input stream encountered, the 'Element' non
terminal
(rule [2]) present in rule [1] would be expanded and the current input
character
would replace the 'CharData' non terminal in rule [2]
This way I can get the the entire XMLised output as a parse tree using the
XML grammar. This XML parse tree can then be outputted to a file.

- Would it be proper grammar usage to be writing a 'XML data generator'
application which would use rules 1-3 to generate XML data
conforming to rules 1-3?
- Are there any such data generators available?If so I'd be
grateful if someone could pass me relevant pointers on the web.
- How would such a data generator application implement
the grammar rules?
Thanks in advance for any replies,


Amit Rekhi,
Software Engineer,
A.B. Infosys Private Limited,
B-102, Gulmohar Park,
New Delhi - 110049,
INDIA.
Tel: +91-11-6512816,6512822,6968976
Fax: +91-11-6518873
Website: http://www.abinfosys.com
EMail: amit@abinfosys.com



xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)






 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS