Syntext Serna Visual XMLエディター

はじめに

XMLマークアップ言語が発明されて以来、それは私たちの日常のコンピューター生活のあらゆる分野に浸透しました。 私たちは彼にほとんど気付きません。 または少なくとも熱心にふりをする。 ここでは、構成データの保存に使用され、ここではリモートプロシージャコール(XML RPC)に使用されます。 そして、ここでXHTMLの基礎になりました。

世界を変えたこれらの3つの文字は、愛されるか嫌われる可能性があります。 しかし、少なくとも1つのIT分野では、XMLが革命に匹敵する規模で革命を起こしているだけでなく、揺るぎない基盤にもなっています。 ドキュメントの作成と保守について話している。

DocBookまたはfb2について聞いたことがありますか?

重要:この記事にはグラフィック素材が含まれています。



XMLドキュメント。 なんで?

XMLでのドキュメントの保存とそれに続くサポートには、従来のツール(MS Wordなど)に比べていくつかの利点があります。 それらについて簡単に説明しましょう。

オープンフォーマット

XMLベースのデータ形式は、何らかの形で開かれています。 いくつかの方法で開きます。

XMLディクショナリに制限がないため、特定の特殊なXML言語を作成でき、構文の一般性により、同じプログラムでXMLで表される任意のデータを処理できます。

構造化

XMLは、この混乱の世界に少なくとも何らかの秩序をもたらすために生まれました。 「構造」と「シーケンス」の概念は、形式の基本的な基盤の一部です。 文書の形成に関する一連のかなり厳格なルールのおかげで、XMLを使用して表されるデータの構造化が保証されます。

コンテンツとデザインの分離

これは、同じ文書を鈍い学術書のスタイルと陽気な光沢のある雑誌の両方で印刷できる場合に非常に便利です。 XMLでドキュメントを作成する場合、左または右のインデントを心配する必要はありません。 レベルにこれを任せてください。そうすれば、ライターがドキュメントの構造の形成と内容で満たすことになります。

コンテンツの機能を再利用する

XMLを建築用レンガと比較すると、それに関連する技術は安全にセメントモルタルと呼ぶことができます。 ここのセメントは、XIncludeまたはエンティティの標準メカニズム( エンティティ 、外部と内部の両方)です。 そのため、たとえば、それらのおかげで、ドキュメントは、クレイジーな量の他のドキュメントまたはその個々の部分から形成されます。 構成ブロックの1つでの変更は、最終ドキュメントにすぐに反映されます。 コピーアンドペーストはもう必要ありません! 本当に分割して支配します。

共同ドキュメント開発

複数のファイル(自給自足のドキュメントまたは単にテキストの断片)からドキュメントの最終バージョンをアセンブルする機能により、チームの各メンバーは、編集されたドキュメントに衝突を起こすことなく、他の人を邪魔することなく、その瞬間に自分の「レンガ」だけで作業することができます。

また、あらゆる言語でドキュメントを作成できることも素晴らしいことです。 XMLは、そのままでUnicodeをサポートします。 XMLは多国籍企業にとっては面倒なものではなく、むしろそれらの解決に役立ちます。

また、これに加えて、XMLドキュメントはバージョン管理システムに非常に適切に保存されます。

多くの既製のツールとテクノロジー

DTD / XML Schema / RelaxNGを使用して、指定された構造との適合性( 注:「検証」スラング )を確認できます。 必要に応じて、XSLTを使用して、ドキュメントを異なる構造のXMLに変換します。 そして最後に、XPathを使用してドキュメントの最も興味深い重要な部分を選択すると便利な場合があります。

そして、それはすべて、すでにここでそして今、ほとんどすべての人に利用可能です* 。 そして、XMLに関連するほとんどすべてのタスクのために、すぐに使用できるツールまたはテクノロジーを見つけることができます。

*このトピックに精通している各ユーザー。

これらの品質のおかげで、XML文書を作成およびサポートするための技術は、知識を保存するために非常に広く使用されています。

最も有名な形式

DocBookは、技術文書として広く使用されている最初の形式の1つです。 既知の恒常性がLinux環境で使用されます。 たとえば、GTK +およびGNOMEライブラリのAPIドキュメントを生成するために使用されます。

S1000Dは、航空機および造船の分野における技術知識を保存するための標準です。 NATOと民間航空会社(ロシアを含む)の両方でアプリケーションが見つかりました。

fb2( FictionBook )は、電子書籍の一般的なプレゼンテーション形式です。 確かに、fb2をサポートする電子リーダーの所有者は、fb2の使用の利点を評価することができました。

DITAは、「Blue Giant」(IBM)によって開発された完全な拡張可能(素晴らしい後方互換性!)アーキテクチャであり、技術文書の開発、生産、および配信の全サイクルをカバーしています。 ITだけでなく、さまざまな活動分野での使用に簡単に適合します。

Syntext Serna


これらすべてにより、ドキュメントがハッカーやプログラマーによって書かれていないことは注目に値します。 彼らはすべてよりもはるかに少ない頻度でそれを行います。 そして、それは適切な言語知識と経験を持っている比較的普通のコンピューターユーザーによって書かれています。 なぜ彼らは、テキストのいくつかの文を書き、いくつかのタグを作成し、それらの正確性をチェックし、また要素の正しいネストを常に監視するのでしょうか?

