我想在iOS平台上使用 XSD 来验证一些 XML .我已经进行了一些搜索,没有找到任何东西.有人可以使用任何代码吗? 解决方案 通用XML架构验证很昂贵,您是否考虑使用诸如代码之类的工具将XSD编译为代码?
以下是关于 xsd 的编程技术问答
我需要使用XSD模式来开发从酒店获得预订的Web服务.我的XSD URL.这是ota_hotelresnotifrq. 我不知道该如何开始.有人可以帮我吗? 谢谢 解决方案 PHP DOM扩展名,几乎所有时间都可以在本地进行此操作. $dom = new DomDocument; $dom->loadXML($contentOfResponse); if ($dom->schemaValidate('path/to/schema.xsd')) { // Valid response from service } else { // Invalid response } 当然,您也可以加载文档以从文件中进行验证. 文档: http://ca.php.net/manual/manual/en/domdocument.schemavalidate.php
我的应用程序通常连接到第三方服务器,以通过SOAP/WSDL获取数据: $this->soap_client = new SoapClient("https://[the-domain]:443/[path]?wsdl", array( 'trace'=>1, 'login'=>$this->username, 'password'=>$this->password, 'exceptions' => true, 'cache_wsdl' => WSDL_CACHE_NONE ) 过去一年的一切都很好,但是他们最近更新了WSDL文件,现在当应用程序尝试连接时,我会遇到以下两个错误: SoapClient::SoapClient(http://[the-domain]:80/[path]?xsd=1): failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthoriz
如何针对XSD验证XML文件?有domdocument :: schemavalidate(),但没有说明错误在哪里.有什么课吗?它是否值得从头开始制作解析器?还是只是在重塑他的轮子, 解决方案 此代码完成业务: $xml= new DOMDocument(); $xml->loadXML(, LIBXML_NOBLANKS); // Or load if filename required if (!$xml->schemaValidate()) // Or schemaValidateSource if string used. { // You have an error in the XML file } 请参阅 http://php.net/manual/manual/en/domdocument中的代码. st
世界上有Javabeans或Jaxb的类似物? 是否可以从XML模式生成PHP类? 通常将API作为XSD模式出版是普遍的做法. Java和C#的人可以通过从XSD生成课程来获得这一优势. PHP是否有相同的工具? 解决方案 我现在正在研究此问题,并将其达到毫无稳定的状态后立即发布该工具.在此处查看 upd.我刚刚发布了第一个工作原型,它可以与UBL 2.0模式和一个简单的模式使用,但是正在进行更严重的测试.如果您发送了正在使用的模式,我将不胜感激,所以我将它们包括在测试套件中. upd. 2. XSD2PHP达到0.0.5版.检查 https://github.com/moyarada/xsd-to-phpphpphpphpphpphpphpphpphpt 其他解决方案 使用XSD类生成器的主要原因是 获取编译时间检查 与普通的旧XML API的语法更容易的语法 您的IDE自动完成. 现在与PHP对比. php确实不是具有编译时间检查,并且它
我正在尝试使用XML :: libxml :: schema对XSD验证XML文件.问题是,如果我的XML有多个语义问题,则验证将在第一个问题上死亡而不会报告其他问题. It finds the first error, no reference to bash-3.2$ ./test.pl test.xsd test.xml xmlfile failed validation: test.xml:14: Schemas validity error : Element 'foobar': This element is not expected. After I remove the first error, it finds another. "ten" is not an unsigned int xmlfile failed validation: test.xml:11: Schemas va
我有一个带有XML列的表.这些文档非常大且众多,我一直在尝试各种方法来提高基本查询的性能. 由于文档表明将XML架构应用于列可以帮助SQL Server优化查询 - 并且由于一个可用,因此我创建了一个架构集合并将类型应用于我的XML列. . 查询性能从悬崖上消失了. 我的意思是,最简单的测试变得难以慢.我删除了列类型,查询的执行方式和以前一样.其他任何人都发生了吗? 我应该注意,架构本身相当大且精心设计.尽管如此,这个结果对我来说似乎是违反直觉的. 编辑:我关注的是仅使用某些语句 - 实际上,这些文档将永远不会被编辑,只浏览.因此,一旦记录已插入和验证,除了可能的优化之外,除了可能的优化之外还需要任何架构. 另外,我知道 解决方案 我认为您的答案就在那里: 我应该注意,架构本身相当大且精致 复杂的模式可以在计算上是强度的.如果您以更新的方式进行了很多操作,则必须多次验证模式.
我需要在字段上编写一个XSD模式,以确保 该字段的值不包含任何位置的子弦文件名. 例如,以下所有内容都必须无效: FILENAME ORIGINFILENAME FILENAMETEST 123FILENAME456 这些值都不应有效. 在支持负面lookahead的正则表达语言中,我可以通过编写/^((?!FILENAME).)*$来做到这一点,但是XSD模式语言不支持负面lookahead. 如何实现与/^((?!FILENAME).)*$>>> 相同效果的XSD模式限制. 我需要使用模式,因为我无法访问XSD 1.1断言,这是另一个明显的可能性. 问题 XSD限制,否定匹配字符串类似的情况,但是在这种情况下,仅禁止禁止字符串作为前缀,这使得检查约束更加容易.解决方案如何扩展以覆盖我们必须检查输入字符串中所有位置的情况,而不仅仅是开始? 解决方案 好吧,OP说服我,当提到的有一个重叠的主题,这一事实是,在所有位置都禁止禁止字符串,而不
我一直在寻找一种方法来编程解析WSDL和关联的XSD文件,以从注释/文档标签中获取值.我设法使用WSDL4J从WSDL获取值,但是如何为XSD文件执行此操作?我尝试使用XSOM,但由于某种原因,我总是毫无空意. 解决方案 1).希望此链接对您选择最佳解析器, Parse WSDL Effectively . 我尝试使用 Apache Woden , WSDL4J 和 Membrane SOA Membrane SOA .其中,膜SOA似乎很友好. 2).将因XSD放在放置WSDL的文件夹中.然后尝试解析您的WSDL,它应该可以正常工作. 其他解决方案 也许JWSDL帮助将提供服务.它还打电话给服务. 在这里讨论该主题
我正在尝试使用Xerces-c.我有一个.XSD方案,并希望使用它来验证XML文件.我已经定义了XSD文件和错误处理程序,但是由于某种原因,XSD没有丢弃错误.对我可能缺少的东西有任何见解吗? XercesDOMParser* parser = new XercesDOMParser(); parser->setExternalNoNamespaceSchemaLocation("parser.xsd"); parser->setExitOnFirstFatalError(true); parser->setValidationConstraintFatal(true); parser->setValidationScheme(XercesDOMParser::Val_Auto); parser->setDoNamespaces(true); parser->setDoSchema(true);
我正在Biztalk 2013中开发用于平面文件拆卸的架构.但是,由于解析结果是垃圾,我对该模式有很大的问题. 我正在解析的平面文件类型如下: HEADER:opt1:opt2:opt3+opt4:opt5+opt6+op7:opt8:opt9' TAG1:opt1:opt2:opt3+opt4:opt5:opt6+op7:opt8:opt9' TAG2:opt1:opt2:opt3+opt4:opt5:opt6+op7:opt8:opt9' TAG3:opt1:opt2:opt3+opt4++opt6+op7:opt8:opt9' TAG4:opt1:opt2:opt3+opt4:opt5' 平面文件有三个层次结构: 最高级别: segments ,由'字符界定(不是界限,这只是为了更好的可读性而添加) ) 中间级别:字段,由 +字符界定.可以直接包含一个值或一组值(请参阅底部级别) 底部级别:属性,划界者:字符 因为 tag? segments是部