項目表示のカスタマイズに関する Sonosのドキュメントに記載されている手順に従って、音楽サービスにカスタム項目表示を実装しました。
Python セルフ テスト スイートを実行すると、次のエラーが表示されます:
Element 'PresentationMap', attribute 'type': [facet 'enumeration'] The value 'DisplayType' is not an element of the set {'NowPlayingRatings', ' ListOverlays'、'InfoView'、'ArtWorkSizeMap'、'BrowseIconSizeMap'、'Search'}.
テスト スイートの Sonos.wsdl ファイルを Sonos の Web サイトのファイル ( Sonos.wsdl ) に置き換えていることに注意してください。これには「displayType」関連の変更が含まれているためです。
私のプレゼンテーション マップ xml ファイルは次のようになります。
<?xml version="1.0" encoding="utf-8" ?>
<Presentation>
<PresentationMap type="DisplayType">
<DisplayType id="genreGrid">
<DisplayMode>GRID</DisplayMode>
</DisplayType>
<DisplayType id="genreList">
<DisplayMode>LIST</DisplayMode>
</DisplayType>
<DisplayType id="genreHero">
<DisplayMode>HERO</DisplayMode>
</DisplayType>
<DisplayType id="genreEditorial">
<DisplayMode>EDITORIAL</DisplayMode>
</DisplayType>
<DisplayType id="playlist">
<Lines>
<Line token="title"/>
<Line token="summary"/>
</Lines>
</DisplayType>
</PresentationMap>
<--! Other PresetationMap tags (NowPlayingRatings, InfoView, Search, BrowseIconSizeMap)-->
</Presentation>
また、Presentation Map xml ファイルから DisplayType タグを削除すると、エラーは表示されなくなりますが、実装したカスタム アイテム表示がなくても表示は正常に戻ります。
テストスイートのpresentationmap.xsdにDisplayTypeが含まれていないため、エラーが表示されていると思います。テストに合格し、実装したカスタム アイテムの表示を維持しながらこのエラーを回避するには、どうすればこれを修正できますか?