DeviceInfo XML Schema Definition
This section shows the complete definition of DeviceInfo XML Schema.
<?xml version="1.0" encoding ="UTF-8" ?>
<xs:schema targetNamespace="https://schemas.microsoft.com/windows/DeviceMetadata/DeviceInfo/2007
/11/"xmlns:tns="https://schemas.microsoft.com/windows/DeviceMetadata/DeviceInfo/2007/11
/" xmlns:xs="https://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" blockDefault="#all">
<xs:element name="DeviceInfo" type="tns:DeviceInfoType" />
<xs:complexType name="DeviceInfoType">
<xs:sequence>
<xs:element name="DeviceCategoryList" type="tns:DeviceCategoryListType" />
<xs:element name="ModelName" type="tns:ModelNameType" />
<xs:element name="DeviceDescription1" type="tns:DeviceDescriptionType" minOccurs="0" />
<xs:element name="DeviceDescription2" type="tns:DeviceDescriptionType" minOccurs="0" />
<xs:element name="ModelNumber" type ="tns:GenericNameType" minOccurs="0" />
<xs:element name="Manufacturer" type="tns:GenericNameType" />
<xs:element name="DeviceIconFile" type="tns:DeviceIconFileType" minOccurs="0" />
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="DeviceCategoryListType">
<xs:sequence>
<xs:element name="DeviceCategory" type="tns:DeviceCategoryType" maxOccurs="unbounded" />
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:simpleType name="DeviceCategoryType">
<xs:union memberTypes="tns:DeviceCategoryTypeEnumeration xs:string" />
</xs:simpleType>
<xs:simpleType name="DeviceCategoryTypeEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="Audio" />
<xs:enumeration value="Audio.Adapter" />
<xs:enumeration value="Audio.Headphone" />
<xs:enumeration value="Audio.Microphone" />
<xs:enumeration value="Audio.Speakerphone" />
<xs:enumeration value="Audio.Speakers" />
<xs:enumeration value="Audio.Speakers.USB" />
<xs:enumeration value="Audio.Speakers.Wireless" />
<xs:enumeration value="Communication" />
<xs:enumeration value="Communication.Headset" />
<xs:enumeration value="Communication.Headset.Bluetooth" />
<xs:enumeration value="Communication.Phone" />
<xs:enumeration value="Communication.Phone.Cell" />
<xs:enumeration value="Communication.Phone.IP" />
<xs:enumeration value="Communication.Phone.Speaker" />
<xs:enumeration value="Component" />
<xs:enumeration value="Component.AudioAdapter" />
<xs:enumeration value="Component.Battery" />
<xs:enumeration value="Component.Bridge" />
<xs:enumeration value="Component.Bridge.Network" />
<xs:enumeration value="Component.Bridge.Storage" />
<xs:enumeration value="Component.Cable" />
<xs:enumeration value="Component.Cable.Transfer" />
<xs:enumeration value="Component.Cable.Transfer.USB" />
<xs:enumeration value="Component.Capture" />
<xs:enumeration value="Component.Capture.Video" />
<xs:enumeration value="Component.Controller" />
<xs:enumeration value="Component.Controller.1394" />
<xs:enumeration value="Component.Controller.Bluetooth" />
<xs:enumeration value="Component.Controller.CardBus" />
<xs:enumeration value="Component.Controller.IR" />
<xs:enumeration value="Component.Controller.IR.MCE" />
<xs:enumeration value="Component.Controller.SDH" />
<xs:enumeration value="Component.Controller.Serial" />
<xs:enumeration value="Component.Controller.Storage" />
<xs:enumeration value="Component.Controller.Storage.IDE" />
<xs:enumeration value="Component.Controller.Storage.iSCSI" />
<xs:enumeration value="Component.Controller.Storage.Raid" />
<xs:enumeration value="Component.Controller.Storage.SATA" />
<xs:enumeration value="Component.Controller.Storage.SCSI" />
<xs:enumeration value="Component.Controller.USB" />
<xs:enumeration value="Component.Controller.WUSB" />
<xs:enumeration value="Component.GraphicsCard" />
<xs:enumeration value="Component.Hub" />
<xs:enumeration value="Component.Hub.1394" />
<xs:enumeration value="Component.Hub.USB" />
<xs:enumeration value="Component.KVM" />
<xs:enumeration value="Component.NIC" />
<xs:enumeration value="Component.SmartCardReader" />
<xs:enumeration value="Component.System" />
<xs:enumeration value="Component.System.Board" />
<xs:enumeration value="Component.System.Memory" />
<xs:enumeration value="Component.System.Processor" />
<xs:enumeration value="Component.Tuner" />
<xs:enumeration value="Component.Tuner.Radio" />
<xs:enumeration value="Component.Tuner.TV" />
<xs:enumeration value="Component.Tuner.TV.ATSC" />
<xs:enumeration value="Component.Tuner.TV.DCB-S" />
<xs:enumeration value="Component.Tuner.TV.DVB-C" />
<xs:enumeration value="Component.Tuner.TV.DVB-T" />
<xs:enumeration value="Component.Tuner.TV.ISDB-T" />
<xs:enumeration value="Component.Tuner.TV.NTSC" />
<xs:enumeration value="Component.Tuner.TV.NTSCMJ" />
<xs:enumeration value="Component.Tuner.TV.OpenCable" />
<xs:enumeration value="Component.Tuner.TV.PAL" />
<xs:enumeration value="Component.Tuner.TV.Proprietry" />
<xs:enumeration value="Component.Tuner.TV.QAM" />
<xs:enumeration value="Component.Tuner.TV.SECAM" />
<xs:enumeration value="Computer" />
<xs:enumeration value="Computer.AllInOne" />
<xs:enumeration value="Computer.Desktop" />
<xs:enumeration value="Computer.Desktop.LowProfile" />
<xs:enumeration value="Computer.Desktop.Pizzabox" />
<xs:enumeration value="Computer.Handheld" />
<xs:enumeration value="Computer.Handheld.Windows" />
<xs:enumeration value="Computer.Laptop" />
<xs:enumeration value="Computer.Lunchbox" />
<xs:enumeration value="Computer.Netbook" />
<xs:enumeration value="Computer.Notebook" />
<xs:enumeration value="Computer.Notebook.Sub" />
<xs:enumeration value="Computer.Portable" />
<xs:enumeration value="Computer.Rackmount" />
<xs:enumeration value="Computer.Sealed" />
<xs:enumeration value="Computer.Server" />
<xs:enumeration value="Computer.SpaceSaving" />
<xs:enumeration value="Computer.Tablet" />
<xs:enumeration value="Computer.ThinClient" />
<xs:enumeration value="Computer.Tower" />
<xs:enumeration value="Computer.Tower.Mini" />
<xs:enumeration value="Display" />
<xs:enumeration value="Display.Monitor" />
<xs:enumeration value="Display.Monitor.CRT" />
<xs:enumeration value="Display.Monitor.LCD" />
<xs:enumeration value="Display.Monitor.Plasma" />
<xs:enumeration value="Display.PictureFrame" />
<xs:enumeration value="Display.Projector" />
<xs:enumeration value="Display.SideShow" />
<xs:enumeration value="Display.TV" />
<xs:enumeration value="Display.TV.CRT" />
<xs:enumeration value="Display.TV.DLP" />
<xs:enumeration value="Display.TV.LCD" />
<xs:enumeration value="Display.TV.Plasma" />
<xs:enumeration value="Health" />
<xs:enumeration value="Health.BloodGlucose" />
<xs:enumeration value="Health.BloodPressure" />
<xs:enumeration value="Health.HeartRate" />
<xs:enumeration value="Health.Pedometer" />
<xs:enumeration value="Imaging" />
<xs:enumeration value="Imaging.Camcorder" />
<xs:enumeration value="Imaging.Camera" />
<xs:enumeration value="Imaging.Scanner" />
<xs:enumeration value="Imaging.Webcam" />
<xs:enumeration value="Input" />
<xs:enumeration value="Input.Digitizer" />
<xs:enumeration value="Input.Digitizer.Multitouch" />
<xs:enumeration value="Input.Digitizer.Pen" />
<xs:enumeration value="Input.Digitizer.Touchpad" />
<xs:enumeration value="Input.Digitizer.Touchscreen" />
<xs:enumeration value="Input.Gaming" />
<xs:enumeration value="Input.Gaming.Common" />
<xs:enumeration value="Input.Gaming.Controller" />
<xs:enumeration value="Input.Gaming.Gamepad" />
<xs:enumeration value="Input.Gaming.Generic" />
<xs:enumeration value="Input.Gaming.Steering" />
<xs:enumeration value="Input.Keyboard" />
<xs:enumeration value="Input.KVM" />
<xs:enumeration value="Input.Mouse" />
<xs:enumeration value="Input.Remote" />
<xs:enumeration value="Input.Remote.MCE" />
<xs:enumeration value="Input.Trackball" />
<xs:enumeration value="Media" />
<xs:enumeration value="Media.SmartCard" />
<xs:enumeration value="Media.Storage" />
<xs:enumeration value="Media.Storage.Flash" />
<xs:enumeration value="Media.Storage.Flash.CompactFlash" />
<xs:enumeration value="Media.Storage.Flash.MemoryStick" />
<xs:enumeration value="Media.Storage.Flash.SD" />
<xs:enumeration value="Media.Storage.Optical" />
<xs:enumeration value="Media.Storage.Optical.BluRay" />
<xs:enumeration value="Media.Storage.Optical.CD" />
<xs:enumeration value="Media.Storage.Optical.DVD" />
<xs:enumeration value="Multimedia" />
<xs:enumeration value="Multimedia.DMC" />
<xs:enumeration value="Multimedia.DMP" />
<xs:enumeration value="Multimedia.DMR" />
<xs:enumeration value="Multimedia.DMR.MCE" />
<xs:enumeration value="Multimedia.DMS" />
<xs:enumeration value="Multimedia.DVR" />
<xs:enumeration value="Multimedia.GameConsole" />
<xs:enumeration value="Multimedia.PMP" />
<xs:enumeration value="Multimedia.VoiceRecorder" />
<xs:enumeration value="Network" />
<xs:enumeration value="Network.AccessPoint" />
<xs:enumeration value="Network.Bluetooth" />
<xs:enumeration value="Network.Bridge" />
<xs:enumeration value="Network.Bridge.Wifi2Ether" />
<xs:enumeration value="Network.HomeAutomation" />
<xs:enumeration value="Network.MobileBroadband" />
<xs:enumeration value="Network.Modem" />
<xs:enumeration value="Network.NIC" />
<xs:enumeration value="Network.NIC.Ethernet" />
<xs:enumeration value="Network.NIC.IR" />
<xs:enumeration value="Network.NIC.PLC" />
<xs:enumeration value="Network.NIC.Wireless" />
<xs:enumeration value="Network.PrintServer" />
<xs:enumeration value="Network.Router" />
<xs:enumeration value="Network.Router.Wireless" />
<xs:enumeration value="Network.Switch" />
<xs:enumeration value="Network.UWB" />
<xs:enumeration value="Network.WUSB" />
<xs:enumeration value="Network.WUSB.DWA" />
<xs:enumeration value="PersonalIdentity" />
<xs:enumeration value="PersonalIdentity.FaceScanner" />
<xs:enumeration value="PersonalIdentity.FingerprintReader" />
<xs:enumeration value="PersonalIdentity.RetinalScanner" />
<xs:enumeration value="PersonalIdentity.Smartcard" />
<xs:enumeration value="PersonalIdentity.SmartcardReader" />
<xs:enumeration value="Pos" />
<xs:enumeration value="Pos.BarcodeScanner" />
<xs:enumeration value="Pos.CashDrawer" />
<xs:enumeration value="Pos.MagneticStripReader" />
<xs:enumeration value="Pos.Printer" />
<xs:enumeration value="PrintFax" />
<xs:enumeration value="PrintFax.FAX" />
<xs:enumeration value="PrintFax.MFP" />
<xs:enumeration value="PrintFax.Printer" />
<xs:enumeration value="PrintFax.Printer.3D" />
<xs:enumeration value="PrintFax.Printer.Inkjet" />
<xs:enumeration value="PrintFax.Printer.Laser" />
<xs:enumeration value="Sensor" />
<xs:enumeration value="Sensor.Electrical" />
<xs:enumeration value="Sensor.Enviromental" />
<xs:enumeration value="Sensor.Enviromental.Temp" />
<xs:enumeration value="Sensor.Light" />
<xs:enumeration value="Sensor.Location" />
<xs:enumeration value="Sensor.Location.GPS" />
<xs:enumeration value="Sensor.Mechanical" />
<xs:enumeration value="Sensor.Motion" />
<xs:enumeration value="Sensor.Orientation" />
<xs:enumeration value="Sensor.Proximity" />
<xs:enumeration value="Sensor.Proximity.NFC" />
<xs:enumeration value="Sensor.Proximity.RFID" />
<xs:enumeration value="Storage" />
<xs:enumeration value="Storage.CardReader" />
<xs:enumeration value="Storage.CardReader.Combo" />
<xs:enumeration value="Storage.Changer" />
<xs:enumeration value="Storage.Changer.Optical" />
<xs:enumeration value="Storage.FDD" />
<xs:enumeration value="Storage.HDD" />
<xs:enumeration value="Storage.HDD.SolidState" />
<xs:enumeration value="Storage.Network" />
<xs:enumeration value="Storage.Network.Wireless" />
<xs:enumeration value="Storage.Optical" />
<xs:enumeration value="Storage.Optical.Bluray" />
<xs:enumeration value="Storage.Optical.CD" />
<xs:enumeration value="Storage.Optical.DVD" />
<xs:enumeration value="Storage.Tape" />
<xs:enumeration value="Storage.UFD" />
<xs:enumeration value="Other" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ModelNameType">
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="200" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="GenericNameType">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="200" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DeviceDescriptionType">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="1024" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DeviceIconFileType">
<xs:restriction base="xs:string">
<xs:pattern value=".+\.ico" />
</xs:restriction>
</xs:simpleType>
</xs:schema>