namespaces 相关问题

命名空间是一个容器,它为标识符提供上下文,其中名称是唯一的。

顶级命名空间应包含哪些内容?

什么应该进入顶级命名空间?例如,如果我有MyAPI.WebLogic、MyAPI.Compression等,如果我将类放入顶级命名空间中,我是否违反了封装原则...

回答 5 投票 0

Java 全局命名空间访问

给出以下程序: A类{ 静态 int java = 42; 静态 int 系统 = -1; 公共静态无效主(字符串[] args){ java.lang.System.out.println("Foo"); } } 正在编译...

回答 1 投票 0

使用 XPath 在 Java 中的 d:-namespace 中查找 XML 节点

我有一个 XML 文件,我想使用 XPath 来处理 Java 中的某个元素。问题是该元素位于 d:- 命名空间中,并且我尝试将命名空间添加到

回答 2 投票 0

在 2 个 .NET 程序集中使用相同名称和命名空间的类型

出于好奇,我创建了 2 个程序集,它们都有一个具有完全相同的命名空间 (Library1) 的类 (Class1)。然后,我创建另一个引用这两个程序集的客户端并尝试创建...

回答 2 投票 0

命名空间冲突

在这种情况下.NET 怎么可能找到错误的 MyType? 我正在处理的项目中有一个 A.B.C.D.MyType 类型,并且我正在引用一个具有 A.B.MyType 类型的 DLL。我确实...

回答 3 投票 0

类型“FastifyContext<unknown>”上不存在属性“X”

我想将 token: string 字段添加到 FastifyContext 接口中。为此,我创建了以下文件结构: 项目目录 |__src | |__@类型 | | |__fastify | | | |__inde...

回答 1 投票 0

为什么C#没有头文件?命名空间会处理所有事情吗?

谁能说清楚C#中头文件和命名空间的用法吗? 因为在C++中我是使用*****.h文件来读取库函数。当我看到一些 C# 示例程序时,它们是

回答 3 投票 0

Ansible XML 幂等地添加嵌套子级

我正在尝试修复 V-222934(更多信息参见 Tomcat Default Servlet Reference) 从 web.xml 文件开始: 我正在尝试修复 V-222934(Tomcat 默认 Servlet 参考中的其他信息) 从 web.xml 文件开始: <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- Much more in actual web.xml --> </web-app> 我想以结束 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>readonly</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- Much more in actual web.xml --> </web-app> 我从以下 Ansible 开始: - name: "V-222934: DefaultServlet set to readonly for PUT and DELETE" community.general.xml: path: "{{ atl_product_installation_versioned }}/conf/web.xml" xpath: "/j:web-app/j:servlet/j:servlet-class[text()=\"org.apache.catalina.servlets.DefaultServlet\"]" insertafter: yes add_children: - init-param: - param-name: readonly - param-value: true pretty_print: yes namespaces: j: http://xmlns.jcp.org/xml/ns/javaee 但这引发了一个错误,抱怨列表而不是字节/unicode。 切换到input_type: xml我取得了一些成功: - name: "V-222934: DefaultServlet set to readonly for PUT and DELETE" community.general.xml: path: "{{ atl_product_installation_versioned }}/conf/web.xml" xpath: "/j:web-app/j:servlet/j:servlet-class[text()=\"org.apache.catalina.servlets.DefaultServlet\"]" insertafter: yes input_type: xml add_children: - "<init-param><param-name>readonly</param-name><param-value>true</param-value></init-param>" pretty_print: yes namespaces: j: http://xmlns.jcp.org/xml/ns/javaee 这有效但不是无用的。 我的大/主要问题是:如何使其幂等? 我有一个小问题:如何让 yaml 输入类型正常工作? (我认为代码看起来更干净,并且通过这种格式更有意义。) 最后:我对命名空间的了解只够让 Ansible 工作。如果有人有更清晰/更清晰的代码编写方式,我愿意接受任何改进。 如果您想让您的任务幂等,只需构造一个与您要添加的内容匹配的 XPath 表达式即可。然后在 xpath 属性中使用它以及 state: present – 可以省略,因为它是参数的默认值。 所以任务: - xml: path: web.xml xpath: >- /ns:web-app /ns:servlet /ns:init-param[ ns:param-name[text()="readonly"] and ns:param-value[text()="true"] ] pretty_print: true namespaces: ns: http://xmlns.jcp.org/xml/ns/javaee 您的 XML 最终成为 <?xml version='1.0' encoding='UTF-8'?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> <init-param> <param-name>readonly</param-name> <param-value>true</param-value> </init-param> </servlet> <!-- Much more in actual web.xml --> </web-app>

回答 1 投票 0

嵌套或非嵌套匿名命名空间以隐藏实现细节

