<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Mark Butler (Hewlett Packard) -->
<!DOCTYPE rdf:RDF [
	<!ENTITY ns-rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
	<!ENTITY ns-rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
	<!ENTITY ns-prf 'http://www.openmobilealliance.org/tech/profiles/UAPROF/ccppschema-20021212#'>
]>
<rdf:RDF xmlns:rdf="&ns-rdf;" xmlns:rdfs="&ns-rdfs;" xmlns:prf="&ns-prf;">
	<rdf:Description rdf:about="&ns-prf;Component">
		<rdf:type rdf:resource="&ns-rdfs;Class"/>
		<rdfs:subClassOf rdf:resource="&ns-rdfs;Resource"/>
		<rdfs:label>Component</rdfs:label>
		<rdfs:comment>
      A Component within the CC/PP Schema is a class of related properties 
      that describe the capabilities and preferences information.
    </rdfs:comment>
	</rdf:Description>
	<!-- ****************************************************************** -->
	<!-- ***** Properties shared among the components***** -->
	<rdf:Description rdf:about="&ns-prf;component">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:label>component</rdfs:label>
		<rdfs:comment>
      The component attribute links the various components to the root node
      (profile).
    </rdfs:comment>
	</rdf:Description>
	<!-- ****************************************************************** -->
	<!-- ***** Component Definitions ***** -->
	<rdf:Description rdf:about="&ns-prf;HardwarePlatform">
		<rdf:type rdf:resource="&ns-rdfs;Class"/>
		<rdfs:subClassOf rdf:resource="&ns-prf;Component"/>
		<rdfs:label>Component: HardwarePlatform</rdfs:label>
		<rdfs:comment>
      The HardwarePlatform component contains properties of the device's
      Hardware, such as display size, supported character sets, etc.
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;SoftwarePlatform">
		<rdf:type rdf:resource="&ns-rdfs;Class"/>
		<rdfs:subClassOf rdf:resource="&ns-prf;Component"/>
		<rdfs:label>Component: SoftwarePlatform</rdfs:label>
		<rdfs:comment>
      The SoftwarePlatform component contains properties of the device's 
      application environment, operating system, and installed software.
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;BrowserUA">
		<rdf:type rdf:resource="&ns-rdfs;Class"/>
		<rdfs:subClassOf rdf:resource="&ns-prf;Component"/>
		<rdfs:label>Component: BrowserUA</rdfs:label>
		<rdfs:comment>
      The BrowserUA component contains attributes related to the browser                                  
      user agent running on the device.
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;NetworkCharacteristics">
		<rdf:type rdf:resource="&ns-rdfs;Class"/>
		<rdfs:subClassOf rdf:resource="&ns-prf;Component"/>
		<rdfs:label>Component: NetworkCharacteristics</rdfs:label>
		<rdfs:comment>
      The NetworkCharacteristics component contains properties describing the                                  
      network environment including the supported bearers.
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;WapCharacteristics">
		<rdf:type rdf:resource="&ns-rdfs;Class"/>
		<rdfs:subClassOf rdf:resource="&ns-prf;Component"/>
		<rdfs:label>Component: WapCharacteristics</rdfs:label>
		<rdfs:comment>
      The WapCharacteristics component contains properties of the WAP
      environment supported by the device.
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;PushCharacteristics">
		<rdf:type rdf:resource="&ns-rdfs;Class"/>
		<rdfs:subClassOf rdf:resource="&ns-prf;Component"/>
		<rdfs:label>Component: PushCharacteristics</rdfs:label>
		<rdfs:comment>
      The PushCharacteristics component contains properties of the device's
      push capabilities, such as supported content mime types.
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;MmsCharacteristics">
		<rdf:type rdf:resource="&ns-rdfs;Class"/>
		<rdfs:subClassOf rdf:resource="&ns-prf;Component"/>
		<rdfs:label xml:lang="en">Component: MmsCharacteristics</rdfs:label>
		<rdfs:comment xml:lang="en">
      The MmsCharacteristics component contains properties of the device's
      Multimedia messaging capabilities, such as maximum message size, maximum
      image resolution, etc.
    </rdfs:comment>
	</rdf:Description>
	<!-- **
       ** In the following property definitions, the defined types 
       ** are as follows:
       ** 
       **    Number:     A positive integer 
       **                  [0-9]+
       **    Boolean:    A yes or no value 
       **                  Yes|No
       **    Literal:    An alphanumeric string
       **                  [A-Za-z0-9/.\-_]+
       **    Dimension:  A pair of numbers
       **                  [0-9]+x[0-9]+
       **
    -->
	<!-- ****************************************************************** -->
	<!-- ***** Component: HardwarePlatform ***** -->
	<rdf:Description rdf:about="&ns-prf;BluetoothProfile">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  Supported Bluetooth profiles as defined in the Bluetooth 
                    specification [BLT].
      Type: 	    Literal (bag)
      Resolution:   Locked
      Examples:     "dialup", "lanAccess"
    </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;BitsPerPixel">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  The number of bits of color or grayscale information per
                    pixel, related to the number of colors or shades of gray
                    the device can display.
      Type:         Number
      Resolution:   Override
      Examples:     "2", "8"
    </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;ColorCapable">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  Indicates whether the device's display supports color.
                    "Yes" means color is supported. "No" means the display
                    supports only grayscale or black and white.
      Type:         Boolean
      Resolution:   Override 
      Examples:     "Yes", "No"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;CPU">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  Name and model number of the device CPU.
      Type:         Literal
      Resolution:   Locked
      Examples:     "Pentium III", "PowerPC 750"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;ImageCapable">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  Indicates whether the device supports the display of
                    images. If the value is "Yes", the property CcppAccept
                    may list the types of images supported.
      Type:         Boolean
      Resolution:   Locked
      Examples:     "Yes", "No"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;InputCharSet">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  List of character sets supported by the device for text
                    entry. Property's value is a list of character sets,
                    where each item in the list is a character set name, as
                    registered with IANA.
      Type:         Literal (bag)
      Resolution:   Append
      Examples:     "US-ASCII", "ISO-8859-1", "Shift_JIS"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;Keyboard">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  Type of keyboard supported by the device, as an indicator
                    of ease of text entry.
      Type:         Literal
      Resolution:   Locked
      Examples:     "Disambiguating", "Qwerty", "PhoneKeypad"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;Model">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  Model number assigned to the terminal device by the
                    vendor or manufacturer.
      Type:         Literal
      Resolution:   Locked
      Examples:     "Mustang GT", "Q30"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;NumberOfSoftKeys">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  Number of soft keys available on the device.
      Type:         Number
      Resolution:   Locked
      Examples:     "3", "2"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;OutputCharSet">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  List of character sets supported by the device for
                    output to the display. Property value is a list of
                    character sets, where each item in the list is a
                    character set name, as registered with IANA.
      Type:         Literal (bag)
      Resolution:   Append
      Examples:     "US-ASCII", "ISO-8859-1", "Shift_JIS"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;PixelAspectRatio">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  Ratio of pixel width to pixel height.
      Type:         Dimension
      Resolution:   Locked
      Examples:     "1x2"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;PointingResolution">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  Type of resolution of the pointing accessory supported
                    by the device.
      Type:         Literal
      Resolution:   Locked
      Examples:     "Character", "Line", "Pixel"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;ScreenSize">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  The size of the device's screen in units of pixels,
                    composed of the screen width and the screen height.
      Type:         Dimension
      Resolution:   Locked
      Examples:     "160x160", "640x480"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;ScreenSizeChar">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  Size of the device's screen in units of characters,
                    composed of the screen width and screen height. The
                    device's standard font should be used to determine
                    this property's value. (Number of characters per 
                    row)x(Number of rows). In calculating this attribute 
                    use the largest character in the device's default font.
      Type:         Dimension
      Resolution:   Locked
      Examples:     "12x4", "16x8"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;StandardFontProportional">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  Indicates whether the device's standard font is 
                    proportional.
      Type:         Boolean
      Resolution:   Locked 
      Examples:     "Yes", "No"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;SoundOutputCapable">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  Indicates whether the device supports sound output
                    through an external speaker, headphone jack, or other
                    sound output mechanism.
      Type:         Boolean
      Resolution:   Locked
      Examples:     "Yes", "No"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;TextInputCapable">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment> 
      Description:  Indicates whether the device supports alpha-numeric text
                    entry. "Yes" means the device supports entry of both
                    letters and digits. "No" means the device supports only
                    entry of digits.
      Type:         Boolean
      Resolution:   Locked
      Examples:     "Yes", "No"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;Vendor">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  Name of the vendor manufacturing the terminal device.
      Type:         Literal
      Resolution:   Locked
      Examples:     "Ford", "Lexus"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;VoiceInputCapable">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;HardwarePlatform"/>
		<rdfs:comment>
      Description:  Indicates whether the device supports any form of voice
                    input, including speech recognition. This includes voice-
                    enabled browsers.
      Type:         Boolean
      Resolution:   Locked
      Examples:     "Yes", "No"
   </rdfs:comment>
	</rdf:Description>
	<!-- ****************************************************************** -->
	<!-- ***** Component: SoftwarePlatform ***** -->
	<rdf:Description rdf:about="&ns-prf;AcceptDownloadableSoftware">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  Indicates the user's preference on whether to accept
                    downloadable software.
      Type:         Boolean
      Resolution:   Locked
      Examples:     "Yes", "No"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;AudioInputEncoder">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  List of audio input encoders supported by the device.
      Type:         Literal (bag)
      Resolution:   Append
      Example:      "G.711"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;CcppAccept">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  List of content types the device supports. Property
                    value is a list of MIME types, where each item in the
                    list is a content type descriptor as specified by
                    RFC 2045.
      Type:         Literal (bag)
      Resolution:   Append
      Examples:     "text/html", "text/plain", "text/html", "image/gif"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;CcppAccept-Charset">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  List of character sets the device supports. Property
                    value is a list of character sets, where each item in
                    the list is a character set name registered with IANA.
      Type:         Literal (bag)
      Resolution:   Append
      Examples:     "US-ASCII", "ISO-8859-1", "Shift_JIS"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;CcppAccept-Encoding">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  List of transfer encodings the device supports.
                    Property value is a list of transfer encodings, where
                    each item in the list is a transfer encoding name as
                    specified by RFC 2045 and registered with IANA.
      Type:         Literal (bag)
      Resolution:   Append
      Examples:     "base64", "quoted-printable"
    </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;CcppAccept-Language">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Seq"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  List of preferred document languages. If a resource is
                    available in more than one natural language, the server
                    can use this property to determine which version of the
                    resource to send to the device. The first item in the
                    list should be considered the user's first choice, the
                    second the second choice, and so on. Property value is
                    a list of natural languages, where each item in the list
                    is the name of a language as defined by RFC 3066[RFC3066].
      Type:         Literal (sequence)
      Resolution:   Append
      Examples:     "zh-CN", "en", "fr"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;DownloadableSoftwareSupport">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  List of executable content types which the device
                    supports and which it is willing to accept from the
                    network. The property value is a list of MIME types,
                    where each item in the list is a content type
                    descriptor as specified by RFC 2045.
      Type:         Literal (bag)
      Resolution:   Locked
      Examples:     "application/x-msdos-exe"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;JavaEnabled">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  Indicates whether the device supports a Java virtual
                    machine.
      Type:         Boolean
      Resolution:   Locked
      Examples:     "Yes", "No"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;JavaPlatform">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  The list of JAVA platforms and profiles installed in 
                    the device. Each item in the list is a name token 
                    describing compatibility with the name and version of the 
                    java platform specification or the name and version of the profile 
                    specification name (if profile is included in the device)
      Type:         Literal (bag)
      Resolution:   Append
      Examples:     "PersonalJava", "CLDC", "MIDP"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;JVMVersion">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  List of the Java virtual machines installed on the
                    device. Each item in the list is a name token describing
                    the vendor and version of the VM.
      Type:         Literal (bag)
      Resolution:   Append
      Examples:     "SunJRE/1.2", "MSJVM/1.0"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;MexeClassmarks">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  List of MExE classmarks supported by the device. 
                    Value "1" means the MExE device supports WAP, value "2" 
                    means that MExE device supports Personal Java, value 
                    "3" means that MExE device supports MIDP applications 
                    and value "4" means the device supports the CLI Platform.
      Type:         Literal (bag)
      Resolution:   Locked
      Examples:     "1", "3"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;MexeSpec">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  Class mark specialization. Refers to the first two
                    digits of the version of the MExE Stage 2 spec. 
      Type:         Literal
      Resolution:   Locked
      Examples:     "7.02"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;MexeSecureDomains">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  Indicates whether the device's supports MExE 
                    security domains. "Yes" means that security domains are 
                    supported in accordance with MExE specifications identified 
                    by the MexeSpec attribute. "No" means that security domains 
                    are not supported and the device has only untrusted domain 
                    (area).
      Type:         Boolean
      Resolution:   Locked
      Examples:     "Yes", "No"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;OSName">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  Name of the device's operating system. 
      Type:         Literal
      Resolution:   Locked
      Examples:     "Mac OS", "Windows NT"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;OSVendor">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  Vendor of the device's operating system. 
      Type:         Literal
      Resolution:   Locked
      Examples:     "Apple", "Microsoft"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;OSVersion">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  Version of the device's operating system. 
      Type:         Literal
      Resolution:   Locked
      Examples:     "6.0", "4.5"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;RecipientAppAgent">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  User agent associated with the current request. Value
                    should match the name of one of the components in the
                    profile. A component name is specified by the ID
                    attribute on the prf:Component element containing the
                    properties of that component.
      Type:         Literal
      Resolution:   Locked
      Examples:     "BrowserMail"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;SoftwareNumber">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  Version of the device-specific software (firmware) to
                    which the device's low-level software conforms. 
      Type:         Literal
      Resolution:   Locked
      Examples:     "2"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;VideoInputEncoder">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  List of video input encoders supported by the device. 
      Type:         Literal (bag)
      Resolution:   Append
      Examples:     "MPEG-1", "MPEG-2", "H.261"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;Email-URI-Schemes">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  List of URI schemes the device supports for accessing 
                    e-mail. Property value is a list of URI schemes, where each 
                    item in the list is a URI scheme as defined in RFC 2396.
      Type:         Literal (bag)
      Resolution:   Override
      Examples:     "pop", "imap", "http", "https"
    </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;JavaPackage">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  (from J2EE Client Provisioning) Details about optional 
                    packages installed on the device over and above those 
                    that are part of the Java profile, and the versions of 
                    these additional packages 
      Type:         Literal (bag)
      Resolution:   Append
      Examples:     "com.acme.regexp/1.1", "com.acme.helper/3.0"
    </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;JavaProtocol">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  (from J2EE Client Provisioning) Details about protocols 
                    supported by the device over and above those that are 
                    part of the standard Java profile indicated and the 
                    versions of these additional protocols
      Type:         Literal (bag)
      Resolution:   Append
      Examples:     "sms/1.0", "file/1.0"
    </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;CLIPlatform">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;SoftwarePlatform"/>
		<rdfs:comment>
      Description:  The list of standard Common Language Infrastructure 
                    platforms and profiles installed in the device.  Each 
                    item in the list is a name token describing the name 
                    and edition of the CLI platform specification including 
                    the name of the profile specification.
      Type:         Literal (bag)
      Resolution:   Append
      Examples:     "Standard CLI 2002/Compact", "Standard CLI 2002/Kernel"
    </rdfs:comment>
	</rdf:Description>
	<!-- ****************************************************************** -->
	<!-- ***** Component: NetworkCharacteristics ***** -->
	<rdf:Description rdf:about="&ns-prf;SupportedBluetoothVersion">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;NetworkCharacteristics"/>
		<rdfs:comment>
      Description:  Supported Bluetooth version.
      Type:         Literal
      Resolution:   Locked
      Examples:     "1.0" 
    </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;CurrentBearerService">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;NetworkCharacteristics"/>
		<rdfs:comment>
      Description:  The bearer on which the current session was opened.
      Type:         Literal
      Resolution:   Locked
      Examples:     "OneWaySMS", "GUTS", "TwoWayPacket"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;SecuritySupport">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;NetworkCharacteristics"/>
		<rdfs:comment>
      Description:  List of types of security or encryption mechanisms supported 
                    by the device. 
      Type:         Literal (bag)
      Resolution:   Locked
      Example:      "WTLS-1", WTLS-2", "WTLS-3", "signText", "PPTP"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;SupportedBearers">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;NetworkCharacteristics"/>
		<rdfs:comment>
      Description:  List of bearers supported by the device.
      Type:         Literal (bag)
      Resolution:   Locked
      Examples:     "GPRS", "GUTS", "SMS", CSD", "USSD"
   </rdfs:comment>
	</rdf:Description>
	<!-- ****************************************************************** -->
	<!-- ***** Component: BrowserUA ***** -->
	<rdf:Description rdf:about="&ns-prf;BrowserName">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;BrowserUA"/>
		<rdfs:comment>
      Description:  Name of the browser user agent associated with the
                    current request.
      Type:         Literal
      Resolution:   Locked
      Examples:     "Mozilla", "MSIE", "WAP42"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;BrowserVersion">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;BrowserUA"/>
		<rdfs:comment>
      Description:  Version of the browser.
      Type:         Literal
      Resolution:   Locked
      Examples:     "1.0"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;DownloadableBrowserApps">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;BrowserUA"/>
		<rdfs:comment>
      Description:  List of executable content types which the browser
                    supports and which it is willing to accept from the
                    network. The property value is a list of MIME types,
                    where each item in the list is a content type
                    descriptor as specified by RFC 2045.
      Type:         Literal (bag)
      Resolution:   Append
      Examples:     "application/x-java-vm/java-applet"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;FramesCapable">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;BrowserUA"/>
		<rdfs:comment>
      Description:  Indicates whether the browser is capable of displaying
                    frames.
      Type:         Boolean
      Resolution:   Override
      Examples:     "Yes", "No"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;HtmlVersion">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;BrowserUA"/>
		<rdfs:comment>
      Description:  Version of HyperText Markup Language (HTML) supported
                    by the browser.
      Type:         Literal
      Resolution:   Locked
      Examples:     "2.0", "3.2", "4.0"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;JavaAppletEnabled">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;BrowserUA"/>
		<rdfs:comment>
      Description:  Indicates whether the browser supports Java applets.
      Type:         Boolean
      Resolution:   Locked
      Examples:     "Yes", "No"   
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;JavaScriptEnabled">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;BrowserUA"/>
		<rdfs:comment>
      Description:  Indicates whether the browser supports JavaScript.
      Type:         Boolean
      Resolution:   Locked
      Examples:     "Yes", "No"   
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;JavaScriptVersion">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;BrowserUA"/>
		<rdfs:comment>
      Description:  Version of the JavaScript language supported by the
                    browser.
      Type:         Literal
      Resolution:   Locked
      Examples:     "1.4"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;PreferenceForFrames">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;BrowserUA"/>
		<rdfs:comment>
      Description:  Indicates the user's preference for receiving HTML
                    content that contains frames.
      Type:         Boolean
      Resolution:   Locked
      Examples:     "Yes", "No"   
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;TablesCapable">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;BrowserUA"/>
		<rdfs:comment>
      Description:  Indicates whether the browser is capable of displaying
                    tables.
      Type:         Boolean
      Resolution:   Locked
      Examples:     "Yes", "No"   
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;XhtmlVersion">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;BrowserUA"/>
		<rdfs:comment>
      Description:  Version of XHTML supported by the browser.
      Type:         Literal
      Resolution:   Locked
      Examples:     "1.0"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;XhtmlModules">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;BrowserUA"/>
		<rdfs:comment>
      Description:  List of XHTML modules supported by the browser. Property
                    value is a list of module names, where each item in the
                    list is the name of an XHTML module as defined by the
                    W3C document "Modularization of XHTML", Section 4. List
                    items are separated by white space. Note that the
                    referenced document is a work in progress. Any subsequent
                    changes to the module naming conventions should be
                    reflected in the values of this property.
      Type:         Literal (bag)
      Resolution:   Append
      Examples:     "XHTML1-struct", "XHTML1-blkstruct", "XHTML1-frames"
   </rdfs:comment>
	</rdf:Description>
	<!-- ****************************************************************** -->
	<!-- ***** Component: WapCharacteristics ***** -->
	<rdf:Description rdf:about="&ns-prf;SupportedPictogramSet">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;WapCharacteristics"/>
		<rdfs:comment>
      Description:  Pictogram classes supported by the device as 
                    defined in "WAP Pictogram specification".
      Type:         Literal (bag)
      Resolution:   Append
      Examples:     "core", "core/operation", "human"
  </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;WapDeviceClass">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;WapCharacteristics"/>
		<rdfs:comment>
      Description:  Classification of the device based on capabilities as
                    identified in the WAP 1.1 specifications. Current
                    values are "A", "B" and "C".
      Type:         Literal
      Resolution:   Locked
      Examples:     "A"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;WapVersion">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;WapCharacteristics"/>
		<rdfs:comment>
      Description:  Version of WAP supported.
      Type:         Literal
      Resolution:   Locked
      Examples:     "1.1", "1.2.1", "2.0"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;WmlDeckSize">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;WapCharacteristics"/>
		<rdfs:comment>
      Description:  Maximum size of a WML deck that can be downloaded to
                    the device. This may be an estimate of the maximum size
                    if the true maximum size is not known. Value is number
                    of bytes.
      Type:         Number
      Resolution:   Locked
      Examples:     "4096"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;WmlScriptLibraries">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;WapCharacteristics"/>
		<rdfs:comment>
      Description:  List of mandatory and optional libraries supported in
                    the device's WMLScript VM.
      Type:         Literal (bag)
      Resolution:   Locked
      Examples:     "Lang", "Float", "String", "URL", "WMLBrowser", "Dialogs", "PSTOR"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;WmlScriptVersion">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;WapCharacteristics"/>
		<rdfs:comment>
      Description:  List of WMLScript versions supported by the device.
                    Property value is a list of version numbers, where
                    each item in the list is a version string conforming
                    to Version.
      Type:         Literal (bag)
      Resolution:   Append
      Examples:     "1.1", "1.2"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;WmlVersion">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;WapCharacteristics"/>
		<rdfs:comment>
      Description:  List of WML language versions supported by the device.
                    Property value is a list of version numbers, where
                    each item in the list is a version string conforming
                    to Version.
      Type:         Literal (bag)
      Resolution:   Append
      Examples:     "1.1", "2.0"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;WtaiLibraries">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;WapCharacteristics"/>
		<rdfs:comment>
      Description:  List of WTAI network common and network specific
                    libraries supported by the device.
                    Property value is a list of WTA library names, where each
                    item in the list list is a library name as specified by
                    "WAP WTAI" and its addendums. Any future addendums to "WAP WTAI" 
                    should be reflected in the values of this property.
      Type:         Literal (bag)
      Resolution:   Locked
      Examples:     "WTAVoiceCall", "WTANetText", "WTAPhoneBook", 
                    "WTACallLog", "WTAMisc", "WTAGSM", "WTAIS136", "WTAPDC"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;WtaVersion">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;WapCharacteristics"/>
		<rdfs:comment>
      Description:  Version of WTA user agent.
      Type:         Literal
      Resolution:   Locked
      Examples:     "1.1"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;DrmClass">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;WapCharacteristics"/>
		<rdfs:comment>
      Description:  DRM Conformance Class as defined in OMA-Download-DRM-v1_0
      Type:         Literal (bag)
      Resolution:   Locked
      Examples:     "ForwardLock", "CombinedDelivery", "SeparateDelivery"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;DrmConstraints">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;WapCharacteristics"/>
		<rdfs:comment>
      Description:  DRM permission constraints as defined in OMA-Download-DRMREL-v1_0.  
                    The datetime and interval constraints depend on having a secure 
                    clock in the terminal.  
      Type:         Literal (bag)
      Resolution:   Locked
      Examples:     "datetime", "interval"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;OmaDownload">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;WapCharacteristics"/>
		<rdfs:comment>
      Description:  Supports OMA Download as defined in OMA-Download-OTA-v1_0
      Type:         Boolean
      Resolution:   Locked 
      Examples:     "Yes", "No"
   </rdfs:comment>
	</rdf:Description>
	<!-- ****************************************************************** -->
	<!-- ***** Component: PushCharacteristics ***** -->
	<rdf:Description rdf:about="&ns-prf;Push-Accept">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;PushCharacteristics"/>
		<rdfs:comment>
      Description:  List of content types the device supports, which can be carried
                    inside the message/http entity body when OTA-HTTP is used.                   
                    Property value is a list of MIME types, where each item in the
                    list is a content type descriptor as specified by RFC 2045.
      Type:         Literal (bag)
      Resolution:   Override
      Examples:     "text/html", "text/plain", "image/gif"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;Push-Accept-Charset">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;PushCharacteristics"/>
		<rdfs:comment>
      Description:  List of character sets the device supports. Property
                    value is a list of character sets, where each item in
                    the list is a character set name registered with IANA.
      Type:         Literal (bag)
      Resolution:   Override
      Examples:     "US-ASCII", "ISO-8859-1", "Shift_JIS"
    </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;Push-Accept-Encoding">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;PushCharacteristics"/>
		<rdfs:comment>
      Description:  List of transfer encodings the device supports.
                    Property value is a list of transfer encodings, where
                    each item in the list is a transfer encoding name as
                    specified by RFC 2045 and registered with IANA.
      Type:         Literal (bag)
      Resolution:   Override
      Examples:     "base64", "quoted-printable"
    </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;Push-Accept-Language">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Seq"/>
		<rdfs:domain rdf:resource="&ns-prf;PushCharacteristics"/>
		<rdfs:comment>
      Description:  List of preferred document languages. If a resource is
                    available in more than one natural language, the server
                    can use this property to determine which version of the
                    resource to send to the device. The first item in the
                    list should be considered the user's first choice, the
                    second the second choice, and so on. Property value is
                    a list of natural languages, where each item in the list
                    is the name of a language as defined by RFC 3066[RFC3066].
      Type:         Literal (sequence)
      Resolution:   Override
      Examples:     "zh-CN", "en", "fr"
    </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;Push-Accept-AppID">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;PushCharacteristics"/>
		<rdfs:comment>
      Description:  List of applications the device supports, where each item 
                    in the list is an application-id on absoluteURI format
                    as specified in [PushMsg]. A wildcard ("*") may be used
                    to indicate support for any application. 
      Type:         Literal (bag)
      Resolution:   Override
      Examples:     "x-wap-application:wml.ua", "*"
  </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;Push-MsgSize">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;PushCharacteristics"/>
		<rdfs:comment>
      Description:  Maximum size of a push message that the device can
                    handle. Value is number of bytes.
      Type:         Number
      Resolution:   Override
      Examples:     "1024", "1400"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;Push-MaxPushReq">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;PushCharacteristics"/>
		<rdfs:comment>
      Description:  Maximum number of outstanding push requests that the device 
                    can handle. 
      Type:         Number
      Resolution:   Override
      Examples:     "1", "5"
   </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;MmsMaxMessageSize">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;MmsCharacteristics"/>
		<rdfs:range rdf:resource="&ns-prf;Number"/>
		<prf:resolutionRule rdf:resource="&ns-prf;Locked"/>
		<rdfs:comment xml:lang="en">
      Description: Maximum size of an MMS message in bytes.
      Type: Number
      Resolution: Locked
      Examples: 2048
    </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;MmsMaxImageResolution">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:domain rdf:resource="&ns-prf;MmsCharacteristics"/>
		<rdfs:range rdf:resource="&ns-prf;Literal"/>
		<prf:resolutionRule rdf:resource="&ns-prf;Locked"/>
		<rdfs:comment xml:lang="en">
      Description: The maximum size of an image in units of pixels
      (horizontal x vertical).
      Type: Literal
      Resolution: Locked
      Examples: 80x60
    </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;MmsCcppAccept">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;MmsCharacteristics"/>
		<rdfs:range rdf:resource="&ns-prf;Literal"/>
		<prf:resolutionRule rdf:resource="&ns-prf;Locked"/>
		<rdfs:comment xml:lang="en">
      Description: Property value is a list of supported content types
      where each item in the list is a content type name
      registered as a MIME type
      Type: Literal (bag)
      Resolution: Locked
      Examples: image/jpeg, audio/wav, video/mpeg-4
    </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;MmsCcppAcceptCharSet">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;MmsCharacteristics"/>
		<rdfs:range rdf:resource="&ns-prf;Literal"/>
		<prf:resolutionRule rdf:resource="&ns-prf;Locked"/>
		<rdfs:comment xml:lang="en">
      Description: List of character sets that the MMS Client supports.
      Property value is a list of character sets, where
      each item in the list is a character set name registered
      with IANA
      Type: Literal (bag)
      Resolution: Locked
      Examples: US-ASCII, ISO-8859-1
    </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;MmsCcppAcceptLanguage">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;MmsCharacteristics"/>
		<rdfs:range rdf:resource="&ns-prf;Literal"/>
		<prf:resolutionRule rdf:resource="&ns-prf;Locked"/>
		<rdfs:comment xml:lang="en">
      Description: List of preferred languages. The first item in the
      list should be considered the users first choice.
      Property value is a list of natural languages, where
      each item in the list is the name of a language as
      defined by RFC 1766.
      Type: Literal (bag)
      Resolution: Locked
      Examples: en, fr
    </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;MmsCcppAcceptEncoding">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;MmsCharacteristics"/>
		<rdfs:range rdf:resource="&ns-prf;Literal"/>
		<prf:resolutionRule rdf:resource="&ns-prf;Locked"/>
		<rdfs:comment xml:lang="en">
      Description: List of transfer encodings that the MMS Client supports.
      Property value is a list of transfer encodings, where
      each item in the list is a transfer encoding name as
      specified by RFC 2045 and registered with IANA.
      Type: Literal (bag)
      Resolution: Locked
      Examples: base64, quoted-printable"
    </rdfs:comment>
	</rdf:Description>
	<rdf:Description rdf:about="&ns-prf;MmsVersion">
		<rdf:type rdf:resource="&ns-rdf;Property"/>
		<rdfs:range rdf:resource="&ns-rdf;Bag"/>
		<rdfs:domain rdf:resource="&ns-prf;MmsCharacteristics"/>
		<rdfs:range rdf:resource="&ns-prf;Literal"/>
		<prf:resolutionRule rdf:resource="&ns-prf;Locked"/>
		<rdfs:comment xml:lang="en">
      Description: The MMS versions supported by the MMS Client conveyed
      as majorVersionNumber.minorVersionNumber.
      Type: Literal (bag)
      Resolution: Locked
      Examples: "2.0", "1.3"
    </rdfs:comment>
	</rdf:Description>
</rdf:RDF>
