/// <exception cref="XmpException"/> public void SetStructField(string schemaNs, string structName, string fieldNs, string fieldName, string fieldValue, PropertyOptions options) { ParameterAsserts.AssertSchemaNs(schemaNs); ParameterAsserts.AssertStructName(structName); var fieldPath = structName + XmpPathFactory.ComposeStructFieldPath(fieldNs, fieldName); SetProperty(schemaNs, fieldPath, fieldValue, options); }
/// <exception cref="XmpException"/> public IXmpProperty GetStructField(string schemaNs, string structName, string fieldNs, string fieldName) { // fieldNS and fieldName are checked inside composeStructFieldPath ParameterAsserts.AssertSchemaNs(schemaNs); ParameterAsserts.AssertStructName(structName); var fieldPath = structName + XmpPathFactory.ComposeStructFieldPath(fieldNs, fieldName); return(GetProperty(schemaNs, fieldPath)); }
public void DeleteStructField(string schemaNs, string structName, string fieldNs, string fieldName) { try { // fieldNS and fieldName are checked inside composeStructFieldPath ParameterAsserts.AssertSchemaNs(schemaNs); ParameterAsserts.AssertStructName(structName); var fieldPath = structName + XmpPathFactory.ComposeStructFieldPath(fieldNs, fieldName); DeleteProperty(schemaNs, fieldPath); } catch (XmpException) { } }
public bool DoesStructFieldExist(string schemaNs, string structName, string fieldNs, string fieldName) { try { // fieldNS and fieldName are checked inside composeStructFieldPath() ParameterAsserts.AssertSchemaNs(schemaNs); ParameterAsserts.AssertStructName(structName); var path = XmpPathFactory.ComposeStructFieldPath(fieldNs, fieldName); return(DoesPropertyExist(schemaNs, structName + path)); } catch (XmpException) { return(false); } }