【XML】xmlns, XSLT, ..
[2ch|▼Menu]
453:デフォルトの名無しさん
07/04/26 23:26:31
>444
そーゆー、XMLの構造を認識しなければいけないけど、やってること自体は大したこと無い、という領域こそ、XSLT でさくっと済ますべきところだと思う。

>447 も書いてるけど特定が厳しいルールほど優先度が高いから

<xsl:template match="@*|node()">
 <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
  </xsl:copy>
</xsl:template>
<xsl:template match="/x:abc/y:def/@hoge">
  <xsl:attribute name="hoge">foo</xsl:attribute><!-- やりたいことに置き換える-->
</xsl:template>

で、いいんじゃねーの?

454:デフォルトの名無しさん
07/04/26 23:29:43
XML-FOってどこまで対応してるんだろうか。
PDFは行けるみたいだけどWinHelpとかは厳しい?

455:デフォルトの名無しさん
07/04/27 00:22:29
XSL-FOは中間フォーマットそのものの仕様。変換への対応をしなけらばならないのはアプリケーション側。

XSL-FO自体は印刷物用途に耐えられるほどの仕様。PDF位にしか変換できないのはアプリケーション側の実装の都合によるもの。

よってその質問は的を射てない。

456:デフォルトの名無しさん
07/04/27 00:27:59
つまり実装するには無駄な仕様が多いってことだな。

457:デフォルトの名無しさん
07/04/27 01:56:01
>>451->>452
サンプルとは、この本のです
10日でおぼえるXML入門教室 第2版 (単行本)
山田 祥寛 (著)

>>ブラウザ実装のjavascriptでxml扱う場合はxmlの話じゃなくてブラウザのjavascriptのお話じゃないか?
たぶん、そうだと思います・・・・


458:デフォルトの名無しさん
07/04/27 02:08:40
>>ブラウザ実装のjavascriptでxml扱う場合はxmlの話じゃなくてブラウザのjavascriptのお話じゃないか?
もし、これだとしたら、どうすれば宜しいでしょうか?

459:デフォルトの名無しさん
07/04/27 02:11:24
>>458
その行の下に書いてあるじゃん。

460:デフォルトの名無しさん
07/05/04 02:14:56
質問です。

↓のRelaxNG文書のrefを展開した形はどのようになるのでしょうか?


<?xml version="1.0" ?>

<grammar
xmlns="URLリンク(relaxng.org)
datatypeLibrary="URLリンク(www.w3.org)

<start>
<ref name="hoge"/>
</start>

<define name="hoge">
<element name="hoge">
<choice>
<ref name="foo"/>
<ref name="hoge"/>
</choice>
</element>
</define>

<define name="foo">
<element name="foo">
<text/>
</element>
</define>
</grammar>


461:デフォルトの名無しさん
07/05/04 09:14:01
再帰的な構造になる

462:460
07/05/04 10:28:15
refを展開して、elementだけで書くことができますよね?

463:デフォルトの名無しさん
07/05/04 12:42:38
理論上は書ける。無限の長さになるが。

464:デフォルトの名無しさん
07/05/07 19:50:38
しろんぼが規格作るとどうしてなんでもぐちゃぐちゃ奇奇怪怪になるの?

465:デフォルトの名無しさん
07/05/07 21:55:05
くろんぼの規格よりはましじゃ

466:デフォルトの名無しさん
07/05/10 21:22:13
保守点検

467:デフォルトの名無しさん
07/05/11 14:55:34
多分初歩的な質問だけど、いい感じの答えが見つからんのでき尋ねさせてもらうよ。

サーバにXMLファイルを置いて、chmod 600にした場合、同じサーバにおいてあるプログラムは基本的にXMLの読みができるよな。
んでもブラウザのジャヴァスクからアクセスしようとすると、クライアント側で全ての処理が行われるからXMLにアクセスできなくなっちゃう。
今んとこXMLHTTP使ってデータ取得してるんだけど、できることならXMLのデータをユーザ以外が読めないようにしたいわけなんだわ。
ジャヴァあたりのサーブレットが標準ぽいけど、それやると使えるサーバが少し限られてるからできるだけ避けたいんだよね。
誰かこれやる方法しってる人いない?

468:デフォルトの名無しさん
07/05/11 15:34:25
スレの趣旨と違うだろ・・

469:デフォルトの名無しさん
07/05/14 02:36:26
XML(XLS)テーブル表示を作っています。
alldata.xmlでテーブルを表示し、そのリンクがクリックされると、onedata.xmlを表示するという単純なものです。
alldata.xmlはDTDが定義され(alldata.dtd)、その中でENTITYとして、onedata.xmlを持っています。
データを増やすときは、onedata.xml、twodata.xml・・・のようにして対応するENTITYを作ってやれば、
リンク先のページができると同時に、自動的ににalldata.xmlテーブル表示が拡張される、という仕組みを考えています。

実際に作り始め、alldata.xmlの表示はできたのですが、
リンク先のonedata.xmlを作成し(その中でonedata.dtdも定義)、allldata.xmlを表示しようとすると、
「DOCTYPE 宣言は複数行えません」と出てきてしまいます。
onedata.xmlからDTDを削除すれば、alldata.xmlは表示されるのですが、今度はonedata.xmlの表示が真っ白・・・。

この場合、どうやればalldata.xmlとonedata.xmlを両立できますか?
(特に複雑なデータ構造ではないと思っていますので、XML使い始めて早々にこんなところで躓くとは・・・。)


470:デフォルトの名無しさん
07/05/16 16:21:19
javaで入力されたxmlにxsdを使用して検証を行おうとしています。

xsdは2種類あり(a.xsd, b.xsd)、a.xsdからb.xsdをincludeしています。
SchemaFactory#newSchema(new Source[]{a.xsdのソース, b.xsdのソース});
でSchemaを取得し、Schema#newValidator()でValidatorを取得しています。
取得できたValidatorで入力されたxmlの検証を行うと以下の例外が発生します。
org.xml.sax.SAXParseException: src-resolve: Cannot resolve the name 'b.xsdで宣言されている要素名' to a(n) 'element declaration' component.

newSchema(new Source[]{b.xsd, a.xsd})でa.xsdとb.xsdの順番を入れ替えると今度は
org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'xmlのルート要素名'.

