2011-06-23 39 views
7

Tôi có 2 tệp XSD.Sử dụng XSD.exe để tạo các lớp C# từ nhiều lược đồ XSD

Một tệp XSD cho phép ABC.xsd chứa các phần tử là một phần của XML. Tệp XSD khác cho phép nói XYZ.xsd có chứa các lỗi của các yếu tố đó.

Bây giờ trong ABC.XSD (nắm giữ các yếu tố) thẻ schema cùng với không gian tên khác mà chúng tôi đã đề cập đến schemaLocation cũng

<xs:schema schemaLocation="XYZ.xsd"> 

Khi tôi đang thực hiện xsd.exe để genereate lớp C# của tôi. Nó tạo ra các lớp nhưng thiếu một số definations từ XYZ.xsd.

Tôi đang thực hiện

xsd.exe "ABC.xsd" "XYZ.xsd" /c 

Bất kỳ trợ giúp sẽ được appreicate

EDIT 1: @Felice, trong XYZ.xsd của tôi, tôi có, định nghĩa như thế này

<xs:simpleType name="contactNumberType"> 
     <xs:annotation> 
      <xs:documentation>Contact phone or fax number with national or international format. Only numbers are allowed</xs:documentation> 
     </xs:annotation> 
     <xs:restriction base="xs:string"> 
      <xs:pattern value="\+?\p{N}{6,24}"/> 
     </xs:restriction> 
    </xs:simpleType> 

Xem mẫu được định nghĩa ở đây, nó không xuất hiện trong lớp C#. Bất kỳ sự giúp đỡ nào. Xin lỗi tôi mới đến điều này. Cảm ơn câu trả lời của bạn đã làm việc

Trả lời

3

Chỉ chuyển xsd "chính" làm tham số, đảm bảo thông số còn lại nằm ở cùng vị trí chính và nó sẽ hoạt động.

+0

Tôi đã chỉnh sửa bởi câu hỏi. Xem Edit1. Vui lòng – Shax

+0

@Shax các hạn chế không afefct lớp, chỉ cần xác nhận, xem ở đây làm thế nào để xác nhận: http://stackoverflow.com/questions/6451519/how-to-use-xsd2code-generated-c-classes/6451593# 6451593 –

+0

Tôi xin lỗi tôi đã mất. Những gì tôi nghĩ là bằng cách thực hiện XSD.exe nó sẽ tạo ra các lớp C# và sẽ đặt tất cả các hạn chế vv như một phần của mã C#. – Shax

Các vấn đề liên quan