XMLからcsvへの変換
下記のXMLのフィールドの項目を
xslを使い、msxsl.exe経由で、csvへ変換をしたいのですが、
各field nameを抽出するのがうまくいきません。
copy condition=の箇所は必要ありません。
どなたかご教示のほど、お願いいたします。
■XML
<?xml version="1.0" encoding="UTF-8"?>
<exportData>
<Book id="id">
<field name="keywords"></field>
<field name="listName"></field>
<field name="publisher"></field>
<field name="publishDate"></field>
<field name="illustrators"></field>
<field name="isbn"></field>
<field name="length"></field>
<field name="id"></field>
<field name="series"></field>
<field name="authors"></field>
<field name="title"></field>
<field name="summary"></field>
<field name="format"></field>
<field name="genre"></field>
<field name="coverImage"></field>
<field name="List Price"></field>
<field name="URL"> </field>
<field name="Current Value"></field>
<field name="isbn13"></field>
<copy condition="" dateAcquired="" location="Bookshelf" owner="" presentValue="" source="">
</copy>
</Book>
■xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text" encoding="UTF-8"/>
<xsl:template match="/">keywords,listName,publisher,publishDate,illustrators,isbn,length,id,series,authors,title,summary,format,genre,coverImage,URL,CurrentValue,isbn13
<xsl:apply-templates select="//Book"/>
</xsl:template>
<xsl:template match="Book">
<xsl:call-template name="keywords"/>,<xsl:call-template name="listName"/>,<xsl:call-template name="publisher"/>,<xsl:call-template name="publishDate"/>,<xsl:call-template name="illustrators"/>,<xsl:call-template name="isbn"/>,<xsl:call-template name="length"/>,<xsl:call-template name="id"/>,<xsl:call-template name="series"/>,<xsl:call-template name="authors"/>,<xsl:call-template name="title"/>,<xsl:call-template name="summary"/>,<xsl:call-template name="format"/>,<xsl:call-template name="genre"/>,<xsl:call-template name="coverImage"/>,<xsl:call-template name="URL"/>,<xsl:call-template name="CurrentValue"/>,<xsl:call-template name="isbn13"/><xsl:text>
</xsl:text>
</xsl:template>
</xsl:stylesheet>
よろしくお願いいたします。
お礼
仕様では、無限なのですね。 ・128[bit]整数処理を断念 ・libxml2をやめ、他のXMLパーサにきりかえ のどちらかで対応する事に致します。 又、MSXMLではどうなのか気になる所です。 どうも有難うございました。
補足
80[bit]以上の変域でmaxInclusive/minInclusiveの値を指定すると、 xmlint(≒libxml2)はエラー扱いをします。