Quantcast

parsing error in mapper xml file when using < sign in the sql query

classic Classic list List threaded Threaded
4 messages Options
mmg
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

parsing error in mapper xml file when using < sign in the sql query

mmg
I get the following error when  using less than sign in the sql query

Gives Parsing error:
         <select id="getAuditDevice" parameterType="int"
resultMap="deviceResultMap">
         select *
         from DEVICE
         where  current_service_id < 18  AND device_id =
#{deviceId,jdbcType=BIGINT}
       </select>
No error for:

         <select id="getAuditDevice" parameterType="int"
resultMap="deviceResultMap">
         select *
         from DEVICE
         where  18 > current_service_id  AND device_id =
#{deviceId,jdbcType=BIGINT}
        </select>

Is this a  know defect?

-----
2012-03-22 18:01:02,529 [main] ERROR
org.mybatis.spring.mapper.MapperFactoryBean - Error while adding the
mapper 'interface
com.ca.spna.soa.common.persistence.core.AuditDeviceMapper' to
configuration.
org.apache.ibatis.builder.BuilderException: Error creating document
instance.  Cause: org.xml.sax.SAXParseException: The content of
elements must consist of well-formed character data or markup.
        at
org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:
238)
        at
org.apache.ibatis.parsing.XPathParser.<init>(XPathParser.java:107)
        at
org.apache.ibatis.builder.xml.XMLMapperBuilder.<init>(XMLMapperBuilder.java:
61)
        at
org.apache.ibatis.builder.xml.XMLMapperBuilder.<init>(XMLMapperBuilder.java:
56)
        at
org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.loadXmlResource(MapperAnnotationBuilder.java:
118)
        at
org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parse(MapperAnnotationBuilder.java:
92)
        at
org.apache.ibatis.binding.MapperRegistry.addMapper(MapperRegistry.java:
45)
        at
org.apache.ibatis.session.Configuration.addMapper(Configuration.java:
463)
        at
org.mybatis.spring.mapper.MapperFactoryBean.checkDaoConfig(MapperFactoryBean.java:
78)
        at
org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:
44)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:
1477)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:
1417)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:
519)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:
456)
        at
org.springframework.beans.factory.support.AbstractBeanFactory
$1.getObject(AbstractBeanFactory.java:291)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:
222)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:
288)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getTypeForFactoryBean(AbstractBeanFactory.java:
1343)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:
678)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:
507)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:
317)
        at
org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:
185)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:
829)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:
786)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:
703)
        at
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor
$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:
474)
        at
org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:
84)
        at
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:
282)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:
1074)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:
517)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:
456)
        at
org.springframework.beans.factory.support.AbstractBeanFactory
$1.getObject(AbstractBeanFactory.java:291)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:
222)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:
288)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:
190)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:
580)
        at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:
895)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:
425)
        at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:
139)
        at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:
83)
        at
com.ca.spna.deviceaudit.client.DeviceAuditClient.<init>(DeviceAuditClient.java:
32)
        at
com.ca.spna.deviceaudit.client.DeviceAuditClient.main(DeviceAuditClient.java:
50)
Caused by: org.xml.sax.SAXParseException: The content of elements must
consist of well-formed character data or markup.
        at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown
Source)
        at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown
Source)
        at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown
Source)
        at
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown
Source)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl
$FragmentContentDriver.startOfMarkup(Unknown Source)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl
$FragmentContentDriver.next(Unknown Source)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown
Source)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
        at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
        at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
        at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown
Source)
        at
com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown
Source)
        at
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown
Source)
        at
org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:
236)
        ... 41 more

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: parsing error in mapper xml file when using < sign in the sql query

Eduardo Macarron
Seems the XML is syntactically wrong, check the syntax. If you are
using windows open it with internet explorer for example.

El día 22 de marzo de 2012 22:03, mmg <[hidden email]> escribió:

