Bloom.Publish.EpubMaker.GetIdOfFile C# (CSharp) Method

GetIdOfFile() private method

Since file names often start with numbers, which ePUB validation won't allow for element IDs, stick an 'f' in front. Generally clean up file name to make a valid ID as similar as possible.
private GetIdOfFile ( string item ) : string
item string
return string
        private string GetIdOfFile(string item)
        {
            string id;
            if (_mapItemToId.TryGetValue(item, out id))
                return id;
            id = ToValidXmlId(Path.GetFileNameWithoutExtension(item));
            var idOriginal = id;
            for (int i = 1; _idsUsed.Contains(id.ToLowerInvariant()); i++)
            {
                // Somehow we made a clash
                id = idOriginal + i;
            }
            _idsUsed.Add(id.ToLowerInvariant());
            _mapItemToId[item] = id;

            return id;
        }