根据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>

参考技术A <?xml version="1.0" encoding="UTF-8"?>
<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的主要内容,如果未能解决你的问题,请参考以下文章

如下xml文件的xml schema 怎么写?

ActionServlet在我们工程中哪里?我们写了xml。struts的配置文件,有action,怎么就是没看见actionServlet

如何根据xml和schema文件生成java类(用程序实现)!

XML简单介绍

xml中怎么引用当前目录的xsd

XML快速写网页-02