XMLTemplate
XMLTemplate["string"]
产生一个 TemplateObject, 表示可被诸如 TemplateApply 这样的函数应用的 XML 模板.
XMLTemplate[src]
用 File[…]、URL[…] 或 CloudObject[…] 作为字符串模板的来源.
XMLTemplate[form,args]
产生一个有参数的 TemplateObject,可用于云部署或其他运算.
更多信息和选项
- XML 中可以使用下来基本标签:
-
<wolfram:slot> TemplateSlot <wolfram:expr> TemplateExpression <wolfram:if> TemplateIf <wolfram:which> 多个 TemplateIf <wolfram:sequence> TemplateSequence <wolfram:with> TemplateWith <wolfram:template> TemplateObject <wolfram:get> Get <wolfram:comment> 需要忽略的评论 <wolfram:verbatim> verbatim XML - <wolfram:slot inserter=f> 在 TemplateSlot 中指定选项设置 InsertionFunction->f.
- <wolfram:expr inserter=f> 在 TemplateExpression 中指定选项设置 InsertionFunction->f.
- <wolfram:slot/> 等价于 TemplateSlot[1].
- <wolfram:if test=test>body</wolfram:if> 指定应该绘制 body,如果 test 计算得到 True.
- <wolfram:which> ... </wolfram:which> 可以包含任意数目的 <wolfram:if ...> ... </wolfram:if>,并且可选单个 <wolfram:else> ... </wolfram:else>. 如果按顺序计算 "if" 测试,第一个计算得到 True,这是 "which" 的最终格式.
- <wolfram:sequence attr>body</wolfram:sequence> 支持下列属性:
-
values (required) 重复 body 的列表或者关联性 slot 1 提供给 body 的模板插口的名称 index 2 提供给 body 的位置索引名称 delimiters Sequence[] 在 body 的重复之间插入的分隔符 default Sequence[] 若无数值时应使用的格式 inserter Inherited InsertionFunction 选项的设置 - 当应用模板时,<wolfram:with key1=val1 key2=val2 ...>body</wolfram:with> 指定 keyi 应该用 body 中的 vali 替换.
- <wolfram:template attr>body</wolfram:template> 支持下列属性,它定义了 TemplateObject 的选项,用于 body:
-
inserter Inherited InsertionFunction 选项的设置 combiner Inherited CombinerFunction 选项的设置 - <wolfram:get attr/> 支持下列属性:
-
path (required) 文件或者 URL 路径 inserter Inherited InsertionFunction 选项的设置 combiner Inherited CombinerFunction 选项的设置 - XMLTemplate 具有下列选项:
-
InsertionFunction "HTMLFragment" 在插入表达式前应用的函数或者格式 CombinerFunction StringJoin 在返回结果前用于合并各个部分的函数 - 在 XMLTemplate[File[…]] 和 XMLTemplate[URL[…]] 中,将源文件等的内容作为字符串导入.
范例
打开所有单元关闭所有单元基本范例 (2)
用 TemplateApply 来做同样的事情:
XMLTemplate 支持和 StringTemplate 一样的语法;当模板被运用的时候,对 <*…*> 中的表达式进行计算:
范围 (4)
选项 (2)
InsertionFunction (1)
应用 (9)
<wolfram:slot id='...' inserter='...'>...</wolfram:slot>
<wolfram:expr inserter='...'>...</wolfram:expr>
<wolfram:if test='...'>...</wolfram:if>
<wolfram:which><wolfram:if test='...'>...</wolfram:if></wolfram:which>
<wolfram:sequence values='...' ...>...</wolfram:sequence>
使用默认数值(StringTemplate):
<wolfram:with key$1='val$1' ...>...</wolfram:with>
<wolfram:get path='...'><wolfram:slot id='...'/>...</wolfram:get>
包括路径的模板. 路径是一个 StringTemplate:
<wolfram:template ...>...</wolfram:template>
<wolfram:comment>...</wolfram:comment>
属性和关系 (1)
XMLTemplate 的运算结果为 TemplateObject:
可能存在的问题 (1)
XMLTemplate 的第二个参数中的数据比 TemplateApply 中的参数的优先级要高:
巧妙范例 (1)
可以把 XMLTemplate 部署到云端. 每一次访问 URL 时,TemplateApply 将渲染模板:
文本
Wolfram Research (2014),XMLTemplate,Wolfram 语言函数,https://reference.wolfram.com/language/ref/XMLTemplate.html.
CMS
Wolfram 语言. 2014. "XMLTemplate." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/XMLTemplate.html.
APA
Wolfram 语言. (2014). XMLTemplate. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/XMLTemplate.html 年