我可以用 Java 从 dtd 文件创建 XML 文档吗?
我有一个简单的 DTD 文件,其中包含元素和属性规范。 我可以创建一个合适的 XML 文件(带有 DOM),用 Java 解析这个 DTD 而无需外部 API 吗?
提前致谢
I have a simple DTD file with elements and attributes specifications. Can i create a suitable XML file (with DOM) parsing this DTD with Java and no external APIs?
Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我对你的问题的理解与尤金·莫罗佐夫不同。 告诉我我是否正确:您想要一个程序,该程序将 DTD 作为输入并自动生成根据此 DTD 有效的 XML 文件。 这是正确的描述吗?
如果是这样,那么当然有可能,其他“结构语言”也存在这样的程序(请参阅 abnfgen BNF 语法;在 XML 世界中,XMLSpy 似乎可以打开一个 W3C 架构文件(XSD 文件)并生成一个有效的 XML 示例),但我不知道 DTD/XML,您必须这样做你自己写吧。
请注意,根据给定的 DTD,有效的 XML 文件有无限。 您的程序只会生成一个小子集(但它可能足以满足您的目的:无论如何,它是什么?)
I understand your question differently from Eugene Morozov. Tell me if I'm right: you want a program which takes as input a DTD and automatically generates XML file(s) whch are valid according to this DTD. Is it a correct description?
If so, it is certainly possible, such programs exist for other "structure languages" (see abnfgen for BNF grammars; in the XML world, it seems that XMLSpy, for instance, can open a W3C Schema file - XSD file - and generates a sample valid XML) but I don't know one for DTD/XML, you'll have to write it yourself.
Just be aware that there is an infinity of valid XML files according to a given DTD. Your program will just generate a small subset (but it may be sufficient for your purpose: what is it, anyway?)
有一些误会。 您无法使用 DOM 或 SAX 解析 DTD。 DTD 描述文档结构。 您可以使用各种工具根据 DTD 验证生成的文档。
只需阅读并理解 DTD 并相应地生成 XML 文档即可。 您可以稍后检查文档是否符合 DTD。
编辑:您不必编写解析 DTD 的代码。 首先,您应该阅读 DTD。 从维基百科描述开始,最后有更多链接。
然后手动阅读DTD并了解所需的文档结构。 然后生成符合 DTD 的 XML。
There's some misunderstanding. You can't parse DTD using DOM or SAX. DTD describes document structure. You can validate generated document against DTD using various tools.
Just read and understand the DTD and generate XML document accordingly. You can later check if the document conforms to DTD.
EDIT: You don't have to write code for parsing DTD. First, you should read about DTD. Start with Wikipedia description, there're more links at the end.
Then read DTD manually and understand required document structure. Then just generate XML that will conform to the DTD.