clojure从xsd生成xml和xpath

时间:2014-10-14 21:38:35

标签: xml xpath clojure xsd

在Clojure中有一种基于xsd生成一些样本xml的简单方法吗? 你将如何从xml中提取xpath? (这似乎是Clojure擅长的那种问题。)

例如 - 转此:                                                            

 <xsd:complexType name="USAddress">
  <xsd:sequence>
   <xsd:element name="name"   type="xsd:string"/>
   <xsd:element name="street" type="xsd:string"/>
   <xsd:element name="city"   type="xsd:string"/>
   <xsd:element name="state"  type="xsd:string"/>
   <xsd:element name="zip"    type="xsd:integer"/>
  </xsd:sequence>
  <xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/>
 </xsd:complexType>
</xsd:schema>

对此:

<?xml version="1.0" encoding="utf-8"?>
<PurchaseOrder OrderDate="2012-12-13">
  <ShipTo country="US">
    <name>str1234</name>
    <street>str1234</street>
    <city>str1234</city>
    <state>str1234</state>
    <zip>1234</zip>
  </ShipTo>
  <BillTo country="US">
    <name>str1234</name>
    <street>str1234</street>
    <city>str1234</city>
    <state>str1234</state>
    <zip>1234</zip>
  </BillTo>
</PurchaseOrder>

1 个答案:

答案 0 :(得分:2)

Clojure为XML操作提供了一个真正的代码库(clojure.data.xml)。对于XPath,我认为值得一看:clj-xpath 使用这些库,您的案例应该更容易。