アプリ版:「スタンプのみでお礼する」機能のリリースについて

妥当な文書にするためにチェックを行っているのですが
http://validator.w3.org/
ここれでやるとThis page is not Valid (no Doctype found)!といわれ

omitted tag minimization parameter can be omitted only if OMITTAG NO is specified.

などとエラーがでてしまいます。

しかし、http://www.stg.brown.edu/service/xmlvalid/でやるときちんとValidになります。


先生からはhttp://validator.w3.org/でチェックをするときいたのですがどうしてもエラーがでるので
やはりhttp://validator.w3.org/はXHTMLだけでXMLのチェックというものはできないのでしょうか?
XMLのValidかどうかのチェックはhttp://www.stg.brown.edu/service/xmlvalid/でやればいいのでしょうか?

A 回答 (5件)

>ファイルをアップロードしてチェックした場合だとSorry! This document can not be checked.



再現した(笑)
[原因]
どうやらファイルアップロードはXML宣言にShift_JISって書いてあっても
us-ascii扱いになってしまうようだ。
で、そのために「ごめんね、マルチバイトの文字は読めないの」って謝られるの。
[回避策]
Extended File Upload Interfaceって奴にアクセスすると
色々指定できる。チェックする時にアップロードして
Encoding:の欄を(detect automatically) [自動的に検出する→us-asciiと検出される]からshift_jisを明示してあげると検証が行われる。

俺は大抵BOM付UTF-8で文書を作ってきちんと自動認識されていたと思う。(BOMなしだとus-asciiとかその他のエンコードだと思われかねないから)
=======================
>This page is not Valid (no Doctype found)!

[原因]
テキスト入力だと「DOCTYPE宣言書け」って書いてあるくせに、
内部サブセットだとDOCTYPE宣言だと認識できず
要素型宣言等をタグだと思い込みやがるらしい。
(当然終了タグに該当するものがないので「きちんと閉じやがれ」って言ってる)
[回避策]
なし。多分仕様。

この回答への補足

ファイルアップロードでShift_Jis指定したら

