处理DTD和XML时出现空格错误

时间:2014-07-07 00:09:18

标签: xml whitespace dtd

我已经完成了XML文档中的所有内容,但是我遇到了空格错误。具体来说,它表示"在元素类型"元素"之后需要空格。在元素类型声明中。"我的代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!-- New document created with EditiX at Sun Jul 06 07:25:48 AST 2014 -->

<!DOCTYPE periodic
[
<!ELEMENT periodic (element+)>  
<!ELEMENT element(symbol, name, atomic_number, atomic_weight)><!-- Error is displayed here-->
<!ELEMENT symbol(#PCDATA)>
<!ELEMENT name(#PCDATA)>
<!ELEMENT atomic_number(#PCDATA)>
<!ELEMENT atomic_weight(#PCDATA)>]>

<periodic>
<element>  
  <symbol>FE</symbol> 
  <name>Iron</name> 
  <atomic_number>26</atomic_number>
  <atomic_weight>55.845</atomic_weight> 
</element>

<element>
  <symbol>Ir</symbol> 
  <name>Iridium</name> 
  <atomic_number>77</atomic_number>
  <atomic_weight>192.217</atomic_weight> 
</element>

<element>  
  <symbol>P</symbol> 
  <name>Phosphorus</name> 
  <atomic_number>15</atomic_number>
  <atomic_weight>30.973762</atomic_weight> 
</element>

<element>  
  <symbol>Uut</symbol> 
  <name>Ununtrium</name> 
  <atomic_number>113</atomic_number>
  <atomic_weight>284</atomic_weight> 
</element>

<element>  
  <symbol>Po</symbol> 
  <name>Polonium</name> 
  <atomic_number>84</atomic_number>
  <atomic_weight>209</atomic_weight> 
</element>
</periodic>

非常感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:2)

实际上缺少一个空格,你应该在每个元素名称声明后添加它。所以你应该改变:

<!DOCTYPE periodic
[
<!ELEMENT periodic (element+)>  
<!ELEMENT element(symbol, name, atomic_number, atomic_weight)><!-- Error is displayed here-->
<!ELEMENT symbol(#PCDATA)>
<!ELEMENT name(#PCDATA)>
<!ELEMENT atomic_number(#PCDATA)>
<!ELEMENT atomic_weight(#PCDATA)>]>

到此:

<!DOCTYPE periodic
[
<!ELEMENT periodic (element+)>  
<!ELEMENT element (symbol, name, atomic_number, atomic_weight)>
<!ELEMENT symbol (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT atomic_number (#PCDATA)>
<!ELEMENT atomic_weight (#PCDATA)>]>