newSchema(a.xsdのみ)とすると
org.xml.sax.SAXParseException: src-resolve: Cannot resolve the name 'b.xsdで宣言されている要素名' to a(n) 'element declaration' component.

xsdが複数になってしまった場合の検証方法を教えていただけないでしょうか。


471:デフォルトの名無しさん
07/05/19 16:45:56
XMLとXSLでページを作っています。
XSLでは、さらに他のXMLのデータをdatafldで表示しています。

おそらく、内部ではXML→XSL→他XMLの順に読み込まれていると思いますが、
一旦XSLが表示された後、データバインドするときにリフレッシュが走ってしまいます。

画面をリフレッシュすることなくデータバインドさせたいのですが、何か方法はありますでしょうか?

472:471
07/05/19 18:52:54
自己解決した。
画面をひとつの巨大なテーブルで作っていて、そのテーブルの最後にデータバインドしていたのがいけなかった。
データバインドをそのテーブルの外に出したらあっさりと解決。


473:デフォルトの名無しさん
07/05/20 00:41:04
みんなXMLで難しい事やってるなぁ・・・、まじでついていけないよ。

ところで、UMLとXMIとコード生成の話なんだけど、XMIってクラスの雛形みたいな
ものや継承関係・属性なんかは網羅できているけど、逆にシーケンス図やアクティビティ図
みたいな動的な図に関しては規定が無いようなんだけど。

業界標準みたいなもの無いんですかね、誰か知ってたら教えてください。

474:デフォルトの名無しさん
07/05/20 15:53:20
Windows XP Home EditionでIISを使い
サーバーサイドでXMLプログラミングを行いたいのですが
調べたところPrpfessionalにアップデートしなとできないとの
事でしたが、Windows XP Home Editionではできないのでしょうか?

475:デフォルトの名無しさん
07/05/21 04:06:53
>>474
Home Edition じゃ IIS 使えないんだっけ?
Windows コンポーネントの追加と削除で IIS がなければそうかも。

476:デフォルトの名無しさん
07/05/21 11:14:13
XPHomeにアプリケーションサーバ入れてだれが使うんだよ?
IISのクライアント版は制限つきでXPpro,鯖2kだな。

てかわざわざ、IISなんて使うって事は結局ASPってことでしょ、スレチじゃね?
鯖立てたいだけならlinuxでhttpd走らせるよろし。
もし、その程度ができんなら鯖には手を出すな。

477:474
07/05/21 16:10:35
ないので、できないみたいですね

入門書ではASPを使う事になっていました

478:デフォルトの名無しさん
07/06/01 01:41:27
↓のやり方を真似て、データ構造を分割したんだが、
URLリンク(www.atmarkit.co.jp)

<xsl:for-each select="document(books/book/@href)/book">がFireFoxで動かネェ。
関数の引数を↓のようにシングルクォートで囲めばFireFoxではOKだが、今度はIEがダメだァ・・・
<xsl:for-each select="document('books/book/@href')/book">



479:デフォルトの名無しさん
07/06/04 23:17:51
そもそもFirefoxって外部のXMLって読み込めないんじゃないか?

480:デフォルトの名無しさん
07/06/05 00:56:30
XSLTにCSSを適用したんだが、font-familyだけ効かないのはなぜ?
サイズも色も変更できるのに・・・。

481:デフォルトの名無しさん
07/06/08 15:35:29
TCP/IP 上の通信プロトコルで、階層構造をもつテキストデータをやりとりしたいのだが、
この目的のために XML よりもよい選択肢はあるかな?

482:デフォルトの名無しさん
07/06/08 18:11:59
S式

483:デフォルトの名無しさん
07/06/08 18:13:56
【ヤパーリ】XMLをS式に置換えていくスレ【LISP最強】
スレリンク(tech板)

484:デフォルトの名無しさん
07/06/10 07:23:33
>>481
その階層構造が属性付き文章の様な陳述文章ならxmlベースの直列化形式で
良いと思うがそうじゃなきゃそれ以外でなんでも良い。

つーか、総称符合化が理解できんならxml使い方間違えるに10000ペソ賭けるぜ
ruby圏でxml批判してるやつらとかさ。
SGMLの時におなじこと聞いたぜ。


485:デフォルトの名無しさん
07/06/10 09:59:29
総称符合化って何だ?
ググっても一件も引っかからないぜ

486:デフォルトの名無しさん
07/06/10 11:38:36
汎用符号化?

487:デフォルトの名無しさん
07/06/10 22:57:30
【IT】サイト上の財務諸表、専用言語の使用を[07/06/10]
スレリンク(bizplus板)

XMLがこんなに普及するとはなぁ

488:デフォルトの名無しさん
07/06/11 16:28:01
普及すると面白いかも
あ、義務なのか
ウホッ

489:デフォルトの名無しさん
07/06/16 14:59:50
XML文書から必要な部分をHTML化したいと思いまして苦戦しております。
XSLTを書いて、ブラウザ上でXMLを表示させることは可能ですが、
これがXMLからのHTML化ということなのでしょうか?

ソースを見てたらXML文書が全部見れてしまいます。
ソースも必要なところだけ表示させてみたいのですが・・・。

490:デフォルトの名無しさん
07/06/16 15:00:14
あげ

491:デフォルトの名無しさん
07/06/16 15:01:45
>>489
XSLTでXMLからXHTMLに変換するんだろうが。

492:デフォルトの名無しさん
07/06/16 16:04:51
XMLソースを見せたくないなら
サーバで(X)HTML化するスクリプトでも動かせ

493:デフォルトの名無しさん
07/06/16 19:22:02
サーバに変換後のHTMLだけUPすれば万事解決。

494:デフォルトの名無しさん
07/06/16 22:42:22
むしろ>>493の方が望ましい。
現在XSLTのクライアントサイド駆動での動かし方としては
RSSのXHTML表示ぐらいなもんだ。

495:489
07/06/17 22:03:57
>>491-494
ご回答ありがとうございました。

ローカルでXSLTファイルにXML文書を
D&DすればHTML出力(生成)できるものなのでしょうか?

