xsd验证允许空值

/////xsd 文档
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="userInput">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="name" type="xs:string" />
        <xs:element name="author" type="xs:string" />
        <xs:element name="publisher" type="xs:string" />
        <xs:element name="pubDate" type="xs:date" nillable="true" />
        <xs:element name="price" type="xs:decimal" nillable="true" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

////xml文件
<userInput   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">         
    <name></name>
    <author>bb</author>
    <publisher>cc</publisher>
    <pubDate>2001-01-01</pubDate>
    <price xsi:nil="true"></price>
</userInput>
//////////
1.如果没有 xsi:nil="true",空值验证通不过
2.如果没有 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  提示 xsi 是未声明的 命名空间
3.如果设定了xsi:nil="true"后,有值,会提示 "price"必须没有任何字符或元素子级
4.参考文档 XML解析之xsi:nil="true" 
  http://blog.csdn.net/amachaoiv/archive/2008/01/22/2059382.aspx
5.http://www.ibm.com/developerworks/cn/webservices/ws-tip-null.html

 

from:http://www.cnblogs.com/ugvanxk/archive/2009/04/14.html

作者:kissazi2 
出处:http://www.cnblogs.com/kissazi2/ 
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载:http://www.cnblogs.com/kissazi2/archive/2012/02/17/2977149.html

时间: 2024-11-05 16:36:46

xsd验证允许空值的相关文章

使用架构(XSD)验证XML文件

假使说XML是一个数据库,那么XSD就是这个数据库的结构.由此可见,XSD是如此重要,如果没有它,我们如何声明以及验证我们需要的XML数据文件的格式和合法性呢?那是不可能完成的任务,如果你将XML数据文件当作普通的文本文件去验证的话. 我用下面一个例子来解释如何定义XSD以及如何使用它来验证 1. 首先来看一下我们的数据文件 <?xml version="1.0" encoding="utf-8" ?> <Order> <OrderID

解决web-app_2_4.xsd验证web.xml时报j2ee_web_services_client_1_1.xsd找不到的问题

解决web-app_2_4.xsd验证web.xml时报j2ee_web_services_client_1_1.xsd找不到的问题 web.xml 代码 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www

xsd验证xml的有效性出现类型无效的问题

问题描述 这是我的xsd:<?xmlversion="1.0"encoding="utf-8"?><xsd:schemaattributeFormDefault="unqualified"elementFormDefault="qualified"version="1.0"xmlns:xsd="http://www.w3.org/2001/XMLSchema">&

XmlSpy / XSD 以及 验证

很早以前看过一句话:"XML就象空气",在企业应用开发中XML是一个重要的数据交换标准.而XSD则可以用来校验XML的数据格式是否正确. 一个典型的XSD文件如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!-- edited with XMLSpy v2013 (http://www.altova.com) by () --> 3 <xs:schema xmlns:x

xsd schema xml-xsd schema 验证 xml 同名元素 不同样式问题?

问题描述 xsd schema 验证 xml 同名元素 不同样式问题? xsd 验证 xml时,假如一个节点有不同的样式,并且想严格 控制 如:xs:schemaxs:complexType ....... 这里面的元素个数是不一样的,所以想让是可 选择的,但是name是一样的. /xs:b /xs:element/xs:complexType 请问怎么解决?

Microsoft SQL Server 2005 中的 XML 选项

本文介绍 Visual Studio 2005/SQL Server 2005 环境中用于处理 XML 数据的三个选项,包括使用方案以及指导用户在各选项之间进行选择的指南. 一.System.Xml.SQLXML 和 XML 数据类型简介 本节简要介绍 Microsoft SQL Server 2000 中提供的 XML 支持的发展历史,并概要介绍 Microsoft Visual Studio 2005/SQL Server 2005 环境中提供的用于处理 XML 和关系数据的三个选项.这三个

Flash中oop的设计模式

设计 有人问我flash的as应该怎么写,我可以很负责任地告诉他,想怎么写就怎么写,因为as以及flash内部的构成模式决定了它的高度自由化.理论上来说,用按钮的on事件,加上stop(),play(),gotoAndStop(),gotoAndPlay(),就可以实现一个flash里大部分的逻辑关系,而且源代码简单易懂.但是大多数人不会这么做,是因为这种方法实在太让人敬佩.稍有常识的程序员都会知道面对对象与面对过程的区别.Flash的编程虽然只是以脚本的形式出现,并且还很不完善,比如,没有多继

ivy中文参考文档(21)-ant任务(9)-post resolve tasks

1) post resolve tasks 在ivy中有几个任务被认为是后解析任务(post resolve task),并相应地共享公用行为和设置. 这些任务是: * retrieve * cachefileset * cachepath * artifactproperty (since 2.0) * artifactreport (since 2.0) 所有这些任务都将自动触发resolve,如果: * 在当前构建中没有任何一个keep属性设置为true的任务被调用 * 组合和模块没有设置

Linq To Xml学习 - 1.LINQ to XML 概述

LINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework 编程语言中处理 XML. 它将 XML 文档置于内存中,这一点很像文档对象模型 (DOM). 您可以查询 和修改 XML 文档,修改之后,可以将其另存为文件,也可以将其序列化然后通 过网络发送. 但是,LINQ to XML 与 DOM 不同: 它提供一种新的对象模型, 这是一种更轻量的模型,使用也更方便,这种模型利用了 Visual C# 2008 在语 言方面的改进. LI