XSLTで固定長データファイルを作成する方法を教えてください。もとのXMLのデータは固定長に整形されておらず、XSLTでの変換時に、空白で不足分を埋めたいと考えています。
もちろん、XSLTでCSVファイルを作成する方法は知っているので、XSLTで空白によるパディングをする方法が知りたいです。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

私も,同じ疑問を抱えていて,つい最近解決しました。


ので知識不足ですが,参考になれば。。。

concat,substringを利用して以下のようにしてみました。
下記の場合,文字長=7として動作させています。

質問では,空白によるパディングですが,仮に0詰めであれば,
簡略に,
<xsl:value-of select="format-number(text(), '0000000')" />
とすればよいかと。


=== XML ===
<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="numbers.xsl"?>
<numbers>
<number>1</number>
<number>12</number>
<number>123</number>
<number>1234</number>
<number>12345</number>
</numbers>

=== XSLT ===
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text" encoding="Shift_JIS"/>

<xsl:template match="number">
<xsl:value-of select="concat(substring(' ',1,7-string-length(text())),text())" />
</xsl:template>
</xsl:stylesheet>

参考URL:http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.ph …
    • good
    • 0
この回答へのお礼

ありがとうございます。
参考になりました。

お礼日時:2009/12/30 02:45

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q美人に恐縮する男性

男性が言う、美人は苦手という言葉がイマイチ理解できません。

なんだかんだ美人が大好きなのになぜ美人に恐縮してしまうのでしょうか?

職場に新入りが入ってきました。

1人は清楚な美人系のしっかりした子。
もう1人は不思議ちゃんで天然なお世話にも美人ではない子。

黒髪清楚美人さんは誰が見ても美人という感じで雰囲気は大政絢や北川景子系統で、受け答えがしっかりしていて大人しい控えめな人です。

もう1人は例える芸能人はみつかりませんが、明るめショートのウエーブパーマで、性格は個性的な天然さんで面白い人です。

従業員の対応が美人さんより不思議さんに対するほうが、構ってるというか興味があるのかな?っという感じでした。

確かに美人さんは放置していても平気だろうなと思うくらいしっかりしています。
不思議さんは目を離すとやや危なっかしいです。

しかし、不思議さんには笑あったり小馬鹿にしたりするのに
美人さん相手には緊張しているというかあまり目を合わせていない感じです。

美人さんも不思議さんも両方愛想はいいです。
しかし不思議さんはなんか見ていて危なっかしいしたまにずれた発言も多く疲れます。

口数が少なめな大人しい美人はとっつきにくいですか?
年齢は美人さんが20で不思議さんは30です。

私の今までの男性は美人にはえこひいきが多く、美人にがつがつ絡みにいく上司ばっかりでしたので新鮮です。

それか、美人系はタイプではないんでしょうかね?

美人より少し崩れてるほうが親しみやすいという男性の心理を教えてください。
でも、性格もいい美人なら美人が最強じゃないですか?

男性が言う、美人は苦手という言葉がイマイチ理解できません。

なんだかんだ美人が大好きなのになぜ美人に恐縮してしまうのでしょうか?

職場に新入りが入ってきました。

1人は清楚な美人系のしっかりした子。
もう1人は不思議ちゃんで天然なお世話にも美人ではない子。

黒髪清楚美人さんは誰が見ても美人という感じで雰囲気は大政絢や北川景子系統で、受け答えがしっかりしていて大人しい控えめな人です。

もう1人は例える芸能人はみつかりませんが、明るめショートのウエーブパーマで、性格は個...続きを読む

Aベストアンサー

>口数が少なめな大人しい美人はとっつきにくいですか?

はい。

美人さんはどうしても男性からちやほやされやすく、
プライドも高いですから、
しょうむない男だと下手に近寄ると
どうせ美人だから近寄ってきているだけでしょとか
そういうけんもほろろな対応をされるかもしれない
という理由から、本人の性情や性格を
ある程度把握してからでないとからめない。
という自己防衛本能に基づくものです。

対応の差は自分のことを自覚している男性か
そうでないか。という違いに相違ありません。

QXSLTを使用したXML->XML変換で...

XSLTを使用したXMLからXMLへの変換で、やり方が分からないのでどなたかお教え願います。

以下にXMLを記述します。

----[入力側]-----
<INPUT>
<IN1>
<old>100</old>
<new>100</new>
</IN1>
<IN2>
<IN21>
<old>200</old>
<new>200</new>
</IN21>
<IN22>
<old>300</old>
<new>300</new>
</IN22>
</IN2>
</INPUT>

----[出力側]-----
<OUTPUT>
<OUT1>
<OUT11>
<old>100</old>
<new>100</new>
</OUT11>
<OUT12>
<OUT121>
<old>200</old>
<new>200</new>
</OUT121>
<OUT122>
<old>300</old>
<new>300</new>
</OUT122>
</OUT12>
</OUT1>
</OUTPUT>


【質問内容】
 集団項目でないタグ(入力側のIN1およびIN2)を集団項目として出力したい

XSLTを使用したXMLからXMLへの変換で、やり方が分からないのでどなたかお教え願います。

以下にXMLを記述します。

----[入力側]-----
<INPUT>
<IN1>
<old>100</old>
<new>100</new>
</IN1>
<IN2>
<IN21>
<old>200</old>
<new>200</new>
</IN21>
<IN22>
<old>300</old>
<new>300</new>
</IN22>
</IN2>
</INPUT>

----[出力側]-----
<OUTPUT>
<OUT1>
<OUT11>
<old>100</old>
<new>100</new>
</OUT11>...続きを読む

Aベストアンサー

> 入力側のIN1,IN2が複数回繰り返された場合、
> 出力側もOUT1が複数回繰り返されるって感じです。

IN1とIN2が必ず1対1に対応するという条件でいいなら(複数の組が存在しても可)これでいけるでしょう。



IN1およびIN2以下の構造はオリジナルのまま出力されます。

<xsl:template match="INPUT">
 <OUTPUT>
  <xsl:apply-templates />
 </OUTPUT>
</xsl:template>
<xsl:template match="IN1">
 <xsl:text disable-output-escaping="yes">&lt;OUT&gt;</xsl:text>
  <xsl:copy-of select="." />
</xsl:template>
<xsl:template match="IN2">
 <xsl:copy-of select="." />
 <xsl:text disable-output-escaping="yes">&lt;/OUT&gt;</xsl:text>
</xsl:template>

> 入力側のIN1,IN2が複数回繰り返された場合、
> 出力側もOUT1が複数回繰り返されるって感じです。

IN1とIN2が必ず1対1に対応するという条件でいいなら(複数の組が存在しても可)これでいけるでしょう。



IN1およびIN2以下の構造はオリジナルのまま出力されます。

<xsl:template match="INPUT">
 <OUTPUT>
  <xsl:apply-templates />
 </OUTPUT>
</xsl:template>
<xsl:template match="IN1">
 <xsl:text disable-output-escaping="yes">&lt;OUT&gt;</xsl:text>
  <xsl:copy-of sele...続きを読む

Q美人の顔の欠点は「魅力」、不美人の顔の欠点は「欠点」

なぜ美人の顔の欠点は「魅力」になって、不美人の欠点は「欠点」なのでしょうか?

<しゃくれ>(美人)綾瀬はるか、桐谷美玲(不美人)アジアン隅田、たんぽぽ白鳥

たらこ唇でも言えると思います。石原さとみなど美人がたらこ唇だと『セクシー』ですけど不美人がたらこ唇だとブサイクな気がします

「美人は七難を隠す」と思います

Aベストアンサー

要は、顔パーツのバランスの問題じゃないですか?
ふくわらいでも、美人(平安美人みたいになりますけど)が作れますし、もちろん不美人にもなります。
並べるパーツは一緒なんですけどね。

QXMLの実体参照とXSLT

次のようなXMLファイルをXSLTで処理したいのですが、&baseの部分がうまく表示できません。
どのようにしたら表示できるでしょうか?

