问题描述
我想阅读和操作 Adobe inDesign IDML 文件,并且真的想在 xsd 文件的帮助下用 PHP 生成对象。
http://ns.adobe.com/AdobeInDesign/idml/1.0
不幸的是,这个 url 已损坏,我找不到新的 URL。 有人知道在哪里可以找到 IDML InDesign 的 .xsd 文件吗?
这是 Preferences.xml 的示例:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<idPkg:Preferences xmlns:idPkg="http://ns.adobe.com/AdobeInDesign/idml/1.0/packaging" DOMVersion="14.0">
<ButtonPreference Name="" />
我会使用这个库从 https://github.com/goetas-webservices/xsd2php 生成 PHP 类
解决方法
一个肮脏的解决方法可能是从 xml 文件生成 xsd,解释如下: Any tools to generate an XSD schema from an XML instance document?
我尝试了 trang,它对我有用: https://relaxng.org/jclark/trang.html
,我最终使用 PHP 的 SimpleXml 并且没有真正的对象映射,例如:
$desinMap= simplexml_load_string(file_get_contents("designmap.xml"));
foreach ($designMap->Spread as $spread) {
$result[] = $spread->attributes()->src;
}