首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在球拍中生成HTML

在球拍中生成HTML
EN

Stack Overflow用户
提问于 2012-02-13 05:59:59
回答 2查看 1.6K关注 0票数 6

从球拍中的X表达式生成HTML的推荐方法是什么?看起来response/xexpr可以做到这一点,但似乎是为服务http响应而设计的。我唯一需要的是从球拍列表(或X表达式)生成一个HTML字符串,不需要有一个网络服务器参与。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-13 06:32:25

如果我没记错的话,xml库中的xexpr->string函数应该会执行您所要求的操作。对于使用它的示例,您可以查看here,该示例使用它为一个简化的web服务器应用程序生成HTML响应。

代码语言:javascript
复制
> (xexpr->string '(html (head (title "Hello")) (body "Hi!")))
"<html><head><title>Hello</title></head><body>Hi!</body></html>"
票数 6
EN

Stack Overflow用户

发布于 2012-02-13 07:38:03

如果你愿意抛弃xexprs而使用更方便的工具,那么有一种新的语言可以用来生成球拍网页。它还没有文档化(因此它仍然是新的,也不是完全公开的),但是您可以看到它是如何在these sources中使用的。作为演示它的一个快速示例,运行以下命令:

代码语言:javascript
复制
#lang scribble/html
@(define name "foo")
@html{@head{@title{@name}}
      @body{@h1{@name}}}

另一个示例使用它作为库:

代码语言:javascript
复制
#lang at-exp racket/base
(require scribble/html)
(define (page name)
  (output-xml
   @html{@head{@title{@name}}
         @body{@h1{@name}}}))
@page{foo}

at-exp并不是必需的,它只是简化了用代码编写大量文本的过程。(对于xexprs,它也同样有用。)

主要区别在于,在这种语言中,HTML标记实际上是绑定,这使得维护代码变得很方便。它还可以非常灵活地接受文本--例如,不需要将其限制在字符串和子标记的严格列表中,因此您永远不会遇到在哪里使用append-map等问题。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9253126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档