Tôi có một tình huống trong đó một phần tử trong tệp XML có thể có hai loại khác nhau trong XSD.xsd cùng một yếu tố, các loại khác nhau?
Điều tôi muốn làm trước tiên là xác thực giá trị đã nhập vào loại nghiêm ngặt hơn (nếu đó là người điền vào biểu mẫu) và nếu điều đó không kéo qua, hãy xác thực nó với loại ít nghiêm ngặt hơn (nếu đó là một tổ chức điền vào biểu mẫu), nếu không thì việc xác thực không thành công nếu nó không hợp lệ.
Vì vậy, đây là cơ bản nó:
<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>
gì PersonType tuyên bố về cơ bản là một con số 12 chữ số được xây dựng theo một mô hình cụ thể. Loại tổ chức tuyên bố về cơ bản chỉ là một số có 10 chữ số.
Vì vậy, những gì tôi một cách logic muốn làm là đặt này:
<xsd:element name="sender" type="OrganizationType" minOccurs="0" />
vào trình tự, nhưng bạn không thể có hai yếu tố có cùng tên và các loại khác nhau. Vì vậy, tôi nghĩ tôi phải giải quyết nó theo cách khác.
Những gì tôi đã tìm thấy được điều này: http://xsd.stylusstudio.com/2007Oct/post05003.htm
Đó là khá nhiều những gì tôi muốn làm, nhưng tôi không chắc chắn nó có thể. Có ai có thêm ý tưởng nào về cách giải quyết vấn đề này không?
Xin cảm ơn trước.
Bạn không muốn sử dụng backticks cho đa dòng mã. Chỉ cần chọn các dòng và sử dụng Control-K. –
@Arizon: để định dạng mã đúng, tô sáng nó và sau đó nhấp vào nút có số 0 và số (01010 0101010) trong thanh công cụ phía trên trình chỉnh sửa! –