TechDoc

Schema Document Properties

Target Namespace http://www.swissdec.ch/schema/common/20200220/Common
Version 0.0
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.
Prefix Namespace
xml http://www.w3.org/XML/1998/namespace
c http://www.swissdec.ch/schema/common/20200220/Common
xs http://www.w3.org/2001/XMLSchema
<xs:schema targetNamespace=
"http://www.swissdec.ch/schema/common/20200220/Common" elementFormDefault=
"qualified" attributeFormDefault=
"unqualified" version=
"0.0"
>
...
</xs:schema>

Global Definitions

Complex Type: AccessInformationType

Super-types: None
Sub-types: None
Name AccessInformationType
Abstract no
<...
>
   <c:Url> 
xs:string </c:Url> [1] 
   <c:ExpiryDate> 
xs:dateTime </c:ExpiryDate> [1] 
</...>
<xs:complexType name=
"AccessInformationType"
>
   <xs:sequence
>
      <xs:element name=
"Url" type=
"
xs:string"
/>
      <xs:element name=
"ExpiryDate" type=
"
xs:dateTime"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: AddressExtensionType

Super-types: AddressWorkplaceType < AddressExtensionType (by extension)
Sub-types: None
Name AddressExtensionType
Abstract no
<...
>
   <c:ComplementaryLine> 
xs:string </c:ComplementaryLine> [0..1] 
   <c:Street> 
xs:string </c:Street> [0..1] 
   <c:Locality> 
xs:string </c:Locality> [0..1] 
   <c:ZIP-Code> 
c:ZIP-CodeType
 </c:ZIP-Code> [1] 
   <c:City> 
xs:string </c:City> [1] 
   <c:Country> 
xs:string </c:Country> [0..1] 
   <c:Canton> 
c:CantonAddressType
 </c:Canton> [0..1] 
   <c:MunicipalityID> 
c:MunicipalityIDType
 </c:MunicipalityID> [0..1] 
</...>
<xs:complexType name=
"AddressExtensionType"
>
   <xs:complexContent
>
      <xs:extension base=
"
c:AddressWorkplaceType
"
>
         <xs:sequence
>
            <xs:element name=
"Canton" type=
"
c:CantonAddressType
" minOccurs=
"0"
/>
            <xs:element name=
"MunicipalityID" type=
"
c:MunicipalityIDType
" minOccurs=
"0"
/>
         </xs:sequence>
      </xs:extension>
   </xs:complexContent>
</xs:complexType>

Complex Type: AddressType

Super-types: None
Sub-types: None
Name AddressType
Abstract no
<...
>
   <c:ComplementaryLine> 
xs:string </c:ComplementaryLine> [0..1] 
   <c:Street> 
xs:string </c:Street> [0..1] 
   <c:Postbox> 
xs:string </c:Postbox> [0..1] 
   <c:Locality> 
xs:string </c:Locality> [0..1] 
   <c:ZIP-Code> 
c:ZIP-CodeType
 </c:ZIP-Code> [1] 
   <c:City> 
xs:string </c:City> [1] 
   <c:Country> 
xs:string </c:Country> [0..1] 
</...>
<xs:complexType name=
"AddressType"
>
   <xs:sequence
>
      <xs:element name=
"ComplementaryLine" type=
"
xs:string" minOccurs=
"0"
/>
      <xs:element name=
"Street" type=
"
xs:string" minOccurs=
"0"
/>
      <xs:element name=
"Postbox" type=
"
xs:string" minOccurs=
"0"
/>
<-- Postaddressee line 5 -->      <xs:element name=
"Locality" type=
"
xs:string" minOccurs=
"0"
/>
      <xs:element name=
"ZIP-Code" type=
"
c:ZIP-CodeType
"
/>
      <xs:element name=
"City" type=
"
xs:string"
/>
<-- Postaddressee line 6 -->      <xs:element name=
"Country" type=
"
xs:string" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: AddressWorkplaceType

Super-types: None
Sub-types:
Name AddressWorkplaceType
Abstract no
<...
>
   <c:ComplementaryLine> 
xs:string </c:ComplementaryLine> [0..1] 
   <c:Street> 
xs:string </c:Street> [0..1] 
   <c:Locality> 
xs:string </c:Locality> [0..1] 
   <c:ZIP-Code> 
c:ZIP-CodeType
 </c:ZIP-Code> [1] 
   <c:City> 
xs:string </c:City> [1] 
   <c:Country> 
xs:string </c:Country> [0..1] 
</...>
<xs:complexType name=
"AddressWorkplaceType"
>
   <xs:sequence
>
      <xs:element name=
"ComplementaryLine" type=
"
xs:string" minOccurs=
"0"
/>
      <xs:element name=
"Street" type=
"
xs:string" minOccurs=
"0"
/>
<-- Postaddressee line 5 -->      <xs:element name=
"Locality" type=
"
xs:string" minOccurs=
"0"
/>
      <xs:element name=
"ZIP-Code" type=
"
c:ZIP-CodeType
"
/>
      <xs:element name=
"City" type=
"
xs:string"
/>
<-- Postaddressee line 6 -->      <xs:element name=
"Country" type=
"
xs:string" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: AnswerAmountType

Super-types: None
Sub-types: None
Name AnswerAmountType
Abstract no
<...
>
   <c:Default> 
c:SalaryAmountType
 </c:Default> [0..1]
   <c:Value> 
c:SalaryAmountType
 </c:Value> [0..1]
</...>
<xs:complexType name=
"AnswerAmountType"
>
   <xs:sequence
>
      <xs:element name=
"Default" type=
"
c:SalaryAmountType
" minOccurs=
"0"
/>
      <xs:element name=
"Value" type=
"
c:SalaryAmountType
" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: AnswerBooleanType

Super-types: None
Sub-types: None
Name AnswerBooleanType
Abstract no
<...
>
   <c:Default> 
xs:boolean </c:Default> [0..1]
   <c:Value> 
xs:boolean </c:Value> [0..1]
</...>
<xs:complexType name=
"AnswerBooleanType"
>
   <xs:sequence
>
      <xs:element name=
"Default" type=
"
xs:boolean" minOccurs=
"0"
/>
      <xs:element name=
"Value" type=
"
xs:boolean" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: AnswerDateTimeType

Super-types: None
Sub-types: None
Name AnswerDateTimeType
Abstract no
<...
>
   <c:Default> 
xs:dateTime </c:Default> [0..1]
   <c:Value> 
xs:dateTime </c:Value> [0..1]
</...>
<xs:complexType name=
"AnswerDateTimeType"
>
   <xs:sequence
>
      <xs:element name=
"Default" type=
"
xs:dateTime" minOccurs=
"0"
/>
      <xs:element name=
"Value" type=
"
xs:dateTime" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: AnswerDateType

Super-types: None
Sub-types: None
Name AnswerDateType
Abstract no
<...
>
   <c:Default> 
xs:date </c:Default> [0..1]
   <c:Value> 
xs:date </c:Value> [0..1]
</...>
<xs:complexType name=
"AnswerDateType"
>
   <xs:sequence
>
      <xs:element name=
"Default" type=
"
xs:date" minOccurs=
"0"
/>
      <xs:element name=
"Value" type=
"
xs:date" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: AnswerDoubleType

Super-types: None
Sub-types: None
Name AnswerDoubleType
Abstract no
<...
>
   <c:Default> 
xs:double </c:Default> [0..1]
   <c:Value> 
xs:double </c:Value> [0..1]
</...>
<xs:complexType name=
"AnswerDoubleType"
>
   <xs:sequence
>
      <xs:element name=
"Default" type=
"
xs:double" minOccurs=
"0"
/>
      <xs:element name=
"Value" type=
"
xs:double" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: AnswerIntegerType

Super-types: None
Sub-types: None
Name AnswerIntegerType
Abstract no
<...
>
   <c:Default> 
xs:integer </c:Default> [0..1]
   <c:Value> 
xs:integer </c:Value> [0..1]
</...>
<xs:complexType name=
"AnswerIntegerType"
>
   <xs:sequence
>
      <xs:element name=
"Default" type=
"
xs:integer" minOccurs=
"0"
/>
      <xs:element name=
"Value" type=
"
xs:integer" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: AnswerStringType

Super-types: None
Sub-types: None
Name AnswerStringType
Abstract no
<...
>
   <c:Default> 
xs:string </c:Default> [0..1]
   <c:Value> 
xs:string </c:Value> [0..1]
</...>
<xs:complexType name=
"AnswerStringType"
>
   <xs:sequence
>
      <xs:element name=
"Default" type=
"
xs:string" minOccurs=
"0"
/>
      <xs:element name=
"Value" type=
"
xs:string" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: AnswerYesNoUnknownType

Super-types: None
Sub-types: None
Name AnswerYesNoUnknownType
Abstract no
<...
>
   <c:Default> 
c:YesNoUnknownType
 </c:Default> [0..1]
   <c:Value> 
c:YesNoUnknownType
 </c:Value> [0..1]
</...>
<xs:complexType name=
"AnswerYesNoUnknownType"
>
   <xs:sequence
>
      <xs:element name=
"Default" type=
"
c:YesNoUnknownType
" minOccurs=
"0"
/>
      <xs:element name=
"Value" type=
"
c:YesNoUnknownType
" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: BalanceType

Super-types: None
Sub-types: None
Name BalanceType
Abstract no
<...
>
   Start Choice [1]

      <c:FavourCompany> 
c:SalaryAmountAbsoluteType
 </c:FavourCompany> [1] 
      <c:FavourInstitution> 
c:SalaryAmountAbsoluteType
 </c:FavourInstitution> [1] 
   End Choice
</...>
<xs:complexType name=
"BalanceType"
>
   <xs:choice
>
      <xs:element name=
"FavourCompany" type=
"
c:SalaryAmountAbsoluteType
"
/>
      <xs:element name=
"FavourInstitution" type=
"
c:SalaryAmountAbsoluteType
"
/>
   </xs:choice>
</xs:complexType>

Complex Type: ChangeCredentialsType

Super-types: None
Sub-types: None
Name ChangeCredentialsType
Abstract no
<...
>
   <c:OldCredentials> 
c:CredentialsType
 </c:OldCredentials> [1] 
   <c:NewCredentials> 
c:CredentialsType
 </c:NewCredentials> [1] 
</...>
<xs:complexType name=
"ChangeCredentialsType"
>
   <xs:sequence
>
      <xs:element name=
"OldCredentials" type=
"
c:CredentialsType
"
/>
      <xs:element name=
"NewCredentials" type=
"
c:CredentialsType
"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: CheckInteroperabilityResponseType

Super-types: None
Sub-types: None
Name CheckInteroperabilityResponseType
Abstract no
<...
>
   <c:UserAgent> 
c:UserAgentType
 </c:UserAgent> [1] 
   <c:UmlautStringIsCorrect> 
c:SimpleBooleanType
 </c:UmlautStringIsCorrect> [1]
   <c:FirstOperandIsCorrect> 
c:SimpleBooleanType
 </c:FirstOperandIsCorrect> [1]
   <c:UmlautString> 
xs:string </c:UmlautString> [1]
   <c:AdditionResult> 
c:SalaryAmountType
 </c:AdditionResult> [1]
   <c:SubtractionResult> 
c:SalaryAmountType
 </c:SubtractionResult> [1]
   <c:SystemDateTime> 
