Friday, September 27, 2013

XML Types

http://markchensblog.blogspot.kr/2011/03/simple-type-vs-complex-type-simple.html?showComment=1380283243046#c6961064122157163970

모든 사용자 정의 simple type은 다른 simple type들의 restriction 아니면 list이다.[1]

반대로 complexType은 애트리뷰트 또는 엘리먼트 (또는 둘 다)를 반드시 가져야 한다.

Simple Content와 Complext Content는 Complex Type의 content가 어떠한지를 가리키는 말이다. 따라서 이들은 simpleType과는 아무 관계가 없다.




[1]
 - 보충: Visual studio에서 xsd 파일을 편집해 보면, <simpleType>에서 선택할 수 있는 것은 restriction, list, union이다.
  • 이 중 restriction은 기존에 있던 type을 제한해서 만든다. 제한하기 전의 원본은 XML built-in type일 수도 있고 사용자가 정의한 다른 simpleType일 수도 있다. 전형적인 예는 xsd:string을 제한해서 문자열의 enumeration을 만드는 것이다(주관식을 객관식으로 만드는 것)
  • list는, "whitespace-separated" list이다. 즉 list이긴 list이되, 구분자가 고작 공백문자 하나이기 때문에 원소 속에 공백문자가 있어서는 안 된다. 따라서 complexType은 원소가 될 수 없고, simpleType만을 원소로 가질 수 있다.
  • union은 C의 공용체와 마찬가지로 여렷 중 하나를 고를 수 있는 것이다. 애트리뷰트 memberTypes에다 whitespace-separated list로 타입 목록을 넣으면 된다.

No comments:

Post a Comment

창 핸들을 만드는 동안 오류가 발생했습니다

System.ComponentModel.Win32Exception was unhandled   MyForm w = new MyForm IntPtr handle = wnd.Handle;   // Exception occurs here class MyFo...