private void ValidateScenarioNode(INode ScenarioNode) { if (ScenarioNode.NamespaceURI.Equals(XbrlDocument.XbrlNamespaceUri) == true) { string MessageFormat = AssemblyResources.GetName("ScenarioNodeUsingXBRLNamespace"); StringBuilder MessageBuilder = new StringBuilder(); MessageBuilder.AppendFormat(MessageFormat, validatingContext.Id, ScenarioNode.Name); this.validatingFragment.AddValidationError(new ContextValidationError(validatingContext, MessageBuilder.ToString())); } if (ScenarioNode.Prefix.Length > 0) { XbrlSchema NodeSchema = this.validatingFragment.GetXbrlSchemaForPrefix(ScenarioNode.Prefix); if (NodeSchema != null) { Element NodeElement = NodeSchema.GetElement(ScenarioNode.LocalName); if (NodeElement != null) { if (NodeElement.SubstitutionGroup != Element.ElementSubstitutionGroup.Unknown) { string MessageFormat = AssemblyResources.GetName("ScenarioNodeUsingSubGroupInXBRLNamespace"); StringBuilder MessageBuilder = new StringBuilder(); MessageBuilder.AppendFormat(MessageFormat, validatingContext.Id, ScenarioNode.Name, NodeSchema.Path); this.validatingFragment.AddValidationError(new ContextValidationError(validatingContext, MessageBuilder.ToString())); } } } } foreach (INode CurrentChild in ScenarioNode.ChildNodes) { ValidateScenarioNode(CurrentChild); } }
private void ValidateSegmentNodePrefix(INode SegmentNode) { if (SegmentNode.Prefix.Length > 0) { XbrlSchema NodeSchema = this.validatingFragment.GetXbrlSchemaForPrefix(SegmentNode.Prefix); if (NodeSchema != null) { Element NodeElement = NodeSchema.GetElement(SegmentNode.LocalName); if (NodeElement != null) { if (NodeElement.SubstitutionGroup != Element.ElementSubstitutionGroup.Unknown) { string MessageFormat = AssemblyResources.GetName("SegmentNodeUsingSubGroupInXBRLNamespace"); StringBuilder MessageBuilder = new StringBuilder(); MessageBuilder.AppendFormat(MessageFormat, validatingContext.Id, SegmentNode.Name, NodeSchema.Path); this.validatingFragment.AddValidationError(new ContextValidationError(validatingContext, MessageBuilder.ToString())); } } } } }