xmerl
模块
[医]xmerl
模块摘要
将XML数据导出到外部格式的函数。
描述
将XML数据导出到外部格式的函数。
出口
callbacks(Module) -> Result
类型
查找给定模块的继承回调模块列表。
export(Content, Callback) -> ExportedFormat
相当于export(Data, Callback, [])...
export(Content, Callback, RootAttributes) -> ExportedFormat
类型
使用指定的回调模块导出正常的、格式良好的XML内容.
Element是下列任何一种:
#xmlText{}
#xmlElement{}
#xmlPI{}
#xmlComment{}
#xmlDecl{}
(请参阅xmerl.hrl记录定义。)#xmlText{}元素中的文本可以是深层的字符和/或二进制文件列表。
RootAttributes是#xmlAttribute{}属性的#root#元素,该元素隐式地成为给定元素的父元素。Content.标记处理程序函数#root#的完整导出数据调用Content根属性可用于指定XML或HTML文档的编码或其他元数据。
大Callback模块应该包含数据结构中所有标签的挂钩函数。钩子函数必须具有以下格式:
Tag(Data, Attributes, Parents, E)这里E是对应的#xmlElement{},Data是对已远销内容E和Attributes是清单#xmlAttribute{}的记录E。最后,Parents是的父节点列表E,表格上[{ParentTag::atom(), ParentPosition::integer()}]。
钩子函数应该返回要导出的数据,或者元组{'#xml-alias#', NewTag::atom()}或元组{'#xml-redefine#', Content},其中Content是内容列表(可以是简单形式;请参阅export_simple/2详细信息)。
回调模块可以通过所需的函数从其他回调模块继承定义。'#xml-interitance#() -> [ModuleName::atom()]。
另见: export/2,export_simple/3。
export_content(Es::Content, Callbacks) -> term()
类型
直接导出正常的XML内容,而不需要进一步的上下文。
export_element(E, CB) -> term()
直接导出普通XML元素,而不需要进一步的上下文。
export_element(E, CallbackModule, CallbackState) -> ExportedFormat
用于XML文档解析(SAX样式)期间的即时导出。
export_simple(Content, Callback) -> ExportedFormat
相当于export_simple(Content, Callback, [])。
export_simple(Content, Callback, RootAttrs::RootAttributes) -> ExportedFormat
类型
使用指定的回调模块导出“简单表单”XML内容。
Element是下列任何一种:
{Tag, Attributes, Content}
{Tag, Content}
Tag
IOString
#xmlText{}
#xmlElement{}
#xmlPI{}
#xmlComment{}
#xmlDecl{}
何地
Tag = atom()
Attributes = [{Name, Value}]
Name = atom()
Value = IOString | atom() | integer()
因此,普通形式的XML元素可以包含在简单的表单表示中。注意,内容列表必须是平面的。安IOString是%28--可能是深%29的字符和/或二进制文件列表。
RootAttributes是一份清单,其中包括:
XmlAttributes = #xmlAttribute{}
见export/3有关回调模块和根属性的详细信息。在传递给回调模块之前,XML-数据总是被转换成普通形式。
另见: export/3,export_simple/2。
export_simple_content(Content, Callback) -> term()
直接导出简单的XML内容,而不需要进一步的上下文。
export_simple_element(Content, Callback) -> term()
直接导出一个简单的XML元素,而不需要进一步的上下文。
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com

