是否可以使用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>
答案 0 :(得分:3)
听起来你所描述的与Schematron类似,这是尝试通过生成XSLT样式表来创建验证系统。您可能想要调查该系统。
但是,目前推荐的解决方案是使用官方W3C XML Schema language和支持模式验证的XML解析器,而不是再次重新发明数据验证。