当前位置: 首页 > 知识库问答 >
问题:

如何正确引用本地XML架构文件?

习哲彦
2023-03-14

我在XML文件中引用XML模式时遇到了这个问题。

我的XSD位于以下路径中:

C:\environment\workspace\maven-ws\ProjectXmlSchema\email.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:他们声称它应该像我尝试的那样工作。但事实并非如此。

共有3个答案

司徒杜吟
2023-03-14

我想你可以用这个:

xsi:noNamespaceSchemaLocation="relativePATH/file.xsd"
韩弘壮
2023-03-14

也许可以帮助检查xsd文件的路径是否没有像“é”这样的“奇怪”字符或类似字符:我遇到了相同的问题,但当我更改到没有“é”的路径时,错误消失了。

谢选
2023-03-14

在xsi:schemaLocation的值中的文件:///code>后再添加一个斜杠。(你有两个;你需要三个。想想看protocol://host/path其中,协议文件,主机在此为空,一行产生三个斜杠。)您还可以消除路径上的双斜杠。我相信双斜杠有助于文件系统在文件名和目录名中使用空格,但您明智地避免了路径命名的复杂性。

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的验证器一起使用。

 类似资料:
  • 我正在用NodeJS和ExpressJS建立一个区块链客户端-服务器网络。我让服务器成功运行,区块链自己运行。但是我在两者结合上遇到了一些问题。首先,这是我的项目结构: 实际的问题,我有,我想包括在文件,但我总是得到上线,我包含到: 我已经尝试了以下变体,但是它们都产生了相同的错误(非常预期,因为要求目录是相对于文件调用要求的,但是我还是尝试了它们,以防万一): 这是: 其次,: 最后,: 我甚至

  • 我试图创建一个Java的应用程序,它可以将文件从Unix Samba共享复制到Windows文件夹。为了实现这一点,我使用JCIFS库。 我有以下代码: 我把它修改为: 但它给了我以下错误: 如果我尝试在Samba共享上创建一个新文件,它将按预期工作: 请帮助解决此问题。

  • 我不能正确使用“float:right”在它上有没有一个解决方案,将它定位在div的右侧部分,而不使用(左右边距-左边距-右)? null null

  • 问题内容: 我有一个包含单个模块和一些依赖项的项目。我想在一个包含编译模块的单独目录中创建一个jar。另外,我想在模块旁边提供依赖项。 无论我如何扭曲IntelliJ的“构建jar”过程,模块的输出都将显示为空(除了META-INF文件之外)。 问题答案: 这是使用IntelliJ 10构建jar的方法http://blogs.jetbrains.com/idea/2010/08/quickly-

  • 我在使用org.apache.commons.io.FileUtils从img目录删除文件时遇到问题。我正在使用以下代码: 实际上,该代码是用来替换img目录中已有的图像文件。我需要删除所有以前存在的文件,名称是n.*,与新文件,例如n.png。如果我试图删除图像文件,我会得到变量成功的false值,并且文件不会被删除。但不包括图像文件,例如*.abc;*.ACD;*.ACDC等被成功删除。这个问

  • 我在将Vaadin与Spring应用程序集成时遇到一些问题。我的所有bean都在“rootcontext.xml”文件中。我可以通过实例化“rootcontext.xml”然后为我的一个服务类调用bean来调用bean。 我可以这样填充表,但这是调用服务类的正确方法吗?因为我有更多的表必须称之为这个。 这是我的UI类: 我的根上下文。xml文件位于目录/WEB-INF/spring/root上下文