xs:dateTime </c:SystemDateTime> [1] 
</...>
<xs:complexType name=
"CheckInteroperabilityResponseType"
>
   <xs:sequence
>
      <xs:element name=
"UserAgent" type=
"
c:UserAgentType
"
/>
<-- we expect following string as value of UmlautString: äëöüáéóúàèòùâêôû -->      <xs:element name=
"UmlautStringIsCorrect" type=
"
c:SimpleBooleanType
"
/>
<-- expected are 999000000000.00 (999 billions) -->
<-- erwartet werden 999000000000.00 (999 Milliarden) -->      <xs:element name=
"FirstOperandIsCorrect" type=
"
c:SimpleBooleanType
"
/>
      <xs:element name=
"UmlautString" type=
"
xs:string"
/>
      <xs:element name=
"AdditionResult" type=
"
c:SalaryAmountType
"
/>
      <xs:element name=
"SubtractionResult" type=
"
c:SalaryAmountType
"
/>
      <xs:element name=
"SystemDateTime" type=
"
xs:dateTime"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: CheckInteroperabilityType

Super-types: None
Sub-types: None
Name CheckInteroperabilityType
Abstract no
<...
>
   <c:UserAgent> 
c:UserAgentType
 </c:UserAgent> [1] 
   <c:UmlautString> 
xs:string </c:UmlautString> [1] 
   <c:FirstOperand> 
c:SalaryAmountType
 </c:FirstOperand> [1] 
   <c:SecondOperand> 
c:SalaryAmountType
 </c:SecondOperand> [1] 
   <c:SystemDateTime> 
xs:dateTime </c:SystemDateTime> [1] 
   <c:MonitoringID> 
c:MonitoringIDType
 </c:MonitoringID> [0..1] 
</...>
<xs:complexType name=
"CheckInteroperabilityType"
>
   <xs:sequence
>
      <xs:element name=
"UserAgent" type=
"
c:UserAgentType
"
/>
<-- use following UmlautString: ÄËÖÜÁÉÓÚÀÈÒÙÂÊÔÛ -->      <xs:element name=
"UmlautString" type=
"
xs:string"
/>
<-- use following value for the FirstOperand: 999000000000.00 (999 milliards)-->
<-- verwende folgenden Wert als FirstOperand: 999000000000.00 (999 Milliarden)-->      <xs:element name=
"FirstOperand" type=
"
c:SalaryAmountType
"
/>
      <xs:element name=
"SecondOperand" type=
"
c:SalaryAmountType
"
/>
      <xs:element name=
"SystemDateTime" type=
"
xs:dateTime"
/>
<-- MonitoringID: acts as identyfier for writing and accessing
                monitoring informations in/from a reference application
                (related to testing and certification) -->      <xs:element name=
"MonitoringID" type=
"
c:MonitoringIDType
" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: CivilStatusAndDateType

Super-types: None
Sub-types: None
Name CivilStatusAndDateType
Abstract no
<...
>
   <c:Status> 
c:CivilStatusType
 </c:Status> [1] 
   <c:ValidAsOf> 
xs:date </c:ValidAsOf> [0..1] 
</...>
<xs:complexType name=
"CivilStatusAndDateType"
>
   <xs:sequence
>
      <xs:element name=
"Status" type=
"
c:CivilStatusType
"
/>
      <xs:element name=
"ValidAsOf" type=
"
xs:date" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: CompanyDescriptionBaseType

Super-types: None
Sub-types:
Name CompanyDescriptionBaseType
Abstract no
<...
>
   <c:Name> 
c:CompanyNameType
 </c:Name> [1] 
   <c:Owner> 
c:CompanyOwnerType
 </c:Owner> [0..1] 
   <c:Address> 
c:AddressType
 </c:Address> [1] 
   <c:UID-BFS> 
c:UID-BFS-UnknownType
 </c:UID-BFS> [1] 
   <c:Delegate> 
c:DelegateType
 </c:Delegate> [0..1] 
</...>
<xs:complexType name=
"CompanyDescriptionBaseType"
>
   <xs:sequence
>
      <xs:element name=
"Name" type=
"
c:CompanyNameType
"
/>
      <xs:element name=
"Owner" type=
"
c:CompanyOwnerType
" minOccurs=
"0"
/>
      <xs:element name=
"Address" type=
"
c:AddressType
"
/>
      <xs:element name=
"UID-BFS" type=
"
c:UID-BFS-UnknownType
"
/>
      <xs:element name=
"Delegate" type=
"
c:DelegateType
" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: CompanyDescriptionType

Super-types: CompanyDescriptionBaseType < CompanyDescriptionType (by extension)
Sub-types: None
Name CompanyDescriptionType
Abstract no
<...
>
   <c:Name> 
c:CompanyNameType
 </c:Name> [1] 
   <c:Owner> 
c:CompanyOwnerType
 </c:Owner> [0..1] 
   <c:Address> 
c:AddressType
 </c:Address> [1] 
   <c:UID-BFS> 
c:UID-BFS-UnknownType
 </c:UID-BFS> [1] 
   <c:Delegate> 
c:DelegateType
 </c:Delegate> [0..1] 
   <c:Workplace> 
c:WorkplaceType
 </c:Workplace> [1..*] 
</...>
<xs:complexType name=
"CompanyDescriptionType"
>
   <xs:complexContent
>
      <xs:extension base=
"
c:CompanyDescriptionBaseType
"
>
         <xs:sequence
>
            <xs:element name=
"Workplace" type=
"
c:WorkplaceType
" maxOccurs=
"unbounded"
/>
         </xs:sequence>
      </xs:extension>
   </xs:complexContent>
</xs:complexType>

Complex Type: CompanyNameType

Super-types: None
Sub-types: None
Name CompanyNameType
Abstract no
<...
>
   <c:HR-RC-Name> 
xs:string </c:HR-RC-Name> [1] 
   <c:ComplementaryLine> 
xs:string </c:ComplementaryLine> [0..2] 
</...>
<xs:complexType name=
"CompanyNameType"
>
   <xs:sequence
>
      <xs:element name=
"HR-RC-Name" type=
"
xs:string"
/>
      <xs:element name=
"ComplementaryLine" type=
"
xs:string" minOccurs=
"0" maxOccurs=
"2"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: CompanyOwnerType

Super-types: None
Sub-types: None
Name CompanyOwnerType
Abstract no
<...
>
   <c:Firstname> 
xs:string </c:Firstname> [1] 
   <c:Lastname> 
xs:string </c:Lastname> [1] 
</...>
<xs:complexType name=
"CompanyOwnerType"
>
   <xs:sequence
>
      <xs:element name=
"Firstname" type=
"
xs:string"
/>
      <xs:element name=
"Lastname" type=
"
xs:string"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: CompanyWorkingTimeIDType

Super-types: None
Sub-types: None
Name CompanyWorkingTimeIDType
Abstract no
<...
>
   Start Choice [1]

      <c:WeeklyHours> 
c:WeeklyHoursIDType
 </c:WeeklyHours> [1] 
      <c:WeeklyLessons> 
c:WeeklyLessonsIDType
 </c:WeeklyLessons> [1] 
      <c:WeeklyHoursAndLessons> 
c:WeeklyHoursAndLessonsIDType
 </c:WeeklyHoursAndLessons> [1] 
   End Choice
</...>
<xs:complexType name=
"CompanyWorkingTimeIDType"
>
   <xs:choice
>
      <xs:element name=
"WeeklyHours" type=
"
c:WeeklyHoursIDType
"
/>
      <xs:element name=
"WeeklyLessons" type=
"
c:WeeklyLessonsIDType
"
/>
      <xs:element name=
"WeeklyHoursAndLessons" type=
"
c:WeeklyHoursAndLessonsIDType
"
/>
   </xs:choice>
</xs:complexType>

Complex Type: CompanyWorkingTimeRefType

Super-types: None
Sub-types: None
Name CompanyWorkingTimeRefType
Abstract no
<...
>
   Start Choice [1]

      <c:WeeklyHours> 
c:HoursRefType
 </c:WeeklyHours> [1] 
      <c:WeeklyLessons> 
c:LessonsRefType
 </c:WeeklyLessons> [1] 
      <c:WeeklyHoursAndLessons> 
c:WeeklyHoursAndLessonsRefType
 </c:WeeklyHoursAndLessons> [1] 
   End Choice
</...>
<xs:complexType name=
"CompanyWorkingTimeRefType"
>
   <xs:choice
>
      <xs:element name=
"WeeklyHours" type=
"
c:HoursRefType
"
/>
      <xs:element name=
"WeeklyLessons" type=
"
c:LessonsRefType
"
/>
      <xs:element name=
"WeeklyHoursAndLessons" type=
"
c:WeeklyHoursAndLessonsRefType
"
/>
   </xs:choice>
</xs:complexType>

Complex Type: ContactInstitutionType

Super-types: None
Sub-types: None
Name ContactInstitutionType
Abstract no
<...
>
   <c:Name> 
c:NotEmptyStringType
 </c:Name> [1] 
   <c:EmailAddress> 
c:EmailAddressType
 </c:EmailAddress> [0..1] 
   <c:PhoneNumber> 
xs:string </c:PhoneNumber> [0..1] 
   <c:MobilePhoneNumber> 
xs:string </c:MobilePhoneNumber> [0..1] 
</...>
<xs:complexType name=
"ContactInstitutionType"
>
   <xs:sequence
>
      <xs:element name=
"Name" type=
"
c:NotEmptyStringType
"
/>
      <xs:element name=
"EmailAddress" type=
"
c:EmailAddressType
" minOccurs=
"0"
/>
      <xs:element name=
"PhoneNumber" type=
"
xs:string" minOccurs=
"0"
/>
      <xs:element name=
"MobilePhoneNumber" type=
"
xs:string" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: CredentialsType

Super-types: None
Sub-types: None
Name CredentialsType
Abstract no
<...
>
   <c:Key> 
xs:string </c:Key> [1] 
   <c:Password> 
xs:string </c:Password> [1] 
</...>
<xs:complexType name=
"CredentialsType"
>
   <xs:sequence
>
      <xs:element name=
"Key" type=
"
xs:string"
/>
      <xs:element name=
"Password" type=
"
xs:string"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: DelegateType

Super-types: None
Sub-types: None
Name DelegateType
Abstract no
<...
>
   <c:Name> 
c:CompanyNameType
 </c:Name> [1] 
   <c:Owner> 
c:CompanyOwnerType
 </c:Owner> [0..1] 
   <c:Address> 
c:AddressType
 </c:Address> [1] 
   <c:UID-BFS> 
c:UID-BFSType
 </c:UID-BFS> [1] 
</...>
<xs:complexType name=
"DelegateType"
>
   <xs:sequence
>
      <xs:element name=
"Name" type=
"
c:CompanyNameType
"
/>
      <xs:element name=
"Owner" type=
"
c:CompanyOwnerType
" minOccurs=
"0"
/>
      <xs:element name=
"Address" type=
"
c:AddressType
"
/>
      <xs:element name=
"UID-BFS" type=
"
c:UID-BFSType
"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: DialogMessagesType

Super-types: None
Sub-types: None
Name DialogMessagesType
Abstract no
<...
>
   <c:DialogMessage> 
c:DialogMessageType
 
      <!--
       Key Constraint - 
