2014-02-13 3 views
2

내가 뭘하려는 : 내가 예를 들어, 스키마에서 옵션 태그를 지정하려면 : 요소가 전혀 발생하지 않습니다XSD를 사용하여 옵션 요소에 대한 기본값을 정의하는 방법은 무엇입니까?

<xsd:element name="my_element" type="my_type" minOccurs="0" maxOccurs="1"/> 

경우,이 매개 변수의 디폴트 값이 있어야합니다. 물론 XML 파서를 호출하는 코드에서이 기본값을 정의 할 수 있습니다. 하지만 기본 값을 지정하는 올바른 위치는 * .xsd 스키마 파일에 있다고 생각합니다 (기본값은 스키마에 정의 된 인터페이스의 일부이기 때문에).

불행히도 이것은 쉽지 않은 것 같습니다. "기본"속성의 효과는 "제공되지 않으면 나타나지 않고 나타나면 비어 있습니다. 그 값은 기본값입니다"(http://www.w3.org/TR/xmlschema-0/#ref36). 이 문제에 대한 해결책이

있습니까 :

다른 링크는 내가이 문제를 논의 발견했습니다? 아니면 포기해야합니까?

+0

가능 중복 [XSD : 누락 요소의 초기 값 (https://stackoverflow.com/questions/18694988/xsd- default-value-of-a-missing-element) – binki

답변

2

단순 요소에는 기본값 또는 고정 값이 지정되어있을 수 있습니다.

다른 값을 지정하지 않으면 기본값이 자동으로 요소에 지정됩니다. 다음 예에서

기본 값은 "레드"입니다 :

<xs:element name="color" type="xs:string" default="red"/> 

고정 값은 자동으로 요소에 할당되고, 다른 값을 지정할 수 없습니다. 다음 예에서

은 고정 된 값이 "빨간색"이다

<xs:element name="color" type="xs:string" fixed="red"/> 
+2

값없이 XML에 요소를 추가하면 기본값을 가질 수 있습니다. 하지만 내 문제 : XML 파일에서 요소를 사용할 수없는 경우 기본값이 필요합니다. 구성 파일에서 이전 버전과의 호환성을 위해 사용합니다. – lumbric

관련 문제