others

Oxygen XML WebApp

  • 21st 1月 2016
  • DITA

ブラウザベースのXML編集に関してはCKEditorやJQueryを利用したモジュールで構築していることが殆どでしたが
oXygen XML WebAppを利用したシステム構築を検討中です。

demo はこちらです。
https://www.oxygenxml.com/webapp-demo-aws/app/oxygen.html

SDKも公開されているので、細かい部分を調整してかなり便利で安定したEditorに仕上げられそうです。
編集中のツリー表示ができればさらに良いのでこのあたりはJQueryを利用してモジュールを組み込みたいですね。

oxygen

Xpath ロケーションパス(開発メモ)

<p>aaaaaaaaaaaaaaaa<graphic src=”インライン用画像”/>bbbbbbbbbbbbbbbbb</p>
<p><graphic src=”通常画像”/></p>

上記のようなXMLがあった場合にXSLTスタイルシートでPタグ中のテキスト部とgraphicタグ部を
分割して処理させる。しかし、同じグラフィック要素でもインライン用の用途と通常画像用の
グラフィック要素が存在している。

この場合、スタイルシート側では同じgraphicテンプレートでインライン用の処理と
通常用の画像処理を定義してやらなければならない。

この分岐をするためにXPath で ロケーションステップを書く時に以下の
工夫が必要だった。

following-sibling::text()
preceding-sibling::text()

この書き方でgraphicタグの前や後ろにテキストノードがあった場合は
インライン用の画像処理をするという命令を定義した。しかし、
following-sibling::text()はうまく動作するものの、なぜか
preceding-sibling::text()は動作しない・・・。(プロセッサはXerces)

<xsl:when test=”parent::node()/child::text() != ””>
この定義でまかなおうとするがこれでもダメ
<xsl:when test=”normalize-space(parent::node()/child::text()) != ””>
前後のスペースをトリムしたらうまく動作する。なぜ・・・。苦労した・・・。

FrameMakerで特殊文字の入力

FrameMakerを利用していて特殊文字の入力を必要とする場合がある。
商標、著作権、登録商標などのマークなど。

FrameMaker12ではこちらのヘルプが公開されているので参照

例えば商標であれば

Ctrlキーを押しながらアルファベットの「q」ボタンを押して、
その後いったんキーをすべて離して、
「*」(Shift+コロンキー)を押す。

これで商標マークが表示される。