> I get the following error when  using less than sign in the sql query
>
> Gives Parsing error:
>         <select id="getAuditDevice" parameterType="int"
> resultMap="deviceResultMap">
>         select *
>         from DEVICE
>         where  current_service_id < 18  AND device_id =
> #{deviceId,jdbcType=BIGINT}
>       </select>
> No error for:
>
>         <select id="getAuditDevice" parameterType="int"
> resultMap="deviceResultMap">
>         select *
>         from DEVICE
>         where  18 > current_service_id  AND device_id =
> #{deviceId,jdbcType=BIGINT}
>        </select>
>
> Is this a  know defect?
>
> -----
> 2012-03-22 18:01:02,529 [main] ERROR
> org.mybatis.spring.mapper.MapperFactoryBean - Error while adding the
> mapper 'interface
> com.ca.spna.soa.common.persistence.core.AuditDeviceMapper' to
> configuration.
> org.apache.ibatis.builder.BuilderException: Error creating document
> instance.  Cause: org.xml.sax.SAXParseException: The content of
> elements must consist of well-formed character data or markup.
>        at
> org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:
> 238)
>        at
> org.apache.ibatis.parsing.XPathParser.<init>(XPathParser.java:107)
>        at
> org.apache.ibatis.builder.xml.XMLMapperBuilder.<init>(XMLMapperBuilder.java:
> 61)
>        at
> org.apache.ibatis.builder.xml.XMLMapperBuilder.<init>(XMLMapperBuilder.java:
> 56)
>        at
> org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.loadXmlResource(MapperAnnotationBuilder.java:
> 118)
>        at
> org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parse(MapperAnnotationBuilder.java:
> 92)
>        at
> org.apache.ibatis.binding.MapperRegistry.addMapper(MapperRegistry.java:
> 45)
>        at
> org.apache.ibatis.session.Configuration.addMapper(Configuration.java:
> 463)
>        at
> org.mybatis.spring.mapper.MapperFactoryBean.checkDaoConfig(MapperFactoryBean.java:
> 78)
>        at
> org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:
> 44)
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:
> 1477)
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:
> 1417)
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:
> 519)
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:
> 456)
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory
> $1.getObject(AbstractBeanFactory.java:291)
>        at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:
> 222)
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:
> 288)
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory.getTypeForFactoryBean(AbstractBeanFactory.java:
> 1343)
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:
> 678)
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:
> 507)
>        at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:
> 317)
>        at
> org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:
> 185)
>        at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:
> 829)
>        at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:
> 786)
>        at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:
> 703)
>        at
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor
> $AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:
> 474)
>        at
> org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:
> 84)
>        at
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:
> 282)
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:
> 1074)
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:
> 517)
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:
> 456)
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory
> $1.getObject(AbstractBeanFactory.java:291)
>        at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:
> 222)
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:
> 288)
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:
> 190)
>        at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:
> 580)
>        at
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:
> 895)
>        at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:
> 425)
>        at
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:
> 139)
>        at
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:
> 83)
>        at
> com.ca.spna.deviceaudit.client.DeviceAuditClient.<init>(DeviceAuditClient.java:
> 32)
>        at
> com.ca.spna.deviceaudit.client.DeviceAuditClient.main(DeviceAuditClient.java:
> 50)
> Caused by: org.xml.sax.SAXParseException: The content of elements must
> consist of well-formed character data or markup.
>        at
> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl
> $FragmentContentDriver.startOfMarkup(Unknown Source)
>        at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl
> $FragmentContentDriver.next(Unknown Source)
>        at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown
> Source)
>        at
> org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:
> 236)
>        ... 41 more
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: parsing error in mapper xml file when using < sign in the sql query

Chris
In reply to this post by mmg
I'm surprised that either of them works with the < or > character.  Try wrapping the contents of the element in cdata.

Sent from my HTC on the Now Network from Sprint!

----- Reply message -----
From: "Eduardo Macarron" <[hidden email]>
Date: Sun, Mar 25, 2012 2:48 pm
Subject: parsing error in mapper xml file when using < sign in the sql query
To: <[hidden email]>

Seems the XML is syntactically wrong, check the syntax. If you are
using windows open it with internet explorer for example.

El día 22 de marzo de 2012 22:03, mmg <[hidden email]> escribió:

> I get the following error when  using less than sign in the sql query
>
> Gives Parsing error:
>         <select id="getAuditDevice" parameterType="int"
> resultMap="deviceResultMap">
>         select *
>         from DEVICE
>         where  current_service_id < 18  AND device_id =
> #{deviceId,jdbcType=BIGINT}
>       </select>
> No error for:
>
>         <select id="getAuditDevice" parameterType="int"
> resultMap="deviceResultMap">
>         select *
>         from DEVICE
>         where  18 > current_service_id  AND device_id =
> #{deviceId,jdbcType=BIGINT}
>        </select>
>
> Is this a  know defect?
>
> -----
> 2012-03-22 18:01:02,529 [main] ERROR
> org.mybatis.spring.mapper.MapperFactoryBean - Error while adding the
> mapper 'interface
> com.ca.spna.soa.common.persistence.core.AuditDeviceMapper' to
> configuration.
> org.apache.ibatis.builder.BuilderException: Error creating document
> instance.  Cause: org.xml.sax.SAXParseException: The content of
> elements must consist of well-formed character data or markup.
>        at
> org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:
> 238)
>        at
> org.apache.ibatis.parsing.XPathParser.<init>(XPathParser.java:107)
>        at
> org.apache.ibatis.builder.xml.XMLMapperBuilder.<init>(XMLMapperBuilder.java:
> 61)
>        at
> org.apache.ibatis.builder.xml.XMLMapperBuilder.<init>(XMLMapperBuilder.java:
> 56)
>        at
> org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.loadXmlResource(MapperAnnotationBuilder.java:
> 118)
>        at
> org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parse(MapperAnnotationBuilder.java:
> 92)
>        at
> org.apache.ibatis.binding.MapperRegistry.addMapper(MapperRegistry.java:
> 45)
>        at
> org.apache.ibatis.session.Configuration.addMapper(Configuration.java:
> 463)
>        at
> org.mybatis.spring.mapper.MapperFactoryBean.checkDaoConfig(MapperFactoryBean.java:
> 78)
>        at
> org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:
> 44)
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:
> 1477)
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:
> 1417)
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:
> 519)
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:
> 456)
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory
> $1.getObject(AbstractBeanFactory.java:291)
>        at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:
> 222)
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:
> 288)
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory.getTypeForFactoryBean(AbstractBeanFactory.java:
> 1343)
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:
> 678)
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:
> 507)
>        at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:
> 317)
>        at
> org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:
> 185)
>        at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:
> 829)
>        at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:
> 786)
>        at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:
> 703)
>        at
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor
> $AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:
> 474)
>        at
> org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:
> 84)
>        at
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:
> 282)
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:
> 1074)
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:
> 517)
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:
> 456)
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory
> $1.getObject(AbstractBeanFactory.java:291)
>        at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:
> 222)
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:
> 288)
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:
> 190)
>        at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:
> 580)
>        at
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:
> 895)
>        at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:
> 425)
>        at
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:
> 139)
>        at
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:
> 83)
>        at
> com.ca.spna.deviceaudit.client.DeviceAuditClient.<init>(DeviceAuditClient.java:
> 32)
>        at
> com.ca.spna.deviceaudit.client.DeviceAuditClient.main(DeviceAuditClient.java:
> 50)
> Caused by: org.xml.sax.SAXParseException: The content of elements must
> consist of well-formed character data or markup.
>        at
> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl
> $FragmentContentDriver.startOfMarkup(Unknown Source)
>        at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl
> $FragmentContentDriver.next(Unknown Source)
>        at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown
> Source)
>        at
> com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown
> Source)
>        at
> org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:
> 236)
>        ... 41 more
>


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: parsing error in mapper xml file when using < sign in the sql query

demosfen
In reply to this post by mmg
It's not a defect at all. You shouldn't use "<" and "&" in xml data according to xml syntax. Xml parser thinks that some new tag is opened when it see "<". So you should replace "<" with "&lt;" or enclose all xml node text in <![CDATA[ ... ]]>.

пятница, 23 марта 2012 г. 1:03:53 UTC+4 пользователь mmg написал:
I get the following error when  using less than sign in the sql query

Gives Parsing error:
         <select id="getAuditDevice" parameterType="int"
resultMap="deviceResultMap">
         select *
         from DEVICE
         where  current_service_id < 18  AND device_id =
#{deviceId,jdbcType=BIGINT}
       </select>
No error for:

         <select id="getAuditDevice" parameterType="int"
resultMap="deviceResultMap">
         select *
         from DEVICE
         where  18 > current_service_id  AND device_id =
#{deviceId,jdbcType=BIGINT}
        </select>

Is this a  know defect?

