如果我问一个重复的问题,我道歉。我确实尝试在线搜索类似的问题而没有运气。任何帮助将不胜感激。我
我正在尝试使用xsd验证xml。 xsd有多个import语句来引用其他xsd。
我收到任何有ref
的属性的错误部分xml标记
org.xml.sax.SAXParseException:src-resolve:无法将名称'bme:version'解析为(n)'属性声明'组件。 at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) 在org.apache.xerces.util.ErrorHandlerWrapper.error(未知来源) 在org.apache.xerces.impl.XMLErrorReporter.reportError(未知来源) 在org.apache.xerces.impl.XMLErrorReporter.reportError(未知来源) at org.apache.xerces.impl.xs.traversers.XSDHandler.reportSchemaError(未知来源) 在org.apache.xerces.impl.xs.traversers.XSDHandler.getGlobalDecl(未知来源) at org.apache.xerces.impl.xs.traversers.XSDAttributeTraverser.traverseLocal(未知来源) at org.apache.xerces.impl.xs.traversers.XSDAbstractTraverser.traverseAttrsAndAttrGrps(Unknown Source) at org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.processComplexContent(Unknown Source) at org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.traverseComplexTypeDecl(Unknown Source) at org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.traverseGlobal(Unknown Source) 在org.apache.xerces.impl.xs.traversers.XSDHandler.getGlobalDecl(未知来源) at org.apache.xerces.impl.xs.traversers.XSDElementTraverser.traverseNamedElement(Unknown Source) 在org.apache.xerces.impl.xs.traversers.XSDElementTraverser.traverseGlobal(未知来源) 在org.apache.xerces.impl.xs.traversers.XSDHandler.traverseSchemas(未知来源) 在org.apache.xerces.impl.xs.traversers.XSDHandler.parseSchema(未知来源) 在org.apache.xerces.impl.xs.XMLSchemaLoader.loadSchema(未知来源) 在org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar(未知来源) 在org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar(未知来源) 在org.apache.xerces.jaxp.validation.XMLSchemaFactory.newSchema(未知来源)
答案 0 :(得分:0)
所有schemaLocation
都应指向引用的xsd's。确保给出schemaLocations并且它们是有效的路径。
答案 1 :(得分:0)
我的猜测是错误消息意味着它的含义:你的架构包含一个xs:attribute ref =“X”,其中没有名为X的属性声明。这可能是因为导入架构失败或因为命名空间是错误的。但是,如果没有看到它,我们就无法调试您的架构。