internal static void parseFields(IfcDocumentInformation d, List<string> arrFields, ref int ipos, ReleaseVersion schema)
{
IfcExternalInformation.parseFields(d, arrFields, ref ipos);
d.mIdentification = arrFields[ipos++].Replace("'", "");
d.mName = arrFields[ipos++].Replace("'", "");
d.mDescription = arrFields[ipos++].Replace("'", "");
if (schema == ReleaseVersion.IFC2x3)
d.mDocumentReferences = ParserSTEP.SplitListLinks(arrFields[ipos++]);
else
d.mLocation = arrFields[ipos++].Replace("'", "");
d.mPurpose = arrFields[ipos++].Replace("'", "");
d.mIntendedUse = arrFields[ipos++].Replace("'", "");
d.mScope = arrFields[ipos++].Replace("'", "");
d.mRevision = arrFields[ipos++].Replace("'", "");
d.mDocumentOwner = ParserSTEP.ParseLink(arrFields[ipos++]);
string s = arrFields[ipos++];
if (s[0] != '$')
d.mEditors = ParserSTEP.SplitListLinks(s);
d.mCreationTime = arrFields[ipos++];
d.mLastRevisionTime = arrFields[ipos++];
if (schema == ReleaseVersion.IFC2x3)
d.mSSElectronicFormat = ParserSTEP.ParseLink(arrFields[ipos++]);
else
d.mElectronicFormat = arrFields[ipos++].Replace("'", "");
d.mValidFrom = arrFields[ipos++];
d.mValidUntil = arrFields[ipos++];
s = arrFields[ipos++];
if (s[0] == '.')
d.mConfidentiality = (IfcDocumentConfidentialityEnum)Enum.Parse(typeof(IfcDocumentConfidentialityEnum), s.Substring(1, s.Length - 2));
s = arrFields[ipos++];
if (s[0] == '.')
d.mStatus = (IfcDocumentStatusEnum)Enum.Parse(typeof(IfcDocumentStatusEnum), s.Substring(1, s.Length - 2));
}
}