This is an automated email from the git hooks/post-receive script.

js pushed a commit to annotated tag debian/0.106-1
in repository librdf-rdfa-generator-perl.

commit 43934aad0c28c48e078456f8a8563b35dbdba8b0
Author: Toby Inkster <m...@tobyinkster.co.uk>
Date:   Fri Jun 4 13:55:31 2010 +0000

    cross-links in pretty RDFa; bump version number.
    
    --HG--
    branch : RDF-RDFa-Generator
    extra : convert_revision : 
svn%3A3fe8e991-6959-4966-b76d-b07eca2b6e37/RDF-RDFa-Generator%40386
---
 META.yml                                   |  3 +-
 example1-out.html                          | 13 +----
 example1.css                               | 13 +++++
 example1.pl                                |  4 +-
 lib/RDF/RDFa/Generator.pm                  |  2 +-
 lib/RDF/RDFa/Generator/HTML/Head.pm        |  2 +-
 lib/RDF/RDFa/Generator/HTML/Hidden.pm      |  2 +-
 lib/RDF/RDFa/Generator/HTML/Pretty.pm      | 93 ++++++++++++++++++++++++++----
 lib/RDF/RDFa/Generator/HTML/Pretty/Note.pm |  2 +-
 9 files changed, 106 insertions(+), 28 deletions(-)

diff --git a/META.yml b/META.yml
index 07dbe38..9a4b15d 100644
--- a/META.yml
+++ b/META.yml
@@ -29,4 +29,5 @@ resources:
   homepage: http://search.cpan.org/dist/RDF-RDFa-Generator/
   license: http://dev.perl.org/licenses/
   repository: http://goddamn.co.uk/viewvc/perlmods/RDF-RDFa-Generator/
-version: 0.05
+version: 0.06
+
diff --git a/example1-out.html b/example1-out.html
index 9aeb169..ac6675a 100644
--- a/example1-out.html
+++ b/example1-out.html
@@ -1,11 +1,2 @@
-<?xml version="1.0"?>
-<html xmlns="http://www.w3.org/1999/xhtml"; version="XHTML+RDFa 1.0">
-<head profile="http://www.w3.org/1999/xhtml/vocab";>
-<title>RDFa Document</title>
-<meta nane="generator" value="RDF::RDFa::Generator::HTML::Pretty"/>
-</head>
-<body>
-<h1>RDFa Document</h1>
-<p><small>Generated by RDF::RDFa::Generator::HTML::Pretty.</small></p>
-<div xmlns:foaf="http://xmlns.com/foaf/0.1/"; 
xmlns:xhv="http://www.w3.org/1999/xhtml/vocab#"; 
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";><div 
about="http://example.net/";><h3 class="resource">http://example.net/</h3><span 
class="rdf-type" rel="rdf:type"><img about="http://xmlns.com/foaf/0.1/Document"; 
alt="http://xmlns.com/foaf/0.1/Document"; 
src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXH
 [...]
-</html>
+<link rel=stylesheet href="example1.css">
+<div xmlns="http://www.w3.org/1999/xhtml"; 
xmlns:foaf="http://xmlns.com/foaf/0.1/"; 
xmlns:xhv="http://www.w3.org/1999/xhtml/vocab#"; 
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";><div 
id="id-_:r049E17D46FDF11DF9B46D954215DFA7Br0" 
about="[_:r049E17D46FDF11DF9B46D954215DFA7Br0]"><h3 
class="blank">_:r049E17D46FDF11DF9B46D954215DFA7Br0</h3><span class="rdf-type" 
rel="rdf:type"><img about="http://xmlns.com/foaf/0.1/Person"; 
alt="http://xmlns.com/foaf/0.1/Person"; src="data:image/gif;base [...]
diff --git a/example1.css b/example1.css
index fe9c401..1357dcb 100644
--- a/example1.css
+++ b/example1.css
@@ -31,3 +31,16 @@ div > div dl dt
        font-style: italic;
        font-size: smaller;
 }
