【发布时间】:2012-07-11 12:37:16
【问题描述】:
我在使用 xsl 处理 xsd 时遇到问题。我的 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 样式表“无效”。
-
此外,如果您区分“命名空间”和“命名空间前缀”和“命名空间前缀声明”,而不是将它们都称为“命名空间”,那么有关此主题的问题和答案将更容易理解。例如。当您说“没有名称空间”时,那不是真的。显然你的意思是“没有命名空间前缀”。您可能不熟悉命名空间声明的工作方式。我不会因此而责怪你,但我会建议你在这个领域花一小时的时间专门学习基础知识,这将使生活变得更加轻松,并避免之后数小时的挫败感。