Tôi muốn tạo tài liệu cho các lược đồ XML.Chuyển đổi XSD thành cấu trúc cây bằng Java
Mục tiêu của tôi là phân tích tệp xsd và hiển thị nó dưới dạng cấu trúc cây (với tất cả các loại phức tạp/ẩn danh được giải quyết). Hơn nữa, tôi cần chú thích tất cả các mục trong cây đó với bản số của chúng (theo định nghĩa của lược đồ).
Ví dụ nhỏ sau đây có thể giúp làm rõ vấn đề của tôi.
a) file xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="client" type="clientType" />
<xs:complexType name="clientType">
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="first_name"/>
<xs:element name="last_name"/>
<xs:element name="address" type="addressType"
minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="addressType">
<xs:sequence>
<xs:element name="street"/>
<xs:element name="number" minOccurs="0" maxOccurs="1"/>
<xs:element name="city"/>
<xs:element name="zipcode"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
b) Output Tôi muốn xem:
client [1]
first_name [1]
last_name [1]
address [1..n]
street [1]
number [0..1]
city [1]
zipcode [1]
Không ai biết một giải pháp dựa trên java cho vấn đề này? Tốt hơn là dựa trên Eclipse Schema Infoset, nhưng tôi rất vui khi sử dụng các thư viện khác.
Làm cách nào để giải quyết nội dung của các loại ẩn danh/phức tạp bằng XSLT? Bạn có ví dụ nào về điều này không? –