Thank you for your patience. --- "Michael Glavassevich (JIRA)" <[email protected]> wrote:
> [ > http://issues.apache.org/jira/browse/XERCESJ-1099?page=all > ] > > Michael Glavassevich closed XERCESJ-1099: > ----------------------------------------- > > Resolution: Invalid > > Closing as per request of the reporter. > > > XMLEntityScanner is not correctly processing QName > > -------------------------------------------------- > > > > Key: XERCESJ-1099 > > URL: > http://issues.apache.org/jira/browse/XERCESJ-1099 > > Project: Xerces2-J > > Type: Bug > > Components: DOM > > Versions: 2.7.1 > > Environment: Windows XP Pro running Apache 4.1.31 > > I have tried running older versions of > xercesImpl.jar, in addition to 2.7.1 (built from the > source code) > > I am running this on a Dell Inspiron 5100 laptop > with 512 MB of RAM > > The attached file parses correctly on Internet > Explorer and at > 'http://www.stg.brown.edu/service/xmlvalid/' (when > 'Relax namespace checks' is checked) > > Reporter: Gary Steinmetz > > > > > I am having a lot of trouble processing the file > (all the way) below. (Since I cannot upload a file > to this bug report, the below file can be found at > 'http://www.jfolder.com/config.xml'.) > > When processing this file, I get the below > exception. > > Element or attribute do not match QName > production: QName::=(NCName':')?NCName. > > org.xml.sax.SAXParseException: Element or > attribute do not match QName production: > QName::=(NCName':')?NCName. > > at > org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195) > > at > org.apache.xerces.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174) > > at > org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:350) > > at > org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:280) > > at > org.apache.xerces.impl.XMLEntityScanner.scanQName(XMLEntityScanner.java:604) > > at > org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:131) > > at > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentS > > cannerImpl.java:1653) > > at > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:323) > > at > org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:807) > > at > org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:737) > > at > org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:107) > > at > org.apache.xerces.parsers.DOMParser.parse(DOMParser.java:225) > > at > org.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283) > > at > org.jfolder.tagging.ConceptTagHelper.getRootHolder(ConceptTagHelper.java:42) > > at > org.jfolder.config.instance.ConfigInstanceTagHelper.getRootHolder(ConfigInstanceTagHelper.java:26) > > at > org.jfolder.services.config.AbstractConfigServiceBean.load(AbstractConfigServiceBean.java:70) > > Like many applications, this exception occurs deep > in the application. To convert the below XML, here > is the summary of steps. > > ByteArrayOutputStream baos = new > ByteArrayOutputStream(); > > OutputStreamWriter osw = new > OutputStreamWriter(baos); > > > osw.write(WorkflowStore.getConfig());//WorkflowStore.getConfig() > corresponds to the XML below > > ByteArrayInputStream bais = > > new > ByteArrayInputStream(baos.toByteArray()); > > this.rcth = > ConfigInstanceTagHelper.getRootHolder(bais); > > getRootHolder calls the following. > > InputSource isource = new > InputSource(inIs); > > Document doc = > XMLHelper.getDocumentBuilder().parse(isource); > > outValue = getRootHolder(doc, inCtp); > > getDocumentBuilder calls the following. > > DocumentBuilderFactory dbf = > DocumentBuilderFactory.newInstance(); > > dbf.setNamespaceAware(true); > > dbf.setValidating(false); > > outValue = dbf.newDocumentBuilder(); > > outValue.setErrorHandler(new > XMLErrorHandler()); > > The exception occurs in XMLEntityScanner, under > the scanQName function. > > if > (!XMLChar.isNCNameStart(fCurrentEntity.ch[startLocal])){ > > System.out.println("ERROR > WITH = '" > > + > fCurrentEntity.ch[startLocal] + "'"); > > System.out.println("QNAME > = " + qname); > > > System.out.println("fCurrentEntity = " + > fCurrentEntity); > > > System.out.println("startLocal = " + startLocal); > > > fErrorReporter.reportError(XMLMessageFormatter.XML_DOMAIN, > > > "IllegalQName", > > > null, > > > XMLErrorReporter.SEVERITY_FATAL_ERROR); > > } > > The print statements (which I included) return > perculiar results. > > ERROR WITH = ' ' > > QNAME = > prefix="a2",localpart="text",rawname="a2:text",uri="http://www.jfolder.org/dtds/apps/config/instance/v1/base.dtd" > > fCurrentEntity = name="[xml]",ch=a2: > </a2:compound> > > <a2:compound a2:constraint="config"> > > <a2:text > a2:constraint="handle">LOCATION</a2:text> > > <a2:2:text > a2:constraint="cannot-be">java.lang.Object</a2:text> > > <a2:text > a2:constraint="can-be-anything">false</a2:text> > > <a2:text > a2:constraint="inherit-constraint-context">false</a2:text> > > <a2:text > a2:constraint="allow-in-unconstrained-context-only">false</a2:text> > > <a2:text > a2:constraint="acts-as-text">false</a2:text> > > </a2:compound> > > <a2:compound > a2:constraint="concept-tag"> > > <a2:text > a2:constraint="name">workflow-instance-query-string</a2:text> > > <a2:text > a2:constraint="type">org.jfolder.web.page.v1.TaglibWorkflowInstanceQueryStringWebPageTag</a2:text> > > <a2:text > a2:constraint="menu-path">CORE</a2:text> > > <a2:text > a2:constraint="cannot-be">java.lang.Object</a2:text> > > <a2:text > a2:constraint="can-be-anything">false</a2:text> > > <a2:text > a2:constraint="inherit-constraint-context">false</a2:text> > > <a2:text > a2:constraint="allow-in-unconstrained-context-only">false</a2:text> > > <a2:text > a2:constraint="acts-as-text">false</a2:text> > > </a2:compound> > > </a2:compound> > > </a2:compound> > > <a2:compound a2:constraint="config"> > > <a2:text > a2:constraint="handle">APPLICATION</a2:text> > > <a2:text > a2:constraint="content"><applications> > > <entities> > > <set> > > > org.jfolder.workflow.lifecycle.GenericFileProjectApplicationSet > > </set> > > <application> > > > org.jfolder.workflow.lifecycle.GenericFileProjectApplication > > </application> > > <lifecycle> > > > org.jfolder.project.lifecycle.GenericJbossFileProjectLifecycle > > </lifecycle> > > </entities> > > </applications> > > </a2:text> > > <a2:text > a2:constraint="custom-content"><custom>AnyData</custom></a2:text> > > > ,position=3,count=3,baseCharOffset=90112,startPosition=3 > > startLocal = 3 > > The 'qname' object seems to have the correct > values. Why is ' ' thought to be the first letter of > the === message truncated === __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
