首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DTD不会验证

DTD不会验证
EN

Stack Overflow用户
提问于 2013-09-21 20:18:44
回答 2查看 145关注 0票数 0

我正在尝试学习XML和DTD,我刚刚学习了w3c教程中的DTD,并试图使用DTD实现一个在XML中的配方场景,这就是在DTD文件中所写的:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY  RECIPE (NAME,INGREDIENTS,INSTRUCTIONS) >
<!ENTITY NAME ("Baking Powder Biscuits") >
<!ENTITY  INGREDIENTS SYSTEM "Ingredients.dtd"  >
<!ENTITY  INSTRUCTIONS SYSTEM "Instructions.dtd" >

<!ATTLIST RECIPE UNITS "16 BISCUITS" #FIXED> 

当我试图验证时,这些分析在第2行中给出了一个错误,即打开“在decl中丢失,不能解开什么问题,请帮助。”

谢谢

这是xml文件“食谱”:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE RECIPE SYSTEM "recipe.dtd">

这是配方dtd

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY  RECIPE NAME INGREDIENTS,INSTRUCTIONS>
<!ENTITY NAME "Baking Powder Biscuits" >
<!ENTITY  % INGREDIENTS SYSTEM "Ingredients.dtd"  >
<!ENTITY  % INSTRUCTIONS SYSTEM "Instructions.dtd" >

<!ATTLIST RECIPE UNITS CDATA #FIXED "16 BISCUITS" >

这是dtd的其他要素:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY  INGREDIENTS  ("2 cups flour","1 tablespoon sugar", "1/2 teaspoon salt", "1/2 cup vegetable shortening", "4 teaspoon baking powder", "2/3 cup milk")>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-22 03:37:00

您有一个用于RECIPE的实体声明,但它看起来应该是一个元素声明(基于模型和用于配方的ATTLIST ):

代码语言:javascript
复制
<!ELEMENT RECIPE (NAME,INGREDIENTS,INSTRUCTIONS) >

NAME实体声明看起来确实应该是一个实体,但是您需要删除括号:

代码语言:javascript
复制
<!ENTITY NAME "Baking Powder Biscuits">

另外,指向.dtd文件的两个实体声明应该是参数实体,如果它们实际上包含其他声明:

代码语言:javascript
复制
<!ENTITY % INGREDIENTS SYSTEM "Ingredients.dtd"  >
<!ENTITY % INSTRUCTIONS SYSTEM "Instructions.dtd" >

您可以使用%INGREDIENTS;%INSTRUCTIONS;引用它们。

食谱的ATTLIST也是不正确的。对于固定值,请尝试如下:

代码语言:javascript
复制
<!ATTLIST RECIPE UNITS CDATA #FIXED "16 BISCUITS">
票数 1
EN

Stack Overflow用户

发布于 2013-09-26 19:29:13

文档类型定义文件不是XML文档实例;它们不应该以XML声明开始。一旦从XML声明中删除了XML声明,就会遇到Daniel所指出的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18937178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档