+
+dd.seeAlso a, a[rel="seeAlso"]
+{
+       background: transparent 
url("data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEsSURBVDjLY/j//z8DJZhhmBuQvdj8a+p8w//xc3U5yTIgeb7h18bNUf/DZ2j8958qz0nQgPyltv9zF5v/TV9o/Ddxrv7fmvWh/1ednvi/ZLX/f9d+8b+23YI8eA0AOvn/hnPT/q89OwWsccXpCf8n7Cn5v/B41/+MpW7/TdvZ/+o2M/LjNADoZLDmvl35/zt3ZP9v3Zb2v2Fz4v+mren/Zxxq/h+zwOa/aj3DH5wGRM/W/L/y1IT/S0/0/l94rOv/vKMdQEOy/k8/1PQ/banHf8VahlfSlQwGOA0InK74z3Oi9D/nftF/1t38/+LmW/2f
 [...]
+       color: #393;
+       padding: 0 0 0 16px;
+       text-decoration: none;
+       font-size: 80%;
+}
+dd.seeAlso a[rel="seeAlso"]
+{
+       font-size: 100%;
+}
\ No newline at end of file
diff --git a/example1.pl b/example1.pl
index 0038b3d..ef64efe 100644
--- a/example1.pl
+++ b/example1.pl
@@ -23,5 +23,5 @@ my $graph = rdf_parse(<<TURTLE, type=>'turtle');
 
 TURTLE
 
-print 
RDF::RDFa::Generator->new(style=>'HTML::Pretty')->create_document($graph)->toString;
-
+my @nodes = 
RDF::RDFa::Generator->new(style=>'HTML::Pretty')->nodes($graph,id_prefix=>'id-',interlink=>'see
 also');
+print $_->toString foreach @nodes;
diff --git a/lib/RDF/RDFa/Generator.pm b/lib/RDF/RDFa/Generator.pm
index 78a5c36..938e436 100644
--- a/lib/RDF/RDFa/Generator.pm
+++ b/lib/RDF/RDFa/Generator.pm
@@ -13,7 +13,7 @@ package RDF::RDFa::Generator;
 use 5.008;
 use common::sense;
 
-our $VERSION = '0.05';
+our $VERSION = '0.06';
 
 use RDF::RDFa::Generator::HTML::Head;
 use RDF::RDFa::Generator::HTML::Hidden;
diff --git a/lib/RDF/RDFa/Generator/HTML/Head.pm 
b/lib/RDF/RDFa/Generator/HTML/Head.pm
index f4870a7..f599aef 100644
--- a/lib/RDF/RDFa/Generator/HTML/Head.pm
+++ b/lib/RDF/RDFa/Generator/HTML/Head.pm
@@ -6,7 +6,7 @@ use common::sense;
 use Encode qw'encode_utf8';
 use XML::LibXML qw':all';
 
-our $VERSION = '0.05';
+our $VERSION = '0.06';
 
 sub new
 {
diff --git a/lib/RDF/RDFa/Generator/HTML/Hidden.pm 
b/lib/RDF/RDFa/Generator/HTML/Hidden.pm
index a69ead3..6645f50 100644
--- a/lib/RDF/RDFa/Generator/HTML/Hidden.pm
+++ b/lib/RDF/RDFa/Generator/HTML/Hidden.pm
@@ -5,7 +5,7 @@ use base qw'RDF::RDFa::Generator::HTML::Head';
 use common::sense;
 use XML::LibXML qw':all';
 
-our $VERSION = '0.05';
+our $VERSION = '0.06';
 
 sub injection_site
 {
diff --git a/lib/RDF/RDFa/Generator/HTML/Pretty.pm 
b/lib/RDF/RDFa/Generator/HTML/Pretty.pm
index f6b34dc..1c48965 100644
--- a/lib/RDF/RDFa/Generator/HTML/Pretty.pm
+++ b/lib/RDF/RDFa/Generator/HTML/Pretty.pm
@@ -9,7 +9,7 @@ use Icon::FamFamFam::Silk;
 use RDF::RDFa::Generator::HTML::Pretty::Note;
 use XML::LibXML qw':all';
 
-our $VERSION = '0.05';
+our $VERSION = '0.06';
 
 sub create_document
 {
@@ -53,14 +53,17 @@ sub nodes
                push @{ $subjects->{$s} }, $st;
        }
        
-       foreach my $s (keys %$subjects)
+       foreach my $s (sort keys %$subjects)
        {
                my $subject_node = $root_node->addNewChild(XHTML_NS, 'div');
                
+               my $id = _make_id($s, $opts{'id_prefix'});
+               $subject_node->setAttribute('id', $id) if defined $id;
+               
                $self->_process_subject($subjects->{$s}->[0], $subject_node, 
$prefixes);
                $self->_resource_heading($subjects->{$s}->[0]->subject, 
$subject_node, $subjects->{$s}, $prefixes);
                $self->_resource_classes($subjects->{$s}->[0]->subject, 
$subject_node, $subjects->{$s}, $prefixes);
-               $self->_resource_statements($subjects->{$s}->[0]->subject, 
$subject_node, $subjects->{$s}, $prefixes);
+               $self->_resource_statements($subjects->{$s}->[0]->subject, 
$subject_node, $subjects->{$s}, $prefixes, $opts{'interlink'}||0, 
$opts{'id_prefix'}, $model);
                $self->_resource_notes($subjects->{$s}->[0]->subject, 
$subject_node, $model, $opts{'notes_heading'}||'Notes', $opts{'notes'})
                        if defined $opts{'notes'};
        }
@@ -93,6 +96,19 @@ sub nodes
        return $nodelist;
 }
 
+sub _make_id
+{
+       my ($ident, $prefix) = @_;
+       
+       if ($prefix =~ /^[A-Za-z][A-Za-z0-9\_\:\.\-]*$/)
+       {
+               $ident =~ s/([^A-Za-z0-9\_\:\.])/sprintf('-%x-',ord($1))/ge;
+               return $prefix . $ident;
+       }
+       
+       return undef;
+}
+
 sub _resource_heading
 {
        my ($self, $subject, $node, $statements, $prefixes) = @_;
@@ -139,7 +155,7 @@ sub _resource_classes
 
 sub _resource_statements
 {
-       my ($self, $subject, $node, $statements, $prefixes) = @_;
+       my ($self, $subject, $node, $statements, $prefixes, $interlink, 
$id_prefix, $model) = @_;
        
        my @statements = sort {
                $a->predicate->uri cmp $b->predicate->uri
@@ -164,34 +180,35 @@ sub _resource_statements
                        $DT->setAttribute('title', $st->predicate->uri);
                        
$DT->appendTextNode($self->_make_curie($st->predicate->uri, $prefixes));
                }
+               $current_property = $st->predicate->uri;
                
                my $DD = $DL->addNewChild(XHTML_NS, 'dd');
                
                if ($st->object->is_resource && $st->object->uri =~ 
/^javascript:/i)
                {
-                       $DD->setAttribute('rel',  
$self->_make_curie($st->predicate->uri, $prefixes));
                        $DD->setAttribute('class', 'resource');
                        
                        my $A = $DD->addNewChild(XHTML_NS, 'span');
-                       $A->setAttribute('about', $st->object->uri);
+                       $A->setAttribute('rel',  
$self->_make_curie($st->predicate->uri, $prefixes));
+                       $A->setAttribute('resource', $st->object->uri);
                        $A->appendTextNode($st->object->uri);
                }
                elsif ($st->object->is_resource)
                {
-                       $DD->setAttribute('rel',  
$self->_make_curie($st->predicate->uri, $prefixes));
                        $DD->setAttribute('class', 'resource');
                        
                        my $A = $DD->addNewChild(XHTML_NS, 'a');
+                       $A->setAttribute('rel',  
$self->_make_curie($st->predicate->uri, $prefixes));
                        $A->setAttribute('href', $st->object->uri);
-                       $A->appendTextNode($st->object->uri);
+                       $A->appendTextNode($st->object->uri);                   
                }
                elsif ($st->object->is_blank)
                {
-                       $DD->setAttribute('rel',  
$self->_make_curie($st->predicate->uri, $prefixes));
                        $DD->setAttribute('class', 'blank');
                        
                        my $A = $DD->addNewChild(XHTML_NS, 'span');
-                       $A->setAttribute('about', 
'[_:'.$st->object->blank_identifier.']');
+                       $A->setAttribute('rel',  
$self->_make_curie($st->predicate->uri, $prefixes));
+                       $A->setAttribute('resource', 
'[_:'.$st->object->blank_identifier.']');
                        $A->appendTextNode('_:'.$st->object->blank_identifier);
                }
                elsif ($st->object->is_literal
@@ -230,6 +247,62 @@ sub _resource_statements
                        $DD->setAttribute('datatype',  
$self->_make_curie($st->object->literal_datatype, $prefixes));
                        
$DD->appendTextNode(encode_utf8($st->object->literal_value));
                }
+
+               if ($interlink && !$st->object->is_literal)
+               {
+                       if ($model->count_statements($st->object, undef, undef))
+                       {
+                               $DD->appendTextNode(' ');
+                               my $seealso = $DD->addNewChild(XHTML_NS, 'a');
+                               $seealso->setAttribute('about', 
$st->object->is_resource ? $st->object->uri : 
'[_:'.$st->object->blank_identifier.']');
+                               $seealso->setAttribute('rel', 'seeAlso');
+                               $seealso->setAttribute('href', 
'#'._make_id($st->object->is_resource ? $st->object->uri : 
$st->object->blank_identifier, $id_prefix));
+                               $seealso->appendTextNode($interlink);
+                       }
+               }
+       }
+       
+       if ($interlink)
+       {
+               my $iter = $model->get_statements(undef, undef, $subject);
+               if ($iter->peek)
+               {
+                       my $seealsoDT = $DL->addNewChild(XHTML_NS, 'dt');
+                       $seealsoDT->setAttribute('class', 'seeAlso');
+                       $seealsoDT->appendTextNode($interlink);
+
+                       my $sadata = {};
+                       while (my $sast = $iter->next)
+                       {
+                               my $sas = $sast->subject->is_resource ? 
$sast->subject->uri : $sast->subject->blank_identifier;
+                               my $p = 
$self->_make_curie($sast->predicate->uri, $prefixes);
+                               $sadata->{$sas}->{$p} = $sast->predicate->uri;
+                       }
+                       
+                       my $seealso = $DL->addNewChild(XHTML_NS, 'dd');
+                       $seealso->setAttribute('class', 'seeAlso');
+                       my @keys = sort keys %$sadata;
+                       foreach my $sas (@keys)
+                       {
+                               my $span = $seealso->addNewChild(XHTML_NS, 
'span');
+                               $span->appendTextNode('is ');
+                               my @pkeys = sort keys %{$sadata->{$sas}};
+                               foreach my $curie (@pkeys)
+                               {
+                                       my $i = $span->addNewChild(XHTML_NS, 
'i');
+                                       $i->appendTextNode($curie);
+                                       $i->setAttribute(title => 
$sadata->{$sas}->{$curie});
+                                       $seealso->appendTextNode( $curie eq 
$pkeys[-1] ? '' : ', ' );
+                               }
+                               $span->appendTextNode(' of ');
+                               my $a = $span->addNewChild(XHTML_NS, 'a');
+                               $a->setAttribute('about', $sas !~ /^_:/ ? $sas 
: '[_:'.$sas.']');
+                               $a->setAttribute('rel', 'seeAlso');
+                               $a->setAttribute('href', '#'._make_id($sas, 
$id_prefix));
+                               $a->appendTextNode($sas);
+                               $seealso->appendTextNode( $sas eq $keys[-1] ? 
'.' : '; ' );
+                       }
+               }
        }
        
        return $self;
diff --git a/lib/RDF/RDFa/Generator/HTML/Pretty/Note.pm 
b/lib/RDF/RDFa/Generator/HTML/Pretty/Note.pm
index 8cc4ea3..c8a496f 100644
--- a/lib/RDF/RDFa/Generator/HTML/Pretty/Note.pm
+++ b/lib/RDF/RDFa/Generator/HTML/Pretty/Note.pm
@@ -11,7 +11,7 @@ use common::sense;
 use constant XHTML_NS => 'http://www.w3.org/1999/xhtml';
 use XML::LibXML qw':all';
 
-our $VERSION = '0.05';
+our $VERSION = '0.06';
 
 =head1 DESCRIPTION
 

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-perl/packages/librdf-rdfa-generator-perl.git

_______________________________________________
Pkg-perl-cvs-commits mailing list
Pkg-perl-cvs-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits

Reply via email to