5:
7:
12:
15: 16: 21: 23: 27: 假如我们事先确定好ID只有3个,即只有3个ISBN是可选的,那怎么办?我们可以用enumeration元素来进行列举。 再来看订购量quantity的值,如果我们设定其值必须在1-10之间,该怎么办呢?可以这些自定义一个简单类型。 其中,minInclusive,maxInclusive分别代表该类型的取值范围。 所以最终修改后的Schema文档如下: order4-1.xsd ---------------------- 1: 2: 4: 7: 12: 15: 16: 21: 23: 29: 36: 跟我学XML Schema(10):定义属性 元素的属性如何在Schema文档中定义 比如上面的order.xml实例文档中: 对此,我们在Schema文档中采用一个attribute来定义: order.xsd ---------
那么,实例文档中该属性值是必须的还是可有可无的呢?我们可以这样限制:
这里我们讲id属性类型作为一种自定义数据类型idType。 而且,用attribute元素的use属性来定义是否是必须的属性。 required是必须值,optional是可选值,prohibited是无属性值。 那么对于属性的缺省值,我们怎么定义呢? 比如: 我们还可以用attribute元素的另一个属性default来定义: 所以,我们可以重新写出一个Schema文档: order2.xsd -------------- 使用属性组 上面的属性我们定义我们还可以采用属性组的办法来重新改写Schema文档。 order3.xsd ---------------- 1: 3: 4: 8: 9: 10: 这个属性组就不详细解释了,不过,大家一看就清楚了吧。 最后,我们写一个完整的订书order.xml的Schema文档。 1: 2: 4: 7: 9: 10: 11: 12: 14: 15: 19: 20: 21: 24: 26: 30: XPath 模仿 Unix 文件系统的处理方式,在 XML 中可以使用 XPath 来取得 XML 内的数据。 可以通过 XmlSpy 来方便地学习 XPath。 下面练习中使用的 XML 文档,这是在前面网站应用程序中使用的配置文件。 connectionString=\server=CAIT-KN69NNTMOI;database=vote;integrated security=true\ Source=CAIT-KN69NNTMOI;Initial Catalog=Vote;Integrated Security=True\ providerName=\System.Data.SqlClient\