XML 속성
XML 요소에는 HTML과 유사한 속성이 있습니다.
속성은 요소에 대한 추가 정보를 제공합니다.
XML 속성
HTML에서 속성은 요소에 대한 추가 정보를 제공합니다.
<a href="demo.html">
속성은 일반적으로 데이터의 일부가 아닌 정보를 제공합니다. 다음 예에서 파일 형식은 데이터와 아무 관련이 없지만 이 요소를 처리해야 하는 소프트웨어에는 중요합니다.
XML 속성은 따옴표로 묶어야 합니다.
속성 값은 따옴표로 묶어야 하지만 작은따옴표와 큰따옴표 모두 사용할 수 있습니다. . 예를 들어, 사람의 성별, person 요소는 다음과 같이 작성할 수 있습니다.
또는 다음과 같이 작성할 수도 있습니다. :
속성 값 자체에 큰따옴표가 포함된 경우 다음 예와 같이 작은따옴표를 사용할 수 있습니다.
또는 문자 개체를 사용할 수도 있습니다:
XML 요소 대 속성
다음 예를 참조하세요.
<이름>Anna</이름>
<성>Smith</lastname>
</person>
<성별>여성</성별>
<이름>Anna</이름>
<성>Smith</lastname>
</person>
첫째, 섹스는 속성입니다. 두 번째 경우에는 섹스가 하나의 요소입니다. 두 인스턴스 모두 동일한 정보를 제공합니다.
속성 사용 시기와 요소 사용 시기를 알려주는 규칙은 없습니다. 내 경험에 따르면 HTML에서는 속성이 사용하기 편리하지만 XML에서는 속성 사용을 피해야 합니다. 정보가 데이터와 유사하다고 느껴진다면 요소를 사용하세요.
내가 가장 좋아하는 방식
다음 세 개의 XML 문서에는 정확히 동일한 정보가 포함되어 있습니다.
날짜 속성이 첫 번째 인스턴스에서 사용됩니다.
<to>토베</to>
<from>자니</from>
<heading>알림</heading>
<body>이번 주말에 저를 잊지 마세요!</body>
</note>
날짜 요소는 두 번째 예에서 사용됩니다:
<날짜>2008년 10월 1일</날짜>
<to>토베</to>
<from>자니</from>
<heading>알림</heading>
<body>이번 주말에 저를 잊지 마세요!</body>
</note>
세 번째 예에서는 확장된 날짜 요소가 사용되었습니다(이것은 내 즐겨찾기입니다). :
<날짜>
<일>10일>
<월>01월>
<연도>2008년>
</날짜>
<to>토베</to>
<from>자니</from>
<heading>알림</heading>
<body>이번 주말에 저를 잊지 마세요!</body>
</note>
XML 속성을 피하시나요?
속성 사용으로 인해 발생하는 일부 문제:
속성은 여러 값을 포함할 수 없습니다. (요소는 가능)
속성은 포함할 수 없습니다 트리 구조 포함(요소 가능)
속성은 쉽게 확장할 수 없습니다(향후 변경을 위해)
속성은 읽고 유지하기가 어렵습니다. 데이터를 설명하기 위해 요소를 사용해 보십시오. 대신, 데이터 독립적인 정보를 제공하기 위해 속성을 사용하세요.
이런 어리석은 짓은 하지 마세요(XML은 이렇게 사용하면 안 됩니다).
to="Tove" from="Jani"heading="Reminder"
body="이번 주말에 저를 잊지 마세요!">
</note>
메타데이터의 XML 속성
때때로 ID 참조가 요소에 할당됩니다. 이러한 ID 인덱스는 HTML의 id 속성과 동일한 방식으로 XML 요소를 식별하는 데 사용할 수 있습니다. 다음 예는 이를 보여줍니다.
<note id="501">
<to>토베</to>
<from>자니</from>
<heading>알림</heading>
<body>이번 주말에도 저를 잊지 마세요!</body>
</참고>
<note id="502">
<to>자니</to>
<from>토베</from>
<heading>Re: 알림</heading>
<body>안할게요</body>
</note>
</messages>
위의 id 속성은 다른 메모를 식별하는 데 사용되는 식별자일 뿐입니다. 노트 데이터의 일부가 아닙니다.
여기서 전달하려는 아이디어는 메타데이터(데이터에 관한 데이터)는 속성으로 저장되어야 하고, 데이터 자체는 요소로 저장되어야 한다는 것입니다.