文档类型声明包含或指向的标记声明必须格式正确

2023-12-19

我有这个 xml 文档:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catalog SYSTEM "plantdtd.dtd">
<catalog>
<title>Flowers of the week</title>
<plant id="A1">
    <name>Aloe vera</name>
    <climate>tropical</climate>
    <height>60-100cm</height>
    <usage>medicinal</usage>
    <image>aloevera.jpg</image>
</plant>
<plant id="A2">
    <name>Orchidaceae</name>
    <height>8-12in</height>
    <usage>medicinal</usage>
    <usage>decoration</usage>
    <image>Orchidaceae.jpg</image>
</plant>
</catalog>

我写了一个这样的DTD:

<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE catalog SYSTEM "file:/home/p10398/plantdtd.dtd"
[
<!ELEMENT catalog(title,plant+)>
<!ELEMENT title(#PCDATA)>
<!ELEMENT plant(name,climate,height,usage,image)+>
<!ELEMENT name(#PCDATA)>
<!ELEMENT climate(#PCDATA)>
<!ELEMENT height(#PCDATA)>
<!ELEMENT usage(#PCDATA)>
<!ELEMENT image(#PCDATA)>
]>

我收到此错误:

致命错误: 公共 ID:空 系统 ID:文件:/home/p14524/plantdtd.dtd 行号:4 列数:3 消息:文档类型包含或指向的标记声明 声明必须格式正确。

有人可以解释为什么我会收到此错误吗?或者正确的DTD?

编辑和更新: 啊!谢谢丹尼尔。 现在之前的错误已经消失了。 我的新 DTD 是

<!ELEMENT catalog (title,plant+)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT plant (name,climate,height,usage,image)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT climate (#PCDATA)>
<!ELEMENT height (#PCDATA)>
<!ELEMENT usage (#PCDATA)>
<!ELEMENT image (#PCDATA)>

<!ATTLIST plant id ID #REQUIRED>

我收到这个新错误:

行号:18 列数:9 消息:元素类型“植物”的内容必须匹配“(名称、气候、高度、用途、图像)”。


您需要删除DOCTYPE来自 DTD。声明中的元素名称后面还应该有空格。

New DTD

<!ELEMENT catalog (title,plant+)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT plant (name,climate,height,usage,image)+>
<!ELEMENT name (#PCDATA)>
<!ELEMENT climate (#PCDATA)>
<!ELEMENT height (#PCDATA)>
<!ELEMENT usage (#PCDATA)>
<!ELEMENT image (#PCDATA)>

既然 DTD 有效,您在验证 XML 时将会看到一些错误。

首先,您需要声明id的属性plant元素。我建议<!ATTLIST plant id ID #REQUIRED>.

第二个是climate第二个缺失plant。我不确定这是 XML 错误还是 DTD 错误。元素声明为plant但这并没有多大意义,因为这 5 个元素按这个顺序出现了一次或多次。如果您需要该部分的帮助,请描述什么plant应包含,我可以帮助您编写正确的声明。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

文档类型声明包含或指向的标记声明必须格式正确 的相关文章

  • 在 XSD 中哪里放置版权信息?

    将版权信息放入 XML 架构定义 XSD 时 是否有官方 或半官方 普遍接受的 位置 基于在哪里将版本添加到 XSD 架构 https stackoverflow com questions 2138705 where to add a v
  • 如何使用 Webpack 加载器导入 XML,而不自动转换为 JSON

    Webpack 4 的 xml loader 自动将导入的 XML 文件转换为 JSON 通过什么方式可以导入XMLwithout转换为 JSON XML 数据将使用现有的 应用程序专用的 XML 解析器进行处理 明确地说 我绝对愿意not
  • 为什么 XPath 不能与 xmlns 属性一起使用

    我有以下 XPath 表达式 configuration properties 这是我的 XML
  • PHP 和 DOM 文档

    我有一个关于 DOMDocument 的使用和创建 XML 的问题 我有一个 PHP 程序 加载到 XML 文件中 处理XML的每个节点 行 将其发送到另一个进程 然后该进程返回一个 XML 元素 我获取节点的字符串表示形式 以便可以创建
  • 主题以编程方式设置。如何重新加载 Activity 来应用

    如何在不重新启动整个应用程序的情况下应用主题 如果我这样做startActivity getIntent finish 活动退出并且不重新启动 是否可以简单地重新启动 重新创建活动来应用主题 它的顺序不正确 finish intent ne
  • JavaFX 中的 fx:id 和 id: 有什么区别?

    也许是一个真正的新手的问题 我开始通过阅读以下教程在 FMXL 应用程序中使用场景生成器学习 JavaFX http docs oracle com javase 8 javafx get started tutorial fxml tut
  • 如何去除 XSL 中字符的重音符号?

    我一直在寻找 但找不到相当于字符 规范化空间 的 XSL 函数 也就是说 我的内容带有重音 UNICODE 字符 这很好 但是从该内容中 我正在创建一个文件名 但我不想要这些重音 那么 是否有一些我忽略的东西 或者没有正确地谷歌搜索来轻松处
  • 检查 XML 元素是否存在

    如何验证 XML 文件中是否存在特定元素 假设我有一个不断变化的 XML 文件 我需要在读取 解析它之前验证每个元素是否存在 if doc SelectSingleNode mynode null 应该这样做 显然 其中 doc 是您的 X
  • JSPX 命名空间对于 EL 函数不可见?

    我正在尝试使用 JSPX JSP 的纯 XML 语法 并遇到看起来应该可以工作但实际上却不起作用的情况 我使用 jsp root 元素中的命名空间声明导入标签库 然后稍后将这些用于元素以及 EL 函数
  • 简单的 Xml - 元素的顺序未保留?

    我在我的 Android 应用程序中使用 SimpleXml 2 6 1 尽管文档 http simple sourceforge net download stream doc javadoc index html org simplef
  • 使用 Jackson 使用不带注释的属性来序列化 xml

    我目前正在使用 Jackson 编写一些代码 将遗留 POJO 序列化为 XML 但我需要使用属性而不是子元素来序列化它们 有没有办法使用 Jackson 来做到这一点 而不需要向遗留类添加注释 有没有办法使用 Jackson 来做到这一点
  • REXX 或 JCL 中的 XML 处理

    在 PS 文件中 我有如下 XML 数据 For ex
  • dbms_xmlgen.getxml - 如何设置日期格式

    我们使用 dbms xmlgen getxml 实用程序通过 SQL 查询生成 xml 该查询从几乎 10 15 个相关表中获取数据 默认情况下 日期格式生成于dd MMM yy格式 有什么方法可以在 dbms xmlgen getxml
  • 将 XSD 文件转换为 C# 可序列化类

    我尝试遵循以下答案这个问题 https stackoverflow com questions 87621 how do i map xml to c objects 但无法让 xsd exe 愉快地获取 XSD 文件并将它们转换为类 此处
  • 如何使用XPath选择非空段落?

    我想要抓取的网页具有类似的结构 每个都有一个段落是一个问题 一个段落是一个答案 我想抓取每个问题和答案并将它们存储在两个项目中 问题是 在某些页面上 问题和答案分别是 xxx p 1 and xxx p 2 但在其他页面上 xxx p 1
  • JAXB 不会解组接口列表

    看来 JAXB 无法读取它所写的内容 考虑以下代码 interface IFoo void jump XmlRootElement class Bar implements IFoo XmlElement public String y p
  • 计算 XML 中特定 XML 节点的数量

    请参阅此 XML
  • D3 将现有 SVG 字符串(或元素)追加(插入)到 DIV

    我到处寻找这个问题的答案 并找到了一些我认为可能有用的资源 但最终没有让我找到答案 这里有一些 外部SVG http bl ocks org mbostock 1014829 嵌入SVG https stackoverflow com qu
  • 使用 xmllint 检查 XML 语法

    我在处理某些 XML 打印文件时遇到问题 其中源系统忽略将某些字符转换为其等效的 XML 语法 例如 未转换为 amp 有没有办法用 xmllint 捕获这个 我不需要使用 XSD 检查一般树结构 xmllint noout your te
  • Dispatcher-servlet 无法映射到 websocket 请求

    我正在开发一个以Spring为主要框架的Java web应用程序 特别使用Spring core Spring mvc Spring security Spring data Spring websocket 像这样在 Spring 上下文

随机推荐

  • 如何使用WebBrowser控件“在新窗口中打开”?

    当您在 NET 中使用 WebBrowser 控件时 您可以在应用程序中 嵌入 一个 IE 实例 实质上是创建您自己的基于 IE 的 Web 浏览器 有谁知道如何使创建的任何新窗口 例如当用户从上下文菜单中选择 在新窗口中打开 时 在 We
  • 当系列包含 None 时,比较 pd.Series 并获得似乎不寻常的结果

    我想知道为什么比较两个相同的系列None值返回 False pd Series x y None pd Series x y None 0 True 1 True 2 False dtype bool 我希望所有结果都是 True 如果我从
  • 为什么 std::getline 调用 std::cin 不等待用户输入? [复制]

    这个问题在这里已经有答案了 有什么充分的理由吗 std string input std getline std cin input getline 调用不会等待用户输入 cin的状态是不是有点混乱了 您很可能在读取其他数据后尝试读取字符串
  • 适用于桌面(基于控制台)应用程序的 Facebook 身份验证

    我正在开发一个 python 应用程序 它允许我向 Facebook 发布更新 状态 我在获取访问令牌时面临一个基本问题 由于该应用程序在桌面上运行 因此不存在使用某些 Web 服务器的问题 我知道我必须打开一个网址 https www f
  • Android SDK:获取原始预览相机图像而不显示它

    我想对原始图像进行图像处理而不将其显示在屏幕上 这显然会降低性能 根据此线程的答案从相机拍摄照片而不进行预览 https stackoverflow com questions 2386025 android camera without
  • 如何回顾 HTML5 Canvas 历史

    我有一个使用 Imgly HTML5 Canvas 插件的图像裁剪器 我需要能够为裁剪器设置历史堆栈 以便能够撤消裁剪操作 目前 我可以在单击按钮时清除画布 但我需要能够保留原始图像 并且在裁剪步骤执行不正确的情况下 只需返回画布中图像的更
  • 每组前 3 名,包括 0 名

    我有一个表 我想从 Access 2010 开始每周返回按 ErrorMargin 排列的前 3 条记录 我遇到的问题是 0 个值被忽略 并且在平局的情况下我只想看到 1 条记录 其中平局将导致记录总数超过 3 我的表是 注意 帖子底部的
  • 组合 JSON 数组

    我有 3 个 json 数组 每个数组都以相同的格式列出信息 Array ID NAME DATA ID NAME DATA etc 我的目标是将所有 3 个数组合并为一个数组 并通过将 3 个数组传递给函数来按 NAME 排序和显示 我尝
  • RecyclerView 在滚动之前不会显示项目

    这个问题已被问过几次 但这些答案不适用于我 我想要一个关于一般导致此问题的原因的更笼统的答案 我的活动布局中有一个回收视图 recyclerview 的 Rows 是一个包含一个 imageview 和 textview 的约束布局
  • 如何杀死所有超过一定年龄的 Linux 进程?

    我在某个服务器上遇到一些类似僵尸的进程的问题 需要时不时地杀死它们 我怎样才能最好地识别那些运行时间超过一个小时左右的程序 找到了一个适合我的答案 警告 这会发现and kill长时间运行的进程 ps eo uid pid etime eg
  • 为什么在 android 开发者指南中 android:authorities 是这样定义的?

    下面是记事本示例代码 为什么android authorities com google provider NotePad而不是使用项目包名称 到底是什么android authorities要求 Licensed under the Ap
  • JSON - 与 Android 应用程序一起使用的单个文件

    我得到的这个应用程序需要屏幕上的四个位置保持最新 标题 地址 日期和图像源 所以 我想也许我可以编写应用程序将读取的四个不同的 JSON 文件 如果我想更改应用程序显示的内容 我只需更改服务器上的那些 JSON 文件即可 也许是这样的 fi
  • 使用 LDAP (AD) 进行 MySQL 身份验证

    我正在尝试制定一个计划 允许用户使用 LDAP 对 MySQL 数据库 实际上有很多 进行身份验证 更具体地说 是 ActiveDirectory 数据库可能会通过应用程序而不是网络来访问 我有什么选择 EDIT Okay 似乎没有 官方
  • 使用 PHP cURL POST JSON

    我有以下 php 代码 curl setopt ch CURLOPT URL URL curl setopt ch CURLOPT USERAGENT this gt agent curl setopt ch CURLOPT RETURNT
  • Akka actor 终止/重启行为

    我对在 Akka 中看到的行为感到困惑 简而言之 我有一组演员进行科学计算 恒星形成模拟 他们有某种状态 当发生错误导致一个或多个进入无效状态时 我想重新启动整个集合以重新开始 如果单个计算 在整个集合上 花费太长时间 无法提前预测它可能运
  • 在单个 GPU 上运行多个神经网络时性能缓慢

    我有 3 个独立的 Python 进程 每个进程都运行一个 TensorFlow 会话并加载了我的模型 该系统有 1 个 GPU 当我同时进行 3 个预测 每个进程 1 个 时 预测时间比一次只进行 1 个预测要慢得多 我通过以下方式限制了
  • MVC中传递参数的设计建议

    如何像向导一样在 ASP net MVC 中通过两个视图传递参数 或者什么是最佳实践 我正在开发一个内部错误跟踪 ASP net 应用程序 该应用程序正在迁移到 MVC 我似乎无法将 ASPX 从我的脑海中甩掉 并且一直在兜圈子 在 ASP
  • jQuery:是否有机会在没有“Offset”方法的情况下检测鼠标从哪一侧进入div?

    有没有办法检测鼠标光标来自 div 的哪一侧 目前我正在使用这种方法 jQuery this bind mousemove function e offset pos x parseInt e offsetX offset pos y pa
  • Jquery new Date - 转换为 yyyy-MM-dd 并使用 toLocaleDateString

    我有一个 HTML 输入框设置为 type date
  • 文档类型声明包含或指向的标记声明必须格式正确

    我有这个 xml 文档