Advertisement
Guest User

DDI Structured Questionnaire Extensions

a guest
Aug 10th, 2012
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 6.33 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="sqdx:StructuredQuestionnaireDesignExtensions:0.0.b" xmlns:r="ddi:reusable:3_1" xmlns:l="ddi:logicalproduct:3_1" xmlns:d="ddi:datacollection:3_1" targetNamespace="sqdx:StructuredQuestionnaireDesignExtensions:0.0.b" elementFormDefault="qualified" attributeFormDefault="unqualified">
  3.     <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
  4.     <xs:import namespace="ddi:reusable:3_1" schemaLocation="reusable.xsd"/>
  5.     <xs:import namespace="ddi:logicalproduct:3_1" schemaLocation="logicalproduct.xsd"/>
  6.     <xs:import namespace="ddi:datacollection:3_1" schemaLocation="datacollection.xsd"/>
  7.     <xs:element name="CaseSwitch" type="CaseSwitchType" substitutionGroup="d:ControlConstruct"/>
  8.     <xs:complexType name="CaseSwitchType">
  9.         <xs:annotation>
  10.             <xs:documentation>A branch of conditional questionnaire flow (specified by the CaseConstructReference element) that should be performed for a specific value of the SwitchExpression (specified by the SwitchValue element).</xs:documentation>
  11.         </xs:annotation>
  12.         <xs:complexContent>
  13.             <xs:extension base="d:ControlConstructType">
  14.                 <xs:sequence>
  15.                     <xs:element ref="SwitchExpression">
  16.                         <xs:annotation>
  17.                             <xs:documentation>The expression used to evaluate against each conditational branchs  to determine which case will be performed.</xs:documentation>
  18.                         </xs:annotation>
  19.                     </xs:element>
  20.                     <xs:element ref="Case" minOccurs="1" maxOccurs="unbounded">
  21.                         <xs:annotation>
  22.                             <xs:documentation>A branch of conditional questionnaire flow that should be performed for a specific value of the SwitchExpression.</xs:documentation>
  23.                         </xs:annotation>
  24.                     </xs:element>
  25.                     <xs:element ref="CaseDefault" minOccurs="0" maxOccurs="1">
  26.                         <xs:annotation>
  27.                             <xs:documentation>The default branch that should be triggered if no other condition is met.</xs:documentation>
  28.                         </xs:annotation>
  29.                     </xs:element>
  30.                 </xs:sequence>
  31.             </xs:extension>
  32.         </xs:complexContent>
  33.     </xs:complexType>
  34.     <xs:element name="Case" type="CaseType">
  35.         <xs:annotation>
  36.             <xs:documentation>A branch of conditional questionnaire flow (specified by the CaseConstructReference element) that should be performed for a specific value of the SwitchExpression (specified by the SwitchValue element).</xs:documentation>
  37.         </xs:annotation>
  38.     </xs:element>
  39.     <xs:complexType name="CaseType">
  40.         <xs:annotation>
  41.             <xs:documentation>Use for multiple branching from a single point in the questionnaire flow logic represpented by the flow logic If, Then, Case, Then, etc.</xs:documentation>
  42.         </xs:annotation>
  43.         <xs:sequence>
  44.             <xs:element ref="SwitchValue">
  45.                 <xs:annotation>
  46.                     <xs:documentation>The condition which must be met to trigger the Then clause, expressed as a Coding. The condition is an expression in the programming language used in the instrument.</xs:documentation>
  47.                 </xs:annotation>
  48.             </xs:element>
  49.             <xs:element ref="CaseConstructReference">
  50.                 <xs:annotation>
  51.                     <xs:documentation>Reference to the control construct which should be triggered if the associated condition is met.</xs:documentation>
  52.                 </xs:annotation>
  53.             </xs:element>
  54.         </xs:sequence>
  55.     </xs:complexType>
  56.     <xs:element name="CaseDefault" type="CaseDefaultType"/>
  57.     <xs:complexType name="CaseDefaultType">
  58.         <xs:annotation>
  59.             <xs:documentation>The default branch that should be triggered if no other condition is met.</xs:documentation>
  60.         </xs:annotation>
  61.         <xs:sequence>
  62.             <xs:element ref="CaseDefaultConstructReference">
  63.                 <xs:annotation>
  64.                     <xs:documentation>Reference to the control construct which should be triggered if no other condition in the Case/Switch Construct is met.</xs:documentation>
  65.                 </xs:annotation>
  66.             </xs:element>
  67.         </xs:sequence>
  68.     </xs:complexType>
  69.     <xs:element name="CaseConstructReference" type="r:ReferenceType">
  70.         <xs:annotation>
  71.             <xs:documentation>A reference to the control construct which should be triggered if the associated condition is met.</xs:documentation>
  72.         </xs:annotation>
  73.     </xs:element>
  74.     <xs:element name="CaseDefaultConstructReference" type="r:ReferenceType">
  75.         <xs:annotation>
  76.             <xs:documentation>A reference to the control construct which should be triggered if no other condition in the Case/Switch Construct is met.</xs:documentation>
  77.         </xs:annotation>
  78.     </xs:element>
  79.     <xs:element name="SwitchExpression" type="r:CodeType">
  80.         <xs:annotation>
  81.             <xs:documentation>The code necessary to determine the value used to split the populations.</xs:documentation>
  82.         </xs:annotation>
  83.     </xs:element>
  84.     <xs:element name="SwitchValue" type="r:CodeType">
  85.         <xs:annotation>
  86.             <xs:documentation>If the value of this element is equal the computed value of the SwitchExpression, the parent Case branch will be selected.</xs:documentation>
  87.         </xs:annotation>
  88.     </xs:element>
  89.     <xs:element name="ExtendedConditionalText" type="ExtendedConditionalTextType" substitutionGroup="d:Text"/>
  90.     <xs:complexType name="ExtendedConditionalTextType">
  91.         <xs:annotation>
  92.             <xs:documentation>Text which has a changeable value, based on a condition expressed in Code. This is an extension of the standard DDI ConditionalText in the DataCollection Module, that provides support for default values for conditional text and text for static environments.</xs:documentation>
  93.         </xs:annotation>
  94.         <xs:complexContent>
  95.             <xs:extension base="d:ConditionalTextType">
  96.                 <xs:sequence>
  97.                     <xs:element name="Default" type="r:StructuredStringType">
  98.                         <xs:annotation>
  99.                             <xs:documentation>The text to display prior to a dynamic change of text in an electronic environment.</xs:documentation>
  100.                         </xs:annotation>
  101.                     </xs:element>
  102.                     <xs:element name="Static" type="r:StructuredStringType">
  103.                         <xs:annotation>
  104.                             <xs:documentation>The text to display when dynamic changes of text are not available. For example, on paper forms or non-dynamic electronic forms - such as javascript less environments.</xs:documentation>
  105.                         </xs:annotation>
  106.                     </xs:element>
  107.                 </xs:sequence>
  108.             </xs:extension>
  109.         </xs:complexContent>
  110.     </xs:complexType>
  111.  
  112.     <xs:element name="Foo" type="FooType" substitutionGroup="d:ControlConstruct"/>
  113.     <xs:complexType name="FooType">
  114.         <xs:complexContent>
  115.         <xs:extension base="d:ControlConstructType"/>
  116.         </xs:complexContent>
  117.     </xs:complexType>
  118.  
  119. </xs:schema>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement