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>

 

 

Send comments about this topic to Microsoft