bpaciao / epubcheck

Automatically exported from code.google.com/p/epubcheck
MIT License
0 stars 0 forks source link

value of attribute "unique-identifier" is invalid; must be an XML name without colons #163

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
PROBLEM:Validation fails because  of the two following Errors:
1. ERROR: /Volumes/Data Partition TBD/Ellen_eBooks/The Moon QXP version/The 
Moon Has Fallen_2.epub/OEBPS/content.opf(2): value of attribute 
"unique-identifier" is invalid; must be an XML name without colons
the offending code is:
<package xmlns="http://www.idpf.org/2007/opf" version="2.0" 
unique-identifier="978-0-9852681-0-7"> (where the unique-identifier is my ISBN 
number.)

2.ERROR: /Volumes/Data Partition TBD/Ellen_eBooks/The Moon QXP version/The Moon 
Has Fallen_2.epub/OEBPS/content.opf: unique-identifier attribute in package 
element must reference an existing identifier element id
The offending code is:
<dc:identifier id="bookid" opf:scheme="ISBN">978-0-9852681-0-7</dc:identifier>

This is most frustrating and I would appreciate any help. Thank you in advance.

Give a brief description of the problem

METHOD:

What steps will reproduce the problem?
1.
2.
3.

RESULT:

What happens?

EXPECTED:

What did you expect to happen? It is very important to state what your
expectation is.

PLATFORM:

What version of the product are you using? On what operating system?

ADDITIONAL INFO:

Please provide any additional information below.

Original issue reported on code.google.com by gos...@gmail.com on 21 Mar 2012 at 5:50

GoogleCodeExporter commented 9 years ago
DITTO!! Very frustrating...

Original comment by website....@gmail.com on 6 Apr 2012 at 4:51

GoogleCodeExporter commented 9 years ago
I came across an excellent clue that pointed to "opf.scheme=" as being the 
culprit. When I changed that bit of code as follows"
From <dc:identifier id="bookid" opf:scheme="ISBN"> 
978-0-9852681-0-7</dc:identifier>
to this
<dc:identifier id="bookid">urn:isbn:978-0-9852681-0-7</dc:identifier>
it validated properly with no error or warning messages.

Original comment by gos...@gmail.com on 6 Apr 2012 at 5:04

GoogleCodeExporter commented 9 years ago
gosius, the problem in your initial post is that the unique-identifier 
attribute on the root element takes an IDREF, not the actual identifier value. 
This has nothing to do with opf:scheme being present or not.

A valid example is available at 
http://code.google.com/p/epubcheck/source/browse/branches/epub3/com.adobe.epubch
eck.test/testdocs/20/expanded/valid/lorem-uidspaces/EPUB/lorem.opf

Original comment by markus.g...@gmail.com on 15 Apr 2012 at 10:44

GoogleCodeExporter commented 9 years ago
Thank you - I appreciate your response. After much detective work, I found
the only thing that worked for me was:
<?xml version="1.0" encoding="UTF-8" ?>
<package version="2.0" unique-identifier="bookid" xmlns:dc="
http://purl.org/dc/elements/1.1/" xmlns="http://www.idpf.org/2007/opf">
<metadata>
<dc:title>The Moon Has Farten!!</dc:title>
<dc:creator>Ellen Shire</dc:creator>
<dc:publisher>Ellen Shire</dc:publisher>
<dc:date>2012</dc:date>
<dc:language>en</dc:language>
<dc:identifier id="bookid">urn:isbn:978-0-9852681-0-7</dc:identifier>
<meta name="cover" content="imgcov" />
</metadata>
<manifest>
<item id="ncx" href="toc.ncx" media-type="application/x-dtbncx+xml" />
<item id="css" href="styles.css" media-type="text/css" />
<item id="pg001" href="page_001.xhtml" media-type="application/xhtml+xml" />
Notice the <dc:identifier form which includes "urn:isbn:---".
Thanks again

-- 
“Being president is like running a cemetery: you’ve got a lot of people
under you and nobody’s listening.”

–Bill Clinton

Gary E. Osius, Manhattan Project Design
845 West End Avenue
New York, NY 10025
http://www.manhattanprojectdesign.com

Original comment by gos...@gmail.com on 15 Apr 2012 at 5:18

GoogleCodeExporter commented 9 years ago
Hi there...
I tried to investigate a lot to find the reason for this error message. When I 
look in my toc.ncx and content.opf this identifier isn't there. I've attached 
my elements from toc.ncx, content.opf and the warning message from 
epub-checker. 

Can anyone help bringing me in the right direction. 

Error message from epub-checker:
WARNING: ePub_ILSG_978-87-996596-1-6.epub/OEBPS/toc.ncx: meta@dtb:uid content 
'1e74077c-6441-4694-bf29-bec5354541ef' should conform to unique-identifier in 
content.opf: 'urn:uuid:1e74077c-6441-4694-bf29-bec5354541ef'

Content.pdf
<?xml version="1.0" encoding="UTF-8"?>
<package xmlns="http://www.idpf.org/2007/opf" 
        xmlns:opf="http://www.idpf.org/2007/opf" unique-identifier="uid" version="2.0">
    <metadata xmlns:dc="http://purl.org/dv/elements/1.1/">
        <meta name="cover" content="Cover" />

        <dc:Identifier id="uid" opf:scheme="ISBN">978-87-996596-1-6</dc:Identifier>
        <dc:title>I lære som Gud</dc:title>
        <dc:creator>Lars J. Østergaard</dc:creator>
        <dc:subject>Krimi & spænding</dc:subject>
        <dc:description></dc:description>
        <dc:publisher>Mediart ApS | www.mediart.dk</dc:publisher>
        <dc:date>2013-12-08</dc:date>
        <dc:language>da</dc:language>

    </metadata>

<!-- **** -->   

<manifest>

<item id="template" href="template.css" media-type="text/css" />
<item id="ncx" href="toc.ncx" media-type="application/x-dtbncx+xml" />
<item id="Cover" href="images/Cover.jpg" media-type="image/jpeg" />

</manifest>

My toc.ncx
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE ncx PUBLIC "-//NISO//DTD ncx 2005-1//EN" 
"http://www.daisy.org/z3986/2005/ncx-2005-1.dtd">
<ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1">
    <!-- Generated by ePubCrawler 0.2.5 (http://www.rorohiko.com/ePubCrawler) -->
        <meta name="dtb:uid" content="bookid" />

    <head>
        <meta name="dtb:depth" content="2" />
        <meta content="978-87-996596-1-6"/>

    </head>
    <docTitle>
        <text>I lære som Gud (ePub)</text>
    </docTitle>

<!-- **** -->   

<navMap>

<navPoint id="p1" playOrder="1">
    <navLabel>
        <text>Forside</text>
    </navLabel>
    <content src="p1.xhtml" />
</navPoint>
</navMap>
</ncx>

Original comment by jantande...@gmail.com on 8 Dec 2013 at 2:25

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
gosius is right: the only combination that worked (for me) in getting rid of 
errors was unique-identifier="uid" and using <dc:identifier 
id="uid">urn:isbn:123-4-5678910-1-1</dc:identifier>

MAKING SURE THAT THE NCX FILE MIRRORS THIS EXACTLY:

<meta name="dtb:uid" content="urn:isbn:123-4-5678910-1-1" />

Otherwise if that's incorrect then the validator should not be taking the 
"urn:isbn:" part so literally from the OPF file.

Original comment by noisyblo...@gmail.com on 6 Jan 2014 at 6:16