【发布时间】:2014-08-24 04:40:49
【问题描述】:
我需要创建非常复杂的 XML 文档 (METS),使用前缀、名称空间、模式验证、文档内部引用的元素 ID、来自混合名称空间的属性……几乎所有 XML 允许您做的事情。此外,还会有大量嵌套的元素,使得手动跟踪开始和结束标签变得困难。
研究了几种可能性,我遇到了Template::Declare。
synopsis 提供了一个示例,我在这里展示以供参考:
template simple => sub {
html {
head {}
body {
p { 'Hello, world wide web!' }
}
}
};
我的问题是:就 Perl 语言元素而言,这里发生了什么?这如何转化为有效的 Perl 语法?例如,这里对于 Perl 编译器的“html”、“head”关键字等代表什么?那是一些隐含的子声明吗? Perl 隐含地做了(或允许你做)很多事情,以至于我永远不知道实际发生了什么。我不想只是复制和粘贴一些示例,并希望我可以弯曲它来做我需要的事情,我实际上想知道我在做什么......
有人可以在这里启发我吗?
【问题讨论】:
-
作为旁注,我不会将 Template::Declare 用于大型 XML 文档。请改用 XML::Twig 或 XML::Compile。当你必须维护它时,这东西会杀死你。
-
谢谢 simbabque,我去看看。