mame-xmlparser 0.6.81.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Encodings/README.ja +18 -0
- data/Encodings/euc-jp.enc +0 -0
- data/Encodings/shift_jis.enc +0 -0
- data/History.txt +5 -0
- data/Manifest.txt +118 -0
- data/README +697 -0
- data/README.ja +789 -0
- data/README.txt +49 -0
- data/Rakefile +30 -0
- data/ext/encoding.h +91 -0
- data/ext/extconf.rb +58 -0
- data/ext/xmlparser.c +2231 -0
- data/lib/sax.rb +1 -0
- data/lib/saxdriver.rb +1 -0
- data/lib/wget.rb +47 -0
- data/lib/xml/dom/builder-ja.rb +58 -0
- data/lib/xml/dom/builder.rb +310 -0
- data/lib/xml/dom/core.rb +3276 -0
- data/lib/xml/dom/digest.rb +94 -0
- data/lib/xml/dom/visitor.rb +182 -0
- data/lib/xml/dom2/attr.rb +213 -0
- data/lib/xml/dom2/cdatasection.rb +76 -0
- data/lib/xml/dom2/characterdata.rb +177 -0
- data/lib/xml/dom2/comment.rb +81 -0
- data/lib/xml/dom2/core.rb +19 -0
- data/lib/xml/dom2/document.rb +317 -0
- data/lib/xml/dom2/documentfragment.rb +82 -0
- data/lib/xml/dom2/documenttype.rb +102 -0
- data/lib/xml/dom2/dombuilder.rb +277 -0
- data/lib/xml/dom2/dombuilderfilter.rb +12 -0
- data/lib/xml/dom2/domentityresolver.rb +13 -0
- data/lib/xml/dom2/domentityresolverimpl.rb +37 -0
- data/lib/xml/dom2/domexception.rb +95 -0
- data/lib/xml/dom2/domimplementation.rb +61 -0
- data/lib/xml/dom2/dominputsource.rb +29 -0
- data/lib/xml/dom2/element.rb +533 -0
- data/lib/xml/dom2/entity.rb +110 -0
- data/lib/xml/dom2/entityreference.rb +107 -0
- data/lib/xml/dom2/namednodemap.rb +138 -0
- data/lib/xml/dom2/node.rb +587 -0
- data/lib/xml/dom2/nodelist.rb +231 -0
- data/lib/xml/dom2/notation.rb +86 -0
- data/lib/xml/dom2/processinginstruction.rb +155 -0
- data/lib/xml/dom2/text.rb +128 -0
- data/lib/xml/dom2/xpath.rb +398 -0
- data/lib/xml/encoding-ja.rb +42 -0
- data/lib/xml/parser.rb +13 -0
- data/lib/xml/parserns.rb +236 -0
- data/lib/xml/sax.rb +353 -0
- data/lib/xml/saxdriver.rb +370 -0
- data/lib/xml/xpath.rb +3284 -0
- data/lib/xml/xpath.ry +2352 -0
- data/lib/xmldigest.rb +1 -0
- data/lib/xmlencoding-ja.rb +11 -0
- data/lib/xmltree.rb +1 -0
- data/lib/xmltreebuilder-ja.rb +9 -0
- data/lib/xmltreebuilder.rb +1 -0
- data/lib/xmltreevisitor.rb +1 -0
- data/samples/buildertest.rb +47 -0
- data/samples/buildertest2.rb +50 -0
- data/samples/digesttest.rb +26 -0
- data/samples/digesttest2.rb +192 -0
- data/samples/doctype.rb +40 -0
- data/samples/doctype.xml +21 -0
- data/samples/doctypei.rb +19 -0
- data/samples/document.dtd +77 -0
- data/samples/dom2/dom2test1.rb +7 -0
- data/samples/dom2/dom2test2.rb +10 -0
- data/samples/dom2/gtkxpath.rb +259 -0
- data/samples/dom2/test1.xml +16 -0
- data/samples/dom2/test2.xml +7 -0
- data/samples/dtd/ext1.dtd +4 -0
- data/samples/dtd/ext2.dtd +1 -0
- data/samples/dtd/extdtd.rb +34 -0
- data/samples/dtd/extdtd.xml +5 -0
- data/samples/expat-1.2/CVS/Entries +8 -0
- data/samples/expat-1.2/CVS/Repository +1 -0
- data/samples/expat-1.2/CVS/Root +1 -0
- data/samples/expat-1.2/ext.ent +2 -0
- data/samples/expat-1.2/exttest.rb +82 -0
- data/samples/expat-1.2/exttesti.rb +81 -0
- data/samples/expat-1.2/hoge.dtd +7 -0
- data/samples/expat-1.2/idattr.xml +8 -0
- data/samples/expat-1.2/idtest.rb +21 -0
- data/samples/expat-1.2/idtest.xml +12 -0
- data/samples/expat-1.2/xmlextparser.rb +39 -0
- data/samples/gtktree.rb +146 -0
- data/samples/idattrtest.rb +28 -0
- data/samples/index_euc.xml +72 -0
- data/samples/index_jis.xml +72 -0
- data/samples/index_noenc.xml +71 -0
- data/samples/index_sjis.xml +72 -0
- data/samples/index_u16.xml +0 -0
- data/samples/index_u8.xml +72 -0
- data/samples/my-html.rb +65 -0
- data/samples/namespaces/CVS/Entries +5 -0
- data/samples/namespaces/CVS/Repository +1 -0
- data/samples/namespaces/CVS/Root +1 -0
- data/samples/namespaces/namespace1.rb +29 -0
- data/samples/namespaces/namespace1.xml +10 -0
- data/samples/namespaces/namespace2.rb +41 -0
- data/samples/namespaces/namespace2.xml +12 -0
- data/samples/nstest.rb +21 -0
- data/samples/saxtest.rb +70 -0
- data/samples/test/featurelist.rb +11 -0
- data/samples/test/skippedentity.rb +48 -0
- data/samples/test/useforeigndtd.rb +42 -0
- data/samples/treetest.rb +14 -0
- data/samples/visitor.rb +29 -0
- data/samples/visitortest.rb +36 -0
- data/samples/writer.rb +43 -0
- data/samples/xmlcheck.rb +40 -0
- data/samples/xmlcomments.rb +30 -0
- data/samples/xmlevent.rb +76 -0
- data/samples/xmliter.rb +57 -0
- data/samples/xmlstats.rb +167 -0
- data/samples/xpointer.rb +233 -0
- data/samples/xpointertest.rb +23 -0
- metadata +185 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
#! /usr/local/bin/ruby
|
|
2
|
+
|
|
3
|
+
require 'xmlextparser'
|
|
4
|
+
|
|
5
|
+
def escapeAttrVal(str)
|
|
6
|
+
ret = ""
|
|
7
|
+
str.scan(/./um) do |c|
|
|
8
|
+
code = c.unpack("U")[0]
|
|
9
|
+
if code == 9 || code == 10 || code == 13
|
|
10
|
+
ret << sprintf("&#x%X;", code)
|
|
11
|
+
elsif c == "&"
|
|
12
|
+
ret << "&"
|
|
13
|
+
elsif c == "\""
|
|
14
|
+
ret << """
|
|
15
|
+
elsif c == "<"
|
|
16
|
+
ret << "<"
|
|
17
|
+
else
|
|
18
|
+
ret << c
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
ret
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def escapeText(str)
|
|
25
|
+
ret = ""
|
|
26
|
+
str.scan(/./um) do |c|
|
|
27
|
+
code = c.unpack("U")[0]
|
|
28
|
+
if code == 13
|
|
29
|
+
ret << sprintf("&#x%X;", code)
|
|
30
|
+
elsif c == "&"
|
|
31
|
+
ret << "&"
|
|
32
|
+
elsif c == "<"
|
|
33
|
+
ret << "<"
|
|
34
|
+
elsif c == ">"
|
|
35
|
+
ret << ">"
|
|
36
|
+
else
|
|
37
|
+
ret << c
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
ret
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
p = XML::ExtParser.new
|
|
45
|
+
def p.externalParsedEntityDecl; end
|
|
46
|
+
def p.internalParsedEntityDecl; end
|
|
47
|
+
|
|
48
|
+
pos = ARGV[0].rindex("/")
|
|
49
|
+
if pos
|
|
50
|
+
p.setBase(ARGV[0][0, pos + 1])
|
|
51
|
+
else
|
|
52
|
+
p.setBase("")
|
|
53
|
+
end
|
|
54
|
+
begin
|
|
55
|
+
p.parse($<.read) do |event, name, data|
|
|
56
|
+
case event
|
|
57
|
+
when XML::Parser::EXTERNAL_PARSED_ENTITY_DECL
|
|
58
|
+
p(["externalParsedEntityDecl", name, data])
|
|
59
|
+
|
|
60
|
+
when XML::Parser::INTERNAL_PARSED_ENTITY_DECL
|
|
61
|
+
p(["internalParsedEntityDecl", name, data])
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
when XML::Parser::START_ELEM
|
|
65
|
+
print "<" + name
|
|
66
|
+
data.each do |n, v|
|
|
67
|
+
print " " + n + "='" + escapeAttrVal(v) + "'"
|
|
68
|
+
end
|
|
69
|
+
print ">"
|
|
70
|
+
|
|
71
|
+
when XML::Parser::END_ELEM
|
|
72
|
+
print "</" + name + ">"
|
|
73
|
+
|
|
74
|
+
when XML::Parser::CDATA
|
|
75
|
+
print escapeText(data)
|
|
76
|
+
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
rescue XML::Parser::Error
|
|
80
|
+
p([$!, p.line])
|
|
81
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#! /usr/local/bin/ruby
|
|
2
|
+
|
|
3
|
+
require 'xmlextparser'
|
|
4
|
+
|
|
5
|
+
#if XML::Parser.expatVersion != "1.2"
|
|
6
|
+
# raise "This program work with expat-1.2"
|
|
7
|
+
#end
|
|
8
|
+
|
|
9
|
+
p = XML::ExtParser.new
|
|
10
|
+
|
|
11
|
+
def p.startElement(name, attr)
|
|
12
|
+
idattr = getIdAttribute
|
|
13
|
+
idvalue = idattr ? attr[idattr] : nil;
|
|
14
|
+
printf("%s: ID=(%s:%s)\n", name, idattr, idvalue)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
begin
|
|
18
|
+
p.parse($<.read)
|
|
19
|
+
rescue XML::Parser::Error
|
|
20
|
+
p([$!, p.line])
|
|
21
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="EUC-JP"?>
|
|
2
|
+
<!DOCTYPE test SYSTEM "hoge.dtd" [
|
|
3
|
+
<!ENTITY qqqq "QQQQ">
|
|
4
|
+
<!ENTITY rrrr SYSTEM "ext.ent">
|
|
5
|
+
<!ENTITY ssss PUBLIC "-//Hoge//EN" "ext.ent">
|
|
6
|
+
]>
|
|
7
|
+
<test b="a1234	

" hoge ="4567">
|
|
8
|
+
<aaaa b="abcd" a="defg">
|
|
9
|
+
����
����
|
|
10
|
+
bbbb&rrrr;
|
|
11
|
+
</aaaa>
|
|
12
|
+
</test>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require 'xml/parser'
|
|
2
|
+
|
|
3
|
+
module XML
|
|
4
|
+
class ExtParser < Parser
|
|
5
|
+
|
|
6
|
+
def readResource(base, systemId, publicId = nil)
|
|
7
|
+
systemId = base + systemId unless base.nil?
|
|
8
|
+
open(systemId).read
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def parse(*args)
|
|
12
|
+
setParamEntityParsing(XML::Parser::PARAM_ENTITY_PARSING_UNLESS_STANDALONE)
|
|
13
|
+
|
|
14
|
+
if iterator?
|
|
15
|
+
super(*args) do |event, name, data|
|
|
16
|
+
if (event == XML::Parser::EXTERNAL_ENTITY_REF)
|
|
17
|
+
base, systemId, publicId = data
|
|
18
|
+
extp = self.class.new(self, name)
|
|
19
|
+
extp.parse(readResource(base, systemId)) do |event, name, data|
|
|
20
|
+
yield(event, name, data)
|
|
21
|
+
end
|
|
22
|
+
extp.done
|
|
23
|
+
else
|
|
24
|
+
yield(event, name, data)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
else
|
|
28
|
+
super(*args)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def externalEntityRef(context, base, systemId, publicId)
|
|
33
|
+
## p ["externalEntityRef", context, base, systemId, publicId]
|
|
34
|
+
extp = self.class.new(self, context)
|
|
35
|
+
extp.parse(readResource(base, systemId))
|
|
36
|
+
extp.done
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
data/samples/gtktree.rb
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
#! /usr/local/bin/ruby
|
|
2
|
+
|
|
3
|
+
## XML Tree viewer for Gtk
|
|
4
|
+
## 1998 by yoshidam
|
|
5
|
+
##
|
|
6
|
+
## Required: ruby-gtk-0.11 (and gtk+-1.0jp)
|
|
7
|
+
## xmlparser-0.4.17
|
|
8
|
+
## uconv-0.2.1
|
|
9
|
+
|
|
10
|
+
require 'gtk'
|
|
11
|
+
require 'xml/dom/builder-ja'
|
|
12
|
+
|
|
13
|
+
## Extend the Node class to manipulate the Gtk::Tree
|
|
14
|
+
module XML
|
|
15
|
+
module DOM
|
|
16
|
+
class Node
|
|
17
|
+
## append a node to Gtk::Tree
|
|
18
|
+
def appendNodeToTree(node)
|
|
19
|
+
if @treeitem.nil?
|
|
20
|
+
raise "Cannot append tree"
|
|
21
|
+
end
|
|
22
|
+
if @tree.nil?
|
|
23
|
+
@tree = Gtk::Tree::new()
|
|
24
|
+
@treeitem.set_subtree(@tree)
|
|
25
|
+
@tree.show
|
|
26
|
+
@treeitem.expand
|
|
27
|
+
end
|
|
28
|
+
@tree.append(node)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
## create Gtk::Tree from XML::Node tree
|
|
32
|
+
def newTreeItem(parent = nil)
|
|
33
|
+
if !@treeitem.nil?
|
|
34
|
+
raise "tree item already exist"
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
case self.nodeType
|
|
38
|
+
when TEXT_NODE
|
|
39
|
+
str = "\"" + self.nodeValue + "\""
|
|
40
|
+
when CDATA_SECTION_NODE
|
|
41
|
+
str = "<![CDATA[" + self.nodeValue + "]]>"
|
|
42
|
+
when PROCESSING_INSTRUCTION_NODE
|
|
43
|
+
str = "?" + self.nodeValue
|
|
44
|
+
when ELEMENT_NODE
|
|
45
|
+
attr = ''
|
|
46
|
+
@attr.each do |a| ## self.attributes do |a|
|
|
47
|
+
attr += a.to_s + ", "
|
|
48
|
+
end if @attr
|
|
49
|
+
attr.chop!
|
|
50
|
+
attr.chop!
|
|
51
|
+
str = self.nodeName
|
|
52
|
+
if (attr != '');
|
|
53
|
+
str += " (" + attr + ")"
|
|
54
|
+
end
|
|
55
|
+
when COMMENT_NODE
|
|
56
|
+
str = "<!--" + self.nodeValue + "-->"
|
|
57
|
+
when DOCUMENT_TYPE_NODE
|
|
58
|
+
str = "#doctype: " + self.nodeName
|
|
59
|
+
else
|
|
60
|
+
str = self.nodeName
|
|
61
|
+
end
|
|
62
|
+
str.gsub!(/\n/, "\\\\n")
|
|
63
|
+
@treeitem = Gtk::TreeItem::new(str)
|
|
64
|
+
if (parent.nil? && !self.parentNode.nil?)
|
|
65
|
+
self.parentNode.appendNodeToTree(@treeitem)
|
|
66
|
+
else
|
|
67
|
+
parent.append(@treeitem)
|
|
68
|
+
end
|
|
69
|
+
@treeitem.show
|
|
70
|
+
self.childNodes do |c|
|
|
71
|
+
c.newTreeItem
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
## Gtk resources
|
|
79
|
+
#Gtk::RC::parse_string <<EOS
|
|
80
|
+
#style "default"
|
|
81
|
+
#{
|
|
82
|
+
# fontset = "-adobe-helvetica-medium-r-normal--*-140-*-*-*-*-*-*,\
|
|
83
|
+
# -*-fixed-medium-r-normal--14-*-*-*-*-*-jisx0208.1983-0,*"
|
|
84
|
+
#}
|
|
85
|
+
#widget_class "*" style "default"
|
|
86
|
+
#EOS
|
|
87
|
+
|
|
88
|
+
## create XML tree
|
|
89
|
+
builder = XML::DOM::JapaneseBuilder.new(1)
|
|
90
|
+
begin
|
|
91
|
+
xmltree = builder.parseStream($<)
|
|
92
|
+
rescue XML::Parser::Error
|
|
93
|
+
line = builder.line
|
|
94
|
+
print "#{$0}: #{$!} (in line #{line})\n"
|
|
95
|
+
exit 1
|
|
96
|
+
end
|
|
97
|
+
print "Parsing end\n"
|
|
98
|
+
|
|
99
|
+
## unify sequential Text nodes
|
|
100
|
+
xmltree.documentElement.normalize
|
|
101
|
+
xmltree.trim
|
|
102
|
+
print "Normalization end\n"
|
|
103
|
+
|
|
104
|
+
## create Gtk window
|
|
105
|
+
window = Gtk::Window::new(Gtk::WINDOW_TOPLEVEL)
|
|
106
|
+
window.signal_connect("delete_event") { exit }
|
|
107
|
+
window.signal_connect("destroy_event") { exit }
|
|
108
|
+
|
|
109
|
+
window.border_width(10)
|
|
110
|
+
window.set_title($<.filename)
|
|
111
|
+
|
|
112
|
+
box1 = Gtk::VBox::new(FALSE, 5)
|
|
113
|
+
window.add(box1)
|
|
114
|
+
box1.show
|
|
115
|
+
|
|
116
|
+
scroll = Gtk::ScrolledWindow.new
|
|
117
|
+
scroll.show
|
|
118
|
+
scroll.set_usize(300,300)
|
|
119
|
+
box1.add(scroll)
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
tree = Gtk::Tree::new()
|
|
123
|
+
scroll.add_with_viewport(tree) ## gtk+-1.2
|
|
124
|
+
##scroll.add(tree) ## gtk+-1.0
|
|
125
|
+
tree.show
|
|
126
|
+
|
|
127
|
+
## construct Gtk tree
|
|
128
|
+
xmltree.newTreeItem(tree)
|
|
129
|
+
print "Tree construction end\n"
|
|
130
|
+
|
|
131
|
+
box2 = Gtk::VBox::new(FALSE, 10)
|
|
132
|
+
box2.border_width(10)
|
|
133
|
+
box1.pack_start(box2, FALSE, TRUE, 0)
|
|
134
|
+
box2.show
|
|
135
|
+
|
|
136
|
+
button = Gtk::Button::new("Quit")
|
|
137
|
+
button.signal_connect("clicked") do
|
|
138
|
+
# window.destroy
|
|
139
|
+
exit
|
|
140
|
+
end
|
|
141
|
+
box2.pack_start(button, TRUE, TRUE, 0)
|
|
142
|
+
button.show
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
window.show
|
|
146
|
+
Gtk::main()
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#! /usr/local/bin/ruby
|
|
2
|
+
|
|
3
|
+
## ID attribute for XPointer test implementation
|
|
4
|
+
## 1998 by yoshidam
|
|
5
|
+
|
|
6
|
+
require 'xml/dom/builder'
|
|
7
|
+
|
|
8
|
+
## create test XML tree
|
|
9
|
+
doc = XML::DOM::Builder.new.parse("
|
|
10
|
+
<test>
|
|
11
|
+
<section name=\"section1\">
|
|
12
|
+
<p id='para1'>test</p>
|
|
13
|
+
<p id='para2'>test</p>
|
|
14
|
+
</section>
|
|
15
|
+
<section name=\"section2\">
|
|
16
|
+
</section>
|
|
17
|
+
</test>
|
|
18
|
+
")
|
|
19
|
+
|
|
20
|
+
## setup ID attribute
|
|
21
|
+
doc._setIDAttr('id') ## for all element
|
|
22
|
+
doc._setIDAttr('name', 'section') ## for section element
|
|
23
|
+
|
|
24
|
+
## find ID attribute
|
|
25
|
+
p doc.getNodesByXPointer("id(section1)")[0].makeXPointer(false)
|
|
26
|
+
p doc.getNodesByXPointer("id(section1)")[0].makeXPointer(true)
|
|
27
|
+
p doc.getNodesByXPointer("id(para1)")[0].makeXPointer(false)
|
|
28
|
+
p doc.getNodesByXPointer("id(para1)")[0].makeXPointer(true)
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="euc-jp"?>
|
|
2
|
+
<!DOCTYPE document SYSTEM "document.dtd">
|
|
3
|
+
|
|
4
|
+
<document>
|
|
5
|
+
<title>�褷�������̩�Υڡ���</title>
|
|
6
|
+
|
|
7
|
+
<para>
|
|
8
|
+
�褷�������̩�Υڡ����ˤ褦������
|
|
9
|
+
</para>
|
|
10
|
+
<para>
|
|
11
|
+
���Υڡ����� HTML4.0��CSS 1.0 �˽�� Web �֥饦���DZ������뤳�Ȥ�
|
|
12
|
+
�����ᤷ�ޤ���
|
|
13
|
+
</para>
|
|
14
|
+
|
|
15
|
+
<index>
|
|
16
|
+
<link xml:link="simple" href="/">[bekkoame �ۡ���ڡ���]</link>
|
|
17
|
+
</index>
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
<section>
|
|
21
|
+
<heading>��������</heading>
|
|
22
|
+
<subsection>
|
|
23
|
+
<heading>1998/07/08</heading>
|
|
24
|
+
<list>
|
|
25
|
+
<item>XML2HTML �ǥڡ�������������褦�ˤ��ޤ���</item>
|
|
26
|
+
<item>Ruby �ڡ����� XMLParser �⥸�塼��� Uconv �⥸�塼��θ���
|
|
27
|
+
��Ϥ�ޤ���</item>
|
|
28
|
+
</list>
|
|
29
|
+
</subsection>
|
|
30
|
+
</section>
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
<section id="hobby">
|
|
34
|
+
<heading>��̣</heading>
|
|
35
|
+
<subsection id="ruby">
|
|
36
|
+
<heading><link xml:link="simple" href="Ruby.html">��Ruby</link></heading>
|
|
37
|
+
<para>�Ƕ�� Ruby �ʤΤǤ���</para>
|
|
38
|
+
</subsection>
|
|
39
|
+
|
|
40
|
+
<subsection id="xml">
|
|
41
|
+
<heading><link xml:link="simple" href="XML.html">��XML</link></heading>
|
|
42
|
+
<para>XML ���äƤޤ���</para>
|
|
43
|
+
<list>
|
|
44
|
+
<item>
|
|
45
|
+
<link xml:link="simple" href="index.xml">���Υڡ����Υ�����
|
|
46
|
+
(XML)</link>
|
|
47
|
+
</item>
|
|
48
|
+
<item>
|
|
49
|
+
<link xml:link="simple" href="document.dtd">���Υڡ����� DTD</link>
|
|
50
|
+
</item>
|
|
51
|
+
<item>
|
|
52
|
+
<link xml:link="simple" href="document.css">���Υڡ����Υ�������
|
|
53
|
+
������</link>
|
|
54
|
+
</item>
|
|
55
|
+
</list>
|
|
56
|
+
</subsection>
|
|
57
|
+
</section>
|
|
58
|
+
|
|
59
|
+
<section id="misc">
|
|
60
|
+
<heading>����¾�Υڡ���</heading>
|
|
61
|
+
<list>
|
|
62
|
+
<item><link xml:link="simple" href="http://www.cipuco.net/">
|
|
63
|
+
CIPUCO!!</link></item>
|
|
64
|
+
</list>
|
|
65
|
+
</section>
|
|
66
|
+
|
|
67
|
+
<rpara>
|
|
68
|
+
Copyright 1998 by
|
|
69
|
+
<link xml:link="simple" href="mailto:yoshidam@yoshidam.net">
|
|
70
|
+
Yoshida Masato (yoshidam@yoshidam.net)</link>
|
|
71
|
+
</rpara>
|
|
72
|
+
</document>
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-2022-jp"?>
|
|
2
|
+
<!DOCTYPE document SYSTEM "document.dtd">
|
|
3
|
+
|
|
4
|
+
<document>
|
|
5
|
+
<title>$B$h$7$@$`$NHkL)$N%Z!<%8(B</title>
|
|
6
|
+
|
|
7
|
+
<para>
|
|
8
|
+
$B$h$7$@$`$NHkL)$N%Z!<%8$K$h$&$3$=!y(B
|
|
9
|
+
</para>
|
|
10
|
+
<para>
|
|
11
|
+
$B$3$N%Z!<%8$O(B HTML4.0$B!$(BCSS 1.0 $B$K=`5r$7$?(B Web $B%V%i%&%6$G1\Mw$9$k$3$H$r(B
|
|
12
|
+
$B$*4+$a$7$^$9!#(B
|
|
13
|
+
</para>
|
|
14
|
+
|
|
15
|
+
<index>
|
|
16
|
+
<link xml:link="simple" href="/">[bekkoame $B%[!<%`%Z!<%8(B]</link>
|
|
17
|
+
</index>
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
<section>
|
|
21
|
+
<heading>$B99?7>pJs(B</heading>
|
|
22
|
+
<subsection>
|
|
23
|
+
<heading>1998/07/08</heading>
|
|
24
|
+
<list>
|
|
25
|
+
<item>XML2HTML $B$G%Z!<%8$r@8@.$9$k$h$&$K$7$^$7$?(B</item>
|
|
26
|
+
<item>Ruby $B%Z!<%8$G(B XMLParser $B%b%8%e!<%k$H(B Uconv $B%b%8%e!<%k$N8x3+(B
|
|
27
|
+
$B$r;O$a$^$7$?(B</item>
|
|
28
|
+
</list>
|
|
29
|
+
</subsection>
|
|
30
|
+
</section>
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
<section id="hobby">
|
|
34
|
+
<heading>$B<qL#(B</heading>
|
|
35
|
+
<subsection id="ruby">
|
|
36
|
+
<heading><link xml:link="simple" href="Ruby.html">$B"v(BRuby</link></heading>
|
|
37
|
+
<para>$B:G6a$O(B Ruby $B$J$N$G$9!#(B</para>
|
|
38
|
+
</subsection>
|
|
39
|
+
|
|
40
|
+
<subsection id="xml">
|
|
41
|
+
<heading><link xml:link="simple" href="XML.html">$B"v(BXML</link></heading>
|
|
42
|
+
<para>XML $B$b$d$C$F$^$9!#(B</para>
|
|
43
|
+
<list>
|
|
44
|
+
<item>
|
|
45
|
+
<link xml:link="simple" href="index.xml">$B$3$N%Z!<%8$N%=!<%9(B
|
|
46
|
+
(XML)</link>
|
|
47
|
+
</item>
|
|
48
|
+
<item>
|
|
49
|
+
<link xml:link="simple" href="document.dtd">$B$3$N%Z!<%8$N(B DTD</link>
|
|
50
|
+
</item>
|
|
51
|
+
<item>
|
|
52
|
+
<link xml:link="simple" href="document.css">$B$3$N%Z!<%8$N%9%?%$%k(B
|
|
53
|
+
$B%7!<%H(B</link>
|
|
54
|
+
</item>
|
|
55
|
+
</list>
|
|
56
|
+
</subsection>
|
|
57
|
+
</section>
|
|
58
|
+
|
|
59
|
+
<section id="misc">
|
|
60
|
+
<heading>$B$=$NB>$N%Z!<%8(B</heading>
|
|
61
|
+
<list>
|
|
62
|
+
<item><link xml:link="simple" href="http://www.cipuco.net/">
|
|
63
|
+
CIPUCO!!</link></item>
|
|
64
|
+
</list>
|
|
65
|
+
</section>
|
|
66
|
+
|
|
67
|
+
<rpara>
|
|
68
|
+
Copyright 1998 by
|
|
69
|
+
<link xml:link="simple" href="mailto:yoshidam@yoshidam.net">
|
|
70
|
+
Yoshida Masato (yoshidam@yoshidam.net)</link>
|
|
71
|
+
</rpara>
|
|
72
|
+
</document>
|