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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   xsd and org.apache.commons.digester.Digester

[ Lists Home | Date Index | Thread Index ]
  • To: <xml-dev@lists.xml.org>
  • Subject: xsd and org.apache.commons.digester.Digester
  • From: "Darren Hall" <dhall@utrs.com>
  • Date: Fri, 30 Jun 2006 09:56:54 -0400
  • Importance: Normal

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>

 





 

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

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