2011-08-24 72 views
0

下面是schema文件sample.xsd如何在xml中使用模式屬性的默認值?

<?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代碼,並閱讀 「訂單ID」 屬性,我不能讓值「abc」,但爲空字符串。 有什麼問題?如何獲得默認值?是否有必要讀取代碼中的模式文件?我是xsd的初學者。

感謝, 傑克

回答

0

至少你需要用一個模式驗證解析器解析XML文檔。您沒有提及您正在使用的是哪種語言等,但是如果您使用java,那麼它應該與啓用的模式一起工作javax.xml.DOMBuilder

+0

謝謝,我正在使用C++。 – ldlchina

+0

那麼,那麼Xerces-C++應該可以工作:http://xerces.apache.org/xerces-c/ –

相關問題