예제 #1
0
        private void RefreshExistingLocks()
        {
            _existingLocks.Clear();

            XmlNodeList allSegments = _doc.SelectNodes("/o:xliff/o:file/o:body//o:trans-unit/o:seg-source//o:mrk[@mtype='seg']", _nsmgr);

            foreach (XmlNode segment in allSegments)
            {
                if (!IsLocked(segment))
                {
                    continue;
                }

                string content;
                if (!_commenter.ContainsComment(segment, out content))
                {
                    continue;
                }

                if (content == "Lock Protected")
                {
                    continue;
                }

                _existingLocks.Add(segment);
            }
        }
예제 #2
0
        private bool FindContext(int index, out XmlNode context)
        {
            bool doBreak = false;

            context = null;

            XmlNode parent = _segments[index];
            string  content;

            if (!_commenter.ContainsComment(parent, out content) && !_locker.IsLocked(parent))
            {
                context = parent;
                doBreak = true; // it's a valid context node, return
            }
            if (content == "SpotCheck Context")
            {
                doBreak = true; // it already is context, don't do anything
            }

            return(doBreak);
        }