关于UPnP Device Architecture 2.0的阅读笔记(九)

设备描述之 XML与设备描述

   XML使用的一般要求

    XML命名空间前缀不必与规定中的例子一样。它可以使用任何遵循一般XML命名空间机制的规则。

    设备应该接受使用其他合法前缀的请求。   

    如果一个XML元素不含任何值,那么可以将开标签和闭标签合为一个

    如:用<actionname/>代替<actionname></actionname>

  设备描述

    UPnP设备的描述文件包含了一些设备的信息。主要是由设备提供商提供的信息,嵌入设备的定义,设备表达的URL,服务列表,包含控制URL和事件URL。此外,要定义非标准的设备,供应商可以在标准设备基础上添加嵌入的设备和服务。
    下面是一个具体的实例(我使用##表示每个元素标签的含义,所有的标签大小写敏感,标签值初URL外大小写不敏感):
    <?xml version="1.0"?>    ##所有xml文件必须,大小写敏感
    <root xmlns="urn:schemas-upnp-org:device-1-0"   ##root标签包含描述根设备的所有元素
          configId="configuration number">                        ##必须,configId属性代表配置号,在发现过程中使用
        <specVersion>                 ##必须,表示设备支持的UDA版本
            <major>2</major>
            <minor>0</minor>      ##URLbase标签在UDA2.0中不再支持
        </specVersion>
        <device>                           ##必须,与设备相关的定义
            <deviceType>urn:schemas-upnp-org:device:deviceType:ver</deviceType>     ##设备类型
            <friendlyName>short user-friendly title</friendlyName>                                        ##设备短友好名,方便最终用户
            <manufacturer>manufacturer name</manufacturer>                                              ##制造商,必须
            <manufacturerURL>URL to manufacturer site</manufacturerURL>                   ##制造商URL,允许
            <modelDescription>long user-friendly title</modelDescription>                          ##设备长友好名,推荐
            <modelName>model name</modelName>                                     ##模型名,必须
            <modelNumber>model number</modelNumber>                          ##模型号,推荐
            <modelURL>URL to model site</modelURL>                                 ##模型URL,允许
            <serialNumber>manufacturer's serial number</serialNumber>   ##序列号,推荐
            <UDN>uuid:UUID</UDN>                                             ##UDN,必须
            <UPC>Universal Product Code</UPC>                     ##统一产品码,允许
            <iconList>                                                                          ##图标列表,当且仅当设备有时必须
                <icon>
                <mimetype>image/format</mimetype>
                <width>horizontal pixels</width>
                <height>vertical pixels</height>
                <depth>color depth</depth>
                <url>URL to icon</url>
                </icon>
                <!-- XML to declare other icons, if any, go here -->
            </iconList>
            <serviceList>                                    ##设备服务列表
                <service>
                <serviceType>urn:schemas-upnp-org:service:serviceType:ver</serviceType>    ##服务类型
                <serviceId>urn:upnp-org:serviceId:serviceID</serviceId>            ##服务ID
                <SCPDURL>URL to service description</SCPDURL>                 ##设备描述文件URL
                <controlURL>URL for control</controlURL>                                   ##服务控制URL
                <eventSubURL>URL for eventing</eventSubURL>                      ##服务事件URL
                </service>
                <!-- Declarations for other services defined by a UPnP Forum working committee
                (if any) go here -->
                <!-- Declarations for other services added by UPnP vendor (if any) go here -->
            </serviceList>
            <deviceList>                     ##嵌入设备列表,如果有的话
            <!-- Description of embedded devices defined by a UPnP Forum working committee
            (if any) go here -->
            <!-- Description of embedded devices added by UPnP vendor (if any) go here -->
            </deviceList>
            <presentationURL>URL for presentation</presentationURL>         ##推荐,设备表达URL
        </device>
    </root>
    由于存在不同的标签,在解析的过程中遇到不认识的元素标签,连同其子标签一起忽略;忽略任何不认识的属性和属性值。
    控制点和设备应该忽略任何XML注释或不认识的嵌入设备和服务。
    XML设备描述文件使用UTF-8编码。如果元素值或属性值中出现标记符号(&或<>),应使用别名(&amp,&lt,&gt)

 UPnP设备模版

    上面的描述表明了一个设备描述文件和设备模版之间的关系。
    一个UPnP设备描述文件是由设备提供商以设备模版为基础,以XML语法编写的。
    设备模版是UPNP论坛工作委员会发布的用于设备标准化的一个方法。
    通过合适的占位符,上面的XML文件可以即是一个设备描述文件又是一个设备模版。
    设备模版定义了设备的整体类型,每一个设备描述文件通过具体的供应商信息实例化一个设备模版。
    前者由UPnP论坛工作委员会创建,后者由供应商编写。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值