FindQualifierByName() public method

public FindQualifierByName ( string expr ) : XmpNode
expr string qualifier node name to look for
return XmpNode
Beispiel #1
0
        /// <summary>
        /// Find or create a qualifier node under a given parent node. Returns a pointer to the
        /// qualifier node, and optionally an iterator for the node's position in
        /// the parent's vector of qualifiers. The iterator is unchanged if no qualifier node (null)
        /// is returned.
        /// <em>Note:</em> On entry, the qualName parameter must not have the leading '?' from the
        /// XmpPath step.
        /// </summary>
        /// <param name="parent"> the parent XMPNode </param>
        /// <param name="qualName"> the qualifier name </param>
        /// <param name="createNodes"> flag if nodes shall be created </param>
        /// <returns> Returns the qualifier node if found or created, <code>null</code> otherwise. </returns>
        /// <exception cref="XmpException">  </exception>
        private static XmpNode FindQualifierNode(XmpNode parent, string qualName, bool createNodes)
        {
            Debug.Assert(!qualName.StartsWith("?"));

            XmpNode qualNode = parent.FindQualifierByName(qualName);

            if (qualNode == null && createNodes)
            {
                qualNode          = new XmpNode(qualName, null);
                qualNode.Implicit = true;

                parent.AddQualifier(qualNode);
            }

            return(qualNode);
        }
Beispiel #2
0
        /// <summary>
        /// Find or create a qualifier node under a given parent node. Returns a pointer to the 
        /// qualifier node, and optionally an iterator for the node's position in 
        /// the parent's vector of qualifiers. The iterator is unchanged if no qualifier node (null) 
        /// is returned.
        /// <em>Note:</em> On entry, the qualName parameter must not have the leading '?' from the 
        /// XmpPath step.
        /// </summary>
        /// <param name="parent"> the parent XMPNode </param>
        /// <param name="qualName"> the qualifier name </param>
        /// <param name="createNodes"> flag if nodes shall be created </param>
        /// <returns> Returns the qualifier node if found or created, <code>null</code> otherwise. </returns>
        /// <exception cref="XmpException">  </exception>
        private static XmpNode FindQualifierNode(XmpNode parent, string qualName, bool createNodes) {
            Debug.Assert(!qualName.StartsWith("?"));

            XmpNode qualNode = parent.FindQualifierByName(qualName);

            if (qualNode == null && createNodes) {
                qualNode = new XmpNode(qualName, null);
                qualNode.Implicit = true;

                parent.AddQualifier(qualNode);
            }

            return qualNode;
        }