■a.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="a.xsl"?>
<!DOCTYPE test [
<!ELEMENT name (#PCDATA)>
<!ENTITY base SYSTEM "base.xml">
]>
<test>
<name>abc</name>
&base;
</test>

■base.xml
<?xml version="1.0" encoding="UTF-8"?>
<base>base</base>

■a.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" />

<xsl:template match="/">
<xsl:apply-templates select="test" />
<xsl:apply-templates select="base" />
</xsl:template>

<xsl:template match="test">
name:<xsl:value-of select="name" />
</xsl:template>

<xsl:template match="base">
base:<xsl:value-of select="base" />
</xsl:template>

</xsl:stylesheet>

□結果
name:abc
※base.xmlの内容を表示できない

次のようなXMLファイルをXSLTで処理したいのですが、&baseの部分がうまく表示できません。
どのようにしたら表示できるでしょうか?

■a.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="a.xsl"?>
<!DOCTYPE test [
<!ELEMENT name (#PCDATA)>
<!ENTITY base SYSTEM "base.xml">
]>
<test>
<name>abc</name>
&base;
</test>

■base.xml
<?xml version="1.0" encoding="UTF-8"?>
<base>base</base>

■a.xsl
<?xml version="1.0" encoding...続きを読む

Aベストアンサー

いくつか考えられますが、
まずbase.xmlのxml構造としてルート(base)しかないのが気になります。それと
<xsl:template match="base">
base:<xsl:value-of select="base" />
</xsl:template>
ではなく、
<xsl:template match="base">
base:<xsl:value-of select="." />
</xsl:template>
です。
自分のノードにいる場合、
自分を表示するには、「.」を使用します。

Q美人が損する事なんかあるのですか?

美人(男ならカッコいい)達が普通に生活してて損することありますか?

よく、美人は「彼氏がいると思われて告白されない」とか聞きますが
それは待ってるだけだからとおもいます。
不細工なんて、行動してもしなくても恋人作るの大変ですよね?

その他、自分が美人で本当に嫌とか損したという人いるのでしょうか?

頭がよければ、美人東大生。先生ならば美人女教師。たとえ漁師でも
美人ならば、美人漁師。
これでいて、美人が損なんかありえるのでしょうか?

半分愚痴ですいません。

Aベストアンサー

美人であることで得る結果は当然あるとはおもいますが、必ずうらやむことばかりでもないですよ。
良くも悪くもひとから必要以上に注目されてるので、ひとたび事が起きれば非難が集中しやすい立場にいるわけですし、それなりの気苦労はしてると思いますよ。
実際損をしているとはいえないかもしれませんが、得してると思われている分だけずるいような先入観をもたれることは多いかもしれませんね。

QXMLとXSLTでリンクを張る方法

XMLとXSLTでリンクを張る方法について質問させてください。

例えば下記のようなデータがあったとして、
<site>のGOOというテキストにhttp://www.goo.ne.jp/を新ウィンドウで開くリンクを張りたいのです。
よろしくお願いします。


<root>
<data>
<no>1</no>
<site>surl="http://www.goo.ne.jp/">GOO</site>
<setumei>教えて!gooなど</setumei>
</data>
</root>

Aベストアンサー

こんな感じですかね。
----------------------------------------------------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

<html>
<head>
<title>test</title>
</head>
<body>
<p align="left">test </p>
<table border="1" width="500" align="left">
<tr>
<th width="18%" align="left">title</th>
<th width="60%" align="left">name</th>
<th width="40%" align="left">mail</th>
</tr>
<xsl:apply-templates select="root" />
</table>

</body>
</html>

</xsl:template>
<xsl:template match="root">
<xsl:for-each select="data">
<xsl:sort select="kana" lang="ja" />
<tr>
<td><xsl:value-of select="name" /> </td>
<td>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="sname/@surl" />
</xsl:attribute>
<xsl:attribute name="target">
_blank
</xsl:attribute>
<xsl:value-of select="sname"/>
</xsl:element>
</td>
<td>
<xsl:value-of select="mail"/>
</td>
</tr>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

こんな感じですかね。
----------------------------------------------------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

<html>
<head>
<title>test</title>
</head>
<body>
<p align="left">test </p>
<table border="1" width="500" align="left">
<tr>
<th width="18%" align="left">title</th>
<th width="60%" a...続きを読む

Q美人過ぎなかった都議

東京都議会の女性議員が議会質問中にセクハラを受けたとしてニュースになってますが、この人は色々な職業の変遷を経て都議になってますが、以前から「美人過ぎるナニナニ」と、しきりと「美人過ぎる」称号が振られてました。
そこでニュースの写真を見てみましたが、そんなに美人なんですかね?
-----------------
■ 女性都議、セクハラやじ処分要求 批判相次ぐ
http://www.47news.jp/CN/201406/CN2014062001001554.html
-----------------
ちなみに手前の女性です。↑後ろの女性は誰か分かりませんが、誰なんです?
ニュース等の動画で見ると雰囲気的に美人過ぎさが目立つ感も無きにしも非ずですが、「雰囲気美人」なのか、「マジで美人」なのか、どんなもんなんでしよう。

ということで、質問は、
1 この人は本当に「美人過ぎる」のか?
2 後ろの女性は誰なのか。美人過ぎるのではないのか?
3 「雰囲気美人」なのか、「マジで美人」なのか。
4 雰囲気美人とマジの美人とどっちが好みですか。
ちなみに私はマジの美人が好みです。
ニュースの動画では、ブラしてないような感じでした。どう思いますか。

東京都議会の女性議員が議会質問中にセクハラを受けたとしてニュースになってますが、この人は色々な職業の変遷を経て都議になってますが、以前から「美人過ぎるナニナニ」と、しきりと「美人過ぎる」称号が振られてました。
そこでニュースの写真を見てみましたが、そんなに美人なんですかね?
-----------------
■ 女性都議、セクハラやじ処分要求 批判相次ぐ
http://www.47news.jp/CN/201406/CN2014062001001554.html
-----------------
ちなみに手前の女性です。↑後ろの女性は誰か分かりませんが、誰なんです...続きを読む

Aベストアンサー

 地域によって美人の基準が違うからでしょうが、どこにでもいる顔の女性にしか見えませんね。マスコミが何でも美人だとか、貴公子だとか、そういう捏造記事を書いているだけでしょう。

 ニュースを見ましたが、当て付けの中傷誹謗合戦の標的にされただけでしょう。美人と呼べば、角が立たないという読みがあるのでしょう。女性議員をブスと呼んだら、タダでは済みませんからね。プライドが高い人が多いですから。

 なお、一般に美人と呼ばれている女性は、テレビ映りが良い女性であって、美人であっても、テレビに映すと印象が悪い人もいます。テレビに映した時の印象が良ければ、美人でなくても美人扱いになるということでしょう。

 また、男性の関心を呼ぶ顔が美人とは限りません。どう見ても、美人ではないのに、男性の関心が大きい女性もいます。肉体美人とか、そういう人もいます。

QXML+XSLTでの表示について

IE10で、XML+XSLTを、ローカルのXMLを開くと体裁が付かず、テキストのみが表示されてしまいます。IE7(WindowsXP)では、正常に体裁がついていたのですが、IE10で何か変更になったのでしょうか?

XML上で、

<?xml version="1.0" encoding="shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="xxxxx.xsl"?>

と指定しています。

よろしくお願いします。

Aベストアンサー

はい。従来のIEは標準でなかったので
 ⇒XSLT の互換性の変更点 (Windows)( http://msdn.microsoft.com/ja-jp/library/ie/hh180178(v=vs.85).aspx )

Q何故、美人の方が少ないのでしょうか?

何故、美人の方が美人じゃない人より少ないのでしょうか?
美人の方が多ければ、もっと楽しいし、相手見つけるのも楽なのに!
美人の方が多い状況はつくれないのでしょうか?

Aベストアンサー

みんな美人は 芸能界へ拉致誘拐されたんです!!

QXSLTでの複数のXML検索結果を統合するには?

初歩的な質問でごめんなさい。

XSLTを使って複数のXMLを検索した結果を、表示したいのですが、結果を1つのテーブルに統合するにはどうすればいいのでしょう。

次のスクリプトを基に作りたいのですが。
function search (keyword) {
node = thexsl.XMLDocument.selectSingleNode("//xsl:for-each");
if(keyword)
node.setAttribute("select",
"//data[contains(word, '" + keyword + "')]");
else node.setAttribute("select", "//data");
str = thexml.XMLDocument.transformNode(thexsl.XMLDocument);
view1.innerHTML = str;
}

次のファイルを利用して検索したいです、
<xml id="thexml1" src="db1.xml"></xml>
<xml id="thexml2" src="db2.xml"></xml>
<xml id="thexml3" src="db3.xml"></xml>
<xml id="thexsl" src="db.xsl"></xml>

xmlファイルの内容
<?xml version="1.0" encoding="utf-8" ?>
<dataroot xml:lang="ja">
<data>・・・</data>
 ・・・
</dataroot>

xslファイルの内容
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<table>
<tr>・・・</tr>
<xsl:for-each select="//data">
<tr>・・・</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>

よろしくお願いします。

初歩的な質問でごめんなさい。

XSLTを使って複数のXMLを検索した結果を、表示したいのですが、結果を1つのテーブルに統合するにはどうすればいいのでしょう。

次のスクリプトを基に作りたいのですが。
function search (keyword) {
node = thexsl.XMLDocument.selectSingleNode("//xsl:for-each");
if(keyword)
node.setAttribute("select",
"//data[contains(word, '" + keyword + "')]");
else node.setAttribute("select", "//data");
str = thexml.XMLDocume...続きを読む

Aベストアンサー

ちょっと状況が良く判りませんが、
1つのファイルのXSLTが
<xsl:for-each select="//data">
でできるなら
<xsl:for-each select="//data|document('db2.xml')//data">
のようにまとめて処理することが可能です。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報