【发布时间】:2012-12-22 14:14:13
【问题描述】:
我有几个需要生成 Ruby 代码的 XML 文件。我的XML结构如下:
<acronym_list>
xmlns="http://www.example.com/xsds"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.com/xsds
http://www.example.com/xsds/acronyms.xsd">
<item>
<metadata>
<release>...</release>
<id>...</id>
<checkdigit>...<checkdigit>
<status>...</status>
<date_added>...</date_added>
<date_modified>...</date_modified>
<language>...</language>
<license_url>...</license_url>
</metadata>
<info>
<name>...</name>
</info>
</item>
</acronym_list>
在这种情况下,我们讨论的是首字母缩略词。 item 元素(及其子元素)对于我列表中的每个首字母缩写词都会重复。我还有几个结构相似的文件,info 元素有更多的子元素。
我试图输出的 Ruby 代码如下所示:
Module acronym_list
def self.included(other)
include SAXMachine
SAXMachine.configure(other) do |c|
c.element :metadata, :class => metadata
c.element :info, :class => info
end
end
class metadata
include SAXMachine
c.element :release
c.element :id
c.element :checkdigit
c.element :status
c.element :date_added
c.element :date_modified
c.element :language
c.element :license_url
end
class info
include SAXMachine
c.element :name
end
end
我尝试解析的其他 XML 文件遵循相同的模式。我已经设法让第一部分使用模块声明,但我不知道足够的 XSLT 来获得其余部分。
有人能帮我解决这个问题吗?
【问题讨论】:
标签: ruby xml xslt code-generation