トップページtech
542コメント171KB

XMLプログラミング

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
単におれが質問したいから立てたぞ!
0159デフォルトの名無しさんNGNG
>>158
使ってます。
0160デフォルトの名無しさんNGNG
>>158
どの OS でどのコンパイラのためにインスールとしてるのか書かないと、だれも返事できないよ。
0161デフォルトの名無しさんNGNG
ダ メ ダ
コ リ ャ
0162デフォルトの名無しさんNGNG
>>160
返事して欲しくないんです
0163デフォルトの名無しさんNGNG
IEってさ、XMLファイルを表示すると簡易ビューワーになって
すごい便利なんだけど、これと同等の機能を持ったemacs用
ソフトはあるかな?
0164デフォルトの名無しさんNGNG
>>163
× すごい便利
○ すごく便利
0165デフォルトの名無しさんNGNG
>>164
日本語の変化についていけない時代遅れは氏ね!
0166デフォルトの名無しさんNGNG
>>165
> 日本語の変化についていけない時代遅れは氏ね!

アフォか、「すごい」も「すごく」も昔からあるわ。ただ、「すごい」はあまりあらたまった場では使わんだけだ。お前こそ、氏ねよ。
0167デフォルトの名無しさんNGNG
改まった場?
0168デフォルトの名無しさんNGNG
>>163
× すごく便利
○ でら便利
0169デフォルトの名無しさん NGNG
× でら便利
○ デラべっぴん
0170デフォルトの名無しさんNGNG
>>166 はよほどすさんで腐りきった世界で生きているDQNですな
0171デフォルトの名無しさんNGNG
>>166
「すごい」は名詞にかかって、「すごく」は動詞や副詞にかかるのだよ。
0172デフォルトの名無しさんNGNG
>>169
× デラべっぴん
◎ マラぴんぴん
 
0173デフォルトの名無しさんNGNG
○ すごいパソコン
× すごくパソコン

○ すごく偉い人
× すごい偉い人

○ すごい本
× すごく本

○ すごく読みにくいソース
× すごい読みにくいソース
0174158(XERCES)NGNG
すみません.web製作管理板から来ました.
XERCESを解凍した後,コマンドラインから

SET CLASSPATH=%CLASSPATH%;C:\Xerces\xerces.jar

と入力しましたが,サンプルで試した所,

Exception in thresd "main" java.lang.NoClassDeFoundError

となってしまいました.試したバージョンは1.4.4と2.2.0で,OSはMEです.
お分かりになる方,よろしくお願いします.

0175デフォルトの名無しさんNGNG
ソフトウェア板行け
0176デフォルトの名無しさんNGNG
http://www.hyuki.com/writing/techask.html#procedure
0177デフォルトの名無しさんNGNG
それはいいページだね。
0178デフォルトの名無しさんNGNG
XSLで、すべてのleafについてancestor-or-self軸のノードセットを選択し、それぞれのテキスト要素を表示するにはどうすればいいんですか?


<a><text>a</text>
<b><text>b</text>
<c><text>c</text></c>
</b>
<d><text>d</text>
<a><text>A</text></a>
</d>
</a>
結果
abc,adA
0179デフォルトの名無しさんNGNG
ヤレヤレ
0180デフォルトの名無しさんNGNG
>>178
ここ、XSL理解してる奴いないから。
質問しても無駄。
0181178じゃないです。NGNG
>>180
ホントダ!!
ここ何気に雑談スレじゃん。
質問が来ても、まるで答えてねぇ。 ←私もだけど
0182デフォルトの名無しさんNGNG
178はまた君か、って感じなので。
0183デフォルトの名無しさんNGNG
>>178
LISPでやれば一瞬で解決しそうだな。
0184デフォルトの名無しさんNGNG
178です.
書き忘れたんですが,下記を試しましたが,全要素を表示してしまいました.

