DTD 온라인 튜토리얼 문서login
DTD 온라인 튜토리얼 문서
작가:php.cn  업데이트 시간:2022-04-20 15:01:34

XML 요소 및 속성 비교


XML 요소 vs 속성


XML에서는 언제 속성을 사용해야 하는지, 언제 사용해야 하는지에 대한 규칙이 없습니다. 하위 요소.


요소 사용과 속성 비교

데이터는 하위 요소나 속성에 저장될 수 있습니다.

다음 예를 살펴보겠습니다.

<person sex="female">
<이름>Anna</이름>
<성>Smith</lastname>
</person>

<person>
<성별>여성</성별>
<이름>Anna</이름>
<lastname>Smith</lastname>
</person>

첫 번째 예에서 "sex"는 속성입니다. 후자의 예에서 "sex"는 하위 요소입니다. 그러나 둘 다 동일한 정보를 제공합니다.

속성을 사용하는 경우와 하위 요소를 사용하는 경우에 대한 특정 규칙은 없습니다. 내 경험에 따르면 HTML에서는 속성이 자주 사용되지만 XML에서는 하위 요소를 사용하는 것이 데이터 정보처럼 느껴집니다.


원하는 방식

하위 요소에 데이터를 저장하는 것을 좋아합니다.

다음 세 개의 XML 문서에는 정확히 동일한 정보가 포함되어 있습니다.

이 예에서는 "date" 속성이 사용됩니다:

<note date="12/11/2002">
<to>토베</to>
<from>자니</from>
<heading>알림</heading>
<body>이번 주말에 저를 잊지 마세요!</body>
</note>

이 예에서는 "date" 요소가 사용됩니다:

<참고>
<날짜>2002년 12월 11일</날짜>
<to>토베</to>
<from>자니</from>
<heading>알림</heading>
<body>이번 주말에도 저를 잊지 마세요!</body>
</note>

이 예에서는 확장된 "날짜" 요소를 사용합니다. (이것이 제가 가장 좋아하는 방식입니다):

<note>
<날짜>
​​ <일>12
​​ <월>11
​​ <연도>2002
</날짜>
<to>토베</to>
<from>자니</from>
<heading>알림</heading>
<body>이번 주말에 저를 잊지 마세요!</body>
</note>


속성 사용을 피하시겠습니까?

속성 사용을 피해야 합니까?

일부 속성에는 다음과 같은 문제가 있습니다.

  • 속성은 여러 값을 포함할 수 없습니다(하위 요소는 가능)

  • 속성은 확장하기 쉽지 않습니다(향후 요구 사항 변경에 대비)

  • 속성은 구조를 설명할 수 없습니다(하위 요소는 가능).

  • 속성이 더 어렵습니다. 프로그램 코드 조작

  • 속성 값은 DTD

에 대해 테스트하기 쉽지 않습니다. 데이터 컨테이너로서 최종 XML 문서는 읽고 유지하기가 어렵습니다. 데이터를 설명하려면 요소 를 사용해 보세요. 에게 데이터를 설명합니다. 제공된 데이터가 관련 없는 정보인 경우에만 속성을 사용하는 것이 좋습니다.

이런 식으로 끝나지 마세요(XML은 이런 용도로 사용하면 안 됩니다).

<note day="12" Month="11" year=" 2002"
to ="Tove" from="Jani"heading="Reminder"
body="이번 주말에 저를 잊지 마세요!">
</note>


속성 규칙에 대한 예외

항상 다른 규칙이 있습니다

속성에 관한 규칙에는 예외가 있습니다.

가끔 내가 지정한 ID에 요소가 적용되는 경우가 있습니다. 이러한 ID 응용프로그램은 HTML에서와 동일한 상황에서 NAME 또는 ID 속성으로 XML 요소에 액세스할 수 있습니다. 다음 예에서는 이 접근 방식을 보여줍니다.

<messages>
<note id="p501">
​ <to>토베</to>
​ <from>자니</from>
​ <heading>알림</heading>
​ <body>이번 주말에도 저를 잊지 마세요!</body>


<note id="p502">
​ <to>자니</to>
​ <from>토베</from>
​ <heading>Re: 알림</heading>
​ <body>안 그럴게요!</body>
</note>
</messages>

위 예의 XML 파일에서 ID는 다른 메모를 식별하는 카운터 또는 고유 식별자일 뿐이며, 데이터의 일부.

여기서 말씀드리고 싶은 것은 메타데이터(데이터에 관한 데이터)는 속성으로 저장해야 하고, 데이터 자체는 요소로 저장해야 한다는 것입니다.

PHP 중국어 웹사이트