我正在使用MyBatis来处理SQL查询。这是我有问题的代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.foo.Foo">
...
<insert id="insert" parameterType="com.foo.FooParam">
<foreach collection="bars" item="bar" separator=" ">
<bind name="inFavorites" value="bar.sectionId == '_favorites'" />
<foreach collection="bar.bars2" item="bar2" index="index" separator=" ">
...
</foreach>
</foreach>
</insert>
...
</mapper>
Intelij在验证xml时显示以下错误:
错误:(24,74)必须声明元素类型“bind”。
错误:(28,19)元素类型“foreach”的内容必须匹配“(include | trim | where | set | foreach | choose | if)”。
当我将编译模块作为osgi包放入jetty服务器(mvn编译它没有错误和警告)时,我收到以下错误:
lineNumber:28; columnNumber:19;元素类型“foreach”的内容 必须匹配“(include | trim | where | set | foreach | choose | if)”。
好的,我明白了。我无法在'foreach'中添加'bind'元素。
但是,如果http://mybatis.org/dtd/mybatis-3-mapper.dtd另有说法,为什么呢?
<!ELEMENT foreach (#PCDATA | include | trim | where | set | foreach | choose | if | bind)*>
答案 0 :(得分:0)