这是我第一次尝试使用XML。在写这篇文章之前我已经阅读了很多关于它的内容,但是如果我正确地做DOCTYPE定义,我会有点困惑吗?有人可以看看并让我知道吗?
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE quiz [
<!ELEMENT quiz (items)>
<!ELEMENT items (item)>
<!ELEMENT item (question,answer)>
<!ELEMENT question (#PCDATA)>
<!ELEMENT answer (#PCDATA)>
]>
<quiz>
<items>
<item>
<question>What is the name of the movie with jedis?</question>
<answer value="0">Star Trek</answer>
<answer value="0">E.T.</answer>
<answer value="1">Star Wars</answer>
<answer value="0">Titanic</answer>
</item>
<item>
<question>What is my favorite color?</question>
<answer value="0">Blue</answer>
<answer value="1">Purple</answer>
<answer value="0">Green</answer>
<answer value="0">Pink</answer>
</item>
<item>
<question>What comes after 2?</question>
<answer value="1">3</answer>
<answer value="0">1</answer>
<answer value="0">4</answer>
<answer value="0">11</answer>
</item>
</items>
</quiz>
此外,这显然是一个测验应用程序。是否存在使XML无法访问的标准方法,以致人们无法通过浏览器读取答案?它将与AJAX和PHP一起使用。
答案 0 :(得分:0)
我找到了解决这个问题的方法。
将第二行粘贴到xml开始标记下。
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="no.xsl" type="text/xsl"?>
Make a second file named no.xsl and paste something like this:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output
doctype-public="-//W3C//DTD HTML 4.01//EN"
doctype-system="http://www.w3.org/TR/html4/strict.dtd"
encoding="iso-8859-1"
indent="yes"
method="html"
version="4.01"/>
<xsl:template match="/">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<meta http-equiv="REFRESH" content="0;url=http://WHEREVER YOU WANT TO REDIRECT TO">
</head>
<body>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
当然,您不必重定向。这在我的情况下效果最好。
答案 1 :(得分:0)
我不确定您的答案与您的DOCTYPE声明问题有什么关系,但您确实需要更正。您需要添加一些事件指示符和ATTLIST声明:
<!DOCTYPE quiz [
<!ELEMENT quiz (items)>
<!ELEMENT items (item+)>
<!ELEMENT item (question,answer+)>
<!ELEMENT question (#PCDATA)>
<!ELEMENT answer (#PCDATA)>
<!ATTLIST answer
value CDATA #REQUIRED>
]>