【问题标题】:clojure generate xml and xpaths from xsdclojure 从 xsd 生成 xml 和 xpaths
【发布时间】:2014-10-14 21:38:35
【问题描述】:

在 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>

【问题讨论】:

  • 您是否考虑过使用 XSLT 从 XSD 生成 XML?
  • 我没有考虑过。我认为从 Clojure 直接生成会更好,但我会研究一下。

标签: xml xpath clojure xsd


【解决方案1】:

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

【讨论】:

  • 谢谢。我会看看那些库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-18
  • 1970-01-01
  • 2020-11-18
  • 1970-01-01
  • 2013-05-01
  • 2011-08-28
  • 2023-04-01
相关资源
最近更新 更多