2013-11-21 3 views
1

우리는 DTD와 XML에 대해 2 일 동안 만 이야기하고 있으며, 임무를 제대로 수행했는지, 물었다. Atleast 나는 어떤 도움을 주시면 감사하겠습니다!atrributes, fixed, required, implied 등을 사용하여 DTD (문서 유형 정의) 파일 만들기

배정 공항에 필요한 속성 이름과 위치가있는 공항 데이터를 표시해야합니다. 암시 된 속성 famous_assoiciation. famous_assoication 속성은 공항을 지명 한 유명한 사람의 이름입니다. 공항은 하나 이상의 옷걸이로 구성됩니다. 각 행거에는 번호, 위치 및 0 개 이상의 관련 항공사가 있습니다. 각 걸이에는 고정 속성 인 길이 2 마일이 있습니다. 항공기에는 하나 이상의 유형의 항공기 함대 (항공기에 하나 이상의 항공기가 들어있는 경우) 중 하나 인 이름이 있습니다. 비행기에는 제조업체, 모델, 차량 번호 및 좌석 _ 수용 능력이 있습니다. 비행기는 ...

이 내가 무슨 짓을 당신은이 시스템의 모든 데이터 유형의 CDATA의 것을 가정 할 수

"실버"의 기본 값으로 색상 속성이

<?xml version = "1.0" encoding ="utf-8"?> 

<!ELEMENT airport (hanger+)> 
<!ELEMENT hanger (number, location, airline*)> 
<!ELEMENT number (#PCDATA)> 
<!ELEMENT location (#PCDATA)> 
<!ELEMENT airline (name, aircraft fleets+)> 
<!ELEMENT name (#PCDATA)> 
<!ELEMENT aircraft fleets (plane+)> 
<!ELEMENT plane (manufacturer, model, vin, seat_capacity)> 
<!ELEMENT manufacturer (#PCDATA)> 
<!ELEMENT model (#PCDATA)> 
<!ELEMENT vin (#PCDATA)> 
<!ELEMENT seat_capacity (#PCDATA)> 


<!ATTLIST airport name CDATA #REQUIRED> 
<!ATTLIST airport location CDATA #REQUIRED> 
<!ATTLIST airport famous_assoiciation CDATA #IMPLIED> 
<!ATTLIST plane color CDATA #FIXED "silver"> 
<!ATTLIST hanger length CDATA #FIXED "2 miles"> 
+0

줄 ''의심스러운 것 같습니다. – halfbit

답변

2

DTD는 꽤 좋아 보인다. 나는 단지 몇 가지를 볼 수 있습니다.


요소에는 이름에 공백이 없어서 aircraft fleets을 변경해야합니다. 너를 fleet으로 단축 할 이유가 없다. 가독성을 위해


은, 그것이 쉽게 찾을 수 있도록 요소 선언에서 속성 선언 (ATTLIST)를 넣어 좋은 방법입니다. 요소 당 하나의 ATTLIST도 필요합니다. 당신은 color 속성이 "실버"의 기본값이 가정된다 ... 읽기 쉽게 만들기 위해

<!ELEMENT airport (hanger+)> 
<!ATTLIST airport 
      name    CDATA #REQUIRED 
      location   CDATA #REQUIRED 
      famous_assoiciation CDATA #IMPLIED > 

을 바꿈과 탭/공백을 추가 할 수 있습니다,하지만 당신은 고정 된 값으로이 . #FIXED ...

<!ATTLIST plane color CDATA "silver"> 
+0

감사합니다. 내 dtd 파일 맨 위에 이 필요합니까? 또는 for XML 파일 – sean

+0

@sean - 좋은 질문입니다. 나는 XML 선언을 외부 DTD 안에 두지 않을 것이다. 그러나 실제로 차이가 나는지 확실하지 않습니다. DTD와 XML 모두에서 XML 선언이 무엇인지 잘 모르겠습니다. 그것은 약간의 실험의 가치가 있을지도 모른다. 사양에서 자세한 내용을 확인하십시오. http://www.w3.org/TR/REC-xml/#sec-prolog-dtd –

+0

@sean - 또한이 대답이 충분하면 받아 들여야합니다. 옆에있는 체크 표시를 클릭하십시오. 감사! –