[ 
https://issues.apache.org/jira/browse/FELIX-2730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12972438#action_12972438
 ] 

Francesco Furfari commented on FELIX-2730:
------------------------------------------

Hi Patrick,

I agree it is a requirement related to an important  standard: DLNA, but it 
should be faced with the  vendor extension mechanism provided by the UPnP 
specification. In fact DLNA uses exactly that extension mechanism. I used the 
term non-standard vendor extension because everything not defined in a 
standardised DCP is a non-standard vendor extension. With respect to this DLNA 
aaliance is a vendor defining a non-standard extension: the DLNA standard.  
Read the paragraph "2.5 Description: Non-standard vendor extensions" of the 
UpnP specification  
(http://upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v1.0.pdf)

You got the point, with your last sentence.

In other words I would like to use a more general mechanism to include custom 
XML elements in the schema.
Moreover we should be able to get such extensions when importing UpnP Devices 
and report them  as properties of the OSGi service.
This is a piece of the UPnP Specification 1.0 that was not considered by the 
OSGi-UPnP Device specification, which is related to the UPnP Spec 1.0 and 
should be updated to the UPnP 1.1.
The extension management in the last version has been simplified. Extended tags 
(that ones beginiing with X_) can be added only at the end of the 
Complex_Element definition, in the old version you could find such elements 
everywhere.

So we need to think to a better way to pass XML elements and namespace 
definitions.

Francesco


> UPnP exposed to/used by DLNA devices
> ------------------------------------
>
>                 Key: FELIX-2730
>                 URL: https://issues.apache.org/jira/browse/FELIX-2730
>             Project: Felix
>          Issue Type: New Feature
>          Components: UPnP Subproject
>         Environment: All platforms using the Felix UPnP bundle
>            Reporter: Patrik Sagelius
>            Priority: Minor
>         Attachments: site.patch
>
>
> One of the larger areas of usage with UPnP is to expose a DMS. There are also 
> many consumers of DMS devices, e.g. TVs. Many of the new TVs coming to the 
> market are branded "DLNA compatible". This means they will require DMS 
> devices to have the XML tag shown below in the device description:
> <dlna:X_DLNADOC 
> xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMS-1.00</dlna:X_DLNADOC>
> This is described in paragraph 7.2.10 in the document named "DLNA Networked 
> Device Interoperability Guidelines". This is just one of many DLNA specific 
> tags. However, it seems that a great number of DMR devices (consumers of DMS 
> devices, e.g. TVs) expects this tag and only shows the DMS as a valid DMS if 
> it is included.
> I know this has nothing to do with UPnP since it is a DLNA specific tag, but 
> it increases the usability of the UPnP stack and the number of usecases 
> supported a great deal! Moreover, there is no way to set this XML tag in the 
> device description using the OSGi UPnP API as it is currently specified.
> What is needed is that the developer needs some way of controlling the 
> content of the device description to include this tag.
> So when creating the device the programmer supplies properties to control 
> various things, such as name and description. It would be good to supply a 
> property called "X_DLNADOC" with the value of the tag, e.g. DMS-1.00. So the 
> code to create a DLNA supported device would look like:
> public class DmsDevice implements UPnPDevice {
>     private Dictionary dictionary = new Hashtable();
>     public DmsDevice() {
>         dictionary.put(UPnPDevice.FRIENDLY_NAME, "My Name");
>         dictionary.put("X_DLNADOC", "DMS-1.00");
>         ....
>     }
>     public Dictionary getDescriptions(String locale) {
>         return this.dictionary;
>     }
>     ....
> }
> This should result in an XML like:
> <?xml version="1.0" encoding="utf-8"?>
> <root xmlns="urn:schemas-upnp-org:device-1-0">
>    <specVersion>
>       <major>1</major>
>       <minor>0</minor>
>    </specVersion>
>    <URLBase>http://<myip>:<myport></URLBase>
>    <device>
>       <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
>       <dlna:X_DLNADOC 
> xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMS-1.00</dlna:X_DLNADOC>
>       <friendlyName>My Name</friendlyName>
>       ........
> </root>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to