1

zcml を使用して、z3c.saconfig を使用してデータベースに接続するためのエンジンとセッションをセットアップしようとしています。Plone 4.3.2 を使用しています。

私はProfessional Plone Develop bookと呼ばれるPlone 4に関する本に従っており、buildout.cfgの[instance]の下にzcml-additionalを配置するように指示されており、エンジンとセッションが設定されています。

buildout.cfg のインスタンス部分は次のようになります。

[instance]
<= instance_base
recipe = plone.recipe.zope2instance
http-address = 8080
zcml-additional = 
    <configure xmlns="http://namespaces.zope.org/zope"
               xmlns="http://namespaces.zope.org/db"
               >

        <include package="z3c.saconfig" file="meta.zcml" />
        <db:engine name="testA" url="mysql://uName:uPass@localhost/GPCL_Asset_Tracker"/>
        <db:session engine="testA" />
    </configure>

また、gpcl.calibration と呼ばれるパッケージがあり、set_requires 'MySQL-Python' と 'z3c.saconfig' の下に追加した setup.py ファイルで動作し、ビルドアウトで問題を引き起こしません。

残念ながら、私はこのエラーが発生しています:

    ZopeSAXParseException: File "/home/pjdowney/Plone/GPCLAssetTrackerD/parts/instance/etc/package-includes/999-additional-overrides.zcml", line 2.0,  duplicate attribute

zcml-additional は buildout.cfg 以外の場所で定義されていますか? この本では、[instance] の下に http-address と user があることに気付きましたが、代わりに [buildout] の下に移動されたようです。

4

1 に答える 1

3

xmlnsこれはタイプミスです: 2 つの属性の両方をconfigure要素に指定することはできません。次の<db:engineようにすると、おそらく読む必要があります

<configure xmlns="http://namespaces.zope.org/zope"
           xmlns:db="http://namespaces.zope.org/db"
           >
于 2014-11-17T14:28:51.093 に答える