전문 인터넷 중독자 • 게임 애호가 • 기술 창작자
전문 인터넷 중독자 • 게임 애호가 • 기술 창작자

Trang을 사용하여 XML에서 XSD 만들기

Trang!을 사용하여 XML에서 XSD 만들기
이 페이지는 여러분의 편의를 위해 열정적인 AI 인턴들이 영어에서 번역한 것입니다. 아직 학습 중이므로 몇 가지 오류가 있을 수 있습니다. 가장 정확한 정보는 영어 버전을 참조하세요.
블로그 Trang을 사용하여 XML에서 XSD 만들기

이 블로그 게시물은 2011년 2월에 게시되었으므로, 읽는 시점에 따라 일부 내용이 최신이 아닐 수 있습니다. 안타깝게도 정보의 정확성을 보장하기 위해 게시물을 항상 최신 상태로 유지할 수는 없습니다.

    As a web developer, I sometimes find myself stuck with an XML but having no XML schema, such as an XSD - and having an XML schema is the holy grail when working with web services that changes constantly.
    There are plenty of XML to XSD generators out there, but my favorite tool I have discovered is Trang. Trang is a multi-format schema converter which can convert between a number of different schema languages. Not XML, but also RELAX NG and DTD - and the best thing about it is that its free.
    Here is a quick guide for generating an XSD from an XML using Trang:

    Step 1 - Downloading

    Visit the project's download page and download the latest version. At the current time, the file trang-20091111.zip is the latest.

    Step 2 - Extracting

    Extract the ZIP archive and inside you will find a JAR file called trang.jar.
    Extracted

    Step 3 - Moving files

    Move or copy trang.jar to where you have your XML file. Here I have copied it to the same folder as my "products.xml" is located:
    Moved
    My "products.xml" is a simple XML schema containing two products:
    <?xml version="1.0" encoding="utf-8"?> <products> <product> <artnbr>A1</artnbr> <description>This is the product description for product A1</description> <price>123</price> </product> <product> <artnbr>B2</artnbr> <description>This is the product description for product B2</description> <price>321</price> </product> </products>

    Step 4 - Converting

    Open a command line and move yourself to the same folder as trang.jar and your XML file is located.
    Then type java -jar trang.jar products.xml products.xsd
    Command
    This will generate "products.xsd" based on your "products.xml".
    Opening the newly created "products.xsd" will reveal:
    <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="products"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="product"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="product"> <xs:complexType> <xs:sequence> <xs:element ref="artnbr"/> <xs:element ref="description"/> <xs:element ref="price"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="artnbr" type="xs:NCName"/> <xs:element name="description" type="xs:string"/> <xs:element name="price" type="xs:integer"/> </xs:schema>

    Additional tips

    When looking at the XSD, you will notice that Trang will have created different element types, such as xs:NCName and xs:string. Since Trang merely does high educated guesses on how the XSD should be specified - based on the data in the XML - it might get a few elements types wrong.
    Because of that, I usually take a brief look at the XSD and replace any very specific element types (in this case the xs:NCName) to more simpler types, such as xs:string.

    Special Agent Squeaky님이 작성했습니다. 최초 게시일 2011년 2월 14일. 최종 업데이트일 2011년 2월 14일.

    📺 스퀴키의 최신 영상을 시청하세요!

    라이브 스트림에 간단한 실시간 자막을 추가하는 방법