そのため、ツールに意味があり、XMLを扱うことのすべての困難を隠し、同時にXMLのすべての利点を明確に強調しました。 これらのエディターの1つはSyntext Serna です 。これは、XML形式の技術文書 作成およびサポートするための ビジュアルWYSIWYGXMLプロセッサー です

隣接する半球でSyntext Sernaがかなり普及しているにもかかわらず、ロシアのこのXMLエディターについてはほとんど聞いていません。 私にとって、Sernaは発見であるだけでなく、本当に好きなエディター*にもなりました。 他のすべてに対して、私はSyntext Sernaを素晴らしいソフトウェア製品と考​​えています。 そして、ここに理由があります。

*したがって、たとえば、私はDocBookを非常に積極的に使用して、ソフトウェアの技術的なタスクを策定しています。 そして、私のお気に入りのEmacsを他のすべてに使用しているにもかかわらず、Sernaで作成する方がはるかに効率的です。

一般的な特徴

クロスプラットフォーム

Nokiaライブラリ(Trolltech)Qtを使用して設計されています。 これにより、次のプラットフォームで非常にうまく機能します。

注:以降、グラフィック素材は開発者のサイトから取得されます。 この資料の執筆時点で、完全に真実であることを保証します。

これは、たとえばLinuxでは次のように見えます。
Linux上のSerna

そして、Mac OS Xで彼が次のようになることを妨げるものはほとんどありません。
Mac OS XのSerna

無料でオープンソース

私はソフトウェアがフリーであるべきだという考えよりももっとコミットしています。 喜んでいないわけではありませんが、エディターの開発者は同様の意見を固守していることに注意してください。

Syntext Sernaには、オープンソース( Serna Free )とエンタープライズ( Serna Enterprise )の2つのエディションがあります。 Serna Freeは、 GNU GPL v3ライセンスの下で入手および配布できます。 したがって、Serna Enterpriseには一定量のグリーンペーパーノートが必要であり、閉鎖されます。 無料版のソースコードは、開発者のサイトでかなり入手可能です。

ビジネスバージョンは、企業ユーザーにとってより興味深いグッズの存在を除き、実質的にオープンバージョンと変わりません。 詳細は公式ウェブサイトで見つけることができます。

あなたが見るものはあなたが得るもの(WYSIWYG)

Sernaでドキュメントを作成するライターは、理論的には、XMLについて知る必要さえありません。 さらに、タグのセットを手動で処理します。 彼は、文書が要素で構成される固定構造を持っていることを単純に理解するだけで十分です。 要素には名前だけでなく、セマンティクスもあります。

さらに、作成されたテキストは、文字やフレーズのつまらない連続した布として作家に表示されません。 編集中のドキュメントのタイプに応じて、テキストの各要素はその本質に従って視覚的にフォーマットされます。 ライターが入力したテキストが読者の注意を引くことを目的とする場合(簡単に言えば、<b />別名「太字フォント」で「ラップ」)、[テキスト]は太字で強調表示されます。 また、インターネット上の特定のリソース(DITAの場合は<a/>)を参照する場合、リンクとして表示されるだけでなく、クリック可能になります(エディター自体およびそこから生成されたPDFの両方から)。

Syntext SernaのWYSIWYG

重要:ドキュメントは、オンザフライXSLT / XSL(-FO)スタイルを使用してエディターに表示されます。 したがって、一度XSLT / XSL(-FO)スタイルを作成すると、エディター自体での表示と、PDFからの生成の両方に使用できます。 そして、これは、その後、エディターの機能を拡張するための実質的に尽きることのない可能性を保持します*

*そして、これはすべての可能な方向で設定されます(機能の拡張を参照 )。

主要な形式のサポート

デフォルトでは、Syntext SernaはDocBook、DITA、XHTML、TEI P4、NITFの「すぐに使える」形式をサポートしています。

Syntext Sernaの主要フォーマットのサポート

Syntext Sernaの主要フォーマットのサポート

Syntext Sernaの主要フォーマットのサポート

重要:ただし、「コア」とは、これがすべて制限されていることを意味するものではありません。 Sernaは、カスタムXML形式のサポートを追加するための優れたツールを提供します。

要素に関するコンテキストヘルプ

ドキュメント開発者は、ドキュメントの構造を完全に覚えている必要はありません。 次に、要素の組み込みのコンテキストヘルプが彼の助けになります。
現在のカーソル位置に応じて、Sernaは挿入可能な要素を表示するだけでなく、説明とともにヘルプ情報を提供します(ヘルプドキュメントの対応するセクションに移動する可能性もあります)。

Syntext Sernaのコンテキストヘルプ

その場でドキュメントを検証する

SernaはDTDとXMLスキーマをサポートしています。 Sernaは、それらの助けを借りて、間違った要素や間違った場所に追加することを許可するだけでなく、必要に応じて、作業中にドキュメントの構造の違反を報告します。

XML Schemaのサポートにより、Syntext Sernaは常に、現在のカーソル位置で挿入可能な要素を「認識」します。

XMLエンティティとXIncludeのサポート

コンテンツの再利用に関する上記のことを覚えていますか? これだ。 複数の場所で使用されることになっているテキストのセクションを一度作成し、ドキュメントで必要な場所に挿入するだけで十分です。 そして少し後に、そのような挿入の内容を変更すると、ドキュメント全体で即座に更新されます!

HTMLおよびPDFの作成

外部ユーティリティ(Syntext Sernaまたはカスタムユーティリティ)を使用すると、編集したドキュメントをPDF、HTMLに変換することも、エディター自体から直接「ワンクリックで」変換することも問題ありません。 この「変換」は、XSLT *を使用して行われます。





*もちろん、ドキュメントのXSLTスタイルがなければ、何も起こりません。 DocBookおよびDITAには、そのような自由に利用可能なXSLTスタイルがすでに含まれています。

機能拡張

オブジェクト指向の設計に精通している人は、OCP(Open-Closed Principle:「拡張のために開かれ、修正のために閉じられる」)のような美しい原則の存在を知っている可能性があります。 Syntext Sernaにとって、彼は彼女の礎の1つになりました。

新しいフォーマットのサポート
Sernaで新しい(または既存の)XML形式のサポートを追加することほど簡単なことはありません。 これを行うには、次を指定して新しいフォーマットプロファイルを作成します。


Syntext Sernaで新しいドキュメントを作成するためのダイアログ

マクロを作成する
Syntext Sernaは、いわゆる「マクロ」に本質的に類似した「コンテキスト依存」挿入の機能を提供します。頻繁に使用されるタグやコンテンツを編集したドキュメントに挿入するボタンを簡単に作成できます。

そのため、たとえば、この拡張ポイントを使用して、XMLドキュメントに「標準」テキスト選択パネル( 太字斜体下線 )を実装できます。 これは、実際にはDITAおよびDocBook形式に対して行われます(エディター自体でどのように実装されているかを常に確認し、ドキュメント形式に同様の形式を追加できます)。

Syntext Sernaの状況依存挿入

ユーザーインターフェース
エディターのユーザーインターフェイスはレンガで構築されています。 ブリックは、Syntext Sernaインターフェースがどのウィジェットで、どの順序で、どのプロパティで形成されるかを宣言型言語で記述する構成ファイルです。 各タイプのドキュメントには、独自のウィジェットセットがあります。

これは、ユーザーインターフェイスの人間工学を変更する場合、または一般的に使用される機能をボタンとして使用できるようにする場合に便利です。

API
おそらく、これはSyntext Sernaのごく一部であり、エディターの機能を拡張する最も考えられない機会を提供します。

Syntext Sernaは、 C ++およびPython用のAPIを提供します。 これらの拡張インターフェースは、問題のXMLエディターの機能の約95%をカバーします。 比較線を引くと、Serna APIの機能をEmacs オペレーティングシステムの APIと比較的同等に比較することもできます

SernaはAPIを使用して、ほぼすべてのコンテンツ管理システム(CMS)と統合できます。 かなり複雑です。 例:c EMC Documentum。 実際に行われていること。 また、エディターに統合されたPyQtライブラリのおかげで、新しい機能ダイアログを開発するのに明らかな困難はありません。


エディターの機能の拡張ポイントごとに、サンプルを含む自給自足のドキュメントが用意されています。 必要に応じて、より「重要な」例では、Syntext Sernaのソースをいつでも調べることができます。これは、これらのブリックの80%以上で構成されています。

1行のその他の機能

Sernaについて長い間話すことができます。 詳細については、開発者のWebサイトを参照してください。 ただし、次のSyntext Sernaの機能について簡単に言及することはできません。

興味深い事実



まえがき

1. XML文書は万能薬ではなく、Syntext Sernaは技術文書の作成とサポートに関連する問題を解決するための普遍的な手段ではありません。

いずれにせよ、Syntext Serna XMLを一緒に試して選択してください。
そして、代替手段を試してください:

2. Syntext Sernaには、その機能を示す既製のドキュメントの例が付属しています。 それらを表示するには、[ヘルプ]メニューの適切な項目を使用します。

3.そして、Alfrescoのような無料のコンテンツ管理システムを使用してSyntext Sernaと友達になれば、電子文書管理のための優れたソリューションを得ることができます。

4.見つかったバグについて開発者に気軽に知らせてください。 彼らはロシア語であなたに答えさえするでしょう。

5. (Linuxユーザー) 。 ソースコードは入手可能ですが、エディターの最初の導入には既成のアセンブリを使用することをお勧めします。 これの前提条件は次のとおりです。

資源

  1. Syntext Serna Freeの公式情報、 http: //www.syntext.com/products/serna-free/。
  2. ダウンロードセクションSyntext Serna Free、 http: //www.syntext.com/downloads/serna-free/。
  3. Syntext Sernaを使用するためのチュートリアル、 http: //downloads.syntext.com/serna-docs/serna-tutorial.pdf

Source: https://habr.com/ru/post/J112371/


All Articles