SectionID-Key3

       Selector - c:Section
       Field(s) - @sectionID
      -->
      <!--
       Key Reference Constraint - SectionID-Ref3
       Selector - c:Paragraph
       Field(s) - @sectionIDRef
       Refers to - c:SectionID-Key3
      -->
   </c:DialogMessage> [1..*] 
</...>
<xs:complexType name=
"DialogMessagesType"
>
   <xs:sequence
>
      <xs:element name=
"DialogMessage" type=
"
c:DialogMessageType
" maxOccurs=
"unbounded"
>
         <xs:key name=
"SectionID-Key3"
>
            <xs:selector xpath=
"c:Section"
/>
            <xs:field xpath=
"@sectionID"
/>
         </xs:key>
         <xs:keyref name=
"SectionID-Ref3" refer=
"c:SectionID-Key3"
>
            <xs:selector xpath=
"c:Paragraph"
/>
            <xs:field xpath=
"@sectionIDRef"
/>
         </xs:keyref>
      </xs:element>
   </xs:sequence>
</xs:complexType>

Complex Type: DialogMessageType

Super-types: StoryBaseType < DialogMessageType (by extension)
Sub-types: None
Name DialogMessageType
Abstract no
<...
>
   <c:Creation> 
xs:dateTime </c:Creation> [1] 
   <c:StoryID> 
c:IDType
 </c:StoryID> [1] 
   <c:StandardDialogID> 
c:StandardFormIDType
 </c:StandardDialogID> [1] 
   <c:Previous> 
c:PreviousType
 </c:Previous> [0..1] 
   <c:Title> 
c:IDType
 </c:Title> [0..1] 
   <c:Description> 
xs:token </c:Description> [0..1] 
   <c:Paragraph> 
c:ParagraphType
 </c:Paragraph> [1..*] 
   <c:Section> 
c:SectionType
 </c:Section> [0..*] 
</...>
<xs:complexType name=
"DialogMessageType"
>
   <xs:complexContent
>
      <xs:extension base=
"
c:StoryBaseType
"
>
         <xs:sequence
>
            <xs:element name=
"StandardDialogID" type=
"
c:StandardFormIDType
"
/>
            <xs:element name=
"Previous" type=
"
c:PreviousType
" minOccurs=
"0"
/>
            <xs:element name=
"Title" type=
"
c:IDType
" minOccurs=
"0"
/>
            <xs:element name=
"Description" type=
"
xs:token" minOccurs=
"0"
/>
            <xs:element name=
"Paragraph" type=
"
c:ParagraphType
" maxOccurs=
"unbounded"
/>
            <xs:element name=
"Section" type=
"
c:SectionType
" minOccurs=
"0" maxOccurs=
"unbounded"
/>
         </xs:sequence>
      </xs:extension>
   </xs:complexContent>
</xs:complexType>

Complex Type: EmptyType

Super-types: None
Sub-types: None
Name EmptyType
Abstract no
<xs:complexType name=
"EmptyType"
/>

Complex Type: FaultStateType

Super-types: None
Sub-types: None
Name FaultStateType
Abstract no
Translation (it):
Stato di errore
<...
>
   <c:Code> 
c:FaultCodeType
 </c:Code> [1] 
   <c:Error> 
c:NotificationsType
 </c:Error> [0..1] 
   <c:Warning> 
c:NotificationsType
 </c:Warning> [0..1] 
   <c:Info> 
c:NotificationsType
 </c:Info> [0..1] 
</...>
<xs:complexType name=
"FaultStateType"
>
   <xs:sequence
>
      <xs:element name=
"Code" type=
"
c:FaultCodeType
"
/>
      <xs:element name=
"Error" type=
"
c:NotificationsType
" minOccurs=
"0"
/>
      <xs:element name=
"Warning" type=
"
c:NotificationsType
" minOccurs=
"0"
/>
      <xs:element name=
"Info" type=
"
c:NotificationsType
" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: HoursRefType

Super-types: xs:decimal < HoursOrLessonsType (by restriction) < HoursRefType (by extension)
Sub-types: None
Name HoursRefType
Abstract no
<...
 companyWeeklyHoursIDRef=
"
c:InstanceRefIDType
" [1] 
>
    
c:HoursOrLessonsType

</...>
<xs:complexType name=
"HoursRefType"
>
   <xs:simpleContent
>
      <xs:extension base=
"
c:HoursOrLessonsType
"
>
         <xs:attribute name=
"companyWeeklyHoursIDRef" type=
"
c:InstanceRefIDType
" use=
"required"
/>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

Complex Type: IncidentCaseIDType

Super-types: xs:string < IDType (by restriction) < IncidentCaseIDType (by extension)
Sub-types: None
Name IncidentCaseIDType
Abstract no
Translation (it):
IncidentCaseID
<xs:complexType name=
"IncidentCaseIDType"
>
   <xs:simpleContent
>
      <xs:extension base=
"
c:IDType
"
/>
   </xs:simpleContent>
</xs:complexType>

Complex Type: IncidentCaseIDWithMapType

Super-types: xs:string < IDType (by restriction) < IncidentCaseIDType (by extension) < IncidentCaseIDWithMapType (by extension)
Sub-types: None
Name IncidentCaseIDWithMapType
Abstract no
<...
 incidentCaseIDMap=
"
c:InstanceRefIDType
" [1] 
>
    
c:IncidentCaseIDType

</...>
<xs:complexType name=
"IncidentCaseIDWithMapType"
>
   <xs:simpleContent
>
      <xs:extension base=
"
c:IncidentCaseIDType
"
>
         <xs:attribute name=
"incidentCaseIDMap" type=
"
c:InstanceRefIDType
" use=
"required"
/>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

Complex Type: LessonsRefType

Super-types: xs:decimal < HoursOrLessonsType (by restriction) < LessonsRefType (by extension)
Sub-types: None
Name LessonsRefType
Abstract no
<...
 companyWeeklyLessonsIDRef=
"
c:InstanceRefIDType
" [1] 
>
    
c:HoursOrLessonsType

</...>
<xs:complexType name=
"LessonsRefType"
>
   <xs:simpleContent
>
      <xs:extension base=
"
c:HoursOrLessonsType
"
>
         <xs:attribute name=
"companyWeeklyLessonsIDRef" type=
"
c:InstanceRefIDType
" use=
"required"
/>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

Complex Type: MessageType

Super-types: xs:string < MessageType (by extension)
Sub-types: None
Name MessageType
Abstract no
<...
 language=
"
c:LanguageCodeType
" [1]
>
    
xs:string
</...>
<xs:complexType name=
"MessageType"
>
   <xs:simpleContent
>
      <xs:extension base=
"
xs:string"
>
         <xs:attribute name=
"language" type=
"
c:LanguageCodeType
" use=
"required"
/>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

Complex Type: NameAndAddressType

Super-types: None
Sub-types: None
Name NameAndAddressType
Abstract no
<...
>
   <c:Name> 
xs:string </c:Name> [1] 
   <c:Address> 
c:AddressType
 </c:Address> [0..1] 
</...>
<xs:complexType name=
"NameAndAddressType"
>
   <xs:sequence
>
      <xs:element name=
"Name" type=
"
xs:string"
/>
      <xs:element name=
"Address" type=
"
c:AddressType
" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: NotificationsType

Super-types: None
Sub-types: None
Name NotificationsType
Abstract no
<...
>
   <c:Notification> 
c:NotificationType
 </c:Notification> [1..*] 
</...>
<xs:complexType name=
"NotificationsType"
>
   <xs:sequence
>
      <xs:element name=
"Notification" type=
"
c:NotificationType
" maxOccurs=
"unbounded"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: NotificationType

Super-types: None
Sub-types: None
Name NotificationType
Abstract no
<...
>
   <c:QualityLevel> 
c:QualityLevelType
 </c:QualityLevel> [1] 
   <c:DescriptionCode> 
c:DescriptionCodeType
 </c:DescriptionCode> [1] 
   <c:Description> 
xs:string </c:Description> [1] 
</...>
<xs:complexType name=
"NotificationType"
>
   <xs:sequence
>
      <xs:element name=
"QualityLevel" type=
"
c:QualityLevelType
"
/>
      <xs:element name=
"DescriptionCode" type=
"
c:DescriptionCodeType
"
/>
      <xs:element name=
"Description" type=
"
xs:string"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: ParagraphAnswerType

Super-types: None
Sub-types: None
Name ParagraphAnswerType
Abstract no
<...
 optional=
"
c:EmptySimpleType
" [0..1] 
>
   Start Choice [1]

      <c:String> 
c:AnswerStringType
 </c:String> [1]
      <c:Integer> 
c:AnswerIntegerType
 </c:Integer> [1]
      <c:Double> 
c:AnswerDoubleType
 </c:Double> [1]
      <c:Boolean> 
c:AnswerBooleanType
 </c:Boolean> [1]
      <c:Date> 
c:AnswerDateType
 </c:Date> [1]
      <c:DateTime> 
c:AnswerDateTimeType
 </c:DateTime> [1]
      <c:YesNoUnknown> 
c:AnswerYesNoUnknownType
 </c:YesNoUnknown> [1]
      <c:Amount> 
c:AnswerAmountType
 </c:Amount> [1]
   End Choice
   <c:Problem> 
c:NotEmptyStringType
 </c:Problem> [0..1] 
</...>
<xs:complexType name=
"ParagraphAnswerType"
>
   <xs:sequence
>
      <xs:choice
>
         <xs:element name=
"String" type=
"
c:AnswerStringType
"
/>
         <xs:element name=
"Integer" type=
"
c:AnswerIntegerType
"
/>
         <xs:element name=
"Double" type=
"
c:AnswerDoubleType
"
/>
         <xs:element name=
"Boolean" type=
"
c:AnswerBooleanType
"
/>
         <xs:element name=
"Date" type=
"
c:AnswerDateType
"
/>
         <xs:element name=
"DateTime" type=
"
c:AnswerDateTimeType
"
/>
         <xs:element name=
"YesNoUnknown" type=
"
c:AnswerYesNoUnknownType
"
/>
         <xs:element name=
"Amount" type=
"
c:AnswerAmountType
"
/>
      </xs:choice>
      <xs:element name=
"Problem" type=
"
c:NotEmptyStringType
" minOccurs=
"0"
/>
   </xs:sequence>
   <xs:attribute name=
"optional" type=
"
c:EmptySimpleType
" use=
"optional"
/>
</xs:complexType>

Complex Type: ParagraphType

Super-types: None
Sub-types: None
Name ParagraphType
Abstract no
<...
 sectionIDRef=
"
c:SectionIDType
" [0..1] 
>
   <c:ID> 
xs:short </c:ID> [1] 
   <c:Label> 
xs:token </c:Label> [1]
   Start Choice [1]

      <c:Value> 
c:ParagraphValueType
 </c:Value> [0..1] 
      <c:Answer> 
c:ParagraphAnswerType
 </c:Answer> [0..1] 
   End Choice
</...>
<xs:complexType name=
"ParagraphType"
>
   <xs:sequence
>
<-- short to create an order -->      <xs:element name=
"ID" type=
"
xs:short"
/>
      <xs:element name=
"Label" type=
"
xs:token"
/>
      <xs:choice
>
         <xs:element name=
"Value" type=
"
c:ParagraphValueType
" minOccurs=
"0"
/>
         <xs:element name=
"Answer" type=
"
c:ParagraphAnswerType
" minOccurs=
"0"
/>
      </xs:choice>
   </xs:sequence>
   <xs:attribute name=
