【发布时间】:2013-11-28 01:57:58
【问题描述】:
我正在尝试将 atom pub CMIS 1.0 绑定加载到 EXTJS 中,并且标签中的冒号正在阻止 XML 阅读器完成其工作。例如xml看起来像:
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis- open.org/ns/cmis/core/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/" xmlns:app="http://www.w3.org/2007/app">
<atom:author>
<atom:name>system</atom:name>
</atom:author>
<atom:id>http://chemistry.apache.org/MTAz</atom:id>
<atom:published>2013-11-28T00:01:22Z</atom:published>
<atom:title>Folder1</atom:title>
<app:edited>2013-11-28T00:01:22Z</app:edited>
<atom:updated>2013-11-28T00:01:22Z</atom:updated>
<cmisra:object xmlns:ns3="http://docs.oasis-open.org/ns/cmis/messaging/200908/">
<cmis:properties>
<cmis:propertyId queryName="cmis:allowedChildObjectTypeIds" displayName="Allowed Child Types" localName="cmis:allowedChildObjectTypeIds" propertyDefinitionId="cmis:allowedChildObjectTypeIds">
<cmis:value>*</cmis:value>
</cmis:propertyId>
<cmis:propertyId queryName="cmis:objectTypeId" displayName="Type-Id" localName="cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId">
<cmis:value>cmis:folder</cmis:value>
</cmis:propertyId>
<cmis:propertyString queryName="cmis:path" displayName="Path" localName="cmis:path" propertyDefinitionId="cmis:path">
<cmis:value>/Root/396271/Folder1</cmis:value>
</cmis:propertyString>
<cmis:propertyString queryName="cmis:name" displayName="Name" localName="cmis:name" propertyDefinitionId="cmis:name">
<cmis:value>Folder1</cmis:value>
</cmis:propertyString>
..... etc.
例如,如果我考虑一个简单的例子
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user attr="test ed">
<id:number>1</id:number>
<name>Ed Spencer</name>
<email>ed@sencha.com</email>
</user>
<user attr="test abe">
<id:number>2</id:number>
<name>Abe Elias</name>
<email>abe@sencha.com</email>
</user>
</users>
我使用 EXTJS 代码
Ext.onReady(function () {
Ext.define('User', {
extend: 'Ext.data.Model',
autoload: true,
fields: [{ name: "id", mapping: 'id:number'},
{ name: "name", mapping: 'name'},
{ name: "email", mapping: 'email'},
{ name: "attr", mapping: '@attr'}]
});
var store = Ext.create('Ext.data.Store', {
model: 'User',
proxy: {
type: 'ajax',
url : 'users.xml',
reader: {
type: 'xml',
record: 'user',
root: 'users'
}
}
});
store.load();
});
我应该为 id 或备用代码的映射记下什么?
fields: [{ name: "id", mapping: 'id:number'} ????? escape the ':' some how?
如果可能,我会尽量避免编写大量自定义 XML 解析代码并依赖 EXTJS 阅读器,并且 CMIS 1.1 浏览器绑定不适用于我的 ECM。
【问题讨论】:
标签: javascript xml extjs extjs4 cmis