을 통해 문서를 삽입하려고하는데 validate strict { $xml }
을 통해 문서의 유효성을 검사하고 해당 출력을 삽입 호출에 사용하고 있습니다. 그러나 validate
호출의 출력에는 스키마에 지정된 기본값이 포함되지 않습니다.MarkLogic의 기본 스키마 값
간체 스키마
<xs:schema>
<xs:complexType name="fields-type" abstract="false" mixed="false">
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element default="Faulkner" maxOccurs="1" minOccurs="0" name="an_author" nillable="false" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="document-type" abstract="false" mixed="false">
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="fields" type="fields-type" minOccurs="1" maxOccurs="1" nillable="false"/>
</xs:sequence>
</xs:complexType>
<xs:element name="document" type="document-type" abstract="false" nillable="false"/>
</xs:schema>
문서 : 출력 문서가 <an_author>
요소에 추가없이 기본값 상기와 동일하다
<document>
<fields>
<an_author/>
</fields>
</document>
validate strict { $xml }
호출 한 후. 참고 : 대신 fixed
속성을 사용하여 스키마에서 시도했지만 동일한 결과가 나타납니다. xdmp:validate($xml, "strict")
도 오류를 반환하지 않습니다.
편집 : XQuery 유효성 검사 지정 here에 따라 출력의 기본값이 지정되어 있어야합니다.
당신이 내 질문을 이해했다고 생각하지 않습니다. 'xs : element'의 스키마에 설정된 기본 속성은'validate' 호출 후에'an_author'의 값을'Faulkner'로 만들어야합니다. XML 스키마 사양 [여기] (http://www.w3.org/TR/xmlschema-0/#OccurrenceConstraints)에서 가져온 "스키마 처리기는 요소에 기본 속성과 동일한 값을 제공합니다". – sinemetu1
나는 그녀가 당신의 질문을 이해하지 못했을 가능성이 있다고 생각하지만, 질문, 대답 및 귀하의 의견을 읽었을 때, 당신이 대답을 이해하지 못하는 것처럼 보입니다. 제안을 시도 했습니까? 'declare option xdmp : output "default-attributes = yes"를 표시하는 예제가 있습니까? 직렬화 된 문서에 여전히 기본값이 있습니까? 'validate' 호출 후에 디폴트 값이 실제로 데이터 모델에 나타나는지 또는 보이지 않는지 경로 표현식으로 확인 했습니까? –