[#39632] open-uri でダウンロードできません — PT2K <PT2K@...>
初めまして、PT2K と申します
10 messages
2004/05/05
[#39633] Re: open-uri でダウンロードできません
— Atsushi SHICHI <ats7@...>
2004/05/05
しちです。
[#39634] Re: open-uri でダウンロードできません
— PT2K <PT2K@...>
2004/05/06
PT2K です
[#39635] Re: open-uri でダウンロードできません
— Atsushi SHICHI <ats7@...>
2004/05/06
しちです。
[#39649] ruby -e "p [,'a'==nil]" => [nil] ?? — take_tk <ggb03124@...>
たけ(tk)です
2 messages
2004/05/11
[#39653] [TMail] UNIXMboxでReply-Toがない場合 — Ataru Nakata <anakata@...>
中田@ベクターです。
5 messages
2004/05/12
[#39655] Windows上のRuby/Tkで日本語を — 里 佳史 <sato_yos@...>
はじめまして。里と申します。
5 messages
2004/05/12
[#39664] Ruby/TkでのIWidget::dateentryの利用 — 里 佳史 <sato_yos@...>
こんにちは、里と申します。
9 messages
2004/05/17
[#39671] Ruby 1.8.1 on SX-6 — Masaki Hasegawa <masaki-h@...4u.or.jp>
はじめまして、長谷川 と申します。
16 messages
2004/05/19
[#39673] Re: Ruby 1.8.1 on SX-6
— Tanaka Akira <akr@...17n.org>
2004/05/19
In article <20040519.205107.102564296.suuchi29@naps.kishou.go.jp>,
[#39676] Re: Ruby 1.8.1 on SX-6
— Masaki Hasegawa <masaki-h@...4u.or.jp>
2004/05/19
長谷川 です。
[#39678] Re: Ruby 1.8.1 on SX-6
— nobu.nakada@...
2004/05/19
なかだです。
[#39679] Re: Ruby 1.8.1 on SX-6
— Masaki Hasegawa <masaki-h@...4u.or.jp>
2004/05/19
長谷川 です。
[#39680] Re: Ruby 1.8.1 on SX-6
— Tanaka Akira <akr@...17n.org>
2004/05/19
In article <20040520.011403.74726900.masaki-h@pp.iij4u.or.jp>,
[#39681] Re: Ruby 1.8.1 on SX-6
— Masaki Hasegawa <masaki-h@...4u.or.jp>
2004/05/19
> そのコンパイルエラーの原因を extconf.rb で検出するのが適切だと思います。
[ruby-list:39646] XML Schema Ruby mapping
From:
"NAKAMURA, Hiroshi" <nakahiro@...>
Date:
2004-05-10 08:24:20 UTC
List:
ruby-list #39646
なひです。
どなたかruby mappingに関する相談に乗ってください。以下ではXML Schemaによ
る型定義とRubyの言語マッピングを例にしていますが、本質的には「enumの言語
マッピングをどうしよう」なので、RELAXでもCORBA IDLでもASN.1でもあてはま
ると思います。
以下のようなXML Schemaによる定義があるとします。
<?xml version="1.0"?>
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:txd="urn:org.example.enumsample"
targetNamespace="urn:org.example.enumsample">
<complexType name="hobbit">
<sequence>
<element name="name" type="txd:hobbitname"/>
<element name="age" type="xsd:int"/>
</sequence>
</complexType>
<simpleType name="hobbitname">
<restriction base="xsd:string">
<enumeration value="frodo"/>
<enumeration value="sam"/>
<enumeration value="meriadoc"/>
<enumeration value="peregrin"/>
</restriction>
</simpleType>
</schema>
構造体っぽいhobbitと、その名前をいくつかに制限するためのenumである
hobbitnameという型が定義されています。現在、soap4r/CVSを使うと、以下のよ
うに、hobbitのほうだけのクラス定義が出力されます。
0% ruby -rwsdl/soap/classDefCreator -rwsdl/xmlSchema/parser -e 'puts
WSDL::SOAP::ClassDefCreator.new(WSDL::XMLSchema::Parser.new.parse(File.open("enum.xsd")).collect_complextypes).dump'
# urn:org.example.enumsample
class Hobbit
@@schema_type = "hobbit"
@@schema_ns = "urn:org.example.enumsample"
def name
@name
end
def name=(value)
@name = value
end
def age
@age
end
def age=(value)
@age = value
end
def initialize(name = nil,
age = nil)
@name = name
@age = age
end
end
で、とある人からのリクエストで、enumであるhobbitnameのほうもサポートして
くれと言われているんですが、ここでどう定義を出力したものか、悩んでいます。
1. baseがStringでその値を制限している。そのまま型にしてしまう。
class Hobbitname < String
FRODDO = "frodo"
SAM = "sam"
MERIADOC = "meriadoc"
PEREGRIN = "peregrin"
MEMBER = [FRODO, SAM, MERIADOC, PEREGRIN]
def initialize(*arg)
super
freeze
end
end
こんな気休めなら、enumなんてなくていい気がする。
2. それを使っている側で、値の代入を制限する。あちこちでこの型を使ってい
る場合は、あちこちにこれを埋め込む。
class Hobbit
...
def name=(value)
raise ArgumentError unless MEMBER.include?(value)
@name = value
end
...
end
同じく気休め。
3. クラス定義としてはなにもしない。言語マッピングを適用する際、暗黙のう
ちに値のチェックを行なって、値域を外れてたらエラーにする。
str = <<__EOX__
...
<hobbit>
<name>debujar</name>
<age>55</age>
</hobbit>
__EOX__
mapper.xml2ruby(str) #=> ArgumentError
3かなぁ。。。