如何使用perl从XSD生成XML

时间:2010-01-22 05:27:28

标签: xml perl

我正在尝试使用perl从xsd生成XML 任何人都可以指导我正确的方向 谢谢

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        targetNamespace="urn:books"
        xmlns:bks="urn:books">
 <xsd:element name="books" type="bks:BooksForm"/>
<xsd:complexType name="BooksForm">
<xsd:sequence>
  <xsd:element name="book" 
              type="bks:BookForm" 
              minOccurs="0" 
              maxOccurs="unbounded"/>
</xsd:sequence>
 </xsd:complexType>
 <xsd:complexType name="BookForm">
<xsd:sequence>
  <xsd:element name="author"   type="xsd:string"/>
  <xsd:element name="title"    type="xsd:string"/>
  <xsd:element name="genre"    type="xsd:string"/>
  <xsd:element name="price"    type="xsd:float" />
  <xsd:element name="pub_date" type="xsd:date" />
  <xsd:element name="review"   type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="id"   type="xsd:string"/>
  </xsd:complexType>
</xsd:schema>

1 个答案:

答案 0 :(得分:2)

我无法想到在Perl中专门生成示例XML和XSD文件的任何内容。但是,如果我接近任务,我将首先查看XML::CompileXML::Pastor,它们都支持某种形式的XSD - &gt; Perl编组。可能有一些方法来提升他们的XSD解析并从中构建随机文档生成器。

另一个更不利的选择是使用我自己的XML::Toolkit从XSD文件生成对象,并使用它们为您的文档构建生成器。这不是微不足道的,甚至不一定是“理智的”,但我认为应该是可能的。

目前Perl中的XSD工具并不多。