问题标签 [onix]
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.
jaxb - 用于生成常量的 JAXB 自定义绑定
我正在从第 3 方提供的 xsd 文件(准确地说是 ONIX XML 文件 XSD)生成 Java 类。模式定义了相当多的类型,它们具有 ashortname
和 arefname
属性。不幸的是,ONIX 人员没有使用该fixed
属性为这些字段设置单个允许的字符串值,而是这样做:
这会导致 JAXB 为 shortname 和 refname 属性生成可变字符串字段。在类生成过程中,有关这些字段的唯一有效值的信息会丢失。
有没有办法使用外部 JAXB 绑定文件让 XJC 为以下形式生成shortname
字段refname
:
我知道有一个fixedAttributeAsConstantProperty
属性,但这似乎只起作用,如果 xsd 改为以以下方式定义shortname
and :refname
任何帮助表示赞赏
xml - 在 Excel 中批量过滤和解析 ONIX 数据 (XML)
我有 3000 个带有书籍元数据的 ONIX 风格的 xml URL。我想从这些文件中过滤出一些节点,并将它们解析为单个工作表中的 Excel 行。
这是 XML 路径的示例:http: //btsoep.appspot.com/rest/book/9789082516425
我想将这些 XML 数据过滤为
和
我需要在 Excel 工作表中检索到的数据,其中每个 URL 都有自己的行。所以 URL 在 A 行,TitleText 在 B 行,PersonName 在 C 行。
我该怎么做?
编辑1:
到目前为止,我尝试过的是:-首先使用 wget 下载所有 xml 数据,然后尝试批量解析这是 excel。这可以工作,但没有必要。- 在 Excel 中使用默认的 XMLimport 函数。我似乎无法批量运行它。
我没有任何过滤 XML 文件并在 Excel 工作表中解析它的经验。我没有要求任何人为我解决这个问题或为我编写代码,但我希望朝着好的方向迈出一步。哪种工具最适合这种情况?再次感谢。
c# - 反序列化相对路径 XML
在 C# 中,我想反序列化一些相对位置很重要的 Xml。以下 Xml 来自名为 Onix 的书籍标准:
如您所见,每第二行都称为“接近”。这些字段与上面的字段一起使用。
如果所有字段都是必填项,那么就没有问题,代码如下所示:
但是 4 个邻近字段与之前的字段是紧密绑定的,并且每一对字段都不是强制性的。例如,您可以获得缺少前两行的 xml。
是否有针对此类问题的任何属性?
xml - 使用 SSIS XML Source 存储相关的 xml 元素
使用 SSIS XML Source 我想阅读以下 XML
XML 无法更改,因为它是一个名为Onix
.
如您所见,每行后面都有一个 Proximity。
我想以某种方式以正确的顺序存储它们,或者在OnHand
for之后调用 Proximity OnHandProximity
。
此 XML 之后的架构如下所示:
不幸的是,这在 SSIS XML Source 中正确给出了这个错误:
XML 源无法处理 XML 数据。模棱两可的 complexType 定义。元素“stock”有多个名为“Proximity”的成员。
我的问题当然是是否有人对这样处理 XML 有建议,而不会丢失相对位置的信息。
还有一些细节表明线条不是强制性的,但我认为第一个解决方案可以忽略该细节。
xml - XSLT (1.0) 如何在 CDATA 标记中包装元素值时保留 html 标记
我有一个带有 Text 元素的 XML,它可以包含标记的文本,并且取决于元素属性值,我知道内容是 CDATA 封装还是 XHTML。
因为我不能在 Text 元素中拥有/创建任何子元素,所以如果我得到 XHTML,我将需要封装。
这只是我需要在 XSLT 中转换的众多元素之一
一个简短的 xml 示例
我终于尝试了这个,它确实以某种方式实现了目标。只是没有保留html标签。
这将产生以下内容(注意
标签在第一个文本中消失了)
我也尝试过使用 cdata-section-elements="onix:Text"
但是输出变得非常奇怪,输出中包含 1 个元素的多个 cdata 标签,它唯一没有封装的实际上是我想要封装的文本
我如何解决我需要实现的目标?当我尝试将文本封装在我所做的代码中时,为什么要从元素值中删除 html 标记(.. 这甚至是正确的方法吗?!)
xml - Nokogiri 1.10.5 及更高版本对 ONIX XSD 进行误报验证
Nokogiri 的版本 1.10.5 及更高版本针对 ONIX v2.1 和 v3 XSD 产生与版本 1.10.4 不同的验证错误,并且我在该版本中找不到任何提交和更改的依赖项(libxml2-2.9.10和libxslt 1.1 .34 ) 这将导致这种行为变化。
我创建了一个无效 ONIX XML 的小例子(ff
不是允许的列表条目 <ProductForm>ff</ProductForm>
):
并为它创建了一个使用 ONIX XSD 的测试:
指定版本 1.10.4 时测试通过,而在 1.10.5 及更高版本中测试失败,因为它忽略返回以下错误:
"26:0: ERROR: Element 'ProductForm': 'ff' is not a valid value of the atomic type 'List7'."
这是一个包含测试装置的 zip 文件,关于 gem 存储库中提出的问题,您可以使用它运行$ ruby -Ilib:test 1.10.4/test_case.rb
和$ ruby -Ilib:test 1.10.5/test_case.rb
xml - 如何在 Powershell 中针对嵌套的 XSD 验证 XML?
问题
Test-Xml
如果 XSD 是嵌套的(包括其他 XSD),则通过 XSD 验证 XML 将失败。
Test-Xml "C:\XML\Onix3sample_refnames.xml" -SchemaPath "C:\XML\ONIX_BookProduct_3.0_reference.xsd"
导致错误:
Test-Xml : Type 'http://ns.editeur.org/onix/3.0/reference:SourceTypeCode' is not declared, or is not a simple type.
可能的原因
ONIX_BookProduct_3.0_reference.xsd
包括另外两个 XSD 文件
使用嵌套 XSD 架构的 XML 验证错误中的注释- 未声明类型表明XmlReader
不知道底层Stream
输入的位置,因此无法加载include
“d 子 XSD”。我的猜测:Test-Xml
使用XmlReader
.
另一个用户在 ASP.Net Core 中遇到了同样的问题。
测试文件
可在https://www.editeur.org/93/Release-3.0-Downloads/下获得
XML 示例文件:https ://www.editeur.org/files/ONIX%203/ONIX_Books_3.0_sample_6.zip
XSD 架构文件:https ://www.editeur.org/files/ONIX%203/ONIX_BookProduct_XSD_schema+codes_Issue_52.zip
问题
由于我的 .NET 知识相当有限,我非常感谢 Powershell 解决方案可以根据嵌套的 XSD 模式验证 ONIX XML 文件 - 最好不必更改 XSD(由于频繁更新)。
PS:在 Notepad++/XML 工具或 XML 记事本中验证这些文件可以正常工作。
python - 使用 Python lxml 解析带有条件的 ONIX xml
我正在尝试使用 Python解析器从ONIX XML 格式文件中提取一些信息。lxml
除其他外,我对文档感兴趣的部分如下所示:
我需要在以下条件下提取价格金额:
PriceType='02' and CurrencyCode='NOK' and PriceQualifier='05'
我试过:
由于某种原因,我的带运算符的 XPathand
不起作用并出现以下错误:
知道如何处理它吗?非常感谢任何帮助!