根据xml文件写XML Schema
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据xml文件写XML Schema相关的知识,希望对你有一定的参考价值。
帮忙写这个xml文件的schema,谢谢了
(numerOfPeople: integer, cost:integer
period:"[d]2.[d]2.[d]4-\d2.[d]2.[d]4"
)
<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet type="text/xsl" href="summerEvent_style3.xsl" ?>
<EVENTS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Style">
<EVENT>
<name>Travel</name>
<type>Travel</type>
<period>01.05.2014-03.05.2014</period>
<numberOfPeople>10</numberOfPeople>
<cost currency="euro">100</cost>
<place>Akaa</place>
<hotel>Akaa Hotel</hotel>
</EVENT>
</EVENTS>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="EVENTS">
<xs:complexType>
<xs:sequence>
<xs:element name="EVENT" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="type" type="xs:string"/>
<xs:element name="period" type="timeValueType"/>
<xs:element name="numberOfPeople" type="xs:int"/>
<xs:element name="cost">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:int">
<xs:attribute name="currency" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="place" type="xs:string"/>
<xs:element name="hotel" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="timeValueType">
<xs:restriction base="xs:token">
<xs:pattern value="\\d2.\\d2.\\d4-\\d2.\\d2.\\d4"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>本回答被提问者采纳
根据 XML Schema (XSD) 验证 JSON
【中文标题】根据 XML Schema (XSD) 验证 JSON【英文标题】:Validate JSON against XML Schema (XSD) 【发布时间】:2016-07-09 06:09:25 【问题描述】:是否可以在 Java 中使用 XSD 验证 JSON?我有一个接收 JSON 响应的应用程序,我想根据现有的 XSD 对其进行验证。我的应用程序的另一部分使用 XML,这就是为什么如果它们都可以针对现有 XSD 进行验证将是最简单的。
【问题讨论】:
您必须将其转换为 xml 我认为...呃。随处使用 JSON :-) 对于 json,最好生成一个类似于 xsd 的 json shema 并针对它进行验证。有第三方库可以根据模式验证 json,可能存在 Java 等。 【参考方案1】:不,两者的标准不同。
但如果您真的想依赖 xsd 进行验证,Jsonix Schema Compiler 可以帮助您生成 JSON Schema 来验证您的 XML Schema 中的 json。
【讨论】:
【参考方案2】:否,XML Schema (XSD) 用于验证XML;要验证JSON,请参阅JSON Schema。
我建议手动生成架构,以便完全理解和完全控制约束。但是,这里有一些可以快速启动流程的自动化工具:
要从 JSON Schema 转换为 XSD,请参阅 jsons2xsd。 要从 XSD 转换为 JSON Schema,请参阅 Jsonix Schema Compiler。相关且非常有用:
从 XML 解析为 JSON(解组)或将 JSON 序列化为 XML (元帅),见JSONIX。 有关实现列表,包括各种语言的验证器,请参阅JSON-Schema Implementations。【讨论】:
谢谢。根据 JSON 模式进行验证是否容易? 一般来说,当然。请参阅JSON-Schema Implementations 的 Validators 部分。 您能详细说明为什么不能将 XSD 用于 JSON 吗?我想您可以将 JSON 转换为 XML,然后对照 XSD 检查 XML。除了 XML 中的原始文本,JSON 和 XML 只是具有属性和子元素的元素。 @ubiquibacon:当然,任何 XML 都可以使用 XSD 进行验证,包括使用我在答案中提到的方法从 JSON 自动转换的 XML。以上是关于根据xml文件写XML Schema的主要内容,如果未能解决你的问题,请参考以下文章
ActionServlet在我们工程中哪里?我们写了xml。struts的配置文件,有action,怎么就是没看见actionServlet