抱歉,如果这很简单或已经在某个地方回答过 - 我找不到任何对我尝试过的搜索词有用的东西。
我有一些日期输入,我想在条件级联中进行,如下所示:
- 整个日期采用 ISO 格式顺序 - YYYY-MM-DD
- 月和日可能包含“非法”值,特别是零或二月 30
键(以及此帖的原因),如果存在月份,则必须存在年份;如果存在日期,则必须存在月份和年份。如此有效,日期可能是“YYYY”或“YYYY-MM”或“YYYY-MM-DD”。到目前为止,我所拥有的只是一个检查各个元素的简单规范,而不是我所描述的联合计划。这可能与 XSD 吗?
<xs:element name='DatumOd' minOccurs='0' maxOccurs='1'> <xs:simpleType> <xs:restriction base='xs:string'> <xs:minLength value='4'/> <xs:maxLength value='10'/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name='RokStary' minOccurs='0' maxOccurs='1'> <xs:simpleType> <xs:restriction base='xs:short'> <xs:minInclusive value='700' /> <xs:maxInclusive value='2013' /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name='MesicStary' minOccurs='0' maxOccurs='1'> <xs:simpleType> <xs:restriction base='xs:byte'> <xs:minInclusive value='0' /> <xs:maxInclusive value='12' /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name='DenStary' minOccurs='0' maxOccurs='1'> <xs:simpleType> <xs:restriction base='xs:byte'> <xs:minInclusive value='0' /> <xs:maxInclusive value='31' /> </xs:restriction> </xs:simpleType> </xs:element>
==> 婴儿
那将是一种方法,但它需要一个元素中的所有日期信息。此外,它允许在我的日期数字中使用更多无意义的值,例如 2999 年、第 13 个月、第 14 个月...、最多 39 天。
如果您再次查看我的尝试,您会发现我要么一次拥有所有数据信息,要么在元素中:[DatumOd],要么在三个单独的元素中:[RokStary]、[MesicStary] 和 [DenStary]。我想要做的是指定我可以接受 [DatumOd] 或集合 [RokStary]、[MesicStary] 和 [DenStary]。另外,我想级联依赖,以便 [MesicStary] 的存在需要 [RokStary] 存在,而 [DenStary] 需要 [MesicStary] 存在。所以,我可以:
[基准点]
或者
[RokStary]
或者
[RokStary] 和 [MesicStary]
或者
[RokStary] 和 [MesicStary] 和 [DenStary]。
这是否使它更清楚?
==================================================== ======
样本数据
<?xml version='1.0' encoding='UTF-8'?>
<dataroot>
<DSXML SeqNum='1' ID='92491'>
<TypZaznamu>Z</TypZaznamu>
<Rad>RO</Rad>
<Druh>Spermophilus citellus</Druh>
<CharVyskyt>0</CharVyskyt>
<DatumOd>1894</DatumOd>
<Katastr>Habartice</Katastr>
<Kvadrat>4956</Kvadrat>
<Oblast>Frydlantska pahorkatina</Oblast>
<Zdroj>(Wurm 1894, Wiesbaur 1894)</Zdroj>
<Pocet>0</Pocet>
<Elevation>240</Elevation>
<Zapsano>06/24/98</Zapsano>
<Zapsal>M.A.</Zapsal>
<Poznamka>(Ebersdorf)</Poznamka>
<Okres>LI</Okres>
<Region>SC</Region>
</DSXML>
<DSXML SeqNum='2' ID='92591'>
<TypZaznamu>Z</TypZaznamu>
<Rad>RO</Rad>
<Druh>Spermophilus citellus</Druh>
<CharVyskyt>0</CharVyskyt>
<DatumOd>1894-09</DatumOd>
<Katastr>Habartice</Katastr>
<Kvadrat>4956</Kvadrat>
<Oblast>Frydlantska pahorkatina</Oblast>
<Zdroj>(Wurm 1894, Wiesbaur 1894)</Zdroj>
<Pocet>0</Pocet>
<Elevation>240</Elevation>
<Zapsano>06/24/98</Zapsano>
<Zapsal>M.A.</Zapsal>
<Poznamka>(Ebersdorf)</Poznamka>
<Okres>LI</Okres>
<Region>SC</Region>
</DSXML>
<DSXML SeqNum='3' ID='93491'>
<TypZaznamu>Z</TypZaznamu>
<Rad>RO</Rad>
<Druh>Spermophilus citellus</Druh>
<CharVyskyt>0</CharVyskyt>
<DatumOd>1894-03-22</DatumOd>
<Katastr>Habartice</Katastr>
<Kvadrat>4956</Kvadrat>
<Oblast>Frydlantska pahorkatina</Oblast>
<Zdroj>(Wurm 1894, Wiesbaur 1894)</Zdroj>
<Pocet>0</Pocet>
<Elevation>240</Elevation>
<Zapsano>06/24/98</Zapsano>
<Zapsal>M.A.</Zapsal>
<Poznamka>(Ebersdorf)</Poznamka>
<Okres>LI</Okres>
<Region>SC</Region>
</DSXML>
<DSXML SeqNum='4' ID='9418'>
<TypZaznamu>Z</TypZaznamu>
<Rad>CA</Rad>
<Druh>Neovison vison</Druh>
<CharVyskyt>2</CharVyskyt>
<RokStary>1991</RokStary>
<MesicStary>01</MesicStary>
<DenStary>19</DenStary>
<Katastr>Cernousy</Katastr>
<Kvadrat>4956</Kvadrat>
<Oblast>Frydlantska pahorkatina</Oblast>
<Zdroj>(Andera & Hanzal 1996)</Zdroj>
<Pocet>0</Pocet>
<Elevation>260</Elevation>
<Zapsano>03/10/99</Zapsano>
<Zapsal>M.A.</Zapsal>
<Okres>LI</Okres>
<Region>SC</Region>
</DSXML>
<DSXML SeqNum='5' ID='94174'>
<TypZaznamu>Z</TypZaznamu>
<Rad>CA</Rad>
<Druh>Neovison vison</Druh>
<CharVyskyt>2</CharVyskyt>
<RokStary>1991</RokStary>
<Katastr>Habartice</Katastr>
<Kvadrat>4956</Kvadrat>
<Oblast>Frydlantska pahorkatina</Oblast>
<Zdroj>(Andera & Hanzal 1996)</Zdroj>
<Pocet>0</Pocet>
<Elevation>240</Elevation>
<Zapsano>03/10/99</Zapsano>
<Zapsal>M.A.</Zapsal>
<Okres>LI</Okres>
<Region>SÈ</Region>
</DSXML>
<DSXML SeqNum='6' ID='94660'>
<TypZaznamu>Z</TypZaznamu>
<Rad>RO</Rad>
<Druh>Apodemus agrarius</Druh>
<CharVyskyt>4</CharVyskyt>
<RokStary>1991</RokStary>
<MesicStary>05</MesicStary>
<Katastr>Cernousy</Katastr>
<Kvadrat>4956</Kvadrat>
<Oblast>Frydlantska pahorkatina</Oblast>
<Zdroj>(Barta Z. & Benda 1998)</Zdroj>
<Pocet>9</Pocet>
<Elevation>260</Elevation>
<Zapsano>05/06/99</Zapsano>
<Zapsal>M.A.</Zapsal>
<Okres>LI</Okres>
<Region>SC</Region>
</DSXML>
</dataroot>