nadera の回答履歴

全11件中1~11件表示
  • xpath でn番目のテキストノード取得

    xpathで//text()とするとすべてのテキストノードが取得できますが、 この中からn番目のテキストノードを取得することは可能でしょうか? (プログラムでループではなく、xpathで。) <?xml version='1.0'?> <root><foo>aaa</foo><bar>bbb</bar><buz>bbb</buz></root> //text()[1]でaaaがとれるかと思ったんですが。。。 よろしくお願いします。

    • ベストアンサー
    • momruru
    • XML
    • 回答数2
  • スタイルシートのfor-each select=に変数を使用したい

    お世話になります。 <xsl:param name="A" select="1000"> ・ ・ ・ <xsl:template name="B"> ・ ・ ・ <xsl:for-each select=".//1000"> -(1) </xsl:template> <xsl:template match="1000"> -(2) </xsl:template> (1) (1)の箇所の「1000」を上で宣言したAを使用したく、 <xsl:for-each select="concat('.//',$A")>  など色々試したのですが、うまくいきませんでした。 (2) (2)の箇所を「A」の変数に色々な形で置き換えてもうまくいきませんでした。 上記2点、を変数を使用して指定したいのですが、どのようにすれば実現できますでしょうか? 大変お手数とは思いますがよろしくお願いします。

    • ベストアンサー
    • kgyqk433
    • XML
    • 回答数1
  • 複数リンクをしたいのですが表示されない

    複数リンクしたいページがあったので色々試みました こちらのサイトを参考にして http://www6.airnet.ne.jp/manyo/xml/index.html Xlinkの単純リンク・拡張リンクを試したのですがリンクが全くされないで、普通に文字が並んでるように表示されました また http://questionbox.jp.msn.com/qa1821124.html こちらのやり方で試みてもリンクされていない状態でした。 XMLの書き方がまずかったのか、別の理由でリンク表示されないのかわかりませんがどうしたら複数リンクができるでしょうか? 大体こんな感じに書きました ↓XML <?xml version="1.0" encoding="Shift_JIS"?> <?xml-stylesheet type="text/xsl" href="anime1.xsl"?> <iti> <sait> <name>世界の発展</name> <gai> <link url="http://***">イギリス</link> <link url="http://***">フランス</link> <link url="http://***">イタリア</link> </gai> </sait> ↓XSL <?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>テスト</title> </head> <body> <div align="center"> <xsl:apply-templates select="iti" /> </div> </body> </html> </xsl:template> <xsl:template match="iti"> <br /> <br /> <h1>テスト</h1> <xsl:apply-templates select="sait" /> <br /> <br /> </xsl:template> <xsl:template match="sait"> <table border="1" bgcolor="#006fdd" width="700"> <tr> <th><xsl:value-of select="name" /></th> </tr><tr> <td><xsl:value-of select="gai" /></tr> </table> <br /> </xsl:template> <xsl:template match="link" > <a> <xsl:attribute name="href"> <xsl:value-of select="@url" /> </xsl:attribute> <xsl:value-of select="text()" /> </a> </xsl:template> </xsl:stylesheet> どこら辺が間違ってますでしょうか?

    • ベストアンサー
    • fine12
    • XML
    • 回答数2
  • ホームページ作成の際、インラインフレームでの写真表示方法について

    下記のようなことは出来ますでしょうか? 右サイドバーに写真1、写真2・・・というようにサムネイルを表示していきます。 そのサムネイルをクリックすると、左のメインフレームの中央に、その写真の拡大されたものが表示されるといった具合です。 別ウインドウで表示されるのではなく、同じページ内(インラインフレーム?)で表示したいです。 初心者で、検索していろいろ調べましたが、お手上げになってしまいました。。 こだわり過ぎても駄目だと思うんですが、これが解決しないのでなかなかHP作成が進みません。 誰か教えてください!

  • うまく表示されない

    XMLを最近覚えたのですが、表示がうまく出来ないので間違ってる箇所を教えて頂けないでしょうか? よろしければどうしたら表示されるのかも教えて頂けると助かります。 元のソース <?xml version="1.0" encoding="SHIFT_JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>***</title> <link rel="stylesheet" type="text/css" href="**.css" /> <link rel="shortcut icon" href="favicon.ico" /> </head> <body> <br /> <h2>***</h2> <h4>***</h4> <table><tr><td width="600"> <div><br /><font size="4" color="blue">***</font> <br />*** </div></td></tr></table> <br /> <a href="../***.html"><img src="back.png" border="0" alt="" /></a> <br /> <br /> </body> </html> ↓変更後 XML <?xml version="1.0" encoding="Shift_JIS"?> <?xml-stylesheet type="text/xsl" href="taimu1.xsl"?> <taimu> <tai>***</tai> <sab>***</sab> <bunn> <br /><font size="4" color="blue">***</font> <br />*** <br /> </bunn> <gazou> <a href="***.html"><img src="***.png" border="0" alt="" /></a> </gazou> </taimu> ↓変更後 XSL <?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 xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>***</title> <link rel="stylesheet" type="text/css" href="***.css" /> <link rel="shortcut icon" href="favicon.ico" /> </head> <body> <xsl:apply-templates select="tai" /> <xsl:apply-templates select="sabu" /> <xsl:apply-templates select="bun" /> <xsl:apply-templates select="gazou" /> </body> </html> </xsl:template> <xsl:template match="tai"> <h2>***</h2> </xsl:template> <xsl:template match="sabu"> <h4>***</h4> </xsl:template> <xsl:template match="bun"> <table><tr><td width="600"><div> </div></td></tr></table> </xsl:template> <xsl:template match="gazou"> <a href="***.html"><img src="***.png" border="0" alt="" /></a> </xsl:template> </xsl:stylesheet> 大体このように書きました

  • ルート要素ノードが2個ある場合?

    xmlからxmlへの変換時に出るエラーについての質問です。 元データとなるxmlが下のような構造をしています。 ルート要素の要素ノードが2つあるものです。 <A1>   <B1>aaa</B1>   <B2>     <C1>bbb</C1>   </B2> </A1> <A2>ccc</A2> これをxsltで違う形のxmlに変換するのですが、変換中にエラーが出てしまいます。 (使用しているのはApache xalanです) 現在は元データに、<root>ノードを最上位に加えることにより、変換しているのですが、他の方法で対処できないでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • snlsnr
    • XML
    • 回答数3
  • JavaScriptを使うとXMLで実体参照されない

    htmlに書き込んだjsで、プルダウンメニュとテキストボックスに入力した検索語で、xmlから条件に合ったデータを抽出し、別のhtmlに書き出すという仕組みなんですが、下記のようにxmlデータに実体参照を使用すると、jsが動きません。なぜでしょうか? もちろん、実体参照の箇所を消去すると、作動します。 お分かりの方、ご教授くださいませ。よろしくお願いいたします。 ★検索エンジン部分(js) function disp(){ var strTitl=parent.up.form.title.value; var strAuthr=parent.up.form.author.value; var objDoc=new ActiveXObject("Msxml2.DOMDocument"); objDoc.async=false; objDoc.load("books.xml"); flg=false; strFlt="/books/book"; if(strTitl!=""){ strFlt+="[(title = '" + strTitl + "')"; flg=true; } if(strAuthr!=""){ if(flg){ strFlt+=" and "; }else{ strFlt+="["; flg=true; } strFlt+="(author ='" + strAuthr + "')"; } if(flg){strFlt+="]";} var clnNod=objDoc.selectNodes(strFlt); with(parent.down.document){ open("text/html"); writeln("<html><head><title></title></head><body>"); for(i=0;i<clnNod.length;i++){ objNod=clnNod.item(i); objTit=objNod.selectSingleNode("title"); objAut=objNod.selectSingleNode("author"); objPrc=objNod.selectSingleNode("price"); objId=objNod.selectSingleNode("@id"); writeln("<table border='1'><tr><td>"); writeln(objId.text + ".</td><td>"); writeln(objTit.text + "(" + objAut.text + ")" + "</td><td>"); writeln(objPrc.text + "円</td></tr></atble>"); } writeln("</body></html>"); close(); } } ★xmlデータ(books.xml) <?xml version="1.0" encoding="Shift_JIS" ?> <!DOCTYPE books[<!ENTITY y2000 "2千円">]> <books> <book id="001"><title>タイトルA</title><author>作者A</author><price>&y2000;</price></book> </books>

    • ベストアンサー
    • taimaiman
    • XML
    • 回答数3
  • org.xml.sax.SAXParseException: The XML declaration must end with "?>"について.

    org.xml.sax.SAXParseException: The XML declaration must end with "?>". このエラーが発生してしまいました。 対処の方法が分からずに困っています。 分かる方、回答をお願いします。

    • 締切済み
    • GENto2
    • XML
    • 回答数1
  • JavaScriptを使うとXMLで実体参照されない

    htmlに書き込んだjsで、プルダウンメニュとテキストボックスに入力した検索語で、xmlから条件に合ったデータを抽出し、別のhtmlに書き出すという仕組みなんですが、下記のようにxmlデータに実体参照を使用すると、jsが動きません。なぜでしょうか? もちろん、実体参照の箇所を消去すると、作動します。 お分かりの方、ご教授くださいませ。よろしくお願いいたします。 ★検索エンジン部分(js) function disp(){ var strTitl=parent.up.form.title.value; var strAuthr=parent.up.form.author.value; var objDoc=new ActiveXObject("Msxml2.DOMDocument"); objDoc.async=false; objDoc.load("books.xml"); flg=false; strFlt="/books/book"; if(strTitl!=""){ strFlt+="[(title = '" + strTitl + "')"; flg=true; } if(strAuthr!=""){ if(flg){ strFlt+=" and "; }else{ strFlt+="["; flg=true; } strFlt+="(author ='" + strAuthr + "')"; } if(flg){strFlt+="]";} var clnNod=objDoc.selectNodes(strFlt); with(parent.down.document){ open("text/html"); writeln("<html><head><title></title></head><body>"); for(i=0;i<clnNod.length;i++){ objNod=clnNod.item(i); objTit=objNod.selectSingleNode("title"); objAut=objNod.selectSingleNode("author"); objPrc=objNod.selectSingleNode("price"); objId=objNod.selectSingleNode("@id"); writeln("<table border='1'><tr><td>"); writeln(objId.text + ".</td><td>"); writeln(objTit.text + "(" + objAut.text + ")" + "</td><td>"); writeln(objPrc.text + "円</td></tr></atble>"); } writeln("</body></html>"); close(); } } ★xmlデータ(books.xml) <?xml version="1.0" encoding="Shift_JIS" ?> <!DOCTYPE books[<!ENTITY y2000 "2千円">]> <books> <book id="001"><title>タイトルA</title><author>作者A</author><price>&y2000;</price></book> </books>

    • ベストアンサー
    • taimaiman
    • XML
    • 回答数3
  • XMLの属性について。

    XML,DTD,XSLの勉強をしています。 最終的に写真が表示され、その下に「PM 7:30」もしくは「19:30」と表示するようなページを作ろうと思っているのですが、属性の意味がよく理解できておらず下の3つのうちどれを採用したらいいか悩んでいます。どれが正解というか、どれを選ぶのがいい方法なんでしょうか? また、その理由(属性について)教えて頂けないでしょうか?具体的には次の2つが疑問点です。 1. 写真を表示するのに、写真のアドレスを属性にする理由はなんとなく分かるような気がするにですが、いまいちはっきりした理由が理解できていません。 DTDを<!ELEMENT アルバム (#PCDATA) >にして、XMLを<アルバム>0101.jpg</アルバム>でも写真の表示は可能なのでしょうか? 2. 一番の疑問点なのですが、時間を(#PCDATA)にするのか、EMPTYにして属性で CDATA にするべきなのかがよく分かりません。 (「分」も属性値にしてしまった方がいいのでしょうか?) (xslは、まだ作成していません。) よろしくお願い致します。 具体例↓ 3つ 「arubamu.dtd」 <?xml version="1.0" encoding="Shift_JIS"?> <!ELEMENT アルバム (時,分) > <!ATTLIST アルバム file CDATA #REQUIRED > <!ELEMENT 時 EMPTY > <!ATTLIST 時 ampm (am|pm) "am" > <!ATTLIST 時 time CDATA #REQUIRED > <!ELEMENT 分 (#PCDATA) > 「アルバム.xml」 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE アルバム SYSTEM "arubamu.dtd"> <アルバム file = "0101.jpg" > <時 ampm = "pm" time = "7" /> <分>30</分> </アルバム> ------------------------------------------------------------------ 「arubamu2.dtd」 <?xml version="1.0" encoding="Shift_JIS"?> <!ELEMENT アルバム (時) > <!ATTLIST アルバム file CDATA #REQUIRED > <!ELEMENT 時 EMPTY > <!ATTLIST 時 ampm (am|pm) "am" > <!ATTLIST 時 time CDATA #REQUIRED > <!ATTLIST 時 minute CDATA #REQUIRED > 「アルバム2」 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE アルバム SYSTEM "arubamu2.dtd"> <アルバム file = "¥0101.jpg" > <時 ampm = "pm" time = "7" minute = "30" /> </アルバム> ------------------------------------------------------------------- 「arubamu3.dtd」 <?xml version="1.0" encoding="Shift_JIS"?> <!ELEMENT アルバム (時,分) > <!ATTLIST アルバム file CDATA #REQUIRED > <!ELEMENT 時 (#PCDATA) > <!ATTLIST 時 ampm (am|pm) "am" > <!ELEMENT 分 (#PCDATA) > 「アルバム3.xml」 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE アルバム SYSTEM "arubamu3.dtd"> <アルバム file = "0101.jpg" > <時 ampm = "pm">7</時> <分>30</分> </アルバム>

    • ベストアンサー
    • ouou2
    • XML
    • 回答数1
  • javascriptとDOMを使ったxmlの読み込みがうまくいかない

    「10日でおぼえるxml入門教室」をいう書籍を使って、xmlの勉強を始めたのですが、ダウンロードした本の内容のソースコードを実行しても想定された結果になりません。そのコードは <html> <head> <title>5-1.XML文書を読み込んでみる</title> <script language="JavaScript"> <!-- var objDoc=new ActiveXObject("Msxml2.DOMDocument"); objDoc.async=false; objDoc.load("books.xml"); window.alert(objDoc.xml); //--> </script> </head> <body> <h1>5-1.XML文書を読み込んでみる</h1> </body> </html> というもので、本来xml文書を表示したダイアログが出るはずなのですが、ブラウザで開いてもダイアログが出ずに、いきなり見出し字が表示されるだけです。 環境はMacOS10.5.5, 使用したブラウザはSafari, Firefox, Operaです。 そもそもIEでないと実行できないコードなのでしょうか? javascriptに関しても初心者なので、できるだけわかりやすい言葉で説明していただけるとありがたいです。