Name: WikiNamespace FullName: WikiNamespace support URI: IW:SuikaWiki:"SuikaWiki//Namespace" { Name: wikiform_input/ns-short-page-name wikiview/ns-short-page-name FullName: Short (non-namespace-prefixed) name of WikiPage Format: $r = SuikaWiki::Name::Space::get_short_name (SuikaWiki::Name::Space::normalize_name ($p->{page} || $o->{page})); $r = $o->escape ($r); } { Name: wikipage-link/ns-short-page-name FullName: Short (non-namespace-prefixed) name of WikiPage Format: $r = SuikaWiki::Markup::XML->new (type => '#text', value => SuikaWiki::Name::Space::get_short_name (SuikaWiki::Name::Space::normalize_name ($o->{link}->{dest}->{page_name}))); } { Name: wikiview/ns-normalized-page-name FullName: Normalized name of WikiPage Format: $r = SuikaWiki::Name::Space::normalize_name ($p->{page} || $o->{page}); $r = $o->escape ($r); } { Name: wikipage_list_item/ns-normalized-page-name FullName: Normalized name of WikiPage Format: $r = $o->escape (SuikaWiki::Name::Space::normalize_name ($p->{page} || $o->{page})); } { Name: wikiview/ns-page-path-name FullName: Path (namespace prefix) of WikiPage Format: $r = SuikaWiki::Name::Space::get_path_name (SuikaWiki::Name::Space::normalize_name ($p->{page} || $o->{page})); substr ($r, -2) = '' if $r; $r = SuikaWiki::Markup::XML->new (type => '#text', value => $r); } { Name: wikipage-link/ns-page-path-name FullName: Path (namespace prefix) of WikiPage Format: $r = SuikaWiki::Name::Space::get_path_name (SuikaWiki::Name::Space::normalize_name ($o->{link}->{dest}->{page_name})); substr ($r, -2) = '' if $r; $r = SuikaWiki::Markup::XML->new (type => '#text', value => $r); } { Name: wikiview/is-child-of-root-ns FullName: Whether a child of the root namespace Format: $p->{page} ||= $o->{page}; $r = $o->formatter_replace_if_not_parsed_yet ('view', $p => ($p->{page} !~ /\Q$SuikaWiki::Name::Space::Delimiter\E/ ? 'true' : 'false')); } MODULE: # SuikaWiki::View->template ('links')->add_line (q(%is-child-of-root-ns(false=>"%link-wiki(page=>\"%ns-page-path-name;\"p,rel=>up,class=>wiki,title=>\"%ns-normalized-page-name(page=>\\\\\"%ns-page-path-name;\\\\\"p);\"p);");)); ## Public functions sub resolve_relative_name ($$$) { my (undef, $base, $relative) = @_; SuikaWiki::Name::Space::normalize_name ( ## Foo// + .//Bar -> Foo////Bar SuikaWiki::Name::Space::resolve_relative_name ( SuikaWiki::Name::Space::normalize_name ($base, -might_be_ns_path => 1) => SuikaWiki::Name::Space::normalize_name ($relative))); } POD:LICENSE: Copyright 2003 Wakaba <w@suika.fam.cx> %%GNUGPL2%%