使用xsl模板验证和识别错误记录和字段名称

时间:2014-02-25 19:21:37

标签: xml xslt

是否可以使用xsl模板验证和识别与sql * loader类似的错误记录和字段名称?

在下面的XML中实现规则如下:日期格式始终为'YYYY-MM-DD',数量和价格不应该有$符号,作者的字段长度不能超过250个字符,价格不应超过2个小数等。

 <Order>
       <book id="bk101">
          <author>Gambardella, Matthew</author>
          <title>XML Developer's Guide</title>
          <genre>Computer</genre>
          <price>44.95</price>
          <quantity>50</quantity>
          <publish_date>2000-OCT-01</publish_date>
          <deliver_date>2000-11-03</deliver_date>
       </book>
       <book id="bk102">
          <author>Ralls, Kim</author>
          <title>Midnight Rain</title>
          <genre>Fantasy</genre>
          <price>$5.95</price>
          <quantity>25</quantity>
          <publish_date>2000-12-16</publish_date>
          <deliver_date>2000-12-28</deliver_date>
       </book>
       <book id="bk103">
          <author>Corets, Eva</author>
          <title>Maeve Ascendant</title>
          <genre>Fantasy</genre>
          <price>5.95</price>
          <quantity>40</quantity>
          <publish_date>2000-11-17</publish_date>
          <deliver_date>2000-NOV-25</deliver_date>
       </book>
       <book id="bk104">
          <author>Corets, Eva</author>
          <title>Oberon's Legacy</title>
          <genre>Fantasy</genre>
          <price>$12</price>
          <quantity>30</quantity>
          <publish_date>2001-03-10</publish_date>
          <deliver_date>2001-05-15</deliver_date>
       </book>
       <book id="bk105">
          <author>Corets, Eva</author>
          <title>The Sundered Grail</title>
          <genre>Fantasy</genre>
          <price>5.95</price>
          <quantity>55</quantity>
          <publish_date>2001-09-10</publish_date>
          <deliver_date>2001-10-12</deliver_date>
       </book>
    </Order>

1 个答案:

答案 0 :(得分:3)

听起来你所描述的与Schematron类似,这是尝试通过生成XSLT样式表来创建验证系统。您可能想要调查该系统。

但是,目前推荐的解决方案是使用官方W3C XML Schema language和支持模式验证的XML解析器,而不是再次重新发明数据验证。