<?xml version="1.0" encoding="utf-8" ?>
<xs:schema
targetNamespace="http://www.microsoft.com/networking/OneX/v1"
xmlns="http://www.microsoft.com/networking/OneX/v1"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<!-- top-level element
-->
<xs:element name="OneX">
<xs:complexType>
<!-- Optional 802.1X settings
-->
<xs:sequence>
<!-- the default value is "false"
-->
<xs:element name="fallbackGuestAuth" type="xs:boolean" minOccurs="0" />
<!-- the default value is "false"
-->
<xs:element name="clearUserData" type="xs:boolean" minOccurs="0" />
<!-- the default value is 60 seconds
-->
<xs:element name="heldPeriod" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1" />
<xs:maxInclusive value="3600" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- the default value is 30 seconds
-->
<xs:element name="authPeriod" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1" />
<xs:maxInclusive value="3600" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- the default value is 5 seconds
-->
<xs:element name="startPeriod" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1" />
<xs:maxInclusive value="3600" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- the default value is 3 times
-->
<xs:element name="maxStart" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1" />
<xs:maxInclusive value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- the default value is 3 times
-->
<xs:element name="maxAuthFailures" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1" />
<xs:maxInclusive value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="supplicantMode" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="inhibitTransmission" />
<xs:enumeration value="includeLearning" />
<xs:enumeration value="compliant" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- default value is "machineOrUser"
-->
<xs:element name="authMode" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="machineOrUser" />
<xs:enumeration value="machine" />
<xs:enumeration value="user" />
<xs:enumeration value="guest" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Optional Single Sign On parameters for 802.1X
-->
<xs:element name="singleSignOn" minOccurs="0">
<xs:complexType>
<xs:sequence>
<!-- Prelogon or Post Logon Integration
-->
<xs:element name="type">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="preLogon" />
<xs:enumeration value="postLogon" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Maximum duration to wait for connection
-->
<xs:element name="maxDelay" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0" />
<xs:maxInclusive value="120" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- whether the network uses different VLANs for machine and user authentication. The default is false
-->
<xs:element name="userBasedVirtualLan" type="xs:boolean" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- mandatory parameter for 802.1X
-->
<xs:element name="EAPConfig">
<xs:complexType>
<xs:sequence>
<!-- this is the insertion point for EapHostConfig Namespace (http://www.microsoft.com/provisioning/EapHostConfignamespace) -->
<xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- extension point for other namespaces
-->
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>