Используя XS: дата, я хочу дату в формате ГГГГММДД - PullRequest
6 голосов
/ 18 февраля 2011

Используя XSD, я хочу принимать только дату формата YYYYMMDD в моем поле xml. Так как я могу это сделать

Я видел это в примере, это будет работать ??

1 Ответ

10 голосов
/ 18 февраля 2011

XML-схема определяет dateTime как ISO8601 с некоторыми исключениями, и вам следует придерживаться этого, в противном случае у вас возникнут серьезные проблемы взаимодействия.Если вы хотите отправить / получить дату в другом формате, используйте simpleType с ограничением регулярного выражения и проанализируйте / отформатируйте дату в коде вашего приложения:

<xs:simpleType name="CustomDate">
    <xs:restriction base="xs:string">
        <xs:pattern value="\d{8}"/>
    </xs:restriction>
</xs:simpleType>

Если вы действительно хотитевозиться со встроенными типами (крайне нежелательно), ваш фреймворк / библиотека XML может иметь некоторую поддержку для этого.Например, в Java / JAXB вы можете применять настраиваемые преобразователи / форматеры к любому типу, так что в коде клиент / сервер вы все еще используете объект Date (не 8-значный String), но он маршалируется / демаршализируется с помощьюВаша обычная рутина.

...