"sectionIDRef" type=
"
c:SectionIDType
"
/>
</xs:complexType>

Complex Type: ParagraphValueType

Super-types: None
Sub-types: None
Name ParagraphValueType
Abstract no
<...
>
   Start Choice [1]

      <c:String> 
xs:string </c:String> [1]
      <c:Integer> 
xs:integer </c:Integer> [1]
      <c:Double> 
xs:double </c:Double> [1]
      <c:Boolean> 
xs:boolean </c:Boolean> [1]
      <c:Date> 
xs:date </c:Date> [1]
      <c:DateTime> 
xs:dateTime </c:DateTime> [1]
      <c:YesNoUnknown> 
c:YesNoUnknownType
 </c:YesNoUnknown> [1]
      <c:Amount> 
c:SalaryAmountType
 </c:Amount> [1]
   End Choice
</...>
<xs:complexType name=
"ParagraphValueType"
>
   <xs:choice
>
      <xs:element name=
"String" type=
"
xs:string"
/>
      <xs:element name=
"Integer" type=
"
xs:integer"
/>
      <xs:element name=
"Double" type=
"
xs:double"
/>
      <xs:element name=
"Boolean" type=
"
xs:boolean"
/>
      <xs:element name=
"Date" type=
"
xs:date"
/>
      <xs:element name=
"DateTime" type=
"
xs:dateTime"
/>
      <xs:element name=
"YesNoUnknown" type=
"
c:YesNoUnknownType
"
/>
      <xs:element name=
"Amount" type=
"
c:SalaryAmountType
"
/>
   </xs:choice>
</xs:complexType>

Complex Type: ParticularsBase2Type

Super-types: ParticularsBaseType < ParticularsBase2Type (by extension)
Sub-types:
Name ParticularsBase2Type
Abstract no
<...
>
   <c:Social-InsuranceIdentification> 
c:Social-InsuranceIdentificationType
 </c:Social-InsuranceIdentification> [1] 
   <c:EmployeeNumber> 
xs:string </c:EmployeeNumber> [0..1] 
   <c:Lastname> 
xs:string </c:Lastname> [1] 
   <c:Firstname> 
xs:string </c:Firstname> [1] 
   <c:Sex> 
c:SexType
 </c:Sex> [1] 
   <c:DateOfBirth> 
xs:date </c:DateOfBirth> [1] 
   <c:Nationality> 
c:NationalityType
 </c:Nationality> [1] 
   <c:CivilStatus> 
c:CivilStatusAndDateType
 </c:CivilStatus> [1] 
   <c:Address> 
c:AddressType
 </c:Address> [1] 
   <c:EmailAddress> 
c:EmailAddressType
 </c:EmailAddress> [0..1] 
   <c:PhoneNumber> 
xs:string </c:PhoneNumber> [0..1] 
   <c:MobilePhoneNumber> 
xs:string </c:MobilePhoneNumber> [0..1] 
   <c:ResidenceCanton> 
c:CantonAndEXType
 </c:ResidenceCanton> [1] 
   <c:MunicipalityID> 
c:MunicipalityIDType
 </c:MunicipalityID> [0..1] 
   <c:ResidenceCategory> 
c:ResidenceCategoryType
 </c:ResidenceCategory> [0..1] 
</...>
<xs:complexType name=
"ParticularsBase2Type"
>
   <xs:complexContent
>
      <xs:extension base=
"
c:ParticularsBaseType
"
>
         <xs:sequence
>
            <xs:element name=
"Address" type=
"
c:AddressType
"
/>
            <xs:element name=
"EmailAddress" type=
"
c:EmailAddressType
" minOccurs=
"0"
/>
            <xs:element name=
"PhoneNumber" type=
"
xs:string" minOccurs=
"0"
/>
            <xs:element name=
"MobilePhoneNumber" type=
"
xs:string" minOccurs=
"0"
/>
            <xs:element name=
"ResidenceCanton" type=
"
c:CantonAndEXType
"
/>
            <xs:element name=
"MunicipalityID" type=
"
c:MunicipalityIDType
" minOccurs=
"0"
/>
            <xs:element name=
"ResidenceCategory" type=
"
c:ResidenceCategoryType
" minOccurs=
"0"
/>
         </xs:sequence>
      </xs:extension>
   </xs:complexContent>
</xs:complexType>

Complex Type: ParticularsBaseType

Super-types: None
Sub-types:
Name ParticularsBaseType
Abstract no
<...
>
   <c:Social-InsuranceIdentification> 
c:Social-InsuranceIdentificationType
 </c:Social-InsuranceIdentification> [1] 
   <c:EmployeeNumber> 
xs:string </c:EmployeeNumber> [0..1] 
   <c:Lastname> 
xs:string </c:Lastname> [1] 
   <c:Firstname> 
xs:string </c:Firstname> [1] 
   <c:Sex> 
c:SexType
 </c:Sex> [1] 
   <c:DateOfBirth> 
xs:date </c:DateOfBirth> [1] 
   <c:Nationality> 
c:NationalityType
 </c:Nationality> [1] 
   <c:CivilStatus> 
c:CivilStatusAndDateType
 </c:CivilStatus> [1] 
</...>
<xs:complexType name=
"ParticularsBaseType"
>
   <xs:sequence
>
      <xs:element name=
"Social-InsuranceIdentification" type=
"
c:Social-InsuranceIdentificationType
"
/>
      <xs:element name=
"EmployeeNumber" type=
"
xs:string" minOccurs=
"0"
/>
      <xs:element name=
"Lastname" type=
"
xs:string"
/>
      <xs:element name=
"Firstname" type=
"
xs:string"
/>
      <xs:element name=
"Sex" type=
"
c:SexType
"
/>
      <xs:element name=
"DateOfBirth" type=
"
xs:date"
/>
      <xs:element name=
"Nationality" type=
"
c:NationalityType
"
/>
      <xs:element name=
"CivilStatus" type=
"
c:CivilStatusAndDateType
"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: ParticularsType

Super-types: ParticularsBaseType < ParticularsBase2Type (by extension) < ParticularsType (by extension)
Sub-types: None
Name ParticularsType
Abstract no
<...
>
   <c:Social-InsuranceIdentification> 
c:Social-InsuranceIdentificationType
 </c:Social-InsuranceIdentification> [1] 
   <c:EmployeeNumber> 
xs:string </c:EmployeeNumber> [0..1] 
   <c:Lastname> 
xs:string </c:Lastname> [1] 
   <c:Firstname> 
xs:string </c:Firstname> [1] 
   <c:Sex> 
c:SexType
 </c:Sex> [1] 
   <c:DateOfBirth> 
xs:date </c:DateOfBirth> [1] 
   <c:Nationality> 
c:NationalityType
 </c:Nationality> [1] 
   <c:CivilStatus> 
c:CivilStatusAndDateType
 </c:CivilStatus> [1] 
   <c:Address> 
c:AddressType
 </c:Address> [1] 
   <c:EmailAddress> 
c:EmailAddressType
 </c:EmailAddress> [0..1] 
   <c:PhoneNumber> 
xs:string </c:PhoneNumber> [0..1] 
   <c:MobilePhoneNumber> 
xs:string </c:MobilePhoneNumber> [0..1] 
   <c:ResidenceCanton> 
c:CantonAndEXType
 </c:ResidenceCanton> [1] 
   <c:MunicipalityID> 
c:MunicipalityIDType
 </c:MunicipalityID> [0..1] 
   <c:ResidenceCategory> 
c:ResidenceCategoryType
 </c:ResidenceCategory> [0..1] 
   <c:LanguageCode> 
c:LanguageCodeType
 </c:LanguageCode> [1] 
</...>
<xs:complexType name=
"ParticularsType"
>
   <xs:complexContent
>
      <xs:extension base=
"
c:ParticularsBase2Type
"
>
         <xs:sequence
>
            <xs:element name=
"LanguageCode" type=
"
c:LanguageCodeType
"
/>
         </xs:sequence>
      </xs:extension>
   </xs:complexContent>
</xs:complexType>

Complex Type: PingConsumerResponseType

Super-types: None
Sub-types: None
Name PingConsumerResponseType
Abstract no
<...
>
   <c:UserAgent> 
c:UserAgentType
 </c:UserAgent> [1] 
   <c:Timestamp> 
xs:dateTime </c:Timestamp> [1]
   Start Choice [0..1]

      <c:PlannedMaintenance> 
c:PlannedMaintenanceType
 </c:PlannedMaintenance> [1] 
      <c:NoPlannedMaintenance> 
c:EmptyType
 </c:NoPlannedMaintenance> [1] 
   End Choice
</...>
<xs:complexType name=
"PingConsumerResponseType"
>
   <xs:sequence
>
      <xs:element name=
"UserAgent" type=
"
c:UserAgentType
"
/>
      <xs:element name=
"Timestamp" type=
"
xs:dateTime"
/>
      <xs:choice minOccurs=
"0"
>
         <xs:element name=
"PlannedMaintenance" type=
"
c:PlannedMaintenanceType
"
/>
         <xs:element name=
"NoPlannedMaintenance" type=
"
c:EmptyType
"
/>
      </xs:choice>
   </xs:sequence>
</xs:complexType>

Complex Type: PingConsumerType

Super-types: None
Sub-types: None
Name PingConsumerType
Abstract no
<...
>
   <c:UserAgent> 
c:UserAgentType
 </c:UserAgent> [1] 
   <c:Timestamp> 
xs:dateTime </c:Timestamp> [1] 
   <c:NextCheck> 
xs:dateTime </c:NextCheck> [1] 
   <c:RegisteredMaintenance> 
c:RegisteredMaintenanceType
 </c:RegisteredMaintenance> [0..1] 
</...>
<xs:complexType name=
"PingConsumerType"
>
   <xs:sequence
>
      <xs:element name=
"UserAgent" type=
"
c:UserAgentType
"
/>
      <xs:element name=
"Timestamp" type=
"
xs:dateTime"
/>
      <xs:element name=
"NextCheck" type=
"
xs:dateTime"
/>
      <xs:element name=
"RegisteredMaintenance" type=
"
c:RegisteredMaintenanceType
" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: PingResponseType

Super-types: None
Sub-types: None
Name PingResponseType
Abstract no
<...
>
   <c:UserAgent> 
c:UserAgentType
 </c:UserAgent> [1] 
   <c:SystemDateTime> 
xs:dateTime </c:SystemDateTime> [1] 
</...>
<xs:complexType name=
"PingResponseType"
>
   <xs:sequence
>
      <xs:element name=
"UserAgent" type=
"
c:UserAgentType
"
/>
      <xs:element name=
"SystemDateTime" type=
"
xs:dateTime"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: PingType

Super-types: None
Sub-types: None
Name PingType
Abstract no
<...
>
   <c:UserAgent> 
c:UserAgentType
 </c:UserAgent> [1] 
   <c:SystemDateTime> 
xs:dateTime </c:SystemDateTime> [1] 
   <c:MonitoringID> 
c:MonitoringIDType
 </c:MonitoringID> [0..1] 
</...>
<xs:complexType name=
"PingType"
>
   <xs:sequence
>
      <xs:element name=
"UserAgent" type=
"
c:UserAgentType
"
/>
      <xs:element name=
"SystemDateTime" type=
"
xs:dateTime"
/>
<-- MonitoringID: acts as identyfier for writing and accessing
                monitoring informations in/from a reference application
                (related to testing and certification) -->      <xs:element name=
