サポート » その他 » xml宣言が先頭にあるのにエラーが出ます。

  • 解決済 hassan4

    (@hassan4)


    wordpressの英語版(3.4.2)で中国語のサイトを作成しました。
    「Another HTML」で文法をチェックすると

    9: line 1: XML宣言は文書の先頭でなければなりません。 → 解説 20

    と表示されます。

    ソースを見ると
    1.<?xml version=”1.0″ encoding=”UTF-8″?>
    2.<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt;
    3.<html xmlns=”http://www.w3.org/1999/xhtml&#8221; xml:lang=”zh” lang=”zh”>
    4.<head>
    5.<meta http-equiv=”Content-Type” content=”text/html;charset=UTF-8″ />
    6.<meta http-equiv=”Content-Style-Type” content=”text/css” />
    7.<meta http-equiv=”Content-Script-Type” content=”text/javascript” />


    と、しっかり先頭にきております。

    同じサーバーで日本語版のwordpress(3.4.2)を運営しているのですが
    同じphpファイルを使用し、エラーは表示されません。

    どうかどなたか解決方法を教えて頂けないでしょうか。

    ご不明な点があればすぐに投稿いたしますので
    よろしくお願いします。

    追記:
    英語版なのは私から次に運営するかたが外国人のためです。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • こんにちは、

    notepad などで、BOM付で保存されている時には、そうなるかもしれないです

    トピック投稿者 hassan4

    (@hassan4)

    nobita様

    返信ありがとうございます。

    編集ソフトはmacのdreamweaver cs6を使用しています。
    bomというものを外せばいいのでしょうか。
    よろしくお願いします。

    普段から、dreamweaverで編集されていて、問題ないなら
    保存しなおせばいいだけだと思います。

    bomを削除する方法は、bomで検索すれば、たくさんあるので調べてください。

    htmllintかける時に、ソースをテキストエリアに貼り付けている場合は、先頭に空行がついてしまうので、コピペしたら、先頭に戻って、一行削除する必要がるとおもいますが、それではないですよね?

    トピック投稿者 hassan4

    (@hassan4)

    返信ありがとうございます。

    bom削除について調べてみます。

    htmllintかける時に、ソースをテキストエリアに貼り付けている場合は、先頭に空行がついてしまうので、コピペしたら、先頭に戻って、一行削除する必要がるとおもいますが、それではないですよね?

    another htmlにはURL入力で調べているため、それはないと思います。

    トピック投稿者 hassan4

    (@hassan4)

    dream weaverのタイトル/エンコーディングでbomのチェックが外れているのを確認し
    アップしましたがやはり解決しませんでした。

    一応、何かの参考になればと思いxml宣言のphpでの表記を下記に記載しました。

    <?php
    $ua = $_SERVER[‘HTTP_USER_AGENT’];
    if (!(ereg(“Windows”,$ua) && ereg(“MSIE”,$ua)) || ereg(“MSIE 7”,$ua)) {
    echo ‘<?xml version=”1.0″ encoding=”‘ . get_settings(‘blog_charset’) .'”?>’ . “\n”;
    }
    ?>
    <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt;
    <html xmlns=”http://www.w3.org/1999/xhtml&#8221; xml:lang=”zh” lang=”zh”>

    トピック投稿者 hassan4

    (@hassan4)

    解決しました。

    原因が恥ずかしくて申し訳ないですが

    index.php内の
    <?php get_header(); ?>の前に空白が入っていました。

    簡単な見落としでした。

    すいません。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「xml宣言が先頭にあるのにエラーが出ます。」には新たに返信することはできません。