UPnP AV ContentDirectory v2 Service TemplateからのサンプルDIDL-Lite XML ドキュメントを次に示します。
<?xml version="1.0" encoding="UTF-8"?>
<DIDL-Lite
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"
xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/
http://www.upnp.org/schemas/av/didl-lite-v2-20060531.xsd
urn:schemas-upnp-org:metadata-1-0/upnp/
http://www.upnp.org/schemas/av/upnp-v2-20061231.xsd">
<item id="18" parentID="13" restricted="0">
...
</item>
</DIDL-Lite>
Go の xml パッケージを使用してこれにマーシャリングするにはどうすればよいでしょうか? すなわち:
- や などの名前空間プレフィックスはどのように定義され
xmlns:dc
ていxmlns:upnp
ますか? - 複数の名前空間は要素でどのように構成されていますか?
xsi
属性の接頭辞など、属性の名前空間はどのように設定されていschemaLocation
ますか?
ベースとして、私は次のようなものを持っています:
type DIDLLite struct {
XMLName xml.Name `xml:"urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/ DIDL-Lite"`
// ??? namespace prefixes dc, upnp, xsi
Objects []Object
}
このおそらく関連するバグも見つけました。