"MonitoringID" type=
"
c:MonitoringIDType
" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: PlannedMaintenanceType

Super-types: None
Sub-types: None
Name PlannedMaintenanceType
Abstract no
<...
>
   <c:Start> 
xs:dateTime </c:Start> [1]
   <c:End> 
xs:dateTime </c:End> [1]
   <c:ProducerMessages> 
c:ProducerMessagesType
 
      <!--
       Uniqueness Constraint - 
language

       Selector - c:Message
       Field(s) - @language
      -->
   </c:ProducerMessages> [1] 
</...>
<xs:complexType name=
"PlannedMaintenanceType"
>
   <xs:sequence
>
      <xs:element name=
"Start" type=
"
xs:dateTime"
/>
      <xs:element name=
"End" type=
"
xs:dateTime"
/>
      <xs:element name=
"ProducerMessages" type=
"
c:ProducerMessagesType
"
>
         <xs:unique name=
"language"
>
            <xs:selector xpath=
"c:Message"
/>
            <xs:field xpath=
"@language"
/>
         </xs:unique>
      </xs:element>
   </xs:sequence>
</xs:complexType>

Complex Type: PreviousType

Super-types: None
Sub-types: None
Name PreviousType
Abstract no
<...
>
   Start Choice [1]

      <c:RequestStoryID> 
c:IDType
 </c:RequestStoryID> [1] 
      <c:ResponseStoryID> 
c:IDType
 </c:ResponseStoryID> [1] 
   End Choice
</...>
<xs:complexType name=
"PreviousType"
>
   <xs:choice
>
      <xs:element name=
"RequestStoryID" type=
"
c:IDType
"
/>
      <xs:element name=
"ResponseStoryID" type=
"
c:IDType
"
/>
   </xs:choice>
</xs:complexType>

Complex Type: ProducerMessagesType

Super-types: None
Sub-types: None
Name ProducerMessagesType
Abstract no
<...
>
   <c:Message> 
c:MessageType
 </c:Message> [3..*]
</...>
<xs:complexType name=
"ProducerMessagesType"
>
   <xs:sequence
>
      <xs:element name=
"Message" type=
"
c:MessageType
" minOccurs=
"3" maxOccurs=
"unbounded"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: RegisteredMaintenanceType

Super-types: None
Sub-types: None
Name RegisteredMaintenanceType
Abstract no
<...
>
   <c:Start> 
xs:dateTime </c:Start> [1]
   <c:End> 
xs:dateTime </c:End> [1]
</...>
<xs:complexType name=
"RegisteredMaintenanceType"
>
   <xs:sequence
>
      <xs:element name=
"Start" type=
"
xs:dateTime"
/>
      <xs:element name=
"End" type=
"
xs:dateTime"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: SectionType

Super-types: None
Sub-types: None
Name SectionType
Abstract no
<...
 sectionID=
"
c:SectionIDType
" [1] 
>
   <c:Heading> 
c:IDType
 </c:Heading> [0..1] 
   <c:Description> 
xs:token </c:Description> [0..1] 
</...>
<xs:complexType name=
"SectionType"
>
   <xs:sequence
>
      <xs:element name=
"Heading" type=
"
c:IDType
" minOccurs=
"0"
/>
      <xs:element name=
"Description" type=
"
xs:token" minOccurs=
"0"
/>
   </xs:sequence>
   <xs:attribute name=
"sectionID" type=
"
c:SectionIDType
" use=
"required"
/>
</xs:complexType>

Complex Type: Social-InsuranceIdentificationType

Super-types: None
Sub-types: None
Name Social-InsuranceIdentificationType
Abstract no
<...
>
   Start Choice [1]

      <c:SV-AS-Number> 
c:SV-AS-NumberType
 </c:SV-AS-Number> [1] 
      <c:unknown> 
c:EmptyType
 </c:unknown> [1] 
   End Choice
</...>
<xs:complexType name=
"Social-InsuranceIdentificationType"
>
   <xs:choice
>
      <xs:element name=
"SV-AS-Number" type=
"
c:SV-AS-NumberType
"
/>
      <xs:element name=
"unknown" type=
"
c:EmptyType
"
/>
   </xs:choice>
</xs:complexType>

Complex Type: StoryBaseType

Super-types: None
Sub-types:
Name StoryBaseType
Abstract no
<...
>
   <c:Creation> 
xs:dateTime </c:Creation> [1] 
   <c:StoryID> 
c:IDType
 </c:StoryID> [1] 
</...>
<xs:complexType name=
"StoryBaseType"
>
   <xs:sequence
>
      <xs:element name=
"Creation" type=
"
xs:dateTime"
/>
      <xs:element name=
"StoryID" type=
"
c:IDType
"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: TaxAtSourceCategoryType

Super-types: None
Sub-types: None
Name TaxAtSourceCategoryType
Abstract no
<...
>
   Start Choice [1]

      <c:TaxAtSourceCode> 
c:TaxAtSourceCodeType
 </c:TaxAtSourceCode> [1] 
      <c:CategoryPredefined> 
c:CategoryPredefinedType
 </c:CategoryPredefined> [1] 
      <c:CategoryOpen> 
c:IDType
 </c:CategoryOpen> [1] 
   End Choice
</...>
<xs:complexType name=
"TaxAtSourceCategoryType"
>
   <xs:choice
>
      <xs:element name=
"TaxAtSourceCode" type=
"
c:TaxAtSourceCodeType
"
/>
      <xs:element name=
"CategoryPredefined" type=
"
c:CategoryPredefinedType
"
/>
      <xs:element name=
"CategoryOpen" type=
"
c:IDType
"
/>
   </xs:choice>
</xs:complexType>

Complex Type: TimePeriodType

Super-types: None
Sub-types: None
Name TimePeriodType
Abstract no
<...
>
   <c:from> 
xs:date </c:from> [1] 
   <c:until> 
xs:date </c:until> [1] 
</...>
<xs:complexType name=
"TimePeriodType"
>
   <xs:sequence
>
      <xs:element name=
"from" type=
"
xs:date"
/>
      <xs:element name=
"until" type=
"
xs:date"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: UID-BFS-UnknownType

Super-types: None
Sub-types: None
Name UID-BFS-UnknownType
Abstract no
<...
>
   Start Choice [1]

      <c:UID> 
c:UID-BFSType
 </c:UID> [1] 
      <c:Unknown> 
c:EmptyType
 </c:Unknown> [1] 
   End Choice
</...>
<xs:complexType name=
"UID-BFS-UnknownType"
>
   <xs:choice
>
      <xs:element name=
"UID" type=
"
c:UID-BFSType
"
/>
      <xs:element name=
"Unknown" type=
"
c:EmptyType
"
/>
   </xs:choice>
</xs:complexType>

Complex Type: UserAgentType

Super-types: None
Sub-types: None
Name UserAgentType
Abstract no
<...
>
   <c:Producer> 
c:NotEmptyStringType
 </c:Producer> [1] 
   <c:Name> 
c:NotEmptyStringType
 </c:Name> [1] 
   <c:Version> 
c:NotEmptyStringType
 </c:Version> [1] 
   <c:StandardVersion> 
xs:decimal </c:StandardVersion> [1] 
   <c:Certificate> 
c:NotEmptyStringType
 </c:Certificate> [1] 
</...>
<xs:complexType name=
"UserAgentType"
>
   <xs:sequence
>
      <xs:element name=
"Producer" type=
"
c:NotEmptyStringType
"
/>
      <xs:element name=
"Name" type=
"
c:NotEmptyStringType
"
/>
      <xs:element name=
"Version" type=
"
c:NotEmptyStringType
"
/>
      <xs:element name=
"StandardVersion" type=
"
xs:decimal"
/>
      <xs:element name=
"Certificate" type=
"
c:NotEmptyStringType
"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: WeeklyHoursAndLessonsIDType

Super-types: WeeklyHoursAndLessonsType < WeeklyHoursAndLessonsIDType (by extension)
Sub-types: None
Name WeeklyHoursAndLessonsIDType
Abstract no
<...
 companyWeeklyHoursAndLessonsID=
"
c:InstanceRefIDType
" [1] 
>
   <c:WeeklyHours> 
c:HoursOrLessonsType
 </c:WeeklyHours> [1] 
   <c:WeeklyLessons> 
c:HoursOrLessonsType
 </c:WeeklyLessons> [1] 
</...>
<xs:complexType name=
"WeeklyHoursAndLessonsIDType"
>
   <xs:complexContent
>
      <xs:extension base=
"
c:WeeklyHoursAndLessonsType
"
>
         <xs:attribute name=
"companyWeeklyHoursAndLessonsID" type=
"
c:InstanceRefIDType
" use=
"required"
/>
      </xs:extension>
   </xs:complexContent>
</xs:complexType>

Complex Type: WeeklyHoursAndLessonsRefType

Super-types: None
Sub-types: None
Name WeeklyHoursAndLessonsRefType
Abstract no
<...
 companyWeeklyHoursAndLessonsIDRef=
"
c:InstanceRefIDType
" [1] 
>
   <c:WeeklyHours> 
c:HoursOrLessonsType
 </c:WeeklyHours> [1] 
   <c:WeeklyLessons> 
c:HoursOrLessonsType
 </c:WeeklyLessons> [1] 
</...>
<xs:complexType name=
"WeeklyHoursAndLessonsRefType"
>
   <xs:sequence
>
      <xs:element name=
"WeeklyHours" type=
"
c:HoursOrLessonsType
"
/>
      <xs:element name=
"WeeklyLessons" type=
"
c:HoursOrLessonsType
"
/>
   </xs:sequence>
   <xs:attribute name=
"companyWeeklyHoursAndLessonsIDRef" type=
"
c:InstanceRefIDType
" use=
"required"
/>
</xs:complexType>

Complex Type: WeeklyHoursAndLessonsType

Super-types: None
Sub-types:
Name WeeklyHoursAndLessonsType
Abstract no
<...
>
   <c:WeeklyHours> 
c:HoursOrLessonsType
 </c:WeeklyHours> [1] 
   <c:WeeklyLessons> 
c:HoursOrLessonsType
 </c:WeeklyLessons> [1] 
</...>
<xs:complexType name=
"WeeklyHoursAndLessonsType"
>
   <xs:sequence
>
      <xs:element name=
"WeeklyHours" type=
"
c:HoursOrLessonsType
"
/>
      <xs:element name=
"WeeklyLessons" type=
"
c:HoursOrLessonsType
"
/>
   </xs:sequence>
</xs:complexType>

Complex Type: WeeklyHoursIDType

Super-types: xs:decimal < HoursOrLessonsType (by restriction) < WeeklyHoursIDType (by extension)
Sub-types: None
Name WeeklyHoursIDType
Abstract no
<...
 companyWeeklyHoursID=
"
c:InstanceRefIDType
" [1] 
>
    
c:HoursOrLessonsType

</...>
<xs:complexType name=
"WeeklyHoursIDType"
>
   <xs:simpleContent
>
      <xs:extension base=
"
c:HoursOrLessonsType
"
>
         <xs:attribute name=
"companyWeeklyHoursID" type=
"
c:InstanceRefIDType
" use=
"required"
/>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

Complex Type: WeeklyLessonsIDType

