如何正确引用本地XML模式文件?
发布时间:2020-12-16 01:52:08 所属栏目:百科 来源:网络整理
导读:我有这个问题,在XML文件中引用我的XML模式。 我有我的XSD在这个路径: C:environmentworkspacemaven-wsProjectXmlSchemaemail.xsd 但是在我的XML文件中,我试图找到这样的模式,XSD找不到: ?xml version="1.0" encoding="UTF-8" ? email xmlns="http:
我有这个问题,在XML文件中引用我的XML模式。
我有我的XSD在这个路径: C:environmentworkspacemaven-wsProjectXmlSchemaemail.xsd 但是在我的XML文件中,我试图找到这样的模式,XSD找不到: <?xml version="1.0" encoding="UTF-8" ?> <email xmlns="http://www.w3schools.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3schools.com file://C://environment//workspace//maven-ws//ProjextXmlSchema//email.xsd"> 找到XSD的唯一方法是当它在同一个文件夹: xsi:schemaLocation="http://www.w3schools.com email.xsd" 所以问题是这样的:如果XML文件不在与XSD文件相同的文件夹中,路径必须看起来如何找到XSD? 顺便说一下,我一直在使用的例子是从MSDN:他们声称它应该工作的方式,我试图。但它不。
在xsi:schemaLocation的值中的file://后添加一个斜杠。 (你有两个;你需要三个。认为protocol:// host / path其中协议是’file’,主机在这里是空的,在一行中产生三个斜杠。)你也可以消除沿路径的双斜线。我相信双斜线帮助文件系统允许文件和目录名称中的空格,但你明智地避免了你的路径命名的复杂性。
xsi:schemaLocation="http://www.w3schools.com file:///C:/environment/workspace/maven-ws/ProjextXmlSchema/email.xsd" 还是行不通?我建议您仔细复制XSD的完整文件规范到Chrome或Firefox的地址栏: file:/// C:/environment/workspace/maven-ws/ProjextXmlSchema/email.xsd 如果XSD不显示在浏览器中,请删除路径(email.xsd)的最后一个组件之外的所有组件,并查看是否无法显示父目录。继续以这种方式,走上目录结构,直到你发现路径与本地文件系统的现实之处。 如果XSD在浏览器中显示,说明您正在使用什么XML处理器,并准备好听到它损坏或者您必须解决一些限制。我可以告诉你,上面的修复将与我的基于Xerces-J的验证工作。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |