2

.

オンラインで検証: http://xmlvalidator.new-studio.org

XML ドキュメント (下にも表示)

質問1

次の行のコメントを外すと、no. 4

<!ELEMENT persona (#PCDATA|(name,dob?,address*)) >

AND 次の行番号をコメントします。5

<!ELEMENT persona (name,dob?,address*) >

次のエラーが表示されるのはなぜですか?

  • 4行目28列目:要素型「persona」の宣言には要素型が必要です。

ここでは、ユーザーが解析可能な文字列を使用するか、名前、名前、住所タグを書き込んで情報を書き込むことができるようにしたいと考えています。

質問2

エンコーディングを「ISO-8859-1」から「utf-8」に置き換えて、ブラウザー (Google Chrome) にページを読み込むと、次のエラーが表示されます。

error on line 2 at column 21: Encoding error

しかし、検証は成功してOKです。

なぜそのエラーが表示されるのですか? どのエンコーディングが良いですか?

DTD が埋め込まれた XML ドキュメント

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE personality [
<!ELEMENT personality (persona*) >
<!-- <!ELEMENT persona (#PCDATA|(name,dob?,address*)) > -->
<!ELEMENT persona (name,dob?,address*) >
<!-- <!ELEMENT name (#PCDATA|(first_name,last_name)) > -->
<!ELEMENT name (first_name,last_name) >
<!ELEMENT first_name (#PCDATA) >
<!ELEMENT last_name (#PCDATA) >
<!ELEMENT dob (date+,month+,year+) >
<!ELEMENT date (#PCDATA) >
<!ELEMENT month (#PCDATA) >
<!ELEMENT year (#PCDATA) >
<!ELEMENT address (building,street,city,state,country,country_code) >
<!ELEMENT building (#PCDATA) >
<!ELEMENT street (#PCDATA) >
<!ELEMENT city (#PCDATA) >
<!ELEMENT state (#PCDATA) >
<!ELEMENT country (#PCDATA) >
<!ELEMENT country_code (#PCDATA) >

<!ATTLIST persona id ID #REQUIRED >
<!ATTLIST name type (string|number) "string" >
<!ATTLIST dob type (string|number) "number" >
<!ATTLIST address type (string|number) "string" >

<!ENTITY author "Miguel Pitts" >
<!ENTITY website "example.com" >
<!ENTITY email "miguelpitts4MN@teleosaurs.xyz" >
<!ENTITY copyright "Copyright © Miguel Pitts" >

]>

<?xml-stylesheet type="text/css" href="xmlstyle.css" ?>

<personality>
    <persona id="p1">
        <name type="string">
            <first_name>Miguel</first_name>
            <last_name>Pitts</last_name>
        </name>
        <dob type="number">
            <date>12</date>
            <month>02</month>
            <year>1989</year>
        </dob>
        <address type="string">
            <building>1233</building>
            <street>15</street>
            <city>NY</city>
            <state>Bangkok</state>
            <country>China</country>
            <country_code>82</country_code>
        </address>
    </persona>
</personality>
4

2 に答える 2

0

以下に示すように、ペルソナ ELEMENT を変更します

<!ELEMENT persona (#PCDATA | name | dob | address)* >  

ご参考までに

于 2013-01-10T11:34:14.357 に答える