[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: xsd and org.apache.commons.digester.Digester
Hello again, I fixed the earlier problem I was having with parsing my xml doc, but now I'm getting another one - 2006-06-30 16:04:40,469 ERROR org.apache.commons.digester.Digester - Parse Error at line 2 column 13: Document is invalid: no grammar found. org.xml.sax.SAXParseException: Document is invalid: no grammar found. I'm using commons-digester 1.7 and an xsd to read from my xml file. >From the research I've been doing online, it seems this error could be related to the fact that I somehow need to configure the digester to let it know I'm validating using XML schema... but I'm not sure. Can anyone point me in the right direction as far as solving this problem? Thanks, Darren <Relevant Code> //Java code that creates the digester and calls parse ... String configPath = "/WEB-INF/classes/uwaf-config.xml"; digester = new Digester(); digester.setNamespaceAware(true); digester.setValidating(this.isValidating()); digester.setUseContextClassLoader(true); digester.addRuleSet(new ConfigRuleSet()); digester.push(configPath); InputStream input = null; URL url = getServletContext().getResource(configPath); InputSource is = new InputSource(url.toExternalForm()); input = url.openStream(); is.setByteStream(input); digester.parse(is); ... //uwaf-config.xml <?xml version="1.0" encoding="iso-8859-1"?> <uwaf-config xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "http://www.utrs.com/content/uwaf/v10/xsd/"> <view-mappings type="com.utrs.framework.webapp.examples.PageProcessor"> <view path="/home" forward="/home.jsp" > <set-property property="home" value="HOME" /> </view> </view-mappings> </uwaf-config> //uwaf-config_1_0.xsd <?xml version="1.0" encoding="UTF-8" ?> <xs:schema version="1.1" targetNamespace="http://www.utrs.com/content/xml/xsd/uwaf/v10/config" xmlns:waf="http://www.utrs.com/content/xml/xsd/uwaf/v10/config/" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified"> <!-- definition of complex type elements --> <xs:element name="uwaf-config"> <xs:complexType> <xs:sequence> <xs:element name="view-mappings" type="map-list" maxOccurs="1"/> <xs:attribute name="id" type="id" use="optional"/> </xs:sequence> </xs:complexType> </xs:element> ... -----Original Message----- From: Darren Hall [mailto:dhall@u...] Sent: Thursday, June 29, 2006 5:27 PM To: commons-user@j... Subject: xsd and org.apache.commons.digester.Digester Hi everyone, I'm unable to parse an XML file I've created using the commons Digester when I use an xsd file vs. a dtd file. Is anyone aware of any known issues with this? I'm using commons-digester-1.7. When I try to validate the xml file against the xsd, I get the following error - "2006-06-29 14:50:38,714 ERROR org.apache.commons.digester.Digester - Parse Fatal Error at line 1 column 3: The markup declarations contained or pointed to by the document type declaration must be well-formed. org.xml.sax.SAXParseException: The markup declarations contained or pointed to by the document type declaration must be well-formed." The xml file seems to validate properly against a dtd. Also, the xsd file is incomplete, I know, and I was expecting to get an error - just not the one I got. The error I ended up getting when I tried to parse the xml file leads me to believe there may be a problem with the Digester working with xsd files. I just want to verify that this is the case before I continue writing this xsd. If not, please let me know what I'm doing wrong and I'll keep going. (The dtd I validated against was complete - btw.) Thanks, Darren -----Original Message----- From: Darren Hall [mailto:dhall@u...] Sent: Friday, June 30, 2006 11:20 AM To: 'George Cristian Bina' Cc: xml-dev@l... Subject: RE: xsd and org.apache.commons.digester.Digester That was it. Thanks George! -----Original Message----- From: George Cristian Bina [mailto:george@o...] Sent: Friday, June 30, 2006 10:25 AM To: Darren Hall Cc: xml-dev@l... Subject: Re: xsd and org.apache.commons.digester.Digester Hi Darren, > <!DOCTYPE uwaf-config PUBLIC > > "-//UTRS//DTD Web Application Framework Configuration 1.0//EN" > > "http://www.utrs.com/content/xsd/uwaf-config_1_0.xsd"> XML Schema can be associated with a document using the schema instance schemaLocation or noNamespaceSchemaLocation attributes. The DOCTYPE declaration is only for specifying a DTD. Your document should start like below: <uwaf-config xmlns="http://www.utrs.com/content/xml/xsd/uwaf/v10/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.utrs.com/content/xml/xsd/uwaf/v10/config http://www.utrs.com/content/xsd/uwaf-config_1_0.xsd" > Of course, you can also specify the schema externally (that is not inside the document) if the API you use for validation allows you to do that. Best regards, George --------------------------------------------------------------------- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com Darren Hall wrote: > Hi everyone, > > I'm unable to parse an XML file I've created using the commons Digester > when I use an xsd file vs. a dtd file. > > Is anyone aware of any known issues with this? > > > > I'm using commons-digester-1.7. When I try to validate the xml file > against the xsd, I get the following error - > > > > "2006-06-29 14:50:38,714 ERROR org.apache.commons.digester.Digester - > Parse Fatal Error at line 1 column 3: The markup declarations contained > or pointed to by the document type declaration must be well-formed. > > > > org.xml.sax.SAXParseException: The markup declarations contained or > pointed to by the document type declaration must be well-formed." > > > > The xml file seems to validate properly against a dtd. Also, the xsd > file is incomplete, I know, and I was expecting to get an error - just > not the one I got. The error I ended up getting when I tried to parse > the xml file leads me to believe there may be a problem with the > Digester working with xsd files. I just want to verify that this is the > case before I continue writing this xsd. If not, please let me know what > I'm doing wrong and I'll keep going. (The dtd I validated against was > complete - btw.) > > > > Thanks, > > Darren > > > > Below are snippets of relevant code - > > > > //Java code that creates the digester and calls parse > > [.] > > String configPath = "/WEB-INF/classes/uwaf-config.xml"; > > digester = new Digester(); > > digester.setNamespaceAware(true); > > digester.setValidating(this.isValidating()); > > digester.setUseContextClassLoader(true); > > digester.addRuleSet(new ConfigRuleSet()); > > digester.push(configPath); > > > > InputStream input = null; > > URL url = getServletContext().getResource(configPath); > > InputSource is = new InputSource(url.toExternalForm()); > > input = url.openStream(); > > is.setByteStream(input); > > digester.parse(is); > > [.] > > > > //uwaf-config.xml > > <?xml version="1.0" encoding="iso-8859-1"?> > > <!DOCTYPE uwaf-config PUBLIC > > "-//UTRS//DTD Web Application Framework Configuration 1.0//EN" > > "http://www.utrs.com/content/xsd/uwaf-config_1_0.xsd"> > > <uwaf-config> > > <view-mappings type="com.utrs.framework.webapp.examples.PageProcessor"> > > <view path="/home" forward="/home.jsp" > > > <set-property property="home" value="HOME" /> > > </view> > > </view-mappings> > > </uwaf-config> > > > > //uwaf-config_1_0.xsd > > <?xml version="1.0" encoding="UTF-8" ?> > > <xs:schema version="1.1" > > targetNamespace="http://www.utrs.com/content/xml/xsd/uwaf/v10/config" > > xmlns:waf="http://www.utrs.com/content/xml/xsd/uwaf/v10/config/" > > xmlns:xs="http://www.w3.org/2001/XMLSchema" > > elementFormDefault="qualified" attributeFormDefault="qualified"> > > <!-- definition of complex type elements --> > > <xs:element name="uwaf-config"> > > <xs:complexType> > > <xs:sequence> > > <xs:element ref="waf:view-mappings" minOccurs="0" maxOccurs="1"/> > > <xs:attribute ref="waf:id"/> > > </xs:sequence> > > </xs:complexType> > > </xs:element> > > <!-- definition of simple type elements --> > > <xs:element name="view-mappings" type="xs:string"/> > > <!-- definition of simple type attributes --> > > <xs:attribute name="id" type="xs:ID" use="optional"/> > > </xs:schema> > > > ----------------------------------------------------------------- The xml-dev list is sponsored by XML.org <http://www.xml.org>, an initiative of OASIS <http://www.oasis-open.org> The list archives are at http://lists.xml.org/archives/xml-dev/ To subscribe or unsubscribe from this list use the subscription manager: <http://www.oasis-open.org/mlmanage/index.php>
|
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
|