referring now to the drawings , where like or similar elements are designated with identical reference numerals throughout the several views , and referring in particular to fig1 , it illustrates a block diagram of a system 100 constructed in accordance with the principles of the present invention . this embodiment includes an annotation server 105 , a content provider 110 — consisting of stored web content 115 and a web server 120 — and a web browser 125 ( also referred to as the “ user ”). each of these components can be attached to the same network , such as the internet , or attached to different networks such as lans , wans , etc . additionally , this embodiment includes separate paths from the content provider 110 to the user 125 — a path that goes through the annotation server 105 and a path that directly connects the content provider 110 with the user 125 . the hardware and software components of servers , networks and storage devices are well known in the arts and are not described further . similarly , the hardware and software components of the annotation server 105 as described are recognizable by those of skill in the art . for example , the annotation server 105 could include basic server hardware and software , intermediate language engines , a linux or microsoft operating system , etc . the annotation server 105 is arranged so that it can conditionally intercept communications otherwise directed from the content provider 110 to the user 125 and dynamically alter , monitor and control the content being served to the user . “ intercepting ” includes , but is not limited to , directing the content provider 110 to route content bound for the user 125 to the annotation server 105 instead of the user 125 . for example , “ intercepting ” could include the annotation server 105 directing the user 125 to return data for the annotation server &# 39 ; s ip address instead of the web server &# 39 ; s ip address . the annotation server 105 can also conditionally intercept communications from the user 125 to the content provider 110 . in one embodiment , the annotation server 105 modifies the embedded links in the original content received from the content provider 110 such that the embedded links point to the annotation server 105 instead of the content provider 110 . for example , the original web page could be located at “ www . buy . com ” and an embedded link could refer to “ www . buy . com / computers .” the annotation server 105 could modify this link so that it points to “ www . annotation_server . com / buy / computers .” when the user 125 selects what appears to be the “ www . buy . com / computers ” link , the user 125 is actually routed to “ www . annotation_server . com / buy / computers .” thus , the annotation server 105 has “ intercepted ” the communication between the user 125 and the content provider 110 . this process is described in more detail herein . referring now to fig2 , it is a block diagram of an alternate system 130 constructed in accordance with the principles of the present invention . in this embodiment , the annotation server 105 is integrated with the content provider 110 . instead of operating as a separate system , the annotation server 105 , in this embodiment , is integrated with the content provider 110 . as with the embodiment shown in fig1 , the annotation server 105 can modify , monitor and control the content being served to the user 125 with minimal disturbance to the content provider &# 39 ; s stored web content 115 . otherwise , the operation of this embodiment is similar to the operation of the system 100 shown in fig1 . fig4 - 6 illustrate exemplary embodiments for modifying original content , such as xml , html , flash , etc ., served up by a content provider 110 without substantially changing the stored web content 115 . the exemplary methods illustrated in these figures enable content providers 115 to outsource certain editing and modification functions or to integrate annotation server 105 technology into their own system to make temporary or conditional editing and modification less burdensome . the methods can be applied to web applications , web content - delivery sites , and other content delivery systems . referring now to fig4 , it illustrates a flowchart of one method for replacing content in a multi - frame or multi - table web page . this method could be used for replacing content in any partitioned or subdivided material . in this embodiment , the annotation server 105 can identify one of the frames or tables within a web page and dynamically replace the content therein with new content . fig3 , for example , illustrates a web page 135 with three frames : frame a , frame b , and frame c . the annotation server 105 can identify frame a , and dynamically replace the content therein with new content such as a virtual sales agent described in patent application ser . no . 09 / 944 , 836 , entitled system and method for automated end - user support , filed aug . 31 , 2001 . similarly , the annotation server 105 could identify tables within a page that does not include frames and replace the content within that table . additionally , the annotation server 105 could identify a table within a frame and replace content within that table . to dynamically replace the content in a frame , the annotation server 105 initially identifies the frames in a web page being viewed by the user . step 140 . the annotation server 105 then selects one frame for replacement . step 145 . preferably , the selected frame is a secondary frame , e . g ., a banner or index frame , and not the main frame that contains the primary information that the user is viewing . once the frame has been selected , the annotation server 105 retrieves the replacement content , determines the size of the selected frame , and sizes the replacement content to fit in the selected frame . step 150 . the replacement content is then served to the user and displayed in the selected frame . steps 160 and 165 . the annotation server 105 then replaces the content of the selected frame with the replacement content . step 155 . the annotation server 105 does not necessarily alter the other frames . notably , this method can also be adapted to modify tables . from the user &# 39 ; s perspective , all of the viewed content originates from the content provider 110 . in reality , the replacement content originates from the annotation server 105 and the content in the other frames originates from the content provider 110 . the annotation server 105 , in this embodiment , can dynamically edit the material in the selected frame or table without otherwise involving the stored web content 115 . thus , the annotation server 105 allows a content provider 110 to change significantly the user &# 39 ; s browsing experience without requiring the content provider 110 to significantly modifying its stored web content . the annotation server &# 39 ; s replacement of content can be conditional based upon a user &# 39 ; s actions . for example , the replacement of content can be responsive to a user selecting a “ help ” button . thus , the annotation server 105 can be engaged and disengaged based upon the user &# 39 ; s actions . when the annotation server is disengaged , the web server 120 can continue to operate normally because this embodiment of the annotation server 105 is not integrated into the web server 120 . in other words , the web server 120 can be independent of the annotation server 105 . referring now to fig5 , it is a flowchart of another method for modifying original content served up by a content provider 110 without substantially changing the content provider &# 39 ; s stored web content 115 . this particular embodiment involves management of interstitials and pop - up windows . in particular , this embodiment suppresses pop - up windows and places the pop - up window content in a frame of the already displayed web page . this suppression can prevent certain material from being covered by a pop - up window , i . e ., moved to the background . this method , for example , is beneficial in online help situations where frame a ( shown in fig3 ) includes a virtual agent that should not be covered by a pop - up window . pop - up windows and interstitials are well known and documented in the art , and their implementation is not described herein . in this embodiment , the user selects a web page from the content provider 110 . step 170 . this web page is then provided from the content provider to the annotation server 105 . step 175 . alternately , the web page may be cached at an alternate location , including the annotation server 105 . once the annotation server 105 receives the page , the annotation server 105 can determine if the page includes pop - up window instructions . step 180 . if the page includes such instructions , the annotation server 105 alters the instructions in the received page such that the pop - up instructions are suppressed , e . g ., removed or edited . step 185 . the altered page is then provided to the user . step 190 . when the user selects a link within the page that was previously associated with a pop - up window , the content is rendered in the existing window . step 195 . referring now to fig6 , it is a flowchart of yet another method for modifying original content served up by a content provider 110 without substantially changing the content provider &# 39 ; s stored web content 115 . this particular embodiment involves link , image , and icon insertion ( collectively referred to as “ objects ”). as previously described , the annotation server 105 can replace embedded links in web content with new or modified links . in one embodiment , the annotation server 105 can direct all or some portion of the embedded links within a web page to its ip address instead of the content provider &# 39 ; s ip address . similarly , the annotation server 105 can insert text , images , or icons , which are associated with executable code , into a content provider &# 39 ; s original content . for example , the annotation server 105 could insert a “ sale ” icon next to all sony ™ tvs , and when the user selects the icon , embedded code can be executed that gives details of the sale . by using the annotation server 105 , the content provider 110 does not need to modify its stored web content 115 to reflect the “ sale ” icon and the related code . the annotation server 105 stores the icon and code information and dynamically inserts it into the original content . thus , the content provider 110 can make temporary or conditional changes to the appearance of its web - site without otherwise changing its stored web content 115 . still referring to fig6 , the annotation server 105 intercepts original content that is directed to the user 125 . step 205 . the annotation server 105 then determines which objects that it should search for in the original content step 210 . for example , the annotation server 105 could search a list of sale items and corresponding annotations that are designated by the retailer . upon receiving original content from the particular retailer , the annotation server 105 would search the content for any of the sale items . the annotation server 105 could search for words , phrases , images , tables , links , etc . if a sale item is located , the appropriate object is inserted into the original content and that modified content is served to the user 125 . steps 215 , 220 and 225 . as with other embodiments , the user &# 39 ; s browsing experience is significantly changed without requiring the content provider 110 to significantly change its stored web content 115 . fig7 illustrates one method for controlling navigation in a web - site . as with the above - described modification functionality , the control functionality can be implemented in the annotation server 105 , thereby reducing or eliminating the need for stored web content 115 to be modified . in this embodiment , the annotation server 105 can automatically scroll to or highlight material on a web page . for example , assume that a user 125 is viewing a first web page concerning a retailer &# 39 ; s policies . the web page may contain information regarding returns , warranties , returned checks , gift certificates , etc . the user 125 , however , may only want to know the mailing address to which returns should be sent . if the user 125 poses this question to a virtual sales agent driven by the annotation server 105 — possibly displayed in an accompanying frame — the annotation server 105 could locate the information in the web page content and automatically scroll the page to the relevant material . in one embodiment of the navigation control functionality , the annotation server 105 receives web page content and identifies target content therein . steps 230 and 232 . the annotation server can then insert anchor objects , which may be hidden , into the received web page content in association with the identified target content . step 234 . the modified web page content can then be transmitted to the user for viewing . steps 236 and 238 . when the user selects an object within the page or submits a question , the appropriate anchor object can be located and the web page can be repositioned accordingly . steps 240 and 242 . in other embodiments , the annotation server 105 can search the original content for relevant strings , such as “ return address ,” and scroll the page to that point . both embodiments can be implemented with a minimal amount of modification to the stored web content 115 . in yet other embodiments , the annotation server 105 can determine that the page being viewed by the user 125 does not contain the requested information and automatically request another page from the content provider 110 . in essence , the annotation server 105 is navigating the content provider &# 39 ; s web - site for the user 125 . although the content provider &# 39 ; s stored web content 115 is not necessarily modified , the content provider 110 should provide the annotation server 105 with a site map for the relevant portions of the stored web content 115 . referring now to fig8 , it is a flowchart of one method for monitoring a user &# 39 ; s actions on a web page , including form submits , navigation events , field submits , etc . this particular embodiment involves monitoring and validating fields in a web - based form such as those commonly used by e - commerce sites and online travel reservation sites . initially , the annotation server 105 intercepts the user - bound original content that includes the form being monitored . step 245 . the annotation server 105 identifies a target field then inserts executable code , such as javascript , into the original content . steps 250 and 255 . this executable code can validate the entries in the form without submitting the entries to the annotation server 105 or the content provider 110 . the modified content is then served to the user 125 as if it originated from the content provider 110 . step 260 . the executable code that is inserted into the original content can monitor for the user 125 to enter data into the monitored field . generally , the executable code can detect when the user 125 enters or exits the field . step 265 . once the field has been exited , the executable code can validate the entry . step 270 . for example , the executable code may determine that an expiration date on a credit card has expired , that a required field was left blank , or that a particular flight destination is not available . assuming that an entry is invalid , the embedded executable code can generate an error message and a recommendation , or the executable code can notify the annotation server 105 , and the annotation server 105 can generate the error message and the recommendation . step 275 . in either embodiment , however , the error can be handled before the data is submitted to the content provider 110 . in other embodiments , the annotation server 105 detects when the user 125 submits a form to the content provider 110 , and validates the form before it is actually submitted . for example , the user 125 could fill out an airline reservation request and submit it to the airline . the annotation server 105 , however , could intercept the request and validate the information in the request by comparing it against information previously provided by the airline or by comparing it against logical rules such as a “ departure date must be before a return date .” if the data in the form is correct , then the form is passed to the airline for official processing . the annotation server 105 is not necessarily responsible for checking information such as flight availability , pricing , etc . rather , the annotation server 105 generally — but not always — validates the form of the entries , not the substance . when the annotation server 105 determines that the submitted data contains an error , the annotation server 105 can invoke a virtual sales agent , or it can generate an error message that directs the user 125 to the source of the error . for example , the annotation server 105 could scroll the viewed web page to the incorrect entry and insert a text bubble indicating the type of error and the required information . from the user &# 39 ; s perspective , the error message and assistance originates from the airline . in reality , the airline is unaware that the user 125 entered incorrect information because the annotation server 105 intercepted the incorrect information before it was submitted to the airline . in conclusion , the present invention provides , among other things , a system and method for dynamically modifying and generating markup - language code . those skilled in the art can readily recognize that numerous variations and substitutions may be made in the invention , its use and its configuration to achieve substantially the same results as achieved by the embodiments described herein . accordingly , there is no intention to limit the invention to the disclosed exemplary forms . many variations , modifications and alternative constructions fall within the scope and spirit of the disclosed invention as expressed in the claims .