-
-
Save lyle-janrain/542f76bee25fd41227d8 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> | |
<xs:element name="flow"> | |
<xs:annotation> | |
<xs:appinfo xml:lang="en">Configuration Note</xs:appinfo> | |
<xs:documentation xml:lang="en"> | |
The flow is the place all things capture widget live | |
</xs:documentation> | |
<xs:appinfo xml:lang="fr">Note de Configuration</xs:appinfo> | |
<xs:documentation xml:lang="fr"> | |
Salut! | |
</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="name" type="xs:string"> | |
<xs:annotation> | |
<xs:documentation>the name of this flow, must be 1 word and unique to this application id</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<!-- version is not needed for now --> | |
<!--xs:element name="version" type="xs:string"> | |
<xs:annotation> | |
<xs:documentation>the version is...</xs:documentation> | |
</xs:annotation> | |
</xs:element--> | |
<xs:element name="defaultScreen" type="xs:string"> | |
<xs:annotation> | |
<xs:documentation>the default screen tells the widget where to start. the name of a screen must be here to properly validate.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="fields"> | |
<xs:complexType> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element name="inputText" type="InputTextField"/> | |
<xs:element name="inputPassword" type="InputPasswordField"/> | |
<xs:element name="inputEmail" type="InputEmailField"/> | |
<xs:element name="buttonSubmit" type="ButtonSubmitField"/> | |
<xs:element name="textarea" type="TextareaField"/> | |
<xs:element name="select" type="SelectField"/> | |
<xs:element name="addressEdit" type="AddressEditField"/> | |
<xs:element name="addressDisplay" type="AddressDisplayField"/> | |
<xs:element name="fullNameEdit" type="FullNameEditField"/> | |
<xs:element name="fullNameDisplay" type="FullNameDisplayField"/> | |
<xs:element name="dateEdit" type="DateEditField"/> | |
<xs:element name="dateDisplay" type="DateDisplayField"/> | |
</xs:choice> | |
</xs:complexType> | |
<xs:key name="FieldNameKey"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
Field names must be present and unique. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:selector xpath="*"/> | |
<xs:field xpath="@name"/> | |
</xs:key> | |
<xs:keyref name="ValitionMatchRef" refer="FieldNameKey"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
Fields referenced in <match> validations must be defined. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:selector xpath="*/validation/match"/> | |
<xs:field xpath="field"/> | |
</xs:keyref> | |
</xs:element> | |
<xs:element name="screens"> | |
<xs:annotation> <xs:documentation xml:lang="en"> 1 or more screens are defined here </xs:documentation> </xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element ref="screen" maxOccurs="unbounded"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="forms"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="form" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="action" type="xs:string"/> | |
<xs:element name="authField" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> | |
<xs:element name="field" type="xs:string" maxOccurs="unbounded"/> | |
</xs:sequence> | |
<xs:attribute name="name" type="xs:string"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element type="xs:string" name="i18nStrings"/> | |
<xs:element type="translationsType" name="translations"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<!--<xs:element name="errorMessages">--> | |
<xs:element name="messages"> | |
<xs:annotation> <xs:documentation xml:lang="en"> | |
Optionally some screens will display some sort of error message. | |
TODO: how are these triggered? | |
</xs:documentation> </xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="message" maxOccurs="unbounded"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name='name' use="required"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="screen"> | |
<xs:complexType> | |
<xs:all> | |
<!--<xs:element ref="errorMessages" minOccurs="0"/>--> | |
<xs:element ref="messages" minOccurs="0"/> | |
<xs:element ref="next" minOccurs="0"/> | |
<xs:element ref="screenConditionals" minOccurs="0"/> | |
<xs:element name="isModal" type="xs:boolean"/> | |
<xs:element name="source" type="sourceType"/> | |
<xs:element name="layout" type="xs:string"/> | |
<xs:element name="dataType" minOccurs="0" type="xs:string"/> | |
<xs:element name="type" minOccurs="0" type="xs:string"/> | |
<xs:element name="validateOnRender" minOccurs="0" type="xs:boolean"/> | |
<xs:element name="hasUserData" minOccurs="0" type="xs:boolean"/> | |
<xs:element name="modalLoadOnLoad" minOccurs="0" type="xs:boolean"/> | |
</xs:all> | |
<xs:attribute name="name" type="xs:string"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- this has conditionals too --> | |
<xs:element name="next"> | |
<xs:complexType mixed="true"> | |
<xs:all> | |
<xs:element ref="conditional"/> | |
</xs:all> | |
<!--<xs:attribute name="type" type="sourceType" use="required"/>--> | |
</xs:complexType> | |
</xs:element> | |
<xs:simpleType name="sourceType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="client"/> | |
<xs:enumeration value="server"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:element name="screenConditionals"> | |
<xs:complexType mixed="true"> | |
<xs:all> | |
<xs:element ref="conditional"/> | |
</xs:all> | |
<!--<xs:attribute name="type" type="sourceType" use="required"/>--> | |
</xs:complexType> | |
</xs:element> | |
<!--conditional placeholder --> | |
<xs:element name="conditional" type="xs:string"/> | |
<!--odds and ends --> | |
<xs:complexType name="translationsType"> | |
<xs:sequence> | |
<xs:element type="xs:string" name="en-US"/> | |
</xs:sequence> | |
</xs:complexType> | |
<!-- BEGIN field validation --> | |
<xs:complexType name="Validations"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
All possible validations. Not actually to be used in field definitions. The restricted types | |
StringValidations, DateValidations, CheckboxValidations, and PhotoValidations should be used | |
instead. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:all> | |
<xs:element name="required" type="ValidationRequired" minOccurs="0"/> | |
<xs:element name="unique" type="ValidationUnique" minOccurs="0"/> | |
<xs:element name="isDate" type="ValidationIsDate" minOccurs="0"/> | |
<xs:element name="minYearsAgo" type="ValidationMinYearsAgo" minOccurs="0"/> | |
<xs:element name="minLength" type="ValidationMinLength" minOccurs="0"/> | |
<xs:element name="maxLength" type="ValidationMaxLength" minOccurs="0"/> | |
<xs:element name="match" type="ValidationMatch" minOccurs="0"/> | |
<xs:element name="format" type="ValidationFormat" minOccurs="0"/> | |
<xs:element name="validFileTypes" type="ValidationValidFileTypes" minOccurs="0"/> | |
</xs:all> | |
</xs:complexType> | |
<xs:complexType name="StringValidations"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
Validations for string-valued fields. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:all> | |
<xs:element name="required" type="ValidationRequired" minOccurs="0"/> | |
<xs:element name="unique" type="ValidationUnique" minOccurs="0"/> | |
<xs:element name="minLength" type="ValidationMinLength" minOccurs="0"/> | |
<xs:element name="maxLength" type="ValidationMaxLength" minOccurs="0"/> | |
<xs:element name="match" type="ValidationMatch" minOccurs="0"/> | |
<xs:element name="format" type="ValidationFormat" minOccurs="0"/> | |
</xs:all> | |
</xs:complexType> | |
<xs:complexType name="DateValidations"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
Validations for date selection fields. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:all> | |
<xs:element name="required" type="ValidationRequired" minOccurs="0"/> | |
<xs:element name="isDate" type="ValidationIsDate" minOccurs="0"/> | |
<xs:element name="minYearsAgo" type="ValidationMinYearsAgo" minOccurs="0"/> | |
</xs:all> | |
</xs:complexType> | |
<xs:complexType name="PhotoValidations"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
Validations for photo management fields. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:all> | |
<xs:element name="validFileTypes" type="ValidationValidFileTypes" minOccurs="0"/> | |
</xs:all> | |
</xs:complexType> | |
<xs:complexType name="CheckboxValidations"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
Validations for checkbox-type fields. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:all> | |
<xs:element name="required" type="ValidationRequired" minOccurs="0"/> | |
</xs:all> | |
</xs:complexType> | |
<xs:complexType name="ValidationRequired"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
The field requires a value. For string-valued fields the value cannot be blank. | |
For checkbox fields the box must be checked. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:group ref="ValidationModel"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="ValidationUnique"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
The field's value must be unique across all users. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:group ref="ValidationModel"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="ValidationIsDate"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
The field must contain a valid date (e.g. not 2012-02-30). | |
</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:group ref="ValidationModel"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="ValidationMinYearsAgo"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
An upper-bound on a (date-valued) field's value. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="threshold" type="xs:nonNegativeInteger"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
The number of years since the most recent acceptable date. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:group ref="ValidationModel"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="ValidationMinLength"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
A lower-bound on the length of a (string-valued) field's value. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="threshold" type="xs:nonNegativeInteger"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
The minimum length of the field's string value. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:group ref="ValidationModel"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="ValidationMaxLength"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
An upper-bound on the length of a (string-valued) field's value. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="threshold" type="xs:nonNegativeInteger"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
The maximum length of the field's string value. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:group ref="ValidationModel"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="ValidationMatch"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
The field's value must be equal to another field's. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<!-- field reference must be validated at a higher level --> | |
<xs:element name="field" type="xs:string"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
The other field which must have the same value. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:group ref="ValidationModel"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="ValidationFormat"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
Restricts the format of a (string-valued) field's value. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="name"> | |
<xs:simpleType> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
The name of the format the field's value must have. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="email"/> | |
<xs:enumeration value="alpha"/> | |
<xs:enumeration value="alphaExtended"/> | |
<xs:enumeration value="alphaExtendedSpaces"/> | |
<xs:enumeration value="alphaNumeric"/> | |
<xs:enumeration value="alphaNumericExtended"/> | |
<xs:enumeration value="i18nAlphaNumeric"/> | |
<xs:enumeration value="numeric"/> | |
<xs:enumeration value="numericReal"/> | |
<xs:enumeration value="phone"/> | |
<xs:enumeration value="phoneInternational"/> | |
<xs:enumeration value="zipCode"/> | |
<xs:enumeration value="zipCode+4"/> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:element> | |
<xs:group ref="ValidationModel"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="ValidationValidFileTypes"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
Restricts the file-types of files uploaded with the field. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="mimeTypes"> | |
<xs:complexType> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
The set of acceptable file types. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="mimeType" maxOccurs="unbounded"> | |
<xs:simpleType> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
A MIME file type. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="image/jpeg"/> | |
<xs:enumeration value="image/png"/> | |
<xs:enumeration value="image/gif"/> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:unique name="ValidationValidFileTypesUniqueness"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
MIME types can not be repeated. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:selector xpath="mimeType"/> | |
<xs:field xpath="."/> | |
</xs:unique> | |
</xs:element> | |
<xs:group ref="ValidationModel"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:group name="ValidationModel"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
Properties common to all validations. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="errorMessage" type="xs:string" maxOccurs="1"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> | |
A message to display to the user upon validation failure. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:group> | |
<!-- END field validation --> | |
<xs:complexType name="Field"> | |
<xs:attribute name="name" type="xs:NCName" use="required"/> | |
</xs:complexType> | |
<!-- html field definitions --> | |
<!--InputText InputPassword and InputEmail fields have similar baseline default requirements--> | |
<xs:complexType name="InputTextField"> | |
<xs:complexContent> | |
<xs:extension base="Field"> | |
<xs:group ref="FieldCommonElementsGroup"/> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="InputPasswordField"> | |
<xs:complexContent> | |
<xs:extension base="Field"> | |
<xs:group ref="FieldCommonElementsGroup"/> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="InputEmailField"> | |
<xs:complexContent> | |
<xs:extension base="Field"> | |
<xs:group ref="FieldCommonElementsGroup"/> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<!--tuning what is required in each of the following field groups gives the user the simplest path | |
to create a functional field. TODO: needs work. All used vs sequences to allow any order and stay | |
1.0 --> | |
<xs:group name="ButtonFieldGroup"> | |
<xs:all> | |
<xs:element name="value" type="FieldValue"/> | |
<xs:element name="htmlAttributes" type="FieldHtmlAttributes" minOccurs="0"/> | |
<xs:element name="htmlElementContent" type="FieldHtmlElementContent" minOccurs="0"/> | |
<xs:element name="modify" type="FieldModify" minOccurs="0"/> | |
</xs:all> | |
</xs:group> | |
<xs:group name="SelectFieldGroup"> | |
<xs:all> | |
<xs:element name="placeholder" type="FieldPlaceholder"/> | |
<xs:element name="publicPrivateToggle" type="FieldPublicPrivateToggle" default="false"/> | |
<xs:element name="label" type="FieldLabel"/> | |
<xs:element name="captureSchemaPath" type="CaptureSchemaPath"/> | |
<xs:element name="options" type="FieldOptions" minOccurs="1"/> | |
<xs:element name="validation" type="StringValidations" minOccurs="0"/> | |
</xs:all> | |
</xs:group> | |
<xs:complexType name="TextareaField"> | |
<xs:complexContent> | |
<xs:extension base="Field"> | |
<xs:group ref="TextareaFieldGroup"/> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:group name="TextareaFieldGroup"> | |
<xs:all> | |
<xs:element name="rows" minOccurs="0"> | |
<xs:simpleType> | |
<xs:restriction base="xs:positiveInteger"/> | |
</xs:simpleType> | |
</xs:element> | |
<xs:element name="publicPrivateToggle" type="FieldPublicPrivateToggle" default="false"/> | |
<xs:element name="label" type="FieldLabel" minOccurs="0"/> | |
<xs:element name="captureSchemaPath" type="CaptureSchemaPath"/> | |
<xs:element name="tip" type="FieldTip" minOccurs="0"/> | |
<xs:element name="validation" type="StringValidations" minOccurs="0"/> | |
<xs:element name="placeholder" type="FieldPlaceholder" minOccurs="0"/> | |
<xs:element name="value" type="FieldValue" minOccurs="0"/> | |
</xs:all> | |
</xs:group> | |
<xs:group name="FieldCommonElementsGroup"> | |
<xs:all > | |
<xs:element name="disablePublicPrivate" type="FieldDisablePublicPrivate" minOccurs="0" default="false"/> | |
<xs:element name="publicPrivateToggle" type="FieldPublicPrivateToggle" minOccurs="0" default="false"/> | |
<xs:element name="placeholder" type="FieldPlaceholder" minOccurs="0"/> | |
<xs:element name="label" type="FieldLabel" minOccurs="0"/> | |
<!--this and a field name in the value of fields could be abstracted away --> | |
<xs:element name="displaySavedValue" type="FieldDisplaySavedValue" minOccurs="0"/> | |
<xs:element name="modify" type="FieldModify" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation>[out of scope? TODO: need more context on this one.][out of scope? TODO: need more context on this one.]</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="value" type="FieldValue" minOccurs="0"/> | |
<xs:element name="valueInLocalStorage" type="FieldValueInLocalStorage" minOccurs="0"/> | |
<xs:element name="tip" type="FieldTip" minOccurs="0"/> | |
<xs:element name="htmlAttributes" type="FieldHtmlAttributes" minOccurs="0"/> | |
<xs:element name="captureSchemaPath" type="CaptureSchemaPath"/> | |
<xs:element name="engageSchemaPath" type="EngageSchemaPath" minOccurs="0"/> | |
<xs:element name="validation" type="StringValidations" minOccurs="0"/> | |
<xs:element name="htmlElementContent" type="FieldHtmlElementContent" minOccurs="0"/> | |
</xs:all> | |
</xs:group> | |
<xs:complexType name="ButtonSubmitField"> | |
<xs:complexContent> | |
<xs:extension base="Field"> | |
<xs:group ref="ButtonFieldGroup"/> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="SelectField"> | |
<xs:complexContent> | |
<xs:extension base="Field"> | |
<xs:group ref="SelectFieldGroup" minOccurs="0"/> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="AddressEditField"> | |
<xs:complexContent> | |
<xs:extension base="Field"> | |
<xs:all> | |
<xs:element name="label" type="xs:token" minOccurs="0"/> | |
<xs:element name="showPublicPrivateToggle" type="xs:boolean" minOccurs="0"/> | |
<xs:element name="subfields"> | |
<xs:complexType> | |
<xs:all> | |
<xs:element name="country" type="StringEditSubfield"/> | |
<xs:element name="streetAddress1" type="StringEditSubfield"/> | |
<xs:element name="streetAddress2" type="StringEditSubfield"/> | |
<xs:element name="city" type="StringEditSubfield"/> | |
<xs:element name="regionCode" type="StringEditSubfield"/> | |
<xs:element name="postalCode" type="StringEditSubfield"/> | |
</xs:all> | |
</xs:complexType> | |
</xs:element> | |
</xs:all> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="AddressDisplayField"> | |
<xs:complexContent> | |
<xs:extension base="Field"> | |
<xs:all> | |
<xs:element name="label" type="xs:token" minOccurs="0"/> | |
<xs:element name="subfields"> | |
<xs:complexType> | |
<xs:all> | |
<xs:element name="country" type="StringDisplaySubfield"/> | |
<xs:element name="streetAddress1" type="StringDisplaySubfield"/> | |
<xs:element name="streetAddress2" type="StringDisplaySubfield"/> | |
<xs:element name="city" type="StringDisplaySubfield"/> | |
<xs:element name="regionCode" type="StringDisplaySubfield"/> | |
<xs:element name="postalCode" type="StringDisplaySubfield"/> | |
</xs:all> | |
</xs:complexType> | |
</xs:element> | |
</xs:all> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="FullNameEditField"> | |
<xs:complexContent> | |
<xs:extension base="Field"> | |
<xs:all> | |
<xs:element name="label" type="xs:string" minOccurs="0"/> | |
<xs:element name="showPublicPrivateToggle" type="xs:boolean" minOccurs="0"/> | |
<xs:element name="subfields"> | |
<xs:complexType> | |
<xs:all> | |
<xs:element name="givenName" type="StringEditSubfield"/> | |
<xs:element name="middleName" type="StringEditSubfield"/> | |
<xs:element name="familyName" type="StringEditSubfield"/> | |
</xs:all> | |
</xs:complexType> | |
</xs:element> | |
</xs:all> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="FullNameDisplayField"> | |
<xs:complexContent> | |
<xs:extension base="Field"> | |
<xs:all> | |
<xs:element name="label" type="xs:string" minOccurs="0"/> | |
<xs:element name="subfields"> | |
<xs:complexType> | |
<xs:all> | |
<xs:element name="givenName" type="StringDisplaySubfield"/> | |
<xs:element name="middleName" type="StringDisplaySubfield"/> | |
<xs:element name="familyName" type="StringDisplaySubfield"/> | |
</xs:all> | |
</xs:complexType> | |
</xs:element> | |
</xs:all> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="DateEditField"> | |
<xs:complexContent> | |
<xs:extension base="Field"> | |
<xs:all> | |
<xs:element name="label" type="xs:string" minOccurs="0"/> | |
<xs:element name="showPublicPrivateToggle" type="xs:boolean" minOccurs="0"/> | |
<xs:element name="captureSchemaPath" type="CaptureSchemaPath"/> | |
<xs:element name="validation" type="DateValidations" minOccurs="0"/> | |
<xs:element name="subfields" minOccurs="0"> | |
<xs:complexType> | |
<xs:all> | |
<xs:element name="year" type="PlaceholderOnlySubfield"/> | |
<xs:element name="month" type="PlaceholderOnlySubfield"/> | |
<xs:element name="day" type="PlaceholderOnlySubfield"/> | |
</xs:all> | |
</xs:complexType> | |
</xs:element> | |
</xs:all> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="DateDisplayField"> | |
<xs:complexContent> | |
<xs:extension base="Field"> | |
<xs:all> | |
<xs:element name="label" type="xs:string" minOccurs="0"/> | |
<xs:element name="captureSchemaPath" type="CaptureSchemaPath"/> | |
</xs:all> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="StringEditSubfield"> | |
<xs:all> | |
<xs:element name="captureSchemaPath" type="CaptureSchemaPath"/> | |
<xs:element name="placeholder" type="FieldPlaceholder" minOccurs="0"/> | |
<xs:element name="defaultValue" type="xs:token" minOccurs="0"/> | |
<xs:element name="validation" type="StringValidations" minOccurs="0"/> | |
</xs:all> | |
</xs:complexType> | |
<xs:complexType name="StringDisplaySubfield"> | |
<xs:all> | |
<xs:element name="captureSchemaPath" type="CaptureSchemaPath"/> | |
<xs:element name="defaultValue" type="xs:token" minOccurs="0"/> | |
</xs:all> | |
</xs:complexType> | |
<xs:complexType name="PlaceholderOnlySubfield"> | |
<xs:all> | |
<xs:element name="placeholder" type="FieldPlaceholder" minOccurs="0"/> | |
</xs:all> | |
</xs:complexType> | |
<!--field child elements --> | |
<xs:complexType name="FieldDisablePublicPrivate"> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"/> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:complexType name="FieldPubliPrivateToggle"> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"/> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:complexType name="FieldPlaceholder"> | |
<xs:simpleContent> | |
<xs:extension base="xs:token"/> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:complexType name="FieldLabel"> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"/> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:complexType name="FieldDisplaySavedValue"> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"/> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:complexType name="FieldValue"> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"/> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:complexType name="FieldValueInLocalStorage"> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"/> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:complexType name="FieldTip"> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"/> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:complexType name="FieldPublicPrivateToggle"> | |
<xs:simpleContent> | |
<xs:extension base="xs:boolean"/> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:simpleType name="EngageSchemaPath"> | |
<xs:restriction base="xs:string"> | |
<xs:pattern value="[_A-Za-z0-9]+(\.[_A-Za-z0-9]+)*"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="CaptureSchemaPath"> | |
<xs:restriction base="xs:string"> | |
<xs:pattern value="[_A-Za-z0-9]+(\.[_A-Za-z0-9]+)*"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:complexType name="FieldHtmlAttributes"> | |
<xs:all> | |
<xs:element name="class" type="FieldClass"/> | |
</xs:all> | |
</xs:complexType> | |
<xs:complexType name="FieldHtmlElementContent" mixed="true"> | |
<xs:annotation> | |
<xs:documentation>put any raw HTML within this block to be rendered within this element</xs:documentation> | |
</xs:annotation> | |
<xs:sequence minOccurs="0" maxOccurs="unbounded"> | |
<xs:any processContents="skip"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:simpleType name="FieldClass"> | |
<xs:restriction base="xs:token"> | |
<xs:pattern value="(([A-Za-z][0-9A-Za-z_]*)[ ]*)*"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<!-- options for select --> | |
<xs:complexType name="FieldOptions"> | |
<xs:sequence> | |
<xs:element name="option" type="FieldOption" minOccurs="0" maxOccurs="unbounded"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="FieldOption"> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute name="disabled" type="xs:string" default="string" use="optional"/> | |
<xs:attribute name="value" type="xs:string" use="optional"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<!-- out a scope --> | |
<xs:complexType name="FieldModify"> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"/> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:schema> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment