2009-12-15 94 views
1

如何編寫XSD以驗證StartDate元素和EndDate元素是否在Quarter元素和Year元素內?謝謝。XSD和日期範圍驗證

<OrganizationName>Chevron</OrganizationName> 
<Quarter>4</Quarter> 
<Year>2010</Year> 
<Fuel> 
    <FuelPathwayCode>CARBOBCB001</FuelPathwayCode> 
    <PhysicalPathwayCode>PP001</PhysicalPathwayCode> 
    <transaction-item type="Production or Import"> 
     <StartDate>2010-04-01</StartDate> 
     <EndDate>2010-04-15</EndDate> 
     <Amount>1000</Amount> 
     <BusinessPartnerID>2</BusinessPartnerID> 
     <Description>Test description</Description> 
    </transaction-item> 

回答

3

我認爲這超出了您在XSD中可以做的範圍。我不認爲它支持像這樣的元素間驗證。考慮使用X/Query或XSLT。

+0

+1正好,它沒有。 – 2009-12-15 06:24:53

0

您可以使用持續時間類型而不是enddate datetime。目前持續時間類型允許負值,儘管您可能會將其擴展到您自己的類型以禁止該能力。這樣你在開始之前永遠不會有結束時間。

duration is at the bottom