REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 2.71 KB
Close
/proc/thread-self/root/opt/alt/ruby18/lib64/ruby/1.8/xsd/ns.rb
Text
Base64
# XSD4R - XML Schema Namespace library # Copyright (C) 2000-2003, 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>. # This program is copyrighted free software by NAKAMURA, Hiroshi. You can # redistribute it and/or modify it under the same terms of Ruby's license; # either the dual license version in 2003, or any later version. require 'xsd/datatypes' module XSD class NS class Assigner def initialize @count = 0 end def assign(ns) @count += 1 "n#{@count}" end end attr_reader :default_namespace class FormatError < Error; end public def initialize(tag2ns = {}) @tag2ns = tag2ns @assigner = nil @ns2tag = {} @tag2ns.each do |tag, ns| @ns2tag[ns] = tag end @default_namespace = nil end def assign(ns, tag = nil) if (tag == '') @default_namespace = ns tag else @assigner ||= Assigner.new tag ||= @assigner.assign(ns) @ns2tag[ns] = tag @tag2ns[tag] = ns tag end end def assigned?(ns) @default_namespace == ns or @ns2tag.key?(ns) end def assigned_tag?(tag) @tag2ns.key?(tag) end def clone_ns cloned = NS.new(@tag2ns.dup) cloned.assigner = @assigner cloned.assign(@default_namespace, '') if @default_namespace cloned end def name(name) if (name.namespace == @default_namespace) name.name elsif @ns2tag.key?(name.namespace) "#{@ns2tag[name.namespace]}:#{name.name}" else raise FormatError.new("namespace: #{name.namespace} not defined yet") end end def compare(ns, name, rhs) if (ns == @default_namespace) return true if (name == rhs) end @tag2ns.each do |assigned_tag, assigned_ns| if assigned_ns == ns && "#{assigned_tag}:#{name}" == rhs return true end end false end # $1 and $2 are necessary. ParseRegexp = Regexp.new('^([^:]+)(?::(.+))?$') def parse(str, local = false) if ParseRegexp =~ str if (name = $2) and (ns = @tag2ns[$1]) return XSD::QName.new(ns, name) end end XSD::QName.new(local ? nil : @default_namespace, str) end # For local attribute key parsing # <foo xmlns="urn:a" xmlns:n1="urn:a" bar="1" n1:baz="2" /> # => # {}bar, {urn:a}baz def parse_local(elem) ParseRegexp =~ elem if $2 ns = @tag2ns[$1] name = $2 if !ns raise FormatError.new("unknown namespace qualifier: #{$1}") end elsif $1 ns = nil name = $1 else raise FormatError.new("illegal element format: #{elem}") end XSD::QName.new(ns, name) end def each_ns @ns2tag.each do |ns, tag| yield(ns, tag) end end protected def assigner=(assigner) @assigner = assigner end end end
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 2 × Files: 10
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
codegen
DIR
-
drwxr-xr-x
2024-03-03 22:48:14
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
xmlparser
DIR
-
drwxr-xr-x
2024-03-03 22:48:14
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
charset.rb
5.22 KB
lrw-r--r--
2007-02-12 23:01:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
codegen.rb
442 B
lrw-r--r--
2007-02-12 23:01:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
datatypes.rb
24.02 KB
lrw-r--r--
2007-02-12 23:01:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
datatypes1999.rb
671 B
lrw-r--r--
2007-02-12 23:01:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
iconvcharset.rb
697 B
lrw-r--r--
2007-02-12 23:01:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
mapping.rb
1.17 KB
lrw-r--r--
2007-02-12 23:01:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
namedelements.rb
1.40 KB
lrw-r--r--
2007-02-12 23:01:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ns.rb
2.71 KB
lrw-r--r--
2007-02-12 23:01:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
qname.rb
1.44 KB
lrw-r--r--
2007-02-12 23:01:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
xmlparser.rb
1.20 KB
lrw-r--r--
2007-02-12 23:01:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).