Excel в XML xsd: формат схемы даты, оператор «что если» для xsd? - PullRequest
0 голосов
/ 10 мая 2018

Я использую Excel для преобразования моих данных в XML. Одним из полей является дата. Моя проблема в том, что даты не соответствуют формату: ГГГГ или ГГГГ-ММ-ДД или даже иногда строковое значение текста и даты (например, «около 1920-х годов»).

Мне нужно решение для схемы, распознающей, что поле содержит либо значение даты, либо строковое значение.

Моя схема:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element nillable="true" name="metadata">
        <xsd:complexType>
            <xsd:sequence minOccurs="0">
                <xsd:element minOccurs="0" maxOccurs="unbounded" nillable="true" name="record" form="unqualified">
                    <xsd:complexType>
                        <xsd:sequence minOccurs="0">
                            <xsd:element minOccurs="0" nillable="true" type="xsd:date" name="date" form="unqualified"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>

Пример даты:

Date
1921-06-01
1919
1921-06-01
1921

Я ходил взад и вперед, используя 'xsd: date' и 'xsd: string', но форматирование Excel не переводится. При сопоставлении схемы с полем поле даты предлагает пользователю выбрать либо текущее форматирование, либо соответствие форматированию элемента. В любом случае, YYYY и YYYY-MM-DD оба не отображаются, один всегда изменяется. Я хотел бы иметь оба. Мысли?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...