private SemanticSchemaData GetSemanticSchema(Schema schema) { try { SemanticTypeData[] semanticTypes = GetSemanticTypes(schema).ToArray(); SemanticSchemaData semanticSchema = new SemanticSchemaData { Id = schema.Id.ItemId, RootElement = GetSemanticRootElementName(schema), Semantics = semanticTypes }; _currentSchema = schema; SchemaFields schemaFields = new SchemaFields(schema, expandEmbeddedFields: true); List <SemanticSchemaFieldData> semanticSchemaFields = new List <SemanticSchemaFieldData>(); semanticSchemaFields.AddRange(GetSemanticSchemaFields(schemaFields.Fields, semanticTypes, schema, "/" + schema.RootElementName)); semanticSchemaFields.AddRange(GetSemanticSchemaFields(schemaFields.MetadataFields, semanticTypes, schema, "/Metadata")); semanticSchema.Fields = semanticSchemaFields.ToArray(); return(semanticSchema); } catch (Exception ex) { throw new DxaException( string.Format("An error occurred while generating the semantic schema for Schema '{0}' ({1}).", schema.Title, schema.Id), ex ); } }
private SemanticSchemaData GetSemanticSchema(Schema schema) { try { SemanticTypeData[] semanticTypes = GetSemanticTypes(schema).ToArray(); SemanticSchemaData semanticSchema = new SemanticSchemaData { Id = schema.Id.ItemId, RootElement = GetSemanticRootElementName(schema), Semantics = semanticTypes }; _currentSchema = schema; SchemaFields schemaFields = new SchemaFields(schema, expandEmbeddedFields: true); List<SemanticSchemaFieldData> semanticSchemaFields = new List<SemanticSchemaFieldData>(); semanticSchemaFields.AddRange(GetSemanticSchemaFields(schemaFields.Fields, semanticTypes, schema, "/" + schema.RootElementName)); semanticSchemaFields.AddRange(GetSemanticSchemaFields(schemaFields.MetadataFields, semanticTypes, schema, "/Metadata")); semanticSchema.Fields = semanticSchemaFields.ToArray(); return semanticSchema; } catch (Exception ex) { throw new DxaException( string.Format("An error occurred while generating the semantic schema for Schema '{0}' ({1}).", schema.Title, schema.Id), ex ); } }