作者:高阳毛巾批零店_103 | 来源:互联网 | 2023-06-16 15:04
fromhttp:blog.csdn.netmynameiscloudarticledetails6616989Trang是一种命令行的可以XML生成XSD的工具,生
fromhttp://blog.csdn.net/mynameiscloud/article/details/6616989
Trang 是一种命令行的可以XML生成XSD的工具,生成XML文件对应的XSD文件只需要3个简单的步骤:
第一步 下载Trang
从http://www.thaiopensource.com/relaxng/trang.html 上下载trang-version.zip
第二步 解压zip
将trang-version.zip解压到某个目录,比如d:\trang
第三步 生成XSD
假设在 d:\ 下有一个xml文件 person.xml
- xml version="1.0" encoding="UTF-8" standalone="yes"?>
- <person NAME&#61;"ZhangSan">
- <address country&#61;"China">
- <state>beijingstate>
- address>
- <Job>ITJob>
- person>
打开windows命令行&#xff0c;将当前位置变更到 d:\
输入
java -jar %TrangHome%\trang.jar person.xml person.xsd
( %TrangHome%表示Trang解压目录, trang.jar 接受两个参数&#xff0c;第一个为源文件&#xff0c;第二个为目标文件)
ok&#xff01;你可以看到在 d:\ 下就生成了 person.xsd 文件
- xml version&#61;"1.0" encoding&#61;"UTF-8"?>
- <xs:schema xmlns:xs&#61;"http://www.w3.org/2001/XMLSchema" elementFormDefault&#61;"qualified">
- <xs:element name&#61;"person">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref&#61;"address"/>
- <xs:element ref&#61;"Job"/>
- xs:sequence>
- <xs:attribute name&#61;"NAME" use&#61;"required" type&#61;"xs:NCName"/>
- xs:complexType>
- xs:element>
- <xs:element name&#61;"address">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref&#61;"state"/>
- xs:sequence>
- <xs:attribute name&#61;"country" use&#61;"required" type&#61;"xs:NCName"/>
- xs:complexType>
- xs:element>
- <xs:element name&#61;"state" type&#61;"xs:NCName"/>
- <xs:element name&#61;"Job" type&#61;"xs:NCName"/>
- xs:schema>
使用xbinder根据xsd生成c_c&#43;&#43;源码 berserkerr 发表于 2005-4-25 12:57:00 |
我在网上找了一个XML Data binding的工具&#xff0c;叫做XBinder&#xff0c;支持XML Schema和C/C&#43;&#43;之间的映射,支持windows,linux和各种unix平台。其主页为http://obj-sys.com/products_xbinder.shtml &#xff0c;我已经把各平台下的xbinder安装文件放在\\172.18.42.200\Incoming\xgm\xbinder下。 使用xbinder的步骤为&#xff1a; 1. 根据xsd生成c/c&#43;&#43;源代码(*.c或*.cpp, *.h)和makefile文件 2. 在自己的c/c&#43;&#43;文件里include前一步骤所生成的h文件&#xff0c;使用前一步骤生成的c&#43;&#43; class或c struct 3. make (要将xbinder的库文件link起来&#xff0c;这些都已经在自动生成的makefile中写好了) 我在windows下试了一下&#xff0c;根据OTA的schema文件FS_OTA_AirBookRS.xsd&#xff0c;生成了一系列cpp和h文件&#xff0c;并可以使用。 | |