it-swarm-vi.tech

Bất kỳ công cụ nào để tạo lược đồ XSD từ tài liệu cá thể XML?

Tôi đang tìm kiếm một công cụ sẽ lấy một tài liệu cá thể XML và đưa ra một lược đồ XSD tương ứng.

Tôi chắc chắn nhận ra rằng lược đồ XSD được tạo sẽ bị hạn chế khi so sánh với việc tạo lược đồ bằng tay (có thể nó sẽ không xử lý các phần tử tùy chọn hoặc lặp lại hoặc ràng buộc dữ liệu), nhưng ít nhất nó có thể đóng vai trò là điểm khởi đầu nhanh.

146
Matt Dillard

công cụ suy luận Microsoft XSD là một giải pháp tốt, miễn phí. Nhiều công cụ chỉnh sửa XML, chẳng hạn như XmlSpy (được đề cập bởi @Garth Gilmour) hoặc OxygenXML Editor cũng có tính năng đó. Chúng khá đắt, mặc dù. BizTalk Server cũng có một công cụ suy luận XSD.

chỉnh sửa: Tôi vừa phát hiện ra lớp .net XmlSchemaInference , vì vậy nếu bạn đang sử dụng .net, bạn nên xem xét điều đó

65
Danimal

Bạn có thể sử dụng tùy chọn mã nguồn mở và đa nền tảng: inst2xsd từ XMLBeans của Apache . Tôi thấy nó rất hữu ích và dễ dàng.

Chỉ cần tải xuống, giải nén và chơi (nó yêu cầu Java).

54
Dario

Trang là lựa chọn tốt nhất ở đây. Nguồn mở và nền tảng chéo (mặc dù Java là bắt buộc)

Từ trang web của Trang:

Trang chuyển đổi giữa các ngôn ngữ lược đồ khác nhau cho XML. Nó hỗ trợ các ngôn ngữ sau

  • THƯ GIÃN NG (cú pháp XML)
  • THƯ GIÃN NG cú pháp nhỏ gọn
  • XML 1.0 DTD
  • Lược đồ XML của W3C

Một lược đồ được viết bằng bất kỳ ngôn ngữ lược đồ được hỗ trợ nào có thể được chuyển đổi thành bất kỳ ngôn ngữ lược đồ được hỗ trợ nào khác, ngoại trừ Lược đồ XML của W3C chỉ được hỗ trợ cho đầu ra, không phải cho đầu vào.

Trang cũng có thể suy ra một lược đồ từ một hoặc nhiều tài liệu XML mẫu.

Liên kết tải xuống

51
Derferman

Trong VS2010 nếu bạn tải tệp XML vào trình chỉnh sửa, hãy nhấp vào menu XML >> Tạo lược đồ.

16
Nathan Donnellan

Ngoài ra còn có XML schema learner có sẵn trên Github .

Nó có thể lấy nhiều tệp xml trích xuất một XSD chung từ tất cả các tệp đó .

11
edorian

Nếu bạn đã cài đặt .Net, một công cụ để tạo các lược đồ và các lớp XSD đã được bao gồm theo mặc định.
[.__.] Đối với tôi, công cụ XSD được cài đặt theo cấu trúc sau. Điều này có thể khác nhau tùy thuộc vào thư mục cài đặt của bạn.

C:\Program Files\Microsoft Visual Studio 8\VC>xsd
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation. All rights reserved.

xsd.exe -
   Utility to generate schema or class files from given source.

xsd.exe <schema>.xsd /classes|dataset [/e:] [/l:] [/n:] [/o:] [/s] [/uri:]
xsd.exe <Assembly>.dll|.exe [/outputdir:] [/type: [...]]
xsd.exe <instance>.xml [/outputdir:]
xsd.exe <schema>.xdr [/outputdir:]

Thông thường các lớp và lược đồ mà công cụ này tạo ra hoạt động khá tốt, đặc biệt là nếu bạn sẽ sử dụng chúng bằng ngôn ngữ .Net

Tôi thường lấy tài liệu XML mà tôi theo sau, Đẩy nó qua công cụ XSD bằng cờ /o:<your path> để tạo lược đồ (xsd) và sau đó Đẩy tệp xsd trở lại qua công cụ bằng cách sử dụng /classes /L:VB (or CS) /o:<your path> cờ để có được các lớp mà tôi có thể nhập và sử dụng hàng ngày. Dự án Net

10
Pat Hermens

Nếu tất cả những gì bạn muốn là XSD, LiquidXML có phiên bản miễn phí là XSD và nó có GUI cho nó để bạn có thể Tweak XSD nếu muốn. Dù sao thì ngày nay tôi cũng tự viết XSD, nhưng tất cả là nhờ ứng dụng này.

http: //www.l Liquid-technology.com/

6
Robert Gould

nếu bạn đang làm việc trong Java world - ý tưởng intelliJ cũng có hỗ trợ xml mở rộng, bao gồm thế hệ xsd và samle xml từ thế hệ xsd và với các plugin bạn có thể nhận được trình gỡ lỗi xslt. - đặc biệt Nice nếu bạn có kế hoạch sử dụng các công cụ như jaxb sau đó.

4
Andreas Petersson

Altova XmlSpy làm tốt điều này - bạn có thể tìm thấy tổng quan tại đây

3
Garth Gilmour

Đây là một chủ đề cũ nhưng tôi nghĩ nó có thể hữu ích để đăng liên kết này: chỉ cần tìm thấy công cụ này: xsd-gen Tạo Lược đồ XML từ XML

và nó chỉ làm những gì tôi cần.

3
v_e