/ / Czy XSD może weryfikować zależności między polami? - xsd

Czy XSD może sprawdzać zależności między polami? - xsd

Szukam sposobu na sprawdzenie poprawności mojego pliku XSDjedno pole oparte na treści innego. Na przykład może być konieczne sprawdzenie, czy moje pole „data początkowa” jest przed polem „data końcowa”. czy to możliwe?

Odpowiedzi:

1 dla odpowiedzi № 1

Krótka odpowiedź: Nie, nie można tego zrobić za pomocą tego, co nazywamy „XSD” i prawdopodobnie oznacza W3C XML Schema 1.0

Długa odpowiedź: Możesz zweryfikować takie rzeczy za pomocą RelaxNG + Schematron lub jeśli musi to być XSD, użyj schematu W3C 1.1 z jego mechanizmem asercyjnym. Wersja 1.1 jest obecnie w fazie wydania kandydata, więc nie jest to pełna rekomendacja, więc narzędzia prawdopodobnie nie wesprzyj to jeszcze. Na bardziej filozoficznym poziomie możesz zastanowić się, czy tkanie tak drobiazgowych reguł biznesowych jest właściwym podejściem. Obecnie jestem zaangażowany w kilka standardów i w tych standardach upewniam się, że jest to aplikacja użytkownika końcowego, która sprawdza takie reguły biznesowe - jest zbyt szeroka, aby standardowy schemat mógł zdefiniować rzeczy tak szczegółowo, schemat byłby zbyt duży , gadatliwy, mają zbyt stromą krzywą uczenia się i są o wiele trudniejsze do utrzymania.