2011-03-10 117 views
1

這是我第一次嘗試XML。在寫這篇文章之前,我讀了很多關於它的內容,但是如果我正確地做DOCTYPE定義,我有點困惑。有人可以看看並讓我知道嗎?XML文檔類型定義

<?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

我不確定你的答案與你的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> 
]> 
+0

哈哈,謝謝!答案是我的另一個問題。 :) – Amanda 2011-03-10 16:47:38

+0

:-)我以爲它可能是。 – 2011-03-10 17:17:43

+0

你能推薦任何網站閱讀更多關於這種類型的東西嗎?這真的很吸引人,但我幾乎不知道Google要做什麼! – Amanda 2011-03-10 17:41:40

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> 

當然,您不必重定向。這對我來說效果最好。

+0

雖然這可能會阻止普通用戶的,因爲它顯示在瀏覽器中,它不會完全隱藏信息看到XML。他們只需要「查看源代碼」並顯示原始XML。 – 2011-03-10 16:49:15

+0

有趣!對不起,我刪除了你。我對這個網站還不是很好。 – Amanda 2011-03-10 16:50:53

+0

Deny From All in htaccess? – Amanda 2011-03-10 16:52:04