【发布时间】:2010-11-02 16:54:21
【问题描述】:
我在 xml 和 dtd 中制作了一些文档。我在 xml html 命名空间中使用来插入图像。但是我可以使用 xmllint 验证我的文档,但我不知道为什么 :/ 验证器在第一行停止。 XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html:catalog SYSTEM "catalog.dtd">
<?xml-stylesheet type="text/css" href="style.css" ?>
<catalog xmlns:html="http://www.w3.org/1999/xhtml">
<catalogDescription>
<authors>Autorzy:
<author age="21">&autor1;</author>
<author age="21">&autor2;</author>
</authors>
<catalogInfo>Katalog zawiera spis gier które posiadamy w sprzedaży w naszym sklepie z grami.</catalogInfo>
</catalogDescription>
<games>
<!-- some data-->
</games>
</catalog>
DTD 文件:
<!ELEMENT html:catalog (catalogDescription,games)>
<!ELEMENT catalogDescription (authors?,catalogInfo?)>
<!ELEMENT authors (author+)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT catalogInfo (#PCDATA)>
<!ELEMENT games (genres,game+)>
<!ELEMENT genres (genreType) #REQUIRED>
<!ATTLIST genreType id ID #REQUIRED>
<!ELEMENT game (title,more)>
<!ATTLIST game lang #IMPLIED>
<!ELEMENT more (screen, description, genre, rank, platforms,cost)>
<!ATTLIST genre ref IDREF #REQUIRED>
<!ELEMENT cost (#PCDATA) >
<!ELEMENT title (#PCDATA)>
<!ELEMENT rank EMPTY>
<!ATTLIST rank points CDATA #REQUIRED>
<!ELEMENT description (#PCDATA)>
<!ELEMENT platforms (platform+)>
<!ELEMENT platform>
<!ELEMENT screen (thumbnail,bigimage)>
<!ELEMENT thumbnaul (html:img)>
<!ELEMENT html:img #EMPTY>
<!ATTLIST html:img src CDATA>
<!ELEMENT bigimage (html:img)>
<!ELEMENT available (#PCDATA) >
【问题讨论】:
-
您的 DTD 有一些错误...另外,这不是嵌入 XHTML 模式的方法。
-
我主要为他更正了 DTD。无论如何,这不是一个好方法,命名空间 + DTD 总是会导致某些地方出现问题。
标签: xml dtd xml-namespaces