Super-types: xs:decimal < HoursOrLessonsType (by restriction) < WeeklyLessonsIDType (by extension)
Sub-types: None
Name WeeklyLessonsIDType
Abstract no
<...
 companyWeeklyLessonsID=
"
c:InstanceRefIDType
" [1] 
>
    
c:HoursOrLessonsType

</...>
<xs:complexType name=
"WeeklyLessonsIDType"
>
   <xs:simpleContent
>
      <xs:extension base=
"
c:HoursOrLessonsType
"
>
         <xs:attribute name=
"companyWeeklyLessonsID" type=
"
c:InstanceRefIDType
" use=
"required"
/>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

Complex Type: WorkplaceType

Super-types: None
Sub-types: None
Name WorkplaceType
Abstract no
<...
 workplaceID=
"
c:InstanceRefIDType
" [1] 
>
   Start Choice [0..1]

      <c:BUR-REE-Number> 
c:BUR-REE-NumberType
 </c:BUR-REE-Number> [1] 
      <c:InHouseID> 
c:IDType
 </c:InHouseID> [1] 
   End Choice
   <c:AddressExtended> 
c:AddressExtensionType
 </c:AddressExtended> [1] 
   <c:CompanyWorkingTime> 
c:CompanyWorkingTimeIDType
 </c:CompanyWorkingTime> [1..*] 
</...>
<xs:complexType name=
"WorkplaceType"
>
   <xs:sequence
>
      <xs:choice minOccurs=
"0"
>
         <xs:element name=
"BUR-REE-Number" type=
"
c:BUR-REE-NumberType
"
/>
         <xs:element name=
"InHouseID" type=
"
c:IDType
"
/>
      </xs:choice>
      <xs:element name=
"AddressExtended" type=
"
c:AddressExtensionType
"
/>
      <xs:element name=
"CompanyWorkingTime" type=
"
c:CompanyWorkingTimeIDType
" maxOccurs=
"unbounded"
/>
   </xs:sequence>
   <xs:attribute name=
"workplaceID" type=
"
c:InstanceRefIDType
" use=
"required"
/>
</xs:complexType>

Complex Type: WorkType

Super-types: None
Sub-types: None
Name WorkType
Abstract no
<...
>
   <c:WorkingTime   > [1]  
      Start Choice [1]

         <c:Steady         > [1]  
            Start Choice [1]

               <c:WeeklyHours> 
c:HoursOrLessonsType
 </c:WeeklyHours> [1] 
               <c:WeeklyLessons> 
c:HoursOrLessonsType
 </c:WeeklyLessons> [1] 
               <c:WeeklyHoursAndLessons> 
c:WeeklyHoursAndLessonsType
 </c:WeeklyHoursAndLessons> [1] 
            End Choice
            <c:ActivityRate> 
c:PercentType
 </c:ActivityRate> [1] 
         </c:Steady>
         <c:Unsteady> 
c:EmptyType
 </c:Unsteady> [1] 
      End Choice
   </c:WorkingTime>
   <c:EntryDate> 
xs:date </c:EntryDate> [1] 
   <c:WithdrawalDate> 
xs:date </c:WithdrawalDate> [0..1] 
</...>
<xs:complexType name=
"WorkType"
>
   <xs:sequence
>
      <xs:element name=
"WorkingTime"
>
         <xs:complexType
>
            <xs:choice
>
               <xs:element name=
"Steady"
>
                  <xs:complexType
>
                     <xs:sequence
>
                        <xs:choice
>
                           <xs:element name=
"WeeklyHours" type=
"
c:HoursOrLessonsType
"
/>
                           <xs:element name=
"WeeklyLessons" type=
"
c:HoursOrLessonsType
"
/>
                           <xs:element name=
"WeeklyHoursAndLessons" type=
"
c:WeeklyHoursAndLessonsType
"
/>
                        </xs:choice>
                        <xs:element name=
"ActivityRate" type=
"
c:PercentType
"
/>
                     </xs:sequence>
                  </xs:complexType>
               </xs:element>
               <xs:element name=
"Unsteady" type=
"
c:EmptyType
"
/>
            </xs:choice>
         </xs:complexType>
      </xs:element>
      <xs:element name=
"EntryDate" type=
"
xs:date"
/>
      <xs:element name=
"WithdrawalDate" type=
"
xs:date" minOccurs=
"0"
/>
   </xs:sequence>
</xs:complexType>

Model Group: NotificationsGroup

Name NotificationsGroup
<c:Notification> 
c:NotificationType
 </c:Notification> [1..*] 
<xs:group name=
"NotificationsGroup"
>
   <xs:sequence
>
      <xs:element name=
"Notification" type=
"
c:NotificationType
" maxOccurs=
"unbounded"
/>
   </xs:sequence>
</xs:group>

Model Group: RequestContextBaseGroup

Name RequestContextBaseGroup
<c:UserAgent> 
c:UserAgentType
 </c:UserAgent> [1] 
<c:CompanyName> 
c:CompanyNameType
 </c:CompanyName> [1] 
<c:TransmissionDate> 
xs:dateTime </c:TransmissionDate> [1] 
<c:RequestID> 
c:IDType
 </c:RequestID> [1] 
<c:LanguageCode> 
c:LanguageCodeType
 </c:LanguageCode> [1] 
<c:MonitoringID> 
c:MonitoringIDType
 </c:MonitoringID> [0..1] 
<xs:group name=
"RequestContextBaseGroup"
>
   <xs:sequence
>
      <xs:element name=
"UserAgent" type=
"
c:UserAgentType
"
/>
      <xs:element name=
"CompanyName" type=
"
c:CompanyNameType
"
/>
      <xs:element name=
"TransmissionDate" type=
"
xs:dateTime"
/>
      <xs:element name=
"RequestID" type=
"
c:IDType
"
/>
      <xs:element name=
"LanguageCode" type=
"
c:LanguageCodeType
"
/>
      <xs:element name=
"MonitoringID" type=
"
c:MonitoringIDType
" minOccurs=
"0"
/>
   </xs:sequence>
</xs:group>

Simple Type: AssuranceCategoryCodeType

Super-types: xs:NMTOKEN < AssuranceCategoryCodeType (by restriction)
Sub-types: None
Name AssuranceCategoryCodeType
Content
  • Base XSD Type: NMTOKEN
  • pattern = [A-Z0-9]{2}
<xs:simpleType name=
"AssuranceCategoryCodeType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:pattern value=
"[A-Z0-9]{2}"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: BUR-REE-NumberType

Super-types: xs:NMTOKEN < BUR-REE-NumberType (by restriction)
Sub-types: None
Name BUR-REE-NumberType
Content
  • Base XSD Type: NMTOKEN
  • pattern = [A-Z][0-9]{8}
Translation (it):
Type Numero RIS
<xs:simpleType name=
"BUR-REE-NumberType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:pattern value=
"[A-Z][0-9]{8}"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: CantonAddressType

Super-types: xs:NMTOKEN < CantonAndEXType (by restriction) < CantonAddressType (by restriction)
Sub-types: None
Name CantonAddressType
Content
  • Base XSD Type: NMTOKEN
  • value comes from list: {'AG'|'AI'|'AR'|'BE'|'BL'|'BS'|'FR'|'GE'|'GL'|'GR'|'JU'|'LU'|'NE'|'NW'|'OW'|'SG'|'SH'|'SO'|'SZ'|'TG'|'TI'|'UR'|'VD'|'VS'|'ZG'|'ZH'|'EX'}
  • value comes from list: {'AG'|'AI'|'AR'|'BE'|'BL'|'BS'|'FR'|'GE'|'GL'|'GR'|'JU'|'LU'|'NE'|'NW'|'OW'|'SG'|'SH'|'SO'|'SZ'|'TG'|'TI'|'UR'|'VD'|'VS'|'ZG'|'ZH'}
Translation (it):
Tipo di cantone

Short description (it):
Tipo di cantone Svizzera
<xs:simpleType name=
"CantonAddressType"
>
   <xs:restriction base=
"
c:CantonAndEXType
"
>
      <xs:enumeration value=
"AG"
/>
      <xs:enumeration value=
"AI"
/>
      <xs:enumeration value=
"AR"
/>
      <xs:enumeration value=
"BE"
/>
      <xs:enumeration value=
"BL"
/>
      <xs:enumeration value=
"BS"
/>
      <xs:enumeration value=
"FR"
/>
      <xs:enumeration value=
"GE"
/>
      <xs:enumeration value=
"GL"
/>
      <xs:enumeration value=
"GR"
/>
      <xs:enumeration value=
"JU"
/>
      <xs:enumeration value=
"LU"
/>
      <xs:enumeration value=
"NE"
/>
      <xs:enumeration value=
"NW"
/>
      <xs:enumeration value=
"OW"
/>
      <xs:enumeration value=
"SG"
/>
      <xs:enumeration value=
"SH"
/>
      <xs:enumeration value=
"SO"
/>
      <xs:enumeration value=
"SZ"
/>
      <xs:enumeration value=
"TG"
/>
      <xs:enumeration value=
"TI"
/>
      <xs:enumeration value=
"UR"
/>
      <xs:enumeration value=
"VD"
/>
      <xs:enumeration value=
"VS"
/>
      <xs:enumeration value=
"ZG"
/>
      <xs:enumeration value=
"ZH"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: CantonAndEXType

Super-types: xs:NMTOKEN < CantonAndEXType (by restriction)
Sub-types:
Name CantonAndEXType
Content
  • Base XSD Type: NMTOKEN
  • value comes from list: {'AG'|'AI'|'AR'|'BE'|'BL'|'BS'|'FR'|'GE'|'GL'|'GR'|'JU'|'LU'|'NE'|'NW'|'OW'|'SG'|'SH'|'SO'|'SZ'|'TG'|'TI'|'UR'|'VD'|'VS'|'ZG'|'ZH'|'EX'}
Translation (it):
Tipo di Cantone (incl. EX)

Short description (it):
l tipo di cantone di Svizzera incl. EX (EXtern o EXpatriates) che non vivono in Svizzera
<xs:simpleType name=
"CantonAndEXType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:enumeration value=
"AG"
/>
      <xs:enumeration value=
"AI"
/>
      <xs:enumeration value=
"AR"
/>
      <xs:enumeration value=
"BE"
/>
      <xs:enumeration value=
"BL"
/>
      <xs:enumeration value=
"BS"
/>
      <xs:enumeration value=
"FR"
/>
      <xs:enumeration value=
"GE"
/>
      <xs:enumeration value=
"GL"
/>
      <xs:enumeration value=
"GR"
/>
      <xs:enumeration value=
"JU"
/>
      <xs:enumeration value=
"LU"
/>
      <xs:enumeration value=
"NE"
/>
      <xs:enumeration value=
"NW"
/>
      <xs:enumeration value=
"OW"
/>
      <xs:enumeration value=
"SG"
/>
      <xs:enumeration value=
"SH"
/>
      <xs:enumeration value=
"SO"
/>
      <xs:enumeration value=
"SZ"
/>
      <xs:enumeration value=
"TG"
/>
      <xs:enumeration value=
"TI"
/>
      <xs:enumeration value=
"UR"
/>
      <xs:enumeration value=
"VD"
/>
      <xs:enumeration value=
"VS"
/>
      <xs:enumeration value=
"ZG"
/>
      <xs:enumeration value=
"ZH"
/>
      <xs:enumeration value=
"EX"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: CategoryPredefinedType

