У меня возникла ситуация, когда элемент в XML-файле может иметь два разных типа в XSD.xsd тот же элемент, разные типы?
Что я хочу сделать, это сначала проверить введенное значение на более строгий тип (если это человек, который заполняет форму), и если это не тянет, проверьте его на менее строгий тип (если это организация, которая заполняет форму), в противном случае пусть проверка не будет выполнена, если она вообще не подтвердится.
Так что это в основном это:
<xsd:complexType name="ForminfoType"> `
<xsd:sequence>
<xsd:element name="formname" type="xsd:string" />
<xsd:element name="timestamp" type="xsd:dateTime" />
<xsd:element name="sender" type="PersonType" minOccurs="0" />
<xsd:element name="receiver" type="OrganizationType" minOccurs="0" />
<xsd:element name="signature" type="xsd:string" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
Что PersonType заявляет, в основном 12-значное число, построенные по определенной схеме. То, что объявляет тип организации, представляет собой просто 10-значное число.
Так что я логически хотел бы сделать, это поставить это:
<xsd:element name="sender" type="OrganizationType" minOccurs="0" />
в последовательности, но вы не можете иметь два элемента с одинаковым именем и разными типами. Поэтому я считаю, что я должен решить это каким-то другим способом.
То, что я нашел, было это: http://xsd.stylusstudio.com/2007Oct/post05003.htm
Что довольно много, что я хочу сделать, но я не уверен, что это возможно. У кого-нибудь есть дальнейшие идеи о том, как это решить?
Заранее спасибо.
Вы не хотите использовать кавычку для мультих-строк коды. Просто выберите линии и используйте Control-K. –
@Arizon: чтобы правильно форматировать код, выделите его, а затем нажмите кнопку с нулями и единицами (01010 0101010) на панели инструментов над редактором! –