Missing "charset" attribute for "text/xml" document. The HTTP Content-Type header (text/xml) sent by your web browser (Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; InfoPath.1) Sleipnir/2.5.12) did not contain a "charset" parameter, but the Content-Type was one of the XML text/* sub-types.

The relevant specification (RFC 3023) specifies a strong default of "us-ascii" for such documents so we will use this value regardless of any encoding you may have indicated elsewhere.

If you would like to use a different encoding, you should arrange to have your browser send this new encoding information.

Character Encoding Override in effect! The detected character encoding "us-ascii" has been suppressed and "shift_jis" used instead.

Note: The Validator XML support has some limitations.



と真っ赤な文字が出ていましたがそのしたのほうにはThis Page Is Tentatively Valid XMLとうまくいってるようでした。

しかしテキスト入力ではやはりできないので、やはりhttp://validator.w3.org/でXMLのチェックはむいてないということなんでしょうか?
他のサイトのほうがいいんでしょうか?

うーむ、よくわからないですね@@;

補足日時:2007/07/13 13:41
    • good
    • 0

>と真っ赤な文字が出ていましたが


まぁ、とりあえず解らなければ飛ばしてもいいかな。
気にするほどのことは書いてないから。

>しかしテキスト入力ではやはりできないので、やはりhttp://validator.w3.org/でXMLのチェックはむいてないということなんでしょうか?他のサイトのほうがいいんでしょうか?

テキスト入力でやろうとするなら向かないんだろうね。

ま、URL版やアップロード版使うか、他のサービスを使うかは
別にどれだっていいと思う。好みの問題だし、お好きにどうぞ。

(特に質問なければ締め切りで)
    • good
    • 0
この回答へのお礼

なるほど!

いろいろとありがとうございました^^

お礼日時:2007/07/13 18:03

>どうやれば後者で正しく認識されてくれるのだろう?



UTF-8N(BOMなしUTF-8)で
外部サブセット、内部サブセット共に
正しく検証されました。(汗

ということで再現できないので
こちらでの実験のためにソースを掲示してほしいのは相変わらずです。
    • good
    • 0

FirefoxやIEには「整合性(well-formedness)検証」機能しかありません。


Operaはopera:config見るとXML Validateという項目があって出来そうな気がするのですが、当方環境では再現できませんでした。
==================
以下のサンプルソースはBOM付きのUTF-8、改行コードCRLFとして作成してある

XMLEDITOR.NET
http://www.xmleditor.jp/
を用いて「妥当性(validity)検証」を済ませた。
話によると.NETでDOMを用いているので
ファイルが大きくなると反応が遅くなるらしい。
============Q3160421-1.dtd===============
<!ELEMENT hoge (#PCDATA|fuga)*>
<!ELEMENT fuga (#PCDATA)*>
==========Q3160421-1.xml (SYSTEM識別子を用いた妥当なXML)================
<?xml version="1.0"?>
<!DOCTYPE hoge SYSTEM "Q3160421-1.dtd">
<hoge>
<fuga></fuga>
</hoge>
==========Q3160421-1.xml (SYSTEM識別子を用いた妥当でないXML)================
<?xml version="1.0"?>
<!DOCTYPE hoge SYSTEM "Q3160421-1.dtd">
<hoge>
<fuga><hoge></hoge></fuga>
</hoge>
==========Q3160421-3.xml (内部サブセットにDTDを記述した妥当なXML)================
<?xml version="1.0"?>
<!DOCTYPE hoge [
<!ELEMENT hoge (#PCDATA|fuga)*>
<!ELEMENT fuga (#PCDATA)*>
] >
<hoge>
<fuga></fuga>
</hoge>
==========Q3160421-4.xml (内部サブセットにDTDを記述した妥当でないXML)================
<?xml version="1.0"?>
<!DOCTYPE hoge [
<!ELEMENT hoge (#PCDATA|fuga)*>
<!ELEMENT fuga (#PCDATA)*>
] >
<hoge>
<fuga><hoge></hoge></fuga>
</hoge>

==========
SYSTEM識別子を利用したXML、及び使われているDTDについて
ファイルアップロードや直接記述では対応できないため、
自分で立てたWebサーバ(ANHTTPD)を利用した。
==========
結果、

W3C Markup Validatorを用いたものは

SYSTEM識別子を利用したものは、W3C Markup Validatorでは検証できない、と英語で言われてしまった。
尚、サンプルには出さないが、http://www.geocities.co.jp/Hollywood-Studio/8691/ に見られるように
独自のPUBLIC識別子を記述してみても無駄であった。

一方、内部サブセットにDTDを記述した利用したXMLは
正しく検証が行われて、Valid XML, Not Valid XMLを正しく判別してくれた。

しかし、

http://www.stg.brown.edu/service/xmlvalid/
ではどちらのXMLに関しても

error (1104): document body starts with CharData:
といわれてしまった。

どうやれば後者で正しく認識されてくれるのだろう?

==========
>これでやるとThis page is not Valid (no Doctype found)!といわれ

omitted tag minimization parameter can be omitted only if OMITTAG NO is specified

エラーが出たXMLのソースを見せて欲しい。

この回答への補足

Operaではもしかしたらできるかもですか、、、

以下判定したソースです。

<?xml version="1.0" encoding="shift_jis"?>
<?xml-stylesheet type="text/xsl" href="report4.xsl"?>
<!DOCTYPE uta[
<!ELEMENT uta (poem*)>
<!ELEMENT poem (kami*,simo*)>
<!ELEMENT kami (#PCDATA)>
<!ELEMENT simo (#PCDATA)>

<!ATTLIST poem sex CDATA #REQUIRED
name CDATA #REQUIRED
syoku CDATA #REQUIRED>
]>

<uta>
<poem sex="man" name="天智天皇" syoku="天皇">
<kami>秋の田の かりほの庵の 苫をあらみ</kami>
<simo> わが衣手は 露にぬれつつ</simo>
</poem>

<poem sex="man" name="柿本人麻呂" syoku="一般人">
<kami>あしびきの 山鳥の尾の しだり尾の</kami>
<simo> ながながし夜を ひとりかも寝む</simo>
</poem>

<poem sex="woman" name="持統天皇" syoku="天皇">
<kami>春すぎて 夏来にけらし 白妙の</kami>
<simo> 衣ほすてふ 天の香具山</simo>
</poem>

<poem sex="woman" name="小野小町" syoku="一般人">
<kami>花の色は 移りにけりな いたづらに</kami>
<simo> 我身世にふる ながめせしまに</simo>
</poem>
</uta>

http://validator.w3.org/で、テキスト欄にいれてチェックしたばあいはThis page is not Valid (no Doctype found)!とえらーがでて、ファイルをアップロードしてチェックした場合だとSorry! This document can not be checked.とでてきて結果がちがうのですが、やはりXMLは対応してないということなんでしょうか?

補足日時:2007/07/13 06:48
    • good
    • 0

dtdに対してっていうならちょっと判らないけどXMLの書式としてだけチェックしたいならgecko系のブラウザに放り込むと簡単にだけどチェックできるよ。


具体的にはfirefox辺り。

この回答への補足

ご解答ありがとうございます。

firefoxに書式チェックの機能がついてるのでしょうか?
ひととおりみたかんじではみあたらないのですが。。


また、DTDでチェックするにはどうしたらいいのでしょうか

補足日時:2007/07/12 22:05
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!