问题标签 [xinclude]

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.

0 投票
0 回答
526 浏览

lxml - 使用 lxml 编写带有 xinclude(xi:include) 块的 XML 文件

我希望使用 lxml 自动编写一个集体 XML 文件,因此我需要编写“xi:include”,例如:

似乎 XInclude() 仅用于解析和尝试附加名称的子元素:'xi:include' 发出错误。因此,我将不胜感激。我使用的代码:

错误: ValueError: Invalid tag name u'xi:include'

提前感谢希沙姆

编辑:(如果我等 8 小时,我可能不会写答案)

感谢newtover,您的指针帮助我找到了解决方案:

0 投票
3 回答
9143 浏览

xml - 如何使用带有 Xinclude 的 xpointer 来引用元素

我想将 2 个具有相同结构的 XML 文件合并为一个。例如;

测试1.xml

Test2.xml

去创造

测试输出.xml

即一个包含每个元素的所有元素的 XML 文件。

我在 StackOverflow 上发现了一个有用的问题,并提出了这个问题;

合并.xml

我通过这样做来运行(我需要使用 xmllint 出于参与的原因)

xmllint -xinclude Merge.xml

但这不起作用,它抱怨各种似乎与xpointer有关的东西。

如果我在Merge.xml中省略 xpointer 属性,那么我会得到一些合理的输出,但它所做的不仅仅是包含我当然想要的元素。

有人可以就我在 xpointer 上做错了什么提供一些建议吗?

感谢期待。

0 投票
0 回答
1123 浏览

java - 使用 jaxb 解组时 xinclude 的行号

我在SO上发现了这个问题。我展示了如何在使用 JAXB 解组时获取单个 xml 元素的行号。我扩展了这个例子,可以使用xinclude. 不幸的是,我无法获得xinclude.

那么,如何获取实际xinclude语句的行号?这是扩展示例:

EntityResolver听者告诉我有一个语句xinclude,但我不知道在哪个行号。

人.xml

地址.xml

我没有提到PersonandAddress类,所以这个问题保持简短和紧凑:) 我还Locator用 . 标记了每个字段@XmlTransient。谢谢!

0 投票
2 回答
1671 浏览

xml-parsing - 使用 XInclude 解析时出现“尝试解析 XML 文件时出错”

我正在尝试使用 XInclude 创建一个组合的 xml 文档,以便通过 JAXB 解组。

这是我的解组代码:

这是我的主要 xml 文件:

并包含.xml:

为了真正解组它,我FileReader用我的 xml 文件的路径创建了一个新文件(path-to-xml-files/main.xml - 路径是正确的,因为它可以清楚地找到主文件)。但是,当我运行它时,包含的文件有问题。我收到带有链接 SAXParseException 的 UnmarshalException 并带有以下错误消息:尝试解析 XML 文件时出错 (href='path-to-xml-files/included.xml')。

当我手动将included.xml 的内容合并到main.xml 中时,它运行没有问题。

我不知道这是 JAXB 问题还是 XInclude 问题,但我强烈怀疑是后者。

我错过了什么?

0 投票
1 回答
1065 浏览

xml - 使用包含 XSLT 引用的 document() 解析 XML

有我的问题。

我有一个使用引用并包含其他 XML 文件的 XML 文件

XML 文件(由 XSL 解析):

文件2.XML:

myref.ref :

XSL:

然后我有一个使用 document() 函数打开包含引用(在 myref.ref 中引用)的 file2.XML 的 XSL。

因此,当我使用 document('file2.XML') 时,我收到一条错误消息,指出实体“reventity”已被引用,但未声明。

当我使用 document() 打开其他 XML 时,如何使用 myref.ref ?

谢谢。

0 投票
1 回答
1107 浏览

xml - 如何摆脱使用 xinclude 后添加到我的 xml 文档中的 xml:base 属性?

我正在尝试使用 xinclude 将 xml 文件解组为 java 对象。我有一个基于我的 jaxb 注释代码文件的模式。这是我的解组代码:

由于我正在调用 xr.parse(),因此实际的解组不成功(因为解析关闭了流)。但是,我收到解析错误[Error] file-name.xml:2:66: cvc-complex-type.3.2.2: Attribute 'xml:base' is not allowed to appear in element 'element name'

我发现这是因为 xinclude 总是将xml:base属性添加到包含的元素以帮助保留基本 uri。问题是我的架构不允许这个属性。有什么办法让我摆脱这个吗?我在网上环顾四周,并没有真正看到任何可以轻松实现的东西。

0 投票
1 回答
2384 浏览

python - 在python中使用lxml添加xml前缀声明

简短版:如何使用 lxml 将 xmlns:xi="http://www.w3.org/2001/XInclude" 前缀声明添加到我在 python 中的根元素中?

上下文

我有一些 XML 文件,其中包含其他文件的 ID。

这些 ID 代表引用的文件名。

使用 lxml 我设法用适当的 XInclude 语句替换了这些,但如果我没有前缀声明,我的 XML 解析器将不会添加包含,这是正常的。

编辑:我不会包含我的代码,因为它无助于理解问题。我可以很好地处理文档,我的问题是序列化。

所以从这 <root> <somechild/> </root>

我想 <root xmlns:xi="http://www.w3.org/2001/XInclude"> <somechild/> </root>在我的输出文件中得到这个。

为此,我尝试使用

`

`

0 投票
1 回答
226 浏览

xml - 如何在 webstorm 中为 XSLT 启用 XInclude?

我有这样的xml:

但是 webstorm XSLTRunner 实际上并没有执行包含。如何启用它?我在 Windows 8 上运行它,最新的 java 版本。

0 投票
1 回答
513 浏览

xml - 将大型 XML 文件拆分为小文件,但像一个文件一样继续验证它

我有一个 7K 行、500kb 的 XML 文件。虽然将这样的文件称为大文件听起来很荒谬,但它是一个手动编辑的配置文件,在这种情况下,大小是一个问题:

  • 语法高亮非常慢(至少在 IntelliJ 中是这样)
  • 在这么大的文件中搜索内容很痛苦

因此,我想将文件拆分为多个小文件。XInclude实际上听起来很棒,但是存在一个复杂的 XSD,它极大地有助于防止错误,包括对整个文件中必须唯一的外键和索引的引用。如果我将 XML 文件拆分为多个小文件,则验证需要跨越多个文件并检查交叉引用。

--> 我需要验证器先执行XInclude,然后再执行验证。虽然谷歌建议这是可能的,但我无法做到这一点:我试图让它与xmllint --xinclude --schema mySchema.xsd myXMLWithPlentyOfXIncludes.xml.如果我将 xmlns 属性添加到它抱怨的包含文件的根标记The attribute '{http://www.w3.org/XML/1998/namespace}base' is not allowed

那么我应该如何设置才能跨文件获取命名空间呢?如何完成验证?还有什么我应该注意的警告吗?

奖励:如何让验证在 IntelliJ 中工作?

0 投票
1 回答
53 浏览

xslt-2.0 - 通过 xincludes 而不解析

我已经看到很多关于解决 xinclude 的问题,但我还没有看到相反的问题。

我有一个带有 xincludes 的源 XML 文件。我不想解决它们,而只是将它们通过 XSLT 而不做任何更改。但是,我的解析器正在尝试解决它们。我怎样才能解决这个问题?

我在 Oxygen 中使用 Saxon。