티스토리 뷰
728x90
XML의 네임 스페이스
1. xml
xml에서 요소의 이름은 직접 정의할 수 있다.
따라서, 서로 다른 xml 문서를 통합할 경우 같은 이름을 가진 요소로 인한 충돌이 발생할 수 있다.
ex)
표의 기능을 하는 table 태그
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
가구로써의 테이블을 나타내는 table 태그
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
이는 접두사를 이용하여 해결할 수 있는데, 같은 이름에 다른 접두사를 붙이면 이름 충돌을 방지할 수 있다.
xml에서 접두사를 사용하려면, 접두사에 대한 네임스페이스를 정의해야 한다.
<요소이름 xmlns:접두사="식별자">
식별자에는 보통 통합 자원 식별자인 URI(Uniform Resource Identifier)를 사용한다.
<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="https://www.w3schools.com/furniture">
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
2. 안드로이드
안드로이드에서는 xml의 요소와 속성들을 미리 정의하여 개발자가 원하는 기능의 요소를 사용할 수 있도록 제공해준다.
이러한 요소들을 사용하기 위해선 안드로이드가 정한 식별자의 네임스페이스를 사용하여야 한다.
우리가 사용하는 layout_width, layout_height 등의 속성들은 전부 정해진 식별자인 "http://schemas.android.com/apk/res/android"를 사용하여야 한다.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
</RelativeLayout>
다른 식별자의 네임스페이스를 사용한다면 layout_width 등의 속성을 사용할 수 없다.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android123"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- 오류 발생 -->
</RelativeLayout>
이 글은
패스트 캠퍼스 Android 앱 개발의 정석 with Kotlin 올인원 패키지 Online
강의를 듣고 공부한 내용을 바탕으로 작성되었습니다.
728x90
'📱 Android > 🔍 UI' 카테고리의 다른 글
[Android/UI] 10. Frame Layout(프레임 레이아웃) (0) | 2022.10.19 |
---|---|
[Android/UI] 9. Constraint Layout(컨스트레인트 레이아웃) (0) | 2022.10.17 |
[Android/UI] 7. Margin(마진) & Padding(패딩) (0) | 2022.10.14 |
[Android/UI] 6. Relative Layout(렐러티브 레이아웃) (0) | 2022.10.14 |
[Android/UI] 5. 리니어 레이아웃(Linear Layout) (0) | 2022.10.14 |
댓글
공지사항