{- hums - The Haskell UPnP Server Copyright (C) 2009 Bardur Arantsson This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . -} module Didl ( mkDidl ) where import Text.XML.HXT.Arrow -- Create a DIDL-Lite element with namespace declarations. mkDidl :: ArrowXml a => [a XmlTree XmlTree] -> a XmlTree XmlTree mkDidl es = selem "dummy" -- Avoids the XML declaration when HXT generates the XML. [ mkelem "DIDL-Lite" [ sattr "xmlns:dc" dcNs , sattr "xmlns:upnp" upnpNs , sattr "xmlns" ns ] es ] where dcNs = "http://purl.org/dc/elements/1.1/" upnpNs = "urn:schemas-upnp-org:metadata-1-0/upnp/" ns = "urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"