Super-types: xs:NMTOKEN < CategoryPredefinedType (by restriction)
Sub-types: None
Name CategoryPredefinedType
Content
  • Base XSD Type: NMTOKEN
  • value comes from list: {'HEN'|'HEY'|'MEN'|'MEY'|'NON'|'NOY'|'SFN'}
Translation (it):
Categorie predefinite

Short description (it):
Categorie predefinite

Domain description (it):
Valeurs possibili: HEN, HEY: Onorario CdA a PIF con domicilio all'estero; MEN, MEY: Prestazioni derivanti da partecipazioni dei collaboratori esportate a PIF con domicilio all’estero; NON, NOY: Non soggetto all'imposta alla fonte; SFN: Accordo speciale con la Francia;
<xs:simpleType name=
"CategoryPredefinedType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:enumeration value=
"HEN"
/>
      <xs:enumeration value=
"HEY"
/>
      <xs:enumeration value=
"MEN"
/>
      <xs:enumeration value=
"MEY"
/>
      <xs:enumeration value=
"NON"
/>
      <xs:enumeration value=
"NOY"
/>
      <xs:enumeration value=
"SFN"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: CivilStatusType

Super-types: xs:NMTOKEN < CivilStatusType (by restriction)
Sub-types: None
Name CivilStatusType
Content
  • Base XSD Type: NMTOKEN
  • value comes from list: {'unknown'|'single'|'married'|'widowed'|'divorced'|'separated'|'registeredPartnership'|'partnershipDissolvedByLaw'|'partnershipDissolvedByDeath'|'partnershipDissolvedByDeclarationOfLost'}
Translation (it):
Tipo di stato civile

Short description (it):
Type d'état civil

Domain description (it):
Valori possibili: unknown = sconosciuto; single = celibe/Nubile; married = sposato(a); widowed = vedova(a); divorced = divorziato(a); separated = separato(a); registeredPartnership = unione registrata; partnershipDissolvedByLaw = unione sciolta dal tribunale; partnershipDissolvedByDeath = unione sciolta per decesso; partnershipDissolvedByDeclarationOfLost = unione scolta per dichiarazione di scomparsa;
<xs:simpleType name=
"CivilStatusType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:enumeration value=
"unknown"
/>
      <xs:enumeration value=
"single"
/>
      <xs:enumeration value=
"married"
/>
      <xs:enumeration value=
"widowed"
/>
      <xs:enumeration value=
"divorced"
/>
      <xs:enumeration value=
"separated"
/>
      <xs:enumeration value=
"registeredPartnership"
/>
      <xs:enumeration value=
"partnershipDissolvedByLaw"
/>
      <xs:enumeration value=
"partnershipDissolvedByDeath"
/>
      <xs:enumeration value=
"partnershipDissolvedByDeclarationOfLost"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: DescriptionCodeType

Super-types: xs:nonNegativeInteger < DescriptionCodeType (by restriction)
Sub-types: None
Name DescriptionCodeType
Content
  • Base XSD Type: nonNegativeInteger
  • total no. of digits = 7
Translation (it):
Codice di descrizione

Technical description (it):
Severity: Informazioni Il codice 9999 è sempre riservato ad un testo libero. Il resto dei codici sono specificati dinamicamente in RiconoscimentoNotifica.
<xs:simpleType name=
"DescriptionCodeType"
>
   <xs:restriction base=
"
xs:nonNegativeInteger"
>
      <xs:totalDigits value=
"7"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: EmailAddressType

Super-types: xs:string < EmailAddressType (by restriction)
Sub-types: None
Name EmailAddressType
Content
  • Base XSD Type: string
  • pattern = [^@]+@[^\.]+\..+
Translation (it):
indirizzo e-mail
<xs:simpleType name=
"EmailAddressType"
>
   <xs:restriction base=
"
xs:string"
>
      <xs:pattern value=
"[^@]+@[^\.]+\..+"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: EmploymentContractType

Super-types: xs:NMTOKEN < EmploymentContractType (by restriction)
Sub-types: None
Name EmploymentContractType
Content
  • Base XSD Type: NMTOKEN
  • value comes from list: {'indefiniteSalaryMth'|'indefiniteSalaryMthAWT'|'indefiniteSalaryHrs'|'indefiniteSalaryNoTimeConstraint'|'fixedSalaryMth'|'fixedSalaryHrs'|'fixedSalaryNoTimeConstraint'|'apprentice'|'internshipContract'}
Translation (it):
Modalità di lavoro in azienda

Short description (it):
Indicare la modalità dell'azienda che lavora

Domain description (it):
Valori possibili: indefiniteSalaryMth = contratto a tempo indeterminato con stipendio mensile (indefinite duration with salary per month) indefiniteSalaryMthAWT = contratto a tempo indeterminato con stipendio mensile e l'orario di lavoro annuale (indefinite duration with salary per month and annual working time model) indefiniteSalaryHrs = contratto a lungo termine a tempo indeterminato con salario orario (indefinite duration with salary per month) indefiniteSalaryNoTimeConstraint = contratto a tempo indeterminato con acconto, somma forfettaria, salario a cottimo (indefinite duration with commission, lump sum, piece rate) fixedSalaryMth = contratto a tempo determinato con paga mensile (fixed/temporary duration salary per month) fixedSalaryHrs = contratto a tempo determinato con retribuzione oraria (fixed/temporary duration salary per hour) fixedSalaryNoTimeConstraint = contratto a tempo determinato con accantonamento, somma forfettaria, stipendio per posto di lavoro (fixed/temporary duration with commission, lump sum, piece rate) apprentice = accordo di apprendimento internshipContract = contratto di tirocinio
<xs:simpleType name=
"EmploymentContractType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:enumeration value=
"indefiniteSalaryMth"
/>
      <xs:enumeration value=
"indefiniteSalaryMthAWT"
/>
      <xs:enumeration value=
"indefiniteSalaryHrs"
/>
      <xs:enumeration value=
"indefiniteSalaryNoTimeConstraint"
/>
      <xs:enumeration value=
"fixedSalaryMth"
/>
      <xs:enumeration value=
"fixedSalaryHrs"
/>
      <xs:enumeration value=
"fixedSalaryNoTimeConstraint"
/>
      <xs:enumeration value=
"apprentice"
/>
      <xs:enumeration value=
"internshipContract"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: EmptySimpleType

Super-types: xs:string < EmptySimpleType (by restriction)
Sub-types: None
Name EmptySimpleType
Content
  • Base XSD Type: string
  • value comes from list: {''}
<xs:simpleType name=
"EmptySimpleType"
>
   <xs:restriction base=
"
xs:string"
>
      <xs:enumeration value=
""
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: FaultCodeType

Super-types: xs:NMTOKEN < FaultCodeType (by restriction)
Sub-types: None
Name FaultCodeType
Content
  • Base XSD Type: NMTOKEN
  • value comes from list: {'NOT_accepted'|'NOT_plausible'|'NOT_valid'}
Translation (it):
Codice di errore
<xs:simpleType name=
"FaultCodeType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:enumeration value=
"NOT_accepted"
/>
      <xs:enumeration value=
"NOT_plausible"
/>
      <xs:enumeration value=
"NOT_valid"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: HoursOrLessonsType

Super-types: xs:decimal < HoursOrLessonsType (by restriction)
Sub-types:
Name HoursOrLessonsType
Content
  • Base XSD Type: decimal
  • pattern = [0-9]+\.[0-9]{2}
Translation (it):
Ore o lezioni
<xs:simpleType name=
"HoursOrLessonsType"
>
   <xs:restriction base=
"
xs:decimal"
>
      <xs:pattern value=
"[0-9]+\.[0-9]{2}"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: IDType

Super-types: xs:string < IDType (by restriction)
Sub-types:
Name IDType
Content
  • Base XSD Type: string
  • length >= 1
<xs:simpleType name=
"IDType"
>
   <xs:restriction base=
"
xs:string"
>
      <xs:minLength value=
"1"
/>
      <xs:maxLength value=
"255"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: InstanceRefIDType

Super-types: xs:string < InstanceRefIDType (by restriction)
Sub-types: None
Name InstanceRefIDType
Content
  • Base XSD Type: string
  • pattern = #.*
Translation (it):
Instance Reference ID
<xs:simpleType name=
"InstanceRefIDType"
>
   <xs:restriction base=
"
xs:string"
>
      <xs:pattern value=
"#.*"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: LanguageCodeType

Super-types: xs:NMTOKEN < LanguageCodeType (by restriction)
Sub-types: None
Name LanguageCodeType
Content
  • Base XSD Type: NMTOKEN
  • value comes from list: {'de'|'fr'|'it'|'en'}
Translation (it):
Codice lingua
<xs:simpleType name=
"LanguageCodeType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:enumeration value=
"de"
/>
      <xs:enumeration value=
"fr"
/>
      <xs:enumeration value=
"it"
/>
      <xs:enumeration value=
"en"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: MonitoringIDType

Super-types: xs:string < MonitoringIDType (by restriction)
Sub-types: None
Name MonitoringIDType
Content
  • Base XSD Type: string
  • length >= 1
<xs:simpleType name=
"MonitoringIDType"
>
   <xs:restriction base=
"
xs:string"
>
      <xs:minLength value=
"1"
/>
      <xs:maxLength value=
"32"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: MunicipalityIDType

Super-types: xs:int < MunicipalityIDType (by restriction)
Sub-types: None
Name MunicipalityIDType
Content
  • Base XSD Type: int
  • 1 <= value <= 9999
  • total no. of digits = 4
Translation (it):
Numero del comune
<xs:simpleType name=
"MunicipalityIDType"
>
   <xs:restriction base=
"
xs:int"
>
      <xs:minInclusive value=
"1"
/>
      <xs:maxInclusive value=
"9999"
/>
      <xs:totalDigits value=
"4"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: NationalityType

Super-types: xs:string < NationalityType (by restriction)
Sub-types: None
Name NationalityType
Content
  • Base XSD Type: string
  • pattern = [A-Z][A-Z]|11|22
Translation (it):
Nazionalità

Short description (it):
I codici per l'attribuzione corretta della cittadinanza sono disponibili nella norme ONU (ISO 3166)

Technical description (it):
Estensione 11= sconosciuto 22= apolide : I codici ISO non sono mai stati controllati sul Prod-Distri Nella plausibilità del livello di qualità può essere possibile verificare la plausibilità rispetto ai codici ISO 3166 e visualizzare un'avvertenza.
<xs:simpleType name=
"NationalityType"
>
   <xs:restriction base=
"
xs:string"
>
      <xs:pattern value=
"[A-Z][A-Z]|11|22"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: NotEmptyStringType

Super-types: xs:string < NotEmptyStringType (by restriction)
Sub-types: None
Name NotEmptyStringType
Content
  • Base XSD Type: string
  • length >= 1
<xs:simpleType name=
"NotEmptyStringType"
>
   <xs:restriction base=
"
xs:string"
>
      <xs:minLength value=
"1"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: PercentType

Super-types: xs:decimal < PercentType (by restriction)
Sub-types: None
Name PercentType
Content
  • Base XSD Type: decimal
  • pattern = [0-9]+\.[0-9]{2}
Translation (it):
Percentuale
<xs:simpleType name=
"PercentType"
>
   <xs:restriction base=
"
xs:decimal"
>
      <xs:pattern value=
"[0-9]+\.[0-9]{2}"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: PositionType

