[cc-devel] Bugs on PdfLicenseManager
Juan José Marín Martínez
juanj.marin at juntadeandalucia.es
Sat Jun 6 05:36:26 EDT 2009
Hi,
For testing my patch for adding support for evince, the GNOME document viewer,
I try the PdfLicenseManager.
I've realised that this program doesn't tag the pdfs correctly. Possibly the
example PDF on [1], that I mentioned on a previous message on this list [2]
was tagged with this program. I was told that the licence uri must be a a
resource, not a literal.
I've written a quick and dirty patch for this [3]
Others bugs/ missing features I found are:
1) It doesn't let you to enter the web statement of your choice. It sets the
web statement with the license uri. This is a bug, FMHO and it asks loudly for
a feature ;). The web statement must be optional and be choosen by the user
(additionally the uri can be checked syntactically and even checked for
availability)
2) Only tag the with lang='x-default'. It would be nice to tag other languages
too.
3) It must let you to choose the Jurisdiction of your license
4) The interface is only in English.
-- Juanjo Marín
[1] http://bugzilla.gnome.org/show_bug.cgi?id=349173#c6
[2] http://lists.ibiblio.org/pipermail/cc-devel/2009-June/001385.html
[3]
Index: pdflicense/XmpManager.java
===================================================================
--- pdflicense/XmpManager.java (revisión: 12728)
+++ pdflicense/XmpManager.java (copia de trabajo)
@@ -87,11 +87,11 @@
nl = doc.getElementsByTagName("cc:license");
if (nl!=null) {
- Node cclicense = nl.item(0);
+ Element cclicense = (Element)nl.item(0);
if (cclicense != null) {
- Node text = cclicense.getFirstChild();
+ Attr text = cclicense.getAttributeNode("rdf:resource");
if (text != null) {
- lic.setCCLicense( text.getNodeValue() );
+ lic.setCCLicense( text.getValue() );
}
}
}
@@ -175,7 +175,7 @@
Element cclicense = doc.createElement("cc:license");
descr.setAttribute("rdf:about", "");
descr.setAttribute("xmlns:cc", "http://creativecommons.org/ns#");
- cclicense.appendChild(doc.createTextNode(lic.getUrl()) );
+ cclicense.setAttribute("rdf:resource", lic.getUrl() );
//cclicense.setAttribute("rdf:", lic.getUrl() );
descr.appendChild(cclicense);
rdf.appendChild(descr);
@@ -313,7 +313,7 @@
s.append(" </rdf:Description>\n");
s.append(" <rdf:Description rdf:about=''
xmlns:cc='http://creativecommons.org/ns#'>\n");
- s.append(" <cc:license>"+lic.getUrl()+"</cc:license>\n");
+ s.append(" <cc:license rdf:resource="+lic.getUrl()+"/>\n");
s.append(" </rdf:Description>\n");
s.append("</rdf:RDF>\n");
More information about the cc-devel
mailing list