如何将XML文件导入Plone,以便每个字段值都存储在相应的AT字段中?

时间:2011-09-06 19:56:20

标签: xml import plone archetypes

我正在尝试将XML文件导入Plone。 “http://plone.org/documentation/kb/xml-in-plone-with-marshall/tutorial-all-pages”教程中描述的方法适用于查看XML中的Plone页面;但是,导入XML总是将整个文件内容作为HTML编码的字符插入到< field name =“text”>标签

我有一个名为“my-test-page.atxmlpage”的页面,其中包含以下内容:

<?xml version="1.0" ?>
<metadata xmlns="http://plone.org/ns/archetypes/" xmlns:cmf="http://cmf.zope.org/namespaces/default/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xmp="adobe:ns:meta">
<dc:title>
    My Test Page
</dc:title>
<dc:creator>
    admin
</dc:creator>
<dc:language>
    en
</dc:language>
<xmp:CreateDate>
    2011-09-06T19:00:27Z
</xmp:CreateDate>
<xmp:ModifyDate>
    2011-09-06T19:01:01Z
</xmp:ModifyDate>
<field name="id">
    my-test-page
</field>
<field name="text">
    Hello world!
</field>

<cmf:type>
    Document
</cmf:type>
<cmf:workflow_history>
    <cmf:workflow id="simple_publication_workflow">
        <cmf:history>
            <cmf:var id="action" type="None" value="None"/>
            <cmf:var id="actor" type="str" value="admin"/>
            <cmf:var id="comments" type="str" value=""/>
            <cmf:var id="review_state" type="str" value="private"/>
            <cmf:var id="time" type="date" value="2011-09-06 15:00:27"/>
        </cmf:history>
    </cmf:workflow>
</cmf:workflow_history>
<cmf:security>
    <cmf:local_role role="Owner" user_id="admin"/>
</cmf:security>
</metadata>

当我尝试将此文件导入Plone时(通过8021以上的FTP或源端口9880上的WEBDAV),页面将所有内容(从标记开始)加载到字段中。正确的做法是让Plone将每个字段值加载到正确的AT字段中。该字段应仅包含文本“Hello world!”。

如何教Plone正确导入XML文件?

注意:

My / Plone / marshaller_register /包含两个Predicate约束:具有以下条件的ATXMLMarshaller:python:mode =='marshall'和具有以下条件的ATXMLMarshaller:python:mode ='demarshall'和content_type =='text / xml ”。

My / Plone / content_type_registry /包含.atxmlpage扩展名的Page谓词(根据上述教程中的说明)。

Plone版本3.3.4。 马歇尔版本1.2.1。 Python版本2.4.4。

0 个答案:

没有答案