XML
- XMLファイルからXML Schemaを参照する方法?
XMLファイルの設計をしています。 今まではDTDを使っていたのですが、 勉強するとXML SchemaのほうがXMLの規則にそっていたり、 データ型が多かったりして都合が良い面があると学びました。 そこでXML Schemaを使いたいと思うのですが、 XML SchemaとメインのXMLのファイルはどのように関係させたら良いのでしょうか? DTDのときは以下のように書いていたと思います。 <!DOCTYPE root SYSTEM "sample.dtd" > このような記述をXML Schemaのときには、どのように記載するのだろうと 疑問に思いました。 私なりに調べてみたのですが、 XML Schemaの記述方法は、大まかに理解したのですが、 関係方法をどうすれば良いかは、見つけられませんでした。 本を読んでも、書かれているように思えません。 以下の2つのファイルがあった場合、 【element1.xml】は妥当なXML文書だそうですが、 どのように関連付いているのでしょうか? 【element.xs】 <?xml version="1.0" encoding="Shift_JIS" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <!-- 要素宣言 --> <xs:element name="売上高" type="xs:integer" /> </xs:schema> 【element1.xml】 <?xml version="1.0" encoding="Shift_JIS" ?> <売上高>1000</売上高> もしよろしければ、教えて頂けませんか? ぜひご教示お願いいたします。
- XMLの改行方法とリンクの仕方
XMLで改行するにはどうしたらよろしいでしょうか? http://d.hatena.ne.jp/notintrade/20080122/1201016668 http://www1.mahoroba.ne.jp/~mitt/xml/xml/step11.htm こちらのサイトを参考にしていじってみてもうまく行きませんでした また、こちらのサイトでは http://questionbox.jp.msn.com/qa3557875.html <<XMLを改行して表示させたい場合には、私の場合、保存する際にすべての要素ごとに改行を加えたりインデントを加えたりするXSLTを通すという手段を使っています。 やれる手段らしき物が書かれているのですが、どうやればいいのかがわかりません。 他にも簡単な方法で改行できる方法があれば教えて頂けないでしょうか? また http://www6.airnet.ne.jp/manyo/xml/index.html こちらのHPで <a href="***"><img src="***"></a> と <iframe src="***"></iframe> の形式のリンクの方法はわかったのですが <a href="***" target="_blank"><img src="***" border="0"></a> と <iframe src="***" width=120 height=90 frameborder="no" scrolling="no"></iframe> この形式をリンクとして表示する場合どのようにすればよろしいでしょうか?
- 締切済み
- XML
- yokubou666
- 回答数2
- うまく表示されない
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> 大体このように書きました
- 締切済み
- XML
- yokubou666
- 回答数1
- svgをhtmlに埋め込んで使いたい
htmlにsvgを埋め込んで使いたいと思っています。 使い方としては、 http://www.tenman.info/svg/mysample/test1/index.html のように使ってみたいと思います。 svgを埋め込んだhtmlは、とても少ないように感じるのですが、 ブラウザや、環境などで、表示できないケースがあるのではないかと心配で、実行に移せません。 SVGを使う上での問題点.注意点を教えてください。 特に、「こんな場合は、表示できなくなる。」と言う点を知りたいです。
- 複雑?なXMLの取得
- <Results xsi:noNamespaceSchemaLocation="http://dtd.hogehoge.net/schema/affiliate/2.9.3/HogehogeSearchResults.xsd"> - <KeywordsRatingSet keywords="lccm"> <Market>jp</Market> </KeywordsRatingSet> - <ResultSet id="searchResults" numResults="1"> - <Listing rank="1" title="タイトル文タイトル文" description="説明文説明文説明文説明文説明文" siteHost="http:/yahoo.co.jp/"> - <ClickUrl type="body"> http://ypn-c121.hogehoge.net/d/sr/?xargs=5D5G4mtPDhRczZQWvbpYWB4-nOJSZrpcg1w0Hfxo5IL86TdlubqY0Jhlr_s0ZNxb1skhxIMXzfx0f_0wOKOXwpZCVfJEzvFremuyTgGArQU3CDgToY4Bf69v_sEqDFX_xdhAo3VaoujieT1TWzanDKvTgrnVtgFNHAna31tQrpORHucRD937Drc84bRy6MrzafEJWGnhUWSSbE8WqbdU9Z4s5tUjQkseeSYUFwK1N34_ditrFIjI7SITlbefcJO1qsysAW5IkN6KBZKTtqmF9BKF6kH7uts8dSmQ_vMQrnoZncYIApykczFv7msIfdqjZh8oKrPlwlaezSY6cmfm4Nu-6x_pA3ZC2zLJ0g60_pjrzPOjTyQYtujqE-EcDoUiqLCD6r3xMrQKQsgtWPSfCw </ClickUrl> </ResultSet> </Results> 上記のXMLデータから「tittle」・「description」・「siteHost」・「body」の要素を抜き出して表示させろとの指示を受けましたが、ド素人過ぎてXMLにいきなり挑むのは無理でした。 adobe のSpryを利用すればいいよって言われて必死でサンプル調べてサンプルの表示は分かる様になりましたが上記のXMLの抽出がどうやっても出来ずエンジニアさんも帰ってしまい困っております。素人の質問で申し訳ありませんがどなたか教えていただけないでしょうか?
- 携帯サイトにブログRSSを表示させたい
他の方が質問されていますが、解決はしていないようですので質問させて頂きます。 >http://oshiete1.goo.ne.jp/qa4559648.html ▼以下抜粋 >携帯サイトで他サイトのRSSを自動で取得し表示させることはできますか? >無知で申し訳ないのですが、他のブログのRSSから更新情報を取得して自分の携帯サイトに更新タイトルのみを表示させたいのですが、可能でしょうか? >ブログの内容を携帯用に変換することは考えておりません。 >可能であれば参考になるサイトなどご教授ください。 >あくまでもアプリではなくサイト内に情報を表示させたいのです。 >該当するファイルがXHTMLで書かれたモノで在れば、ソースにxmlで記述すれば基本的には大丈夫とは思いますが、携帯電話の実機を所持してませんので確認出来ません。 ▲ここまで ライブドアブログのRSSを携帯サイトに表示させたいと思っています。 「xmlで記述する方法」を教えて頂けませんか。
- getElementsByNameの要素数が取得できません。(ソース付)
よろしくお願いします。 getElementsByNameを使って要素数を取得しようとしています。 しかし、tableタグの数が入っていません。 tableタグになる、nameは無効になるのでしょうか? <html> <head> <title>document.getElementsByName - 指定nameのエレメント全取得</title> </head> <!--指定nameのエレメント全取得のサンプル--> <script type="text/javascript"> function getElements() { var elements = document.getElementsByName("test") alert(elements.length + "個の要素が見つかりました") } </script> </head> <body> <input name="test" type="text"><br> <table name="test"></table><br> <input name="test" type="text"><br> <button onclick="getElements()">getElementsByName('test')</button> </html>
- XMLのネームスペースの指定・変更・削除ができません。。
Javascriptを使ってMathMLの<math></math>にタグを追加したいと考えています。 ファイル名:sample.xhtml ソース: <?xml version="1.0" encoding="Shift_JIS" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <meta http-equiv="content-type" content="text/html;charset=shift_jis" /> <meta http-equiv="content-script-type" content="text/javascript" /> </head> <body> <math id="math" xmlns="http://www.w3.org/1998/Math/MathML"> </math> <br /> <script> function moji(){ var info = document.getElementById("math"); var element = document.createElement("mi"); element.innerHTML= "x"; info.appendChild(element); } </script> <form> <input type = "button" value="x" onclick ="moji()" /> </form> </body> </html> これを実行し、ボタンを押すと"X"は表示されるんですが、 javascript: void window.open("","","").document.write("<textarea cols=80 rows=20>" + document.body.parentNode.innerHTML + "</textarea>") これを使ってテキストに結果を吐き出してみると <math id="math" xmlns="http://www.w3.org/1998/Math/MathML"> <mi xmlns="http://www.w3.org/1999/xhtml">x</mi> </math> このような感じで追加されてしまいます。 ネームスペースの問題だと思うんですが、解決方法がまったく分かりません。 element.removeAttributeNS(null,"xmlns");でネームスペースを削除しようと思いましたが、削除されませんでした。 こういった場合、どうしたらいいでしょうか。 よろしくおねがいします。
- ルート要素ノードが2個ある場合?
xmlからxmlへの変換時に出るエラーについての質問です。 元データとなるxmlが下のような構造をしています。 ルート要素の要素ノードが2つあるものです。 <A1> <B1>aaa</B1> <B2> <C1>bbb</C1> </B2> </A1> <A2>ccc</A2> これをxsltで違う形のxmlに変換するのですが、変換中にエラーが出てしまいます。 (使用しているのはApache xalanです) 現在は元データに、<root>ノードを最上位に加えることにより、変換しているのですが、他の方法で対処できないでしょうか? よろしくお願いいたします。
- RSSについて勉強したい
すごく初歩的で、馬鹿な質問かもしれませんが、どうかご回答をお願いします。 色んなサイトにある、新着ニュースや新着記事などが自動的に更新されるRSSを、自分で作成し自作のHPでニュースなどを自動的に更新させたいのですが、RSSに関してまったくの無知です。 色んなサイトを見て、なんとなくどういうものかはわかったような気がするのですが、概要がわからず何から勉強すれば良いかさえ分かりません。 持ってる知識は、HTML・CSS・JavaScriptがすこしです。 どなたか、分かりやすく概要や作成方法、なにを勉強すれば良いか、など教えてください。 よろしくお願いします。
- 締切済み
- XML
- hyper_natu
- 回答数2
- スマートなxsltの記述方法
xml→xmlを行うxsltの記述方法で質問があります。 元のxmlの例を下に示します。 <?xml version="1.0" encoding="Shift_JIS" ?> <root> <A1> <B1> <DATA1>aaa</DATA1> <DATA2>bbb</DATA2> </B1> </A1> <A2> <DATA3>ccc</DATA3> <DATA4>ddd</DATA4> <B2> <DATA5>eee</DATA5> <C1> <DATA6>fff</DATA6> </C1> <DATA7>ggg</DATA7> </B2> </A2> <DATA8>hhh</DATA8> </root> (実際はDATA1,DATA2のような規則的な要素名ではありません) 変換後のxmlとしては <root> <DATA1>aaa</DATA1> <DATA2>bbb</DATA2> ・ ・ ・ <DATA8>hhh</DATA8> </root> のように、値を持っている要素だけを、ルートノードの下に記述したものが欲しいのです。 作った物としては、 <xsl:template match="DATA1" > <xsl:copy> <xsl:value-of select="." /> </xsl:copy> </xsl:template> このようなtemplateをDATA1-8まで記述するものです。 何か簡潔な記述方法はないでしょうか? よろしくお願いいたします。
- 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>
- XSLTについて
何方かご存知でしたら、ご教授下さい。 こんなXMLがあります。 <book> <ジャンプ>200円</ジャンプ> <マガジン>210円</マガジン> <サンデー>200円</サンデー> : :(可変) </book> 上記のXMLをHTMLでこのように表示します。 <table> <tr> <td>ジャンプ</td> <td>200円</td> </tr> <tr> <td>マガジン</td> <td>210円</td> </tr> <tr> <td>サンデー</td> <td>200円</td> </tr> </table> <book>の子ノードは可変で、どんな要素名がくるかわかりません。 このときにどのようなXSLTを作成すればよいでしょうか? 宜しくお願い致します。
- org.xml.sax.SAXParseException: The XML declaration must end with "?>"について.
org.xml.sax.SAXParseException: The XML declaration must end with "?>". このエラーが発生してしまいました。 対処の方法が分からずに困っています。 分かる方、回答をお願いします。
- 複数のxmlファイルの合体
複数のxmlファイルの合体 XML、JavaScriptのど素人です。諸先輩方のアドバイスを乞いたくよろしくお願いいたします。 XML本のサンプルプログラムで、XML/XSL/JavaScript(html内に記述されている)を用いた 検索プログラムを以下の理由で改良したいと考えています。 <books> <book> <data1>データ</data1> <data2>データ</data2> <data3>データ</data3> </book> </books> の構造を持つxmlファイルがあったとして データの更新が頻繁に行われるのは<data3>要素だけなので、 <books> <book> <data1>データ</data1> <data2>データ</data2> </book> </books> -----xml1 <books> <book> <data3>データ</data3> </book> </books> -----xml2 のように2ファイルに分離し、 JavaScriptの検索プログラムで、<data1>~<data3>要素から条件にあったデータを抽出したいのですが どうすればいいのでしょうか?よろしくお願いします。
- DOCUMENT行の書き出しについて
VC++にてmsxml3.dllをインポートし MSXML2インタフェースで以下の2行目を書出したいのですが 方法を知っている方いませんか? <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE DATAINFO SYSTEM "BED0001.DTD"> よろしくお願いします。
- 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</分> </アルバム>
- 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に関しても初心者なので、できるだけわかりやすい言葉で説明していただけるとありがたいです。
- XMLHTTPを用いて認証が必要なURLから情報をダウンロードする
■目的 XMLHTTPを使用し、ebank銀行の自分の口座の入出金明細情報をダウンロードできるようにしたいのですが、 ■問題 直接入出金明細のページのURLを指定すると、 "当行所定の時間が経過したか、当行で未対応の操作が行われたため、お取引を続けることができません。再度ログインの上、お取引ください"と表示されてしまうため、情報を習得することができません。 そのため一度ログインフォームのページでログインをし、 ログイン後に目的のページに移動しようとおもうのですが、 ログインフォームのページのURLを指定し、ログインするまでは できたのですが、そこからどのように目的のページに移動すればよいのかが分かりません。 以下のコードでログインするところまでは行けました。 Dim XMLHTTP Set XMLHTTP = CreateObject("Microsoft.XMLHTTP")XMLHTTP.Open "GET", "URL", False, "ID", "PASS" XMLHTTP.Send ↑でログインした後にSleepをはさんで、再度.Openで目的のURLを 入れ、.Sendすればいいのかと思ったのですが、それではできませんでした。 ■希望 解説されているサイトなどご存じであれば教えていただきたく、 投稿させていただきました。 また、もしこのような場合、XMLHTTPの利用が適さないのであれば、 どの技術を調べたら良いか教えていただければ幸いです。(Webbrowserコントロールを使用せず、情報を取得したいと考えております)
- ベストアンサー
- XML
- delcder0d3
- 回答数2