.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.14) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "TM::Synchronizable::MapSphere 3pm" .TH TM::Synchronizable::MapSphere 3pm "2008-04-10" "perl v5.10.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" TM::Synchronizable::MapSphere \- Topic Maps, trait for a syncing a hierarchical TM repository .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 7 \& use TM; \& use base qw(TM); \& use Class::Trait (\*(AqTM::MapSphere\*(Aq, \& \*(AqTM::Synchronizable::MLDBM\*(Aq => { \& exclude => [ "sync_in", "sync_out" ] \& }, \& \*(AqTM::Synchronizable::MapSphere\*(Aq); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This trait adds \f(CW\*(C`sync_in\*(C'\fR and \f(CW\*(C`sync_out\*(C'\fR functionality to a map sphere. The point here is that embedded child maps are also synced out or in. .SS "Map Meta Data" .IX Subsection "Map Meta Data" .SH "INTERFACE" .IX Header "INTERFACE" .SS "Methods" .IX Subsection "Methods" .IP "\fBsync_in\fR" 4 .IX Item "sync_in" \&\fI\f(CI$ms\fI\fR\->sync_in (\fI\f(CI$path\fI\fR) .Sp A whole subtree of the map repository can be \fIsync'ed in\fR, i.e. synchronized with contents in an associated resource. If this method is triggered with a particular path, then the map there will be (a) synced in, (b) queried for sub-maps and (c) these sub-maps will be instantiated. Recursively, these submaps will be sync'ed in, etc. All these sub maps will be mounted under this branch of the tree. .Sp When a map is instantiated, its implementation package will be extracted from the parent map using a \&\f(CW\*(C`implementation\*(C'\fR characteristic. The resource \s-1URL\s0 will be determined from one of the subject indicators, the base \s-1URI\s0 will be determined from the subject address of the map topic. If any of these are missing, this particular sub-map is ignored. .Sp \&\fBExample\fR: Let us assume that a map has a \f(CW\*(C`baseuri\*(C'\fR \f(CW\*(C`http://whatever/\*(C'\fR and a resource \s-1URL\s0 \&\f(CW\*(C`http://example.org/here.xtm\*(C'\fR. It is a materialized map using the \s-1XTM\s0 driver. If this map is mounted into a root map under \f(CW\*(C`/foo/\*(C'\fR, then the entry will take the form (using AsTMa= 2.0 as notation): .Sp .Vb 4 \& foo isa topicmap \& ~ http://example.org/here.xtm \& = http://whatever/ \& implementation: TM::Materialized::XTM .Ve .Sp @@@ \s-1TODO:\s0 no path @@@@? .IP "\fBsync_out\fR" 4 .IX Item "sync_out" \&\fI\f(CI$ms\fI\fR\->sync_out ([ \fI\f(CI$path\fI\fR ], [ \fI\f(CI$depth\fI\fR ]) .Sp This method syncs out not only the root map sphere object (at least if the resource \f(CW\*(C`mtime\*(C'\fR is earlier that any change on the map sphere). The method also consults the mount tab to find child maps and will sync them out as well. .Sp The optional \f(CW\*(C`path\*(C'\fR parameter controls which subtree should be synced out. It defaults to \f(CW\*(C`/\*(C'\fR. .Sp The optional \f(CW$depth\fR controls how deep the subtree should be followed downwards. Default is \&\f(CW\*(C`MAX_DEPTH\*(C'\fR (see the source). .SH "AUTHOR" .IX Header "AUTHOR" Robert Barta, .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright (C) 200[67] by Robert Barta .PP This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.