2012-12-31 2 views
0

XML 스키마에 따라 XForms 인스턴스를 바인딩하려고합니다. 1.1 여기서 ExamenType 다음 예에서와 같이, 바인딩 복잡한 유형을 지원하는 것 같습니다하지 않습니다orbeon : xml 스키마 complex 형식의 xforms 인스턴스

<xforms:bind nodeset="instance('note-template')"> 
    <xforms:bind nodeset="Valeur" type="ValeurNoteType"/> 
</xforms:bind> 

XForms를 : 그것은 ValeurNoteTypexs:decimal 유형에 대한 제한은 다음과 같은 경우에 같은면과 잘 작동

<xforms:bind nodeset="instance('examen-template')"> 
    <xforms:bind nodeset="Examen" type="ExamenType"/> 
</xforms:bind> 

내가 원하는 것은의 요소에 대한 xs:date 유형과 같은 XML 스키마 (또는 다른 조건에 Min Occurs = 1이 인의 ExamenType 유형의 모든 요소에 대해 <xforms:bind nodeset="Titre" required="true()"/>를 작성하지 않도록하는 것입니다 순서입니다 시퀀스 a 등등).

Orbeon과 함께 할 방법이 있습니까?

답변

1

XForms를 1.1 type 속성을 처리하는 방법을 지정에 분명하다.

는 "type 모델 항목 속성은 자식 요소를 포함하는 인스턴스 노드에 적용되어 있지 않습니다 type 모델 항목 속성 동료 데이터 형식 (로 ([XML Schema part 2]에서 정의 된) 문자열 노드와 인스턴스 노드의 문자열 값 ([XPath 1.0]에 정의 된대로)으로 연결된다. 연관된 데이터 유형은 complexType의 simpleType 정의 또는 simpleContent 정의로부터 얻을 수있다. 방금 설명한대로 얻을 수 없으면 xsd:string의 기본값이 사용됩니다. "

즉, type 속성은 문서의 구조가 아닌 텍스트 내용의 유효성을 검사하는 방법으로 만 작동합니다.

스키마가있는 경우 전체 인스턴스의 유효성이 검사됩니다 (Orbeon 양식에는 Validation 참조). 복잡한 콘텐츠 유효성 검사를 포함하여 노드가 해당 프로세스에서 유효하지 않은 것으로 표시 될 수 있습니다. 그러나 이것이 귀하의 경우에 도움이 될지 확실하지 않습니다. 어쨌든 이것은 type 속성의 처리와 별개의 프로세스입니다.

+0

내 응용 프로그램에서는 스키마에 의해 유효성이 검사되는 큰 인스턴스가 존재합니다. 다시 게시 할 때 유효성 검사가 제대로 작동합니다 (오류가있는 경우 처리/표시 할 수 있음). 내가 찾고있는 것은 스키마의 구조 및/또는 변경된 내용을 양식 인스턴스의 "자동"방식으로 반영하는 방법입니다. 분명히, 그것은'type' 속성이 아닙니다! 그 점을 나에게 분명히 해 줘서 고마워! – cbosson