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>

文字列の共通部分とかにも! 簡単でしょ?