496:デフォルトの名無しさん
07/06/18 23:19:55
(#^ω^)ピキピキ

497:デフォルトの名無しさん
07/06/19 00:45:22
>>495
なんかもう質問がしょーもなさすぎるので細かいところは勝手にしらべろ。
結論だけ教えてやろう。 できる。

498:489
07/06/19 11:28:26
>>497
出来ることが分かっただけでもうれしいです。
ありがとうございました。

499:デフォルトの名無しさん
07/06/19 17:17:29
>>497
たしかにできるっちゃ出来るけどw
スタイルシートとソース文章をトランスフォーマに渡すスクリプト書かなきゃ。

>>498 まあ、がんばってここに来ないようにしろ。

500:デフォルトの名無しさん
07/06/19 22:58:03
スクリプト書くの面倒ならApache Antのstyleタスクで終わらせてもOK

501:デフォルトの名無しさん
07/06/20 00:40:25
msxsl

502:デフォルトの名無しさん
07/06/20 02:00:15
MSのxml周りの実装・・・

503:デフォルトの名無しさん
07/06/20 10:12:03
高速な XML DOM パーサには何がある?Xerces でいいと思う?

504:デフォルトの名無しさん
07/06/20 11:44:48
使ってる言語は何よ?

505:デフォルトの名無しさん
07/06/20 11:50:09
日本語

506:デフォルトの名無しさん
07/06/20 12:59:44
C++ です。

507:デフォルトの名無しさん
07/06/20 13:30:55
C++ならどれ使っても一緒だと思うぞw
実装にexpat使ってるライブラリが早いとかその程度の違いでしかないと思う。

508:デフォルトの名無しさん
07/06/20 14:13:37
そうですか。ありがとう。

509:デフォルトの名無しさん
07/06/20 16:21:07
Xerces-C++ を使うと、MSXML と名前が衝突するね。DOMDocument とか。
わざわざ xerces:: を付けるのも面倒だし、using namespace xerces しても解決しないし、
何かいい方法はありませんですか?

510:デフォルトの名無しさん
07/06/20 17:53:11
それくらい付ければいいじゃん。
javaで限定名がぶつかる時、完全修飾名で書くとC++の比じゃないぞ。
それにxml関係ない。

511:デフォルトの名無しさん
07/06/20 20:45:57
まあそのための名前空間だし
ところで、MSXMLも#importで読み込めば名前空間MSXML2に入ったと思うが

512:デフォルトの名無しさん
07/06/21 00:00:34
javascriptで作成したxmlファイルに対してencodingを指定したいんだけど
どうやってやるの?
Javaでのやり方が分かるんだけど・・・

513:デフォルトの名無しさん
07/06/21 01:28:34
javascriptは入出力の制御は出来ん。
cgiに渡してそっちでcharset見てエンコードするしかない。

514:デフォルトの名無しさん
07/06/21 12:36:36
method=“xml”を”html”にして、<books>および<book>のテンプレートを次の出力が得られるように変更せよmatch="/", match="books", match="book",
<HTML><HEAD></HEAD><BODY>
<UL>
<LI>本一冊を選びました</LI>
<LI>本一冊を選びました</LI>
<LI>本一冊を選びました</LI>
</UL>
</BODY></HTML>
上記に出力するには下記を用いて修正するみたいです
<?xml version="1.0" encoding="shift_JIS" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="URLリンク(www.w3.org)
<xsl:output method="xml" encoding="shift_JIS"/>
<!-- 文書 -->
<xsl:template match="/">
<root>
<xsl:apply-templates select="book"/>
</root>
</xsl:template>
<!-- 書物リスト -->
<xsl:template match="book">
<book>
書物リストを処理しました。
<xsl:apply-templates select="book"/>
</book>
</xsl:template>
<!-- 書物 -->
<xsl:template match="book">
<book>書物を一冊処理しました。</book>
</xsl:template>
</xsl:stylesheet>
どう修正すれば良いのでしょうか。

515:デフォルトの名無しさん
07/06/21 14:10:32
そういやXMLの宿題スレがないよね。
かなり専門的な世界だから別れてても良いけど需要ないだろうね。

516:デフォルトの名無しさん
07/06/21 15:03:17
宿題一つ見ても「普通にスクリプト書いた方が早くないか?」感が漂う。

517:デフォルトの名無しさん
07/06/21 15:12:33
まあしかしこの程度のことを聞かなきゃできないようじゃ
一から勉強しなおした方がいいような

518:デフォルトの名無しさん
07/06/21 15:38:52
windows環境にはろくなスクリプトエンジンがなくてだね・・・。
WSH?何を言ってるんだいチミは?

519:デフォルトの名無しさん
07/06/21 16:46:28
         ∧_∧   ┌──────
       ◯( ´∀` )◯ < 僕は、PowerShellちゃん!
        \    /  └──────
       _/ __ \_
      (_/   \_)
           lll

520:デフォルトの名無しさん
07/06/21 17:22:20
PowerShell、RCとれたのか。やっぱWindows PowerToys シリーズ?

つか、MSは実装が信用できないw
特にMSXMLとかTrident・・・.netつかってる連中はよくあんな糞実装使ってられるよ。
tasman結構まともなのに。

521:デフォルトの名無しさん
07/06/21 20:52:02
.NETは前者二つに比べて比較的マシだがな

522:512
07/06/21 23:00:19
>513
まじですか?
困ったなー。

523:デフォルトの名無しさん
07/06/21 23:26:29
>>521
やたら変な独自拡張多くない?

>>521
つーか常識、クライアントサイドが勝手にディスク読み書きしたら危ないだろ?

524:デフォルトの名無しさん
07/06/23 12:43:14
独自拡張が多いと糞実装なのか……?

525:デフォルトの名無しさん
07/06/23 14:13:28
読み込んだXMLからルートの要素名のみを取得したい場合って
Domでルート要素.getElementNameより
Saxで1回目のstartElementで取得するほうがいいよね?

526:デフォルトの名無しさん
07/06/23 15:50:30
いいか悪いかはしらんが、それのほうが処理量少ないことは明らか

527:デフォルトの名無しさん
07/06/23 16:04:17
始めまして、初心者です。
どうしても解らないので教えてもらいたいです。

XMLファイル内容を、XSLを使って表示することは出来ました。
それなのにXML内にある改行文字のところが改行されていません。
どうしたら改行を表示できるのでしょうか?

528:デフォルトの名無しさん
07/06/23 17:38:12
>>525
何の効果を期待してるか知らんがメモリの消費量が少ない、か演算量が少ない、
ってんならストーリーム(pull)型も良い。

DOMは結果を保持する必要がある場合、
pushは最終的には文書のすべてについて処理する必要がある場合。
pullはアプリケーション側で処理タイミングを制御したい場合。
xpathはランダムアクセスしたい場合。
JDOMはpullとxpathの性質を併せ持つと言った感じ。

こんな感じで使い分ければいいんじゃないかい?
すべての要求を同時に満たすのは難しいだろうね。

#俺は自前のAPI持ってるから可能だけど。


>>527
空白の扱いはアプリケーション次第。確実にやりたいならまず変換先に空白を保持して
任意の空白の扱いを定義可能なスタイルシートを埋め込む。
意味が分からんなら仕様書読み直すかHTMLで吐け。


529:527
07/06/23 17:57:32
>>528
すみません、良くわからないのでソースをあげます。
したいことは<br/>の場所で改行をすることです。
お願いします。

diary2000.xml
======================================================
<全体>
<年月>2007年6月24日</年月>
<日記>今日は図書館に行った。<br/>本を2冊借りた</日記>
</全体>
======================================================

template.xsl
======================================================
<xsl:template match="全体">
<table border="3">
<tr>
<td><xsl:value-of select="年月" /></td>
<td><xsl:value-of select="日記" /></td>
</tr>
</table>
</xsl:template>
======================================================

530:527
07/06/23 19:31:07
なんどもすみません。
URLリンク(oshiete1.goo.ne.jp)を参考に。

diary2000.xml
<日記>今日は図書館に行った。<BR/>本を2冊借りた</日記>

template.xsl
<td><xsl:value-of select="日記" disable-output-escaping="yes"/></td>

としましたが・・・、<br/>と表示されます・・・。
なにが違うのでしょう・・・。

531:527
07/06/23 19:42:18
あ・・・、書き間違ってる・・・。
530はなしです。

diary2000.xml
<日記>今日は図書館に行った。<br />本を2冊借りた</日記>

template.xsl
<td><xsl:value-of select="日記" disable-output-escaping="yes"/></td>

が正しいです。

532:527
07/06/23 19:44:54
あぁ・・・、そゆことか・・・
&lt;BR/&gt;は勝手に、<br/>に変換されるのですね・・・。

<日記>今日は図書館に行った&lt;BR/&gt;本を2冊借りた</日記>

が正しいです。

533:デフォルトの名無しさん
07/06/23 21:06:54
>>528 じゃないけど、<xsl:value-of select="日記" /> で拾えるのは
``今日は図書館に行った。'' と ``本を2冊借りた'' を連結した文字列。
もっといい別解があるだろうけどとりあえず:

<xsl:stylesheet
xmlns:xsl="URLリンク(www.w3.org)
version="1.0"
>
<xsl:output method="html" encoding="UTF-8" />

<xsl:template match="全体">
<table border="3">
<tr><xsl:apply-templates /></tr>
</table>
</xsl:template>

<xsl:template match="年月">
<td><xsl:apply-templates /></td>
</xsl:template>

<xsl:template match="日記">
<td><xsl:apply-templates /></td>
</xsl:template>

<xsl:template match="br">
<br />
</xsl:template>

</xsl:stylesheet>

遠回りでも一度ちゃんとXSLT勉強したほうがいいかもしれない。
ハマリどころが結構多いから、下手すると時間めちゃくちゃ食うよ。

534:デフォルトの名無しさん
07/06/23 23:59:41
Cでなんとなくlibxmlを使ってプログラムを書いているのですが、
2つのXMLを「接ぎ木」したい場合にどうしたらいいのかよくわかりません。

B-B' と A-C-D みたいな構造のXMLがあったときに前者を後者に接ぎ木して
|-B'' |-B

A-C-D
|-B-B'
|-B''

みたいな構造のXMLを生成したいのです。あ、単に接ぎ木の操作をどうしたいいか
ということなんですが。

535:527
07/06/24 03:04:42
>>533さん、お返事ありがとうございます。
あげたソースは短く解りやすくした例のものでした。
本物は表の連結などをしていて、形も固定のものになっています。

なのであげたものから、外れないようにしたいのです。
そうするのは難しいのでしょうか?

それと参考になるサイトがあれば教えてもらいたいです。
よろしく、おねがいします。

536:デフォルトの名無しさん
07/06/27 22:55:57
XML Webサービスで何が凄いのか良く分かりません。

537:デフォルトの名無しさん
07/06/27 23:03:11
マジレスして良いのか?

変なふうに流行ってるだけだからそんなageるほどの事でもないな。
XMLは直列化形式として採用されてるだけで、直接技術的に関係はない。
そもそも、その技術がすでに枯れきっててなんの目新しいものもない。

Ajaxに限った話じゃない。

538:デフォルトの名無しさん
07/06/27 23:10:00
ただ、決まったライブラリを使えば楽にネットワーク越しにやりとりできるというだけで、
ネットワーク越しに色々処理できるのが時代の進歩を感じさせる、すごいねえ、

みたいな感じ。

539:デフォルトの名無しさん
07/06/29 00:38:39
そうなんだけど、「じゃあ、Webサーバ無しでやってくれ」とか
無茶言う上司がいるのはお約束。

540:デフォルトの名無しさん
07/06/29 01:05:11
無理に決まってんだろwプギャー

といって勇者として語り次がれてみるとか。

541:デフォルトの名無しさん
07/06/29 01:55:43
echoサーバでやるよ

542:デフォルトの名無しさん
07/06/30 17:34:12
止まってるついでにネタ投下するけどXMLエディタは何使ってる?
シェアは格が違うのでシェア以外で・・・。

543:デフォルトの名無しさん
07/06/30 17:38:03
URLリンク(www.excite.co.jp)
以下文章を上記翻訳サイトにて中→日にせよ

スゲиシギゝ,ザァ,ユЮ.
θイ,ゎモモモモマいデ.
びデた,ゝС,さーモモモモデゝねг

544:デフォルトの名無しさん
07/07/17 10:30:59
検索しても見つからない・・ここでいいのか分からないが、質問させておくれ

<emp>
 <name></name>
 <salary></salary>
 <age></age>
<emp>

※<age>要素はあったりなかったりする

↑こんな感じのがつらなってるテーブルから、
<age>要素のない<emp>だけを取り出したいんだが、どう書けばいいのか分からないorz

//employees[!age]  //employees[age=null]  //employees/!age ・・・orz

545:デフォルトの名無しさん
07/07/17 10:43:44
ごめん。出直してくる
//employees[not(age)]

546:デフォルトの名無しさん
07/07/20 11:11:38
XPathインジェクションってありますか?
あるとすれば、サニタイズはどういうロジックでやればよいでしょうか?


547:デフォルトの名無しさん
07/07/20 15:54:09
それはXPathエンジンかアプリの実装の問題だろ。
ていうかググればいくらでも出てくるわけだが?

インジェクション対策なんてどれも同じ、外から入力される場合は不適切な文字は受け付けないorエスケープする。

548:デフォルトの名無しさん
07/07/20 23:45:44
URLリンク(www.ibm.com)

549:デフォルトの名無しさん
07/07/21 00:13:33
>>547
不適切な文字は受け付けないと書くよりも、
適切な文字だけを受け付けると書くようにしたほうがいいと思う。

そのほうがホワイトリスト方式を連想しやすいはず。

550:デフォルトの名無しさん
07/07/21 16:46:42
普通は不適切な文字のほうが圧倒的に少ないだろ。

551:デフォルトの名無しさん
07/07/22 00:48:22
だからどうした?

552:デフォルトの名無しさん
07/07/23 10:19:19
併用が望ましい。

553:デフォルトの名無しさん
07/07/27 10:18:45
下記のXMLファイルから、XPATHを使用して「inst_gif1」を取得したくて下記を実行したのですが、
「inst_gif1」と「inst_gif2」の両方が取れてしまいます。
正しいXPATHを教えていただけないでしょうか?

XPATH = /sqlMap[select = 'SELECT']/select/@id

<?xml version="1.0" encoding="Shift_JIS" ?>
<sqlMap namespace="xxx">
<select id="inst_gif1" >SELECT</select>
<select id="inst_gif2" >UPDATE</select>
</sqlMap>


554:デフォルトの名無しさん
07/07/27 10:22:27
/sqlMap/select[text() = 'SELECT']/@id

555:デフォルトの名無しさん
07/07/27 10:36:25
>>554
うおおおおお。迅速な回答ありがとうございます。

556:デフォルトの名無しさん
07/07/28 11:04:25
sqlMap要素をフィルタリングしてもどうしようもない。

557:デフォルトの名無しさん
07/07/28 20:38:36
DBが文字のバイト単位で決められているから、データ交換でXMLを使用する場合、文字データをバイト数単位で制限したいんだけど、xml schemaでそういう制約はできないですよね?

558:名無しさん@そうだ選挙に行こう
07/07/29 01:26:03
レイヤが違うと思う、と仕様を読まずに言ってみる

559:デフォルトの名無しさん
07/07/30 01:07:34
文字数で制約か、hexBinary,base64Binaryに変換しておいてバイト数で制約。

560:デフォルトの名無しさん
07/07/30 07:37:29
unicodeをそのままバイト単位で制限するとコードポインタの途中でブッタ切るw

561:デフォルトの名無しさん
07/07/30 10:30:33
っ UTF-32

562:デフォルトの名無しさん
07/07/30 21:33:19
文字数単位でしていしないでバイト単位で指定するDBなんて、今時存在するのか?

563:デフォルトの名無しさん
07/07/30 23:12:42
えーっと、どんな資料を見てそう言っているの?

564:デフォルトの名無しさん
07/07/31 22:07:06
557だけど。
最近は文字数指定がでふぉなの?
postgresql,UTF8でつかったときは文字数?だったけど。
ちなみに今はOracleです。

565:デフォルトの名無しさん
07/08/01 01:15:59
DB の文字コードが Unicode 系エンコーディングなら大抵文字数。
それ以外なら、バイト数が多いと思う。
>>564
Oracle を Unicode で使ったこと無いんだが、
多分、文字コードの設定次第だろ。


566:デフォルトの名無しさん
07/08/02 18:00:09
VB6でn階層のXML書込みをしたいのですけど 参考になるコードなど
りませんでしょうか?お願いいたします。再帰する関数になると思います。
(MSXML使用)

567:デフォルトの名無しさん
07/08/02 20:50:34
>>566
再帰関数書いたことありますか?
もう少し詳しく自分の状況は書けますか?
少なくとも↓のXMLをMSXMLで書き出すぐらいのコーディングはできますか?
<root attribute="value"><child-elem/></root>

568:デフォルトの名無しさん
07/08/03 02:04:53
MSXMLてDOMの書き出しサポートしてないの?

569:デフォルトの名無しさん
07/08/05 20:09:20
最低限、DOMを文字列型に直すのは用意されてたと思うよ。

570:デフォルトの名無しさん
07/08/06 11:01:45
>>566
読込は再帰処理でしていますが、サンプルコードを改造したものです
書込みはスキーマが決まっているXMLならできますが、さすがに
状況によって階層がまちまちな書き出し処理は再帰関数を使って標準化しないと
無理そうですので。

571:デフォルトの名無しさん
07/08/06 16:37:35
再帰すらろくにできないならプッシュ型パーサに
XMLストリーム渡してハンドリングしながら順次書き出すのが一番楽だね。

書き出しならDOMかE4X、読み出しならプル型かXPathってところか。
XPathは構文特殊だがハイブリッド型の実装って少ないからなぁ。

特殊な事するならパーサ部分から自前でした方が早いね。

572:デフォルトの名無しさん
07/08/06 17:16:00
>>571
回答ありがとうございます。ただその回答内容を理解できる知識があれば
こんな質問はしていないと思います。学生じゃないのでXMLについて勉強して
なんてちんたらやってられないのが現実です。勉強してもだれもお金
くれないですからね。読込はネットを見てたら誰かが書いてたのでそれを
参考にして作りました。書込み処理もあったような気がしたんですが、
チェックしとけばよかったですね、後悔先に立たず。とりあえず先人が
やってることを真似、使いまわしすればできるのであって、
極端に言うとプログラム作るのに、コンパイラから作成するのは時間が
もったいないですから。VBが2万円ならそっちの方が効率がよい。
XML読込処理も社長が普通にTEXT読込してやろうとしてたので
(MSXMLを知らなかったみたい)
そりゃあんさん無理でっせということでぼくが作りましたが。

573:デフォルトの名無しさん
07/08/06 18:38:39
仕事でPGする奴ってのはこういう考え方が普通なんだな。オレの周りもそうだし。
理解しなきゃいけないんだろうな…。

574:デフォルトの名無しさん
07/08/06 19:30:52
仕事だったらこんな愚痴だけの長文書いてる暇はないだろ。

575:デフォルトの名無しさん
07/08/06 19:48:34
>>572
> XML読込処理も社長が普通にTEXT読込してやろうとしてたので
ということは、
1. ファイルとして保存されたXML文書がまず存在する
2. それをMSXMLで読み込んでDOMに変換する
3. 何らかの操作をDOMに加える
4. そのDOMをまたXML文書としてファイルに書き出す
こういう処理がしたいということ?だったら
URLリンク(msdn2.microsoft.com)

>>573
ピンキリ。

576:デフォルトの名無しさん
07/08/06 21:58:05
>>573
ふつうじゃないよ。みんな考え方違うよ。
そもそも>>572の会社自体が相当な問題だと思う。

577:デフォルトの名無しさん
07/08/07 03:28:46
下請け辺りの土方なんじゃない?

XMLの読み書きだけなら巨大になりがちなXML APIリファレンス理解する
間にXMLの概念勉強する暇があると思うんだが。
XML API理解してもXML理解してないと使えないよ?
多分DOMで改行しようしてハマルのがオチだと思う。

XML理解する気もAPIも使えんなら初めから他の形式使った方が時間の無駄がないよ。

多分元々、学術的・技術的な問題を解決するための
SGML/XMLなのにただのデータフォーマットだと思って使おうとする奴がこういう羽目になるんだろうな。

578:デフォルトの名無しさん
07/08/07 04:57:45
XML は、ただのデータフォーマットだろ

579:デフォルトの名無しさん
07/08/07 07:42:46
SGML/XMLはdocuments

580:sage
07/08/07 14:02:23
一応できたみたい 参考にならなかったけど ありがとう

581:デフォルトの名無しさん
07/08/07 14:09:38
そもそも再帰も出来ん奴が参考になるスレじゃないだろ。

582:sage
07/08/08 09:45:27
いや、だから、できたいうとるでしょ。プログラミングって要は知識よりも
CREATIVEな思考能力の方が重要ってことかな。まあIT用語を多発されて
さぱりわかんねーってのもNGかもしんねーけどね。


583:デフォルトの名無しさん
07/08/08 20:35:35
いんや。
職業プログラマにクリエイティビティはそんなにいらないと思うよ。
知識の方がよっぽど大事。知識のないクリエイティビティなんて害悪そのもの。
人それを『思いつき』という。

584:デフォルトの名無しさん
07/08/08 20:44:29
つうかxmlまわりの専門用語をIT用語だと思ってる奴はマスコミに汚染されすぎ。
そもそも出てきてんのはAPIの固有名詞と一般的なxml parse 方法だろ。

2chに書き込む暇があったら仕様書と本読め。

585:デフォルトの名無しさん
07/08/08 21:07:59
俺の会社は馬鹿が多いが、流石にこれほどのはいないな。

586:sage
07/08/09 10:05:48
いや、これには根拠がある。うちの会社に関○大学出身の偏差値ある教科では
100を超えたという人材が来た。すげーやつが来たと喜んだが・・・・。
いざ仕事をやらせるとまず最初の一言目が「ちゃんとした仕様書がないのでできません」
「あ、そうf(^^;じゃあきちんとかくからちょとまってね」で渡す。
「あのー、ここの部分の表題はこうじゃなくてこういう感じでかいてもらえませんか」
ばかかおめ〜そんなんどうでもええじゃねぇかさっさと作業しやがれorz
そんな調子だからついに社長も怒らせてくびになった。
知識は豊富でも手取り足取りの作業指示を与えなければ仕事ができない、
つまり自分で「これから何をすればいいのか」「どうすればいいのか」
を考えない、というか考えることができない。常に受身的で能動的でない。
これで知識の方が大事と言えるか?
わしの知ってる強力なプログラマーって高卒が多い。勉強ができる、つまり
教えられたことはできるが、それ以外は???な人間は結局仕事なんて
できない。必要なのは応用力と適応力、想像力だ。

587:デフォルトの名無しさん
07/08/09 10:40:07
>>586
一人だけをサンプルにして言われてもなあ。
あなたの会社にまともな人材が来るとでも思ってる?

というよりスレ違い。あなたを見てると品性も大切だと気づかされるよ。

588:デフォルトの名無しさん
07/08/09 11:19:36
xqueryが使えるフリーソフトって知ってますか?
XpathはXPathToolというのがvectorにあって、結構使い勝手がよかったです。

589:デフォルトの名無しさん
07/08/09 12:05:54
>>587 品性「も」大切ということで、応用力と適応力、想像力が大事
という点は納得ですか?

590:デフォルトの名無しさん
07/08/09 18:29:51
白馬に乗った王子様を待っててもしょうがないよ。

591:デフォルトの名無しさん
07/08/09 19:39:28
>xqueryが使えるフリーソフト
ってなに?XQueryはソフトウェアアプリケーションじゃないだろ。
何したいの?

592:デフォルトの名無しさん
07/08/09 20:48:29
ホワイトナイト

593:デフォルトの名無しさん
07/08/10 09:41:00
>>591
すいません。
xml用のアプリケーション(xml用でなくてもいいのですが)で、要素の検索とかしたいときに
xpath、xqueryを使いたいなと・・・
Xindiceはxpathしか対応していないらしいですね・・・

594:デフォルトの名無しさん
07/08/10 12:06:41
>xml用のアプリケーション というかXQueryがxmlアプリケーションなんだが。

>要素の検索とかしたいときにxpath、xqueryを使いたい
ここはそういうソフトを作りたい人がXML関連技術やAPIの話をするところだから、
出来合いの品の話(エンドユーザー向けのソフト話)ならスレチじゃない?
俺だったらそれくらい自分で作れって言うが。

595:デフォルトの名無しさん
07/08/10 22:36:27
この板としては「ないなら作れ」でいいだろ。

596:デフォルトの名無しさん
07/08/11 17:58:01
XQuery2.0を全部実装って相当大変じゃね?

597:デフォルトの名無しさん
07/08/11 18:00:55
>>586みたいな、サンプル拾って何となく改造したらできたよ、わーい、ってタイプは、
トラブルシュートが一切出来なくて終盤苦しむんだよなー。


周りを巻き込んで。

598:デフォルトの名無しさん
07/08/11 21:19:54
XSLTなのですが、属性名を動的に記述する方法ってないのでしょうか。
例えば以下のような処理を期待しています。(当然エラーになりますが)

<xsl:for-each select="attr">
    <xsl:attribute name="@name">
        <xsl:value-of select="@value"/>
    </xsl:attribute>
</xsl:for-each>

599:デフォルトの名無しさん
07/08/11 21:26:36
{@name}
じゃダメだっけ。

600:デフォルトの名無しさん
07/08/11 21:37:21
>>599
ありがとう、できました!

参考書に載ってないから諦めてたんですが、
実は属性値 XPath でぐぐると出てきますね・・・
ネットよりショボイ参考書買っちゃったorz

601:デフォルトの名無しさん
07/08/12 02:31:24
技評の完全解説がオヌヌメ

602:デフォルトの名無しさん
07/08/12 09:41:42
>>596
相当大変だからすでに実装されたライブラリを探す。
XQueryの実装ライブラリ探してますって話ならここだが、
XQueryが使えるソフト探してますは板すら違うかも。

XQueryってW3CのRI出てなかったけ?

603:デフォルトの名無しさん
07/08/12 22:45:11
Rはないような気がしないでもない。
URLリンク(www.w3.org)

604:デフォルトの名無しさん
07/08/13 01:10:03
XML Schemaは「それら以外の属性」のような定義って出来ますか?
例えば type や uuid などの属性名にはルールを設けるけど、
それ以外の属性は好きに書いていいよ。っという書き方です。

605:604
07/08/13 02:10:12
自己解決。xs:anyAttributeってのがありました。

606:デフォルトの名無しさん
07/08/14 16:45:49
XMLの規格ってなんで規格ごとに記法に統一性がないんだろう。
schemaのrestriction用に変数や関数が使いたい。
xslやxpathの資産が何も引き継げないとは。。。

607:デフォルトの名無しさん
07/08/14 18:16:58
>>606
> schemaのrestriction用に変数や関数が使いたい

ただでさえ特盛りのXML Schemaにそれつけたら
完璧なバリデータを書くのが不可能に近くなるぞ。

608:デフォルトの名無しさん
07/08/14 19:19:12
統一性がないんじゃなくてSGMLで統一して何でも出来るようにして
大失敗したから目的ごとに別の仕様を作るようにしただけ。

以下、>>607。WXSなんてW3CのRIですら仕様のフルサポート出来てないけどアレが一番再現度高いんだから。
あれがほしいこれがほしい言ってたらSGMLの二の舞。

609:デフォルトの名無しさん
07/08/16 11:47:34
むしろWXSはもっとシンプルにすべきだった。

610:デフォルトの名無しさん
07/08/16 12:01:00
SGMLは複雑、XMLはシンプルなんてよく言われるけど
いまじゃXMLのほうがはるかに複雑だよなぁ

611:デフォルトの名無しさん
07/08/16 15:25:56
XMLでキモく感じるのは属性と要素を区別してしまったことだ。
それでもまだXML自体はマシじゃなかろうか。
関連技術のカオスっぷりには閉口するが。

612:デフォルトの名無しさん
07/08/16 21:07:35
schemaって属性版のchoiceってないの?

613:デフォルトの名無しさん
07/08/16 22:49:26
>>612
enumeration?

614:デフォルトの名無しさん
07/08/16 23:38:23
それは単純型の値じゃね?

615:デフォルトの名無しさん
07/08/17 13:13:22
javaで↓を取ると
<a>
1111
2222
3333
</a>

値が
1111
2222
3333
になります。

↓で取れないですかね
1111
2222
3333


616:デフォルトの名無しさん
07/08/17 13:15:18
javaで↓を取ると
<a>
  1111
  2222
  3333
</a>

値が
1111
  2222
  3333
になります。

↓で取れないですかね
  1111
  2222
  3333

617:デフォルトの名無しさん
07/08/17 15:58:55
>>611
属性と要素の交換を可能にしたSGMLは見事に実装が困難になった訳だが・・・。

618:デフォルトの名無しさん
07/08/17 16:10:30
>>616
> 1111
>   2222
>   3333
> になります。

ならないだろ。
\n
  1111\n
  2222\n
  3333\n
になるはず。




619:デフォルトの名無しさん
07/08/17 17:35:45

APIはなんですか?

そんなにマイナーなものですか?

JAXPもJDOM有名なのがいろいろあるのに

APIはなんですか?

結局実装次第でry・・・・


空白の扱いをxml側で指定がなければ事実上、空白をどう扱うかは実装依存だろ。


620:デフォルトの名無しさん
07/08/17 23:56:01
>>617
>>611 は XML 仕様策定時に「属性などイラン。すべて要素にしる!」話が
結局そこまで踏み切れなかったことを言ってると思われ。

621:デフォルトの名無しさん
07/08/18 02:14:41
xsltだけどxsl:variableにDOMを詰める方法ってあります?
もしくは文字列をDOMに変換する方法でもいいんですが。

622:デフォルトの名無しさん
07/08/20 12:12:46
>>620
フォローサンクス。そゆことっす。なんで残したんだろ。

623:デフォルトの名無しさん
07/08/20 19:06:11
HTMLにあったからじゃない?

624:デフォルトの名無しさん
07/08/20 20:24:51
データ記述言語として考えれば属性なぞ要らんけど
テキストマークアップ言語として考えれば属性がないと不便極まりない

625:デフォルトの名無しさん
07/08/20 23:13:27
だからSGML/XMLはデータ記述言語じゃないとry
アトリビュート付き文書を扱うためのフォーマットだ。

アップルはそこら辺分かってない。

626:デフォルトの名無しさん
07/08/21 02:59:46
マークアップにはXMLよりSGMLの方がはるかに便利
せめてXMLでもNETが使えたらなぁ

627:デフォルトの名無しさん
07/08/21 12:26:52
現実問題、データ記述に使われてしまってるのがやるせない。
テストデータを YAML で書いてたら
なんだコレ、XML にしろと言われて一悶着。
権力に負けた。

628:デフォルトの名無しさん
07/08/21 18:51:28
目先のベンチマークより、「より標準である」ことを選ぶのは普通でしょ

629:デフォルトの名無しさん
07/08/21 20:16:24
分野が全くの別もんなんだから適材適所だろ。
そこを理解してない奴が居るとxmlかyamlで揉める。

630:デフォルトの名無しさん
07/08/21 20:44:12
そこでJSONですよ

631:デフォルトの名無しさん
07/08/21 22:42:00
つ RSD

RSDはデータ記述フォーマットだが文章をヒアドキュメントとして埋め込めるからデータと文章を同列に扱いたいとき良いよ。

文書主体ならやっぱSGMLかXMLしかフォーマットがないけど。独自以外。

632:デフォルトの名無しさん
07/08/22 11:02:11
>>619
commonsのconfigurationとjxpathです。
両方とも、最初の文字までがクリアされてしまいます。

633:デフォルトの名無しさん
07/08/22 21:44:17
十分マイナーじゃねーかw
普通、API側にも空白制御を指定できるメソッドかなんかあるはずだけど、
高レベルAPIだと無いかな。リファレンス嫁としか言いようがない。

634:デフォルトの名無しさん
07/08/23 23:31:44
URLリンク(www.infoteria.com)

635:デフォルトの名無しさん
07/08/24 00:26:11
>>634
それ固有の実装の話な。
ここでそんな話しても意味ないのは分かるかな?

636:デフォルトの名無しさん
07/08/25 04:59:17
>>631
>RSDはデータ記述フォーマットだが文章をヒアドキュメントとして埋め込めるからデータと文章を同列に扱いたいとき良いよ。

RSDってこれかな?
URLリンク(dev.zeraweb.com)
でもヒアドキュメントで埋め込んだ文章には<strong>や<em>といった要素を入れられるわけではないよね?
単なるテキストに過ぎない。
これだったらJSONやYAMLでよくね?特にYAMLならブロックテキストがあるし。



637:デフォルトの名無しさん
07/09/01 14:19:28
漫画で学ぶXML
URLリンク(www.geocities.jp)
URLリンク(www.geocities.jp)

638:デフォルトの名無しさん
07/09/01 14:44:02
>>635
DOM3以前は実装依存だぞ。という事を示したのだが、それくらい読み取れないのか? 頭ワルッ

639:デフォルトの名無しさん
07/09/19 02:14:31
テキストデータをXMLの中に入れる場合、可読性を考えてCDATAにする場合が多いと思いますが、
]]> が入るかもしれない場合、可読性は捨てて全部エスケープするしかないですか?

640:デフォルトの名無しさん
07/09/19 02:47:27
所詮世間一般ではxmlはデータコンテナのフォーマットか・・・。
PIのdataに突っ込んでアプリケーション側で処理させれば良いじゃない。

641:デフォルトの名無しさん
07/09/19 03:08:54
]]> を ]]>]]&gt;<![CDATA[ にするとか

642:デフォルトの名無しさん
07/09/19 08:36:42
エスケープしたら結局戻す処理はアプリケーション依存だろ。
だからPIで良いよ。

643:デフォルトの名無しさん
07/09/19 13:07:01
] と ]> にわけてCDATA2つにするのが普通じゃね?

644:デフォルトの名無しさん
07/09/27 23:37:51
騙された!PIって何を指してるの?
639じゃない俺が<?ここ?>になんでも含められるの??!と驚き
試してしまったので敗北感があります

645:デフォルトの名無しさん
07/09/28 04:30:43
何一人でファビョってんだ?
どうせエンコーディングが一致せずに

<?ここ?>
~~~~
Fatal Err: not well-formed. Line n, Col 3
ってオチだろ。文字化けするから↓か。

<??????>
_ _^

646:デフォルトの名無しさん
07/09/28 13:58:41
エスケープ処理なんて O/X マッピングライブラリに任せてしまうよろし。
人間がやろうとするにはあまりに単純処理だし、
単純処理の割に手間を食うので馬鹿馬鹿しい。

647:デフォルトの名無しさん
07/09/28 22:37:33
たかだか文字参照ごときにマッピングライブラリは大げさだろ。

それに、質問はエスケープしなきゃいけない文字がテキスト中に大量に入る可能性があって
CDATAセクションを使いたいけど]]>が入る可能性もあるから代替策が必要って話で
その方法がいくつもあるけど質問者が出てこないから話が代替策ないですか?って所で止まってるんだろう。
まだ、エスケープされた文字をどうするかの問題じゃない。

648:デフォルトの名無しさん
07/10/31 16:57:30
気がついたらJ2SE 6.0でJAXB 2.0がサポートされていたわけですが、
バインディングツールとしてJiBXとどっちがいい感じか、使ってる方使用感などを教えていただけませんか。

649:デフォルトの名無しさん
07/10/31 19:10:52
JDOMいいよJDOM

650:デフォルトの名無しさん
07/10/31 21:43:57
>>649
パーサーではStAXもサポートされたみたいですけど、どんな感じでしょうか。

651:デフォルトの名無しさん
07/11/01 01:21:38
J2SE 6.0

652:デフォルトの名無しさん
07/11/01 17:12:21
StAX最高だよ。

653:デフォルトの名無しさん
07/11/02 19:43:14
URLリンク(www.w3.org)
これどう?
すげー使いてー、どこぞで実装してんすかー

654:デフォルトの名無しさん
07/11/02 21:47:25
まだドラフトなのに実装とかするところあるのか?

655:デフォルトの名無しさん
07/11/03 00:45:24
W3Cは変なもの作りすぎです。

656:デフォルトの名無しさん
07/11/04 02:15:38
WDで実装が作られるって別に珍しくない。
けど、これの実装は知らん。

657:デフォルトの名無しさん
07/11/05 00:26:33
URLリンク(norman.walsh.name)
URLリンク(nwalsh.com)


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4879日前に更新/254 KB
担当:undef