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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Parsing .dtd file using ISAXXMLReader. Problem getting events

[ Lists Home | Date Index | Thread Index ]
  • To: <xml-dev@lists.xml.org>
  • Subject: Parsing .dtd file using ISAXXMLReader. Problem getting events
  • From: "Maansi Gupta" <maansigupta@abosoftware.com>
  • Date: Mon, 15 Sep 2003 12:44:17 +0530
  • Disposition-notification-to: "Maansi Gupta" <maansigupta@abosoftware.com>

 
Hello,

MSXML Version used : MSXML3.0
Language used: VC6.0
Platform: Windows 2000

Am trying to parse a DTD file to create a tree like hierarchical structure
based on certain business rules.

For this we are using ISAXXMLReader . The problem is that when I try to set
the property
http://xml.org/sax/properties/lexical-handler , it is
unsuccessful. Also I am using the parseURL method to directly parse the .dtd
file so the call is  pRdr->parseURL(L"SAX2Print.dtd");  In all the examples
I have seen the method being used with Xml files and DTD files get parsed
when a !DOCTYPE processing instruction is encountered. I am not sure is this
could be creating a problem

Ultimately I want to be able to get the ElementDecl, AttributeDecl.. etc:
events from the SAXReader. Currently a,m unable to generate these events,.


Following is the subset of the code, that sets the properties and initiates
the parse


    MyContent * pMc = new MyContent();
   hr = pRdr->putContentHandler(pMc);
   VARIANT_BOOL boolvalue = -1;

   hr =
pRdr->putFeature(L"
http://xml.org/sax/features/external-general-entities",bo
olvalue);
   hr =
pRdr->putFeature(L"
http://xml.org/sax/features/external-parameter-entities",
boolvalue);

   SAXLexicalHandler * lh = new SAXLexicalHandler();

   hr=
pRdr->putProperty(L"
http://xml.org/sax/properties/lexical-handler",_variant_
t(new SAXLexicalHandler()));

   SAXDeclHandlerImpl * dh = new SAXDeclHandlerImpl();
   hr=
pRdr->putProperty(L"
http://xml.org/sax/properties/declaration-handler",_vari
ant_t(new SAXDeclHandlerImpl()));

  pRdr->parseURL(L"SAX2Print.dtd");

Thanks,
Maansi






 

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

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