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圢匏の技術文曞 を䜜成およびサポヌトするための ビゞュアル  WYSIWYG  XMLプロセッサヌ です 。



隣接する半球で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



All Articles