Tôi hiện có hai lược đồ XSD và một là phiên bản "nhẹ" của phiên bản kia. Ngay bây giờ tôi có mọi thứ trong phiên bản "ánh sáng" lặp đi lặp lại trong lược đồ "hoàn chỉnh", nhưng điều này trở thành nỗi đau khi tôi cần thay đổi, và nó đi ngược lại nguyên tắc DRY, vì vậy tôi đã tự hỏi liệu có một phần tử hay không được phân phối để bao gồm một giản đồ khác vào một lược đồ, vì vậy tôi có thể thừa kế "hoàn chỉnh" của mình từ giản đồ "ánh sáng" để giảm rào cản bảo trì.Tôi có thể có một Lược đồ XML (XSD) bao gồm một Lược đồ XML khác không?
39
A
Trả lời
56
Có hai phương pháp cho việc này.
<xsd:include schemaLocation="pathToFile" />
nên được sử dụng để bao gồm các tệp có cùng không gian tên.
<xsd:import namespace="namespace" schemaLocation="pathToFile" />
nên được sử dụng để bao gồm các tệp trong một không gian tên khác. Thông thường, bạn sẽ chỉ định không gian tên được cho là targetNamespace của lược đồ đã nhập.
5
Sử dụng phần tử < include>, xem ví dụ here.
Điều đó dễ hơn tôi dù ... cảm ơn! –