27706

[code]

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE class [ 
    <!ELEMENT player (goals+, assists+)>
    <!ELEMENT goals (((1|2|3|4|5|6|7|8|9|9)?(0|1|2|3|4|5|6|7|8|9|9)*))>
    <!ELEMENT assists (((1|2|3|4|5|6|7|8|9|9)?(0|1|2|3|4|5|6|7|8|9|9)*))>
    <!ATTLIST player name CDATA #REQUIRED region CDATA #REQUIRED>
    ]>
    <player name="Messi" region="Argentina">
        <goals>26</goals>
        <assists>16</assists>
    </player>
    
[/code]

上記のコードに対して，Eclipseから「A '(' character or an element type is required in the
declaration of element type "goals".」というエラーメッセージが表示されます．  
「'('または要素型が要素型定義内に要求されている．」ということのように思えますが，どういうことでしょうか？  
goal要素内は文字列なので`#PCDATA`をどこかに入れるべきなのでしょうか？


CC BY-SA 3.0
2016-07-18T09:52:05.893
27704
2016-07-18T10:43:33.843
17197
question
xml
XMLのDTD内でのエラーについて


要素名として数値で始まる名前は使用できないので、そのように書くことはできません。

実際の中身は文字なので（おそらく数字縛りをDTDで指定することはできません）

[code]

    <!ELEMENT goals (#PCDATA)>
    <!ELEMENT assists (#PCDATA)>
    
[/code]

のようにします。


CC BY-SA 3.0
2016-07-18T10:43:33.843
27706
2016-07-18T10:43:33.843
5044
27704
answer