Super-types: xs:NMTOKEN < PositionType (by restriction)
Sub-types: None
Name PositionType
Content
  • Base XSD Type: NMTOKEN
  • value comes from list: {'highestCadre'|'middleCadre'|'lowerCadre'|'lowestCadre'|'noCadre'}
Translation (it):
Posizione professional

Short description (it):
Posizione professionale del dipendente

Domain description (it):
Valori possibili: highestCadre: Quadro superiore; middleCadre: Quadro medio; lowerCadre: Quadro inferiore; lowestCadre: Responsabile dell’esecuzione di lavori; noCadre: Senza funzione di quadro;
<xs:simpleType name=
"PositionType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:enumeration value=
"highestCadre"
/>
      <xs:enumeration value=
"middleCadre"
/>
      <xs:enumeration value=
"lowerCadre"
/>
      <xs:enumeration value=
"lowestCadre"
/>
      <xs:enumeration value=
"noCadre"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: QualityLevelType

Super-types: xs:NMTOKEN < QualityLevelType (by restriction)
Sub-types: None
Name QualityLevelType
Content
  • Base XSD Type: NMTOKEN
  • value comes from list: {'Validity'|'Plausibility'|'Acceptance'|'Comment'}
Translation (it):
Livelli di qualità

Short description (it):
Livelli di qualità della trasmissione

Technical description (it):
Ci sono i seguenti livelli: Validity: primo livello; Plausibility: secondo livello; Acceptance: terzo livello; Comment: quarto piano;
<xs:simpleType name=
"QualityLevelType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:enumeration value=
"Validity"
/>
      <xs:enumeration value=
"Plausibility"
/>
      <xs:enumeration value=
"Acceptance"
/>
      <xs:enumeration value=
"Comment"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: ResidenceCategoryType

Super-types: xs:NMTOKEN < ResidenceCategoryType (by restriction)
Sub-types: None
Name ResidenceCategoryType
Content
  • Base XSD Type: NMTOKEN
  • value comes from list: {'shortTerm-L'|'annual-B'|'settled-C'|'crossBorder-G'|'asylumSeeker-N'|'needForProtection-S'|'NotificationProcedureForShorttermWork90Days'|'NotificationProcedureForShorttermWork120Days'|'ProvisionallyAdmittedForeigners-F'|'ResidentForeignNationalWithGainfulEmployment-Ci'|'othersNotSwiss'}
Translation (it):
Categoria di permesso

Short description (it):
Categoria di permesso di soggiorno

Domain description (it):
Valore possibile: shortTerm-L = Dimorante temporaneo (L); annual-B = Dimorante annuale (B); settled-C = Domiciliato (C); crossBorder-G = Frontaliere (G); asylumSeeker-N = Richiedente d'asilo (N); needForProtection-S = Bisognoso di protezione (S); NotificationProcedureForShorttermWork90Days = Procedura di notifica per attività lucrativa di breve durata (90 giorni); NotificationProcedureForShorttermWork120Days = Procedura di notifica per attività lucrativa di breve durata (120 giorni); ProvisionallyAdmittedForeigners (F) = Persona ammessa provvisoria-mente (F); ResidentForeignNationalWithGainfulEmployment (Ci) = Permesso di dimora con attività lucrativa (Ci); othersNotSwiss = Altro (non svizzero);
<xs:simpleType name=
"ResidenceCategoryType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:enumeration value=
"shortTerm-L"
/>
      <xs:enumeration value=
"annual-B"
/>
      <xs:enumeration value=
"settled-C"
/>
      <xs:enumeration value=
"crossBorder-G"
/>
      <xs:enumeration value=
"asylumSeeker-N"
/>
      <xs:enumeration value=
"needForProtection-S"
/>
      <xs:enumeration value=
"NotificationProcedureForShorttermWork90Days"
/>
      <xs:enumeration value=
"NotificationProcedureForShorttermWork120Days"
/>
      <xs:enumeration value=
"ProvisionallyAdmittedForeigners-F"
/>
      <xs:enumeration value=
"ResidentForeignNationalWithGainfulEmployment-Ci"
/>
      <xs:enumeration value=
"othersNotSwiss"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: ResponseCodeAAwRType

Super-types: xs:NMTOKEN < ResponseCodeAAwRType (by restriction)
Sub-types: None
Name ResponseCodeAAwRType
Content
  • Base XSD Type: NMTOKEN
  • value comes from list: {'accepted'|'acceptedWithWarning'|'rejected'}
Translation (it):
Codice di risposta
<xs:simpleType name=
"ResponseCodeAAwRType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:enumeration value=
"accepted"
/>
      <xs:enumeration value=
"acceptedWithWarning"
/>
      <xs:enumeration value=
"rejected"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: ResponseCodeType

Super-types: xs:NMTOKEN < ResponseCodeType (by restriction)
Sub-types: None
Name ResponseCodeType
Content
  • Base XSD Type: NMTOKEN
  • value comes from list: {'accepted'|'acceptedWithWarning'}
Translation (it):
Codice di risposta
<xs:simpleType name=
"ResponseCodeType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:enumeration value=
"accepted"
/>
      <xs:enumeration value=
"acceptedWithWarning"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: SalaryAmountAbsoluteType

Super-types: xs:decimal < SalaryAmountType (by restriction) < SalaryAmountAbsoluteType (by restriction)
Sub-types: None
Name SalaryAmountAbsoluteType
Content
  • Base XSD Type: decimal
  • pattern = [\-]?[0-9]+\.[0-9]{2}
  • pattern = [0-9]+\.[0-9]{2}
Translation (it):
Salario assoluto Tipo

Short description (it):
Salario assoluto Tipo non firmato
<xs:simpleType name=
"SalaryAmountAbsoluteType"
>
   <xs:restriction base=
"
c:SalaryAmountType
"
>
      <xs:pattern value=
"[0-9]+\.[0-9]{2}"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: SalaryAmountType

Super-types: xs:decimal < SalaryAmountType (by restriction)
Sub-types:
Name SalaryAmountType
Content
  • Base XSD Type: decimal
  • pattern = [\-]?[0-9]+\.[0-9]{2}
Translation (it):
Tipo di salario
<xs:simpleType name=
"SalaryAmountType"
>
   <xs:restriction base=
"
xs:decimal"
>
      <xs:pattern value=
"[\-]?[0-9]+\.[0-9]{2}"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: SectionIDType

Super-types: xs:string < SectionIDType (by restriction)
Sub-types: None
Name SectionIDType
Content
  • Base XSD Type: string
  • pattern = #.*
Translation (it):
Identificazione Sezione tipo
<xs:simpleType name=
"SectionIDType"
>
   <xs:restriction base=
"
xs:string"
>
      <xs:pattern value=
"#.*"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: SexType

Super-types: xs:NMTOKEN < SexType (by restriction)
Sub-types: None
Name SexType
Content
  • Base XSD Type: NMTOKEN
  • value comes from list: {'F'|'M'}
Translation (it):
Tipo di genere

Short description (it):
F femminile; M maschile
<xs:simpleType name=
"SexType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:enumeration value=
"F"
/>
      <xs:enumeration value=
"M"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: SimpleBooleanType

Super-types: xs:boolean < SimpleBooleanType (by restriction)
Sub-types: None
Name SimpleBooleanType
Content
  • Base XSD Type: boolean
  • pattern = true
Translation (it):
SimpleBoolean

Short description (it):
Booleano
<xs:simpleType name=
"SimpleBooleanType"
>
   <xs:restriction base=
"
xs:boolean"
>
      <xs:pattern value=
"true"
/>
      <xs:pattern value=
"false"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: StandardFormIDType

Super-types: xs:string < IDType (by restriction) < StandardFormIDType (by restriction)
Sub-types: None
Name StandardFormIDType
Content
  • Base XSD Type: string
  • length >= 1
  • pattern = notStandard|[0-9]{4}\.[0-9]{4}\.[0-9]{4}-[0-9]{3}
Translation (it):
Formulario standard ID
<xs:simpleType name=
"StandardFormIDType"
>
   <xs:restriction base=
"
c:IDType
"
>
<-- notStandard oder ( ID: NNNN.NNNN.NNNN und Version: -NNN )" -->      <xs:pattern value=
"notStandard|[0-9]{4}\.[0-9]{4}\.[0-9]{4}-[0-9]{3}"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: SV-AS-NumberType

Super-types: xs:NMTOKEN < SV-AS-NumberType (by restriction)
Sub-types: None
Name SV-AS-NumberType
Content
  • Base XSD Type: NMTOKEN
  • pattern = [0-9]{3}\.[0-9]{4}\.[0-9]{4}\.[0-9]{2}
  • length <= 16
Translation (it):
Tipo il numero assicurazione sociale è di 13 cifre
<xs:simpleType name=
"SV-AS-NumberType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:pattern value=
"[0-9]{3}\.[0-9]{4}\.[0-9]{4}\.[0-9]{2}"
/>
      <xs:maxLength value=
"16"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: TaxAtSourceCodeType

Super-types: xs:NMTOKEN < TaxAtSourceCodeType (by restriction)
Sub-types: None
Name TaxAtSourceCodeType
Content
  • Base XSD Type: NMTOKEN
  • pattern = [A-Z][0-9][Y,N]
Translation (it):
Codice tariffario IF
<xs:simpleType name=
"TaxAtSourceCodeType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:pattern value=
"[A-Z][0-9][Y,N]"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: UID-BFSType

Super-types: xs:NMTOKEN < UID-BFSType (by restriction)
Sub-types: None
Name UID-BFSType
Content
  • Base XSD Type: NMTOKEN
  • pattern = CHE-[0-9]{3}\.[0-9]{3}\.[0-9]{3}
Translation (it):
Numero d'identificazione IDI-UST
<xs:simpleType name=
"UID-BFSType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:pattern value=
"CHE-[0-9]{3}\.[0-9]{3}\.[0-9]{3}"
/>
   </xs:restriction>
</xs:simpleType>

Simple Type: YesNoUnknownType

Super-types: xs:NMTOKEN < YesNoUnknownType (by restriction)
Sub-types: None
Name YesNoUnknownType
Content
  • Base XSD Type: NMTOKEN
  • value comes from list: {'yes'|'no'|'unknown'}
Translation (it):
sì, no o sconosciuto
<xs:simpleType name=
"YesNoUnknownType"
>
   <xs:restriction base=
"
xs:NMTOKEN"
>
      <xs:enumeration value=
"yes"
/>
<-- 1 -->      <xs:enumeration value=
"no"
/>
<-- 2 -->      <xs:enumeration value=
"unknown"
/>
<-- 9 -->   </xs:restriction>
</xs:simpleType>

Simple Type: ZIP-CodeType

Super-types: xs:string < ZIP-CodeType (by restriction)
Sub-types: None
Name ZIP-CodeType
Content
  • Base XSD Type: string
  • length >= 1
Translation (it):
Codice postale

Short description (it):
Codice postale
<xs:simpleType name=
"ZIP-CodeType"
>
   <xs:restriction base=
"
xs:string"
>
      <xs:minLength value=
"1"
/>
      <xs:maxLength value=
"15"
/>
   </xs:restriction>
</xs:simpleType>

Glossary

Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.

All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.

Choice Model Group Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice.

Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.

Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.

Key Constraint Like Uniqueness Constraint, but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.

Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.

Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations.

Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.

Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.

Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.

Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).

Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.

Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.

Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.

Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.

Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.