问题描述
|
我已经开始使用RelaxNG来指定XML消息模式,并开始使用PHP DOMDocument来验证和解析传入的消息,但是无法弄清楚如何定义文本节点,使其不能为空。模式示例:
<?xml version=\"1.0\"?>
<element name=\"amhAPI\" xmlns=\"http://relaxng.org/ns/structure/1.0\">
<element name=\"auth\">
<element name=\"validateUser\">
<element name=\"username\">
<text/>
</element>
<element name=\"password\">
<text/>
</element>
</element>
</element>
</element>
但是,以下消息已通过DOMDocument :: relaxNGValidate方法验证为正确(因为relaxng匹配带有ѭ1an模式的任意字符串[包括空字符串],并且等效于):
<?xml version=\"1.0\"?>
<amhAPI>
<auth>
<validateUser>
<username/>
<password/>
</validateUser>
</auth>
</amhAPI>
因此,我必须对不应该为空的字段进行大量检查和验证,如果验证程序将其识别为非空元素,则可以将其删除。
有没有强制非空文本的方法?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)