改正以下XML文件语法错误并写成其DTD约束文件<书名>How to Purse Happiness <作者> <名>Adair<名> <姓>Lana<姓> </作者> < price >8.99</price >
时间: 2023-11-11 14:56:02 浏览: 40
改正后的XML文件如下,并附带DTD约束文件:
XML文件:
```
<书>
<书名>How to Pursue Happiness</书名>
<作者>
<名>Adair</名>
<姓>Lana</姓>
</作者>
<price>8.99</price>
</书>
```
DTD约束文件:
```
<!ELEMENT 书 (书名, 作者, price)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (名, 姓)>
<!ELEMENT 名 (#PCDATA)>
<!ELEMENT 姓 (#PCDATA)>
<!ELEMENT price (#PCDATA)>
```
相关问题
在javaweb中<driver>或<driverClass>标签应该在配置文件的那个位置
在 Java Web 中,MyBatis 的配置文件通常是 `mybatis-config.xml`。在这个配置文件中,`<driver>` 或 `<driverClass>` 标签应该位于 `<environments>` 标签内的 `<environment>` 子标签中。
下面是一个示例的 `mybatis-config.xml` 文件,展示了 `<environments>` 和 `<environment>` 标签的结构:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver" />
<!-- 其他数据源相关配置 -->
</dataSource>
</environment>
</environments>
<!-- 其他配置 -->
</configuration>
```
在上述示例中,`<driver>` 标签位于 `<dataSource>` 子标签内部。在这里,你可以将 `<driver>` 标签替换为 `<driverClass>` 标签,效果是一样的。
确保将 `<driver>` 或 `<driverClass>` 标签放置在正确的位置,并设置为正确的 MySQL 驱动类(com.mysql.cj.jdbc.Driver),以解决你提到的错误。
3中添加完配置后,<bean>显示no grammar constraints (DTD or XML Schema)该如何解决
如果在 STS 中出现 `<bean>` 标签显示 `no grammar constraints (DTD or XML Schema)` 的问题,可能是因为 STS 默认使用的是 Eclipse 自带的 XML 验证器,而该验证器不支持最新的 Spring XML Schema。您可以尝试使用 Spring Framework 提供的 XML 验证器来解决这个问题。
具体步骤如下:
1. 在 `applicationContext.xml` 文件的根元素中添加以下属性:
```xml
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
```
其中,`xmlns:xsi` 属性定义了 XML Schema 实例的命名空间,`xsi:schemaLocation` 属性指定了 Spring Beans Schema 的位置。
2. 在 `pom.xml` 文件中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
```
其中,`${spring.version}` 是 Spring Framework 的版本号,可以根据您实际使用的版本进行调整。
3. 在 `applicationContext.xml` 文件的根元素中添加以下属性:
```xml
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
```
这样就可以使用 Spring Framework 提供的 XML 验证器来验证 `applicationContext.xml` 文件了。如果您的配置文件中包含其他的 Spring Schema,可以根据需要添加对应的命名空间和验证器。
如果您仍然遇到问题,可以尝试升级 STS 到最新版本,或者在 STS 的偏好设置中将 XML 验证器设置为 Spring XML 验证器。