-----
2012-03-22 18:01:02,529 [main] ERROR
org.mybatis.spring.mapper.​MapperFactoryBean - Error while adding the
mapper 'interface
com.ca.spna.soa.common.​persistence.core.​AuditDeviceMapper' to
configuration.
org.apache.ibatis.builder.​BuilderException: Error creating document
instance.  Cause: org.xml.sax.SAXParseException: The content of
elements must consist of well-formed character data or markup.
        at
org.apache.ibatis.parsing.​XPathParser.createDocument(​XPathParser.java:
238)
        at
org.apache.ibatis.parsing.​XPathParser.<init>(​XPathParser.java:107)
        at
org.apache.ibatis.builder.xml.​XMLMapperBuilder.<init>(​XMLMapperBuilder.java:
61)
        at
org.apache.ibatis.builder.xml.​XMLMapperBuilder.<init>(​XMLMapperBuilder.java:
56)
        at
org.apache.ibatis.builder.​annotation.​MapperAnnotationBuilder.​loadXmlResource(​MapperAnnotationBuilder.java:
118)
        at
org.apache.ibatis.builder.​annotation.​MapperAnnotationBuilder.parse(​MapperAnnotationBuilder.java:
92)
        at
org.apache.ibatis.binding.​MapperRegistry.addMapper(​MapperRegistry.java:
45)
        at
org.apache.ibatis.session.​Configuration.addMapper(​Configuration.java:
463)
        at
org.mybatis.spring.mapper.​MapperFactoryBean.​checkDaoConfig(​MapperFactoryBean.java:
78)
        at
org.springframework.dao.​support.DaoSupport.​afterPropertiesSet(DaoSupport.​java:
44)
        at
org.springframework.beans.​factory.support.​AbstractAutowireCapableBeanFac​tory.invokeInitMethods(​AbstractAutowireCapableBeanFac​tory.java:
1477)
        at
org.springframework.beans.​factory.support.​AbstractAutowireCapableBeanFac​tory.initializeBean(​AbstractAutowireCapableBeanFac​tory.java:
1417)
        at
org.springframework.beans.​factory.support.​AbstractAutowireCapableBeanFac​tory.doCreateBean(​AbstractAutowireCapableBeanFac​tory.java:
519)
        at
org.springframework.beans.​factory.support.​AbstractAutowireCapableBeanFac​tory.createBean(​AbstractAutowireCapableBeanFac​tory.java:
456)
        at
org.springframework.beans.​factory.support.​AbstractBeanFactory
$1.getObject(​AbstractBeanFactory.java:291)
        at
org.springframework.beans.​factory.support.​DefaultSingletonBeanRegistry.​getSingleton(​DefaultSingletonBeanRegistry.​java:
222)
        at
org.springframework.beans.​factory.support.​AbstractBeanFactory.doGetBean(​AbstractBeanFactory.java:
288)
        at
org.springframework.beans.​factory.support.​AbstractBeanFactory.​getTypeForFactoryBean(​AbstractBeanFactory.java:
1343)
        at
org.springframework.beans.​factory.support.​AbstractAutowireCapableBeanFac​tory.getTypeForFactoryBean(​AbstractAutowireCapableBeanFac​tory.java:
678)
        at
org.springframework.beans.​factory.support.​AbstractBeanFactory.​isTypeMatch(​AbstractBeanFactory.java:
507)
        at
org.springframework.beans.​factory.support.​DefaultListableBeanFactory.​getBeanNamesForType(​DefaultListableBeanFactory.​java:
317)
        at
org.springframework.beans.​factory.BeanFactoryUtils.​beanNamesForTypeIncludingAnces​tors(BeanFactoryUtils.java:
185)
        at
org.springframework.beans.​factory.support.​DefaultListableBeanFactory.​findAutowireCandidates(​DefaultListableBeanFactory.​java:
829)
        at
org.springframework.beans.​factory.support.​DefaultListableBeanFactory.​doResolveDependency(​DefaultListableBeanFactory.​java:
786)
        at
org.springframework.beans.​factory.support.​DefaultListableBeanFactory.​resolveDependency(​DefaultListableBeanFactory.​java:
703)
        at
org.springframework.beans.​factory.annotation.​AutowiredAnnotationBeanPostPro​cessor
$AutowiredFieldElement.inject(​AutowiredAnnotationBeanPostPro​cessor.java:
474)
        at
org.springframework.beans.​factory.annotation.​InjectionMetadata.inject(​InjectionMetadata.java:
84)
        at
