Type docxDocument = Class
	/// word/document.xml对象
	
	///缺省构造函数
	Function Create(z); overload;
	Begin
		zipfile_ := z;
		document_ := zipfile_.Get('word/document.xml');
		root_ := document_.FirstChildElement('w:document');
		bodyNode_ := root_.FirstChildElement('w:body');
		body_ := TOfficeObj('TwBody');
		body_.InitNode(bodyNode_);
		body_.InitRootNode(bodyNode_);
		body_.zipfile_ := z;
		body_.document_ := self;
		bookmarkid_ := -1;
	End;
	
	Function Body();
	Begin
		return body_;
	End;
	
	Function GetBookMarkID();
	Begin
		if bookmarkid_ < 0 then Begin
			bookmarkid_ := 0;
			p := body_.node_.FirstChildElement('w:p');
			while ifObj(p) do Begin
				markStart := p.FirstChildElement('w:bookmarkStart');
				if ifObj(markStart) then Begin
					id := markStart.GetAttribute('w:id');
					if ifstring(id) and id <> '' then Begin
						iVal := strtoint(id);
						if bookmarkid_ <= iVal then
							bookmarkid_ := iVal + 1;
					End;
				End;
				p := p.NextElement('w:p');
			End;
		End
		else 
			bookmarkid_++;
		return bookmarkid_;
	End;
private	
	root_;//w:document
	bodyNode_;//w:body
	body_;
	document_;
	bookmarkid_;
End;
