ENTITY使ってますか
全国のXMLerの皆さん、ENTITY使ってますか。DTDをそらで書ける皆さんなら当然使ってますよね。たとえば、Androidの設定ファイルなんかでも、
main.xml
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE LinearLayout [ <!ENTITY padding '10dp'> <!ENTITY view.text ' <TextView android:text="copy" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="&padding;" /> '> ]> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ListView android:id="@+id/list_view_select" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="&padding;" /> <Spinner android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="&padding;" /> <RatingBar android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="&padding;" /> <EditText android:hint="コメント" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="&padding;" /> &view.text; &view.text; &view.text; &view.text; </LinearLayout>
paddingの共通値に使ってみたり、Viewを複製してみたり、
strings.xml
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE resources [ <!ENTITY serv 'http://localhost/'> ]> <resources> <string name="app_name">Layout</string> <string name="url_hoge">&serv;hoge</string> <string name="url_piyo">&serv;piyo</string> <string name="url_fuga">&serv;fuga</string> <string name="text_view_camera">カメラ</string> <string name="text_view_camera_role">カメラロール</string> </resources>
文字列の共通部分とかにも! 簡単でしょ?