我有以下的代碼來生成與ID和班級在Haskell使用Text.XHtml.Strict庫一系列的div的空白html頁面:問題與Text.XHtml庫哈斯克爾
module Main where
import Text.XHtml.Strict
import Text.Printf
page :: Html
page = pHeader +++ pTop +++ pBody +++ pFooter
pHeader :: Html
pHeader = header << thetitle << "Page title"
pTop :: Html
pTop = (dC "header") << (dI "title")
pFooter :: Html
pFooter = (dC "footer") << (dI "foottext")
pBody :: Html
pBody = body << (dC "main") << (dI "window") << (dI "content")
dC :: String -> Html
dC x = (thediv noHtml)! [theclass x]
dI :: String -> Html
dI x = (thediv noHtml) ! [identifier x]
main :: IO()
main = do
printf $ prettyHtml $ page
功能dC
和dI
應該分別用一個類或id做一個空。在解釋這些功能串聯時做工精細,如:
printf $ prettyHtmlFragment $ dC "1" +++ dC "2"
<div class="1">
</div>
<div class="2">
</div>
但是,當我試圖巢他們使用<<
代替+++
不,我得到一個錯誤:
<interactive>:1:28:
Couldn't match expected type `Html -> b'
against inferred type `Html'
這是我認爲在代碼的主要部分的問題的原因是,但我不知道如何解決它。有任何想法嗎?
感謝這個,這個庫的文檔很難找到(除了hackage文檔)和教程實際上不存在。 –
查找文檔或示例時,請記住Text.Xhtml包基於Text.Html包,並且具有幾乎完全相同的用法。 – MtnViewMark