1

私はこのようなことをしています:

document.properties["my:customProperty"] = getSomehowTheProperty(document);

my:customPropertyコンテンツ モデルで許容される値を持つ文字列です。

スクリプト内の JavaScript 配列に格納する必要がないように、コンテンツ モデルから許可された値を取得するにはどうすればよいですか?

getSomehowThePropertyまたは、関数が許可された値を返したことを他にどのように確認できますか?

私はそれをtry-catchでラップしようとしました:

    try {
      document.properties["my:customProperty"] = getSomehowTheProperty(document);
      document.save();
    } catch (e) {
      document.properties["my:customProperty"] = "Default Value";
      document.save();
    }

しかし、整合性がチェックされているように見え、try ブロック内ではなく、スクリプトの実行の最後にエラーがスローされます。

「ノードプロパティのalfresco js許可値」および同様のクエリをグーグルで検索しても、何も得られません。

4

1 に答える 1

2

そのような情報を取得するには、DictionaryServiceを使用してPropertyDefinitionを取得する必要があります

私の頭の上から、あなたは次のようなことをしたいと思うでしょう:

QName customPropertyQ = QName.createQName("my:customProperty", namespaceService);
PropertyDefinition customPropertyT = dictionaryService.getProperty(customPropertyQ);
List allowedValues = customPropertyT.getConstraints();

これは Java になります。JavaScript から DictionaryService を操作する方法の詳細については、このブログ投稿を参照してください。

于 2013-06-12T16:12:02.330 に答える