2013-08-01から1ヶ月間の記事一覧

XSLT3.0への道(17) XPath3.0のパワー

もしこれを読まれたあなたがDimitre Novatchevさんをご存知だったら相当のXSLTに憧憬が深い勉強家じゃないかと思います.Dimitre Novatchevさんは、XSLT/XPathの世界ではとても有名な「オタク」です.すごいプログラムばっかり書いています.私もWEBを探しに…

プログラミング言語とXPath(3)

.NETでXPathを使うには、LINQ以前のSystem.Xml.XPath.XPathNavigatorクラスを使う方法と、LINQのXDocument, XElementに対してXPathSelectElementsなどのメソッドを使用する方法の二つがあるようです. XPathNavigatorは言ってみれば、PCのワープロやエディタ…

XSLT3.0への道(16) 閑話休題 Exelt

ほったらかしにしていて閑話休題もないですが、 http://blogs.yahoo.co.jp/tnakita/13569767.html で紹介した.Exeltの開発が進んでいるようです. A distributed, streaming XSLT 3.0 processor .Net Exelt http://www.exselt.net/ 7月22日にprivate betaの…

プログラミング言語とXPath(2)

最初はJavaです.JavaでXPathを使用する例はネット上で豊富に存在します.私が懐かしく見させていただいたのは、IBM developerWorks Japanの以下の記事です. Java XPath API Java プログラムから XML をクエリーする http://www.ibm.com/developerworks/jp/…

Lightweight DITA(軽量なDITA)

DITAをお使いのお客様から必ず出てくるお話のひとつに次のようなものがあります. 「エディタで表示される要素や属性の数が多すぎます.必要なものだけ表示されるようにできませんか?」 で、何の話かと言いますとXMLエディタで表示数を減らす加工(細工)が…

プログラミング言語とXPath (1)

Office2003はもうすぐサポート終了になるそうです.私のPCにはOffice2013も入っていますがOffice2003もまだちゃんと入っています.Office2003の例えばWord2003はMicrosoftにとって画期的な製品でした.何故かというとそれまでのバイナリーのネイティブフォー…

XMLファイルをコピーする(6)

最後の例は本命(?)のScalaです.XMLのロードとセーブが簡単になる分ぐっとコードが短くなります. import scala.xml.XML import scala.xml.Node import scala.xml.NodeSeq import scala.xml.Elem import scala.xml.Text object Main { def main(args: Arr…

XMLファイルをコピーする(5)

F#は2002年からMicrosoft ResearchのDon Symeらによって開発されたマルチパラダイム言語です.Visual Studioに載ったのは2010からとまだ新しいです.私はまったくの初心者ですが、書いてみるとけっこう面白いです.Amazonで本を探してみると、F#はScalaより…

XMLファイルをコピーする(4)

次は同じVisual Basicでも、LINQ(統合言語クエリ, Language INtegrated Query)for XMLを使ってみます.出力も「直に」タグを書き込んでいては芸がないので、XmlWriterクラスを使うようにします. Imports System.IO Imports System.Xml Imports System.Xml…

XMLファイルをコピーする(3)

こんどは.NETのSystem.Xml.XmlReaderを使ってVisual Basicでやってみます.プログラムは以下のようなものです.(あいかわらずエラー処理は全然やってありません.) Imports System.IO Imports System.Xml Module Main Sub Main() Dim xr = CreateXmlReader…

XMLファイルをコピーする(2)

最初はJava + SAX (Simple API for XML)でやってみます.プログラムは以下のようなものです.(エラー処理は全然やってありません.) import org.xml.sax.*; import org.xml.sax.helpers.*; import java.io.*; public class Main { public static void mai…

XMLファイルをコピーする(1)

復習と勉強がてらにXMLファイルをコピーするという単純な処理を様々な言語でどのように実現できるかやってみました. 前提として、XMLファイルはコメントや処理命令を含まないごく単純なものとします.ネームスペースも使用しません.今回使ったのはBeginnin…

imageもしくはfigの特殊化⇒DITAにないフロート画像

Googleで"マニュアル"、"PDF"、"ダウンロード"とサーチしてみると、一番最初にニコンのデジカメの取扱説明書がヒットします.このPDFは特に転載などの制限条項がありませんでしたので少し参考になるページを出させていただきました. デジタル一眼レフカメラ…

Using Scala as a Replacement for XSLT?

さまざまなプログラミング言語がXMLを取り扱えるようになりました.例えばScalaやVisual BasicではXMLを直接プログラムの中に変数として書けるところまで来てしまいました.ところでこのように便利になってきたプログラミング言語でどこまでXMLの処理が出来…

self軸

次のような<p>要素に正確にマッチするテンプレートを書きなさいといわれたらどうされますか? <p>~</p> つまり、直前がという処理命令で、直後がという処理命令という要素にマッチする条件です.間にはホワイトスペースは入りません. 実は不勉強ながら最初はどうした</p>…

XMLとVisual Basic

今仕事で使うIDE(統合開発環境)は何かというとoXygen XML Editorです.エディタですが、XSLTスタイルシートをコーディングして、IDE上からANTを起動してFormatterでPDFをつくるところまで一発でできてしまいます.で同業の女房は何を使うかと言えばC++なの…