Przejdź do wyniku narzędzia
Narzędzia

Generator XSD 1.0 z przykładowego XML

Wklej przykładowy dokument XML, aby przygotować punkt wyjścia do schematu XSD 1.0.

Przejdź do narzędzia

Wklej przykładowy dokument XML, aby przygotować punkt wyjścia do schematu XSD 1.0. Wybierz sposób wnioskowania typów i krotności elementów.

Opracowanie:

Ustawienia narzędzia

Dane pozostają w tej karcie. Pobierz wynik, aby go zachować.

Wynik i eksport

Brak gotowego wyniku

Uzupełnij formularz i utwórz wynik.

Jak działa narzędzie

  1. Wklej poprawny XML albo wstaw przykład. Dokument może być bez namespace lub używać jednego wspólnego namespace dla wszystkich elementów.
  2. Wybierz wnioskowanie prostych typów albo zapis wszystkich wartości jako xs:string.
  3. Wybierz sekwencję elementów lub dowolną kolejność. Dla sekwencji ustaw górne granice powtórzeń.
  4. Opcjonalnie ustaw wszystkie lokalne elementy i atrybuty jako niewymagane.
  5. Utwórz i pobierz XSD. Przejrzyj wywnioskowane reguły, a następnie sprawdź własne przykłady niezależnym walidatorem XSD.

Szczegóły techniczne

Generator tworzy lokalne deklaracje elementów i anonimowe typy. Łączy obserwacje elementów o tej samej nazwie i położeniu. W sekwencji szuka wspólnej kolejności zgodnej z próbkami; przeplatanie tych samych nazw albo sprzeczna kolejność wymaga przełączenia na dowolną kolejność. Ten drugi tryb używa choice i pozwala wystąpić każdemu znanemu dziecku zero lub wiele razy.

Domyślna dolna granica w sekwencji wynika z najmniejszej zaobserwowanej liczby wystąpień. Górna granica może być równa największej zaobserwowanej liczbie albo nieograniczona dla elementów zaobserwowanych wielokrotnie. Atrybut jest wymagany, jeżeli pojawił się we wszystkich analizowanych wystąpieniach elementu. Można wyłączyć tę wymagalność. Treść mieszaną oznaczamy mixed, a element z samym tekstem i atrybutami korzysta z simpleContent.

FAQ

Czy próbka zawsze opisuje wszystkie reguły?

Nie. XSD z próbki jest punktem wyjścia. Uzupełnij brakujące przypadki, zakresy i wymagania, a potem sprawdź dokumenty pozytywne oraz negatywne.

Dlaczego sekwencja zgłasza sprzeczną kolejność?

Przykłady zawierają różne porządki tych samych elementów albo ich przeplatanie. Możesz wybrać dowolną kolejność, która tworzy szerszy model choice.

Czy obsługiwane są przestrzenie nazw?

Tak, jeśli wszystkie elementy należą do jednego wspólnego namespace. Schemat otrzyma targetNamespace i kwalifikowane elementy lokalne. Dokumenty z kilkoma namespace wymagają osobnych schematów i importów.

Ograniczenia narzędzia

Przy wnioskowaniu wykrywane są xs:boolean dla true/false, xs:integer, xs:decimal i poprawna data RRRR-MM-DD. Pozostałe wartości otrzymują xs:string. Zera wiodące w liczbach pozostają tekstem. Nie są zgadywane wszystkie formaty, klucze, relacje ani reguły biznesowe. Jedna próbka nie dowodzi, że pokazuje wszystkie opcje i dopuszczalne krotności.

Zakres: XSD 1.0, jeden namespace elementów (bezwzględny URI z kodowaniem procentowym znaków spoza ASCII) lub jego brak, atrybuty bez namespace, do 250 000 znaków XML, 3000 elementów i 16 poziomów. DTD, deklaracje encji, xsi:nil, xsi:type oraz atrybuty z namespace wymagają ręcznego schematu. Wskazania xsi:schemaLocation są pomijane i nie powodują pobierania zasobów. Narzędzie generuje schemat; nie jest przeglądarkowym, pełnym walidatorem dowolnego XSD ani konwerterem XSD na przykładowy XML.

Źródła i aktualizacja

Umieść to narzędzie na swojej stronie

Skopiuj kod i wklej go w swoim artykule. Narzędzie zadziała na Twojej stronie, a pod nim pojawi się link do źródła. Za darmo, bez rejestracji.

Motyw: