如何在我的 Web 应用程序中使用带有路径的 xsd 架构
我正在使用 JDOM 解析器来读取 XML,它包括使用 xsd 模式的验证。
一般来说,为了将 xsd 的路径设置为解析器,根据文档,语法是 -
SAXBuilder builder = new SAXBuilder("org.apache.xerces.parsers.SAXParser", true);
builder.setFeature("http://apache.org/xml/features/validation/schema", true);
builder.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation", <schema_path>);
它可以通过将 schema_path 设置为以 http: 开头的 url 或绝对路径(即c:/myFolder/schema.xsd)
我的问题 - 如何使用位于我的 Web 应用程序中的 xsd,并且它的路径位于 Web 根目录下的某个位置?是否可以提供 JDOM 构建器的相对路径?
能够回答这个问题的人也可能会帮助解决我在使用 xsd 时遇到的另一个问题:
在此线程中
I am using JDOM parser that read my XML and it include validation using xsd schema.
generally, in order to set the path of the xsd to the parser the syntax, according to the documentation is-
SAXBuilder builder = new SAXBuilder("org.apache.xerces.parsers.SAXParser", true);
builder.setFeature("http://apache.org/xml/features/validation/schema", true);
builder.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation", <schema_path>);
It can work by setting the schema_path to be either url starting with http: or absolute path (i.e. c:/myFolder/schema.xsd)
My question - how can I use an xsd that is located withing my web-application and the path to it will be somewhere beneath the Web root? is it possible to provide relative path to the JDOM builder?
People that are capable of answer this question might also assist in solving another problem I faced regard using xsd:
in this thread here
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不能提供相对路径作为字符串参数。
要获取 WEB-INF 文件夹的真实路径,请尝试
要获取 WEB-INF/my.xsd 的真实路径,请使用
getRealPath 方法将返回服务器文件系统上的绝对文件路径。
如果将架构添加为 jar 资源,请阅读 此。
You can not provide relative path as String argument.
To get real path to WEB-INF folder, try
To get real path to WEB-INF/my.xsd, use
getRealPath
method will return the absolute file path on the server's filesystem.If you add your schema as jar resources, read this.