0

我有一个如下所示的 XML,其中项目的数量可以从 0 到 n 不等。有没有办法编写 XSD 来验证 Schema 。

<?xml version="1.0" encoding="utf-8" ?> 
<ShoppingItems> 
  <CustomerName>John</CustomerName> 
  <Address>Walstreet,Newyork</Address> 
  <Item1>Milk</Item1> 
  <Price1>1$</Price1> 
  <Item2>IceCream</Item2> 
  <Price2>1$</Price2> 
  <Item3>Bread</Item3> 
  <Price3>1$</Price3> 
  <Item4>Egg</Item4> 
  <Price4>1$</Price4>   

  <Item..n>Egg</Item..n> 
  <Price..n>1$</Price..n> 
</ShoppingItems> 
4

1 回答 1

1

不是现在的形式。XSD 定义非常严格——在上述情况下,您将指定所有可能的 ShoppingItems 类型(包括 Item..n 和 Price..n),这当然是不可能的。

更好的是更改 XML 文件,使其结构更合理:

<?xml version="1.0" encoding="utf-8" ?> 
<ShoppingItems> 
  <CustomerName>John</CustomerName> 
  <Address>Walstreet,Newyork</Address> 
  <Items>
    <Item price="1$">Milk</Item> 
    <Item price="3$">IceCream</Item>
    <Item price="1$">Bread</Item> 
    <Item price="1.5$">Egg</Item> 
  </Items>
</ShoppingItems> 

现在完全可以使用模式定义此文档。

于 2012-07-12T07:14:59.867 回答