<xsl:template match="*">
<xsl:if test="position()=last()">
<xsl:value-of select="ancestor-or-self::*"/>
</xsl:if>
0185デフォルトの名無しさんNGNG
>>184
>>180
0186デフォルトの名無しさんNGNG
>>185
>>182
0187デフォルトの名無しさんNGNG
>>186=182に質問
>>182の意味がわかんないんだけど。
>>178と知り合いですか?
0188デフォルトの名無しさんNGNG
>>178 はやりたいことを全て2chの輩に作らせる奴
0189デフォルトの名無しさんNGNG
>>189 >>で語るスレ?
0190デフォルトの名無しさんNGNG
>>184
<xsl:if test="position()=last()">
たぶんここが違う。
0191デフォルトの名無しさんNGNG
たぶんこっで聞いた方が早い
XSL/XSLT
http://pc.2ch.net/test/read.cgi/php/999654569/l50
0192デフォルトの名無しさんNGNG
>>190
すみません、解決できました。
そこも全然ちがいました(w。
0193デフォルトの名無しさんNGNG
>>192解決方法は書いてくれないのか。
0194デフォルトの名無しさんNGNG
>>190
そうか?左辺が参照を返す関数ならそれは可能だと思うが。
0195デフォルトの名無しさんNGNG
age
0196デフォルトの名無しさんNGNG
フリーなXMLファイル作成ツールってありませんか?
あったら教えて下さい。
0197デフォルトの名無しさんNGNG
>>196
Windowsならメモ帳。
0198デフォルトの名無しさんNGNG
板違い
0199199NGNG
>>196
M$の XML NotePad
0200デフォルトの名無しさんNGNG
XSLTを使ってXML文章を別のXML文章にするのってどうすればいいの?
<xsl:output>やそのomit-xml-declaration属性の設定、<xsl:processing-instruction>を
使うかどうかなんか教えてくれ
0201デフォルトの名無しさんNGNG
板違い
0202デフォルトの名無しさんNGNG
板違いなのか?
じゃぁどこで聞けばいいんだ??
0203デフォルトの名無しさんNGNG
HaXml使ってるヤシいる?
http://www.cs.york.ac.uk/fp/HaXml/
0204デフォルトの名無しさんNGNG
>>200質問が具体的でなくて答えようが無い
0205デフォルトの名無しさんNGNG
>>204
例えば
<a>
<b>
<d>hoge</d>
<c>
<d>hoge</d>
</c>
</a>

というのを

<a>
<d>
<name>hoge</name>
<b>mogemoge</b>
<c>hagehage</c>
</d>
<a>

こんな感じXMLをXMLへ変換するのをXSLTを使ってやりたい
というかXSLTを使ってXML文章をはき出す方法がわからない
0206デフォルトの名無しさんNGNG
はぁ???
普通にtemplate-match使って吐けばいいんじゃなぃの?
0207デフォルトの名無しさんNGNG
>202
http://pc.2ch.net/php/
0208デフォルトの名無しさんNGNG
>>205>>206
もしかして、xsl:textを知らないとか?
んでもって、閉じタグの扱いに困ってるとか(w
0209デフォルトの名無しさんNGNG
改まった場?
0210デフォルトの名無しさんNGNG
http://isweb8.infoseek.co.jp/computer/tako88/document/unit_uiHTMLParser.html

これと同じ機能を持っていてフリーのhtmlパーサ無いかな
0211デフォルトの名無しさんNGNG
そんな適当なのでいいんなら自分で書け
0212デフォルトの名無しさんNGNG
>>211
さんざん海外のサイト探し回ったりしてるんだけど
カーソル位置のエレメントの情報を探し出す って機能が見つからないんだよ

頭悪いから自分で書く事も出来ないしな
0213デフォルトの名無しさんNGNG
カーソル位置?
0214デフォルトの名無しさんNGNG
エディタと連携させて、カーソル位置にあるタグの情報を出させるってこと
0215デフォルトの名無しさんNGNG
>>214
0216デフォルトの名無しさんNGNG
XmlWriteとか。
編集しながら、即反映するXML&XSLTエディタ。
0217デフォルトの名無しさんNGNG
>>216
>即反映する

何に。
0218デフォルトの名無しさんNGNG
emacsのことかな?
0219デフォルトの名無しさんNGNG
>>218
厨御用達のエディタにしたくないから、勘弁してください。
0220デフォルトの名無しさんNGNG

厨の言うことはサパーリ
0221デフォルトの名無しさんNGNG
Javaで、org.w3c.dom.Documentで取得したXMLノードを文字列に展開することってできますか?
0222デフォルトの名無しさんNGNG
>>221
出来そう。
どのように展開したいですか?
parentノードを所得した時に、

<parent>
 <child>ほにゃらら</child>
</parent>

こう展開したいと解釈してよろしいですか?
0223デフォルトの名無しさんNGNG
void output(Document aDocument, OutputStream anOut, String anEncoding){
 Transformer transformer = TransformerFactory.newInstance().newTransformer();
 transformer.setOutputProperty(OutputKeys.ENCODING, anEncoding);
 transformer.transform(new DOMSource(aDocument), new StreamResult(anOut));
}
0224221NGNG
>>222
そのとおりです。

>>223
ありがとうございます。今手元に環境がないので連休明けにでもこれで試してみます。
OutputStreamは適当にnewしたものを使えばいいんですよね?
Encodingは具体的にはどういうものを指定すればいいんでしょうか?
0225デフォルトの名無しさんNGNG
>>224
メモリ上に得たいなら、ByteArrayOutputStream を new して渡す。
ファイルなら FileOutputStream。
エンコーディングは、"Shift_JIS"、"UTF-8"、"EUC-JP" などなど。
0226デフォルトの名無しさんNGNG
以下の2つはどちらもXMLの検証に使われる、スキーマの定義文の
かきだしです。なんと呼ばれるXMLのスキーマ言語ですか?対応す
る呼び名を選んでください。
(ア)
<?xml version="1.0" encoding="Shift=_Jis"?>
<Schema xmlns=・・・・・・
(イ)
<?xml version="1.0" encoding="Shift=_Jis"?>
<module moduleVersion="1.0"・・・・・

回答群ーーーーーーーーーーーーーーーーーーーー
@RELAXASAXBDTDCXSDXDR        
EURIFnamespaceGSchemaHmodule 
ーーーーーーーーーーーーーーーーーーーーーーー

<回答欄>
(ア):
(イ):
0227デフォルトの名無しさんNGNG
RUBY!!!!!
0228デフォルトの名無しさんNGNG
>>226
こんな課題出してくれる大学に行きたかったなぁ。
0229デフォルトの名無しさんNGNG
(ア)か(イ)、どちらかの回答を知っていれば
片方も推測がついてしまうのが残念だな。
0230デフォルトの名無しさんNGNG
>>229
と、言うことは深読みしすぎる俺の(2の回答はを間違っていると言うことか。
勉強になった。
0231デフォルトの名無しさんNGNG
(ア)G
(イ)H
 良いですか?
0232デフォルトの名無しさんNGNG
アはあってる
でもSchemaだけだと何のSchemaかワカラン気もするが・・・
moduleって使われてるの?まだRELAXの方が使われてると思うけど
0233デフォルトの名無しさんNGNG
concat関数で文字列を結合したいんですが、要素を指定しないで結合するのってできますか?
例えば、兄弟要素すべてを結合、とか、子要素をすべて結合、など。
0234デフォルトの名無しさんNGNG
>>232
正解はないだろう。。。名前空間がわからないのにSchemaタグの意味がわからんじゃないか。
0235デフォルトの名無しさんNGNG
>>233
concatは引数として「連結したい2つ以上の文字列」を渡さなくてはいけないので
ノードを渡すことはできない、と思う
けど、descendant::text()みたくしてやればいけるかもしれない
じゃなかったらcountで数数えて変数つかって一個ずつ連結させていくとか
今手元で試せないんでこんな回答しかできなくてスマソ

>>234
・・・・の以下は本当は続いてるんじゃないの?
なこといったらあれは文書として完結してないじゃん
0236デフォルトの名無しさんNGNG
だけど名前空間は書いてくれないとね。。。
0237デフォルトの名無しさんNGNG
今の時点では、激マイナーなXSL-FOスタイルシートの話題降ってもいい?
0238デフォルトの名無しさんNGNG
激マイナーって...。
1年くらい前にPDF生成に使ったけど?
0239デフォルトの名無しさんNGNG
バリデータもついてなきゃ単なるおもちゃのオナニーライブラリ止まりだと思われ
0240デフォルトの名無しさんNGNG
バリデータついてないXMLパーサの作者ですが、何か?
おもちゃにはおもちゃなりの使われ方があるのです。

けど正直、バリデーションもできるようにしたいんです。
DTDステでRELAXサポートってのはありかな?
0241デフォルトの名無しさんNGNG
RELAXNG にしる
0242デフォルトの名無しさんNGNG
XPathのAxisでselfってありますが、
self::で絞った時に属性ノード、名前空間ノードといった
従属ノードの扱いってどうなるんでしょうか?

Selfはcontext node自身でなければならないことを表します。
ってあるんですが、属性、名前空間はそれに含まれないとの
認識であってますか?
0243デフォルトの名無しさんNGNG
>>242
俺の持ってる本には
「attribute軸とnamespace軸は要素ノードからのみたどることのできる軸」
とあるのでそういう認識でいいと思う
"self::node()"は"."と同義なんだからおかしな事になる(むしろself軸ってこれ以外使い道無い??)
属性ノードの場合"@"を使うわけだし
0244デフォルトの名無しさんNGNG
>243
ThanX!!やっぱそうだよねぇ〜

というか、もしかして本が間違えてると言う可能性も
えてたわけですが^^;<XML完全解説(下)

selfで取り出せるのは従属ノード以外のコンテキストノード
ということになるんですかね。
#そもそもコンテキストノードには従属ノードは含まれない?

axisのとこに*selfだけ解説がないので迷ってました。P.65
#child,followingなんかだと従属ノードは取り出せないって明記されてるんですが。
0245デフォルトの名無しさんNGNG
RelaxNGCC
http://relaxngcc.sourceforge.net/ja/

あまりコメントないようなので、使ってあげてください。
0246デフォルトの名無しさんNGNG
>>244
243だけど俺も同じ本使ってる(w
たぶんあれには嘘は書いてないと思うよ
従属はあくまでも従属だからその親要素に行ってattribute軸なりを指定しないと
取り出せない(./@hogehogeなんてのができない)と思うので
そういう意味でselfは起点のノード(要素)のみでしょ
そのページの上に書いてある図がわかりやすいと思うけど
0247デフォルトの名無しさんNGNG
>246

あれしか日本語でまともな本ありませんやん。重宝してます。
あとは、Don Boxの
http://www.amazon.co.jp/exec/obidos/ASIN/0201709147/ref=sr_aps_eb_1/250-5771327-1457021
とか。information setちゃんと解説した本あんまないような。

selfで今いるコンテキスト取り出せたとしても
attribute,namespace以外では従属ノードのとこまでtree walkできませんね^^;

もしそこまでいけたとしたら、きっと、selfで取り出せるけど
そんなことできませんがな、ってことですかね。
0248242NGNG
あれれ・・・
ちょっと待てよぉ。Quipで試してみたら
/attribute::*/self::*
属性のコンテキスト取り出せます。

ってことは、従属ノードもselfは取り出すって事ですか?
でも、/attibute::*/self::node()ではでてこないという謎仕様なので
あんま信用おけないかもですが。

node()で出てこないで、なんで*で出てくるんだろ。
0249デフォルトの名無しさんNGNG
XMLマスターってどうよ?
http://school.2ch.net/test/read.cgi/lic/1002557224/
0250デフォルトの名無しさんNGNG
source forgeでXMLpaserを落としたが状態遷移図で打つになった
0251重複スレです。NGNG
http://pc.2ch.net/tech/kako/982/982914729.html
0252デフォルトの名無しさんNGNG
>251
正気とは思えん
0253デフォルトの名無しさんNGNG
RelaxNGCCはたとえばこんな感じ。

<?xml version="1.0" encoding="utf-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
         xmlns:c="http://www.xml.gr.jp/xmlns/relaxngcc"
         c:package="">

  <start c:class="PersonList">
    <element name="person-list">
      <zeroOrMore>
        person = <ref name="person"/>
      </zeroOrMore>
      <c:java>
        System.out.println("" + person);
      </c:java>
    </element>
  </start>
  
0254デフォルトの名無しさんNGNG
続き。

  <define name="person" c:class="Person">
    <c:java-body>
      public String toString() {
      
          return ("name="      + name
                + ", sex="     + sex
                + ", age="     + age
                + ", zip="     + zip
                + ", address=" + prefecture
                + " "          + city
                + " "          + detail);

      }
    </c:java-body>
0255デフォルトの名無しさんNGNG
続き。

    <element name="person">
      <element name="name">
        name = <text/>
      </element>
      <element name="sex">
        <choice>
          sex = <value>male</value>
          sex = <value>female</value>
        </choice>
      </element>
      <element name="age">
        age =
        <data type="decimal">
          <param name="minInclusive">0</param>
        </data>
      </element>
0256デフォルトの名無しさんNGNG
続き。終わり。

      <element name="address">
        <element name="zip">
          zip = 
          <data type="string">
            <param name="pattern">[0-9]{7}</param>
          </data>
        </element>
        <element name="prefecture">
          prefecture = <text/>
        </element>
        <element name="city">
          city = <text/>
        </element>
        <element name="detail">
          detail = <text/>
        </element>
      </element>
      
    </element>
  </define>

</grammar>
0257デフォルトの名無しさんNGNG
で、こんなXMLを処理するクラスが生成できる。

<?xml version="1.0" encoding="Shift_JIS"?>
<person-list>
  <person>
    <name>ほげ</name>
    <sex>male</sex>
    <age>20</age>
    <address>
      <zip>1234567</zip>
      <prefecture>東京都</prefecture>
      <city>千代田区</city>
      <detail>大手町</detail>
    </address>
  </person>
</person-list>
0258デフォルトの名無しさんNGNG
XML形式で注文データを保存しようと思っているのですが、
どんどん、追記式でデータが入る場合、どのような方法で
記録していけば効率がいいのでしょうか、いつも最後の閉
じタグのところの処理に悩みます。

例えば、次のようなデータの場合、最後の</salesdata>がある
がために、<order></order>データをどんどん書き足していく
ことができないのです。こういう場合ってどうやって処理するのが
一般的なのでしょうか?

<salesdata>
<order no="1">aaa</order>
<order no="2">bbb</order>
<order no="3">ccc</order>
<order no="4">ddd</order>
</salesdata>

DOMとか使うと、毎回データを全部メモリに読み始め
てしまうし、SAXでも結局はデータを順次読んでいかな
ければならないと思います。一番簡単なのはファイル
ポインタをいきなり最後にもっていって、</saledata>
のタグまで、戻って、<order></order>データで上書き
して行く方法なのですが、、、なんかムダな感じが、、、

みなさんはどうやっているのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています