private void ProcessUnknownChildElements(ICollection <string> knownItems, XmlElement element, MessageVisitor visitor) { IList <XmlElement> children = NodeUtil.ToElementList(element); foreach (XmlElement child in children) { if (!NamespaceUtil.IsHl7Node(child)) { } else { // ignore it string localOrTagName = NodeUtil.GetLocalOrTagName(child); if (!knownItems.Contains(localOrTagName)) { knownItems.Add(localOrTagName); // this call will intentionally fail fast with an error (since relationship is null) visitor.VisitNonStructuralAttribute(element, Arrays.AsList(child), null); } } } }
private void ProcessRelationship(Interaction interaction, MessagePart messagePart, RelationshipBridge relationship, MessageVisitor visitor) { if (relationship.IsStructuralAttribute()) { XmlAttribute attr = relationship.GetAttribute(); visitor.VisitStructuralAttribute(relationship.GetBase(), attr, relationship.GetRelationship()); } else { if (relationship.IsAssociation()) { visitor.VisitAssociation(relationship.GetBase(), relationship.GetXmlName(), relationship.GetElements(), relationship.GetRelationship ()); ProcessEachRelationshipValue(interaction, relationship, visitor); } else { visitor.VisitNonStructuralAttribute(relationship.GetBase(), relationship.GetElements(), relationship.GetRelationship()); } } }