internal static void ImportCnfAttribute(IfcDoc.Schema.CNF.exp_attribute exp_attribute, bool keep, Schema.CNF.boolean_or_unspecified tagless, DocEntity docEntity, DocAttribute docAttribute, DocModelView docView)
{
DocXsdFormatEnum xsdformat = DocXsdFormatEnum.Default;
if (exp_attribute == Schema.CNF.exp_attribute.attribute_content)
{
xsdformat = DocXsdFormatEnum.Content;
}
else if (exp_attribute == Schema.CNF.exp_attribute.attribute_tag)
{
xsdformat = DocXsdFormatEnum.Attribute;
}
else if (exp_attribute == Schema.CNF.exp_attribute.double_tag)
{
xsdformat = DocXsdFormatEnum.Element;
}
else if (!keep)
{
xsdformat = DocXsdFormatEnum.Hidden;
}
else
{
xsdformat = DocXsdFormatEnum.Element;
}
bool? booltagless = null;
switch (tagless)
{
case Schema.CNF.boolean_or_unspecified.boolean_true:
booltagless = true;
break;
case Schema.CNF.boolean_or_unspecified.boolean_false:
booltagless = false;
break;
}
if (docView != null)
{
// configure specific model view
DocXsdFormat docFormat = new DocXsdFormat();
docFormat.Entity = docEntity.Name;
docFormat.Attribute = docAttribute.Name;
docFormat.XsdFormat = xsdformat;
docFormat.XsdTagless = booltagless;
docView.XsdFormats.Add(docFormat);
}
else
{
// configure default
docAttribute.XsdFormat = xsdformat;
docAttribute.XsdTagless = booltagless;
}
}