问题标签 [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.
xml - 使用 ColdFusion 10 验证 XML 时找不到元素的声明
我正在尝试使用 ColdFusion 的XMLValidate()函数针对ONIX XSD Schema验证 XML 文档。ONIX 是图书出版行业某些方面使用的“标准”XML 格式。
这是一个示例 XML 文档 [出于客户端 NDA 类型的原因,我修改了一些数据;对不起,长度]
这是一些示例代码,用于根据架构验证上述文档。要运行此代码,您必须从上面的链接下载方案并将模式文档解压缩到 Web 服务器的根目录中。将上述 XML 保存为名为 sample.xml 的文件;您可能需要修改 cffile 标记上的文件路径。
它提供了这个错误:
[错误]:2:28:cvc-elt.1:找不到元素“ONIXMessage”的声明。
如果我正确翻译错误,它将找不到 ONIXMessage 标记。但是,我很困惑为什么。
如果我采用更简单的 XML 文件:
我仍然得到同样的错误。
我正在尝试确定它们是否是 XML 或 XSD 或 CFs 验证功能的错误。
有人见过这个吗?有没有人有任何见解?
根据评论,我想添加以下内容:
我不知道这是否有助于调试;但是如果我更改 XML Header 以引用它:
并从 XMLValidate() 函数中删除 XSD 引用:
我得到了许多不同的错误,尽管它们似乎是有效的。很容易找到 ONIXMessage 的声明;但确实突出了许多其他错误。[我不确定它们是否有效]。
不幸的是,在我们的环境中,必须在 XML 文档中“硬编码”模式位置是不切实际的。
sql - 如何在vb中将xml文件读取为字符串
我正在尝试从 onix 文件中读取并将信息保存到 mysql 数据库中。
我能够阅读标题、国家代码、isbn 和其他字段,但由于某些奇怪的原因,我无法得到简短的描述。
简短的描述字段<d102><d104>
嵌入在 html 文本中,当我尝试从它读取而不进行任何更改时,它不起作用,如果我尝试将其保存为字符串也会这样做。
在数据库上,我在表 shortdescription varchar(70) 中创建了一个字段,而且我起初还认为如果我增加它允许存储“varchar(70)”的数量,这无济于事!
这是我正在尝试阅读的 onix 提要的一部分
我尝试使用下面的代码,同样的理论适用于获取 isbn 等:
我不确定这是我在代码中做的不对还是与我在数据库上声明简短描述的方式有关
xml - 如何获取一个xml节点的值——onix文件
我试图在 vb 中获取 Text 的值,只有当 TextTypeCode = "02" - 如果我应该将 tes 更改为
它获取包括 TextTypeCode、TextFormat 和 Text PublicationDate 在内的全部信息,但是,当
它什么也没抓住!
我还将数据库上的 shortDescription 声明为 LONGTEXT
c# - 从 XSD 生成的类不适用于 XmlSerializer
我需要阅读一些遵循 ONIX 标准的 XML 文件参见:http ://www.editeur.org/93/Release-3.0-Downloads/
为此,我下载了 ONIX 3.0 XSD: http ://www.editeur.org/files/ONIX%203/ONIX_BookProduct_XSD_schema+codes_Issue_25.zip
使用下载的 XSD 和这个命令“xsd your.xsd /classes”我创建了我想使用的类。
当尝试像这样创建一个新的 Xml 序列化器时:
我得到了例外
“反映类型‘Model.ONIX.editeur.ONIXMessage’时出现错误。”
当我深入了解内部异常时,我最终得到以下消息:
"{"无法使用 XmlText 属性对成员“文本”进行编码。您可以使用 XmlText 属性对基元、枚举、字符串数组或 XmlNode 数组进行编码。"}"
我不知道该怎么办,XSD 有问题吗?有什么建议么?!
编辑
c# - 使用 dotNet 针对 Onix 2.1 dtd 验证 xml
我正在尝试针对 ONIX 2.1 dtd 验证 XML 提要。当我将生成的 XML 文件加载到 XMLSpy 并根据 DTD 进行验证时,它告诉我提要是有效的。
当我尝试使用 C# 和 XmlReader 验证同一个文件时,我收到了错误,即子节点无效,尽管之前已由第 3 方工具验证。为了确保使用 XmlReader 的代码正确读取 dtd 并进行适当验证,我需要做什么?
这是我的代码...
php - PHP XML Feed - 如何打印父项中特定子项的值。父节点与其他节点同名
我试图弄清楚如何在下面的代码中获取和打印特定的,但节点IDValue
的数量和顺序因每个而异,所以我不能总是通过使用获得正确的值:ProductIdentifier
Product
有没有办法做类似的事情:“如果ProductIDType
是 03,那么打印IDValue
那个子节点”?
更新:
正如下面非常有用的评论所建议的那样,我尝试使用 xpath,但在尝试通过 php 打印时它只是返回了“Array”。我尝试了几种方法来修复它,并从 SO 和 W3C 文档和其他地方的其他问题中记录下来,但没有运气。
这就是我最终做的事情:
不是最优雅的解决方案,但它现在输出正确的值。
xslt - 在 xsl 转换期间匹配命名空间
我有一个文档,其中根元素定义了一个命名空间,当我编写一个 xsl 进行转换时,我没有看到任何匹配的元素。
XML 文件如下所示:
我看到的是我的supplydetail/price
元素根本不匹配,即使它存在于文档中/ONIXmessage/product/supplydetail/price
我试图在 xsl 中指定从 root 开始的完整路径,但这也不起作用。我得到的输出是输入的直接副本,我期望的是输入的副本,除了价格元素。我认为原因是输入 XML 的 ONIXmessage 元素中的命名空间声明,但我如何在 xsl.xml 中指定它。
谢谢
java - 如何将 ONIX xml 短标记名转换为参考标记名?
我的 XML 短标记文件
我想将此短标记名转换为引用标记名。要转换为短标签名,我试过这个
我创建了一个文件夹,并将 xml 文件和 jar 文件放入其中。为了进行转换,我找到了一个名为 Saxon.jar 的 jar。我打开了我的命令提示符,因为我来到了我放置文件的任何地方。
E:\Arunselvan> java -jar saxon9.jar "criticalonix.xml" switch-onix-tagnames-2.0.xsl result-document="" dtd-path ="ONIX_BookProduct_3.0_reference.dtd" 如果我给出这个错误将会出现我是:错误的参数 = 命令行上的值对。我用这个放置了命令提示符图像
我的屏幕截图在这里 短标签到引用标签转换的屏幕截图
我希望输出文件像这样 Reference tag-names
xml - 如何使用 Powershell 将 XML 文件拆分为更小的文件
我有想要拆分的大型 XML 文件(“ONIX”标准)。基本结构是:
我想要做的是将此文件拆分为n 个大小大致相同的较小文件。为此,我会计算<product>
节点的数量,将它们除以n并将它们克隆到n 个新的 xml 文件中。我找了很多,这个任务似乎比我想象的要难。
- 到目前为止我无法解决的是克隆一个具有相同 xml 声明、文档类型、根元素和
<header>
节点但没有<product>s
. 我可以使用正则表达式来做到这一点,但我宁愿使用 xml 工具。 - 将多个
<product>
节点传输到一个新的 XML 文档的最聪明的方法是什么?对象表示法,例如$xml.ONIXmessage.product | % { copy... }
,XPath()
查询(您可以使用 XPath() 选择n 个节点吗?)CloneNode()
和XMLReader
/XMLWriter
? - 节点的内容在格式和编码方面应该是相同的。如何确保这一点?
我将非常感谢您在正确方向上的一些推动!
database - 连接到 Shopify 或 Wordpress 的 Onix 文件 [帮助]
将 onix 数据批量上传到 wordpress 网站或 shopify 平台的最佳系统或方法是什么?我使用 Accumen 图书软件来管理 onix 文件,我希望将信息输入图书销售页面以及整个网站。
我不想变得太技术化,因为我自己无法实现这一点,但我正在寻找我想指导程序员/开发人员做的事情的答案。我是一名设计师,一旦网站设计好,我希望聘请某人处理后端和通过onix集成数据库。