3

非常に多様なドキュメントタイプ、したがって非常に異なるコンテンツモデルに対応するWebベースの構造化ドキュメントオーサリングソリューションを探しています。すべてではありませんが、多くのドキュメントは、キーワード、作成者、タイトルなどのトップレベルのメタデータと、他のセクションを含む可能性のあるさまざまなタイプの一連の順序付けられたセクションを備えた雑誌記事に似ています。

コンテンツは絶えず進化しているため、新しいドキュメントタイプをかなり頻繁に作成する必要があります。要件は、ドキュメントテンプレート自体が(ハードコードされたソフトウェアではなく)オーサリングシステムを使用して定義できることです。

私は、betterForm、XSLTForms、OrbeonなどのXformsベースのソリューションを検討することをお勧めしました。ここでは、Xformsを作成してドキュメントテンプレートを定義し、Xformsを使用してXMLドキュメントを作成できます。

XRXは素晴らしいアイデアであり、すべてがXMLテクノロジーの範囲内にあると思いますが、Xformsを作成し、それらのXformsを使用してXMLドキュメントを作成するための非常に優れたユーザーインターフェイスがいくつかありますが、Xformsは順序付けをサポートしていないようです。さまざまな選択可能なセクションタイプのネスト。

任意の提案をいただければ幸いです。

編集:

私はXformsテクノロジーをより詳しく調べており、それを使用して作成する必要のある構造化文書のタイプを作成することは、Xformsテクノロジーが設計されたものではないという結論に達しました。

具体的には、多態的なセクションが繰り返されているドキュメントがあります。たとえば、セクションがある記事があります。セクションを追加、削除、並べ替え、削除したい。セクションごとに、次のセクションがテキストセクションか、画像セクションか、引用セクションかなどを選択します。テキストセクションを画像セクションに変更したい場合があります。

これを実現するためにXformsを使用することを選択した場合、基本的に、実行時に基になるXformsマークアップを動的に書き直して、ドキュメントのオーダーメイドのテンプレートを作成する必要があります。この場合は、特定の記事に適切なタイプのセクションがすべて配置されています。 。

XFormsはxforms:repeatやxforms:switchなどの要素を提供しますが、実行時のフォーム構造の動的操作のネイティブサポートがなく、継承をモデル化するためのネイティブメカニズムがないため(XMLスキーマには抽象型があります)、多態性コンテンツのモデリングが非常に重要になります困難であり、すぐに使用できるXformsソリューションが存在する可能性は低く、さらに、特注のWebアプリケーション(問題外ではありません)を構築することは依然として困難です。

私が間違っている場合は私を訂正してください!

4

2 に答える 2

3

順序付けはXFormsでネイティブにサポートされていませんが、次のようなもので実装することができます。

<xf:group ref="preceding-sibling::*[1]">
  <xf:trigger>
    <xf:label>Move Up</xf:label>
    <xf:action ev:event="DOMActivate">
      <xf:insert nodeset="self::*" origin="following-sibling::*[1]" position="before"/>
      <xf:delete nodeset="following-sibling::*[1]"/>
    </xf:action>
  </xf:trigger>
</xf:group>
<xf:group ref="following-sibling::*[1]">
  <xf:trigger>
    <xf:label>Move Down</xf:label>
    <xf:action ev:event="DOMActivate">
      <xf:insert nodeset="self::*" origin="preceding-sibling::*[1]" position="after"/>
      <xf:delete nodeset="preceding-sibling::*[1]"/>  
    </xf:action>
  </xf:trigger>
</xf:group>

ネスティングも同様の方法で実行できます。

構造を作成する場合、現在、この構造をコピーできるようにするには、ワークインスタンスでこの構造を定義しておく必要があります。ノードをコピーせずに追加するには、追加の機能が必要になります。

-アラン

于 2012-12-08T14:30:59.863 に答える
2

Oppidoc.frのStephaneSireによる、ドキュメントWebオーサリングの分野での進行中の作業があると思います。

AxelライブラリXTiger仕様を確認することをお勧めします。

于 2013-01-08T01:39:14.280 に答える