XML Doctype Определение - PullRequest
       31

XML Doctype Определение

1 голос
/ 10 марта 2011

Это моя первая попытка 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.

Ответы [ 2 ]

0 голосов
/ 10 марта 2011

Я не уверен, что ваш ответ имеет отношение к вашему вопросу объявления 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 голосов
/ 10 марта 2011

Я нашел решение этой проблемы.

Вставьте вторую строку под открывающим тегом 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>

Конечно, вам не нужно перенаправлять.Это лучше всего работает в моем случае.

...