首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >:如何缓存xsd模式?

:如何缓存xsd模式?
EN

Stack Overflow用户
提问于 2011-07-26 06:57:57
回答 1查看 1.2K关注 0票数 4

我使用来验证和解析xml数据。通过XMLReader::setSchema函数和来自http:// via xsd:import/include的远程xsd模式,本地文件中的一些xsd模式验证了这个xml。每个操作都很好,但是每次调用时都会从网络中获取xsd模式,并从磁盘读取。

所以我的问题是:

有没有在本地RAM中缓存远程xsd模式的方法?对于本地模式文件,我认为Linux中的tmpfs可以正常工作,但是还有其他方法来缓存本地xsd模式文件吗?

溶液

感谢VolkerK指出了xmlcatalog系统。它适用于libxml/php xmlreader。在Linux中,只需编辑文件/etc/xml/catalog (它来自xml--在Fedora中很常见),添加一些条目(例如):

代码语言:javascript
复制
<rewriteURI uriStartString="http://schemas.xmlsoap.org/soap/envelope/" rewritePrefix="/etc/xml/SOAP-Envolope.xsd"/>
<rewriteURI uriStartString="http://schemas.xmlsoap.org/soap/encoding/" rewritePrefix="/etc/xml/SOAP-Encoding.xsd"/>

和手动下载模式(例如,http://schemas.xmlsoap.org/soap/encoding/、-> /etc/xml/SOAP-Encoding.xsd),php在解析SOAP消息时可以像预期的那样工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-26 07:47:43

php的xmlreader使用libxml,libxml支持xml过氧化氢

什么是目录?基本上是一个查找机制..。 它主要用于三件事: ..。

  • 提供本地缓存机制,允许加载与公共标识符或远程资源相关联的实体,这对于XML或SGML的任何重要部署都是一个非常重要的特性,因为它允许避免与获取远程资源相关的aleas和延迟。

还没试过,但我想值得一试。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6826384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档