嵌套匿名命名空间与将其置于翻译单元的顶层有什么区别? 名为 { 的命名空间 命名空间{ 无效实现(){...} } 无效的乐趣 () { ...

回答 1 投票 0

使用 Symfony2 访问 XMLReader

我一直在寻找这个问题的答案,但直到现在我还没有找到任何答案(我确信这很简单,为此我自己道歉)。 我正在尝试从类内部使用 XMLReader ...

回答 1 投票 0

在另一个命名空间内创建静态模板类的“实例”

有一个静态模板类,用于枚举到字符串的转换,反之亦然。 下面的代码在 enum.cpp 模块中生成一组不可读的模板相关编译错误: //

回答 1 投票 0

swift:每当框架名称具有包含框架名称的公共实体时,指定框架中公共结构的路径

假设框架 Foo 有(遗憾的是公共)类 Foo 和一个公共结构 Account func fetchClient(guid: String) -> Foo.Account? { 产生编译器错误 “帐户”不是类的成员类型...

回答 1 投票 0

swift:指定框架中公共结构的路径

假设框架 Foo 有(遗憾的是公共)类 Foo 和一个公共结构 Account func fetchClient(guid: String) -> Foo.Account? { 产生编译器错误 “帐户”不是类的成员类型...

回答 1 投票 0

如何正确超载<< operator for an ostream? [duplicate]

我正在用 C++ 编写一个用于矩阵运算的小型矩阵库。然而,我的编译器抱怨了,而以前却没有。该代码被搁置了六个月,在这期间我升级了我的

回答 6 投票 0

Laravel:找不到类“App\DB”

我正在尝试使用数据库类来运行查询。我在我的控制器中使用了它,如下所示: 使用\DB; 我在我的代码中使用它,如下所示: $changeCar = DB::select(DB::raw($query)); 我已经尝试过,包括...

回答 3 投票 0

定义不带命名空间的 XSD(XML 架构)类型,但使用命名空间引用它

抱歉,如果这个问题有点奇怪,但我是 XSD 新手,并且有一段我无法理解的 XSD 代码。代码如下,因为如果没有代码,问题会相当混乱。 XSD...

回答 2 投票 0

对于 mgcv::gam 作为字符串,do.call 失败,但对于其他函数则失败

我正在尝试使用主函数作为主力来拟合多个不同的模型(每个函数都使用变量模型作为字符串并传递所需的参数来调用此主函数...

回答 1 投票 0

Python 全局命名空间值

我只是好奇,我最近才了解到解释器用来引用对象的Python内置、全局和本地命名空间基本上是一个Python字典。 我很好奇...

回答 2 投票 0

解决用户自定义类名与内置类名冲突的问题

我正在 TypeScript 中定义和实现一个 Map 类,它也使用内置 Map 类(带有泛型)。显然,这两个名字有冲突。我可以以某种方式使用显式名称导入内置地图吗...

回答 1 投票 0

XElement 命名空间(如何?)

如何创建带有节点前缀的 xml 文档,例如: 如何创建带有节点前缀的 xml 文档,例如: <sphinx:docset> <sphinx:schema> <sphinx:field name="subject"/> <sphinx:field name="content"/> <sphinx:attr name="published" type="timestamp"/> </sphinx:schema> 当我尝试运行类似 new XElement("sphinx:docset") 的东西时,我遇到了异常 未处理的异常:System.Xml.XmlException:“:”字符,十六进制值 ue 0x3A,不能包含在名称中。 在 System.Xml.XmlConvert.VerifyNCName(字符串名称,ExceptionType 异常Typ e) 在 System.Xml.Linq.XName..ctor(XNamespace ns, String localName) 在 System.Xml.Linq.XNamespace.GetName(String localName) 在 System.Xml.Linq.XName.Get(字符串扩展名称) 使用 LINQ to XML 非常简单: XNamespace ns = "sphinx"; XElement element = new XElement(ns + "docset"); 或者使“别名”正常工作,使其看起来像您的示例,如下所示: XNamespace ns = "http://url/for/sphinx"; XElement element = new XElement("container", new XAttribute(XNamespace.Xmlns + "sphinx", ns), new XElement(ns + "docset", new XElement(ns + "schema"), new XElement(ns + "field", new XAttribute("name", "subject")), new XElement(ns + "field", new XAttribute("name", "content")), new XElement(ns + "attr", new XAttribute("name", "published"), new XAttribute("type", "timestamp")))); 产生: <container xmlns:sphinx="http://url/for/sphinx"> <sphinx:docset> <sphinx:schema /> <sphinx:field name="subject" /> <sphinx:field name="content" /> <sphinx:attr name="published" type="timestamp" /> </sphinx:docset> </container> 您可以读取文档的命名空间并在如下查询中使用它: XDocument xml = XDocument.Load(address); XNamespace ns = xml.Root.Name.Namespace; foreach (XElement el in xml.Descendants(ns + "whateverYourElementNameIs")) //do stuff 逐步使用 LINQ to XML: XNamespace ns = "http://url/for/sphinx"; XAttribute sphinx = new XAttribute(XNamespace.Xmlns + "sphinx", ns); XElement docset = new XElement(ns + "docset", sphinx); XElement schema = new XElement(ns + "schema"); docset.Add(schema); XElement field1 = new XElement(ns + "field", new XAttribute("name", "subject")); XElement field2 = new XElement(ns + "field", new XAttribute("name", "content")); XElement attr = new XElement(ns + "attr", new XAttribute("name", "published"), new XAttribute("type", "timestamp")); schema.Add(field1, field2, attr); Console.WriteLine(docset); 输出: <sphinx:docset xmlns:sphinx="http://url/for/sphinx"> <sphinx:schema> <sphinx:field name="subject" /> <sphinx:field name="content" /> <sphinx:attr name="published" type="timestamp" /> </sphinx:schema> </sphinx:docset>

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.