많은 xsd 파일로 작업하고 있습니다. xsd : token 및 xsd : string을 기반으로하는 몇 가지 유형 정의가 제한없이 있음을 확인했습니다. 예를 들어xsd : token 또는 xsd : string을 기반으로 유형을 정의하는 이유가 있습니까?
<xsd:complexType name="BaseString">
<xsd:simpleContent>
<xsd:extension base="xsd:token"/>
</xsd:simpleContent>
</xsd:complexType>
이런 종류의 정의가 필요한 이유가 있는지 궁금합니다. BaseString 형식 대신 xsd : token 또는 xsd : string을 사용하지 않는 이유는 무엇입니까? 아이디어가 있으십니까?
"모자 크기와 퀴즈 등급은 모두 작은 정수일 수 있지만 실제로는 교환 할 수 없습니다"- 훌륭합니다. 그것은 내가 "여분의 의미론을 가진 것들을 묻는"것에 대해 간단한 예제를 통해 만들려고했던 것입니다. – FrobberOfBits
하지만 우리가 프로그래밍 할 때 우리는 모자 크기와 퀴즈 등급 모두에 int를 사용하고 있습니다. 우리는 그들을 구별하기 위해 이름을 사용하고 있습니다. 모든 변수에 대해 유형을 정의하는 것은 적절하지 않습니다. jaxp와 같은 api를 사용하여 xml 용 Java 클래스를 만들 때 문제가 발생합니다. 우리가 자체 정의 된 (예를 들어 baseString) 타입을 기반으로 모자 크기를 정의한다면, 우리는 자체 정의 된 타입을 상속받는 클래스를 가질 것이다. 그러나 xsd : string 또는 xsd : int를 사용하는 경우 클래스의 필드 또는 변수로 사용하게됩니다. – Govan
Govan, 내가 말하는 것은 XSD에서 Java 클래스로의 번역자가별로 영리하지 않다는 것입니다. 그것은 부끄러운 일입니다. 모자 크기와 퀴즈 등급이 XML 문서에서 상호 교환 가능해야한다는 것을 의미하지는 않습니다. –