XSLTプロセッサであるXTとXMLパーサーであるXerces-Pを使用してXMLからHTMLを生成しようと考えているのですが、XMLパーサーであるXerces-Pについて教えて下さい。
Q1.Xerces-P+XTの場合はJavaは必要ないのでしょうか?
Q2.Xerces-Pのインストール方法やTXからの使用方法が詳細が記載されているお薦めのURL
宜しく御願いします。

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

A 回答 (2件)

■Xerces+XT


■Perlだけインストールされているマシン

のどちらかをあきらめる、という意味ではa-kumaさんと同意見ですが
「あえて後者(Perl環境)」を優先するのであればXTをあきらめて
Xerces + Xalanもありかな、と。

■CPAN
http://search.cpan.org/search?mode=module&query= …
にPerl用のモジュールがあります。

#私自身はPerlよりJavaだと思いますが……

---
御存じかもしれませんが
http://www.janit.com/netbranch/Perl/XMLPerl/XMLP …
も御覧になって下さい。
CPANの解説もちょこっと出てます。
    • good
    • 0
この回答へのお礼

有難う御座います。
参考にしてみます。

お礼日時:2001/09/17 14:18

Xerces は、Java だけではなく Perl のモジュールや C++ での実装もある


ようですが、肝心の XT が Java の実装なので

> Q1.Xerces-P+XTの場合はJavaは必要ないのでしょうか?

については No ですね。

> Q2.Xerces-Pのインストール方法やTXからの使用方法が詳細が記載されているお薦めのURL

「お薦め」ってことにはならないのですが、調べる過程で見たページを
いくつか。

XT を使うのが前提であれば、Java が必要になるので、参考URLのページが
良いかも(詳細ではないですね)。でも、Java だったら、ファイルを展開
して CLASSPATH を通すだけですから、詳細も何も無いかも。

↓のページは、C++ 版の Xerces です。もし、パーサを使ったプログラムを
C++ で書くことがあれば、参考になるかもしれません。

  http://www.kcat.zaq.ne.jp/takao/documents/bcb/10 …

# 私も、そろそろ XML にはまりそうなんで、いろいろな資料をつまんでいる
# ところですので、この手の質問はためになります :-)

参考URL:http://www2.wbs.ne.jp/~skaga/wpf/xmllesson/xmlle …
    • good
    • 0
この回答へのお礼

Javaが必要なんですね。
PerlだけでインストールされているマシンでXerces-P+XTでXML->HTMLに変換出来ればいいなと思ったのですが。
URLを参考にしてみます。
御回答有難う御座いました。

お礼日時:2001/09/14 11:18

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

このQ&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...続きを読む

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>
です。
自分のノードにいる場合、
自分を表示するには、「.」を使用します。

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...続きを読む

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 )

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">
のようにまとめて処理することが可能です。


おすすめ情報