XML
- XMLの学習について
いつもお世話になっております。 XMLの知識については、「独習XML」を前に読んだだけなのですが、いまいち使い方がよくわからないのです。 たとえばXSLTを使って変換するとかなどですが、そういった例が少なくいまいち学習したという感じにはなれなく、まただいぶ前だったのでほとんど知識も薄れてます。 そこで、お勧めの本などがありましたら教えてほしいのです。一冊の本ですべてをカバーしている必要はなく、基礎的なことはこの本で、応用はこの本がいいよ、などでもよいですので、よろしくお願いします。
- PHP4でXML
こんにちは。PHPでXMLファイルを書き換えたいのですが、サーバ環境がPHP5ではありません。以下のようにHTMLと同じ方法でphpファイルを読み込むことは不可能なのでしょうか?だとしたら他に良い方法はありますか?困っています。どなたか助けてください。よろしくお願いします。 <?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <title>○○1</title> <link>http://○○</link> <description>ウェブサイトに掲載されている最新の情報を掲載しております。</description> <language>ja</language> <copyright>Copyright (c) 2007 ○○, Inc. All Rights Reserved.</copyright> <pubDate><?php include("../rss/date.php"); ?></pubDate> <item> <title>ニュースリリース</title> <link>http://○○</link> <description><?php include("../rss/news.php"); ?></description> <pubDate><?php include("../rss/date.php"); ?></pubDate> </item> <item> <title>商品一覧ページ</title> <link>http://○○</link> <description><?php include("../rss/prodact.php"); ?></description> <pubDate><?php include("../rss/date.php"); ?></pubDate> </item> <item> <title>沿革</title> <link>http://○○</link> <description><?php include("../rss/corporation.php"); ?></description> <pubDate><?php include("../rss/date.php"); ?></pubDate> </item> </channel> </rss>
- 親子関係にない要素を限定して取り出すには?
<test> <item id="001"> <name>foo</name> </item> <item id="002"> <name>bar</name> </item> <detail> <itemid>001</itemid> <yomigana>フー</yomigana> </detail> <detail> <itemid>002</itemid> <yomigana>バー</yomigana> </detail> </test> 上記のようなXML文書から次のようなcsvファイルをつくろうと考えています。 フー,foo バー,bar つまり、「item要素の属性idの値」と「itemid要素の値」が同じものを対にして並べたいのですが、 これがなんともxslでうまいやり方が書けません。 (※実際には、item要素とdetail要素が上記のようにいくつも並びます。 item要素やdetail要素の数は状態によって可変ですが、item要素とdetail要素は必ず1対1で存在します。) どなたかご教示お願いします。 (※XML文書の構成改変はできません)
- Javaのabstractについて
Javaのabstractメソッドは、確か中身がないメソッドということで、オーバーライドしないと呼び出すことができないんではなかったでしょうか・・。 それなのに、javax.xml.DocumentBuilderFactoryクラスのnewDocumentBuilderメソッドって、abstract宣言でも呼び出したらちゃんとDocumentBuilderが返るみたいなんですけど、これ如何に。
- XSLで親の取得方法
次のようなXMLで、<item>の位置より<a>配下なのか<b>配下なのかを 知る方法はないでしょうか? local-name(..)とかで、名前を調べようかと思いましたが、 実際は、もっと深く潜っているということと、複数箇所にわかれるて いることから、local_name(..)の方法は、ちょっと無理だと思っています。 -XML-------------------- <data> <a><item>アイテムA</item></a> <b><item>アイテムB</item></b> </data> ------------------------ ご指導ください。よろしくお願いします。
- RSSを読み込んでページごとに違う内容を表示するには?
ライブドアブログやシーサーブログなどのプラグインで RSSを読み込んでそのサイトの記事を表示させることができますが、 それですと、全ページ同じ内容になってしまいますよね。 これを、ページごとに何か「キーワード」を指定して、 1ページごとに違う記事を表示させることは不可能でしょうか? わかりにくい質問で申し訳ございませんが よろしくお願いいたします。
- xsl内での<script>タグの書き方
すいません。もうひとつ質問させてください。 以下のように、xsl内に<script>タグを書こうと思っています。しかし、 <script type="text/javascript"><xsl:comment><![CDATA[ var v = 1; if (v < 2) {alert(v);} ]]></xsl:comment> </script> と書くと、IEではalertが動きますが、FireFoxではalert出ません。<xsl:comment>を削除して、 <script type="text/javascript"><![CDATA[ var v = 1; if (v < 2) {alert(v);} ]]> </script> と書くと、今度はFireFoxでは動作しますが、IEで動作しません。 ブラウザは、IE7とFireFox2.0.0.5です。おそらくエスケープの問題かなと思っていますが、どうすればいいでしょうか? ====== [sample.xml] <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="b.xsl" type="text/xsl"?> <sample> <smp>サンプル</smp> </sample> ====== [b.xsl] <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="UTF-8" omit-xml-declaration="yes" doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" media-type="text/html" /> <xsl:template match="/"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>サンプル</title> <script type="text/javascript"> <xsl:comment><![CDATA[ var v = 1; if (v < 2) {alert(v);} ]]></xsl:comment> </script> </head> <body>サンプル</body> </html> </xsl:template> </xsl:stylesheet>
- ベストアンサー
- XML
- noname#230379
- 回答数1
- xsl、xpath式の書き方について
xslで質問させてください。 以下のようなxmlとxslを作っているのですが、xslの最後のほうで、 sample.xmlの/empList/emp/type/@idの値に応じて、typeList.xmlの/typeList/type/titleの値を取得したくて、 xsl:value-of select="document('typeList.xml')/typeList/type[@id = type/@id]/title/text()" /> と書いていますが、うまくいきません。どうすればいいでしょうか? -----[sample.xml] <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="a.xsl" type="text/xsl"?> <empList> <emp> <type id="1" /> <name>鈴木</name> <desc>あああ</desc> </emp> <emp> <type id="2" /> <name>田中</name> <desc>いいい</desc> </emp> </empList> -----[typeList.xml] <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="a.xsl" type="text/xsl"?> <typeList> <type id="1"> <title>タイプ1</title> </type> <type id="2"> <title>タイプ2</title> </type> </typeList> -----[a.xsl] <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="UTF-8" omit-xml-declaration="yes" doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" media-type="text/html" /> <xsl:template match="/"> <html> <head><title>サンプル</title></head> <body> <xsl:apply-templates select="empList/emp" /> </body> </html> </xsl:template> <xsl:template match="emp"> <h2><xsl:value-of select="name/text()" /></h2> <p>タイプ:<xsl:value-of select="document('typeList.xml')/typeList/type[@id = type/@id]/title/text()" /></p> <p>メモ:<xsl:value-of select="desc/text()" /></p> </xsl:template> </xsl:stylesheet>
- ベストアンサー
- XML
- noname#230379
- 回答数1
- DOMでの要素名の変更
初歩的なことかもしれませんが、なんだかGoogleなどで検索してもなかなかひっかかってくれません。 そこで質問です。。 1つの要素オブジェクト(Element)があって、その下にDOMツリーがたくさんあるとします。 そしてその下のDOMツリーは保持したまま、親の要素オブジェクトの要素名を変更することは可能でしょうか? 例えば <a><b><c></c></b></a> を <a2><b><c></c></b></a2> とするような感じです。 NodeクラスのcloneNodeを使用しても、要素名は変わらないので、ダメですよね。 もしかすると、任意の名前の空要素を1つ用意しておいて、その後子ノードをばんばん追加する処理を書かなくてはダメなのでしょうか。 以上、よろしくお願いします。
- amazonWebサービスからのxmlの加工について
amazonWebサービスから取得したxmlをxslによって加工して表示しようとしています。 xsltはちゃんと表示されるのですが、xslからリンクしたcssが適用されません。 記述の仕方が悪いのかと思い、参考に http://xml-jp.amznxslt.com/onca/xml3?dev-t=D2JW5SAFEH7L0B&t=goodpic-22&f=http%3A%2F%2Fwww.goodpic.com%2Fmt%2Faws-list.xsl&KeywordSearch=%25e3%2582%25b5%25e3%2583%25bc%25e3%2583%2595%25e3%2582%25a3%25e3%2583%25b3&page=1&locale=jp&type=heavy&searchWord=&sort=&mode=books-jp こちらのxsl、cssを保存して表示させようとしたのですが、ローカルの時は表示されるのに、レンタルのサーバーにアップロード(あくまで参考のためで……)してから、そのxslを使ってWebサービスからxmlを表示させてみるとやはりcssが適用されません。 文字コードなども触ってみたのですが、一向に改善されませんでした。 他にこの手の質問がないようなので、もしかすると私のPC環境が影響しているのでしょうか。
- サーバー上にないxmlの読み込み
amazonのWebサービスを利用して、HTML上にxmlを加工して製品情報を載せれるようなjavascriptを考えていたのですが、xmlの読み込みのところで立ち往生しております。 いろいろと模索した結果、サーバー上にないファイルはブラウザのセキュリティー制限に引っかかるため読み込めない、と言うような記述を発見したのですが、Firefox2.0では読み込めず、IE6は読み込めてしまうという現状なので困っております。 XMLHttpRequestを取得してサーバーからファイルを受け取るようにしていたのですが、Firefox2では表示されませんでした。(ローカルなファイルは表示できました。) Javascriptでの解決方法はないのでしょうか? また、別にJavascriptでないといけない分けでもなく、正直私もxmlの性質をあまりつかめていないので、もっとよい方法があれば、教えていただきたく思います。
- XMLとXHTMLはどちらを先に勉強するべきなのでしょうか?
私はとあるウェブサイトの管理者なのですが、 あるときハイパーテキストマークアップ言語の最新版が「HTML」でなく「XHTML」になっていることを知りました。 ウェブサイト管理者として最新版の言語を覚えておいた方がいいと思ったのですが、 検索エンジンで調べてみた所XHTMLはXMLと関係がある(?)ようなのですが、そうなるとXMLも学ぶ必要があると言う結論に至ったのですが結局XHTMLとXMLはどちらを先に勉強するべきなのでしょうか? 私としてはXHTMLを学ぶに当たってXMLが必要ならXMLを先に学ぶべき、 XMLが必要ないならXHTMLを左記に学ぶべき、と言った形で回答していただければ幸いです。
- XMLマスターベーシックV2について
XMLマスターベーシックを受講についての質問なのですが 手元に翔泳社のXMLマスターベーシックの教科書があるのでこれを参考に勉強しようとおもっていたのですが 結構前にヴァージョンが上がり 教科書も翔泳社からXMLマスターベーシックV2というものがでているようなのですがV2用の教科書をかった方がいいでしょうか? それとも内容的には自分がもっているものでかわりませんでしょうか?
- ベストアンサー
- XML
- mimigagero
- 回答数1
- MSXMLで使用可能な文字コードの種類は?
MSXMLパーサが解釈できる文字コードには何があるか、調査をしています。 XMLパーサであり、Microsoftの製品ですから、s-JIS、UTF-8、UTF-16は当然扱えると思いますが、その裏づけがほしいのです。また、他に使用可能なものとして、何があるのかも知りたく思います。 (できれば使用可能な文字コードの一覧があると助かるのですが・・・)
- 終了タグが認識されない?
XercesにてXMLをパースしようとすると、 org.xml.sax.SAXParseException: The element type "td" must be terminated by the matching end-tag "</td>". のような例外が発生してしまいます。 解析ソースの該当する部分は(1) <table><tr><td>調理器具</td></tr></table> です。 しかし(2) <table><tr><td>調理器具 </td></tr></table> というように、終了タグの前に半角スペースを入れるだけで、例外は発生しなくなります。 できれば(1)のようなXML文書としたいのですが、どうすればいいでしょうか。 パーサのセッティングが原因? 以下がパース時のパーサの設定です。 parser.setFeature( "http://xml.org/sax/features/validation", true); parser.setFeature( "http://xml.org/sax/features/namespaces", false); parser.setFeature( "http://apache.org/xml/features/validation/schema", true); parser.setIncludeIgnorableWhitespace(true); parser.setErrorHandler(new DefaultHandler()); よろしくお願いします。
- XMLのエラーコードの意味が理解出来ません
XMLの初心者です、宜しくお願い致します。 XMLファイルをbuild.xmlによりXSLをを読み込ませていますが、 以下のようなエラーメッセジが出るのですが全く意味が理解出来ません。 何が原因でしょうか宜しくお願い致します。 __________________________ BUILD FAILED G:\xmlkhtgk\XML ??\???\workspace_070528\XMLproj\build.xml:19: Could not start xml validation: org.apache.xerces.parsers.SAXParser ________________________ 因みにxslの該当箇所(18行以下)と思われる内容は以下のようなコードです。 <xmlvalidate lenient="no" classname="org.apache.xerces.parsers.SAXParser" file="${doc.dir}/${xml.file}"> <attribute name="http://apache.org/xml/features/validation/schema" value="true" /> <attribute name="http://xml.org/sax/features/namespaces" value="true"/> <property name="http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation" value="${basedir}/${doc.dir}/${tagdef.file}"/> </xmlvalidate>
- 妥当なXML(Valid XML)のチェックについて
妥当な文書にするためにチェックを行っているのですが http://validator.w3.org/ ここれでやるとThis page is not Valid (no Doctype found)!といわれ omitted tag minimization parameter can be omitted only if OMITTAG NO is specified. などとエラーがでてしまいます。 しかし、http://www.stg.brown.edu/service/xmlvalid/でやるときちんとValidになります。 先生からはhttp://validator.w3.org/でチェックをするときいたのですがどうしてもエラーがでるので やはりhttp://validator.w3.org/はXHTMLだけでXMLのチェックというものはできないのでしょうか? XMLのValidかどうかのチェックはhttp://www.stg.brown.edu/service/xmlvalid/でやればいいのでしょうか?
- (携帯XHTMLで書いた)フォントのサイズが小さくならない
携帯でホームページを作っています。 スタイルシート(i-CSS)を使って文字のサイズを小さくしたいのですが、 思い通りのサイズになりません。 (font-size:xx-small;)で指定しても(font-size:small;)で指定してもサイズが変わらない。 問題のソースです。 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.0) 1.0//EN" "i-xhtml_4ja_10.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" dir="ltr"> <head> <meta content="text/html; charset=shift_jis" http-equiv="content-type" /> <style type="text/css"> <!--[CDATA[ a:link{color:#3c5fcc;} a:hover{color:#996600;background-color:#FFF4E0;text-decoration:none;} a:visited{color:#990099;} ]]--> </style> <title>トップページ</title> </head> <body> <div style="text-align:center;"> <span style="font-size:xx-small;">タグテスト</span> </div><br /> <span style="font-size:xx-small;"> <a href="tabletest.html">1.テーブル</a> </span> </body> </html> 原因がわからないので、いろいろとサイトを調べてみて試したのですが、原因がつかめず途方に暮れています。 どなたかわかる方いましたら、ご教授お願いします。 あと参考になるサイトなどがありましたら教えてください。
- XMLDOMを用いて 指定されたタグ名のデータだけを取りたいのですが
Windows2000 ExcelVBA Microsoft XML version2.0 環境でXMLデータ処理をしています。 <?xml version="1.0"?> <!-- enerated --> <CURS> <LIST_OS> <ORSTERY> <X_W>確認データ</X_W> <LIST_DATA> <BREAK> <USER_NAME>山田</USER_NAME> <SEC_GR_NAME>部門</SEC_GR_NAME> <LG_RES> <G_PS> <APPL_NAME>部門計算</APPL_NAME> <RES_NAME>山田</RES_NAME> </G_PS> <G_PS> <APPL_NAME>部門集計</APPL_NAME> <RES_NAME>山口</RES_NAME> </G_PS> </LG_RES> </BREAK> </LIST_BREAK> <AF_W></AF_W> <BF_X></BF_X> </ORSTERY> </LIST_OS> </CURS> XMLDOMを用いて 指定されたタグ名のデータだけを取りたいのですが タグ名:"X_W"を指定 → 確認データ , タグ名:"SEC_GR_NAME"を指定 → 部門 タグ名:"G_PS"を指定 → 部門計算,山田,部門集計,山口 を取りたいのですが