MoveToOwnerElement() private méthode

private MoveToOwnerElement ( ) : bool
Résultat bool
Exemple #1
0
        private static void WriteBoundElementTo(DataPointer dp, XmlWriter w)
        {
            Debug.Assert(dp.NodeType == XmlNodeType.Element);
            w.WriteStartElement(dp.Prefix, dp.LocalName, dp.NamespaceURI);
            int cAttr = dp.AttributeCount;

            if (cAttr > 0)
            {
                for (int iAttr = 0; iAttr < cAttr; iAttr++)
                {
                    dp.MoveToAttribute(iAttr);
                    WriteTo(dp, w);
                    dp.MoveToOwnerElement();
                }
            }

            WriteBoundElementContentTo(dp, w);

            // Force long end tag when the elem is not empty, even if there are no children.
            if (dp.IsEmptyElement)
            {
                w.WriteEndElement();
            }
            else
            {
                w.WriteFullEndElement();
            }
        }
        private void WriteRootBoundElementTo(DataPointer dp, XmlWriter w)
        {
            XmlDataDocument ownerDocument = (XmlDataDocument)this.OwnerDocument;

            w.WriteStartElement(dp.Prefix, dp.LocalName, dp.NamespaceURI);
            int  attributeCount = dp.AttributeCount;
            bool flag           = false;

            if (attributeCount > 0)
            {
                for (int i = 0; i < attributeCount; i++)
                {
                    dp.MoveToAttribute(i);
                    if ((dp.Prefix == "xmlns") && (dp.LocalName == "xsi"))
                    {
                        flag = true;
                    }
                    WriteTo(dp, w);
                    dp.MoveToOwnerElement();
                }
            }
            if ((!flag && ownerDocument.bLoadFromDataSet) && ownerDocument.bHasXSINIL)
            {
                w.WriteAttributeString("xmlns", "xsi", "http://www.w3.org/2000/xmlns/", "http://www.w3.org/2001/XMLSchema-instance");
            }
            WriteBoundElementContentTo(dp, w);
            if (dp.IsEmptyElement)
            {
                w.WriteEndElement();
            }
            else
            {
                w.WriteFullEndElement();
            }
        }
Exemple #3
0
        private void WriteRootBoundElementTo(DataPointer dp, XmlWriter w)
        {
            Debug.Assert(dp.NodeType == XmlNodeType.Element);
            XmlDataDocument doc = (XmlDataDocument)OwnerDocument;

            w.WriteStartElement(dp.Prefix, dp.LocalName, dp.NamespaceURI);
            int  cAttr   = dp.AttributeCount;
            bool bHasXSI = false;

            if (cAttr > 0)
            {
                for (int iAttr = 0; iAttr < cAttr; iAttr++)
                {
                    dp.MoveToAttribute(iAttr);
                    if (dp.Prefix == "xmlns" && dp.LocalName == XmlDataDocument.XSI)
                    {
                        bHasXSI = true;
                    }

                    WriteTo(dp, w);
                    dp.MoveToOwnerElement();
                }
            }

            if (!bHasXSI && doc._bLoadFromDataSet && doc._bHasXSINIL)
            {
                w.WriteAttributeString("xmlns", "xsi", "http://www.w3.org/2000/xmlns/", Keywords.XSINS);
            }

            WriteBoundElementContentTo(dp, w);

            // Force long end tag when the elem is not empty, even if there are no children.
            if (dp.IsEmptyElement)
            {
                w.WriteEndElement();
            }
            else
            {
                w.WriteFullEndElement();
            }
        }
        private static void WriteBoundElementTo(DataPointer dp, XmlWriter w)
        {
            w.WriteStartElement(dp.Prefix, dp.LocalName, dp.NamespaceURI);
            int attributeCount = dp.AttributeCount;

            if (attributeCount > 0)
            {
                for (int i = 0; i < attributeCount; i++)
                {
                    dp.MoveToAttribute(i);
                    WriteTo(dp, w);
                    dp.MoveToOwnerElement();
                }
            }
            WriteBoundElementContentTo(dp, w);
            if (dp.IsEmptyElement)
            {
                w.WriteEndElement();
            }
            else
            {
                w.WriteFullEndElement();
            }
        }
