XML에서 자식 요소를 사용하여 속성을 사용할 때, 그리고시기에 대한 아무런 규정이 없다.
요소 대 속성의 사용
데이터는 하위 엘리먼트 또는 속성으로 저장 될 수있다.
이러한 예를 살펴 보자 :
<person sex="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
첫 번째 예제 섹스의 속성이다. 마지막으로, 성별 자식 요소입니다. 둘은 동일한 정보를 제공한다.
자식 요소를 사용하여 속성을 사용할 때, 그리고시기에 대한 아무런 규정이 없습니다. 내 경험이 속성은 HTML에 편리 있다고하지만, XML에 당신이 그들을 피하려고한다. 정보가 데이터 같은 느낌이 경우 자식 요소를 사용합니다.
즐겨 찾기 방법
I like to store data in child elements.
다음 세 XML 문서가 정확하게 동일한 정보가 포함
날짜 속성은 첫 번째 예에서 사용되는 :
<note date="12/11/2002">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
날짜 요소는 두 번째 예에서 사용된다 :
<note>
<date>12/11/2002</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
확장 된 날짜 요소는 세 번째에 사용됩니다 (THIS IS MY FAVORITE) :
<note>
<date>
<day>12</day>
<month>11</month>
<year>2002</year>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
속성을 사용하지 마십시오?
당신은 속성을 사용하지 않도록해야합니까?
속성으로 문제의 일부는 다음과 같습니다 :
- 속성은 여러 값을 포함 할 수 없습니다 (child elements can)
- 속성은 쉽게 확장 할 수 없습니다 (for future changes)
- 속성은 구조를 기술 할 수 없다 (child elements can)
- 속성 프로그래밍하기 더 어렵다
- 값이 DTD에 대해 테스트가 용이하지 않은 특성
당신은 데이터의 컨테이너로 속성을 사용하는 경우, 당신은 읽고 유지하기 어려운 문서 끝. 사용하려고 elements 데이터를 설명 할 수 있습니다. 사용 데이터와 관련이없는 정보를 제공하는 전용 특성.
이처럼 끝나지 않는 (this is not how XML should be used) :
<note day="12" month="11" year="2002"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>
내 속성 규칙에 대한 예외
규칙은 항상 예외가 있습니다.
속성에 대한 내 규칙은 한 가지 예외가 있습니다 :
가끔 요소 ID 참조를 지정합니다. 이러한 ID 참조는 NAME 거의 같은 방법으로 XML 요소를 액세스하는 데 사용할 수 있거나 ID는 HTML 속성. 이 예제에서는이 보여줍니다
<messages>
<note id="p501">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<note id="p502">
<to>Jani</to>
<from>Tove</from>
<heading>Re: Reminder</heading>
<body>I will not!</body>
</note>
</messages>
이러한 예에서 ID는 카운터 또는 고유 한 식별자의 XML 파일에서 다른 음을 확인하는, 그리고 음 데이터의 일부이다.
내가 여기서 말을 시도하고 메타 데이터입니다 (data about data) 속성으로 저장되어야하고, 그 데이터 자체는 요소로 저장해야합니다.