如何在xml中使用schema属性默认值?

时间:2011-08-24 13:49:30

标签: xml xsd

这是架构文件sample.xsd

<?xml version="1.0" encoding="ISO-8859-1" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:complexType name="shipordertype">
    <xs:attribute name="orderid" type="xs:string" default="abc"/>
  </xs:complexType>

  <xs:element name="shiporder" type="shipordertype"/>

</xs:schema>

这是XML文件sample.XML

<?xml version="1.0" encoding="ISO-8859-1"?>

<shiporder
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="sample.xsd">
</shiporder>

我在代码中加载这个XML,并读取“orderid”属性,我不能得到值“abc”,而是一个空字符串。 怎么了?如何获得默认值?是否有必要在代码中读取模式文件?我是xsd的初学者。

谢谢, 千斤顶

1 个答案:

答案 0 :(得分:0)

至少需要使用模式验证解析器来解析XML文档。你没有提到你正在使用哪种语言等,但是如果你使用java,那么它应该适用于支持模式的javax.xml.DOMBuilder

相关问题