Ejemplo n.º 1
0
        /// <summary>
        /// Get Derivation enumeration .
        /// </summary>
        public static StructureDefinition.TypeDerivationRule GetDerivation(this ElementDefinition elementDefinition)
        {
            Extension ns = elementDefinition.GetExtension(DerivationExtensionUri);

            if (ns == null)
            {
                throw new Exception("Missing Derivation extension element");
            }
            Code value = (Code)ns.Value;

            switch (value.Value)
            {
            case "specialization": return(StructureDefinition.TypeDerivationRule.Specialization);

            case "constraint": return(StructureDefinition.TypeDerivationRule.Constraint);

            default: throw new Exception($"Unexpected value in Derivation code {value.Value}");
            }
        }