對不起,如果這很簡單或已經在某個地方回答 - 我找不到任何對我嘗試過的搜索詞有用的東西。XSD可選條件
我有一些數據輸入,我想提出在有條件的級聯,像這樣:
- 整個日期是ISO格式順序 - YYYY-MM-DD
- 月和日可能包含'非法'值,特別是零或2月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]存在。所以,我可以有:
[DatumOd]
OR
[RokStary]
OR
[RokStary]和[MesicStary]
OR
[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>
的樣本數據輸入XML請.. –