XML
- XSLで、XMLの空タグを制御したい。
値がないXML文書に、 <exsample /> こう書かれてしまうものを、 <exsample></exsample> このように出力したいのですが、出来ずでした。 以下は、私のやり方です。 ■ XSL <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xslt"> <xsl:output method="xml" encoding="Shift_JIS" indent="yes" xalan:indent-amount="4"/> <xsl:template match="/"> <xsl:copy-of select="."/> </xsl:template> </xsl:stylesheet> ■ XML <?xml version="1.0" encoding="Shift_JIS"?> <root> <section> <category> <exsample1>value</exsample1> <exsample /> </category> </section> </root> ご教授、よろしくお願いいたします。
- XMLの解析に関して
XMLの解析を行いたいのですが、 ちょっと困っています。 最初はSelectNodesメソッドを利用し 複数情報を取り出そうと考えていたのですが、 下記の様な場合に対応出来なくなってしまいました。 <A1> <A2><A2> </A1> <B1> <B2></B2> <B2></B2> <B2></B2> <B2></B2> </B1> <A1> <A2><A2> </A1> <B1> <B2></B2> <B2></B2> <B2></B2> <B2></B2> </B1> A1とB1がセットにて2件の情報が返ってきているのですが、 同じタグ名な為、 SelectNodes("B1")で取り出した際に、 どれが1個目のA1の情報で どれが2個目のA1の情報か判断付きませんでした。 (*B1の数は常に変動します) 何かうまい方法ないでしょうか。 詳しい方いましたらどうぞよろしくお願いします。
- tomcatのログについて
tomcatのアクセスログを出力したい場合、 コンテキストパスに設定するときは以下のように設定しますが、 コンテキストパスに以下の設定を行わなわずにserver.xmlにtomcat全体の設定として、 ログを出力する設定とした場合、コンテキストパスへのアクセスはログに出力されないんでしょうか? <Context path="/javaroad" docBase="/javaroad" debug="0"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs/AccessLog" /> </Context> ご存知の方教えてください。
- 締切済み
- noname#159383
- XML
- 回答数1
- 入れ子になっているhtmlのXPath指定方法
お世話になります。 下記のようにclassが入れ子になっている部分全体を、XPathで指定したいのですが どのように記述すればよいでしょうか? <div class="A"> <div class="B"> <h1> </h1> </div> <div class="C"> <p> </p> </div> </div> XPathについては全く知識がなく調べながらなのですが、なかなか思うようにいきません。 //div[@class="A"]/div[2]/h1/div[3]/p のようにしてみましたが間違っていました。 使用する場所はyahoopipesの XPath fetch pageのモジュールです。 宜しくお願いします。
- amazonAPI XSLによるHTML変換エラー
どなたかご教授頂けたら幸いです。 ※Styleを指定しない場合はxmlが正常に返ってきます。 ※アクセスキーは正確に入力しています。 【エラー内容】 <?xml version="1.0"?> <ItemSearchErrorResponse xmlns="http://ecs.amazonaws.com/doc/2011-08-01/"><Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.</Message></Error><RequestId>607e93a3-0c6e-44ce-a354-c4c2e1c555cd</RequestId></ItemSearchErrorResponse> 【リクエスト】 http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=〇〇〇〇〇〇〇〇〇〇〇〇 &AssociateTag=〇〇〇〇〇〇〇 &Version=2011-08-01 &ResponseGroup=Small &Operation=ItemSearch &SearchIndex=Books &Keywords=質問 &ContentType=text/html &Style=http://www.〇〇〇〇〇.com/sample.xsl (←複数のサーバで試行も不可) ↓ここで署名生成されたSigned URLにてリクエスト http://associates-amazon.s3.amazonaws.com/signed-requests/helper/index.html 【xsl】 ================================================================================== <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:aws="http://webservices.amazon.com/AWSECommerceService/2011-08-01" version="1.0"> <xsl:output method="html" encoding="UTF-8"/> <xsl:template match="/"> <html lang="ja"> <head> <title>テスト</title> </head> <body> <xsl:apply-templates select="aws:ItemSearchResponse/aws:Items/aws:Item"/> </body> </html> </xsl:template> <xsl:template match="aws:ItemSearchResponse/aws:Items/aws:Item"> <p> [タイトル] <xsl:element name="a"> <xsl:attribute name="href"> <xsl:value-of select="aws:DetailPageURL" /> </xsl:attribute> <xsl:value-of select="aws:ItemAttributes/aws:Title" /> </xsl:element> [著者] <xsl:value-of select="aws:ItemAttributes/aws:Author" /> </p> </xsl:template> </xsl:stylesheet> ================================================================================== Styleを指定しない場合はxmlが正常に返ってくるのでxslに問題があるのではと思い、 amazonで色々調べましたが、何も発見できませんでした。 宜しくお願いします。
- //をdescendantで書き換えたいのですが
自分はxPathで今まで 例えばこのページ(http://www.yomiuri.co.jp/atmoney/news/20120611-OYT1T00821.htm?from=main8) であれば、本文の部分を読み込むのに //div[@class="article-def"]//div[@class="box-r"]/p (/text()をつけたりしますが) のような形で書いていました しかし、// は 特にルート付近でこれを使うとオーバーヘッドが凄い 特に理由がなければ descendant 軸を使えと言われました ただ、自分はこのdescendant 軸というのが良く分かっておりません 上記のようなxPathの場合はどのように書き換えられるのでしょうか? 宜しくお願いします
- SmartyでXMLの読み込みデータが文字化け
今まで使っていたサーバーのプランが古くて容量が少ないため、同じレンタルサーバーでプランUPしました。 ただそのプランは旧プランと仕様が下記のように変わっています。 【PHP】 旧プラン:PHP4 → 新プラン:PHP5 【文字コード】 旧プラン:EUC-JP → 新プラン:UTF-8 【データベース】 旧プラン:MySQL4.1 → 新プラン:MySQL5 【データベース文字コード】 旧プラン:EUC-JP → 新プラン:UTF-8 文字コードがUTF-8になったため、それに合わせてページの文字コード等を変更したのですが、 一部Smartyで作られるページがあり、そのページの文字化けだけがどうしても解決できません。 そのページはPHPファイル、tplファイル、xmlファイルの3ファイル使っています。 各ファイルはテキストエディタでUTF-8に変換し、tplファイルにある表示される文字は文字化けしません。 ただxmlファイルから読み込むデータが、すべて「?」マークの文字化けをしてしまいます。 念のため、ここだけEUC-JPのまま、つまり何も変更をしない状態にしても同じ「?」マークの文字化けをしてしまいます。 他のファイルも見てみたのですが、文字コードらしい要素が見当たらず(もしくは気づかない)原因がわかりません。 Smartyはまだよくわからなくて、このシステムを作った前々任者とも連絡がとれないので、どうすればいいのか困っています。 どうか宜しくお願いします。
- XMLのDTDによる文書型宣言の記述の仕方
初心者ですが簡単なXMLのDTDによる文書型宣言の記述の仕方がよく分かりませんので教えてください。 XMLでは同じ要素名の要素でも親が異なる場合は別の要素として扱うことができます。例えば、要素Bの子の要素Dと、要素Cの子の要素Dがある場合、要素Bの子の要素Dには属性bdを、要素Cの子の要素Dには属性cdを定義できます。この場合にDTDによる文書型宣言を記述する場合、要素Bの子の要素Dと、要素Cの子の要素Dをどのように記述するのでしょうか。 例えば <A> <B> <D bd="123"></D> </B> <C> <D cd="abc"></D> </C> </A> というようなXMLインスタンスがあった場合 この場合のDTDによる文書型宣言の記述は <!DOCTYPE A [ <!ELEMENT A (B,C)> <!ELEMENT B (D)> <!ELEMENT D EMPTY> <!ATTLIST D bd CDATA #REQUIRED> <!ELEMENT C (D)> <!ELEMENT D EMPTY> <!ATTLIST D cd CDATA #REQUIRED> ]> と記述しましたがこれでは駄目でした。2つ目の要素DのELEMENTの宣言で、要素Dはすでに宣言されているというエラーになるのです。上記の例の場合にDTDによる文書型宣言はどのように記述するのでしょうか。 よろしくお願い致します。
- XMLでのデータのリレーションの作り方
例えば以下のようなXMLデータがあるとします。 "勘定科目マスタ.xml" <勘定科目マスタ> <勘定科目情報> <勘定科目コード>1</勘定科目コード><勘定科目>現金預金</勘定科目> </勘定科目情報> <勘定科目情報> <勘定科目コード>2</勘定科目コード><勘定科目>借入金</勘定科目> </勘定科目情報> <勘定科目情報> <勘定科目コード>3</勘定科目コード><勘定科目>仕入</勘定科目> </勘定科目情報> </勘定科目マスタ> "出金伝票マスタ.xml" <出金伝票マスタ> <伝票コード> <伝票番号>1</伝票番号> <勘定科目コード>3</勘定科目コード> <金額>80000</金額> <摘要>夏物仕入れ</摘要> </伝票コード> <伝票コード> <伝票番号>2</伝票番号> <勘定科目コード>2</勘定科目コード> <金額>500000</金額> <摘要>運転資金借り入れ</摘要> </伝票コード> </出金伝票マスタ> 二つのファイルを結合して勘定科目名も組み込んだ下のような出金伝票情報xmlデータを作り出すには、XMLのどのような技術を使うのが適当なのでしょうか。どうかお教え下さい。 "出金伝票情報.xml" <出金伝票情報> <伝票コード 伝票番号="1"> <勘定科目コード>3</勘定科目コード> <勘定科目>仕入</勘定科目> <金額>80000</金額> <摘要>夏物仕入れ</摘要> </伝票コード> <伝票コード 伝票番号="2"> <勘定科目コード>2</勘定科目コード> <勘定科目>借入金</勘定科目> <金額>500000</金額> <摘要>運転資金一部返済</摘要> </伝票コード> </出金伝票情報>
- XMLEDITOR.NETでDTDを有効にするには
XMLEDITOR.NETツールで、行数が多いXMLを読み込んでから、 [ツール(T)] - [妥当性検証(外部ファイル)(F)]をクリックし、 外部サブセット(別ファイル)のDTDファイルを選択したところ、 以下のエラーメッセージが表示されます。 ↓ 「セキュリティ上の理由から、DTDはこのXMLドキュメントでは使用 できません。DTD処理を有効にするには、XmlReaderSettingsの ProhibitDtdプロパティをFalseに設定し、XmlReader.Createメソ ッドにその設定を渡してください。」 ネットでいろいろ調べたところ、 マイクロソフトのSystem.xml.dllモジュール内のようなのですが、 有料のマイクロソフトツール等、私は持っていない為、 そのDLL内を編集することが出来ない状況です。 やはり、有料のマイクロソフトツールを購入して利用しないと、 このエラーは解消出来ないのでしょうか? PS: 私が実施したいことは、単に、 外部DTDファイルとXMLファイルとの間における 「妥当な文書(valid XML document)」を、 チェックしたいだけなので、 もし、 上記エラーが解消出来ないようでしたら、 他に良いバリデータ(検証ツール)があれば、 そちらを教えていただけましたら幸いです。 ちなみにネットで調べて、「MSV(Oracle Multi-Schema XML Validator)」を 試してみましたが、実行すると、 以下のエラーメッセージが表示されて、 ↓ Exception in thread "main" java.net.MalformedURLException: no protocol: xmlCheck /test20120508.dtd/test20120508.xml at java.net.URL.<init>(Unknown Source) at java.net.URL.<init>(Unknown Source) at java.net.URL.<init>(Unknown Source) at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source) at org.apache.xerces.impl.XMLEntityManager.startDocumentEntity(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl.setInputSource(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at com.sun.msv.reader.util.GrammarLoader._loadSchema(GrammarLoader.java:513) at com.sun.msv.reader.util.GrammarLoader.parse(GrammarLoader.java:331) at com.sun.msv.driver.textui.Driver.run(Driver.java:217) at com.sun.msv.driver.textui.Driver.main(Driver.java:68) こちらも今のところ利用出来ていない状況です。 以上になります。 よろしくお願いします。
- ベストアンサー
- hohoemikun
- XML
- 回答数1
- Winのxmllintで文字化けを解消するには?
お世話になります。 Windows7 Pro 32bit SP1上の、 DOSコマンドプロンプト上で、 xmllint -noout -valid test.xml を実行した際、 test.xml内で外部DTDファイルを指定しているところで エラーが発生していましたが、 その際のエラー表示が、 validity error: Content model of xx~(文字化け)~xx is not determinist: xx~(文字化け)~xx になっています。 外部DTDファイル、XMLファイルとも、 文字エンコードは、 UTF-8 です。 どうすれば、 「xx~(文字化け)~xx 」 部分を、正常な文字列として表示させることが 出来るでしょうか? なお、もしDOSプロンプト上から無理でしたら、 何かxmllint以外のツール等で、 外部DTDファイルとXMLファイルにおける Valid XML(妥当なXML)のチェックが 出来て、エラー行や内容などを、 正常な文字列として表示出来るツール等がございましたら、 教えてください。 以上になります。 よろしくお願いします。
- SAXのcharacters()内で得る値について
XML(UTF-8)ファイルをPerlでOPENして読み込んで、 XML::SAXで、 characters()メソッド内で取得した文字列値を利用していますが、 XML内に&文字が存在していると、 そこで、 utf8 "\x81" does not map to Unicode at C:/Perl/site/lib/XML/SAX/PurePerl/Reader/ Stream.pm line 37. utf8 "\x8C" does not map to Unicode at C:/Perl/site/lib/XML/SAX/PurePerl/Reader/ Stream.pm line 37. Undeclared entity [Ln: 516, Col: 21] エラーが出て強制終了されます。 どうすれば、このようなエラーを解消できますか?
- ベストアンサー
- hohoemikun
- XML
- 回答数3
- AndroidでDTDのXML形式を解析する方法
現在Androidでちょっとしたツールを作っています。 簡単に概要を説明すると、 ・サーバーにあるデータを取ってきます。 データはHTTP通信で取ってきます。 ・HTTP通信で取った情報はDTDのXML形式になっていて、その情報を解析して情報を取りだす。 色々ネットを見てみたのですが、なかなか参考になりそうなものがありません。 もし良い方法、あるいは、参考になるサイトなどご存知の方がありましたら、ご教授お願いします。
- 本を探しています(XMLをPerlで文字取得編集)
お世話になります。 XMLファイル(DTDファイルも別途有ります)を、 出来ればPerlで、 XSLT(XSLの変換機能)等を利用して、 文字取得・編集したいです。 (XMLから文字を取得して、Perl等で文字編集後、 別のテキストファイルとして出力したいです) そのような内容が掲載されている本を Amazonのレビュー等を参考にしながら探しているのですが、 なかなか見つけることが出来ません。 できればPerlがよいのですが、なければ、 Perl以外の別のプログラム言語でも構いませんので、 お勧めの本(もしくはWebサイト等)などございましたら、 ぜひ紹介してください。 よろしくお願いいたします。
- XMLをCSVへ変換でほしい情報を取得したい
XMLからcsvへの変換 下記のXMLのフィールドの項目をxslを使い、msxsl.exe経由で、csvへ変換をしたいのです。 ユーザーデータ部分は抽出可能ですが、aidを抽出する方法がわかりません。 どなたかご教示のほど、お願いいたします。 ■XML <?xml version="1.0" encoding="shift_jis"?> <状況 aid="555"> <ユーザデータ uid="0001"> <氏名>吉野家 太郎</氏名> <ID>123456</ID> <種別>一般</種別> <率>100</率> <最終更新>2012/02/16 15:20:58</最終更新> </ユーザデータ> <ユーザデータ uid="0002"> <氏名>吉野家 次郎</氏名> <ID>123457</ID> <種別>一般</種別> <率>10</率> <最終更新>2012/03/16 15:20:58</最終更新> </ユーザデータ> </状況> ■xsl ユーザーデータ取得用 <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > <xsl:output method="text" encoding="Shift_JIS" /> <xsl:template match="/">uid,氏名,ID,種別,率,最終更新 <xsl:apply-templates select="/状況/ユーザデータ"/> </xsl:template> <xsl:template match="ユーザデータ"> <xsl:value-of select="@uid" /><xsl:text>,</xsl:text> <xsl:value-of select="氏名" /><xsl:text>,</xsl:text> <xsl:value-of select="ID" /><xsl:text>,</xsl:text> <xsl:value-of select="種別" /><xsl:text>,</xsl:text> <xsl:value-of select="率" /><xsl:text>,</xsl:text> <xsl:value-of select="最終更新" /><xsl:text> </xsl:text> </xsl:template> </xsl:stylesheet> aidを取得するにはどのようなXSLを書けばよいのでしょうか? 抽出時のレイアウト aid,uid,氏名,ID,種別,率,最終更新 よろしくお願いいたします。
- ベストアンサー
- origami060506
- XML
- 回答数2
- とあるebookのXML
ど素人です。 <Content Title="タイトル1" DestPage="000" リンク先_DestPage="010" Level="1"></Content> <Content Title="タイトル2" DestPage="001" リンク先_DestPage="012" Level="1"></Content> <Content Title="タイトル3" DestPage="002" リンク先_DestPage="013" Level="1"></Content> 上記の通し番号の文字列が3000行程ありまして、 DestPage="000" リンク先_DestPage="010" この箇所の「000」「010」の数値に50を足した状態にしたいのですが、 何か良い方法は無いでしょうか? PCはwindowsXP、7、MAC lionがあります。
- 順不同・任意のタグ
前半は、順番とおりの必須タグで、後半は順不同の任意タグのSchemaの指定を教えてください。 以下の例では、aa,bb,ccが、この順で必須、xx,yy,zzは、この順で任意です。 xx,yy,zzを順番関係なく指定できるようにしたいです。 よろしくお願いします。 <xsd:sequence> <xsd:element name="aa" type="xsd:string"/> <xsd:element name="bb" type="xsd:string"/> <xsd:element name="cc" type="xsd:string"/> <xsd:element name="xx" type="xsd:string" minOccurs="0" /> <xsd:element name="yy" type="xsd:string" minOccurs="0" /> <xsd:element name="zz" type="xsd:string" minOccurs="0" /> </xsd:sequence>
- XMLを作成してもタグしか表示されない
XMLファイルを作成しても 「This XML file does not appear to have any style information associated with it. The document tree is shown below.」 というメッセージとタグの羅列しか表示されないのですが、これはなぜですか? 私の環境はXMLに対応していないのでしょうか。
- スライドショーで画像にリンクを貼る方法
http://luxnate.com/memo/2011/02/-flash30.html こちらのスライドショーを使ってスライドショーを作りました。 画像1枚1枚に違うリンク先をつけたいのですが、すみません、分かりません(^^; xmlを修正するのかなと思い、こちらで質問しました。 ぜひ宜しくお願いいたします。
- xmlファイルが上手にHTMLに変換されない理由
http://www6.airnet.ne.jp/manyo/xml/ こちらのサイトを参考にxmlを学んでいます。 下記のようにxmlファイルを作りIE9で表示しても コードしか表示されません。 他のサイトでも調べたのですが、原因が分かりませんでした。 ------------------------- 【C:\test\basic.xsl】 ------------------------- <?xml version="1.0" encoding="Shift_JIS"?> <?xml-stylesheet type="text/xsl" href="basic_1.xml"?> <manyosyu> <volume no="1"> <poem> <pno>8</pno> <mkana> 熟田津尓 船乗世武登 月待者 潮毛可奈比沼 今者許藝乞菜 </mkana> <poet>額田王(ぬかたのおおきみ)</poet> <yomi> 熟田津に船乗りせむと月待てば潮もかなひぬ今は漕ぎ出でな </yomi> <image>image/m0008.jpg</image> <mean>熟田津(にきたつ)で、船を出そうと月を待っていると、 いよいよ潮の流れも良くなってきた。 さあ、いまこそ船出するのです。 </mean> </poem> </volume> </manyosyu> ------------------------- 【C:\test\basic_1.xml】 ------------------------- <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet version="1.0" xmlns:xsl="basic.xsl"> <xsl:template match="/"> <html> <head> <title>たのしいXML: 基本サンプル-1</title> </head> <body> <p align="center">万葉集第1巻抜粋: とにかく表示してみよう</p> <p><xsl:value-of select="manyosyu" /></p> </body> </html> </xsl:template> </xsl:stylesheet>
- ベストアンサー
- tekkenman7
- XML
- 回答数2