我使用xsl处理xsd时遇到问题。我的XSD文件开始:使用不带名称空间的xsl处理xsd
<schema targetNamespace="http://www.bleble.com"
xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="blabla">
...
所以没有命名空间通过XSL来识别标签。
我不能修改xsd文件,因为有很多代码和很多文件,所以唯一可行的方法是创建一个合适的xsl转换文件。
我一直在尝试添加命名空间:
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
而不将其添加到标签:
<complexType name="blabla">
,但它不是用XML标准有效。
感谢您的帮助!
你需要更清楚你尝试过的东西。你的意思是你添加了xmlns:xsd命名空间前缀声明*到你的XSL样式表*? “没有将它添加到标签中”意味着什么......没有在XPath表达式中使用名称空间前缀? “这是无效的”是什么意思 - 请显示您认为无效的代码(在更多情况下),并告诉是什么让您认为它无效。您展示的名称空间前缀声明肯定是格式良好的,并且不会使XSL样式表“无效”。 – LarsH 2012-07-11 15:08:52
此外,如果区分“名称空间”和“名称空间前缀”和“名称空间前缀声明”,而不是将它们全部命名为“名称空间”,则有关此主题的问题和解答将更容易理解。例如。当你说“没有命名空间”时,这是不正确的。显然你的意思是“没有名称空间前缀”。这可能是因为你不熟悉命名空间声明是如何工作的。我不会因此对你有任何缺点,但会提供这样的建议,即一个专门研究基础知识的小时将使生活变得更加轻松,并且避免以后几小时的挫折。 – LarsH 2012-07-11 15:12:13