PropertyPtr PropertyHolder::PropertyMatching(const string& reference, const string& prefix, bool lookupParents) const
{
    IRI iri = MakePropertyIRI(reference, prefix);
    if ( iri.IsEmpty() )
        return false;
    return PropertyMatching(iri, lookupParents);
}
void PropertyHolder::RemoveProperty(const string& reference, const string& prefix)
{
    IRI iri = MakePropertyIRI(reference, prefix);
    if ( iri.IsEmpty() )
        return;
    RemoveProperty(iri);
}
bool PropertyHolder::ContainsProperty(const string& reference, const string& prefix, bool lookupParents) const
{
    IRI iri = MakePropertyIRI(reference, prefix);
    if ( iri.IsEmpty() )
        return false;
    return ContainsProperty(iri, lookupParents);
}
Пример #4
0
EPUB3_EXPORT
DCType DCTypeFromIRI(const IRI& iri)
{
    if ( iri.IsEmpty() )
        return DCType::Invalid;
    auto found = NameToIDMap.find(iri.Fragment());
    if ( found == NameToIDMap.end() )
        return DCType::Custom;
    return found->second;
}
void PropertyHolder::BuildPropertyList(PropertyList& output, const IRI& iri) const
{
    if ( iri.IsEmpty() )
        return;
    
    for ( auto& i : _properties )
    {
        if ( i->PropertyIdentifier() == iri || i->HasExtensionWithIdentifier(iri) )
            output.push_back(i);
    }
}