2011-10-26 16 views
2

すべての属性に接頭辞が付いているのはなぜですか?どこでもプレフィックスない少しおしゃべりする:

<TextView 
    android:layout_width="105px" 
    android:layout_height="wrap_content" 
    android:text="@string/hello" 
    /> 

はなく、この

<android:TextView 
    layout_width="105px" 
    layout_height="wrap_content" 
    text="@string/hello" 
    /> 

そのアンドロイドがこれを行うための設計上の利点は何ですか?

+0

私はxml構文に強くはありませんが、属性の名前空間だと思います。 – Raz

+0

いいえ、それは名前空間にバインドされたプレフィックスです(バインディングには特定のスコープがあり、常にXML文書のローカルです)。接頭辞はXML文書で要素や時には属性を名前空間に入れるために使用されます。 – lkuty

答えて

1

androidは名前空間接頭辞であり、これらの属性がその接頭辞にバインドされたXML名前空間にあることを伝えるために使用されます。 XML文書のどこかに、xmlns:android = "the namespace URI here"のような名前空間宣言があるはずです。属性にプレフィックスを付けることはまれですが、特定のXMLボキャブラリの属性が、そのボキャブラリに属していないXML要素で見つかった場合、衝突を回避するために必要です。

0

xmlはafaikを参照し、トップビューを見てリンクを参照してください。

+0

"xml references"とはどういう意味ですか? – lkuty

+0

電話からのクイックアンサー;)私はこの質問に答えた人物と同じ意味です:) – Warpzit

1

XMLでは、名前空間に入るために属性に接頭語を付ける必要があります。それらは自動的に要素の名前空間を拾わない。

+0

確かに、しかし通常は正確な要素の属性自体を名前空間に持つことは、属性が何であるか。属性が異なるXMLボキャブラリーに属する要素に含まれている場合はそうではありません。 – lkuty

0

使用中の第2の変種を見たことがなく、動作するかどうかは実際にはわかりません。はいの場合 - 私はあなたが望むならそれを使うことができると確信しています。

0

私は答えがそうだと思います:このデザインに利点はありません。だから私は誰もそれを使用することを見たことがない理由です。

関連する問題