- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 WSDL 定义转换为另一种格式以进行进一步处理,但遇到了问题。我似乎无法从函数返回 QName 值,而不会将它们转换为字符串。
我将文件缩减为以下内容,同时保留错误行为。原始函数应该使用 target-namespace
来翻译非前缀值。来自包含 <xs:schema>
的属性或 <wsdl:definitions>
.
示例 XSLT 文档:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:my="http://www.example.com/xslt"
exclude-result-prefixes="#all" version="2.0">
<xsl:output method="xml" indent="yes"/>
<xsl:function name="my:resolve-QName2" as="xs:QName">
<xsl:param name="name" as="xs:string"/>
<xsl:param name="element" as="element()"/>
<xsl:value-of select="resolve-QName($name,$element)"/>
</xsl:function>
<xsl:template match="/definitions">
<xsl:variable name="qname" select="my:resolve-QName2('xs:string',.)" as="xs:QName"/>
<QName>
<prefix><xsl:value-of select="prefix-from-QName($qname)"/></prefix>
<local><xsl:value-of select="local-name-from-QName($qname)"/></local>
<namespace><xsl:value-of select="namespace-uri-from-QName($qname)"/></namespace>
</QName>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
<?xml version="1.0" encoding="UTF-8"?>
<QName>
<prefix>xs</prefix>
<local>string</local>
<namespace>http://www.w3.org/2001/XMLSchema</namespace>
</QName>
Required item type of result of function my:resolve-QName2() is xs:QName. Cannot convert string to type {xs:QName}
as="xs:QName"
,我收到以下错误:
Required item type of first argument of prefix-from-QName() is xs:QName. Cannot convert string to type {xs:QName}
最佳答案
问题出在这里 :
<xsl:value-of select="resolve-QName($name,$element)"/>
resolve-QName()
的 QName 生成一个文本节点(字符串)。返回。
my:resolve-QName2
声明为
xs:QName
类型-- 不是
xs:string
这会导致正确报告的错误。
<xsl:sequence select="resolve-QName($name,$element)"/>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:my="http://www.example.com/xslt"
exclude-result-prefixes="#all" version="2.0">
<xsl:output method="xml" indent="yes"/>
<xsl:function name="my:resolve-QName2" as="xs:QName">
<xsl:param name="name" as="xs:string"/>
<xsl:param name="element" as="element()"/>
<xsl:sequence select="resolve-QName($name,$element)"/>
</xsl:function>
<xsl:template match="/definitions">
<xsl:variable name="qname" select="my:resolve-QName2('xs:string',.)" as="xs:QName"/>
<QName>
<prefix><xsl:value-of select="prefix-from-QName($qname)"/></prefix>
<local><xsl:value-of select="local-name-from-QName($qname)"/></local>
<namespace><xsl:value-of select="namespace-uri-from-QName($qname)"/></namespace>
</QName>
</xsl:template>
</xsl:stylesheet>
<definitions xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
<QName>
<prefix>xs</prefix>
<local>string</local>
<namespace>http://www.w3.org/2001/XMLSchema</namespace>
</QName>
关于xslt - 从用户定义的函数返回 QNames,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9354440/
这是我的 XML: 正如许多帖子所建议的解决方案,检查了结束标签..也许我仍然错过了一些东西。请帮忙。 这也是 SOAP 请求 XML,我将其作为创建上述 xml 的源: 我为什么要这么做?我需要使用
升级到雅加达给我带来了一些问题。。我正在使用以下maven插件:。并且我使用episodal编译(有库)。突然间,我面临着以下问题:。更仔细的检查发现,XJC突然生成了以下字段:。这是它以前没有产生的
我正在尝试将 WSDL 定义转换为另一种格式以进行进一步处理,但遇到了问题。我似乎无法从函数返回 QName 值,而不会将它们转换为字符串。 我将文件缩减为以下内容,同时保留错误行为。原始函数应该使用
我的问题很简单。我正在向需要具有命名空间前缀的 SOAP 请求添加 header 。因此我正在使用 QName(String namespaceURI, String loc
尝试使用 XSL 样式表转换简单的 XML 文档。我现在正在使用 XMLspy,但最终目标是浏览器。 XML: Me BY-NC 2011-05-23 Collect
我对 QName 背后的概念非常困惑。 让我们举个例子(我从 http://www.mkyong.com/ 中获取了这些例子): ServerInfoService sis = new
我需要转换 xml 输出中的数据表,如下所示。C1 列 1 c2 列 2 等 desc prname prnum cdat
当我对以下 XML 代码进行语法检查时,出现错误: 第 2 行第 14 列错误:无法解析 QName“xmlns:” 谁能告诉我我做错了什么?谢谢! 最佳答案 事实上你自己也可以尝试一下 XML
我有一个使用 XML 编辑器“扁平化”的架构。在我展平它之后,我得到了一个验证错误。我该怎么做才能修复它? 错误信息: F [Xerces] Element or attribute do not m
无论我如何尝试,Eclipse 都会提示找不到 QName...它确实位于类路径上。它不会导致任何其他问题,我可以编译并运行,它只是总是显示找不到它。 Eclipse Java EE IDE for
无论我如何尝试,Eclipse 都会提示找不到 QName...它确实位于类路径上。它不会导致任何其他问题,我可以编译并运行,它只是总是显示找不到它。 Eclipse Java EE IDE for
我的 XML 解析器遇到了一些问题,实际上我有一个像这样的 XML 结构: 135 &我需要根据c r="K6"s="35"是否落在特定范围内来提取值v XXX/v。使用 reg ex 等这很
我遇到过很多 JAXB 序列化错误,这些错误是由代码在不同位置创建无效的限定名称这一事实引起的。我正在研究我正在使用的 API 和其他 Java XML 选项,一件奇怪的事情是实现限定名称的类似乎根本
我使用Apache XmlSchema 2.2.1解析 XSD 架构。我有以下架构: 以下代码产生异常
在 Python 的 lxml.etree 中,如何将命名空间添加到节点的属性中,如下所示: namespace 是: XS_NS = 'http://www.w3.org/2001/XMLSchem
任何人都可以通过简单易懂的示例来解释 QName、Operation 和 Stub 类在 J2ME 中的用途吗? 最佳答案 我以前没用过。请参阅以下 java 文档。也许它会对你有所帮助。 QName
我们正在尝试追踪错误。我们在日志中收到上述错误。 谁能解释一下这个消息是什么意思?收到此消息有任何典型原因吗? 堆栈跟踪是: org.apache.axiom.om.OMException: java
我想知道 xml qname 是什么,它们是预定义的名称,是否有它们的列表,或者我可以自己命名吗? 最佳答案 简短的回答是您可以自己起名字。在 Java 中创建 QName 和实例化服务的典型方法是:
Java中使用SAX解析XML文件时,startElement(String uri等SAX方法中参数localname和qname有什么区别, String localName,String qNa
我正在尝试使用父 maven 模块 ism-maven 制作一个 maven 模块 web_service_client。 该模块包含生成的 WS 类。我没有改变任何东西。我正在使用 IntelliJ
我是一名优秀的程序员,十分优秀!