2012-04-06 20 views
1

マークアップ言語がHTMLのように大文字と小文字を区別し、xmlの大文字と小文字を区別する理由は何ですか?大文字と小文字を区別したり、大文字と小文字を区別したりする基本的な考え方は何ですか?なぜ、どのような基準でそれが行われますか?大文字と小文字は区別されますか?

+1

歴史的な理由。 SGMLから派生したXMLは大文字と小文字を区別し、HTMLはもともと大文字と小文字を区別していませんでした。 –

+0

[faq](http://stackoverflow.com/faq)で、あなたがSOで聞くことができる質問のタイプをチェックしたいと思うかもしれません。 – Jeroen

+2

@ EugeneMayevski'EldoSCorp HTMLは、アプリケーションとしてSGMLから派生しました。 XML私はSGMLから独立していると思います。どうか明らかにしてください。 –

答えて

3

単純に:大文字と小文字を区別するのは人間が書く方が簡単ですが、大文字と小文字が区別されるのはコンピュータの解析がやや簡単です。さらに、ユニコードで書かれた言語では、「異なるケースの同じ文字」が何であるかを把握することは、それほど簡単ではありません。

これは主にそれです。多くの識別子が作成される場合でも、大文字と小文字の区別が異なる異なる識別子を作成することはまれです。

+0

私は「やや簡単です」と言いたいのは、過言言です。 'ToLowerCase'や、あなたが選んだ言語で何が呼び出されたものであれ、それを実行してください(もちろん、エラーメッセージのために元のケースを失うこともありますが、これは余分なクレジットであり、オリジナルと正規化されたケーシング)。もちろん、これは前記言語のまともな文字列処理を前提としています。もちろん、これは、少なくとも完全には、ユニコードの問題を解決しません。 – delnan

+0

@delnanあなたは私のために私のケースを作っています。大文字と小文字を区別しないコードを扱うのは複雑です。 – Marcin

0

大文字と小文字を区別することにはメリットがあり、大文字と小文字を区別することの利点があります。したがって、どちらが最善であるかについての意見は異なる可能性があります。また、言語は意見を持つ人々によって設計されているため、言語は異なります。

HTMLタグ名はすべてASCIIですが、XMLタグ名はその違いを説明するよりもはるかに広いレパートリーを使用できるため、ASCII以外のUnicode全体をサポートする場合、大文字小文字を区別しない方がはるかに複雑になります。