XSD和日期范围验证

时间:2009-12-15 01:46:28

标签: validation date xsd range

如何编写XSD以验证StartDate元素和EndDate元素是否在Quarter元素和Year元素中?感谢。

<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>

2 个答案:

答案 0 :(得分:3)

我认为这超出了您在XSD中可以做的范围。我不认为它支持这样的元素间验证。考虑使用X / Query或XSLT。

答案 1 :(得分:0)

您可以使用持续时间类型而不是enddate datetime。目前持续时间类型允许负值,但您可以将其扩展为您自己的类型以禁止该功能。这样你就不会在开始之前有一个结束时间。

duration is at the bottom