从 DTD 文件生成 XML 模式

从 DTD 文件生成 XML 模式将使您能够创建一种 XML 模式,将使用 DTD 文件中的元素和属性来自动填充该模式。如果您想使用 XML 模式而不是 DTD 文件来验证 XML 文件,但是想要使用已经在 DTD 文件中设置的规则,则使用这种 XML 模式可以节省时间。

下列指示信息是为“资源”透视图编写的,但是也将适用于其他多个透视图。

要从 DTD 文件生成 XML 模式,遵循下列步骤:

  1. 在“导航器”视图中,右键单击 DTD 并单击生成 > XML 模式
  2. 选择将包含该模式的项目或文件夹。
  3. 接受缺省名称或输入新名称,然后单击下一步
  4. 如果想要创建将包含 DTD 文件及其引用的所有 DTD 文件的 XML 模式,则单击创建一个包含所有 DTD 文件的 XML 模式单选按钮。
  5. 否则,如果想要为 DTD 文件及其引用的每个 DTD 文件创建个别模式,则单击为每个 DTD 文件创建 XML 模式单选按钮。 如果选择此选项,则每个从被引用的 DTD 生成的 XML 模式都将具有与该 DTD 相同的名称。例如,如果 DTD 名为 Greetings.dtd 并且它引用 Hello.dtd 和 Goodbye.dtd,则将从 Greetings.dtd 生成一个模式(具有您指定的名称)和另外两个名为 Hello.xsd 和 Goodbye.xsd 的模式。
  6. 单击完成

模式就会出现在“导航器”视图中。它们将与生成它们的 DTD 文件具有相同的名称(如果您在生成 XML 模式时接受了文件名字段中的缺省值的话)。

DTD 文件中的任何实体将不会处于 XML 模式中(因为在 XML 模式中不支持实体)。然而,涉及实体的任何元素或属性会将该值传递给 XML 模式。

例如,您具有一个称为“Legal”的 DTD,该 DTD 包含称为“Copyright”的实体。该实体的值为“Copyright 2004. MyCompany Publishing”。在 DTD 中,具有一个称为“MyCopyright”的元素,它指的是实体 Copyright。在创建 XML 模式之后,Copyright 实体将不会出现在 XML 模式中,但将传递它的值(即 MyCopyright 将具有值:Copyright 2004. MyCompany Publishing)。

存在于 DTD 文件中的所有元素和属性都将存在于 XML 模式文件中。

在 DTD 中具有内容模型 (#PCDATA)(并且没有任何属性)的元素在 XML 模式编辑器中显示为空的。它们被标记为具有 string内置简单类型。即,具有值 (#PCDATA) 的 DTD 元素将映射至具有 XML 模式基本类型 string 的 XML 模式元素。

注: 当从包含希伯莱语或阿拉伯语元素的 DTD 文件生成 XML 模式时,可能会使用某些元素名称等价的十六进制希伯莱语和阿拉伯语编码值来编码这些元素名称。为了避免发生此问题,在生成 XML 模式之前,请将原始 DTD 或 XML 模式文件的 encoding 属性更改为 UTF-8,即,XML 声明应该为:<?xml version="1.0" encoding="UTF-8"?>。受影响的编码值列表为:ISO-8859-8-I、ISO-8859-8、Windows-1256 和 ISO-8859-6。
相关任务
创建 DTD

反馈