Re: [xml] Building XML response from a DTD
- From: Daniel Veillard <veillard redhat com>
- To: Jeff Blain <Jeff Blain CBC-Companies com>
- Cc: "'xml gnome org'" <xml gnome org>
- Subject: Re: [xml] Building XML response from a DTD
- Date: Tue, 4 Feb 2003 12:58:45 -0500
On Tue, Feb 04, 2003 at 11:37:28AM -0500, Jeff Blain wrote:
I?m relatively new to XML. I?ve been doing some research regarding a
project of which my team is participating. Fortunately, someone pointed me
to the XML C library for Gnome site.
Our hope is to be able to read into memory (parse) a given DTD from a file
and then ?walk? the DTD to build an XML response populated with data
returned from the DB. I?ve been trying to read as much of the documentation
on the site including the archives. I think the tools exist within libxml2
to accomplish our task. I was hoping someone might be able to suggest the
functions/routines necessary to do this. It would help confirm we?re on the
right track.
read include/libxml/parser.h you will see
xmlDtdPtr xmlParseDTD (const xmlChar *ExternalID,
const xmlChar *SystemID);
that should allow the first part.
For the second part read include/libxml/valid.h you will see
xmlElementPtr xmlGetDtdElementDesc (xmlDtdPtr dtd,
const xmlChar *name);
the xmlElementPtr structure will allow you to lookup the content model
Check also
int xmlValidGetValidElements(xmlNode *prev,
xmlNode *next,
const xmlChar **list,
int max);
int xmlValidGetPotentialChildren(xmlElementContent *ctree,
const xmlChar **list,
int *len,
int max);
You will have to dig into libxml2 data structures, but most of them
are public, so...
Daniel
--
Daniel Veillard | Red Hat Network https://rhn.redhat.com/
veillard redhat com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]