Latest web development tutorials

XML 요소와 비교 특성

특성을 사용하고, 하위 요소를 사용하는 경우 때 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는 자식 요소에 데이터를 저장하고자

다음 세 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>

(이것은 내가 가장 좋아하는 방법입니다) :이 예는 확장자가 "날짜"요소를 사용합니다 :

<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>


속성을 사용하지 마십시오?

당신은 속성을 사용하지 않도록해야합니까?

일부 특성은 다음과 같은 문제점이있다 :

  • 속성은 여러 값을 포함 할 수 없습니다 (하위 요소 수)
  • (미래의 요구 사항의 변화에 ​​대한) 특성을 쉽게 확장 할 수 없습니다
  • 속성은 구조를 기술 할 수 없다 (하위 요소 수)
  • 속성은 프로그램 코드를 조작하는 것이 더 어렵다
  • 값이 DTD를 테스트하기 쉽지 않다 속성

당신은 데이터 컨테이너와 속성을 사용하면 결과 XML 문서를 읽고 유지하기 어려울 것이다. 데이터를 설명하는요소를 사용하려고합니다.. 데이터를 설명하기 위해 우리는 재산의 사용을 권장 할 때 데이터는 관련이없는 정보를 제공하고 있습니다.

(XML을 사용해야되지 않은) 이런 식으로 종료하지 마십시오

<note day="12" month="11" year="2002"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>


재산의 규칙에 대한 예외

다른 규칙은 항상있다

재산에 규칙 나는 예외가 있습니다.

가끔은 ID를 지정 요소를 사용합니다. 이러한 애플리케이션은 많은 상황에서 동일한 HTML에서 XML 요소를 액세스하기 위해 ID 명 속성 또는 ID로서 사용될 수있다. 다음의 예는이 방법을 보여줍니다

<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>

상기 예에서 XML 문서는 하나의 카운터의 ID 또는 고유 식별자가 아닌 데이터의 일부로서보다 다양한 음을 확인한다.

나는 속성으로 저장해야하는 메타 데이터 (데이터에 대한 데이터) 여기 말하고 싶은, 그 데이터 자체는 요소로 저장해야합니다.