org.springframework.beans.​factory.annotation.​AutowiredAnnotationBeanPostPro​cessor.​postProcessPropertyValues(​AutowiredAnnotationBeanPostPro​cessor.java:
282)
        at
org.springframework.beans.​factory.support.​AbstractAutowireCapableBeanFac​tory.populateBean(​AbstractAutowireCapableBeanFac​tory.java:
1074)
        at
org.springframework.beans.​factory.support.​AbstractAutowireCapableBeanFac​tory.doCreateBean(​AbstractAutowireCapableBeanFac​tory.java:
517)
        at
org.springframework.beans.​factory.support.​AbstractAutowireCapableBeanFac​tory.createBean(​AbstractAutowireCapableBeanFac​tory.java:
456)
        at
org.springframework.beans.​factory.support.​AbstractBeanFactory
$1.getObject(​AbstractBeanFactory.java:291)
        at
org.springframework.beans.​factory.support.​DefaultSingletonBeanRegistry.​getSingleton(​DefaultSingletonBeanRegistry.​java:
222)
        at
org.springframework.beans.​factory.support.​AbstractBeanFactory.doGetBean(​AbstractBeanFactory.java:
288)
        at
org.springframework.beans.​factory.support.​AbstractBeanFactory.getBean(​AbstractBeanFactory.java:
190)
        at
org.springframework.beans.​factory.support.​DefaultListableBeanFactory.​preInstantiateSingletons(​DefaultListableBeanFactory.​java:
580)
        at
org.springframework.context.​support.​AbstractApplicationContext.​finishBeanFactoryInitializatio​n(AbstractApplicationContext.​java:
895)
        at
org.springframework.context.​support.​AbstractApplicationContext.​refresh(​AbstractApplicationContext.​java:
425)
        at
org.springframework.context.​support.​ClassPathXmlApplicationContext​.<init>(​ClassPathXmlApplicationContext​.java:
139)
        at
org.springframework.context.​support.​ClassPathXmlApplicationContext​.<init>(​ClassPathXmlApplicationContext​.java:
83)
        at
com.ca.spna.deviceaudit.​client.DeviceAuditClient.<​init>(DeviceAuditClient.java:
32)
        at
com.ca.spna.deviceaudit.​client.DeviceAuditClient.main(​DeviceAuditClient.java:
50)
Caused by: org.xml.sax.SAXParseException: The content of elements must
consist of well-formed character data or markup.
        at
com.sun.org.apache.xerces.​internal.util.​ErrorHandlerWrapper.​createSAXParseException(​Unknown
Source)
        at
com.sun.org.apache.xerces.​internal.util.​ErrorHandlerWrapper.​fatalError(Unknown
Source)
        at
com.sun.org.apache.xerces.​internal.impl.​XMLErrorReporter.reportError(​Unknown
Source)
        at
com.sun.org.apache.xerces.​internal.impl.XMLScanner.​reportFatalError(Unknown
Source)
        at
com.sun.org.apache.xerces.​internal.impl.​XMLDocumentFragmentScannerImpl
$FragmentContentDriver.​startOfMarkup(Unknown Source)
        at
com.sun.org.apache.xerces.​internal.impl.​XMLDocumentFragmentScannerImpl
$FragmentContentDriver.next(​Unknown Source)
        at
com.sun.org.apache.xerces.​internal.impl.​XMLDocumentScannerImpl.next(​Unknown
Source)
        at
com.sun.org.apache.xerces.​internal.impl.​XMLDocumentFragmentScannerImpl​.scanDocument(Unknown
Source)
        at
com.sun.org.apache.xerces.​internal.parsers.​XML11Configuration.parse(​Unknown
Source)
        at
com.sun.org.apache.xerces.​internal.parsers.​XML11Configuration.parse(​Unknown
Source)
        at
com.sun.org.apache.xerces.​internal.parsers.XMLParser.​parse(Unknown
Source)
        at
com.sun.org.apache.xerces.​internal.parsers.DOMParser.​parse(Unknown
Source)
        at
com.sun.org.apache.xerces.​internal.jaxp.​DocumentBuilderImpl.parse(​Unknown
Source)
        at
org.apache.ibatis.parsing.​XPathParser.createDocument(​XPathParser.java:
236)
        ... 41 more

Loading...