问题标签 [qnames]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java:JAXBElement 的 QName,没有命名空间或前缀?(使用matlab)
我对 JAXB 和 Java 相当陌生。我使用了 xjc,并使用我自己的命名空间映射器覆盖了自定义 ns1 ns2 等命名空间。java 是通过 Matlab 运行的,因此它的格式与通常的 java 不同。不过,任何直接的 Java 答案都可以,因为我应该能够转换它。
这是我想要的:
相反,在编组之后,我得到:
无论如何要删除 'xmlns:ns4' 而不是从元素中删除什么?
对应的(matlab)java代码为:
其中 c 稍后被添加到包含 String 元素的列表中。
我的 XML 是功能性的,但为了整洁/一致,如果它相对简单,我想删除那个 xmlns 垃圾。
谢谢!这是我的第一个 stackoverflow 问题,如果没有达到标准,请见谅。
更新
我解决了这个问题。需要做两件事:而不是'blah',我做了
我忘记在matlab中为 java 做的事情。其次,在制作JAXBElement时,如果我使用blah.getClass()而不是使用 inner_class 变量,它会在没有任何限制的情况下打印出来。我现在意识到这更像是一个混编问题而不是QName问题。
c# - 使用 C# 获取 XML 元素的限定名称及其子节点
编辑:
我在这里尝试完成三件事:获取 XmlNode Query,获取 XmlNode QueryId 并获取 a:schemaLocation 的值,但解析后它们最终为 null。如果我从 XML 中删除限定名称,C# 位就可以正常工作。我应该如何重写我的代码?
XML:
C#:
xml - 其值必须是 QName 的属性具有值 ''
我有一个不断出现上述错误的 XSL 文件。这是我的代码:
这是我的源 XML 文件的一部分:
xml - 如何在 QNames 中表示逗号(尤其是在 Turtle 文档中)
一种可以从 URI 中形成 QName,例如http://dbpedia.org/resource/Jesuit_Church,_Mannheim
?Dbpedia将此列为,但是当我通过Jenadbpedia:Jesuit_Church,_Mannheim
的 Turtle 解析器运行此 QName 时,我得到以下异常:
这在Turtle 规范下是有意义的,它显然从 QNames 中排除了逗号。然而,XML 1.0 规范中的命名空间显然允许在其中包含“任何 Unicode 字符,不包括代理块、FFFE 和 FFFF”。
那么哪个规范是“正确的”以及如何(如果有的话)在 Turtle 文档中以缩写形式使用此类 URI?我尝试过百分比编码,但在这种情况下,Jena 的海龟解析器显然返回了一个模型,该模型保留了转义的 URI,即http://dbpedia.org/resource/Jesuit_Church%2C_Mannheim
而不是http://dbpedia.org/resource/Jesuit_Church,_Mannheim
,这会导致以后的字符串比较(在我的代码中)失败。
更新我必须在转义时出错。正如在接受的答案中指出的那样,确实可以使用dbpedia:Jesuit_Church\,_Mannheim
,例如使用 Jena 2.11.0。
java - Alfresco 问题,residual=true 并且“属性类型”为空,而“值类型”被填写
我在创建内容模型时遇到问题,在节点浏览器中,它在残差下显示“true”,在属性类型下它是空字段,在值类型下它显示“{ http://www.alfresco.org/model/cms /1.0/cs01 }id" 这很奇怪,因为它与所有其他值不同。
验证模型后,我发现我在 java 代码中的 QName 中有一个错误,所以我纠正了它,问题就解决了,但是每当我重新启动 Alfresco 时,这个问题就会再次出现
如何避免这个问题?
提前致谢。
java - 使用 QName 的目的
我对 QName 背后的概念感到非常困惑。
让我们举个例子(我从http://www.mkyong.com/拿了这些例子):
并使用 QName :
现在我的问题是:
1)是否有任何概念,我们必须根据这些概念来决定我们可以编写哪种类型的客户端
2) 使用 QName 的目的或其他好处是什么,因为我在这里看到的是,与简单客户端相比,它增加了复杂性。
web-services - JAX-WS:使用 CXF 组装发音应用程序
我正在定制一个appfuse 3.0.0 Web Service Only 工件。尝试向我的 Web 服务添加检查的异常时,我遇到了这个堆栈跟踪:
我的发音版本是 1.28,我在 enunciate.xml 中启用了 cxf 模块:
我已经使用JAX-WS Spec进行异常抛出。
任何帮助表示赞赏。
python - 如何使用 QName(python xml.etree.ElementTree?)
我已经对 QName 进行了大量阅读,但我找不到任何关于如何使用它的好例子。有人可以给我一个简单的例子来说明如何使用 QName 并解释它将在什么上下文中使用?
xml - 国际化 QNames/CURIs
QNames/CURIs 的本地部分是否允许使用非拉丁字符?我有以下前缀定义:@prefix namespace <http://example.org/namespace/> .
以及以下 URI:
两个 QName 都正确吗?:namespace:Sense_en_aircraft
和namespace:Sense_ru_аэроплан
这对我来说不是很清楚。可能的来源:https ://www.w3.org/2001/tag/doc/qnameids、https : //www.w3.org/TR/xml/、https : //www.w3.org/TR/curie/和 RFC3987
xml - 为什么静态解析 XML QName 比动态解析 XML QName 更好?
AQName
是命名空间限定的名称。这是包含两个的 XML QNames
:
这两个缩写QNames
是:
扩展QNames
的有:
XML 解析器知道将短名称(缩写名称)转换为长名称(扩展名称)的规则。
名称的缩写形式是静态的——在解析时——可解析为长名称。
QNames
也可用于数据。在以下 XML 中,<log>
元素的值为 a QName
:
XML 解析器仅对标记进行操作,而不对数据进行操作。因此,XML 解析器不会将短名称转换为长名称。从短名称到长名称的映射必须由更高级别的应用程序完成,例如 XSLT 处理器或 XML Schema 验证器。换句话说,短名称到长名称的解析必须是动态的,而不是静态的。
问题:为什么将短名称静态解析为长名称更好?将短名称动态解析为长名称的缺点是什么?您能否提供一个具体示例,说明由于必须将短名称动态解析为长名称而导致的问题?QName 的静态分析有哪些实际好处?