我不会说英语,所以请原谅我。 我正在尝试使用PHP使用xsd验证xml文件,但不起作用!
首先,我致电libxml_use_internal_errors(true);
以获取错误。
然后我致电$xmlDomDocument->schemaValidate($pathFileXSD)
,返回false
。所以我得到了libxml_get_errors()
函数的错误。
消息错误说:
Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'type': References from this schema to components in the namespace 'http://www.betha.com.br/e-nota-contribuinte-ws/shema/nfse_v01.xsd' are not allowed, since not indicated by an import statement. in file:///C:/v_59/httpdocs/arquivos_imobiliaria/betha/nfse_v01.xsd on line 273
我不明白邮件错误,是XSD文件上的错误?但这是不可能的,因为XSD是Web服务的一部分。我感谢任何帮助。对不起英文。
我使用PHP 5.3.1和libxml2.7.6
答案 0 :(得分:0)
XSD文件是否有错误?
是和否。代码$xmlDomDocument->schemaValidate($pathFileXSD);
在实际加载该文件时遇到问题。就这些。它并不意味着xsd文件通常有错误,只是PHP库无法加载它而没有错误。
但这是不可能的,因为XSD是Web服务的一部分。
如您所见,该Web服务的XSD文件与PHP中的DOMDocument库不兼容。收听错误消息并联系Web服务的技术支持,并与他们讨论问题。