我得到了简单的xml文档。但我也需要使用DTD文件。但当我添加或不添加它时-它不会改变任何东西。文件不会影响我的xml页面。
<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="stylesheet.css"?>
<!DOCTYPE software SYSTEM "software.dtd">
<software>
<application>
<suite>
<office>
<app>
<title>Microsoft Office</title>
<developer>Microsoft</developer>
<os>Microsoft Windows</os>
<license>Trialware</license>
</app>
<app>
<title>iWork</title>
<developer>Apple</developer>
<os>Mac OS</os>
<license>Proprietary</license>
</app>
<app>
<title>Open Office</title>
<developer>StarOffice,OpenOffice.org,Apache OpenOffice</developer>
<os>Linux, Mac OS, Microsoft Windows</os>
<license>LGPL,Apache License</license>
</app>
</office>
</suite>
</application>
下面是我的.dtd文件
<!DOCTYPE software
[
<!ELEMENT software(application)>
<!ELEMENT application(suite)>
<!ELEMENT suite(office)>
<!ELEMENT office(app)>
<!ELEMENT app(title,developer,os,license)>
<!ELEMENT title(#PCDATA)>
<!ELEMENT developer(#PCDATA)>
<!ELEMENT os(#PCDATA)>
<!ELEMENT license(#PCDATA)>
]
>当我把它改成像这样-- xml页面仍然显示一切正常。
<!DOCTYPE software
[
<!ELEMENT look ANY>
]
>有什么问题吗?
发布于 2013-02-27 06:06:01
XML解析器是否执行验证取决于调用它的方式。有一个DTD但仍然不做验证是很有可能的(也是很常见的)。您需要指出您正在使用的解析器以及调用它的方式。
发布于 2013-02-27 06:44:14
如果您试图使用DTD来限制在浏览器中查看XML文件时显示的元素,那么这不是DTD的用途,也不会起作用。DTD用于文档的基本验证。
您可以使用XML样式表或(最好是) XSLT来转换XML以用于显示。
https://stackoverflow.com/questions/15099061
复制相似问题