如果您没有 DTD,能否将 DTD 模式添加到创建的 XML 的 biztalk 中?

Can you add a DTD schema to an biztalk created XML if you don't have the DTD?

我们需要为与我们打交道的航运软件公司创建 XML。

基本上,输出 xml 需要包含以下文档类型

<!DOCTYPE INTERFACE_CREATE_SHIPMENT SYSTEM "INTERFACE_CREATE_SHIPMENT.dtd"> 

但我没有这个文件,所以将它添加到映射 Doctype 系统会导致错误,所以我不知道它是否有效。是否可以让 BizTalk 添加此文档类型而我这边没有 DTD?或者我可以创建一个具有相同名称的新 DTD 以便能够创建文件吗?

假设您只需要 !DOCTYPE 声明,而您无法获得实际的 .dtd 文件,您有两个选择:

  1. 模拟 .dtd 文件。不太可取,因为这可能会导致定义冲突的问题,以后的开发人员可能会误解它只是一个模拟文件。
  2. 创建管道组件以在编码阶段添加 !DOCTYPE 声明。只要您不需要该 dtd 中的任何特殊内容,它就应该可以工作。

您只需在设计时在您的管道组件中设置您自己的自定义 xml 声明

在 "Add processing instructions text" 字段中,您应该输入

  <?xml version="1.0" standalone="no" ?><!DOCTYPE INTERFACE_CREATE_SHIPMENT SYSTEM "INTERFACE_CREATE_SHIPMENT.dtd">

不要忘记将添加 XML 声明设置为 false

此处提供更多详细信息http://cherifmahieddine.com/2013/09/23/custom-biztalk-xml-declaration/