Exemple #5
0
        private XmlNode CloneTreeInternal(DataPointer other)
        {
            Debug.Assert(_ignoreDataSetEvents == true);
            Debug.Assert(_ignoreXmlEvents == true);
            Debug.Assert(IsFoliationEnabled == false);

            // Create the diconnected tree based on the other navigator
            XmlNode newNode = CloneNode(other);

            DataPointer dp = new DataPointer(other);
            try
            {
                dp.AddPointer();
                if (newNode.NodeType == XmlNodeType.Element)
                {
                    int cAttributes = dp.AttributeCount;
                    for (int i = 0; i < cAttributes; i++)
                    {
                        dp.MoveToOwnerElement();
                        if (dp.MoveToAttribute(i))
                        {
                            newNode.Attributes.Append((XmlAttribute)CloneTreeInternal(dp));
                        }
                    }

                    dp.MoveTo(other);
                }

                for (bool fMore = dp.MoveToFirstChild(); fMore; fMore = dp.MoveToNextSibling())
                    newNode.AppendChild(CloneTreeInternal(dp));
            }
            finally
            {
                dp.SetNoLongerUse();
            }

            return newNode;
        }
 private static void WriteBoundElementTo( DataPointer dp, XmlWriter w ) {
     Debug.Assert( dp.NodeType == XmlNodeType.Element );
     w.WriteStartElement( dp.Prefix, dp.LocalName, dp.NamespaceURI );
     int cAttr = dp.AttributeCount;
     if ( cAttr > 0 ) {
         for ( int iAttr = 0; iAttr < cAttr; iAttr++ ) {
             dp.MoveToAttribute( iAttr );
             WriteTo( dp, w );
             dp.MoveToOwnerElement();
         }
     }
     
     WriteBoundElementContentTo( dp, w );
     
     // Force long end tag when the elem is not empty, even if there are no children.
     if ( dp.IsEmptyElement )
         w.WriteEndElement();
     else
         w.WriteFullEndElement();
 }
 private void WriteRootBoundElementTo(DataPointer dp, XmlWriter w) {            
     Debug.Assert( dp.NodeType == XmlNodeType.Element );
     XmlDataDocument doc = (XmlDataDocument)OwnerDocument;
     w.WriteStartElement( dp.Prefix, dp.LocalName, dp.NamespaceURI );            
     int cAttr = dp.AttributeCount;
     bool bHasXSI = false;
     if ( cAttr > 0 ) {
         for ( int iAttr = 0; iAttr < cAttr; iAttr++ ) {
             dp.MoveToAttribute( iAttr );
             if ( dp.Prefix == "xmlns" && dp.LocalName == XmlDataDocument.XSI )
                 bHasXSI = true;
             WriteTo( dp, w );
             dp.MoveToOwnerElement();
         }
     }
     
     if ( !bHasXSI && doc.bLoadFromDataSet && doc.bHasXSINIL ) 
         w.WriteAttributeString( "xmlns", "xsi", "http://www.w3.org/2000/xmlns/", Keywords.XSINS );
     
     
     WriteBoundElementContentTo( dp, w );
     
     // Force long end tag when the elem is not empty, even if there are no children.
     if ( dp.IsEmptyElement )
         w.WriteEndElement();
     else
         w.WriteFullEndElement();
 }
 private void WriteRootBoundElementTo(DataPointer dp, XmlWriter w)
 {
     XmlDataDocument ownerDocument = (XmlDataDocument) this.OwnerDocument;
     w.WriteStartElement(dp.Prefix, dp.LocalName, dp.NamespaceURI);
     int attributeCount = dp.AttributeCount;
     bool flag = false;
     if (attributeCount > 0)
     {
         for (int i = 0; i < attributeCount; i++)
         {
             dp.MoveToAttribute(i);
             if ((dp.Prefix == "xmlns") && (dp.LocalName == "xsi"))
             {
                 flag = true;
             }
             WriteTo(dp, w);
             dp.MoveToOwnerElement();
         }
     }
     if ((!flag && ownerDocument.bLoadFromDataSet) && ownerDocument.bHasXSINIL)
     {
         w.WriteAttributeString("xmlns", "xsi", "http://www.w3.org/2000/xmlns/", "http://www.w3.org/2001/XMLSchema-instance");
     }
     WriteBoundElementContentTo(dp, w);
     if (dp.IsEmptyElement)
     {
         w.WriteEndElement();
     }
     else
     {
         w.WriteFullEndElement();
     }
 }
 private static void WriteBoundElementTo(DataPointer dp, XmlWriter w)
 {
     w.WriteStartElement(dp.Prefix, dp.LocalName, dp.NamespaceURI);
     int attributeCount = dp.AttributeCount;
     if (attributeCount > 0)
     {
         for (int i = 0; i < attributeCount; i++)
         {
             dp.MoveToAttribute(i);
             WriteTo(dp, w);
             dp.MoveToOwnerElement();
         }
     }
     WriteBoundElementContentTo(dp, w);
     if (dp.IsEmptyElement)
     {
         w.WriteEndElement();
     }
     else
     {
         w.WriteFullEndElement();
     }
 }