gpt4 book ai didi

include - 我可以在 sgml 文档中引用外部 sgml 声明吗?

转载 作者:行者123 更新时间:2023-12-02 00:30:22 24 4
gpt4 key购买 nike

我比较习惯xml文档和工具,但是需要和sgml打交道。我有一个正在使用的 sgml 文档 nsgmls解析,我需要包含一个特定的 sgml 声明。如果我在命令行上指定声明文件,它就可以正常工作:

$ nsgmls mydoc.decl mydoc.sgml

但我想在 sgml 文件中包含对声明的引用(而不是整个声明)。像 xml 文档类型一样包含它,即 <!DOCTYPE MyDoc SYSTEM "mydoc.decl">失败

mydoc.decl:1:2:E: unknown declaration type "SGML"

并且声明未被解析(导致许多其他错误)。试图做与 SGML 声明相同的事情:<!SGML MyDoc SYSTEM "mydoc.decl">没有任何改善,这给了我一个 fatal error :

mydoc.decl:1:0:E: character "<" invalid: only minimum literal and parameter separators allowed
mydoc.decl:1:0:E: cannot continue because of previous errors

有什么方法可以只引用外部文件,还是我总是需要在命令行上指定它?

最佳答案

您不能从 DOCTYPE 声明中引用 SGML 声明。 DOCTYPE 声明应该只指向 DTD。

虽然创建一个名为 catalog(无扩展名)的文件并在其中包含一个 SGMLDECL 条目,但您可以执行的操作。如果将此文件放在与 SGML 文档相同的位置,nsgmls 将使用它。

您还可以在命令行上使用 -c 指向目录文件,但这会破坏您的目的,因为您正试图不从命令行引用任何其他内容。

这是指向不同 SGML 声明文件的示例 catalog 文件:

SGMLDECL somedir/mydoc.decl

如果目录文件与“mydoc.sgml”位于同一目录中,则可以在命令行中保留 sgml 声明:

nsgmls mydoc.sgml

关于include - 我可以在 sgml 文档中引用外部 sgml 声明吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7155436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com