我用javax.xml.validation.Validator.validate(StreamSource, StreamResult)
,這裏是我的XML和XSD:如何用XSD中的默認值填充空xml元素(通過驗證)?
的xsd:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string" default="nobody"/>
</xs:sequence>
<xs:attribute name="color" type="xs:string" default="red" />
</xs:complexType>
</xs:element>
</xs:schema>
XML:
<note>
<to>you</to>
<from></from>
</note>
但我從得到StreamResult被像這樣:
<?xml version="1.0" encoding="UTF-8"?>
<note color="red">
<to>you</to>
</from>
</note>
根據W3C XML Schema Part 0(見2.2.1 發生約束 para4)
如果元件沒有出現任何內容,模式處理器提供了一個值等於的元素默認屬性。
爲什麼默認屬性填充但不是空元素?我應該怎麼做才能獲得默認值?
您可以重新編輯帖子嗎?它缺乏信息,因此不清楚你在尋找什麼! –