以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 DTD/XML Schema 』 (http://bbs.xml.org.cn/list.asp?boardid=23) ---- 请教如何要求元素非空? (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=24071) |
-- 作者:nightsmk2 -- 发布时间:11/8/2005 4:42:00 PM -- 请教如何要求元素非空? 想要在Schema中增加要求元素非空的校验,原来使用将元素type设置成NMTOKEN的方法,但是,现在发现这样设置的话如果元素内容中包括()+=这种运算符的话也无法通过校验,请教各位还有别的校验非空的方法么?谢谢 |
-- 作者:kater -- 发布时间:11/9/2005 8:59:00 AM -- 手动检测 |
-- 作者:nightsmk2 -- 发布时间:11/9/2005 9:02:00 AM -- 在程序中校验当然可以,但是这个Schema作为EAI使用的原数据的规范,是要求和代码无关的。 |
-- 作者:nightsmk2 -- 发布时间:11/14/2005 9:42:00 AM -- 呵呵,我搞定了,用一个简单的正则表达式限制即可 |
-- 作者:98900969r -- 发布时间:11/19/2005 5:49:00 AM -- 有个简单一点的办法,定义元素时把nillable设为false。例如: <element name="a" type="int" nillable="false"/> |
-- 作者:wanglei922 -- 发布时间:12/24/2005 4:30:00 PM -- nillabel="false"好像也不能使它满足非空的约束哦// 请指点一下,我试了下也不行 |
-- 作者:98900969r -- 发布时间:12/24/2005 6:29:00 PM -- 不好意思,我说错了!nillable 的作用恰恰是相反的,当为数值类型时,nillable让元素可以为空,以表达一个空值,这时要在数据XML中用xsi:nil=“true”来指示。 再想想这个问题其实只对字符型内容存在。这样的话,楼主一开始(1楼)用的办法就不错,对很多情况都是有效的,而后来(4楼)采用的办法是通用的办法。 还是有一种简单一点的办法。如下: <xs:element name="non-empty-string">
[此贴子已经被作者于2005-12-24 18:52:43编辑过]
|
-- 作者:nightsmk2 -- 发布时间:12/27/2005 2:18:00 PM -- 限制长度的方法挺好,我的正则表达式是采用: <xs:simpleType name="not_null_rule"> <xs:restriction base="xs:string"> <xs:pattern value=".+"/> </xs:restriction> </xs:simpleType> |
-- 作者:98900969r -- 发布时间:12/27/2005 5:10:00 PM -- 是不错,看来要加强学习。 |
-- 作者:zhwpost -- 发布时间:4/20/2006 4:05:00 PM -- 学习中 |
-- 作者:gaoyang075800 -- 发布时间:5/4/2008 11:39:00 AM -- 不懂的好多... |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
812.500ms |