You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by vi...@apache.org on 2020/01/21 06:13:17 UTC

[netbeans-website] branch master updated: [NETBEANS-1867] Cleanup of tutorials in kb/docs/javaee (#436)

This is an automated email from the ASF dual-hosted git repository.

vieiro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans-website.git


The following commit(s) were added to refs/heads/master by this push:
     new db64146  [NETBEANS-1867] Cleanup of tutorials in kb/docs/javaee (#436)
db64146 is described below

commit db64146eae8b992df329e0f8a55df2e28a2b4035
Author: Antonio Vieiro <vi...@users.noreply.github.com>
AuthorDate: Tue Jan 21 07:13:10 2020 +0100

    [NETBEANS-1867] Cleanup of tutorials in kb/docs/javaee (#436)
    
    * cdi-events and cdi-inject
    * CDI Tutorials
    * entappclient/javaee_entapp-ejb-junit/javaee-gettingstarted
    * Maven(entapp,osgiservice-cdi,websocketapi)
    * profiler-javaee, secure-ejb
---
 .../src/content/kb/docs/javaee/cdi-events.asciidoc |  89 +++++---
 .../content/kb/docs/javaee/cdi-events_ja.asciidoc  |  76 +++++--
 .../kb/docs/javaee/cdi-events_pt_BR.asciidoc       |  76 +++++--
 .../content/kb/docs/javaee/cdi-events_ru.asciidoc  |  77 +++++--
 .../kb/docs/javaee/cdi-events_zh_CN.asciidoc       |  74 +++++--
 .../src/content/kb/docs/javaee/cdi-inject.asciidoc | 231 +++++++++++++++------
 .../content/kb/docs/javaee/cdi-inject_ja.asciidoc  | 205 +++++++++++++-----
 .../kb/docs/javaee/cdi-inject_pt_BR.asciidoc       | 203 +++++++++++++-----
 .../content/kb/docs/javaee/cdi-inject_ru.asciidoc  | 206 +++++++++++++-----
 .../kb/docs/javaee/cdi-inject_zh_CN.asciidoc       | 213 ++++++++++++++-----
 .../src/content/kb/docs/javaee/cdi-intro.asciidoc  |  87 +++++---
 .../content/kb/docs/javaee/cdi-intro_ja.asciidoc   |  88 +++++---
 .../kb/docs/javaee/cdi-intro_pt_BR.asciidoc        |  79 ++++---
 .../content/kb/docs/javaee/cdi-intro_ru.asciidoc   |  88 +++++---
 .../kb/docs/javaee/cdi-intro_zh_CN.asciidoc        |  79 ++++---
 .../content/kb/docs/javaee/cdi-validate.asciidoc   | 115 +++++++---
 .../kb/docs/javaee/cdi-validate_ja.asciidoc        | 115 +++++++---
 .../kb/docs/javaee/cdi-validate_pt_BR.asciidoc     | 115 +++++++---
 .../kb/docs/javaee/cdi-validate_ru.asciidoc        | 114 +++++++---
 .../kb/docs/javaee/cdi-validate_zh_CN.asciidoc     | 114 +++++++---
 .../content/kb/docs/javaee/entappclient.asciidoc   |  15 +-
 .../kb/docs/javaee/entappclient_ja.asciidoc        |  13 +-
 .../kb/docs/javaee/entappclient_pt_BR.asciidoc     |  15 +-
 .../kb/docs/javaee/entappclient_ru.asciidoc        |  15 +-
 .../kb/docs/javaee/entappclient_zh_CN.asciidoc     |  15 +-
 .../kb/docs/javaee/javaee-entapp-ejb.asciidoc      | 138 ++++++++----
 .../kb/docs/javaee/javaee-entapp-ejb_ja.asciidoc   | 140 +++++++++----
 .../docs/javaee/javaee-entapp-ejb_pt_BR.asciidoc   | 138 ++++++++----
 .../kb/docs/javaee/javaee-entapp-ejb_ru.asciidoc   | 146 +++++++++----
 .../docs/javaee/javaee-entapp-ejb_zh_CN.asciidoc   | 144 +++++++++----
 .../kb/docs/javaee/javaee-entapp-junit.asciidoc    | 116 +++++++----
 .../kb/docs/javaee/javaee-entapp-junit_ja.asciidoc | 116 +++++++----
 .../docs/javaee/javaee-entapp-junit_pt_BR.asciidoc | 116 +++++++----
 .../kb/docs/javaee/javaee-entapp-junit_ru.asciidoc | 109 +++++++---
 .../docs/javaee/javaee-entapp-junit_zh_CN.asciidoc | 116 +++++++----
 .../kb/docs/javaee/javaee-gettingstarted.asciidoc  | 100 ++++++---
 .../docs/javaee/javaee-gettingstarted_ca.asciidoc  |  70 +++++--
 .../docs/javaee/javaee-gettingstarted_ja.asciidoc  | 100 ++++++---
 .../javaee/javaee-gettingstarted_pt_BR.asciidoc    |  98 ++++++---
 .../docs/javaee/javaee-gettingstarted_ru.asciidoc  | 102 ++++++---
 .../javaee/javaee-gettingstarted_zh_CN.asciidoc    | 132 ++++++++----
 .../kb/docs/javaee/maven-entapp-testing.asciidoc   | 143 +++++++++----
 .../docs/javaee/maven-entapp-testing_ja.asciidoc   | 143 +++++++++----
 .../javaee/maven-entapp-testing_pt_BR.asciidoc     | 137 ++++++++----
 .../docs/javaee/maven-entapp-testing_ru.asciidoc   | 137 ++++++++----
 .../javaee/maven-entapp-testing_zh_CN.asciidoc     | 143 +++++++++----
 .../content/kb/docs/javaee/maven-entapp.asciidoc   | 182 +++++++++++-----
 .../kb/docs/javaee/maven-entapp_ja.asciidoc        | 184 +++++++++++-----
 .../kb/docs/javaee/maven-entapp_pt_BR.asciidoc     | 184 +++++++++++-----
 .../kb/docs/javaee/maven-entapp_ru.asciidoc        | 175 ++++++++++++----
 .../kb/docs/javaee/maven-entapp_zh_CN.asciidoc     | 184 +++++++++++-----
 .../kb/docs/javaee/maven-osgiservice-cdi.asciidoc  | 211 ++++++++++++++-----
 .../docs/javaee/maven-osgiservice-cdi_ja.asciidoc  | 209 ++++++++++++++-----
 .../javaee/maven-osgiservice-cdi_pt_BR.asciidoc    | 209 ++++++++++++++-----
 .../docs/javaee/maven-osgiservice-cdi_ru.asciidoc  | 217 ++++++++++++++-----
 .../javaee/maven-osgiservice-cdi_zh_CN.asciidoc    | 213 ++++++++++++++-----
 .../kb/docs/javaee/maven-websocketapi.asciidoc     | 189 +++++++++++------
 .../kb/docs/javaee/maven-websocketapi_ja.asciidoc  | 201 ++++++++++++------
 .../docs/javaee/maven-websocketapi_pt_BR.asciidoc  | 193 +++++++++++------
 .../kb/docs/javaee/maven-websocketapi_ru.asciidoc  | 188 +++++++++++------
 .../docs/javaee/maven-websocketapi_zh_CN.asciidoc  | 191 +++++++++++------
 .../kb/docs/javaee/profiler-javaee.asciidoc        | 108 +++++++---
 .../kb/docs/javaee/profiler-javaee_ja.asciidoc     | 109 +++++++---
 .../kb/docs/javaee/profiler-javaee_pt_BR.asciidoc  | 110 +++++++---
 .../kb/docs/javaee/profiler-javaee_ru.asciidoc     | 109 +++++++---
 .../kb/docs/javaee/profiler-javaee_zh_CN.asciidoc  | 110 +++++++---
 .../src/content/kb/docs/javaee/secure-ejb.asciidoc | 100 ++++++---
 .../content/kb/docs/javaee/secure-ejb_ja.asciidoc  | 104 +++++++---
 .../kb/docs/javaee/secure-ejb_pt_BR.asciidoc       | 100 ++++++---
 .../content/kb/docs/javaee/secure-ejb_ru.asciidoc  | 100 ++++++---
 .../kb/docs/javaee/secure-ejb_zh_CN.asciidoc       | 100 ++++++---
 71 files changed, 6590 insertions(+), 2491 deletions(-)

diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events.asciidoc
index bdab5c9..89b53fb 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events.asciidoc
@@ -32,18 +32,22 @@
 _Contributed by Andy Gibson_
 
 
-=== Contexts and Dependency Injection
+== Contexts and Dependency Injection
 
 1. link:cdi-intro.html[+Getting Started with CDI and JSF 2.0+]
-2. link:cdi-inject.html[+Working with Injection and Qualifiers in CDI+]
-3. link:cdi-validate.html[+Applying @Alternative Beans and Lifecycle Annotations+]
-4. *Working with Events in CDI*
+
+[start=2]
+. link:cdi-inject.html[+Working with Injection and Qualifiers in CDI+]
+
+[start=3]
+. link:cdi-validate.html[+Applying @Alternative Beans and Lifecycle Annotations+]
+
+[start=4]
+. *Working with Events in CDI*
 * <<event,Utilizing Events>>
 * <<scopes,Handling Scopes>>
 * <<seealso,See Also>>
 
-image::images/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3, 7.4 and 8.0"]
-
 Contexts and Dependency Injection (CDI), specified by link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+], is an integral part of Java EE 6 and provides an architecture that allows Java EE components such as servlets, enterprise beans, and JavaBeans to exist within the lifecycle of an application with well-defined scopes. In addition, CDI services allow Java EE components such as EJB session beans and JavaServer Faces (JSF) managed beans to be injected and to interact in a loosely couple [...]
 
 This tutorial is based on the blog post by Andy Gibson, entitled link:http://www.andygibson.net/blog/index.php/2010/01/11/getting-started-with-jsf-2-0-and-cdi-part-3/[+Getting Started with CDI part 3 – Events+]. It demonstrates how to take advantage of the Java EE concept of _events_, in which you produce and subscribe to (i.e., _observe_) events occuring in your application in a way that enables you to maintain decoupled code between producers and observers. You use the `javax.enterpris [...]
@@ -65,11 +69,11 @@ To complete this tutorial, you need the following software and resources.
 |link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo3.zip[+cdiDemo3.zip+] |n/a 
 |===
 
-*Notes:*
-
+[NOTE]
+====
 * The NetBeans IDE Java EE bundle also includes the GlassFish Server Open Source Edition which is a Java EE-compliant container.
 * The solution sample project for this tutorial can be downloaded: link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemoComplete.zip[+cdiDemoComplete.zip+]
-
+====
 
 
 [[event]]
@@ -82,7 +86,7 @@ Using the application we've been building from the previous tutorials in the ser
 image::images/cdi-diagram-events.png[title="Use CDI injection to loosely couple classes in your application"]
 
 1. Begin by extracting the sample start project from the `cdiDemo3.zip` file (See the <<requiredSoftware,table listing required resources>> above.) Open the project in the IDE by choosing File > Open Project (Ctrl-Shift-O; ⌘-Shift-O on Mac), then selecting the project from its location on your computer.
-2. Create a class named `EventItemHandler`. Click the New File ( image::images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
+2. Create a class named `EventItemHandler`. Click the New File ( image:images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
 3. Select the Java category, then select Java Class. Click Next.
 4. Type in *EventItemHandler* as the class name, then enter *exercise4* as the package.
 5. Click Finish. The new class and package are generated, and the class opens in the editor.
@@ -104,16 +108,31 @@ public class EventItemHandler *implements ItemErrorHandler* {
 }
 ----
 We inject an instance of an `Event` where the event payload will be an `Item`. The event payload is the state data passed from the event producer to the event observer which in this case passes the rejected Item. When the invalid item is handled, we fire the event and pass in the invalid item we received. This event based item handler is injected the same as any other item handler would be so we can swap it in and out whenever we need to and also can substitute it during testing.
-7. Fix all imports. Either right-click in the editor and choose Fix Imports, or press Ctrl-Shift-I (⌘-Shift-I on Mac). Be sure to select `javax.enterprise.event.Event` as the fully qualified name to the `Event` class. 
+
+[start=7]
+. Fix all imports. Either right-click in the editor and choose Fix Imports, or press Ctrl-Shift-I (⌘-Shift-I on Mac). Be sure to select `javax.enterprise.event.Event` as the fully qualified name to the `Event` class. 
+
 image::images/fix-all-imports.png[title="Right-click in the editor and choose Fix Imports to invoke the Fix Imports dialog"] 
 
-[tips]#Press Ctrl-Space on `Event` to view the Javadoc definition of the class. The `fire()` method, used above, is also defined.# 
+TIP: Press Ctrl-Space on `Event` to view the Javadoc definition of the class. The `fire()` method, used above, is also defined.# 
+
 image::images/event-javadoc.png[title="Press Ctrl-Space to view Javadoc documentation on classes in the API"]
-8. Create a qualifier named `Notify`. (Qualifiers were discussed in link:cdi-inject.html[+Working with Injection and Qualifiers in CDI+].)
-9. Click the New File ( image::images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
-10. Select the Context and Dependency Injection category, then select Qualifier Type. Click Next.
-11. Enter *Notify* as the class name, then enter *exercise4* as the package.
-12. Click Finish. The new `Notify` qualifier opens in the editor.
+
+
+[start=8]
+. Create a qualifier named `Notify`. (Qualifiers were discussed in link:cdi-inject.html[+Working with Injection and Qualifiers in CDI+].)
+
+[start=9]
+. Click the New File ( image:images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
+
+[start=10]
+. Select the Context and Dependency Injection category, then select Qualifier Type. Click Next.
+
+[start=11]
+. Enter *Notify* as the class name, then enter *exercise4* as the package.
+
+[start=12]
+. Click Finish. The new `Notify` qualifier opens in the editor.
 
 [source,java]
 ----
@@ -124,7 +143,9 @@ image::images/event-javadoc.png[title="Press Ctrl-Space to view Javadoc document
 public @interface Notify {
 }
 ----
-13. Add the `@Notify` annotation to `EventItemHandler`.
+
+[start=13]
+. Add the `@Notify` annotation to `EventItemHandler`.
 
 [source,java]
 ----
@@ -136,7 +157,9 @@ public class EventItemHandler implements ItemErrorHandler {
 }
 ----
 We created a `@Notify` qualifier annotation to identify this error handler for injection and can use it in our `ItemProcessor` by adding it to the injection point.
-14. Add the `@Notify` annotation to `EventItemHandler`'s injection point in `exercise2.ItemProcessor`.
+
+[start=14]
+. Add the `@Notify` annotation to `EventItemHandler`'s injection point in `exercise2.ItemProcessor`.
 
 [source,java]
 ----
@@ -165,11 +188,19 @@ public class ItemProcessor {
 }
 ----
 (Use the editor's hint to add the import statement for `exercise4.Notify`.)
-15. Click the Run Project ( image::images/run-project-btn.png[] ) button to run the project.
-16. In the browser, click the '`Execute`' button, then return to the IDE and examine the server log in the Output window (Ctrl-4; ⌘-4 on Mac). Because the application that you have been building currently uses the `DefaultItemDao` to set up four `Item`s, then applies the `RelaxedItemValidator` on the `Item`s, you expect to see the `itemErrorHandler` fire twice. 
+
+[start=15]
+. Click the Run Project ( image:images/run-project-btn.png[] ) button to run the project.
+
+[start=16]
+. In the browser, click the '`Execute`' button, then return to the IDE and examine the server log in the Output window (Ctrl-4; ⌘-4 on Mac). Because the application that you have been building currently uses the `DefaultItemDao` to set up four `Item`s, then applies the `RelaxedItemValidator` on the `Item`s, you expect to see the `itemErrorHandler` fire twice. 
+
 image::images/output-window.png[title="View the GlassFish server log displayed in Output window"] 
+
 Currently though, we don't have anything observing the event. We can fix this by creating an _observer_ method using the `@Observes` annotation. This is the only thing needed to observe an event. To demonstrate, we can modify the `FileErrorReporter` (created in the link:cdi-validate.html[+previous tutorial+]) to respond to fired events by adding an observer method that calls its `handleItem()` method.
-17. To make our `FileErrorReporter` respond to the event, add the following method to the class.
+
+[start=17]
+. To make our `FileErrorReporter` respond to the event, add the following method to the class.
 
 [source,java]
 ----
@@ -184,8 +215,12 @@ public class FileErrorReporter implements ItemErrorHandler {
 }
 ----
 (Use the editor's hint to add an import statement for `javax.enterprise.event.Observes`.)
-18. Run the project (F6; fn-F6 on Mac) again, click the '`Execute`' button, then return to the IDE and examine the server log in the Output window. 
+
+[start=18]
+. Run the project (F6; fn-F6 on Mac) again, click the '`Execute`' button, then return to the IDE and examine the server log in the Output window. 
+
 image::images/output-window2.png[title="View the GlassFish server log displayed in Output window"] 
+
 You see that the events are fired on the invalid objects as they were previously, but now the item information is being saved when each event is fired. You can also note that the lifecycle events are being observed, since a `FileErrorReporter` bean is created and closed for each fired event. (See link:cdi-validate.html[+Applying @Alternative Beans and Lifecycle Annotations+] for a discussion of lifecycle annotations, e.g., `@PostConstruct` and `@PreDestroy`.)
 
 As shown in the above steps, the `@Observes` annotation provides an easy way to observe an event.
@@ -213,9 +248,15 @@ Currently, the `FileErrorReporter` bean doesn't have a scope defined. When no sc
 public class FileErrorReporter implements ItemErrorHandler { ... }
 ----
 [tips]#Press Ctrl-Space while you type in order to invoke the editor's code completion support. When choosing an item through code completion, any associated import statements are automatically added to the class.# 
+
 image::images/code-completion.png[title="Press Ctrl-Space when typing to invoke code completion suggestions"]
-2. Run the project (F6; fn-F6 on Mac) again, click the '`Execute`' button, then return to the IDE and examine the server log in the Output window. 
+
+
+[start=2]
+. Run the project (F6; fn-F6 on Mac) again, click the '`Execute`' button, then return to the IDE and examine the server log in the Output window. 
+
 image::images/output-window3.png[title="View the GlassFish server log displayed in Output window"] 
+
 Note that the `FileErrorReporter` bean is only created when the first event is fired, and is closed after the final event has been fired.
 
 [source,java]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events_ja.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events_ja.asciidoc
index 8574ba7..e21e8d6 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events_ja.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events_ja.asciidoc
@@ -32,7 +32,7 @@
 _執筆: Andy Gibson_
 
 
-=== コンテキストと依存性の注入
+== コンテキストと依存性の注入
 
 1. link:cdi-intro.html[+CDIおよびJSF 2.0の開始+]
 2. link:cdi-inject.html[+CDIの注入および修飾子の操作+]
@@ -42,8 +42,6 @@ _執筆: Andy Gibson_
 * <<scopes,スコープの処理>>
 * <<seealso,関連項目>>
 
-image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます"]
-
 link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+]で指定されているコンテキストと依存性の注入(CDI: Contexts and Dependency Injection)はJava EE 6の不可欠な部分であり、サーブレット、エンタープライズBean、JavaBeansなどのJava EEコンポーネントが、アプリケーションのライフサイクル内で明確なスコープを持って存在できるようにするためのアーキテクチャを提供します。また、CDIサービスによって、EJBセッションBeanやJSF (JavaServer Faces)管理対象BeanなどのJava EEコンポーネントが注入可能になり、イベントの起動や監視による疎結合方式の対話が可能になります。
 
 このチュートリアルは、Andy Gibson氏によって投稿されたlink:http://www.andygibson.net/blog/index.php/2010/01/11/getting-started-with-jsf-2-0-and-cdi-part-3/[+CDI入門パート3 - イベント+]というタイトルのブログをベースにしています。ここでは、Java EEの_イベント_の概念を活用する方法を示します。この方法は、アプリケーション内のイベントの生成およびイベントへのサブスクライブ(つまり_監視_)について、プロデューサとオブザーバの間でコードを分離して管理できます。`javax.enterprise.event.Event`クラスを使用してイベントを作成し、CDIの`@Observes`注釈を使用してイベントにサブスクライブします。
@@ -65,10 +63,11 @@ NetBeans IDEは、コンテキストと依存性の注入のサポートを組
 |link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo3.zip[+cdiDemo3.zip+] |n/a 
 |===
 
-*注意: *
-
+[NOTE]
+====
 * NetBeans IDEのJava EEバンドル版には、Java EE準拠のコンテナであるGlassFish Server Open Source Editionも含まれています。
 * このチュートリアルのサンプル・ソリューション・プロジェクトをダウンロードできます: link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemoComplete.zip[+cdiDemoComplete.zip+]
+====
 
 
 
@@ -82,7 +81,7 @@ NetBeans IDEは、コンテキストと依存性の注入のサポートを組
 image::images/cdi-diagram-events.png[title="アプリケーションの疎結合クラスへのCDI注入の使用"]
 
 1. まず、`cdiDemo3.zip`ファイル(上記の<<requiredSoftware,必要なリソースの一覧表>>を参照)からサンプルのスタート・プロジェクトを抽出します。「ファイル」>「プロジェクトを開く」([Ctrl]-[Shift]-[O]、Macの場合は[⌘]-[Shift]-[O])を選択してから、コンピュータ上のこのプロジェクトの場所を選択することで、IDEでプロジェクトを開きます。
-2. `EventItemHandler`という名前のクラスを作成します。「新規ファイル」(image::images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
+2. `EventItemHandler`という名前のクラスを作成します。「新規ファイル」(image:images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
 3. 「Java」カテゴリから「Javaクラス」を選択します。「次」をクリックします。
 4. クラス名として「*EventItemHandler*」、パッケージとして「*exercise4*」と入力します。
 5. 「終了」をクリックします。新しいクラスおよびパッケージが生成され、エディタでクラスが開きます。
@@ -104,16 +103,31 @@ public class EventItemHandler *implements ItemErrorHandler* {
 }
 ----
 イベント・ペイロードが`Item`になる`Event`のインスタンスを注入します。イベント・ペイロードとはイベント・プロデューサからイベント・オブザーバに渡される状態データのことで、この場合は却下されたItemが渡されます。無効な項目が処理されたら、イベントを起動して、受け取った無効な項目を渡します。このイベント・ベースの項目ハンドラは、他の項目ハンドラと同じように注入されるため、いつでも必要なときに交換したり、テスト中に取り換えたりできます。
-7. すべてのインポートを修正します。エディタを右クリックして「インポートを修正」を選択するか、[Ctrl]-[Shift]-[I] (Macの場合は[⌘]-[Shift]-[I])を押します。必ず`Event`クラスの完全修飾名として`javax.enterprise.event.Event`を選択するようにしてください。
+
+[start=7]
+. すべてのインポートを修正します。エディタを右クリックして「インポートを修正」を選択するか、[Ctrl]-[Shift]-[I] (Macの場合は[⌘]-[Shift]-[I])を押します。必ず`Event`クラスの完全修飾名として`javax.enterprise.event.Event`を選択するようにしてください。
+
 image::images/fix-all-imports.png[title="エディタで右クリックして「インポートを修正」を選択し、「インポートを修正」ダイアログを呼び出す"]
 
 [tips]#`Event`の上で[Ctrl]-[Space]を押して、クラスのJavadoc定義を表示します。上記で使用した`fire()`メソッドも定義されています。#
-image::images/event-javadoc.png[title="[Ctrl]-[Space]を押して、APIのクラスのJavadocドキュメントを表示する"]
-8. `Notify`という名前の修飾子を作成します。(修飾子についてはlink:cdi-inject.html[+CDIの注入および修飾子の操作+]に記載。)
-9. 「新規ファイル」(image::images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
-10. 「コンテキストと依存性の注入」カテゴリから「修飾子タイプ」を選択します。「次」をクリックします。
-11. クラス名として「*Notify*」、パッケージとして「*exercise4*」と入力します。
-12. 「終了」をクリックします。新しい`Notify`修飾子がエディタで開きます。
+
+image::images/event-javadoc.png[title="Ctrl-Space を押して、APIのクラスのJavadocドキュメントを表示する"]
+
+
+[start=8]
+. `Notify`という名前の修飾子を作成します。(修飾子についてはlink:cdi-inject.html[+CDIの注入および修飾子の操作+]に記載。)
+
+[start=9]
+. 「新規ファイル」(image:images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
+
+[start=10]
+. 「コンテキストと依存性の注入」カテゴリから「修飾子タイプ」を選択します。「次」をクリックします。
+
+[start=11]
+. クラス名として「*Notify*」、パッケージとして「*exercise4*」と入力します。
+
+[start=12]
+. 「終了」をクリックします。新しい`Notify`修飾子がエディタで開きます。
 
 [source,java]
 ----
@@ -124,7 +138,9 @@ image::images/event-javadoc.png[title="[Ctrl]-[Space]を押して、APIのクラ
 public @interface Notify {
 }
 ----
-13. `EventItemHandler`に`@Notify`注釈を追加します。
+
+[start=13]
+. `EventItemHandler`に`@Notify`注釈を追加します。
 
 [source,java]
 ----
@@ -136,7 +152,9 @@ public class EventItemHandler implements ItemErrorHandler {
 }
 ----
 このエラー・ハンドラを注入のために識別し、`ItemProcessor`で注入ポイントに追加して使用できる`@Notify`修飾子注釈を作成しました。
-14. `exercise2.ItemProcessor`で、`EventItemHandler`の注入ポイントに`@Notify`注釈を追加します。
+
+[start=14]
+. `exercise2.ItemProcessor`で、`EventItemHandler`の注入ポイントに`@Notify`注釈を追加します。
 
 [source,java]
 ----
@@ -165,11 +183,19 @@ public class ItemProcessor {
 }
 ----
 (エディタのヒントを使用して`exercise4.Notify`のインポート文を追加します。)
-15. 「プロジェクトの実行」(image::images/run-project-btn.png[])ボタンをクリックして、プロジェクトを実行します。
-16. ブラウザで「`Execute`」ボタンをクリックしてからIDEに戻り、「出力」ウィンドウ([Ctrl]-[4]、Macの場合は[⌘]-[4])でサーバー・ログを調べます。ビルドしてきたアプリケーションは、現時点で`DefaultItemDao`を使用して4つの`Item`を設定してから`Item`に`RelaxedItemValidator`を適用するため、`itemErrorHandler`が2度起動するのが確認できるはずです。
+
+[start=15]
+. 「プロジェクトの実行」(image:images/run-project-btn.png[])ボタンをクリックして、プロジェクトを実行します。
+
+[start=16]
+. ブラウザで「`Execute`」ボタンをクリックしてからIDEに戻り、「出力」ウィンドウ([Ctrl]-[4]、Macの場合は[⌘]-[4])でサーバー・ログを調べます。ビルドしてきたアプリケーションは、現時点で`DefaultItemDao`を使用して4つの`Item`を設定してから`Item`に`RelaxedItemValidator`を適用するため、`itemErrorHandler`が2度起動するのが確認できるはずです。
+
 image::images/output-window.png[title="「出力」ウィンドウに表示されたGlassFishサーバー・ログの確認"]
+
 しかし、現時点ではイベントを監視しているものはありません。これは、`@Observes`注釈を使用して_オブザーバ_・メソッドを作成すれば修正できます。イベントを監視するために必要な手順はこれのみです。これを示すため、`FileErrorReporter` (link:cdi-validate.html[+前のチュートリアル+]で作成)にこの`handleItem()`メソッドをコールするオブザーバ・メソッドを追加して、起動されたイベントに応答するように変更できます。
-17. `FileErrorReporter`がイベントに応答するようにするには、クラスに次のメソッドを追加します。
+
+[start=17]
+. `FileErrorReporter`がイベントに応答するようにするには、クラスに次のメソッドを追加します。
 
 [source,java]
 ----
@@ -184,8 +210,12 @@ public class FileErrorReporter implements ItemErrorHandler {
 }
 ----
 (エディタのヒントを使用して`javax.enterprise.event.Observes`のインポート文を追加します。)
-18. 再びプロジェクトを実行([F6]、Macの場合は[fn]-[F6])し、「`Execute`」ボタンをクリックしてからIDEに戻り、「出力」ウィンドウでサーバー・ログを調べます。
+
+[start=18]
+. 再びプロジェクトを実行([F6]、Macの場合は[fn]-[F6])し、「`Execute`」ボタンをクリックしてからIDEに戻り、「出力」ウィンドウでサーバー・ログを調べます。
+
 image::images/output-window2.png[title="「出力」ウィンドウに表示されたGlassFishサーバー・ログの確認"]
+
 先ほどと同じく無効なオブジェクトでイベントが起動されますが、今度は各イベントの起動時に項目の情報が保存されるようになったのが確認できます。また、起動されたイベントごとに`FileErrorReporter` Beanが作成されて閉じられているため、ライフサイクル・イベントが監視されていることもわかります。(`@PostConstruct`や`@PreDestroy`などのライフサイクル注釈については、link:cdi-validate.html[+@Alternative Beanおよびライフサイクル注釈の適用+]を参照。)
 
 上記の手順で示したように、`@Observes`注釈はイベントを監視するための簡単な方法を提供します。
@@ -213,9 +243,15 @@ image::images/output-window2.png[title="「出力」ウィンドウに表示さ
 public class FileErrorReporter implements ItemErrorHandler { ... }
 ----
 [tips]#入力中に[Ctrl]-[Space]を押すと、エディタのコード補完サポートを呼び出せます。コード補完で項目を選択すると、関連付けられたすべてのインポート文が自動的にクラスに追加されます。#
+
 image::images/code-completion.png[title="入力中に [Ctrl]-[Space]を押してコード補完の候補を呼び出す"]
-2. 再びプロジェクトを実行([F6]、Macの場合は[fn]-[F6])し、「`Execute`」ボタンをクリックしてからIDEに戻り、「出力」ウィンドウでサーバー・ログを調べます。
+
+
+[start=2]
+. 再びプロジェクトを実行([F6]、Macの場合は[fn]-[F6])し、「`Execute`」ボタンをクリックしてからIDEに戻り、「出力」ウィンドウでサーバー・ログを調べます。
+
 image::images/output-window3.png[title="「出力」ウィンドウに表示されたGlassFishサーバー・ログの確認"]
+
 `FileErrorReporter` Beanが最初のイベントの起動時にのみ作成され、最後のイベントの起動後に閉じられます。
 
 [source,java]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events_pt_BR.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events_pt_BR.asciidoc
index a881287..2d962ad 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events_pt_BR.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events_pt_BR.asciidoc
@@ -32,7 +32,7 @@
 _Contribuição de Andy Gibson_
 
 
-=== Injeção de Dependência e Contextos
+== Injeção de Dependência e Contextos
 
 1. link:cdi-intro.html[+Introdução ao CDI e ao JSF 2.0+]
 2. link:cdi-inject.html[+Trabalhando com Injeção e Qualificadores no CDI+]
@@ -65,10 +65,11 @@ Para concluir este tutorial, você precisa dos seguintes recursos e softwares.
 |link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo3.zip[+cdiDemo3.zip+] |n/d 
 |===
 
-*Observações:*
-
+[NOTE]
+====
 * O pacote Java EE do NetBeans IDE inclui também o GlassFish Server Open Source Edition, que é um contêiner compatível com Java EE.
 * É possível fazer download do projeto de amostra de solução para este tutorial em: link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemoComplete.zip[+cdiDemoComplete.zip+]
+====
 
 
 
@@ -82,7 +83,7 @@ Utilizando a aplicação que estamos construindo desde os tutoriais anteriores d
 image::images/cdi-diagram-events.png[title="Use a injeção de CDI para acoplar, livremente, as classes na sua aplicação"]
 
 1. Comece extraindo o projeto de início de amostra do arquivo `cdiDemo3.zip` (Consulte a <<requiredSoftware,tabela que lista os recursos necessários>> acima.) Abra o projeto no IDE escolhendo Arquivo > Abrir Projeto (Ctrl-Shift-O; ⌘-Shift-O no Mac) e, em seguida, selecionando o projeto no seu local no computador.
-2. Crie uma classe denominada `EventItemHandler`. Clique no botão Novo Arquivo (image::images/new-file-btn.png[]) ou pressione CTRL-N (⌘-N no Mac) para abrir o assistente de Arquivo.
+2. Crie uma classe denominada `EventItemHandler`. Clique no botão Novo Arquivo (image:images/new-file-btn.png[]) ou pressione CTRL-N (⌘-N no Mac) para abrir o assistente de Arquivo.
 3. Selecione a categoria Java e, em seguida, a Classe Java. Clique em Próximo.
 4. Digite *EventItemHandler* como o nome da classe e, em seguida, digite *exercise4* como o pacote.
 5. Clique em Finalizar. A nova classe e o novo pacote são gerados e a classe é aberta no editor.
@@ -104,16 +105,31 @@ public class EventItemHandler *implements ItemErrorHandler* {
 }
 ----
 Injetamos uma instância de um `Event` em que a carga do evento será um `Item`. A carga do evento são os dados de estado passados do produtor de evento para o observador de evento que, nesse caso, passa o item rejeitado. Quando o item inválido é tratado, nós acionamos o evento e passamos no item inválido que recebemos. Esse handler de item com base em evento é injetado da mesma maneira que qualquer outro handler de item seria e, portanto, podemos colocá-lo ou tirá-lo sempre que precisarmo [...]
-7. Corrigir todas as importações. Clique com o botão direito do mouse no editor e selecione Corrigir importações ou pressione Ctrl-Shift-I (⌘-Shift-I no Mac). Certifique-se de selecionar `javax.enterprise.event.Event` como o nome completamente qualificado para a classe `Event`. 
+
+[start=7]
+. Corrigir todas as importações. Clique com o botão direito do mouse no editor e selecione Corrigir importações ou pressione Ctrl-Shift-I (⌘-Shift-I no Mac). Certifique-se de selecionar `javax.enterprise.event.Event` como o nome completamente qualificado para a classe `Event`. 
+
 image::images/fix-all-imports.png[title="Clique com o botão direito do mouse no Editor e escolha corrigir importa para chamar a caixa de diálogo Importações de Correção"] 
 
-[tips]#Pressione Ctrl-Espaço em `Event` para exibir a definição Javadoc da classe. O método `fire()`, utilizado acima, também será definido.# 
-image::images/event-javadoc.png[title="Pressione CTRL-Espaço para exibir documentação de Javadoc em classes na API"]
-8. Crie um nome qualificador `Notify`. (Qualificadores foram discutidos em link:cdi-inject.html[+Trabalhando com Injeção e Qualificadores no CDI+].)
-9. Clique no botão Novo Arquivo (image::images/new-file-btn.png[]) ou pressione CTRL-N (⌘-N no Mac) para abrir o assistente de Arquivo.
-10. Selecione a categoria Injeção de Dependência e Contexto e, em seguida, selecione Tipo de Qualificador. Clique em Próximo.
-11. Digite *Notify* como o nome da classe e, em seguida, digite *exercise4* como o pacote.
-12. Clique em Finalizar. O novo qualificador `Notify` será aberto no editor.
+TIP: Pressione Ctrl-Espaço em `Event` para exibir a definição Javadoc da classe. O método `fire()`, utilizado acima, também será definido.# 
+
+image:images/event-javadoc.png[title="Pressione CTRL-Espaço para exibir documentação de Javadoc em classes na API"]
+
+
+[start=8]
+. Crie um nome qualificador `Notify`. (Qualificadores foram discutidos em link:cdi-inject.html[+Trabalhando com Injeção e Qualificadores no CDI+].)
+
+[start=9]
+. Clique no botão Novo Arquivo (image:images/new-file-btn.png[]) ou pressione CTRL-N (⌘-N no Mac) para abrir o assistente de Arquivo.
+
+[start=10]
+. Selecione a categoria Injeção de Dependência e Contexto e, em seguida, selecione Tipo de Qualificador. Clique em Próximo.
+
+[start=11]
+. Digite *Notify* como o nome da classe e, em seguida, digite *exercise4* como o pacote.
+
+[start=12]
+. Clique em Finalizar. O novo qualificador `Notify` será aberto no editor.
 
 [source,java]
 ----
@@ -124,7 +140,9 @@ image::images/event-javadoc.png[title="Pressione CTRL-Espaço para exibir docume
 public @interface Notify {
 }
 ----
-13. Adicione a anotação `@Notify` a `EventItemHandler`.
+
+[start=13]
+. Adicione a anotação `@Notify` a `EventItemHandler`.
 
 [source,java]
 ----
@@ -136,7 +154,9 @@ public class EventItemHandler implements ItemErrorHandler {
 }
 ----
 Criamos uma anotação de qualificador `@Notify` para identificar esse handler de erros para injeção e podemos utilizá-lo em nosso `ItemProcessor` adicionando-o ao ponto de injeção.
-14. Adicione a anotação `@Notify` ao ponto de injeção do `EventItemHandler` no `exercise2.ItemProcessor`.
+
+[start=14]
+. Adicione a anotação `@Notify` ao ponto de injeção do `EventItemHandler` no `exercise2.ItemProcessor`.
 
 [source,java]
 ----
@@ -165,11 +185,19 @@ public class ItemProcessor {
 }
 ----
 (Utilize a dica do editor para adicionar a instrução de importação para `exercise4.Notify`.)
-15. Clique no botão Executar Projeto (image::images/run-project-btn.png[]) para executar o projeto.
-16. No browser, clique no botão "`Execute`" e, em seguida, retorne para o IDE e examine o log do servidor na janela Saída (Ctrl-4; ⌘-4 no Mac). Como a aplicação que você tem construído atualmente utiliza o `DefaultItemDao` para configurar quatro `Item`s, e, em seguida, aplica o `RelaxedItemValidator` nos `Iten`s, é esperado ver o acionamento de `itemErrorHandler` duas vezes. 
+
+[start=15]
+. Clique no botão Executar Projeto (image:images/run-project-btn.png[]) para executar o projeto.
+
+[start=16]
+. No browser, clique no botão "`Execute`" e, em seguida, retorne para o IDE e examine o log do servidor na janela Saída (Ctrl-4; ⌘-4 no Mac). Como a aplicação que você tem construído atualmente utiliza o `DefaultItemDao` para configurar quatro `Item`s, e, em seguida, aplica o `RelaxedItemValidator` nos `Iten`s, é esperado ver o acionamento de `itemErrorHandler` duas vezes. 
+
 image::images/output-window.png[title="Exibir o log do GlassFish Server exibido na janela Saída"] 
+
 Atualmente, no entanto, não temos nada observando o evento. Podemos corrigir isso criando um método _observador_ utilizando a anotação `@Observes`. Essa é a única coisa necessária para observar um evento. Para demonstrar, podemos modificar o `FileErrorReporter` (criado no link:cdi-validate.html[+tutorial anterior+]) para responder a eventos acionados adicionando um método observador que chama seu método `handleItem()`.
-17. Para fazer nosso `FileErrorReporter` responder ao evento, adicione o seguinte método à classe.
+
+[start=17]
+. Para fazer nosso `FileErrorReporter` responder ao evento, adicione o seguinte método à classe.
 
 [source,java]
 ----
@@ -184,8 +212,12 @@ public class FileErrorReporter implements ItemErrorHandler {
 }
 ----
 (Utilize a dica do editor para adicionar uma instrução de importação para `javax.enterprise.event.Observes`.)
-18. Execute o projeto (F6; fn-F6 no Mac) novamente, clique no botão "`Execute`" e, em seguida, retorne para o IDE e examine o log do servidor na janela Saída. 
+
+[start=18]
+. Execute o projeto (F6; fn-F6 no Mac) novamente, clique no botão "`Execute`" e, em seguida, retorne para o IDE e examine o log do servidor na janela Saída. 
+
 image::images/output-window2.png[title="Exibir o log do GlassFish Server exibido na janela Saída"] 
+
 Você verá que os eventos são acionados nos objetos inválidos como eram anteriormente, mas agora as informações do item estão sendo salvas quando cada evento é acionado. Também é possível notar que os eventos de ciclo de vida estão sendo observados, já que um bean `FileErrorReporter` é criado e fechado para cada evento acionado. (Consulte link:cdi-validate.html[+Aplicando Anotações de Ciclo de Vida e de Beans @Alternative+] para obter uma discussão de anotações de ciclo de vida, como `@Po [...]
 
 Conforme mostrado nas etapas acima, a anotação `@Observes` fornece uma maneira fácil de observar um evento.
@@ -213,9 +245,15 @@ Atualmente, o bean `FileErrorReporter` não tem um escopo definido. Quando nenhu
 public class FileErrorReporter implements ItemErrorHandler { ... }
 ----
 [tips]#Pressione Ctrl-Espaço enquanto digita para chamar o suporte da funcionalidade autocompletar código do editor. Quando você escolhe um item por meio da funcionalidade autocompletar código, todas as instruções de importação associadas serão automaticamente adicionadas à classe.# 
+
 image::images/code-completion.png[title="Pressione Ctrl-Espaço ao digitar para chamar sugestões de autocompletar código"]
-2. Execute o projeto (F6; fn-F6 no Mac) novamente, clique no botão "`Execute`" e, em seguida, retorne para o IDE e examine o log do servidor na janela Saída. 
+
+
+[start=2]
+. Execute o projeto (F6; fn-F6 no Mac) novamente, clique no botão "`Execute`" e, em seguida, retorne para o IDE e examine o log do servidor na janela Saída. 
+
 image::images/output-window3.png[title="Exibir o log do GlassFish Server exibido na janela Saída"] 
+
 Note que o bean `FileErrorReporter` é criado apenas quando o primeiro evento é acionado e fechado depois de o evento final ter sido acionado.
 
 [source,java]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events_ru.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events_ru.asciidoc
index ce50b57..ddff293 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events_ru.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events_ru.asciidoc
@@ -32,7 +32,7 @@
 _Предоставлено Энди Гибсоном (Andy Gibson)_
 
 
-=== Внедрение контекстов и зависимостей
+== Внедрение контекстов и зависимостей
 
 1. link:cdi-intro.html[+Введение в CDI и JSF 2.0+]
 2. link:cdi-inject.html[+Работа с внедрением и квалификаторами в CDI+]
@@ -42,8 +42,6 @@ _Предоставлено Энди Гибсоном (Andy Gibson)_
 * <<scopes,Обработка областей действий>>
 * <<seealso,Дополнительные сведения>>
 
-image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0"]
-
 Внедрение контекстов и зависимостей (CDI), определяемое документом link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+], является неотъемлемой частью Java EE 6 и обеспечивает архитектуру, позволяющую компонентам Java EE (например, сервлетам, компонентам EJB и JavaBeans) существовать в жизненном цикле приложения с четко определенными контекстами. Кроме того, службы CDI позволяют компонентам Java EE (например, компонентам сеансов EJB и управляемым компонентам JavaServer Faces) внедряться и  [...]
 
 Этот учебный курс основан на записи блога Энди Гибсона (Andy Gibson) link:http://www.andygibson.net/blog/index.php/2010/01/11/getting-started-with-jsf-2-0-and-cdi-part-3/[+Начало работы с CDI. Часть 3. События+]. Здесь рассмотрены способы использования концепции _событий_ в Java EE, с помощью которой производят возникающие в приложении события и подписываются на них (т.е. _наблюдают_) таким образом, что это позволяет управлять несвязанным кодом между производителями и наблюдателями. Клас [...]
@@ -65,10 +63,11 @@ image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой 
 |link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo3.zip[+cdiDemo3.zip+] |неприменимо 
 |===
 
-*Примечания*
-
+[NOTE]
+====
 * В комплект Java EE для IDE NetBeans также входит компонент GlassFish Server Open Source Edition 3.x, являющийся контейнером, совместимым с Java EE.
 * Демонстрационный проект решения для этого учебного курса можно загрузить здесь: link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemoComplete.zip[+cdiDemoComplete.zip+]
+====
 
 
 
@@ -82,7 +81,7 @@ image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой 
 image::images/cdi-diagram-events.png[title="Используйте внедрение CDI для свободного взаимодействия классов в используемом приложении"]
 
 1. Сначала необходимо извлечь пример начального проекта из файла `cdiDemo3.zip` (см. выше <<requiredSoftware,таблицу с перечислением требуемых ресурсов>>). Выберите File ("Файл") > Open Project ("Открыть проект") (Ctrl-Shift-O; ⌘-Shift-O on Mac) и выберите проект в его местоположении на компьютере.
-2. Создайте класс с именем `EventItemHandler`. Щелкните 'Создать файл' ( image::images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
+2. Создайте класс с именем `EventItemHandler`. Щелкните 'Создать файл' ( image:images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
 3. Выберите категорию Java, а затем выберите класс Java. Нажмите кнопку "Далее".
 4. Введите *EventItemHandler* в качестве имени класса, затем укажите *exercise4* в качестве пакета.
 5. Нажмите кнопку "Завершить". Выполняется создание нового класса и пакета, и новый класс открывается в редакторе.
@@ -104,16 +103,31 @@ public class EventItemHandler *implements ItemErrorHandler* {
 }
 ----
 Мы внедряем экземпляр `Event`, где информационным наполнением события будет `Item`. Информационным наполнением события являются данные состояния, передаваемые от производителя событий в наблюдатель событий, который в данном случае передает отклоненный элемент. При обработке недопустимого элемента мы инициируем событие и передаем полученный недопустимый элемент. Обработчик элементов на базе событий внедряется таким же образом, как любой другой обработчик элементов, поэтому его можно загру [...]
-7. Исправление всех операторов импорта. Либо щелкните правой кнопкой мыши в редакторе и выберите 'Исправить выражения импорта' или нажмите Ctrl-Shift-I (⌘-Shift-I в Mac). Убедитесь в том, что `javax.enterprise.event.Event` выбрано в качестве полного имени для класса `Event`. 
+
+[start=7.]
+. Исправление всех операторов импорта. Либо щелкните правой кнопкой мыши в редакторе и выберите 'Исправить выражения импорта' или нажмите Ctrl-Shift-I (⌘-Shift-I в Mac). Убедитесь в том, что `javax.enterprise.event.Event` выбрано в качестве полного имени для класса `Event`. 
+
 image::images/fix-all-imports.png[title="Щелкните в редакторе правой кнопкой мыши и выберите &quot;Исправить операторы импорта&quot;. "] 
 
 [tips]#Нажмите сочетание клавиш CTRL+ПРОБЕЛ на элементе `Event` для просмотра определения документации Javadoc для класса. Тут же определяется используемый выше метод `fire()`.# 
+
 image::images/event-javadoc.png[title="Нажмите Ctrl-Space для просмотра документации Javadoc по классам в API"]
-8. Создайте квалификатор с именем `Notify`. (Квалификаторы были рассмотрены в разделе link:cdi-inject.html[+Работа со внедрением и квалификаторами в CDI+].)
-9. Щелкните 'Создать файл' ( image::images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
-10. Выберите категорию "Внедрение контекстов и зависимостей", затем выберите "Тип "квалификатора". Нажмите кнопку "Далее".
-11. Введите *Notify* в качестве имени класса, затем укажите *exercise4* в качестве пакета.
-12. Нажмите кнопку "Завершить". Новый квалификатор `Notify` открывается в редакторе.
+
+
+[start=8.]
+. Создайте квалификатор с именем `Notify`. (Квалификаторы были рассмотрены в разделе link:cdi-inject.html[+Работа со внедрением и квалификаторами в CDI+].)
+
+[start=9.]
+. Щелкните 'Создать файл' ( image:images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
+
+[start=10.]
+. Выберите категорию "Внедрение контекстов и зависимостей", затем выберите "Тип "квалификатора". Нажмите кнопку "Далее".
+
+[start=11.]
+. Введите *Notify* в качестве имени класса, затем укажите *exercise4* в качестве пакета.
+
+[start=12.]
+. Нажмите кнопку "Завершить". Новый квалификатор `Notify` открывается в редакторе.
 
 [source,java]
 ----
@@ -124,7 +138,9 @@ image::images/event-javadoc.png[title="Нажмите Ctrl-Space для прос
 public @interface Notify {
 }
 ----
-13. Добавьте аннотацию `@Notify` к `EventItemHandler`.
+
+[start=13.]
+. Добавьте аннотацию `@Notify` к `EventItemHandler`.
 
 [source,java]
 ----
@@ -136,7 +152,9 @@ public class EventItemHandler implements ItemErrorHandler {
 }
 ----
 Мы создали аннотацию квалификатора `@Notify`, чтобы определить обработчик ошибок для внедрения, и можем ее использовать в `ItemProcessor` путем добавления к точке внедрения.
-14. Добавьте аннотацию `@Notify` к точке внедрения`EventItemHandler` в `exercise2.ItemProcessor`.
+
+[start=14.]
+. Добавьте аннотацию `@Notify` к точке внедрения`EventItemHandler` в `exercise2.ItemProcessor`.
 
 [source,java]
 ----
@@ -165,11 +183,19 @@ public class ItemProcessor {
 }
 ----
 Используйте подсказку редактора, чтобы добавить оператор импорта для `exercise4.Notify`.
-15. Для запуска проекта нажмите кнопку 'Запустить проект' ( image::images/run-project-btn.png[] ).
-16. В браузере нажмите кнопку `Выполнить`, затем вернитесь в среду IDE и проверьте протокол сервера в окне вывода (Ctrl-4; ⌘-4 в Mac). Поскольку в создаваемом приложении в настоящий момент используется `DefaultItemDao` для настройки четырех элементов `Item`, затем применяется `RelaxedItemValidator` в элементах `Item`, ожидается, что инициирование`itemErrorHandler` произойдет дважды. 
+
+[start=15.]
+. Для запуска проекта нажмите кнопку 'Запустить проект' ( image:images/run-project-btn.png[] ).
+
+[start=16.]
+. В браузере нажмите кнопку `Выполнить`, затем вернитесь в среду IDE и проверьте протокол сервера в окне вывода (Ctrl-4; ⌘-4 в Mac). Поскольку в создаваемом приложении в настоящий момент используется `DefaultItemDao` для настройки четырех элементов `Item`, затем применяется `RelaxedItemValidator` в элементах `Item`, ожидается, что инициирование`itemErrorHandler` произойдет дважды. 
+
 image::images/output-window.png[title="Просмотрите журнал сервера GlassFish, отображенный в окне вывода"] 
+
 Однако в настоящее время отсутствует наблюдение за событием. Это можно исправить путем создания метода _наблюдателя_ с помощью аннотации `@Observes`. Это единственное, что нужно для наблюдения за событием. Для демонстрации можно изменить класс `FileErrorReporter` (созданный в link:cdi-validate.html[+предыдущем учебном курсе+]), реагирующий на инициированные события, путем добавления метода наблюдателя, который вызывает метод `handleItem()`.
-17. Для создания ответа `FileErrorReporter` на событие добавьте следующий метод к классу.
+
+[start=17.]
+. Для создания ответа `FileErrorReporter` на событие добавьте следующий метод к классу.
 
 [source,java]
 ----
@@ -184,8 +210,12 @@ public class FileErrorReporter implements ItemErrorHandler {
 }
 ----
 Используйте подсказку редактора, чтобы добавить оператор импорта для `javax.enterprise.event.Observes`.
-18. Запустите проект еще раз (нажмите клавишу F6; fn+F6 на компьютерах Mac), нажмите кнопку `Выполнить`, затем вернитесь в среду IDE и проверьте протокол сервера в окне вывода. 
+
+[start=18.]
+. Запустите проект еще раз (нажмите клавишу F6; fn+F6 на компьютерах Mac), нажмите кнопку `Выполнить`, затем вернитесь в среду IDE и проверьте протокол сервера в окне вывода. 
+
 image::images/output-window2.png[title="Просмотрите журнал сервера GlassFish, отображенный в окне вывода"] 
+
 Вы увидите, что события инициируются для недопустимых объектов, так же как и раньше, но теперь информация об элементе сохраняется при инициировании каждого события. Также можно отметить, что выполняется наблюдение за событиями жизненного цикла, поскольку компонент `FileErrorReporter` создаётся и закрывается для каждого инициированного события. (Для обсуждения аннотаций жизненного цикла, например `@PostConstruct` и `@PreDestroy` ознакомьтесь с разделом link:cdi-validate.html[+Применение к [...]
 
 Как показано выше аннотация `@Observes` упрощает процесс наблюдения за событиями.
@@ -212,10 +242,17 @@ image::images/output-window2.png[title="Просмотрите журнал се
 *@RequestScoped*
 public class FileErrorReporter implements ItemErrorHandler { ... }
 ----
-[tips]#Нажмите сочетание клавиш CTRL+ПРОБЕЛ при вводе, чтобы вызвать поддержку автозавершения кода в редакторе. При выборе элемента через автозавершение кода некоторые операторы импорта автоматически добавляются к этому классу.# 
+
+TIP: Нажмите сочетание клавиш CTRL+ПРОБЕЛ при вводе, чтобы вызвать поддержку автозавершения кода в редакторе. При выборе элемента через автозавершение кода некоторые операторы импорта автоматически добавляются к этому классу.# 
+
 image::images/code-completion.png[title="Нажмите сочетание клавиш CTRL+ПРОБЕЛ при вводе, чтобы вызвать поддержку автозавершения кода в редакторе. "]
-2. Запустите проект еще раз (нажмите клавишу F6; fn+F6 на компьютерах Mac), нажмите кнопку `Выполнить`, затем вернитесь в среду IDE и проверьте протокол сервера в окне вывода. 
+
+
+[start=2.]
+. Запустите проект еще раз (нажмите клавишу F6; fn+F6 на компьютерах Mac), нажмите кнопку `Выполнить`, затем вернитесь в среду IDE и проверьте протокол сервера в окне вывода. 
+
 image::images/output-window3.png[title="Просмотрите журнал сервера GlassFish, отображенный в окне вывода"] 
+
 Обратите внимание, что компонент `FileErrorReporter` создается только при инициировании первого события и закрывается после инициирования конечного события.
 
 [source,java]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events_zh_CN.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events_zh_CN.asciidoc
index a5f7dc6..36f05f4 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events_zh_CN.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-events_zh_CN.asciidoc
@@ -32,7 +32,7 @@
 _撰稿人:Andy Gibson_
 
 
-=== 上下文和依赖关系注入
+== 上下文和依赖关系注入
 
 1. link:cdi-intro.html[+CDI 和 JSF 2.0 入门指南+]
 2. link:cdi-inject.html[+使用 CDI 中的注入和限定符+]
@@ -42,8 +42,6 @@ _撰稿人:Andy Gibson_
 * <<scopes,处理范围>>
 * <<seealso,另请参见>>
 
-image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0"]
-
 link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+] 指定的上下文和依赖关系注入 (CDI) 是 Java EE 6 的一个组成部分,提供了一个体系结构,以允许 Java EE 组件(例如 Servlet、企业 Bean 和 JavaBeans)在具有明确定义范围的应用程序生命周期内存在。此外,CDI 服务允许 Java EE 组件(例如 EJB 会话 Bean 和 JavaServer Faces (JSF) 受管 Bean)注入并通过触发和观察事件以松散耦合的方式进行交互。
 
 本教程基于 Andy Gibson 发布的博客,标题为:link:http://www.andygibson.net/blog/index.php/2010/01/11/getting-started-with-jsf-2-0-and-cdi-part-3/[+CDI 入门指南,第 3 部分 - 事件+]。它演示了如何利用 Java EE _事件_的概念,即用一种维护生成器和观察器之间的分离代码的方式,来产生和订阅(即_观察_)在应用程序中发生的事件。使用 `javax.enterprise.event.Event` 类创建事件,并使用 CDI 的 `@Observes` 标注订阅事件。
@@ -65,10 +63,11 @@ NetBeans IDE 为上下文和依赖关系注入提供了内置支持,包括在
 |link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo3.zip[+cdiDemo3.zip+] |N/A 
 |===
 
-*注:*
-
+[NOTE]
+====
 * NetBeans IDE Java EE 包中还含 GlassFish Server Open Source Edition,后者是与 Java EE 兼容的容器。
 * 可以下载本教程的解决方案样例项目:link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemoComplete.zip[+cdiDemoComplete.zip+]
+====
 
 
 
@@ -82,7 +81,7 @@ NetBeans IDE 为上下文和依赖关系注入提供了内置支持,包括在
 image::images/cdi-diagram-events.png[title="在应用程序中使用 CDI 注入对类进行松散耦合"]
 
 1. 首先,从 `cdiDemo3.zip` 文件提取样例启动项目(请参见上面的<<requiredSoftware,所需资源列表>>)。在 IDE 中打开项目,方法是选择 "File"(文件)> "Open Project"(打开项目)(Ctrl-Shift-O 组合键;在 Mac 上为 ⌘-Shift-O 组合键),然后从计算机上的相应位置选择该项目。
-2. 创建一个类,名为 `EventItemHandler`。单击 "New File"(新建文件)(image::images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
+2. 创建一个类,名为 `EventItemHandler`。单击 "New File"(新建文件)(image:images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
 3. 选择 "Java" 类别,然后选择 "Java Class"(Java 类)。单击 "Next"(下一步)。
 4. 键入 *EventItemHandler* 作为类名,然后输入 *exercise4* 作为包。
 5. 单击 "Finish"(完成)。新类和包生成,并在编辑器中打开此类。
@@ -104,16 +103,31 @@ public class EventItemHandler *implements ItemErrorHandler* {
 }
 ----
 我们会注入 `Event` 实例,其中事件有效负载为 `Item`。事件有效负载是指从事件生成器传递到事件观察器的状态数据,在本例中传递的是已拒绝的项。当处理无效项时,我们会引发事件并传入接收的无效项。此基于事件的项处理程序的插入方式与其他任何项处理程序的方式相同,因此我们可以在任何需要的时候将其换入换出,还可以在测试过程中进行替换。
-7. 修复所有导入。在编辑器中右键单击并选择 "Fix Imports"(修复导入),或者按 Ctrl-Shift-I 组合键(在 Mac 上按 ⌘-Shift-I 组合键)。请务必选择 `javax.enterprise.event.Event` 作为 `Event` 类的全限定名称。
+
+[start=7.]
+. 修复所有导入。在编辑器中右键单击并选择 "Fix Imports"(修复导入),或者按 Ctrl-Shift-I 组合键(在 Mac 上按 ⌘-Shift-I 组合键)。请务必选择 `javax.enterprise.event.Event` 作为 `Event` 类的全限定名称。
+
 image::images/fix-all-imports.png[title="右键单击编辑器,然后选择 "Fix Imports"(修复导入)以调出 "Fix Imports"(修复导入)对话框"] 
 
 [tips]#在 `Event` 上按 Ctrl-空格键以查看该类的 Javadoc 定义。另外,还定义了上面使用的 `fire()` 方法。# 
+
 image::images/event-javadoc.png[title="按 Ctrl-空格键可查看有关 API 中类的 Javadoc 文档"]
-8. 创建一个限定符,名为 `Notify`。(link:cdi-inject.html[+使用 CDI 中的注入和限定符+]对限定符进行了介绍。)
-9. 单击 "New File"(新建文件)(image::images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
-10. 选择 "Context and Dependency Injection"(上下文和依赖关系注入)类别,然后选择 "Qualifier Type"(限定符类型)。单击 "Next"(下一步)。
-11. 输入 *Notify* 作为类名,然后输入 *exercise4* 作为包。
-12. 单击 "Finish"(完成)。新的 `Notify` 限定符在编辑器中打开。
+
+
+[start=8.]
+. 创建一个限定符,名为 `Notify`。(link:cdi-inject.html[+使用 CDI 中的注入和限定符+]对限定符进行了介绍。)
+
+[start=9.]
+. 单击 "New File"(新建文件)(image:images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
+
+[start=10.]
+. 选择 "Context and Dependency Injection"(上下文和依赖关系注入)类别,然后选择 "Qualifier Type"(限定符类型)。单击 "Next"(下一步)。
+
+[start=11.]
+. 输入 *Notify* 作为类名,然后输入 *exercise4* 作为包。
+
+[start=12.]
+. 单击 "Finish"(完成)。新的 `Notify` 限定符在编辑器中打开。
 
 [source,java]
 ----
@@ -124,7 +138,9 @@ image::images/event-javadoc.png[title="按 Ctrl-空格键可查看有关 API 中
 public @interface Notify {
 }
 ----
-13. 将 `@Notify` 标注添加到 `EventItemHandler`。
+
+[start=13.]
+. 将 `@Notify` 标注添加到 `EventItemHandler`。
 
 [source,java]
 ----
@@ -136,7 +152,9 @@ public class EventItemHandler implements ItemErrorHandler {
 }
 ----
 我们创建了一个 `@Notify` 限定符标注为注入标识此错误处理程序,并可以通过将其添加到注入点以在我们的 `ItemProcessor` 中使用。
-14. 在 `exercise2.ItemProcessor` 中,将 `@Notify` 标注添加到 `EventItemHandler` 的注入点。
+
+[start=14.]
+. 在 `exercise2.ItemProcessor` 中,将 `@Notify` 标注添加到 `EventItemHandler` 的注入点。
 
 [source,java]
 ----
@@ -165,11 +183,19 @@ public class ItemProcessor {
 }
 ----
 (使用编辑器的提示为 `exercise4.Notify` 添加 import 语句。)
-15. 单击 "Run Project"(运行项目)(image::images/run-project-btn.png[]) 按钮以运行项目。
-16. 在浏览器中,单击 `Execute` 按钮,然后返回至 IDE,并在 "Output"(输出)窗口(Ctrl-4 组合键;在 Mac 上为 ⌘-4 组合键)中查看服务器日志。因为已构建的应用程序目前使用 `DefaultItemDao` 设置四个 `Item`,然后在 `Item` 上应用 `RelaxedItemValidator`,您会看到 `itemErrorHandler` 引发两次。
+
+[start=15.]
+. 单击 "Run Project"(运行项目)(image:images/run-project-btn.png[]) 按钮以运行项目。
+
+[start=16.]
+. 在浏览器中,单击 `Execute` 按钮,然后返回至 IDE,并在 "Output"(输出)窗口(Ctrl-4 组合键;在 Mac 上为 ⌘-4 组合键)中查看服务器日志。因为已构建的应用程序目前使用 `DefaultItemDao` 设置四个 `Item`,然后在 `Item` 上应用 `RelaxedItemValidator`,您会看到 `itemErrorHandler` 引发两次。
+
 image::images/output-window.png[title="查看显示在 "Output"(输出)窗口中的 GlassFish Server 日志"] 
+
 目前我们还无法观察事件。不过,可以通过使用 `@Observes` 标注创建 _observer_ 方法来解决此问题。只需执行此操作即可观察事件。为了进行演示,我们可以通过添加调用其 `handleItem()` 方法的观察器方法来修改 `FileErrorReporter`(已在link:cdi-validate.html[+上一教程+]中创建),以响应引发事件。
-17. 要使我们的 `FileErrorReporter` 响应事件,请向类中添加以下方法。
+
+[start=17.]
+. 要使我们的 `FileErrorReporter` 响应事件,请向类中添加以下方法。
 
 [source,java]
 ----
@@ -184,8 +210,12 @@ public class FileErrorReporter implements ItemErrorHandler {
 }
 ----
 (使用编辑器的提示为 `javax.enterprise.event.Observes` 添加 import 语句。)
-18. 再次运行项目(F6;在 Mac 上为 fn-F6),单击 `Execute` 按钮,然后返回至 IDE 并检查 "Output"(输出)窗口中的服务器日志。
+
+[start=18.]
+. 再次运行项目(F6;在 Mac 上为 fn-F6),单击 `Execute` 按钮,然后返回至 IDE 并检查 "Output"(输出)窗口中的服务器日志。
+
 image::images/output-window2.png[title="查看显示在 "Output"(输出)窗口中的 GlassFish Server 日志"] 
+
 可以看到,事件与之前一样会在无效对象上引发,但是现在每次引发事件时都将保存项信息。您可能还会注意到,可以观察生命周期事件,因为为每个引发事件创建和关闭了 `FileErrorReporter` Bean。(有关诸如 `@PostConstruct` 和 `@PreDestroy` 等生命周期标注的讨论,请参见link:cdi-validate.html[+应用 @Alternative Bean 和生命周期标注+]。)
 
 如以上步骤所示,`@Observes` 标注提供了一种简单的方式来观察事件。
@@ -213,9 +243,15 @@ image::images/output-window2.png[title="查看显示在 "Output"(输出)窗
 public class FileErrorReporter implements ItemErrorHandler { ... }
 ----
 [tips]#键入时按 Ctrl-空格键以调用编辑器的代码完成支持。通过代码完成选择项时,所有关联 import 语句都会自动添加到类中。# 
+
 image::images/code-completion.png[title="在键入时按 Ctrl-空格键可调用代码完成建议"]
-2. 再次运行项目(F6;在 Mac 上为 fn-F6),单击 `Execute` 按钮,然后返回至 IDE 并检查 "Output"(输出)窗口中的服务器日志。
+
+
+[start=2.]
+. 再次运行项目(F6;在 Mac 上为 fn-F6),单击 `Execute` 按钮,然后返回至 IDE 并检查 "Output"(输出)窗口中的服务器日志。
+
 image::images/output-window3.png[title="查看显示在 "Output"(输出)窗口中的 GlassFish Server 日志"] 
+
 请注意,仅当引发第一个事件时创建 `FileErrorReporter` Bean,并在引发最后一个事件以后将其关闭。
 
 [source,java]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject.asciidoc
index d14e5cc..b817120 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject.asciidoc
@@ -32,7 +32,7 @@
 _Contributed by Andy Gibson_
 
 
-=== Contexts and Dependency Injection
+== Contexts and Dependency Injection
 
 1. link:cdi-intro.html[+Getting Started with CDI and JSF 2.0+]
 2. *Working with Injection and Qualifiers in CDI*
@@ -40,10 +40,12 @@ _Contributed by Andy Gibson_
 * <<qualifier,Working with Qualifiers>>
 * <<alternative,Alternative Injection Methods>>
 * <<seealso,See Also>>
-3. link:cdi-validate.html[+Applying @Alternative Beans and Lifecycle Annotations+]
-4. link:cdi-events.html[+Working with Events in CDI+]
 
-image::images/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3, 7.4 and 8.0"]
+[start=3]
+. link:cdi-validate.html[+Applying @Alternative Beans and Lifecycle Annotations+]
+
+[start=4]
+. link:cdi-events.html[+Working with Events in CDI+]
 
 Contexts and Dependency Injection (CDI), specified by link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+], is an integral part of Java EE 6 and provides an architecture that allows Java EE components such as servlets, enterprise beans, and JavaBeans to exist within the lifecycle of an application with well-defined scopes. In addition, CDI services allow Java EE components such as EJB session beans and JavaServer Faces (JSF) managed beans to be injected and to interact in a loosely couple [...]
 
@@ -66,10 +68,11 @@ To complete this tutorial, you need the following software and resources.
 |link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo.zip[+cdiDemo.zip+] |n/a 
 |===
 
-*Notes:*
-
+[NOTE]
+====
 * The NetBeans IDE Java bundle also includes the GlassFish Server Open Source Edition which is a Java EE-compliant container.
 * The solution sample project for this tutorial can be downloaded: link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo2.zip[+cdiDemo2.zip+]
+====
 
 
 
@@ -84,15 +87,33 @@ image::images/cdi-diagram-inject.png[title="Use CDI injection to loosely couple
 
 DAO stands for _data access object_.
 
-1. Begin by extracting the sample start project from the `cdiDemo.zip` file (See the <<requiredSoftware,table listing required resources>> above.) Open the project in the IDE by choosing File > Open Project (Ctrl-Shift-O; ⌘-Shift-O on Mac), then selecting the project from its location on your computer.
-2. Right-click the project node in the Projects window and choose Properties.
-3. Select the Run category and confirm that your GlassFish instance is selected in the Server dropdown list.
-4. Create a new `Item` class, and store it in a new package named `exercise2`. Click the New File ( image::images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
-5. Select the Java category, then select Java Class. Click Next.
-6. Enter *Item* as the class name, then type in *exercise2* as the package. (The new package is created upon completing the wizard.) 
+
+[start=1]
+. Begin by extracting the sample start project from the `cdiDemo.zip` file (See the <<requiredSoftware,table listing required resources>> above.) Open the project in the IDE by choosing File > Open Project (Ctrl-Shift-O; ⌘-Shift-O on Mac), then selecting the project from its location on your computer.
+
+[start=2]
+. Right-click the project node in the Projects window and choose Properties.
+
+[start=3]
+. Select the Run category and confirm that your GlassFish instance is selected in the Server dropdown list.
+
+[start=4]
+. Create a new `Item` class, and store it in a new package named `exercise2`. Click the New File ( image:images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
+
+[start=5]
+. Select the Java category, then select Java Class. Click Next.
+
+[start=6]
+. Enter *Item* as the class name, then type in *exercise2* as the package. (The new package is created upon completing the wizard.) 
+
 image::images/java-class-wizard.png[title="Create a new Java class using the File wizard"]
-7. Click Finish. The new class and package are generated, and the `Item` class opens in the editor.
-8. Create `value` and `limit` properties for the `Item` POJO, and implement the `toString()` method. Add the following content to the class.
+
+
+[start=7]
+. Click Finish. The new class and package are generated, and the `Item` class opens in the editor.
+
+[start=8]
+. Create `value` and `limit` properties for the `Item` POJO, and implement the `toString()` method. Add the following content to the class.
 
 [source,java]
 ----
@@ -108,11 +129,21 @@ public class Item {
     }*
 }
 ----
-9. Add getter and setter methods to the class. To do so, ensure that your cursor is placed between the class definition (i.e., between the class' curly brackets), then right-click in the editor and choose Insert Code (Alt-Insert; Ctrl-I on Mac). Choose Getter and Setter. 
+
+[start=9]
+. Add getter and setter methods to the class. To do so, ensure that your cursor is placed between the class definition (i.e., between the class' curly brackets), then right-click in the editor and choose Insert Code (Alt-Insert; Ctrl-I on Mac). Choose Getter and Setter. 
+
 image::images/insert-code.png[title="Create getters and setters using the Insert Code popup"]
-10. Select the `Item` check box (doing so selects all properties contained in the class). 
+
+
+[start=10]
+. Select the `Item` check box (doing so selects all properties contained in the class). 
+
 image::images/generate-getters-setters.png[title="Select the class checkbox to select all properties contained in the class"]
-11. Click Generate. Getter and setter methods are generated for the class.
+
+
+[start=11]
+. Click Generate. Getter and setter methods are generated for the class.
 
 [source,java]
 ----
@@ -144,8 +175,12 @@ public class Item {
     }
 }
 ----
-12. Create a constructor that takes both `value` and `limit` arguments. Again, the IDE can assist with this. Press Ctrl-Space within the class definition and choose the '`Item(int value, int limit) - generate`' option. 
+
+[start=12]
+. Create a constructor that takes both `value` and `limit` arguments. Again, the IDE can assist with this. Press Ctrl-Space within the class definition and choose the '`Item(int value, int limit) - generate`' option. 
+
 image::images/generate-constructor.png[title="Press Ctrl-Space to utilize the editor's code completion facilities"] 
+
 The following constructor is added to the class.
 
 [source,java]
@@ -163,14 +198,24 @@ public class Item {
 
     ...
 ----
-13. Create an `ItemDao` interface to define how we get the list of `Item` objects. In this test application we anticipate using multiple implementations, so we will code to interfaces.
 
-Click the New File ( image::images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
+[start=13]
+. Create an `ItemDao` interface to define how we get the list of `Item` objects. In this test application we anticipate using multiple implementations, so we will code to interfaces.
+
+Click the New File ( image:images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
+
+
+[start=14]
+. Select the Java category, then select Java Interface. Click Next.
 
-14. Select the Java category, then select Java Interface. Click Next.
-15. Type in *ItemDao* as the class name, then enter *exercise2* as the package.
-16. Click Finish. The new interface is generated and opens in the editor.
-17. Add a method called `fetchItems()` that returns a `List` of `Item` objects.
+[start=15]
+. Type in *ItemDao* as the class name, then enter *exercise2* as the package.
+
+[start=16]
+. Click Finish. The new interface is generated and opens in the editor.
+
+[start=17]
+. Add a method called `fetchItems()` that returns a `List` of `Item` objects.
 
 [source,java]
 ----
@@ -182,16 +227,24 @@ public interface ItemDao {
 }
 ----
 (Use the editor's hint to add the import statement for `java.util.List`.)
-18. Create an `ItemProcessor` class. This is the main class that you will inject your beans into and execute the process from. For now, you will start with the DAO and look at how you will inject it into our processor bean.
 
-Click the New File ( image::images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
+[start=18]
+. Create an `ItemProcessor` class. This is the main class that you will inject your beans into and execute the process from. For now, you will start with the DAO and look at how you will inject it into our processor bean.
+
+Click the New File ( image:images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
+
 
-19. Select the Java category, then select Java Class. Click Next.
-20. Type in *ItemProcessor* as the class name, then enter *exercise2* as the package. Click Finish.
+[start=19]
+. Select the Java category, then select Java Class. Click Next.
+
+[start=20]
+. Type in *ItemProcessor* as the class name, then enter *exercise2* as the package. Click Finish.
 
 The new class is generated and opens in the editor.
 
-21. Modify the class as follows:
+
+[start=21]
+. Modify the class as follows:
 
 [source,java]
 ----
@@ -210,16 +263,28 @@ public class ItemProcessor {
     }
 }
 ----
-22. Fix imports. Either right-click in the editor and choose Fix Imports, or press Ctrl-Shift-I (⌘-Shift-I on Mac). 
+
+[start=22]
+. Fix imports. Either right-click in the editor and choose Fix Imports, or press Ctrl-Shift-I (⌘-Shift-I on Mac). 
+
 image::images/fix-imports.png[title="Right-click in the editor and choose Fix Imports to add import statements to the class"]
-23. Click OK. Import statements for the following classes are required:
+
+
+[start=23]
+. Click OK. Import statements for the following classes are required:
 * `java.util.List`
 * `javax.inject.Named`
 * `javax.enterprise.context.RequestScoped`
-24. Begin with a simple DAO that just creates a list of items and returns a fixed list of items. 
 
-In the Projects window, right-click the `exercise2` package node and choose New > Java Class. In the Java Class wizard, name the class `DefaultItemDao`. Click Finish. image::images/java-class-wizard2.png[title="Create a new Java class using the Java Class wizard"]
-25. In the editor, have `DefaultItemDao` implement the `ItemDao` interface, and provide an implementation of `fetchItems()`.
+[start=24]
+. Begin with a simple DAO that just creates a list of items and returns a fixed list of items. 
+
+In the Projects window, right-click the `exercise2` package node and choose New > Java Class. In the Java Class wizard, name the class `DefaultItemDao`. Click Finish. 
+
+image:images/java-class-wizard2.png[title="Create a new Java class using the Java Class wizard"]
+
+[start=25]
+. In the editor, have `DefaultItemDao` implement the `ItemDao` interface, and provide an implementation of `fetchItems()`.
 
 [source,java]
 ----
@@ -238,7 +303,9 @@ public class DefaultItemDao *implements ItemDao* {
 }
 ----
 (Press Ctrl-Shift-I (⌘-Shift-I on Mac) to add import statements for `java.util.List` and `java.util.ArrayList`.)
-26. Switch to the `ItemProcessor` class (press Ctrl-Tab). In order to inject the `DefaultItemDao` into `ItemProcessor`, we add the `javax.inject.Inject` annotation to the `ItemDao` field to indicate that this field is an injection point.
+
+[start=26]
+. Switch to the `ItemProcessor` class (press Ctrl-Tab). In order to inject the `DefaultItemDao` into `ItemProcessor`, we add the `javax.inject.Inject` annotation to the `ItemDao` field to indicate that this field is an injection point.
 
 [source,java]
 ----
@@ -256,14 +323,25 @@ public class ItemProcessor {
     ...
 }
 ----
-[tips]#Utilize the editor's code completion support to add the `@Inject` annotation and import statement to the class. For example, type '`@Inj`', then press Ctrl-Space.#
-27. Finally, we need some way to call the `execute()` method on the `ItemProcessor`. We can run this in a SE environment, but for now we'll keep it in a JSF page. Create a new page called `process.xhtml` that contains a button to call the `execute()` method. 
 
-Click the New File ( image::images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
-28. Select the JavaServer Faces category, then select JSF Page. Click Next.
-29. Type in *process* as the file name, then click Finish. 
+TIP: Utilize the editor's code completion support to add the `@Inject` annotation and import statement to the class. For example, type '`@Inj`', then press Ctrl-Space.#
+
+[start=27]
+. Finally, we need some way to call the `execute()` method on the `ItemProcessor`. We can run this in a SE environment, but for now we'll keep it in a JSF page. Create a new page called `process.xhtml` that contains a button to call the `execute()` method. 
+
+Click the New File ( image:images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
+
+[start=28]
+. Select the JavaServer Faces category, then select JSF Page. Click Next.
+
+[start=29]
+. Type in *process* as the file name, then click Finish. 
+
 image::images/new-jsf-page.png[title="Create a new Facelets page using the JSF file wizard"]
-30. In the new `process.xhtml` file, add a button that is wired to the `ItemProcessor.execute()` method. Using EL, the default name for the managed bean is the same as the class name, but with the first letter being lower-case (i.e., `itemProcessor`).
+
+
+[start=30]
+. In the new `process.xhtml` file, add a button that is wired to the `ItemProcessor.execute()` method. Using EL, the default name for the managed bean is the same as the class name, but with the first letter being lower-case (i.e., `itemProcessor`).
 
 [source,xml]
 ----
@@ -274,11 +352,17 @@ image::images/new-jsf-page.png[title="Create a new Facelets page using the JSF f
     </h:form>*
 </h:body>
 ----
-31. Before running the project, set the `process.xhtml` file as the new welcome page in the project's web deployment descriptor. 
+
+[start=31]
+. Before running the project, set the `process.xhtml` file as the new welcome page in the project's web deployment descriptor. 
 
 Use the IDE's Go to File dialog to quickly open the `web.xml` file. Choose Navigate > Go to File from the IDE's main menu (Alt-Shift-O; Ctrl-Shift-O on Mac), then type '`web`'. 
+
 image::images/go-to-file.png[title="Use the Go to File dialog to quickly locate a project file"]
-32. Click OK. In the XML view of the `web.xml` file, make the following change.
+
+
+[start=32]
+. Click OK. In the XML view of the `web.xml` file, make the following change.
 
 [source,xml]
 ----
@@ -287,10 +371,16 @@ image::images/go-to-file.png[title="Use the Go to File dialog to quickly locate
     <welcome-file>faces/*process.xhtml*</welcome-file>
 </welcome-file-list>
 ----
-33. Click the Run Project ( image::images/run-project-btn.png[] ) button in the IDE's main toolbar. The project is compiled and deployed to GlassFish, and the `process.xhtml` file opens in the browser.
-34. Click the '`Execute`' button that displays on the page. Switch back to the IDE and examine the GlassFish server log. The server log displays in the Output window (Ctrl-4; ⌘-4 on Mac) under the GlassFish Server tab. When the button is clicked, the log lists the items from our default DAO implementation. 
+
+[start=33]
+. Click the Run Project ( image:images/run-project-btn.png[] ) button in the IDE's main toolbar. The project is compiled and deployed to GlassFish, and the `process.xhtml` file opens in the browser.
+
+[start=34]
+. Click the '`Execute`' button that displays on the page. Switch back to the IDE and examine the GlassFish server log. The server log displays in the Output window (Ctrl-4; ⌘-4 on Mac) under the GlassFish Server tab. When the button is clicked, the log lists the items from our default DAO implementation. 
+
 image::images/output-window.png[title="Examine the server log in the IDE's Output window"] 
-[tips]#Right-click in the Output window and choose Clear (Ctrl-L; ⌘-L on Mac) to clear the log. In the above image, the log was cleared just prior to clicking the '`Execute`' button.#
+
+TIP: Right-click in the Output window and choose Clear (Ctrl-L; ⌘-L on Mac) to clear the log. In the above image, the log was cleared just prior to clicking the '`Execute`' button.#
 
 We created a class which implements the `ItemDao` interface, and when the application was deployed our managed beans in the module were processed by the CDI implementation (because of the `beans.xml` file in the module). Our `@Inject` annotation specifies that we want to inject a managed bean into that field and the only thing we know about the injectable bean is that it must implement `ItemDao` or some subtype of that interface. In this case, the `DefaultItemDao` class fits the bill perfectly.
 
@@ -331,11 +421,15 @@ Be sure to add import statements for `java.util.List` and `java.util.ArrayList`.
 
 Now that there are two classes that implement `ItemDao`, the choice is not so clear as to which bean we want to inject.
 
-4. Click the Run Project ( image::images/run-project-btn.png[] ) button to run the project. Note that the project now fails to deploy.
+
+[start=4]
+. Click the Run Project ( image:images/run-project-btn.png[] ) button to run the project. Note that the project now fails to deploy.
 
 You probably only need to save the file because the IDE will automatically deploy the project because Deploy on Save is enabled by default.
 
-5. Examine the server log in the Output window (Ctrl-4; ⌘-4 on Mac). You see an error message similar to the following.
+
+[start=5]
+. Examine the server log in the Output window (Ctrl-4; ⌘-4 on Mac). You see an error message similar to the following.
 
 [source,java]
 ----
@@ -356,10 +450,18 @@ When CDI inspects an injection point to find a suitable bean to inject, it takes
 
 The IDE provides a wizard that enables you to generate CDI qualifiers.
 
-6. Click the New File ( image::images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
-7. Select the Context and Dependency Injection category, then select Qualifier Type. Click Next.
-8. Enter *Demo* as the class name, then enter *exercise2* as the package.
-9. Click Finish. The new `Demo` qualifier opens in the editor.
+
+[start=6]
+. Click the New File ( image:images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
+
+[start=7]
+. Select the Context and Dependency Injection category, then select Qualifier Type. Click Next.
+
+[start=8]
+. Enter *Demo* as the class name, then enter *exercise2* as the package.
+
+[start=9]
+. Click Finish. The new `Demo` qualifier opens in the editor.
 
 [source,java]
 ----
@@ -388,7 +490,9 @@ public @interface Demo {
 
 Next you will add this qualifier to the default DAO implementation at the class level.
 
-10. Switch to `DefaultItemDao` in the editor (press Ctrl-Tab), then type in '`@Demo`' above the class definition.
+
+[start=10]
+. Switch to `DefaultItemDao` in the editor (press Ctrl-Tab), then type in '`@Demo`' above the class definition.
 
 [source,java]
 ----
@@ -407,12 +511,17 @@ public List<Item> fetchItems() {
 }
 }
 ----
-[tips]#After typing '`@`', press Ctrl-Space to invoke code completion suggestions. The editor recognizes the `Demo` qualifier and lists `@Demo` as an option for code completion.#
-11. Click the Run Project ( image::images/run-project-btn.png[] ) button to run the project. The project builds and deploys without errors.
 
-*Note.* For this modification you might need to explicitly run the project to redeploy the application instead of incrementally deploying the changes.
+TIP: After typing '`@`', press Ctrl-Space to invoke code completion suggestions. The editor recognizes the `Demo` qualifier and lists `@Demo` as an option for code completion.#
+
+[start=11]
+. Click the Run Project ( image:images/run-project-btn.png[] ) button to run the project. The project builds and deploys without errors.
 
-12. In the browser, click the '`Execute`' button, then return to the IDE and examine the server log in the Output window. You see the following output.
+NOTE: For this modification you might need to explicitly run the project to redeploy the application instead of incrementally deploying the changes.
+
+
+[start=12]
+. In the browser, click the '`Execute`' button, then return to the IDE and examine the server log in the Output window. You see the following output.
 
 [source,java]
 ----
@@ -424,7 +533,9 @@ The output lists the item from the `AnotherItemDao` class. Recall that we annota
 
 Next you will add the `@Demo` annotation to the injection point in `ItemProcessor`.
 
-13. Switch to `ItemProcessor` in the editor (press Ctrl-Tab), then make the following change.
+
+[start=13]
+. Switch to `ItemProcessor` in the editor (press Ctrl-Tab), then make the following change.
 
 [source,java]
 ----
@@ -444,7 +555,9 @@ public void execute() {
 }
 }
 ----
-14. In the browser, click the '`Execute`' button, then return to the IDE and examine the server log in the Output window. You see output from the default implementation (`DefaultItemDao`) again.
+
+[start=14]
+. In the browser, click the '`Execute`' button, then return to the IDE and examine the server log in the Output window. You see output from the default implementation (`DefaultItemDao`) again.
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject_ja.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject_ja.asciidoc
index 34f52c0..db28b7e 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject_ja.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject_ja.asciidoc
@@ -32,7 +32,7 @@
 _執筆: Andy Gibson_
 
 
-=== コンテキストと依存性の注入
+== コンテキストと依存性の注入
 
 1. link:cdi-intro.html[+CDIおよびJSF 2.0の開始+]
 2. *CDIの注入および修飾子の操作*
@@ -40,10 +40,12 @@ _執筆: Andy Gibson_
 * <<qualifier,修飾子の操作>>
 * <<alternative,代替の注入方法>>
 * <<seealso,関連項目>>
-3. link:cdi-validate.html[+@Alternative Beanおよびライフサイクル注釈の適用+]
-4. link:cdi-events.html[+CDIのイベントの操作+]
 
-image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます"]
+[start=3]
+. link:cdi-validate.html[+@Alternative Beanおよびライフサイクル注釈の適用+]
+
+[start=4]
+. link:cdi-events.html[+CDIのイベントの操作+]
 
 link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+]で指定されているコンテキストと依存性の注入(CDI: Contexts and Dependency Injection)はJava EE 6の不可欠な部分であり、サーブレット、エンタープライズBean、JavaBeansなどのJava EEコンポーネントが、アプリケーションのライフサイクル内で明確なスコープを持って存在できるようにするためのアーキテクチャを提供します。また、CDIサービスによって、EJBセッションBeanやJSF (JavaServer Faces)管理対象BeanなどのJava EEコンポーネントが注入可能になり、イベントの起動や監視による疎結合方式の対話が可能になります。
 
@@ -87,12 +89,18 @@ DAOはデータ・アクセス・オブジェクト(_Data Access Object_)を表
 1. まず、`cdiDemo.zip`ファイル(上記の<<requiredSoftware,必要なリソースの一覧表>>を参照)からサンプルのスタート・プロジェクトを抽出します。「ファイル」>「プロジェクトを開く」([Ctrl]-[Shift]-[O]、Macの場合は[⌘]-[Shift]-[O])を選択してから、コンピュータ上のこのプロジェクトの場所を選択することで、IDEでプロジェクトを開きます。
 2. 「プロジェクト」ウィンドウでプロジェクトのノードを右クリックし、「プロパティ」を選択します。
 3. 「実行」カテゴリを選択し、「サーバー」ドロップダウン・リストでGlassFishインスタンスが選択されていることを確認します。
-4. 新しい`Item`クラスを作成して、`exercise2`という名前の新しいパッケージに格納します。「新規ファイル」(image::images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
+4. 新しい`Item`クラスを作成して、`exercise2`という名前の新しいパッケージに格納します。「新規ファイル」(image:images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
 5. 「Java」カテゴリから「Javaクラス」を選択します。「次」をクリックします。
 6. クラス名として「*Item*」、パッケージとして「*exercise2*」と入力します。(ウィザードの完了時に新しいパッケージが作成されます。)
+
 image::images/java-class-wizard.png[title="ファイル・ウィザードを使用した新しいJavaクラスの作成"]
-7. 「終了」をクリックします。新しいクラスおよびパッケージが生成され、エディタで`Item`クラスが開きます。
-8. POJOである`Item`に`value`および`limit`プロパティを作成して、`toString()`メソッドを実装します。次の内容をクラスに追加します。
+
+
+[start=7]
+. 「終了」をクリックします。新しいクラスおよびパッケージが生成され、エディタで`Item`クラスが開きます。
+
+[start=8]
+. POJOである`Item`に`value`および`limit`プロパティを作成して、`toString()`メソッドを実装します。次の内容をクラスに追加します。
 
 [source,java]
 ----
@@ -108,11 +116,21 @@ public class Item {
     }*
 }
 ----
-9. 取得メソッドおよび設定メソッドをクラスに追加します。これを行うには、カーソルがクラス定義の間(クラスの中括弧の間)にあることを確認してからエディタ内で右クリックし、「コードを挿入」を選択します([Alt]-[Insert]、Macの場合は[Ctrl]-[I])。取得メソッドおよび設定メソッドを選択します。
+
+[start=9]
+. 取得メソッドおよび設定メソッドをクラスに追加します。これを行うには、カーソルがクラス定義の間(クラスの中括弧の間)にあることを確認してからエディタ内で右クリックし、「コードを挿入」を選択します([Alt]-[Insert]、Macの場合は[Ctrl]-[I])。取得メソッドおよび設定メソッドを選択します。
+
 image::images/insert-code.png[title="「コードを挿入」ポップアップを使用した取得メソッドおよび設定メソッドの作成"]
-10. 「`Item`」チェックボックスを選択します(これで、クラスに含まれているプロパティがすべて選択されます)。
+
+
+[start=10]
+. 「`Item`」チェックボックスを選択します(これで、クラスに含まれているプロパティがすべて選択されます)。
+
 image::images/generate-getters-setters.png[title="クラスに含まれているすべてのプロパティを選択するためのクラスのチェックボックスの選択"]
-11. 「生成」をクリックします。クラスの取得メソッドと設定メソッドが生成されます。
+
+
+[start=11]
+. 「生成」をクリックします。クラスの取得メソッドと設定メソッドが生成されます。
 
 [source,java]
 ----
@@ -144,8 +162,12 @@ public class Item {
     }
 }
 ----
-12. `value`と`limit`の両方の引数を取るコンストラクタを作成します。これにもIDEの支援機能を使用できます。クラス定義内で[Ctrl]-[Space]を押して、「`Item(int value, int limit) - 生成`」オプションを選択します。
+
+[start=12]
+. `value`と`limit`の両方の引数を取るコンストラクタを作成します。これにもIDEの支援機能を使用できます。クラス定義内で[Ctrl]-[Space]を押して、「`Item(int value, int limit) - 生成`」オプションを選択します。
+
 image::images/generate-constructor.png[title="[Ctrl]-[Space]の押下によるエディタのコード補完機能の利用"]
+
 次のコンストラクタがクラスに追加されます。
 
 [source,java]
@@ -163,14 +185,24 @@ public class Item {
 
     ...
 ----
-13. `ItemDao`インタフェースを作成して、`Item`オブジェクトの一覧を取得する方法を定義します。このテスト・アプリケーションでは複数の実装を使用することを予定しているため、インタフェースへのコードを作成します。
 
-「新規ファイル」(image::images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
+[start=13]
+. `ItemDao`インタフェースを作成して、`Item`オブジェクトの一覧を取得する方法を定義します。このテスト・アプリケーションでは複数の実装を使用することを予定しているため、インタフェースへのコードを作成します。
 
-14. 「Java」カテゴリから「Javaインタフェース」を選択します。「次」をクリックします。
-15. クラス名として「*ItemDao*」、パッケージとして「*exercise2*」と入力します。
-16. 「終了」をクリックします。新しいインタフェースが生成され、エディタで開かれます。
-17. `Item`オブジェクトの`List`を返す`fetchItems()`という名前のメソッドを追加します。
+「新規ファイル」(image:images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
+
+
+[start=14]
+. 「Java」カテゴリから「Javaインタフェース」を選択します。「次」をクリックします。
+
+[start=15]
+. クラス名として「*ItemDao*」、パッケージとして「*exercise2*」と入力します。
+
+[start=16]
+. 「終了」をクリックします。新しいインタフェースが生成され、エディタで開かれます。
+
+[start=17]
+. `Item`オブジェクトの`List`を返す`fetchItems()`という名前のメソッドを追加します。
 
 [source,java]
 ----
@@ -182,16 +214,24 @@ public interface ItemDao {
 }
 ----
 (エディタのヒントを使用して`java.util.List`のインポート文を追加します。)
-18. `ItemProcessor`クラスを作成します。これはメイン・クラスであり、ここにBeanを注入したり、ここからプロセスを実行したりします。今のところはDAOから始めて、プロセッサBeanにこれを注入する方法を見てみます。
 
-「新規ファイル」(image::images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
+[start=18]
+. `ItemProcessor`クラスを作成します。これはメイン・クラスであり、ここにBeanを注入したり、ここからプロセスを実行したりします。今のところはDAOから始めて、プロセッサBeanにこれを注入する方法を見てみます。
+
+「新規ファイル」(image:images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
+
+
+[start=19]
+. 「Java」カテゴリから「Javaクラス」を選択します。「次」をクリックします。
 
-19. 「Java」カテゴリから「Javaクラス」を選択します。「次」をクリックします。
-20. クラス名として「*ItemProcessor*」、パッケージとして「*exercise2*」と入力します。「終了」をクリックします。
+[start=20]
+. クラス名として「*ItemProcessor*」、パッケージとして「*exercise2*」と入力します。「終了」をクリックします。
 
 新しいクラスが生成され、エディタで開かれます。
 
-21. 次のようにクラスを変更します。
+
+[start=21]
+. 次のようにクラスを変更します。
 
 [source,java]
 ----
@@ -210,16 +250,29 @@ public class ItemProcessor {
     }
 }
 ----
-22. インポートを修正します。エディタを右クリックして「インポートを修正」を選択するか、[Ctrl]-[Shift]-[I] (Macの場合は[⌘]-[Shift]-[I])を押します。
+
+[start=22]
+. インポートを修正します。エディタを右クリックして「インポートを修正」を選択するか、[Ctrl]-[Shift]-[I] (Macの場合は[⌘]-[Shift]-[I])を押します。
+
 image::images/fix-imports.png[title="エディタで右クリックして「インポートを修正」を選択し、クラスにインポート文を追加する"]
-23. 「OK」をクリックします。次のクラスのインポート文が必要になります。
+
+
+[start=23]
+. 「OK」をクリックします。次のクラスのインポート文が必要になります。
 * `java.util.List`
 * `javax.inject.Named`
 * `javax.enterprise.context.RequestScoped`
-24. 項目の一覧を作成して、決まった項目の一覧を返すのみの単純なDAOから始めます。
 
-「プロジェクト」ウィンドウで「`exercise2`」パッケージ・ノードを右クリックし、「新規」>「Javaクラス」を選択します。新規Javaクラス・ウィザードで、クラス名を「`DefaultItemDao`」にします。「終了」をクリックします。 image::images/java-class-wizard2.png[title="Javaクラス・ウィザードを使用した新しいJavaクラスの作成"]
-25. エディタで、`DefaultItemDao`に`ItemDao`インタフェースを実装させて、`fetchItems()`を実装します。
+[start=24]
+. 項目の一覧を作成して、決まった項目の一覧を返すのみの単純なDAOから始めます。
+
+「プロジェクト」ウィンドウで「`exercise2`」パッケージ・ノードを右クリックし、「新規」>「Javaクラス」を選択します。新規Javaクラス・ウィザードで、クラス名を「`DefaultItemDao`」にします。「終了」をクリックします。 
+
+image::images/java-class-wizard2.png[title="Javaクラス・ウィザードを使用した新しいJavaクラスの作成"]
+
+
+[start=25]
+. エディタで、`DefaultItemDao`に`ItemDao`インタフェースを実装させて、`fetchItems()`を実装します。
 
 [source,java]
 ----
@@ -238,7 +291,9 @@ public class DefaultItemDao *implements ItemDao* {
 }
 ----
 [Ctrl]-[Shift]-[I] (Macの場合は[⌘]-[Shift]-[I])を押して、`java.util.List`および`java.util.ArrayList`のインポート文を追加します。
-26. `ItemProcessor`クラスに切り替えます([Ctrl]-[Tab]を押します)。`ItemProcessor`に`DefaultItemDao`を注入するために、`ItemDao`フィールドに`javax.inject.Inject`注釈を追加して、このフィールドが注入ポイントであることを示します。
+
+[start=26]
+. `ItemProcessor`クラスに切り替えます([Ctrl]-[Tab]を押します)。`ItemProcessor`に`DefaultItemDao`を注入するために、`ItemDao`フィールドに`javax.inject.Inject`注釈を追加して、このフィールドが注入ポイントであることを示します。
 
 [source,java]
 ----
@@ -256,14 +311,25 @@ public class ItemProcessor {
     ...
 }
 ----
-[tips]#エディタのコード補完サポートを利用して、クラスに`@Inject`注釈およびインポート文を追加します。たとえば、「`@Inj`」と入力してから[Ctrl]-[Space]を押します。#
-27. 最後に、`ItemProcessor`で`execute()`メソッドをコールするためのなんらかの方法が必要です。これはSE環境なら実行できますが、今のところはJSFページ内にとどめておきます。`execute()`メソッドをコールするボタンを含む`process.xhtml`という名前の新しいページを作成します。
 
-「新規ファイル」(image::images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
-28. 「JavaServer Faces」カテゴリを選択し、「JSFページ」を選択します。「次」をクリックします。
-29. ファイル名として「*process*」と入力してから「終了」をクリックします。
+TIP: エディタのコード補完サポートを利用して、クラスに`@Inject`注釈およびインポート文を追加します。たとえば、「`@Inj`」と入力してから[Ctrl]-[Space]を押します。#
+
+[start=27]
+. 最後に、`ItemProcessor`で`execute()`メソッドをコールするためのなんらかの方法が必要です。これはSE環境なら実行できますが、今のところはJSFページ内にとどめておきます。`execute()`メソッドをコールするボタンを含む`process.xhtml`という名前の新しいページを作成します。
+
+「新規ファイル」(image:images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
+
+[start=28]
+. 「JavaServer Faces」カテゴリを選択し、「JSFページ」を選択します。「次」をクリックします。
+
+[start=29]
+. ファイル名として「*process*」と入力してから「終了」をクリックします。
+
 image::images/new-jsf-page.png[title="JSFファイル・ウィザードを使用した新しい「Facelets」ページの作成"]
-30. 新しい`process.xhtml`ファイルで、`ItemProcessor.execute()`メソッドに接続されたボタンを追加します。ELを使用する場合、管理対象Beanのデフォルト名は、クラス名の最初の文字を小文字にした名前(つまり`itemProcessor`)になります。
+
+
+[start=30]
+. 新しい`process.xhtml`ファイルで、`ItemProcessor.execute()`メソッドに接続されたボタンを追加します。ELを使用する場合、管理対象Beanのデフォルト名は、クラス名の最初の文字を小文字にした名前(つまり`itemProcessor`)になります。
 
 [source,xml]
 ----
@@ -274,11 +340,17 @@ image::images/new-jsf-page.png[title="JSFファイル・ウィザードを使用
     </h:form>*
 </h:body>
 ----
-31. プロジェクトを実行する前に、`process.xhtml`ファイルをプロジェクトのWebデプロイメント・ディスクリプタの新しい開始ページに設定します。
+
+[start=31]
+. プロジェクトを実行する前に、`process.xhtml`ファイルをプロジェクトのWebデプロイメント・ディスクリプタの新しい開始ページに設定します。
 
 IDEの「ファイルに移動」ダイアログを使用すると、すばやく`web.xml`を開けます。IDEのメイン・メニューで「ナビゲート」>「ファイルに移動」([Alt]-[Shift]-[O]、Macの場合は[Ctrl]-[Shift]-[O])を選択してから「`web`」と入力します。
+
 image::images/go-to-file.png[title="「ファイルに移動」ダイアログを使用した、プロジェクト・ファイルの速やかな検索"]
-32. 「OK」をクリックします。`web.xml`ファイルの「XML」ビューで、次のように変更します。
+
+
+[start=32]
+. 「OK」をクリックします。`web.xml`ファイルの「XML」ビューで、次のように変更します。
 
 [source,xml]
 ----
@@ -287,10 +359,16 @@ image::images/go-to-file.png[title="「ファイルに移動」ダイアログ
     <welcome-file>faces/*process.xhtml*</welcome-file>
 </welcome-file-list>
 ----
-33. IDEのメイン・ツールバーにある「プロジェクトの実行」(image::images/run-project-btn.png[])ボタンをクリックします。プロジェクトがコンパイルされてGlassFishにデプロイされ、`process.xhtml`ファイルがブラウザで開きます。
-34. ページに表示されている「`Execute`」ボタンをクリックします。IDEに戻ってGlassFishのサーバー・ログを調べます。サーバー・ログは、「出力」ウィンドウ([Ctrl]-[4]、Macの場合は[⌘]-[4])の「GlassFish Server」タブの下に表示されます。ボタンをクリックすると、デフォルトDAO実装による項目がログに一覧表示されます。
+
+[start=33]
+. IDEのメイン・ツールバーにある「プロジェクトの実行」(image:images/run-project-btn.png[])ボタンをクリックします。プロジェクトがコンパイルされてGlassFishにデプロイされ、`process.xhtml`ファイルがブラウザで開きます。
+
+[start=34]
+. ページに表示されている「`Execute`」ボタンをクリックします。IDEに戻ってGlassFishのサーバー・ログを調べます。サーバー・ログは、「出力」ウィンドウ([Ctrl]-[4]、Macの場合は[⌘]-[4])の「GlassFish Server」タブの下に表示されます。ボタンをクリックすると、デフォルトDAO実装による項目がログに一覧表示されます。
+
 image::images/output-window.png[title="IDEの「出力」ウィンドウでのサーバー・ログの確認"]
-[tips]#ログをクリアするには、「出力」ウィンドウで右クリックして「クリア」を選択([Ctrl]-[L]、Macの場合は[⌘]-[L])します。上記のイメージでは、「`Execute`」ボタンをクリックする直前にログをクリアしています。#
+
+TIP: ログをクリアするには、「出力」ウィンドウで右クリックして「クリア」を選択([Ctrl]-[L]、Macの場合は[⌘]-[L])します。上記のイメージでは、「`Execute`」ボタンをクリックする直前にログをクリアしています。#
 
 `ItemDao`インタフェースを実装するクラスを作成し、モジュールの管理対象Beanは、アプリケーションがデプロイされたときに(モジュールの`beans.xml`ファイルのために) CDI実装によって処理されました。ここで使用した`@Inject`注釈は、そのフィールドに管理対象Beanを注入することを指定します(注入可能Beanについて把握していることは、このBeanが`ItemDao`またはこのインタフェースのサブタイプを実装する必要があることのみです)。この場合、`DefaultItemDao`クラスは条件を完全に満たしています。
 
@@ -305,7 +383,7 @@ CDI修飾子は、クラス・レベルで適用してクラスがどの種類
 
 ここでビルドしているアプリケーションに修飾子が必要なことを示すために、やはり`ItemDao`インタフェースを実装するもう1つのDAOクラスをアプリケーションに追加してみます。次の図は、この課題で構築しているシナリオを図解しています。CDIは、注入ポイントで使用する必要があるBean実装を判断できる必要があります。2つの`ItemDao`の実装があるため、`Demo`という名前の修飾子を作成することでこれを解決できます。その後、使用するBeanと`ItemProcessor`の注入ポイントの両方に、`@Demo`注釈で「タグ」を付けます。
 
-image::images/cdi-diagram-qualify.png[title="アプリケーションの疎結合クラスへのCDI注入および修飾子の使用"]
+image:images/cdi-diagram-qualify.png[title="アプリケーションの疎結合クラスへのCDI注入および修飾子の使用"]
 
 次の手順を実行します。
 
@@ -331,11 +409,15 @@ public class AnotherItemDao *implements ItemDao* {
 
 これで`ItemDao`を実装するクラスが2つになったため、どのBeanを注入する必要があるかがわからなくなりました。
 
-4. 「プロジェクトの実行」(image::images/run-project-btn.png[])ボタンをクリックして、プロジェクトを実行します。今度はプロジェクトのデプロイに失敗します。
+
+[start=4]
+. 「プロジェクトの実行」(image:images/run-project-btn.png[])ボタンをクリックして、プロジェクトを実行します。今度はプロジェクトのデプロイに失敗します。
 
 「保存時にデプロイ」がデフォルトで有効になっていて、IDEがプロジェクトを自動的にデプロイするため、ファイルを保存するのみで済む可能性があります。
 
-5. 出力ウィンドウ([Ctrl]-[4]、Macの場合は[⌘]-[4])でサーバー・ログを調べます。次のようなエラー・メッセージが表示されています。
+
+[start=5]
+. 出力ウィンドウ([Ctrl]-[4]、Macの場合は[⌘]-[4])でサーバー・ログを調べます。次のようなエラー・メッセージが表示されています。
 
 [source,java]
 ----
@@ -356,10 +438,18 @@ CDIが注入ポイントを調べて、注入する適切なBeanを探す際、
 
 IDEには、CDI修飾子を生成できるウィザードがあります。
 
-6. 「新規ファイル」(image::images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
-7. 「コンテキストと依存性の注入」カテゴリから「修飾子タイプ」を選択します。「次」をクリックします。
-8. クラス名として「*Demo*」、パッケージとして「*exercise2*」と入力します。
-9. 「終了」をクリックします。新しい`Demo`修飾子がエディタで開きます。
+
+[start=6]
+. 「新規ファイル」(image:images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
+
+[start=7]
+. 「コンテキストと依存性の注入」カテゴリから「修飾子タイプ」を選択します。「次」をクリックします。
+
+[start=8]
+. クラス名として「*Demo*」、パッケージとして「*exercise2*」と入力します。
+
+[start=9]
+. 「終了」をクリックします。新しい`Demo`修飾子がエディタで開きます。
 
 [source,java]
 ----
@@ -388,7 +478,9 @@ public @interface Demo {
 
 次に、この修飾子をクラス・レベルでデフォルトのDAO実装に追加します。
 
-10. エディタで`DefaultItemDao`に切り替え([Ctrl]-[Tab]を押し)、クラス定義の上に「`@Demo`」と入力します。
+
+[start=10]
+. エディタで`DefaultItemDao`に切り替え([Ctrl]-[Tab]を押し)、クラス定義の上に「`@Demo`」と入力します。
 
 [source,java]
 ----
@@ -407,12 +499,17 @@ public List<Item> fetchItems() {
 }
 }
 ----
-[tips]#「`@`」を入力した後で[Ctrl]-[Space]を押して、コード補完の候補を呼び出します。エディタは`Demo`修飾子を認識して、コード補完のオプションとして`@Demo`を表示します。#
-11. 「プロジェクトの実行」(image::images/run-project-btn.png[])ボタンをクリックして、プロジェクトを実行します。プロジェクトがエラーなくビルドおよびデプロイされます。
+
+TIP:「`@`」を入力した後で[Ctrl]-[Space]を押して、コード補完の候補を呼び出します。エディタは`Demo`修飾子を認識して、コード補完のオプションとして`@Demo`を表示します。#
+
+[start=11]
+. 「プロジェクトの実行」(image:images/run-project-btn.png[])ボタンをクリックして、プロジェクトを実行します。プロジェクトがエラーなくビルドおよびデプロイされます。
 
 *注意:*この変更では、変更を増分的にデプロイするのではなく、プロジェクトを明示的に実行してアプリケーションを再デプロイする必要がある場合があります。
 
-12. ブラウザで「`Execute`」ボタンをクリックしてからIDEに戻り、「出力」ウィンドウでサーバー・ログを調べます。次のような出力が表示されます。
+
+[start=12]
+. ブラウザで「`Execute`」ボタンをクリックしてからIDEに戻り、「出力」ウィンドウでサーバー・ログを調べます。次のような出力が表示されます。
 
 [source,java]
 ----
@@ -424,7 +521,9 @@ INFO: Found item exercise2.Item@1ef62a93 [Value=99, Limit=9]
 
 次に、`ItemProcessor`の注入ポイントに`@Demo`注釈を追加します。
 
-13. エディタで`ItemProcessor`に切り替え([Ctrl]-[Tab]を押し)、次のように変更します。
+
+[start=13]
+. エディタで`ItemProcessor`に切り替え([Ctrl]-[Tab]を押し)、次のように変更します。
 
 [source,java]
 ----
@@ -444,7 +543,9 @@ public void execute() {
 }
 }
 ----
-14. ブラウザで「`Execute`」ボタンをクリックしてからIDEに戻り、「出力」ウィンドウでサーバー・ログを調べます。デフォルトの実装(`DefaultItemDao`)による出力が再度表示されます。
+
+[start=14]
+. ブラウザで「`Execute`」ボタンをクリックしてからIDEに戻り、「出力」ウィンドウでサーバー・ログを調べます。デフォルトの実装(`DefaultItemDao`)による出力が再度表示されます。
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject_pt_BR.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject_pt_BR.asciidoc
index 5a2933a..0150944 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject_pt_BR.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject_pt_BR.asciidoc
@@ -32,7 +32,7 @@
 _Contribuição de Andy Gibson_
 
 
-=== Injeção de Dependência e Contextos
+== Injeção de Dependência e Contextos
 
 1. link:cdi-intro.html[+Introdução ao CDI e ao JSF 2.0+]
 2. *Trabalhando com Injeção e Qualificadores no CDI*
@@ -40,10 +40,12 @@ _Contribuição de Andy Gibson_
 * <<qualifier,Trabalhando com Qualificadores>>
 * <<alternative,Métodos de Injeção Alternativos>>
 * <<seealso,Consulte Também>>
-3. link:cdi-validate.html[+Aplicando Anotações @Alternative Beans e de Ciclo de Vida+]
-4. link:cdi-events.html[+Trabalhando com Eventos no CDI+]
 
-image::images/netbeans-stamp-80-74-73.png[title="O conteúdo desta página se aplica ao NetBeans IDE 7.2, 7.3, 7.4 e 8.0"]
+[start=3]
+. link:cdi-validate.html[+Aplicando Anotações @Alternative Beans e de Ciclo de Vida+]
+
+[start=4]
+. link:cdi-events.html[+Trabalhando com Eventos no CDI+]
 
 A Injeção de Dependência e Contextos (CDI), especificada por link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+], é parte integrante do Java EE 6 e fornece uma arquitetura que permite aos componentes do Java EE, como os servlets, enterprise beans e JavaBeans, existirem dentro do ciclo de vida de uma aplicação com escopos bem definidos. Além disso, os serviços CDI permitem que os componentes do Java EE, como beans de sessão EJB e beans gerenciados do JavaServer Faces (JSF), sejam injetado [...]
 
@@ -87,12 +89,18 @@ DAO significa _data access object_.
 1. Comece extraindo o projeto de início da amostra do arquivo `cdiDemo.zip` (Consulte a <<requiredSoftware,tabela que lista os recursos necessários>> acima.) Abra o projeto no IDE escolhendo Arquivo > Abrir Projeto (Ctrl-Shift-O; ⌘-Shift-O no Mac) e, em seguida, selecionando o projeto no seu local no computador.
 2. Clique com o botão direito do mouse no nó do projeto na janela Projetos e escolha Propriedades.
 3. Selecione a categoria Executar e confirme se a instância do GlassFish está selecionada na lista drop-down Servidor.
-4. Crie uma nova classe `Item` e armazene-a em um novo pacote nomeado `exercise2`. Clique no botão Novo Arquivo (image::images/new-file-btn.png[]) ou pressione CTRL-N (⌘-N no Mac) para abrir o assistente de Arquivo.
+4. Crie uma nova classe `Item` e armazene-a em um novo pacote nomeado `exercise2`. Clique no botão Novo Arquivo (image:images/new-file-btn.png[]) ou pressione CTRL-N (⌘-N no Mac) para abrir o assistente de Arquivo.
 5. Selecione a categoria Java e, em seguida, a Classe Java. Clique em Próximo.
 6. Informe *Item* como o nome da classe e, em seguida, *exercise2* como o pacote. (O novo pacote é criado após a conclusão do assistente.) 
+
 image::images/java-class-wizard.png[title="Criar uma nova classe Java usando o assistente de Arquivo"]
-7. Clique em Finalizar. A nova classe e o novo pacote são gerados e a classe `item` é aberta no editor.
-8. Crie as propriedades `value` e `limit` para o POJO do `Item` e implemente o método `toString()`. Adicione o conteúdo a seguir à classe.
+
+
+[start=7]
+. Clique em Finalizar. A nova classe e o novo pacote são gerados e a classe `item` é aberta no editor.
+
+[start=8]
+. Crie as propriedades `value` e `limit` para o POJO do `Item` e implemente o método `toString()`. Adicione o conteúdo a seguir à classe.
 
 [source,java]
 ----
@@ -108,11 +116,21 @@ public class Item {
     }*
 }
 ----
-9. Adicione os métodos getter e setter à classe. Para isso, garanta que o cursor esteja colocado entre a definição de classe (ou seja, entre as chaves da classe) e, em seguida, clique com o botão direito do mouse no editor e escolha Inserir Código (Alt-Insert; Ctrl-I no Mac). Escolha Getter e Setter. 
+
+[start=9]
+. Adicione os métodos getter e setter à classe. Para isso, garanta que o cursor esteja colocado entre a definição de classe (ou seja, entre as chaves da classe) e, em seguida, clique com o botão direito do mouse no editor e escolha Inserir Código (Alt-Insert; Ctrl-I no Mac). Escolha Getter e Setter. 
+
 image::images/insert-code.png[title="Criar getters e setters usando o pop-up Inserir Código"]
-10. Marque a caixa de seleção `Item` (fazer isso seleciona todas as propriedades contidas na classe). 
+
+
+[start=10]
+. Marque a caixa de seleção `Item` (fazer isso seleciona todas as propriedades contidas na classe). 
+
 image::images/generate-getters-setters.png[title="Marque a caixa de seleção da classe para selecionar todas as propriedades contidos na classe"]
-11. Clique em Gerar. Os métodos getter e setter são gerados para a classe.
+
+
+[start=11]
+. Clique em Gerar. Os métodos getter e setter são gerados para a classe.
 
 [source,java]
 ----
@@ -144,8 +162,12 @@ public class Item {
     }
 }
 ----
-12. Crie um construtor que utilize os argumentos `value` e `limit`. Novamente, o IDE pode ajudar com isso. Pressione Ctrl-Espaço na definição da classe e escolha a opção "`Item(int value, int limit) - generate`". 
+
+[start=12]
+. Crie um construtor que utilize os argumentos `value` e `limit`. Novamente, o IDE pode ajudar com isso. Pressione Ctrl-Espaço na definição da classe e escolha a opção "`Item(int value, int limit) - generate`". 
+
 image::images/generate-constructor.png[title="Pressione Ctrl-Espaço para utilizar os recursos de autocompletar código do editor"] 
+
 O construtor a seguir é adicionado à classe.
 
 [source,java]
@@ -163,14 +185,24 @@ public class Item {
 
     ...
 ----
-13. Crie uma interface `ItemDao` para definir como obtemos a lista de objetos `Item`. Nesta aplicação de teste, antecipamos o uso de várias implementações, portanto, codificaremos para interfaces.
 
-Clique no botão Novo Arquivo (image::images/new-file-btn.png[]) ou pressione CTRL-N (⌘-N no Mac) para abrir o assistente de Arquivo.
+[start=13]
+. Crie uma interface `ItemDao` para definir como obtemos a lista de objetos `Item`. Nesta aplicação de teste, antecipamos o uso de várias implementações, portanto, codificaremos para interfaces.
 
-14. Selecione a categoria Java e, em seguida, selecione Interface Java. Clique em Próximo.
-15. Digite *ItemDao* como o nome da classe e, em seguida, insira *exercise2* como o pacote.
-16. Clique em Finalizar. A nova interface será gerada e aberta no editor.
-17. Adicione um método chamado `fetchItems()` que retorna uma `Lista` de objetos `Item`.
+Clique no botão Novo Arquivo (image:images/new-file-btn.png[]) ou pressione CTRL-N (⌘-N no Mac) para abrir o assistente de Arquivo.
+
+
+[start=14]
+. Selecione a categoria Java e, em seguida, selecione Interface Java. Clique em Próximo.
+
+[start=15]
+. Digite *ItemDao* como o nome da classe e, em seguida, insira *exercise2* como o pacote.
+
+[start=16]
+. Clique em Finalizar. A nova interface será gerada e aberta no editor.
+
+[start=17]
+. Adicione um método chamado `fetchItems()` que retorna uma `Lista` de objetos `Item`.
 
 [source,java]
 ----
@@ -182,16 +214,24 @@ public interface ItemDao {
 }
 ----
 (Utilize a dica do editor para adicionar a instrução de importação de `java.util.List`.)
-18. Crie uma classe `ItemProcessor`. É a classe principal em que você injetará seus beans e da qual executará o processo. Por enquanto, iniciaremos com a DAO e examinaremos como será feita a sua injeção no nosso bean processador.
 
-Clique no botão Novo Arquivo (image::images/new-file-btn.png[]) ou pressione CTRL-N (⌘-N no Mac) para abrir o assistente de Arquivo.
+[start=18]
+. Crie uma classe `ItemProcessor`. É a classe principal em que você injetará seus beans e da qual executará o processo. Por enquanto, iniciaremos com a DAO e examinaremos como será feita a sua injeção no nosso bean processador.
+
+Clique no botão Novo Arquivo (image:images/new-file-btn.png[]) ou pressione CTRL-N (⌘-N no Mac) para abrir o assistente de Arquivo.
+
+
+[start=19]
+. Selecione a categoria Java e, em seguida, a Classe Java. Clique em Próximo.
 
-19. Selecione a categoria Java e, em seguida, a Classe Java. Clique em Próximo.
-20. Digite *ItemProcessor* como o nome da classe e, em seguida, *exercise2* como o pacote. Clique em Finalizar.
+[start=20]
+. Digite *ItemProcessor* como o nome da classe e, em seguida, *exercise2* como o pacote. Clique em Finalizar.
 
 A nova classe é gerada e aberta no editor.
 
-21. Modifique a classe como se segue:
+
+[start=21]
+. Modifique a classe como se segue:
 
 [source,java]
 ----
@@ -210,16 +250,29 @@ public class ItemProcessor {
     }
 }
 ----
-22. Corrigir importações. Clique com o botão direito do mouse no editor e selecione Corrigir Importações ou pressione Ctrl-Shift-I (⌘-Shift-I no Mac). 
+
+[start=22]
+. Corrigir importações. Clique com o botão direito do mouse no editor e selecione Corrigir Importações ou pressione Ctrl-Shift-I (⌘-Shift-I no Mac). 
+
 image::images/fix-imports.png[title="Clique com o botão direito do mouse no editor e escolha Corrigir Importações para adicionar instruções de importação à classe"]
-23. Clique em OK. Instruções de importação para as classes a seguir são necessárias:
+
+
+[start=23]
+. Clique em OK. Instruções de importação para as classes a seguir são necessárias:
 * `java.util.List`
 * `javax.inject.Named`
 * `javax.enterprise.context.RequestScoped`
-24. Comece com um DAO simples que apenas cria uma lista de itens e retorna uma lista fixa de itens. 
 
-Na janela Projetos, clique com o botão direito do mouse no nó de pacote `exercise2` e escolha Novo > Classe Java. No assistente de Classe Java, nomeie a classe `DefaultItemDao`. Clique em Finalizar. image::images/java-class-wizard2.png[title="Criar uma nova classe Java usando o assistente de Classe Java"]
-25. No editor, faça com que `DefaultItemDao` implemente a interface `ItemDao` e forneça uma implementação de `fetchItems()`.
+[start=24]
+. Comece com um DAO simples que apenas cria uma lista de itens e retorna uma lista fixa de itens. 
+
+Na janela Projetos, clique com o botão direito do mouse no nó de pacote `exercise2` e escolha Novo > Classe Java. No assistente de Classe Java, nomeie a classe `DefaultItemDao`. Clique em Finalizar. 
+
+image::images/java-class-wizard2.png[title="Criar uma nova classe Java usando o assistente de Classe Java"]
+
+
+[start=25]
+. No editor, faça com que `DefaultItemDao` implemente a interface `ItemDao` e forneça uma implementação de `fetchItems()`.
 
 [source,java]
 ----
@@ -238,7 +291,9 @@ public class DefaultItemDao *implements ItemDao* {
 }
 ----
 (Pressione Ctrl-Shift-I (⌘-Shift-I no Mac) para adicionar instruções de importação para `java.util.List` e `java.util.ArrayList`.)
-26. Mude para a classe `ItemProcessor` (pressione Ctrl-Tab). Para injetar o `DefaultItemDao` no `ItemProcessor`, adicionamos a anotação `javax.inject.Inject` ao campo `ItemDao` para indicar que esse campo é um ponto de injeção.
+
+[start=26]
+. Mude para a classe `ItemProcessor` (pressione Ctrl-Tab). Para injetar o `DefaultItemDao` no `ItemProcessor`, adicionamos a anotação `javax.inject.Inject` ao campo `ItemDao` para indicar que esse campo é um ponto de injeção.
 
 [source,java]
 ----
@@ -256,14 +311,25 @@ public class ItemProcessor {
     ...
 }
 ----
-[tips]#Utilize o suporte à funcionalidade autocompletar código do editor para adicionar a anotação `@Inject` e a instrução de importação à classe. Por exemplo, digite "`@Inj`" e, em seguida, pressione Ctrl-Espaço.#
-27. Finalmente, precisamos de alguma maneira para chamar o método `execute()` no `ItemProcessor`. Podemos executá-lo em um ambiente SE, mas, no momento, o manteremos em uma página JSF. Crie uma nova página chamada `process.xhtml` que contém um botão para chamar o método `execute()`. 
 
-Clique no botão Novo Arquivo (image::images/new-file-btn.png[]) ou pressione CTRL-N (⌘-N no Mac) para abrir o assistente de Arquivo.
-28. Selecione a categoria JavaServer Faces e selecione a Página JSF. Clique em Próximo.
-29. Digite *processo* como o nome do arquivo e clique em Finalizar. 
+TIP: Utilize o suporte à funcionalidade autocompletar código do editor para adicionar a anotação `@Inject` e a instrução de importação à classe. Por exemplo, digite "`@Inj`" e, em seguida, pressione Ctrl-Espaço.#
+
+[start=27]
+. Finalmente, precisamos de alguma maneira para chamar o método `execute()` no `ItemProcessor`. Podemos executá-lo em um ambiente SE, mas, no momento, o manteremos em uma página JSF. Crie uma nova página chamada `process.xhtml` que contém um botão para chamar o método `execute()`. 
+
+Clique no botão Novo Arquivo (image:images/new-file-btn.png[]) ou pressione CTRL-N (⌘-N no Mac) para abrir o assistente de Arquivo.
+
+[start=28]
+. Selecione a categoria JavaServer Faces e selecione a Página JSF. Clique em Próximo.
+
+[start=29]
+. Digite *processo* como o nome do arquivo e clique em Finalizar. 
+
 image::images/new-jsf-page.png[title="Criar uma nova página Facelets usando o assistente de arquivo JSF"]
-30. No novo arquivo `process.xhtml`, adicione um botão que esteja conectado ao método `ItemProcessor.execute()`. Utilizando EL, o nome default para o bean gerenciado é o mesmo que o nome da classe, mas com a primeira letra minúscula (por exemplo., `itemProcessor`).
+
+
+[start=30]
+. No novo arquivo `process.xhtml`, adicione um botão que esteja conectado ao método `ItemProcessor.execute()`. Utilizando EL, o nome default para o bean gerenciado é o mesmo que o nome da classe, mas com a primeira letra minúscula (por exemplo., `itemProcessor`).
 
 [source,xml]
 ----
@@ -274,11 +340,17 @@ image::images/new-jsf-page.png[title="Criar uma nova página Facelets usando o a
     </h:form>*
 </h:body>
 ----
-31. Antes de executar o projeto, defina o arquivo `process.xhtml` como a nova página de boas-vindas no descritor de implantação web do projeto. 
+
+[start=31]
+. Antes de executar o projeto, defina o arquivo `process.xhtml` como a nova página de boas-vindas no descritor de implantação web do projeto. 
 
 Utilize a caixa de diálogo Ir para Arquivo do IDE para abrir rapidamente o arquivo `web.xml`. Escolha Navegar > Ir para Arquivo no menu principal do IDE (Alt-Shift-O; Ctrl-Shift-O no Mac) e, em seguida, digite "`web`". 
+
 image::images/go-to-file.png[title="Use a caixa de diálogo Ir para Arquivo para localizar rapidamente um arquivo de projeto"]
-32. Clique em OK. Na view XML do arquivo `web.xml`, faça a alteração a seguir.
+
+
+[start=32]
+. Clique em OK. Na view XML do arquivo `web.xml`, faça a alteração a seguir.
 
 [source,xml]
 ----
@@ -287,10 +359,16 @@ image::images/go-to-file.png[title="Use a caixa de diálogo Ir para Arquivo para
     <welcome-file>faces/*process.xhtml*</welcome-file>
 </welcome-file-list>
 ----
-33. Clique no botão Executar Projeto (image::images/run-project-btn.png[]) na barra de ferramentas principal do IDE. O projeto é compilado e implantado no GlassFish e o arquivo `process.xhtml` será aberto no browser.
-34. Clique no botão "`Execute`" que é exibido na página. Volte ao IDE e examine o log do GlassFish Server. O log do servidor é exibido na janela Saída (Ctrl-4; ⌘-4 no Mac) na guia GlassFish Server. Quando o botão é clicado, o log lista os itens da nossa implementação de DAO default. 
+
+[start=33]
+. Clique no botão Executar Projeto (image:images/run-project-btn.png[]) na barra de ferramentas principal do IDE. O projeto é compilado e implantado no GlassFish e o arquivo `process.xhtml` será aberto no browser.
+
+[start=34]
+. Clique no botão "`Execute`" que é exibido na página. Volte ao IDE e examine o log do GlassFish Server. O log do servidor é exibido na janela Saída (Ctrl-4; ⌘-4 no Mac) na guia GlassFish Server. Quando o botão é clicado, o log lista os itens da nossa implementação de DAO default. 
+
 image::images/output-window.png[title="Examine o log do servidor na janela Saída do IDE"] 
-[tips]#Clique com o botão direito do mouse na janela Saída e escolha Limpar (Ctrl-L; ⌘-L no Mac) para limpar o log. Na imagem acima, o log foi limpo pouco antes de clicar no botão "`Execute`".#
+
+TIP: Clique com o botão direito do mouse na janela Saída e escolha Limpar (Ctrl-L; ⌘-L no Mac) para limpar o log. Na imagem acima, o log foi limpo pouco antes de clicar no botão "`Execute`".#
 
 Criamos uma classe que implementa a interface `ItemDao` e quando a aplicação foi implantada, nossos beans gerenciados no módulo foram processados pela implementação do CDI (por causa do arquivo `beans.xml` no módulo). Nossa anotação `@Inject` especifica que queremos injetar um bean gerenciado nesse campo e a única coisa que sabemos sobre o bean injetável é que ele deve implementar `ItemDao` ou algum subtipo dessa interface. Nesse caso, a classe `DefaultItemDao` se adapta perfeitamente.
 
@@ -331,11 +409,15 @@ Certifique-se de adicionar instruções de importação para `java.util.List` e
 
 Agora que há duas classes que implementam o `ItemDao`, a escolha não está tão clara com relação a em qual bean queremos injetar.
 
-4. Clique no botão Executar Projeto (image::images/run-project-btn.png[]) para executar o projeto. Observe que o projeto agora falha na implantação.
+
+[start=4]
+. Clique no botão Executar Projeto (image:images/run-project-btn.png[]) para executar o projeto. Observe que o projeto agora falha na implantação.
 
 Provavelmente, você só precisa salvar o arquivo porque o IDE implantará o projeto automaticamente, visto que a opção Implantar ao Salvar está ativada por default.
 
-5. Examine o log do servidor na janela Saída (Ctrl-4; ⌘-4 no Mac). Será exibida uma mensagem de erro semelhante ao seguinte.
+
+[start=5]
+. Examine o log do servidor na janela Saída (Ctrl-4; ⌘-4 no Mac). Será exibida uma mensagem de erro semelhante ao seguinte.
 
 [source,java]
 ----
@@ -356,10 +438,18 @@ Quando o CDI inspeciona um ponto de injeção para encontrar um bean adequado pa
 
 O IDE fornece um assistente que permite gerar qualificadores CDI.
 
-6. Clique no botão Novo Arquivo (image::images/new-file-btn.png[]) ou pressione CTRL-N (⌘-N no Mac) para abrir o assistente de Arquivo.
-7. Selecione a categoria Injeção de Dependência e Contexto e, em seguida, selecione Tipo de Qualificador. Clique em Próximo.
-8. Digite *Demo* como o nome da classe e, em seguida, *exercise2* como o pacote.
-9. Clique em Finalizar. O novo qualificador `Demo` será aberto no editor.
+
+[start=6]
+. Clique no botão Novo Arquivo (image:images/new-file-btn.png[]) ou pressione CTRL-N (⌘-N no Mac) para abrir o assistente de Arquivo.
+
+[start=7]
+. Selecione a categoria Injeção de Dependência e Contexto e, em seguida, selecione Tipo de Qualificador. Clique em Próximo.
+
+[start=8]
+. Digite *Demo* como o nome da classe e, em seguida, *exercise2* como o pacote.
+
+[start=9]
+. Clique em Finalizar. O novo qualificador `Demo` será aberto no editor.
 
 [source,java]
 ----
@@ -388,7 +478,9 @@ public @interface Demo {
 
 Em seguida, você adicionará este qualificador à implementação DAO default no nível da classe.
 
-10. Altere para `DefaultItemDao` no editor (pressione Ctrl-Tab) e, em seguida, digite "`@Demo`" acima da definição da classe.
+
+[start=10]
+. Altere para `DefaultItemDao` no editor (pressione Ctrl-Tab) e, em seguida, digite "`@Demo`" acima da definição da classe.
 
 [source,java]
 ----
@@ -407,12 +499,17 @@ public List<Item> fetchItems() {
 }
 }
 ----
-[tips]#Depois de digitar "`@`", pressione Ctrl-Espaço para chamar sugestões da funcionalidade autocompletar código. O editor reconhece o qualificador `Demo` e lista `@Demo` como uma opção para a funcionalidade autocompletar código.#
-11. Clique no botão Executar Projeto (image::images/run-project-btn.png[]) para executar o projeto. O projeto será compilado e implantado sem erros.
+
+TIP: Depois de digitar "`@`", pressione Ctrl-Espaço para chamar sugestões da funcionalidade autocompletar código. O editor reconhece o qualificador `Demo` e lista `@Demo` como uma opção para a funcionalidade autocompletar código.#
+
+[start=11]
+. Clique no botão Executar Projeto (image:images/run-project-btn.png[]) para executar o projeto. O projeto será compilado e implantado sem erros.
 
 *Observação.* Para esta modificação talvez você precise executar explicitamente o projeto para reimplantar a aplicação, em vez de implantar incrementalmente as alterações.
 
-12. No browser, clique no botão "`Execute`", retorne para o IDE e examine o log do servidor na janela Saída. Você verá a seguinte saída.
+
+[start=12]
+. No browser, clique no botão "`Execute`", retorne para o IDE e examine o log do servidor na janela Saída. Você verá a seguinte saída.
 
 [source,java]
 ----
@@ -424,7 +521,9 @@ A saída lista o item da classe `AnotherItemDao`. Lembre-se de que anotamos a im
 
 Em seguida, você adicionará a anotação `@Demo` ao ponto de injeção em `ItemProcessor`.
 
-13. Altere para `ItemProcessor` no editor (pressione Ctrl-Tab) e, em seguida, faça a seguinte alteração.
+
+[start=13]
+. Altere para `ItemProcessor` no editor (pressione Ctrl-Tab) e, em seguida, faça a seguinte alteração.
 
 [source,java]
 ----
@@ -444,7 +543,9 @@ public void execute() {
 }
 }
 ----
-14. No browser, clique no botão "`Execute`", retorne para o IDE e examine o log do servidor na janela Saída. Você verá, novamente, a saída da implementação default (`DefaultItemDao`).
+
+[start=14]
+. No browser, clique no botão "`Execute`", retorne para o IDE e examine o log do servidor na janela Saída. Você verá, novamente, a saída da implementação default (`DefaultItemDao`).
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject_ru.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject_ru.asciidoc
index 7fac0d5..9a314cb 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject_ru.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject_ru.asciidoc
@@ -32,7 +32,7 @@
 _Предоставлено Энди Гибсоном (Andy Gibson)_
 
 
-=== Внедрение контекстов и зависимостей
+== Внедрение контекстов и зависимостей
 
 1. link:cdi-intro.html[+Введение в CDI и JSF 2.0+]
 2. *Работа с внедрением и квалификаторами в CDI*
@@ -40,10 +40,12 @@ _Предоставлено Энди Гибсоном (Andy Gibson)_
 * <<qualifier,Работа с квалификаторами>>
 * <<alternative,Альтернативные методы внедрения>>
 * <<seealso,Дополнительные сведения>>
-3. link:cdi-validate.html[+Применение аннотации @Alternative и аннотаций жизненного цикла+]
-4. link:cdi-events.html[+Обработка событий в CDI+]
 
-image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0"]
+[start=3]
+. link:cdi-validate.html[+Применение аннотации @Alternative и аннотаций жизненного цикла+]
+
+[start=4]
+. link:cdi-events.html[+Обработка событий в CDI+]
 
 Внедрение контекстов и зависимостей (CDI), определяемое документом link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+], является неотъемлемой частью Java EE 6 и обеспечивает архитектуру, позволяющую компонентам Java EE (например, сервлетам, компонентам EJB и JavaBeans) существовать в жизненном цикле приложения с четко определенными контекстами. Кроме того, службы CDI позволяют компонентам Java EE (например, компонентам сеансов EJB и управляемым компонентам JavaServer Faces) внедряться и  [...]
 
@@ -87,12 +89,18 @@ DAO - это _объект доступа к данным_.
 1. Сначала необходимо извлечь пример начального проекта из файла `cdiDemo.zip` (см. выше <<requiredSoftware,таблицу с перечислением требуемых ресурсов>>). Выберите File ("Файл") > Open Project ("Открыть проект") (Ctrl-Shift-O; ⌘-Shift-O on Mac) и выберите проект в его местоположении на компьютере.
 2. Щелкните правой кнопкой мыши узел проекта в окне "Проекты" и выберите команду "Свойства".
 3. Выберите категорию "Запуск" и убедитесь, что в списке "Сервер" выбран экземпляр GlassFish.
-4. Создайте новый класс `Item` и сохраните его в новом пакете с именем `exercise2`. Щелкните 'Создать файл' ( image::images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
+4. Создайте новый класс `Item` и сохраните его в новом пакете с именем `exercise2`. Щелкните 'Создать файл' ( image:images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
 5. Выберите категорию Java, а затем выберите класс Java. Нажмите кнопку "Далее".
 6. Введите *Item* в качестве имени класса, затем укажите *exercise2* в качестве пакета. Новый пакет будет создан после завершения работы мастера. 
+
 image::images/java-class-wizard.png[title="Среда IDE может помочь в этом, предоставляя мастер библиотеки классов Java."]
-7. Нажмите кнопку "Завершить". Выполняется создание нового класса и пакета, и класс `Item` открывается в редакторе.
-8. Создайте свойства `value` и `limit` для POJO `Item` и реализуйте метод `toString()`. Добавьте следующее содержимое к классу.
+
+
+[start=7]
+. Нажмите кнопку "Завершить". Выполняется создание нового класса и пакета, и класс `Item` открывается в редакторе.
+
+[start=8]
+. Создайте свойства `value` и `limit` для POJO `Item` и реализуйте метод `toString()`. Добавьте следующее содержимое к классу.
 
 [source,java]
 ----
@@ -108,11 +116,21 @@ public class Item {
     }*
 }
 ----
-9. Добавьте методы получения и установки к классу. Для этого убедитесь, что курсор размещен в определении класса (т.е. между фигурными скобками класса), затем щелкните в редакторе правой кнопкой мыши и выберите пункт "Вставить код" (ALT+INSERT; CTRL+I на компьютерах Mac). Выберите методы получения и установки. 
+
+[start=9]
+. Добавьте методы получения и установки к классу. Для этого убедитесь, что курсор размещен в определении класса (т.е. между фигурными скобками класса), затем щелкните в редакторе правой кнопкой мыши и выберите пункт "Вставить код" (ALT+INSERT; CTRL+I на компьютерах Mac). Выберите методы получения и установки. 
+
 image::images/insert-code.png[title="Создайте методы получения и установки с помощью всплывающего окна 'Вставить код'"]
-10. Установите флажок `Item` (при этом выбираются все свойства, содержащиеся в классе). 
+
+
+[start=10]
+. Установите флажок `Item` (при этом выбираются все свойства, содержащиеся в классе). 
+
 image::images/generate-getters-setters.png[title="Установите флажок для класса для выбора всех свойств, содержащихся в классе"]
-11. Нажмите кнопку "Создать". Для класса создаются методы получения и установки.
+
+
+[start=11]
+. Нажмите кнопку "Создать". Для класса создаются методы получения и установки.
 
 [source,java]
 ----
@@ -144,8 +162,12 @@ public class Item {
     }
 }
 ----
-12. Создайте конструктор, который принимает оба аргумента `value` и `limit`. Кроме того, для этого можно использовать IDE. Нажмите сочетание клавиш CTRL+ПРОБЕЛ в определении класса и выберите параметр "`Item(int value, int limit) - generate`". 
+
+[start=12]
+. Создайте конструктор, который принимает оба аргумента `value` и `limit`. Кроме того, для этого можно использовать IDE. Нажмите сочетание клавиш CTRL+ПРОБЕЛ в определении класса и выберите параметр "`Item(int value, int limit) - generate`". 
+
 image::images/generate-constructor.png[title="Нажмите сочетание клавиш CTRL+ПРОБЕЛ, чтобы использовать функцию автозавершения кода в редакторе."] 
+
 К классу добавляется следующий конструктор.
 
 [source,java]
@@ -163,14 +185,24 @@ public class Item {
 
     ...
 ----
-13. Создайте интерфейс `ItemDao` для определения способа получения списка объектов `Item`. В этом тестовом приложении мы допускаем использование нескольких реализаций, следовательно, создаем код для интерфейсов.
 
-Щелкните 'Создать файл' ( image::images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
+[start=13]
+. Создайте интерфейс `ItemDao` для определения способа получения списка объектов `Item`. В этом тестовом приложении мы допускаем использование нескольких реализаций, следовательно, создаем код для интерфейсов.
+
+Щелкните 'Создать файл' ( image:images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
 
-14. Выберите категорию Java, а затем команду "Интерфейс Java". Нажмите кнопку "Далее".
-15. Введите *ItemDao* в качестве имени класса, затем укажите *exercise2* в качестве пакета.
-16. Нажмите кнопку "Завершить". Интерфейс будет создан и открыт в редакторе.
-17. Добавьте метод с именем `fetchItems()`, который возвращает элемент `List` объектов `Item`.
+
+[start=14]
+. Выберите категорию Java, а затем команду "Интерфейс Java". Нажмите кнопку "Далее".
+
+[start=15]
+. Введите *ItemDao* в качестве имени класса, затем укажите *exercise2* в качестве пакета.
+
+[start=16]
+. Нажмите кнопку "Завершить". Интерфейс будет создан и открыт в редакторе.
+
+[start=17]
+. Добавьте метод с именем `fetchItems()`, который возвращает элемент `List` объектов `Item`.
 
 [source,java]
 ----
@@ -182,16 +214,24 @@ public interface ItemDao {
 }
 ----
 Используйте подсказку редактора, чтобы добавить оператор импорта для `java.util.List`.
-18. Создайте класс `ItemProcessor`. Это главный класс для внедрения базовых элементов и выполнения процесса. базовый элемент.
 
-Щелкните 'Создать файл' ( image::images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
+[start=18]
+. Создайте класс `ItemProcessor`. Это главный класс для внедрения базовых элементов и выполнения процесса. базовый элемент.
 
-19. Выберите категорию Java, а затем выберите класс Java. Нажмите кнопку "Далее".
-20. Введите *ItemProcessor* в качестве имени класса, затем укажите *exercise2* в качестве пакета. Нажмите кнопку "Завершить".
+Щелкните 'Создать файл' ( image:images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
+
+
+[start=19]
+. Выберите категорию Java, а затем выберите класс Java. Нажмите кнопку "Далее".
+
+[start=20]
+. Введите *ItemProcessor* в качестве имени класса, затем укажите *exercise2* в качестве пакета. Нажмите кнопку "Завершить".
 
 В редакторе будет создан и открыт новый класс.
 
-21. Измените класс следующим образом:
+
+[start=21]
+. Измените класс следующим образом:
 
 [source,java]
 ----
@@ -210,16 +250,29 @@ public class ItemProcessor {
     }
 }
 ----
-22. Исправьте операторы импорта. Либо щелкните правой кнопкой мыши в редакторе и выберите 'Исправить выражения импорта' или нажмите Ctrl-Shift-I (⌘-Shift-I в Mac). 
+
+[start=22]
+. Исправьте операторы импорта. Либо щелкните правой кнопкой мыши в редакторе и выберите 'Исправить выражения импорта' или нажмите Ctrl-Shift-I (⌘-Shift-I в Mac). 
+
 image::images/fix-imports.png[title="Щелкните в редакторе правой кнопкой мыши и выберите 'Исправить операторы импорта' для добавления операторов импорта к классу"]
-23. Нажмите кнопку "ОК". Операторы импорта требуются для следующих классов:
+
+
+[start=23]
+. Нажмите кнопку "ОК". Операторы импорта требуются для следующих классов:
 * `java.util.List`
 * `javax.inject.Named`
 * `javax.enterprise.context.RequestScoped`
-24. Начните с простого DAO, который только создает список элементов и возвращает фиксированный список элементов. 
 
-В окне "Проекты" щелкните правой кнопкой мыши узел пакета `exercise2` и выберите "Создать > Класс Java". В мастере создания класса Java присвойте классу имя `DefaultItemDao`. Нажмите кнопку "Завершить". image::images/java-class-wizard2.png[title="Создайте новый класс Java с помощью мастера классов Java"]
-25. Необходимо, чтобы в редакторе элемент `DefaultItemDao` реализовывал интерфейс `ItemDao` и обеспечивал реализацию `fetchItems()`.
+[start=24]
+. Начните с простого DAO, который только создает список элементов и возвращает фиксированный список элементов. 
+
+В окне "Проекты" щелкните правой кнопкой мыши узел пакета `exercise2` и выберите "Создать > Класс Java". В мастере создания класса Java присвойте классу имя `DefaultItemDao`. Нажмите кнопку "Завершить". 
+
+image::images/java-class-wizard2.png[title="Создайте новый класс Java с помощью мастера классов Java"]
+
+
+[start=25]
+. Необходимо, чтобы в редакторе элемент `DefaultItemDao` реализовывал интерфейс `ItemDao` и обеспечивал реализацию `fetchItems()`.
 
 [source,java]
 ----
@@ -238,7 +291,9 @@ public class DefaultItemDao *implements ItemDao* {
 }
 ----
 Нажмите сочетание клавиш Ctrl-Shift-I (⌘-Shift-I on Mac) для добавления операторов импорта для `java.util.List` and `java.util.ArrayList`.
-26. Перейдите к классу `ItemProcessor` (нажмите сочетание клавиш CTRL+TAB). Чтобы внедрить `DefaultItemDao` в `ItemProcessor` добавляется аннотация `javax.inject.Inject` к полю `ItemDao` для указания того, что это поле является точкой внедрения.
+
+[start=26]
+. Перейдите к классу `ItemProcessor` (нажмите сочетание клавиш CTRL+TAB). Чтобы внедрить `DefaultItemDao` в `ItemProcessor` добавляется аннотация `javax.inject.Inject` к полю `ItemDao` для указания того, что это поле является точкой внедрения.
 
 [source,java]
 ----
@@ -256,14 +311,26 @@ public class ItemProcessor {
     ...
 }
 ----
-[tips]#Используйте поддержку автозавершения кода редактора для добавления аннотации `@Inject` и оператора импорта к классу. Например, введите `@Inj`, а затем нажмите CTRL+ПРОБЕЛ.#
-27. Наконец, необходим способ для вызова метода `execute()` в `ItemProcessor`. Это можно выполнить в среде SE, но сейчас мы сделаем это на странице JSF. Создайте новую страницу с именем `process.xhtml`, которая содержит кнопку для вызова метода `execute()`. 
 
-Щелкните 'Создать файл' ( image::images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
-28. Выберите категорию JavaServer Faces, затем выберите страницу JSF. Нажмите кнопку "Далее".
-29. Введите *process* в качестве имени файла, затем нажмите кнопку "Готово". 
+TIP: Используйте поддержку автозавершения кода редактора для добавления аннотации `@Inject` и оператора импорта к классу. Например, введите `@Inj`, а затем нажмите CTRL+ПРОБЕЛ.#
+
+
+[start=27]
+. Наконец, необходим способ для вызова метода `execute()` в `ItemProcessor`. Это можно выполнить в среде SE, но сейчас мы сделаем это на странице JSF. Создайте новую страницу с именем `process.xhtml`, которая содержит кнопку для вызова метода `execute()`. 
+
+Щелкните 'Создать файл' ( image:images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
+
+[start=28]
+. Выберите категорию JavaServer Faces, затем выберите страницу JSF. Нажмите кнопку "Далее".
+
+[start=29]
+. Введите *process* в качестве имени файла, затем нажмите кнопку "Готово". 
+
 image::images/new-jsf-page.png[title="Создайте новую страницу Facelets с помощью мастера файлов JSF"]
-30. В новом файле `process.xhtml` добавьте кнопку, которая привязана к методу `ItemProcessor.execute()`. При использовании языка выражений имя по умолчанию для управляемого компонента является таким же, как имя класса, но первая буква в нижнем регистре (т.е. `itemProcessor`).
+
+
+[start=30]
+. В новом файле `process.xhtml` добавьте кнопку, которая привязана к методу `ItemProcessor.execute()`. При использовании языка выражений имя по умолчанию для управляемого компонента является таким же, как имя класса, но первая буква в нижнем регистре (т.е. `itemProcessor`).
 
 [source,xml]
 ----
@@ -274,11 +341,17 @@ image::images/new-jsf-page.png[title="Создайте новую страниц
     </h:form>*
 </h:body>
 ----
-31. Перед выполнением проекта установите файл `process.xhtml` в качестве новой страницы приветствия в дескрипторе развертывания веб-приложения. 
+
+[start=31]
+. Перед выполнением проекта установите файл `process.xhtml` в качестве новой страницы приветствия в дескрипторе развертывания веб-приложения. 
 
 Используйте диалоговое окно среды IDE "Переход к файлу" для быстрого открытия файла `web.xml`. В основном меню среды IDE выберите "Переход > Перейти к файлу" (ALT+SHIFT+O; CTRL+SHIFT+O на компьютерах Mac), а затем введите `web`. 
+
 image::images/go-to-file.png[title="С помощью диалогового окна &quot;Переход к файлу&quot; быстро найдите файл проекта"]
-32. Нажмите кнопку "ОК". В представлении XML для файла `web.xml` выполните следующие изменения.
+
+
+[start=32]
+. Нажмите кнопку "ОК". В представлении XML для файла `web.xml` выполните следующие изменения.
 
 [source,xml]
 ----
@@ -287,10 +360,16 @@ image::images/go-to-file.png[title="С помощью диалогового о
     <welcome-file>faces/*process.xhtml*</welcome-file>
 </welcome-file-list>
 ----
-33. Нажмите кнопку 'Запустить проект' (image::images/run-project-btn.png[]) на главной панели инструментов IDE. Проект компилируется и развертывается на GlassFish, и файл `process.xhtml` открывается в браузере.
-34. Нажмите кнопку `Выполнить` на странице. Вернитесь в среду IDE и проверьте протокол сервера GlassFish. Журнал сервера отображается в окне вывода (Ctrl-4; ⌘-4 в Mac) на вкладке 'Сервер GlassFish'. При нажатии кнопки журнал выводит список элементов из реализации DAO по умолчанию. 
+
+[start=33]
+. Нажмите кнопку 'Запустить проект' (image:images/run-project-btn.png[]) на главной панели инструментов IDE. Проект компилируется и развертывается на GlassFish, и файл `process.xhtml` открывается в браузере.
+
+[start=34]
+. Нажмите кнопку `Выполнить` на странице. Вернитесь в среду IDE и проверьте протокол сервера GlassFish. Журнал сервера отображается в окне вывода (Ctrl-4; ⌘-4 в Mac) на вкладке 'Сервер GlassFish'. При нажатии кнопки журнал выводит список элементов из реализации DAO по умолчанию. 
+
 image::images/output-window.png[title="Проверьте журнал сервера в окне вывода IDE"] 
-[tips]#Щелкните правой кнопкой мыши окно вывода и выберите 'Очистить' (Ctrl-L; ⌘-L в Mac) для очистки журнала. На изображении выше протокол очищен перед нажатием кнопки `Выполнить`.#
+
+TIP: Щелкните правой кнопкой мыши окно вывода и выберите 'Очистить' (Ctrl-L; ⌘-L в Mac) для очистки журнала. На изображении выше протокол очищен перед нажатием кнопки `Выполнить`.#
 
 Мы создали класс, который реализует интерфейс `ItemDao`, а при развертывании приложения наши управляемые компоненты в модуле обрабатывались посредством реализации CDI (на основании файла `beans.xml` в модуле). Наша аннотация `@Inject` указывает на то, что управляемый компонент необходимо внедрить в это поле, и единственная вещь, которую мы знаем о внедряемом компоненте заключается в том, что он должен реализовывать `ItemDao` или какой-либо подтип этого интерфейса. В этом случае класс `De [...]
 
@@ -331,11 +410,15 @@ public class AnotherItemDao *implements ItemDao* {
 
 Теперь, при наличии двух классов, которые внедряют`ItemDao`, не так ясно, какой базовый элемент необходимо внедрить.
 
-4. Для запуска проекта нажмите кнопку 'Запустить проект' ( image::images/run-project-btn.png[] ). Обратите внимание, что теперь развертывание проекта завершается сбоем.
+
+[start=4]
+. Для запуска проекта нажмите кнопку 'Запустить проект' ( image:images/run-project-btn.png[] ). Обратите внимание, что теперь развертывание проекта завершается сбоем.
 
 Возможно, вам просто необходимо сохранить файл - IDE будет автоматически запускать проект, т.к. запуск при сохранении активирован по умолчанию.
 
-5. Проверьте журнал сервера в окне вывода (Ctrl-4; ⌘-4 в Mac). Отобразится сообщение об ошибке, аналогичное следующему.
+
+[start=5]
+. Проверьте журнал сервера в окне вывода (Ctrl-4; ⌘-4 в Mac). Отобразится сообщение об ошибке, аналогичное следующему.
 
 [source,java]
 ----
@@ -356,10 +439,18 @@ Weld (реализация для CDI) выдает ошибку неодноз
 
 IDE предоставляет мастер, позволяющий создавать квалификаторы CDI.
 
-6. Щелкните 'Создать файл' ( image::images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
-7. Выберите категорию "Внедрение контекстов и зависимостей", затем выберите "Тип "квалификатора". Нажмите кнопку "Далее".
-8. Введите *Demo* в качестве имени класса, затем укажите *exercise2* в качестве пакета.
-9. Нажмите кнопку "Завершить". Новый квалификатор `Demo` открывается в редакторе.
+
+[start=6]
+. Щелкните 'Создать файл' ( image:images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
+
+[start=7]
+. Выберите категорию "Внедрение контекстов и зависимостей", затем выберите "Тип "квалификатора". Нажмите кнопку "Далее".
+
+[start=8]
+. Введите *Demo* в качестве имени класса, затем укажите *exercise2* в качестве пакета.
+
+[start=9]
+. Нажмите кнопку "Завершить". Новый квалификатор `Demo` открывается в редакторе.
 
 [source,java]
 ----
@@ -388,7 +479,8 @@ public @interface Demo {
 
 Затем этот квалификатор будет добавлен к реализатору DAO на уровне класса.
 
-10. Перейдите в редакторе к `DefaultItemDao` (нажмите CTRL+TAB), а затем введите "`@Demo`" над определением класса.
+[start=10]
+. Перейдите в редакторе к `DefaultItemDao` (нажмите CTRL+TAB), а затем введите "`@Demo`" над определением класса.
 
 [source,java]
 ----
@@ -407,12 +499,18 @@ public List<Item> fetchItems() {
 }
 }
 ----
-[tips]#После ввода `@` нажмите CTRL+ПРОБЕЛ для вызова предложений автозавершения кода. Редактор распознает квалификатор `Demo` и выводит `@Demo` в качестве параметра списка для автозавершения кода.#
-11. Для запуска проекта нажмите кнопку 'Запустить проект' ( image::images/run-project-btn.png[] ). Сборка и развертывание проекта выполняются без ошибок.
 
-*Примечание.* Для этого изменения может потребоваться явно запустить проект для повторного развертывания приложения вместо развертывания изменений с приращением.
+TIP: После ввода `@` нажмите CTRL+ПРОБЕЛ для вызова предложений автозавершения кода. Редактор распознает квалификатор `Demo` и выводит `@Demo` в качестве параметра списка для автозавершения кода.#
+
+
+[start=11]
+. Для запуска проекта нажмите кнопку 'Запустить проект' ( image:images/run-project-btn.png[] ). Сборка и развертывание проекта выполняются без ошибок.
+
+NOTE:  Для этого изменения может потребоваться явно запустить проект для повторного развертывания приложения вместо развертывания изменений с приращением.
 
-12. В браузере нажмите кнопку `Выполнить`, затем вернитесь в среду IDE и проверьте протокол сервера в окне вывода. На экран будет выведено следующее.
+
+[start=12]
+. В браузере нажмите кнопку `Выполнить`, затем вернитесь в среду IDE и проверьте протокол сервера в окне вывода. На экран будет выведено следующее.
 
 [source,java]
 ----
@@ -424,7 +522,9 @@ INFO: Found item exercise2.Item@1ef62a93 [Value=99, Limit=9]
 
 Затем вы добавите аннотацию `@Demo` к точке внедрения в`ItemProcessor`.
 
-13. Перейдите в редакторе к `ItemProcessor` (нажмите CTRL+TAB), а затем выполните следующее изменение.
+
+[start=13]
+. Перейдите в редакторе к `ItemProcessor` (нажмите CTRL+TAB), а затем выполните следующее изменение.
 
 [source,java]
 ----
@@ -444,7 +544,9 @@ public void execute() {
 }
 }
 ----
-14. В браузере нажмите кнопку `Выполнить`, затем вернитесь в среду IDE и проверьте протокол сервера в окне вывода. На экран снова выводятся данные реализации по умолчанию (`DefaultItemDao`).
+
+[start=14]
+. В браузере нажмите кнопку `Выполнить`, затем вернитесь в среду IDE и проверьте протокол сервера в окне вывода. На экран снова выводятся данные реализации по умолчанию (`DefaultItemDao`).
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject_zh_CN.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject_zh_CN.asciidoc
index 7dc089f..9010b17 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject_zh_CN.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-inject_zh_CN.asciidoc
@@ -32,7 +32,7 @@
 _撰稿人:Andy Gibson_
 
 
-=== 上下文和依赖关系注入
+== 上下文和依赖关系注入
 
 1. link:cdi-intro.html[+CDI 和 JSF 2.0 入门指南+]
 2. *使用 CDI 中的注入和限定符*
@@ -40,10 +40,12 @@ _撰稿人:Andy Gibson_
 * <<qualifier,使用限定符>>
 * <<alternative,其他注入方法>>
 * <<seealso,另请参见>>
-3. link:cdi-validate.html[+应用 @Alternative Bean 和生命周期标注+]
-4. link:cdi-events.html[+使用 CDI 中的事件+]
 
-image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0"]
+[start=3]
+. link:cdi-validate.html[+应用 @Alternative Bean 和生命周期标注+]
+
+[start=4]
+. link:cdi-events.html[+使用 CDI 中的事件+]
 
 link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+] 指定的上下文和依赖关系注入 (CDI) 是 Java EE 6 的一个组成部分,提供了一个体系结构,以允许 Java EE 组件(例如 Servlet、企业 Bean 和 JavaBeans)在具有明确定义范围的应用程序生命周期内存在。此外,CDI 服务允许 Java EE 组件(例如 EJB 会话 Bean 和 JavaServer Faces (JSF) 受管 Bean)注入并通过触发和观察事件以松散耦合的方式进行交互。
 
@@ -66,10 +68,11 @@ NetBeans IDE 为上下文和依赖关系注入提供了内置支持,包括在
 |link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo.zip[+cdiDemo.zip+] |N/A 
 |===
 
-*注:*
-
+[NOTE]
+====
 * NetBeans IDE Java 包中还含 GlassFish Server Open Source Edition,后者是与 Java EE 兼容的容器。
 * 可以下载本教程的解决方案样例项目:link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo2.zip[+cdiDemo2.zip+]
+====
 
 
 
@@ -87,12 +90,18 @@ DAO 表示_数据访问对象_。
 1. 首先,从 `cdiDemo.zip` 文件提取样例启动项目(请参见上面的<<requiredSoftware,所需资源列表>>)。在 IDE 中打开项目,方法是选择 "File"(文件)> "Open Project"(打开项目)(Ctrl-Shift-O 组合键;在 Mac 上为 ⌘-Shift-O 组合键),然后从计算机上的相应位置选择该项目。
 2. 右键单击“项目”窗口中的项目节点,然后选择“属性”。
 3. 选择 "Run"(运行)类别,并确认在 "Server"(服务器)下拉列表中选定 GlassFish 实例。
-4. 创建新 `Item` 类,并将其存储在名为 `exercise2` 的新包中。单击 "New File"(新建文件)(image::images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
+4. 创建新 `Item` 类,并将其存储在名为 `exercise2` 的新包中。单击 "New File"(新建文件)(image:images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
 5. 选择 "Java" 类别,然后选择 "Java Class"(Java 类)。单击 "Next"(下一步)。
 6. 输入 *Item* 作为类名,然后键入 *exercise2* 作为包。(新包在完成向导时创建。) 
+
 image::images/java-class-wizard.png[title="使用文件向导创建新 Java 类"]
-7. 单击 "Finish"(完成)。新类和包生成,并在编辑器中打开 `Item` 类。
-8. 为 `Item` POJO 创建 `value` 和 `limit` 属性,并实现 `toString()` 方法。在该类中添加以下内容。
+
+
+[start=7]
+. 单击 "Finish"(完成)。新类和包生成,并在编辑器中打开 `Item` 类。
+
+[start=8]
+. 为 `Item` POJO 创建 `value` 和 `limit` 属性,并实现 `toString()` 方法。在该类中添加以下内容。
 
 [source,java]
 ----
@@ -108,11 +117,21 @@ public class Item {
     }*
 }
 ----
-9. 在该类中添加 getter 和 setter 方法。要执行此操作,请确保将光标置于类定义之间(例如,该类的花括号之间),然后右键单击编辑器并选择 "Insert Code"(插入代码)(Alt-Insert;在 Mac 上为 Ctrl-I)。选择 "Getter and Setter"(Getter 和 Setter)。 
+
+[start=9]
+. 在该类中添加 getter 和 setter 方法。要执行此操作,请确保将光标置于类定义之间(例如,该类的花括号之间),然后右键单击编辑器并选择 "Insert Code"(插入代码)(Alt-Insert;在 Mac 上为 Ctrl-I)。选择 "Getter and Setter"(Getter 和 Setter)。 
+
 image::images/insert-code.png[title="使用 "Insert Code"(插入代码)弹出式窗口创建 getter 和 setter"]
-10. 选中 `Item` 复选框(执行此操作可选择该类中包含的所有属性)。 
+
+
+[start=10]
+. 选中 `Item` 复选框(执行此操作可选择该类中包含的所有属性)。 
+
 image::images/generate-getters-setters.png[title="选中类复选框可选择该类中包含的所有属性"]
-11. 单击 "Generate"(生成)。将为该类生成 getter 和 setter 方法。
+
+
+[start=11]
+. 单击 "Generate"(生成)。将为该类生成 getter 和 setter 方法。
 
 [source,java]
 ----
@@ -144,8 +163,12 @@ public class Item {
     }
 }
 ----
-12. 创建同时具有 `value` 和 `limit` 参数的构造函数。同样,IDE 可以帮助完成此操作。在类定义内按 Ctrl-空格键,并选择 `Item(int value, int limit) - generate` 选项。
+
+[start=12]
+. 创建同时具有 `value` 和 `limit` 参数的构造函数。同样,IDE 可以帮助完成此操作。在类定义内按 Ctrl-空格键,并选择 `Item(int value, int limit) - generate` 选项。
+
 image::images/generate-constructor.png[title="按 Ctrl-空格键可利用编辑器的代码完成功能"] 
+
 下列构造函数将添加到类中。
 
 [source,java]
@@ -163,14 +186,24 @@ public class Item {
 
     ...
 ----
-13. 创建 `ItemDao` 接口以定义获取 `Item` 对象列表的方式。在此测试应用程序中,预期将使用多个实现,因此将编写多个接口的代码。
 
-单击 "New File"(新建文件)(image::images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
+[start=13]
+. 创建 `ItemDao` 接口以定义获取 `Item` 对象列表的方式。在此测试应用程序中,预期将使用多个实现,因此将编写多个接口的代码。
 
-14. 选择 "Java" 类别,然后选择 "Java Interface"(Java 接口)。单击 "Next"(下一步)。
-15. 键入 *ItemDao* 作为类名,然后输入 *exercise2* 作为包。
-16. 单击 "Finish"(完成)。将会生成新接口并在编辑器中将其打开。
-17. 添加名为 `fetchItems()` 的方法,它将返回 `Item` 对象的 `List`。
+单击 "New File"(新建文件)(image:images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
+
+
+[start=14]
+. 选择 "Java" 类别,然后选择 "Java Interface"(Java 接口)。单击 "Next"(下一步)。
+
+[start=15]
+. 键入 *ItemDao* 作为类名,然后输入 *exercise2* 作为包。
+
+[start=16]
+. 单击 "Finish"(完成)。将会生成新接口并在编辑器中将其打开。
+
+[start=17]
+. 添加名为 `fetchItems()` 的方法,它将返回 `Item` 对象的 `List`。
 
 [source,java]
 ----
@@ -182,16 +215,24 @@ public interface ItemDao {
 }
 ----
 (使用编辑器的提示为 `java.util.List` 添加 import 语句。)
-18. 创建 `ItemProcessor` 类。这是要向其中注入 Bean 并从中执行进程的主类。目前,您将从 DAO 入手,了解如何将其注入我们的处理器 Bean。
 
-单击 "New File"(新建文件)(image::images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
+[start=18]
+. 创建 `ItemProcessor` 类。这是要向其中注入 Bean 并从中执行进程的主类。目前,您将从 DAO 入手,了解如何将其注入我们的处理器 Bean。
+
+单击 "New File"(新建文件)(image:images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
+
+
+[start=19]
+. 选择 "Java" 类别,然后选择 "Java Class"(Java 类)。单击 "Next"(下一步)。
 
-19. 选择 "Java" 类别,然后选择 "Java Class"(Java 类)。单击 "Next"(下一步)。
-20. 键入 *ItemProcessor* 作为类名,然后输入 *exercise2* 作为包。单击 "Finish"(完成)。
+[start=20]
+. 键入 *ItemProcessor* 作为类名,然后输入 *exercise2* 作为包。单击 "Finish"(完成)。
 
 将会生成新类并在编辑器中将其打开。
 
-21. 修改该类,如下所示:
+
+[start=21]
+. 修改该类,如下所示:
 
 [source,java]
 ----
@@ -210,16 +251,29 @@ public class ItemProcessor {
     }
 }
 ----
-22. 修复导入。在编辑器中右键单击并选择 "Fix Imports"(修复导入),或者按 Ctrl-Shift-I 组合键(在 Mac 上按 ⌘-Shift-I 组合键)。 
+
+[start=22]
+. 修复导入。在编辑器中右键单击并选择 "Fix Imports"(修复导入),或者按 Ctrl-Shift-I 组合键(在 Mac 上按 ⌘-Shift-I 组合键)。 
+
 image::images/fix-imports.png[title="右键单击编辑器,然后选择 "Fix Imports"(修复导入)以将 import 语句添加到类中"]
-23. 单击 "OK"(确定)。需要以下类的 import 语句:
+
+
+[start=23]
+. 单击 "OK"(确定)。需要以下类的 import 语句:
 * `java.util.List`
 * `javax.inject.Named`
 * `javax.enterprise.context.RequestScoped`
-24. 首先是一个简单的 DAO,仅用于创建项列表并返回项的固定列表。
 
-在 "Projects"(项目)窗口中,右键单击 `exercise2` 包节点并选择 "New"(新建)> "Java Class"(Java 类)。在 Java 类向导中,将类命名为 `DefaultItemDao`。单击 "Finish"(完成)。image::images/java-class-wizard2.png[title="使用 Java 类向导创建新 Java 类"]
-25. 在编辑器中,让 `DefaultItemDao` 实现 `ItemDao` 接口,然后提供 `fetchItems()` 实现。
+[start=24]
+. 首先是一个简单的 DAO,仅用于创建项列表并返回项的固定列表。
+
+在 "Projects"(项目)窗口中,右键单击 `exercise2` 包节点并选择 "New"(新建)> "Java Class"(Java 类)。在 Java 类向导中,将类命名为 `DefaultItemDao`。单击 "Finish"(完成)。
+
+image::images/java-class-wizard2.png[title="使用 Java 类向导创建新 Java 类"]
+
+
+[start=25]
+. 在编辑器中,让 `DefaultItemDao` 实现 `ItemDao` 接口,然后提供 `fetchItems()` 实现。
 
 [source,java]
 ----
@@ -238,7 +292,9 @@ public class DefaultItemDao *implements ItemDao* {
 }
 ----
 (按 Ctrl-Shift-I 组合键(在 Mac 上按 ⌘-Shift-I 组合键)为 `java.util.List` 和 `java.util.ArrayList` 添加 import 语句。)
-26. 切换到 `ItemProcessor` 类(按 Ctrl-Tab 组合键)。为了将 `DefaultItemDao` 注入到 `ItemProcessor`,我们向 `ItemDao` 字段添加 `javax.inject.Inject` 标注以表示该字段为注入点。
+
+[start=26]
+. 切换到 `ItemProcessor` 类(按 Ctrl-Tab 组合键)。为了将 `DefaultItemDao` 注入到 `ItemProcessor`,我们向 `ItemDao` 字段添加 `javax.inject.Inject` 标注以表示该字段为注入点。
 
 [source,java]
 ----
@@ -256,14 +312,26 @@ public class ItemProcessor {
     ...
 }
 ----
-[tips]#使用编辑器的代码完成支持向类中添加 `@Inject` 标注和 import 语句。例如,键入 `@Inj`,按后按 Ctrl-空格组合键。#
-27. 最后,需要采用一些方式来调用 `ItemProcessor` 上的 `execute()` 方法。此方法可以在 SE 环境中运行,但现在会将其保留在 JSF 页。创建名为 `process.xhtml` 的新页,并包含用于调用 `execute()` 方法的按钮。
 
-单击 "New File"(新建文件)(image::images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
-28. 选择 "JavaServer Faces" 类别,然后选择 "JSF Page"(JSF 页)。单击 "Next"(下一步)。
-29. 键入 *process* 作为文件名,然后单击 "Finish"(完成)。 
+TIP: 使用编辑器的代码完成支持向类中添加 `@Inject` 标注和 import 语句。例如,键入 `@Inj`,按后按 Ctrl-空格组合键。#
+
+
+[start=27]
+. 最后,需要采用一些方式来调用 `ItemProcessor` 上的 `execute()` 方法。此方法可以在 SE 环境中运行,但现在会将其保留在 JSF 页。创建名为 `process.xhtml` 的新页,并包含用于调用 `execute()` 方法的按钮。
+
+单击 "New File"(新建文件)(image:images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
+
+[start=28]
+. 选择 "JavaServer Faces" 类别,然后选择 "JSF Page"(JSF 页)。单击 "Next"(下一步)。
+
+[start=29]
+. 键入 *process* 作为文件名,然后单击 "Finish"(完成)。 
+
 image::images/new-jsf-page.png[title="使用 JSF 文件向导创建新 Facelets 页"]
-30. 在新的 `process.xhtml` 文件中,添加连接到 `ItemProcessor.execute()` 方法的按钮。使用 EL 时,受管 Bean 的默认名称与类名称相同,但是第一个字母用小写(例如,`itemProcessor`)。
+
+
+[start=30]
+. 在新的 `process.xhtml` 文件中,添加连接到 `ItemProcessor.execute()` 方法的按钮。使用 EL 时,受管 Bean 的默认名称与类名称相同,但是第一个字母用小写(例如,`itemProcessor`)。
 
 [source,xml]
 ----
@@ -274,11 +342,17 @@ image::images/new-jsf-page.png[title="使用 JSF 文件向导创建新 Facelets
     </h:form>*
 </h:body>
 ----
-31. 运行此项目之前,在项目的 Web 部署描述符中将 `process.xhtml` 文件设置为新的欢迎页面。
+
+[start=31]
+. 运行此项目之前,在项目的 Web 部署描述符中将 `process.xhtml` 文件设置为新的欢迎页面。
 
 使用 IDE 的 "Go to File"(转至文件)对话框快速打开 `web.xml` 文件。从 IDE 的主菜单中选择 "Navigate"(导航)> "Go to File"(转至文件)(Alt-Shift-O;在 Mac 上为 Ctrl-Shift-O),然后键入 "`web`"。 
+
 image::images/go-to-file.png[title="使用 "Go to File"(转至文件)对话框可快速找到项目文件"]
-32. 单击 "OK"(确定)。在 `web.xml` 文件的 XML 视图中,进行以下更改。
+
+
+[start=32]
+. 单击 "OK"(确定)。在 `web.xml` 文件的 XML 视图中,进行以下更改。
 
 [source,xml]
 ----
@@ -287,10 +361,17 @@ image::images/go-to-file.png[title="使用 "Go to File"(转至文件)对话
     <welcome-file>faces/*process.xhtml*</welcome-file>
 </welcome-file-list>
 ----
-33. 在 IDE 的主工具栏中单击 "Run Project"(运行项目)(image::images/run-project-btn.png[]) 按钮。编译该项目并将其部署到 GlassFish,然后在浏览器中打开 `process.xhtml` 文件。
-34. 单击页面上显示的 `Execute` 按钮。切换回 IDE 并检查 GlassFish Server 日志。服务器日志会显示在 "Output"(输出)窗口(Ctrl-4 组合键;在 Mac 上为 ⌘-4 组合键)中 "GlassFish Server" 标签的下方。单击该按钮时,日志将列出默认 DAO 实现的项。
+
+[start=33]
+. 在 IDE 的主工具栏中单击 "Run Project"(运行项目)(image:images/run-project-btn.png[]) 按钮。编译该项目并将其部署到 GlassFish,然后在浏览器中打开 `process.xhtml` 文件。
+
+[start=34]
+. 单击页面上显示的 `Execute` 按钮。切换回 IDE 并检查 GlassFish Server 日志。服务器日志会显示在 "Output"(输出)窗口(Ctrl-4 组合键;在 Mac 上为 ⌘-4 组合键)中 "GlassFish Server" 标签的下方。单击该按钮时,日志将列出默认 DAO 实现的项。
+
 image::images/output-window.png[title="在 IDE 的 "Output"(输出)窗口中查看服务器日志"] 
-[tips]#在 "Output"(输出)窗口中右键单击,然后选择 "Clear"(清除)(Ctrl-L 组合键;在 Mac 上为 ⌘-L 组合键)以清除日志。在上图中,仅在单击 `Execute` 按钮前清除日志。#
+
+
+TIP: 在 "Output"(输出)窗口中右键单击,然后选择 "Clear"(清除)(Ctrl-L 组合键;在 Mac 上为 ⌘-L 组合键)以清除日志。在上图中,仅在单击 `Execute` 按钮前清除日志。#
 
 我们创建了一个实现 `ItemDao` 接口的类,然后在部署应用程序时,由 CDI 实现来处理模块中的受管 Bean(由于模块中的 `beans.xml` 文件)。`@Inject` 标注指定要将受管 Bean 注入该字段,而我们只知道可注入 Bean 必须实现 `ItemDao` 或该接口的一些子类型。在这种情况下,`DefaultItemDao` 类非常符合要求。
 
@@ -331,11 +412,15 @@ public class AnotherItemDao *implements ItemDao* {
 
 现在有两个实现 `ItemDao` 的类,因此无法确定要注入哪个 Bean。
 
-4. 单击 "Run Project"(运行项目)(image::images/run-project-btn.png[]) 按钮以运行项目。请注意,项目现在无法部署。
+
+[start=4]
+. 单击 "Run Project"(运行项目)(image:images/run-project-btn.png[]) 按钮以运行项目。请注意,项目现在无法部署。
 
 您可能只需要保存文件,因为 "Deploy on Save"(在保存时部署)默认为启用状态,IDE 将自动部署项目。
 
-5. 在 "Output"(输出)窗口(Ctrl-4 组合键;在 Mac 上为 ⌘-4 组合键)中查看服务器日志。将会显示类似如下的错误消息。
+
+[start=5]
+. 在 "Output"(输出)窗口(Ctrl-4 组合键;在 Mac 上为 ⌘-4 组合键)中查看服务器日志。将会显示类似如下的错误消息。
 
 [source,java]
 ----
@@ -356,10 +441,18 @@ Weld(CDI 实现)提供了一个不明确的依赖关系错误含义,它不
 
 IDE 提供可用于生成 CDI 限定符的向导。
 
-6. 单击 "New File"(新建文件)(image::images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
-7. 选择 "Context and Dependency Injection"(上下文和依赖关系注入)类别,然后选择 "Qualifier Type"(限定符类型)。单击 "Next"(下一步)。
-8. 输入 *Demo* 作为类名,然后输入 *exercise2* 作为包名。
-9. 单击 "Finish"(完成)。新 `Demo` 限定符在编辑器中打开。
+
+[start=6]
+. 单击 "New File"(新建文件)(image:images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
+
+[start=7]
+. 选择 "Context and Dependency Injection"(上下文和依赖关系注入)类别,然后选择 "Qualifier Type"(限定符类型)。单击 "Next"(下一步)。
+
+[start=8]
+. 输入 *Demo* 作为类名,然后输入 *exercise2* 作为包名。
+
+[start=9]
+. 单击 "Finish"(完成)。新 `Demo` 限定符在编辑器中打开。
 
 [source,java]
 ----
@@ -388,7 +481,9 @@ public @interface Demo {
 
 接下来,在类级别将此限定符添加到默认 DAO 实现。
 
-10. 在编辑器中切换到 `DefaultItemDao`(按 Ctrl-Tab 组合键),然后在类定义上方键入 `@Demo`。
+
+[start=10]
+. 在编辑器中切换到 `DefaultItemDao`(按 Ctrl-Tab 组合键),然后在类定义上方键入 `@Demo`。
 
 [source,java]
 ----
@@ -407,12 +502,18 @@ public List<Item> fetchItems() {
 }
 }
 ----
-[tips]#键入 `@` 后,按 Ctrl-空格键以调用代码完成建议。编辑器识别 `Demo` 限定符并列出 `@Demo` 作为代码完成选项。#
-11. 单击 "Run Project"(运行项目)(image::images/run-project-btn.png[]) 按钮以运行项目。该项目将构建和部署,且不出现错误。
 
-*注:*对于此项修改,可能需要显式运行项目以重新部署应用程序而不是增量部署所做的更改。
+TIP: 键入 `@` 后,按 Ctrl-空格键以调用代码完成建议。编辑器识别 `Demo` 限定符并列出 `@Demo` 作为代码完成选项。#
+
+
+[start=11]
+. 单击 "Run Project"(运行项目)(image:images/run-project-btn.png[]) 按钮以运行项目。该项目将构建和部署,且不出现错误。
 
-12. 在浏览器中,单击 `Execute` 按钮,然后返回至 IDE 并检查 "Output"(输出)窗口中的服务器日志。将看到以下输出结果。
+NOTE: 对于此项修改,可能需要显式运行项目以重新部署应用程序而不是增量部署所做的更改。
+
+
+[start=12]
+. 在浏览器中,单击 `Execute` 按钮,然后返回至 IDE 并检查 "Output"(输出)窗口中的服务器日志。将看到以下输出结果。
 
 [source,java]
 ----
@@ -424,7 +525,9 @@ INFO: Found item exercise2.Item@1ef62a93 [Value=99, Limit=9]
 
 接下来,将向 `ItemProcessor` 中的注入点添加 `@Demo` 标注。
 
-13. 在编辑器中切换到 `ItemProcessor`(按 Ctrl-Tab 组合键),然后进行以下更改。
+
+[start=13]
+. 在编辑器中切换到 `ItemProcessor`(按 Ctrl-Tab 组合键),然后进行以下更改。
 
 [source,java]
 ----
@@ -444,7 +547,9 @@ public void execute() {
 }
 }
 ----
-14. 在浏览器中,单击 `Execute` 按钮,然后返回至 IDE 并检查 "Output"(输出)窗口中的服务器日志。您会再次看到默认实现 (`DefaultItemDao`) 的输出。
+
+[start=14]
+. 在浏览器中,单击 `Execute` 按钮,然后返回至 IDE 并检查 "Output"(输出)窗口中的服务器日志。您会再次看到默认实现 (`DefaultItemDao`) 的输出。
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro.asciidoc
index 640a90b..0900801 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro.asciidoc
@@ -31,19 +31,22 @@
 
 _Contributed by Andy Gibson_
 
-
-=== Contexts and Dependency Injection
+== Contexts and Dependency Injection
 
 1. *Getting Started with CDI and JSF 2.0*
 * <<creating,Creating a Java Web Project with CDI Support>>
 * <<named,Accessing Beans from JSF's Expression Language>>
 * <<upgrading,Upgrading to an EJB>>
 * <<seealso,See Also>>
-2. link:cdi-inject.html[+Working with Injection and Qualifiers in CDI+]
-3. link:cdi-validate.html[+Applying @Alternative Beans and Lifecycle Annotations+]
-4. link:cdi-events.html[+Working with Events in CDI+]
 
-image::images/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3, 7.4 and 8.0"]
+[start=2]
+. link:cdi-inject.html[+Working with Injection and Qualifiers in CDI+]
+
+[start=3]
+. link:cdi-validate.html[+Applying @Alternative Beans and Lifecycle Annotations+]
+
+[start=4]
+. link:cdi-events.html[+Working with Events in CDI+]
 
 Contexts and Dependency Injection (CDI), specified by link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+], is an integral part of Java EE 6 and provides an architecture that allows Java EE components such as servlets, enterprise beans, and JavaBeans to exist within the lifecycle of an application with well-defined scopes. In addition, CDI services allow Java EE components such as EJB session beans and JavaServer Faces (JSF) managed beans to be injected and to interact in a loosely couple [...]
 
@@ -64,24 +67,20 @@ To complete this tutorial, you need the following software and resources.
 |link:http://glassfish.dev.java.net/[+GlassFish server+] |Open Source Edition 3.x or 4.x 
 |===
 
-*Notes:*
-
-* The NetBeans IDE Java bundle also includes the GlassFish Server Open Source Edition, which is a Java EE-compliant container.
-
-
+NOTE: The NetBeans IDE Java bundle also includes the GlassFish Server Open Source Edition, which is a Java EE-compliant container.
 
 [[creating]]
 == Creating a Java Web Project with CDI Support
 
 In this exercise you create a JSF 2.x-enabled Java web project with CDI support.
 
-1. Click the New Project ( image::images/new-project-btn.png[] ) button in the IDE's main toolbar (Ctrl-Shift-N; ⌘-Shift-N on Mac).
+1. Click the New Project ( image:images/new-project-btn.png[] ) button in the IDE's main toolbar (Ctrl-Shift-N; ⌘-Shift-N on Mac).
 2. In the New Project wizard, select the Java Web category, then select Web Application. Click Next.
 3. Type `cdiDemo` for the project name and set the project location. Click Next.
 4. Set the server to GlassFish server.
 5. Set the Java EE Version to Java EE 6 Web or Java EE 7 Web.
 
-*Note.* The Java EE version that you select determines the CDI version that is enabled for your application and there are some important differences between CDI 1.0 and CDI 1.1.
+NOTE:  The Java EE version that you select determines the CDI version that is enabled for your application and there are some important differences between CDI 1.0 and CDI 1.1.
 
 * If you specify Java EE 6 Web as the Java EE version, confirm that the 'Enable Contexts and Dependency Injection' option is selected. The 'Enable Contexts and Dependency Injection' option, when selected, generates a `beans.xml` file in the project's `WEB-INF` folder when the project template is created. The `beans.xml` file is used by CDI to instruct the Java EE-compliant server that the project is a module containing CDI beans. Java EE 6 Web supports CDI 1.0 and the generated `beans.xm [...]
 * If you specify Java EE 7 Web as the Java EE version, CDI 1.1 is enabled by default and the  ``beans.xml``  file is not required. In Java EE 7, when no  ``beans.xml``  is present the archive that is deployed is an *implicit bean archive*. If you use the New File wizard in the IDE to manually generate a `beans.xml` file in a Java EE 7 Web application, by default the deployed archive will become an *explicit bean archive* because the `beans.xml` file specifies CDI 1.1 as the version and a [...]
@@ -89,13 +88,24 @@ In this exercise you create a JSF 2.x-enabled Java web project with CDI support.
 For more details on the types of CDI archives, see link:http://docs.oracle.com/javaee/7/tutorial/doc/cdi-adv001.htm[+Packaging CDI Applications+] in the Java EE 7 Tutorial.
 
 image::images/new-web-application1.png[title="The CDI option, when selected, generates a beans.xml file for the project"]
-6. Click Next.
-7. In the Frameworks panel, select the JavaServer Faces option.
-8. Click the Configuration tab and confirm that Facelets is selected as the Preferred Page Language. Click Finish.
+
+
+[start=6]
+. Click Next.
+
+[start=7]
+. In the Frameworks panel, select the JavaServer Faces option.
+
+[start=8]
+. Click the Configuration tab and confirm that Facelets is selected as the Preferred Page Language. Click Finish.
+
 
 When you click Finish, the IDE generates the web application project and opens the `index.xhtml` welcome page in the editor.
 
-9. In the Projects window, expand the Libraries > GlassFish Server node you can see that the `weld-osgi-bundle.jar` library was automatically added. The GlassFish Server includes Weld, which is JBoss' implementation of the JSR-299 CDI specification. 
+
+[start=9]
+. In the Projects window, expand the Libraries > GlassFish Server node you can see that the `weld-osgi-bundle.jar` library was automatically added. The GlassFish Server includes Weld, which is JBoss' implementation of the JSR-299 CDI specification. 
+
 image::images/projects-window1.png[title="New project contains CDI's beans.xml file and the GlassFish library includes the Weld JAR file"]
 
 If you specified Java EE 6 Web as the Java EE version when you created the project, note that the Web Pages > WEB-INF folder includes a `beans.xml` file. This file is currently empty, but can be used to specify bean related information in XML as an alternative to annotations.
@@ -108,11 +118,14 @@ This exercise demonstrates how you can wire CDI managed beans to Facelets pages
 
 1. In the Projects window, right-click the Source Packages node and choose New > Java Class.
 2. In the New Java Class wizard, name the class *MessageServerBean*, and type in *exercise1* as the Package. (The new package is created upon completing the wizard.) Click Finish. 
+
 image::images/new-java-class.png[title="Create new Java classes using the Java Class wizard"]
 
 The new package and class are generated, and the class opens in the editor.
 
-3. Annotate the class with the `@Named` and `@Dependent` annotations, and create a single method to return a string.
+
+[start=3]
+. Annotate the class with the `@Named` and `@Dependent` annotations, and create a single method to return a string.
 
 [source,java]
 ----
@@ -132,12 +145,16 @@ public class MessageServerBean {
 }
 ----
 
-As you type the `@Dependent` and `@Named` annotation, press Ctrl-Space to invoke the editor's code completion support, as well as Javadoc documentation. If you apply the annotation using the editor's code completion facilities (i.e., select the appropriate annotation and press Enter), the `import` statement is automatically added to the file. In the Javadoc pop-up, you can also click the 'Show documentation in external web browser' ( image::images/external-web-browser-btn.png[] ) button  [...]
+As you type the `@Dependent` and `@Named` annotation, press Ctrl-Space to invoke the editor's code completion support, as well as Javadoc documentation. If you apply the annotation using the editor's code completion facilities (i.e., select the appropriate annotation and press Enter), the `import` statement is automatically added to the file. In the Javadoc pop-up, you can also click the 'Show documentation in external web browser' ( image:images/external-web-browser-btn.png[] ) button t [...]
+
+NOTE:  The  ``@Dependent``  annotation defines the scope of the managed bean. In an *implicit bean archive* a managed bean is only discoverable and can only be managed by the container when a scope is specified. The application in this tutorial will be packaged as an implicit bean archive if you specified Java EE 7 Web as the Java EE version when you created the project and you did not create  ``beans.xml`` . For details on specifying the scope of managed beans, see link:http://docs.orac [...]
 
-*Note.* The  ``@Dependent``  annotation defines the scope of the managed bean. In an *implicit bean archive* a managed bean is only discoverable and can only be managed by the container when a scope is specified. The application in this tutorial will be packaged as an implicit bean archive if you specified Java EE 7 Web as the Java EE version when you created the project and you did not create  ``beans.xml`` . For details on specifying the scope of managed beans, see link:http://docs.ora [...]
 
-4. Save the file (Ctrl-S; ⌘-S on Mac). By adding the `@Named` annotation, the `MessageServerBean` class becomes a _managed bean_, as defined by CDI.
-5. Switch to the `index.xhtml` Facelets page (press Ctrl-Tab) in the editor, and add the following content to the `<h:body>` tags.
+[start=4]
+. Save the file (Ctrl-S; ⌘-S on Mac). By adding the `@Named` annotation, the `MessageServerBean` class becomes a _managed bean_, as defined by CDI.
+
+[start=5]
+. Switch to the `index.xhtml` Facelets page (press Ctrl-Tab) in the editor, and add the following content to the `<h:body>` tags.
 
 [source,xml]
 ----
@@ -150,11 +167,21 @@ As you type the `@Dependent` and `@Named` annotation, press Ctrl-Space to invoke
     Message Server Bean is: #{messageServerBean}*
 </h:body>
 ----
-[tips]#You can press Ctrl-Space in EL expressions to take advantage of code completion suggestions. The editor's code completion lists managed beans and their properties. Because the `@Named` annotation transforms the `MessageServerBean` class into a CDI managed bean, it becomes accessible within EL syntax, just as though it were a JSF managed bean.# 
+
+TIP: You can press Ctrl-Space in EL expressions to take advantage of code completion suggestions. The editor's code completion lists managed beans and their properties. Because the `@Named` annotation transforms the `MessageServerBean` class into a CDI managed bean, it becomes accessible within EL syntax, just as though it were a JSF managed bean.# 
+
+
 image::images/facelets-el-completion.png[title="Create new Java classes using the Java Class wizard"]
-6. Click the Run Project ( image::images/run-project-btn.png[] ) button in the IDE's main toolbar. The project is compiled and deployed to GlassFish, and the application welcome page (`index.xhtml`) opens in the browser. You can see the "Hello World!" message from the `MessageServerBean` displayed on the page. 
+
+
+[start=6]
+. Click the Run Project ( image:images/run-project-btn.png[] ) button in the IDE's main toolbar. The project is compiled and deployed to GlassFish, and the application welcome page (`index.xhtml`) opens in the browser. You can see the "Hello World!" message from the `MessageServerBean` displayed on the page. 
+
 image::images/browser-output1.png[title="Application welcome page displays MessageServerBean details"]
-7. Go back into the message bean and change the message to something else (e.g., "Hello Weld!"). Save the file (Ctrl-S; ⌘-S on Mac), then refresh the browser. The new message automatically appears. Thanks to the IDE's Deploy on Save feature, any changes you save result in automatic compilation and redeployment to the server. 
+
+
+[start=7]
+. Go back into the message bean and change the message to something else (e.g., "Hello Weld!"). Save the file (Ctrl-S; ⌘-S on Mac), then refresh the browser. The new message automatically appears. Thanks to the IDE's Deploy on Save feature, any changes you save result in automatic compilation and redeployment to the server. 
 
 From the third line in the page you can see that the class name is `exercise1.MessageServerBean`. Note that the bean is just a POJO (Plain Old Java Object). Even though you are developing in Java EE, there is no complex class hierarchy wrapped in layers of transactions, interceptors and all that "heavy" stuff you keep hearing about.
 
@@ -170,7 +197,9 @@ When the application is deployed the server looks for CDI managed beans. In a Ja
 
 As we are using a Java EE stack, we can easily deploy our bean as an EJB with some small changes thanks to EJB 3.1.
 
-1. Open the `MessageServerBean` and add the `javax.ejb.Stateless` annotation at the class level and change the string to 'Hello EJB!'.
+
+[start=1]
+. Open the `MessageServerBean` and add the `javax.ejb.Stateless` annotation at the class level and change the string to 'Hello EJB!'.
 
 [source,java]
 ----
@@ -195,8 +224,12 @@ public class MessageServerBean {
     }
 }
 ----
-2. Save the file (Ctrl-S; ⌘-S on Mac), then go to your browser and refresh. You will see output similar to the following: 
+
+[start=2]
+. Save the file (Ctrl-S; ⌘-S on Mac), then go to your browser and refresh. You will see output similar to the following: 
+
 image::images/browser-output-ejb1.png[title="Using the @Stateless annotation transforms MessageServerBean into an EJB"] 
+
 Amazingly, we turned our POJO into a fully-featured EJB with just one annotation. We saved changes then refreshed the page, and our changes appeared. In doing so it wasn't necessary to create any weird project configurations, local interfaces or arcane deployment descriptors.
 
 
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro_ja.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro_ja.asciidoc
index 4fedfa0..9a25e75 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro_ja.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro_ja.asciidoc
@@ -32,18 +32,22 @@
 _執筆: Andy Gibson_
 
 
-=== コンテキストと依存性の注入
+== コンテキストと依存性の注入
 
 1. *CDIおよびJSF 2.0の開始*
 * <<creating,CDIをサポートするJava Webプロジェクトの作成>>
 * <<named,JSFの式言語からのBeanへのアクセス>>
 * <<upgrading,EJBへのアップグレード>>
 * <<seealso,関連項目>>
-2. link:cdi-inject.html[+CDIの注入および修飾子の操作+]
-3. link:cdi-validate.html[+@Alternative Beanおよびライフサイクル注釈の適用+]
-4. link:cdi-events.html[+CDIのイベントの操作+]
 
-image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます"]
+[start=2]
+. link:cdi-inject.html[+CDIの注入および修飾子の操作+]
+
+[start=3]
+. link:cdi-validate.html[+@Alternative Beanおよびライフサイクル注釈の適用+]
+
+[start=4]
+. link:cdi-events.html[+CDIのイベントの操作+]
 
 link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+]で指定されているコンテキストと依存性の注入(CDI: Contexts and Dependency Injection)はJava EE 6の不可欠な部分であり、サーブレット、エンタープライズBean、JavaBeansなどのJava EEコンポーネントが、アプリケーションのライフサイクル内で明確なスコープを持って存在できるようにするためのアーキテクチャを提供します。また、CDIサービスによって、EJBセッションBeanやJSF (JavaServer Faces)管理対象BeanなどのJava EEコンポーネントが注入可能になり、イベントの起動や監視による疎結合方式の対話が可能になります。
 
@@ -64,10 +68,7 @@ NetBeans IDEは、コンテキストと依存性の注入のサポートを組
 |link:http://glassfish.dev.java.net/[+GlassFishサーバー+] |Open Source Edition 3.xまたは4x 
 |===
 
-*注意: *
-
-* NetBeans IDEのJavaバンドル版には、Java EE準拠のコンテナであるGlassFish Server Open Source Editionも含まれています。
-
+NOTE: NetBeans IDEのJavaバンドル版には、Java EE準拠のコンテナであるGlassFish Server Open Source Editionも含まれています。
 
 
 [[creating]]
@@ -75,13 +76,13 @@ NetBeans IDEは、コンテキストと依存性の注入のサポートを組
 
 この課題では、CDIをサポートするJSF 2.x対応のJava Webプロジェクトを作成します。
 
-1. IDEのメイン・ツールバーにある「新規プロジェクト」(image::images/new-project-btn.png[])ボタンをクリックします([Ctrl]-[Shift]-[N]、Macの場合は[⌘]-[Shift]-[N])。
+1. IDEのメイン・ツールバーにある「新規プロジェクト」(image:images/new-project-btn.png[])ボタンをクリックします([Ctrl]-[Shift]-[N]、Macの場合は[⌘]-[Shift]-[N])。
 2. 新規プロジェクト・ウィザードで、「Java Web」カテゴリを選択してから「Webアプリケーション」を選択します。「次」をクリックします。
 3. プロジェクト名として「`cdiDemo`」と入力し、プロジェクトの場所を設定します。「次」をクリックします。
 4. サーバーをGlassFishサーバーに設定します。
 5. Java EEバージョンをJava EE 6 WebまたはJava EE 7 Webに設定します。
 
-*注意:*選択するJava EEバージョンによって、アプリケーションに対して有効なCDIバージョンが決まります。CDI 1.0とCDI 1.1には重要な違いがあります。
+NOTE: 選択するJava EEバージョンによって、アプリケーションに対して有効なCDIバージョンが決まります。CDI 1.0とCDI 1.1には重要な違いがあります。
 
 * Java EEバージョンとしてJava EE 6 Webを指定した場合は、「コンテキストと依存性の注入を有効にする」オプションが選択されていることを確認します。「コンテキストと依存性の注入を有効にする」オプションが選択されると、プロジェクト・テンプレートの作成時に、プロジェクトの`WEB-INF`フォルダに`beans.xml`ファイルが生成されます。`beans.xml`ファイルはCDIによって使用され、プロジェクトがCDI Beanを含むモジュールであることをJava EE準拠のサーバーに伝えます。Java EE 6 WebはCDI 1.0をサポートしており、生成された`beans.xml`ファイルでCDI 1.0がバージョンとして指定されます。
 * Java EEバージョンとしてJava EE 7 Webを指定した場合、デフォルトでCDI 1.1が有効になっており、 ``beans.xml`` ファイルは不要です。Java EE 7では、 ``beans.xml`` がない場合、デプロイされるアーカイブは*暗黙的Beanアーカイブ*です。IDEで新規ファイル・ウィザードを使用して、Java EE 7 Webアプリケーションで手動で`beans.xml`ファイルを生成する場合、デフォルトではデプロイされるアーカイブは*明示的Beanアーカイブ*になります。`beans.xml`ファイルでCDI 1.1がバージョンとして指定され、 ``bean-discovery-mode`` の属性が ``all`` に設定されるためです。
@@ -89,13 +90,23 @@ NetBeans IDEは、コンテキストと依存性の注入のサポートを組
 CDIアーカイブのタイプの詳細は、Java EE 7チュートリアルのlink:http://docs.oracle.com/javaee/7/tutorial/doc/cdi-adv001.htm[+CDIアプリケーションのパッケージ+]を参照してください。
 
 image::images/new-web-application1.png[title="CDIオプションを選択すると、プロジェクトのbeans.xmlファイルが生成される"]
-6. 「次」をクリックします。
-7. 「フレームワーク」パネルで「JavaServer Faces」オプションを選択します。
-8. 「構成」タブをクリックし、「優先ページ言語」として「Facelets」が選択されていることを確認します。「終了」をクリックします。
+
+
+[start=6]
+. 「次」をクリックします。
+
+[start=7]
+. 「フレームワーク」パネルで「JavaServer Faces」オプションを選択します。
+
+[start=8]
+. 「構成」タブをクリックし、「優先ページ言語」として「Facelets」が選択されていることを確認します。「終了」をクリックします。
 
 「終了」をクリックすると、IDEはWebアプリケーション・プロジェクトを生成し、`index.xhtml`開始ページがエディタに表示されます。
 
-9. 「プロジェクト」ウィンドウで、「ライブラリ」>「GlassFish Server」ノードを展開すると、`weld-osgi-bundle.jar`ライブラリが自動的に追加されていることがわかります。GlassFish Serverには、JSR-299 CDI仕様のJBossの実装であるWeldが含まれています。 
+
+[start=9]
+. 「プロジェクト」ウィンドウで、「ライブラリ」>「GlassFish Server」ノードを展開すると、`weld-osgi-bundle.jar`ライブラリが自動的に追加されていることがわかります。GlassFish Serverには、JSR-299 CDI仕様のJBossの実装であるWeldが含まれています。 
+
 image::images/projects-window1.png[title="CDIのbeans.xmlファイルが挿入された新しいプロジェクトとWeld JARファイルが挿入されたGlassFishライブラリ"]
 
 プロジェクトの作成時にJava EEバージョンとしてJava EE 6 Webを指定した場合は、「Web」ページ>「WEB-INF」フォルダに`beans.xml`ファイルが含まれます。現時点でこのファイルは空ですが、注釈の代替として、XMLでBeanの関連情報を指定するために使用できます。
@@ -106,13 +117,20 @@ image::images/projects-window1.png[title="CDIのbeans.xmlファイルが挿入
 
 この課題では、EL構文を使用してCDI管理対象BeanをFaceletsページに接続する方法を示します。
 
-1. 「プロジェクト」ウィンドウで「ソース・パッケージ」ノードを右クリックし、「新規」>「Javaクラス」を選択します。
-2. 新規Javaクラス・ウィザードで、「クラス名」に「*MessageServerBean*」、「パッケージ」に「*exercise1*」と入力します。(ウィザードの完了時に新しいパッケージが作成されます。)「終了」をクリックします。 
+
+[start=1]
+. 「プロジェクト」ウィンドウで「ソース・パッケージ」ノードを右クリックし、「新規」>「Javaクラス」を選択します。
+
+[start=2]
+. 新規Javaクラス・ウィザードで、「クラス名」に「*MessageServerBean*」、「パッケージ」に「*exercise1*」と入力します。(ウィザードの完了時に新しいパッケージが作成されます。)「終了」をクリックします。 
+
 image::images/new-java-class.png[title="Javaクラス・ウィザードを使用した新しいJavaクラスの作成"]
 
 新しいパッケージおよびクラスが生成され、エディタでクラスが開きます。
 
-3. クラスに`@Named`および`@Dependent`注釈を付けて、文字列を返す1つのメソッドを作成します。
+
+[start=3]
+. クラスに`@Named`および`@Dependent`注釈を付けて、文字列を返す1つのメソッドを作成します。
 
 [source,java]
 ----
@@ -132,12 +150,16 @@ public class MessageServerBean {
 }
 ----
 
-`@Dependent`および`@Named`注釈の入力中に[Ctrl]-[Space]を押すと、エディタのコード補完サポートとJavadocドキュメントを呼び出せます。エディタのコード補完機能を使用して注釈を適用する(適切な注釈を選択して[Enter]を押す)と、自動的に`import`文がファイルに追加されます。Javadocのポップアップで「外部Webブラウザにドキュメントを表示」(image::images/external-web-browser-btn.png[])ボタンをクリックし、別個のウィンドウにフルサイズのJavadocを表示することもできます。
+`@Dependent`および`@Named`注釈の入力中に[Ctrl]-[Space]を押すと、エディタのコード補完サポートとJavadocドキュメントを呼び出せます。エディタのコード補完機能を使用して注釈を適用する(適切な注釈を選択して[Enter]を押す)と、自動的に`import`文がファイルに追加されます。Javadocのポップアップで「外部Webブラウザにドキュメントを表示」(image:images/external-web-browser-btn.png[])ボタンをクリックし、別個のウィンドウにフルサイズのJavadocを表示することもできます。
+
+NOTE:  ``@Dependent`` 注釈は、管理対象Beanのスコープを定義します。*暗黙的Beanアーカイブ*では、管理対象Beanは検出可能なだけで、スコープが指定されている場合にコンテナによってのみ管理されます。プロジェクトの作成時に ``beans.xml`` を作成しなかった場合、Java EEバージョンとしてJava EE 7 Webを指定すると、このチュートリアルのアプリケーションは暗黙的Beanアーカイブとしてパッケージされます。管理対象beanのスコープの指定の詳細は、Java EE 7チュートリアルのlink:http://docs.oracle.com/javaee/7/tutorial/doc/jsf-configure001.htm[+注釈を使用した管理対象Beanの構成+]を参照してください。
 
-*注意:* ``@Dependent`` 注釈は、管理対象Beanのスコープを定義します。*暗黙的Beanアーカイブ*では、管理対象Beanは検出可能なだけで、スコープが指定されている場合にコンテナによってのみ管理されます。プロジェクトの作成時に ``beans.xml`` を作成しなかった場合、Java EEバージョンとしてJava EE 7 Webを指定すると、このチュートリアルのアプリケーションは暗黙的Beanアーカイブとしてパッケージされます。管理対象beanのスコープの指定の詳細は、Java EE 7チュートリアルのlink:http://docs.oracle.com/javaee/7/tutorial/doc/jsf-configure001.htm[+注釈を使用した管理対象Beanの構成+]を参照してください。
 
-4. ファイルを保存します([Ctrl]-[S]、Macの場合は[⌘]-[S])。`@Named`注釈を追加することで、CDIで定義されているように`MessageServerBean`クラスは_管理対象Bean_になります。
-5. エディタで([Ctrl]-[Tab]を押して) `index.xhtml` Faceletsページに切り替え、`<h:body>`タグに次の内容を追加します。
+[start=4]
+. ファイルを保存します([Ctrl]-[S]、Macの場合は[⌘]-[S])。`@Named`注釈を追加することで、CDIで定義されているように`MessageServerBean`クラスは_管理対象Bean_になります。
+
+[start=5]
+. エディタで([Ctrl]-[Tab]を押して) `index.xhtml` Faceletsページに切り替え、`<h:body>`タグに次の内容を追加します。
 
 [source,xml]
 ----
@@ -150,11 +172,21 @@ public class MessageServerBean {
     Message Server Bean is: #{messageServerBean}*
 </h:body>
 ----
-[tips]#EL式で[Ctrl]-[Space]を押すと、コード補完の候補を利用できます。エディタのコード補完によって、管理対象Beanおよびそのプロパティが一覧表示されます。`MessageServerBean`クラスは`@Named`注釈によってCDI管理対象Beanに変換されるため、JSF管理対象Beanと同じようにEL構文内でアクセスできるようになります。#
+
+TIP: EL式で[Ctrl]-[Space]を押すと、コード補完の候補を利用できます。エディタのコード補完によって、管理対象Beanおよびそのプロパティが一覧表示されます。`MessageServerBean`クラスは`@Named`注釈によってCDI管理対象Beanに変換されるため、JSF管理対象Beanと同じようにEL構文内でアクセスできるようになります。#
+
+
 image::images/facelets-el-completion.png[title="Javaクラス・ウィザードを使用した新しいJavaクラスの作成"]
-6. IDEのメイン・ツールバーにある「プロジェクトの実行」(image::images/run-project-btn.png[])ボタンをクリックします。プロジェクトがコンパイルされてGlassFishにデプロイされ、アプリケーションの開始ページ(`index.xhtml`)がブラウザで開きます。「Hello World!」メッセージが`MessageServerBean`によってページに表示されます。
+
+
+[start=6]
+. IDEのメイン・ツールバーにある「プロジェクトの実行」(image::images/run-project-btn.png[])ボタンをクリックします。プロジェクトがコンパイルされてGlassFishにデプロイされ、アプリケーションの開始ページ(`index.xhtml`)がブラウザで開きます。「Hello World!」メッセージが`MessageServerBean`によってページに表示されます。
+
 image::images/browser-output1.png[title="アプリケーションの開始ページにMessageServerBeanの詳細が表示される"]
-7. メッセージBeanに戻って、メッセージを何か他のもの(「Hello Weld!」など)に変更します。ファイルを保存([Ctrl]-[S]、Macの場合は[⌘]-[S])してからブラウザをリフレッシュします。新しいメッセージが自動的に表示されます。IDEの「保存時にデプロイ」機能によって、保存した変更はすべて自動的にコンパイルされてサーバーに再デプロイメントされます。
+
+
+[start=7]
+. メッセージBeanに戻って、メッセージを何か他のもの(「Hello Weld!」など)に変更します。ファイルを保存([Ctrl]-[S]、Macの場合は[⌘]-[S])してからブラウザをリフレッシュします。新しいメッセージが自動的に表示されます。IDEの「保存時にデプロイ」機能によって、保存した変更はすべて自動的にコンパイルされてサーバーに再デプロイメントされます。
 
 ページの3行目から、クラス名が`exercise1.MessageServerBean`であることが確認できます。このBeanは単なるPOJO (Plain Old Java Object)であることに注目してください。Java EEで開発しているにもかかわらず、トランザクションやインターセプタなどが複数のレイヤーに重なった複雑なクラス階層は必要ありません。
 
@@ -195,8 +227,12 @@ public class MessageServerBean {
     }
 }
 ----
-2. ファイルを保存([Ctrl]-[S]、Macの場合は[⌘]-[S])してからブラウザに移動してリフレッシュします。次のような出力が表示されます。
+
+[start=2]
+. ファイルを保存([Ctrl]-[S]、Macの場合は[⌘]-[S])してからブラウザに移動してリフレッシュします。次のような出力が表示されます。
+
 image::images/browser-output-ejb1.png[title="@Stateless注釈を使用した、MessageServerBeanからEJBへの変換"]
+
 驚くことに、ただ1つの注釈でPOJOが各種機能を備えたEJBに変わりました。変更を保存してからページをリフレッシュすると、変更した内容が表示されました。これを行うために、独特のプロジェクト構成、ローカル・インタフェース、または難解なデプロイメント・ディスクリプタは一切必要ありませんでした。
 
 
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro_pt_BR.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro_pt_BR.asciidoc
index ceb323d..7af2ca8 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro_pt_BR.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro_pt_BR.asciidoc
@@ -32,18 +32,22 @@
 _Contribuição de Andy Gibson_
 
 
-=== Injeção de Dependência e Contextos
+== Injeção de Dependência e Contextos
 
 1. *Introdução ao CDI e ao JSF 2.0*
 * <<creating,Criação de um Projeto Java Web com o Suporte de CDI>>
 * <<named,Acessando Beans a partir da Linguagem de Expressão do JSF>>
 * <<upgrading,Atualizando para um EJB>>
 * <<seealso,Consulte Também>>
-2. link:cdi-inject.html[+Trabalhando com Injeção e Qualificadores no CDI+]
-3. link:cdi-validate.html[+Aplicando Anotações @Alternative Beans e de Ciclo de Vida+]
-4. link:cdi-events.html[+Trabalhando com Eventos no CDI+]
 
-image::images/netbeans-stamp-80-74-73.png[title="O conteúdo desta página se aplica ao NetBeans IDE 7.2, 7.3, 7.4 e 8.0"]
+[start=2]
+. link:cdi-inject.html[+Trabalhando com Injeção e Qualificadores no CDI+]
+
+[start=3]
+. link:cdi-validate.html[+Aplicando Anotações @Alternative Beans e de Ciclo de Vida+]
+
+[start=4]
+. link:cdi-events.html[+Trabalhando com Eventos no CDI+]
 
 A Injeção de Dependência e Contextos (CDI), especificada por link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+], é parte integrante do Java EE 6 e fornece uma arquitetura que permite aos componentes do Java EE, como os servlets, enterprise beans e JavaBeans, existirem dentro do ciclo de vida de uma aplicação com escopos bem definidos. Além disso, os serviços CDI permitem que os componentes do Java EE, como beans de sessão EJB e beans gerenciados do JavaServer Faces (JSF), sejam injetado [...]
 
@@ -64,10 +68,7 @@ Para concluir este tutorial, você precisa dos seguintes recursos e softwares.
 |link:http://glassfish.dev.java.net/[+GlassFish Server+] |Open Source Edition 3.x ou 4.x 
 |===
 
-*Observações:*
-
-* O pacote Java EE do NetBeans inclui também o GlassFish Server Open Source Edition, que é um contêiner compatível com Java EE.
-
+NOTE: O pacote Java EE do NetBeans inclui também o GlassFish Server Open Source Edition, que é um contêiner compatível com Java EE.
 
 
 [[creating]]
@@ -75,13 +76,13 @@ Para concluir este tutorial, você precisa dos seguintes recursos e softwares.
 
 Neste exercício, será criado um projeto Java Web ativado para JSF 2.x com o suporte CDI.
 
-1. Clique no botão Novo Projeto (image::images/new-project-btn.png[]) na barra de ferramentas principal do IDE (Ctrl-Shift-N; ⌘-Shift-N no Mac).
+1. Clique no botão Novo Projeto (image:images/new-project-btn.png[]) na barra de ferramentas principal do IDE (Ctrl-Shift-N; ⌘-Shift-N no Mac).
 2. No assistente Novo projeto, selecione a categoria Java Web e, em seguida, selecione Aplicação da Web. Clique em Próximo.
 3. Digite `cdiDemo` como o nome do projeto e defina a localização do projeto. Clique em Próximo.
 4. Defina o servidor como GlassFish.
 5. Defina a Versão do Java EE como Java EE 6 Web ou Java EE 7 Web.
 
-*Observação.* A versão do Java EE selecionada determina a versão do CDI ativada para sua aplicação e existem algumas diferenças importantes entre CDI 1.0 e CDI 1.1.
+NOTE:  A versão do Java EE selecionada determina a versão do CDI ativada para sua aplicação e existem algumas diferenças importantes entre CDI 1.0 e CDI 1.1.
 
 * Se você especificar o Java EE 6 Web como a versão do Java EE, confirme se a opção 'Ativar Injeção de Dependência e Contextos' está selecionada. A opção "Ativar injeção de dependência e contextos", quando selecionada, gera um arquivo `beans.xml` na pasta `WEB-INF` do projeto quando o modelo do projeto é criado. O arquivo `beans.xml` é utilizado pelo CDI para instruir o servidor compatível com Java EE que o projeto é um módulo que contém beans CDI. O Java EE 6 Web suporta CDI 1.0 e o arq [...]
 * Se você especificar o Java EE 7 Web como a versão do Java EE, o CDI 1.1 será ativado por padrão e o arquivo  ``beans.xml``  não será necessário. No Java EE 7, quando nenhum  ``beans.xml``  estiver presente, o archive implantado será um *archive de bean implícito*. Se você usar o assistente de Novo Arquivo no IDE para gerar manualmente um arquivo `beans.xml` em uma aplicação Java EE 7 Web, por padrão, o archive implantado se tornará um *archive de bean explícito* porque o arquivo `beans [...]
@@ -89,13 +90,23 @@ Neste exercício, será criado um projeto Java Web ativado para JSF 2.x com o su
 Para obter mais detalhes sobre os tipos de archives de CDI, consulte link:http://docs.oracle.com/javaee/7/tutorial/doc/cdi-adv001.htm[+Encapsulando Aplicações CDI+] no Tutorial do Java EE 7.
 
 image::images/new-web-application1.png[title="A opção CDI, quando selecionada, gera um arquivo beans.xml para o projeto"]
-6. Clique em Próximo.
-7. No painel Frameworks, selecione a opção JavaServer Faces.
-8. Clique na guia Configuração e confirme se Facelets está selecionada como a Linguagem de Página Preferencial. Clique em Finalizar.
+
+
+[start=6]
+. Clique em Próximo.
+
+[start=7]
+. No painel Frameworks, selecione a opção JavaServer Faces.
+
+[start=8]
+. Clique na guia Configuração e confirme se Facelets está selecionada como a Linguagem de Página Preferencial. Clique em Finalizar.
 
 Quando você clica em Finalizar, o IDE gera o projeto de aplicação Web e abre a página de boas-vindas do arquivo `index.xhtml` no editor.
 
-9. Na janela Projetos, expanda o nó Bibliotecas > GlassFish Server para ver se a biblioteca `weld-osgi-bundle.jar` foi adicionada automaticamente. O GlassFish Server inclui o Weld, que é uma implementação do JBoss da especificação JSR-299 CDI. 
+
+[start=9]
+. Na janela Projetos, expanda o nó Bibliotecas > GlassFish Server para ver se a biblioteca `weld-osgi-bundle.jar` foi adicionada automaticamente. O GlassFish Server inclui o Weld, que é uma implementação do JBoss da especificação JSR-299 CDI. 
+
 image::images/projects-window1.png[title="Novo projeto contém arquivo beans.xml do CDI e a biblioteca do GlassFish inclui o arquivo Weld JAR"]
 
 Se você especificou Java EE 6 Web como a versão do Java EE quando criou o projeto, observe que a pasta Páginas Web > WEB-INF inclui um arquivo `beans.xml`. Este arquivo está atualmente vazio, mas pode ser utilizado para especificar informações relacionadas ao bean no XML como alternativa a anotações.
@@ -108,11 +119,14 @@ Este exercício demonstra como conectar os beans gerenciados do CDI às páginas
 
 1. Na janela Projetos, clique com o botão direito do mouse no nó Pacotes de Código-Fonte e selecione Nova > Classe Java.
 2. No assistente Nova classe Java, nomeie a classe como *MessageServerBean* e digite *exercício1* como o Pacote. (O novo pacote é criado após a conclusão do assistente.) Clique em Finalizar. 
+
 image::images/new-java-class.png[title="Criar novas classes Java usando o assistente de Classe Java"]
 
 O novo pacote e a nova classe serão gerados e a classe será aberta no editor.
 
-3. Anote a classe com as anotações `@Named` e `@Dependent` e crie um único método para retornar uma string.
+
+[start=3]
+. Anote a classe com as anotações `@Named` e `@Dependent` e crie um único método para retornar uma string.
 
 [source,java]
 ----
@@ -132,12 +146,15 @@ public class MessageServerBean {
 }
 ----
 
-Conforme você digita as anotações `@Dependent` e `@Named`, pressione Ctrl-Espaço para chamar o suporte ao preenchimento de código do editor, bem como a documentação Javadoc. Se aplicar a anotação utilizando os recursos de autocompletar código (ou seja, selecionar a anotação apropriada e pressionar Enter), a instrução `import` será automaticamente adicionada ao arquivo. No pop-up Javadoc você também pode clicar no botão "Mostrar documentação em browser externo da Web" (image::images/exter [...]
+Conforme você digita as anotações `@Dependent` e `@Named`, pressione Ctrl-Espaço para chamar o suporte ao preenchimento de código do editor, bem como a documentação Javadoc. Se aplicar a anotação utilizando os recursos de autocompletar código (ou seja, selecionar a anotação apropriada e pressionar Enter), a instrução `import` será automaticamente adicionada ao arquivo. No pop-up Javadoc você também pode clicar no botão "Mostrar documentação em browser externo da Web" (image:images/extern [...]
 
-*Observação.* A anotação  ``@Dependent``  define o escopo do bean gerenciado. Em um *archive de bean implícito*, um bean gerenciado só pode ser descoberto e gerenciado pelo contêiner quando um escopo é especificado. A aplicação neste tutorial será encapsulada como um archive de bean implícito se você especificou o Java EE 7 Web como a versão do Java EE quando criou o projeto e não criou  ``beans.xml`` . Para obter detalhes sobre como especificar o escopo de beans gerenciados, consulte li [...]
+NOTE:  A anotação  ``@Dependent``  define o escopo do bean gerenciado. Em um *archive de bean implícito*, um bean gerenciado só pode ser descoberto e gerenciado pelo contêiner quando um escopo é especificado. A aplicação neste tutorial será encapsulada como um archive de bean implícito se você especificou o Java EE 7 Web como a versão do Java EE quando criou o projeto e não criou  ``beans.xml`` . Para obter detalhes sobre como especificar o escopo de beans gerenciados, consulte link:http [...]
 
-4. Salve o arquivo (Ctrl-S; ⌘-S no Mac). Com a adição da anotação `@Named`, a classe `MessageServerBean` se torna um _bean gerenciado_, como definido pelo CDI.
-5. Vá para a página Facelets `index.xhtml` (pressione Crtl-Tab) no editor e adicione o seguinte conteúdo às tags `<h:body>`.
+[start=4]
+. Salve o arquivo (Ctrl-S; ⌘-S no Mac). Com a adição da anotação `@Named`, a classe `MessageServerBean` se torna um _bean gerenciado_, como definido pelo CDI.
+
+[start=5]
+. Vá para a página Facelets `index.xhtml` (pressione Crtl-Tab) no editor e adicione o seguinte conteúdo às tags `<h:body>`.
 
 [source,xml]
 ----
@@ -150,11 +167,21 @@ Conforme você digita as anotações `@Dependent` e `@Named`, pressione Ctrl-Esp
     Message Server Bean is: #{messageServerBean}*
 </h:body>
 ----
-[tips]#Você pode pressionar Ctrl-Espaço nas expressões EL para aproveitar as sugestões da funcionalidade autocompletar código. A funcionalidade autocompletar código do editor lista os beans gerenciados e suas propriedades. Como a anotação `@Named` transforma a classe `MessageServerBean` em um bean gerenciado CDI, ela se torna acessível na sintaxe EL, como se fosse um bean gerenciado JSF.# 
+
+TIP: Você pode pressionar Ctrl-Espaço nas expressões EL para aproveitar as sugestões da funcionalidade autocompletar código. A funcionalidade autocompletar código do editor lista os beans gerenciados e suas propriedades. Como a anotação `@Named` transforma a classe `MessageServerBean` em um bean gerenciado CDI, ela se torna acessível na sintaxe EL, como se fosse um bean gerenciado JSF.# 
+
+
 image::images/facelets-el-completion.png[title="Criar novas classes Java usando o assistente de Classe Java"]
-6. Clique no botão Executar Projeto (image::images/run-project-btn.png[]) na barra de ferramentas principal do IDE. O projeto será compilado e implantado no GlassFish e a página de boas-vindas da aplicação (`index.xhtml`) será aberta no browser. Você poderá ver a mensagem "Olá Mundo!" do `MessageServerBean` exibida na página. 
+
+
+[start=6]
+. Clique no botão Executar Projeto (image::images/run-project-btn.png[]) na barra de ferramentas principal do IDE. O projeto será compilado e implantado no GlassFish e a página de boas-vindas da aplicação (`index.xhtml`) será aberta no browser. Você poderá ver a mensagem "Olá Mundo!" do `MessageServerBean` exibida na página. 
+
 image::images/browser-output1.png[title="A página de boas-vindas da aplicação exibe detalhes do MessageServerBean"]
-7. Volte para o bean da mensagem e altere a mensagem para algo diferente (ex., "Olá Weld!"). Salve o arquivo (Ctrl-S;⌘-S no Mac) e, em seguida, atualize o browser. A nova mensagem aparecerá automaticamente. Graças à Implantação do IDE no recurso Salvar, quaisquer alterações salvas resultarão em compilação automática e reimplantação no servidor. 
+
+
+[start=7]
+. Volte para o bean da mensagem e altere a mensagem para algo diferente (ex., "Olá Weld!"). Salve o arquivo (Ctrl-S;⌘-S no Mac) e, em seguida, atualize o browser. A nova mensagem aparecerá automaticamente. Graças à Implantação do IDE no recurso Salvar, quaisquer alterações salvas resultarão em compilação automática e reimplantação no servidor. 
 
 A partir da terceira linha da página você poderá ver que o nome da classe é `exercise1.MessageServerBean`. Observe que o bean é só um POJO (Plain Old Java Object - Objeto Java Antigo Simples). Embora esteja desenvolvendo no Java EE, não há hierarquia de classe complexa envolvida em camadas de transações, interceptores e todas as coisas "pesadas" que se costuma ouvir.
 
@@ -195,8 +222,12 @@ public class MessageServerBean {
     }
 }
 ----
-2. Salve o arquivo (Ctrl-S; ⌘-S no Mac), vá para o browser e atualize-o. Um resultado semelhante ao seguinte será visto: 
+
+[start=2]
+. Salve o arquivo (Ctrl-S; ⌘-S no Mac), vá para o browser e atualize-o. Um resultado semelhante ao seguinte será visto: 
+
 image::images/browser-output-ejb1.png[title="Usar a anotação @stateless transforma o MessageServerBean em um EJB"] 
+
 De uma maneira impressionante, transformamos o POJO em um EJB com todas as funcionalidades com apenas uma anotação. Salvamos as alterações, atualizamos a página, e nossas alterações apareceram. Ao fazer isso, não foi necessário criar nenhuma configuração estranha do projeto, interfaces locais ou descritores de implantação obscuros.
 
 
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro_ru.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro_ru.asciidoc
index 8f36f9f..41bbbcf 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro_ru.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro_ru.asciidoc
@@ -31,19 +31,22 @@
 
 _Предоставлено Энди Гибсоном (Andy Gibson)_
 
-
-=== Внедрение контекстов и зависимостей
+== Внедрение контекстов и зависимостей
 
 1. *Введение в CDI и JSF 2.0*
 * <<creating,Создание веб-проекта Java с поддержкой CDI >>
 * <<named,Доступ к компонентам из языка выражений JSF>>
 * <<upgrading,Переход к EJB>>
 * <<seealso,Дополнительные сведения>>
-2. link:cdi-inject.html[+Работа с внедрением и квалификаторами в CDI+]
-3. link:cdi-validate.html[+Применение аннотации @Alternative и аннотаций жизненного цикла+]
-4. link:cdi-events.html[+Обработка событий в CDI+]
 
-image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0"]
+[start=2]
+. link:cdi-inject.html[+Работа с внедрением и квалификаторами в CDI+]
+
+[start=3]
+. link:cdi-validate.html[+Применение аннотации @Alternative и аннотаций жизненного цикла+]
+
+[start=4]
+. link:cdi-events.html[+Обработка событий в CDI+]
 
 Внедрение контекстов и зависимостей (CDI), определяемое документом link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+], является неотъемлемой частью Java EE 6 и обеспечивает архитектуру, позволяющую компонентам Java EE (например, сервлетам, компонентам EJB и JavaBeans) существовать в жизненном цикле приложения с четко определенными контекстами. Кроме того, службы CDI позволяют компонентам Java EE (например, компонентам сеансов EJB и управляемым компонентам JavaServer Faces) внедряться и  [...]
 
@@ -64,10 +67,7 @@ image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой 
 |link:http://glassfish.dev.java.net/[+Сервер GlassFish+] |Open Source Edition 3.x или 4.x 
 |===
 
-*Примечания*
-
-* В комплект Java для IDE NetBeans также входит компонент GlassFish Server Open Source Edition, являющийся контейнером, совместимым с Java EE.
-
+NOTE: В комплект Java для IDE NetBeans также входит компонент GlassFish Server Open Source Edition, являющийся контейнером, совместимым с Java EE.
 
 
 [[creating]]
@@ -75,13 +75,13 @@ image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой 
 
 В этом упражнении выполняется создание веб-проекта Java с поддержкой JSF 2.x и CDI.
 
-1. Нажмите кнопку 'Создать проект' ( image::images/new-project-btn.png[] ) на главной панели инструментов IDE (Ctrl-Shift-N; ⌘-Shift-N в Mac).
+1. Нажмите кнопку 'Создать проект' ( image:images/new-project-btn.png[] ) на главной панели инструментов IDE (Ctrl-Shift-N; ⌘-Shift-N в Mac).
 2. В мастере создания проекта выберите категорию Java Web и команду "Веб-приложение". Нажмите кнопку "Далее".
 3. Введите `cdiDemo` в качестве имени проекта и укажите местоположение проекта. Нажмите кнопку "Далее".
 4. Выберите GlassFish в качестве сервера.
 5. В качестве версии Java EE выберите Java EE 6 или Java EE 7 Web.
 
-*Примечание.* От выбранной версии Java EE зависит, какая версия CDI будет поддерживаться в приложении. Следует помнить, что между версиями CDI 1.0 и CDI 1.1 существует ряд различий.
+NOTE:  От выбранной версии Java EE зависит, какая версия CDI будет поддерживаться в приложении. Следует помнить, что между версиями CDI 1.0 и CDI 1.1 существует ряд различий.
 
 * Если в качестве версии Java EE выбрана Java EE 6 Web, убедитесь, что выбран параметр "Разрешить внедрение контекстов и зависимостей". При выборе параметра "Включить внедрение контекстов и зависимостей" создается файл `beans.xml` в папке проекта `WEB-INF` при создании шаблона проекта. Файл `beans.xml` используется CDI для указания серверу, совместимому с Java EE, что проект является модулем, содержащим компоненты CDI. Java EE 6 Web поддерживает CDI 1.0, и в создаваемом файле `beans.xml` [...]
 * Если в качестве версии Java EE указана Java EE 7 Web, по умолчанию включается поддержка версии CDI 1.1, и файл  ``beans.xml``  не требуется. В Java EE 7 при отсутствии файла  ``beans.xml``  развертываемый архив считается *архивом неявного компонента bean*. Файл `beans.xml` в приложениях Java EE 7 Web создается с помощью мастера создания файлов IDE. По умолчанию развернутый архив становится *архивом явного компонента bean*, поскольку в файле `beans.xml` указывается версия CDI 1.1 и атри [...]
@@ -89,13 +89,23 @@ image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой 
 Подробные сведения о типах архивов CDI см. в разделе link:http://docs.oracle.com/javaee/7/tutorial/doc/cdi-adv001.htm[+Упаковка приложений CDI+] в руководстве по Java EE 7.
 
 image::images/new-web-application1.png[title="Если выбран параметр CDI, он создает файл beans.xml для проекта"]
-6. Нажмите кнопку "Далее".
-7. На панели "Платформы" выберите параметр JavaServer Faces.
-8. Перейдите на вкладку "Настройка" и убедитесь, что в качестве предпочтительного языка страницы выбран "Facelets". Нажмите кнопку "Завершить".
+
+
+[start=6]
+. Нажмите кнопку "Далее".
+
+[start=7]
+. На панели "Платформы" выберите параметр JavaServer Faces.
+
+[start=8]
+. Перейдите на вкладку "Настройка" и убедитесь, что в качестве предпочтительного языка страницы выбран "Facelets". Нажмите кнопку "Завершить".
 
 При нажатии кнопки "Завершить" в среде IDE создается проект веб-приложения и в редакторе открывается страница приветствия `index.xhtml`.
 
-9. В окне "Проекты" разверните узел "Библиотеки > GlassFish Server". Вы увидите, что в этот узел автоматически добавлена библиотека `weld-osgi-bundle.jar`. В состав сервера GlassFish входит Weld, который является реализацией спецификации CDI JSR-299 от JBoss. 
+
+[start=9]
+. В окне "Проекты" разверните узел "Библиотеки > GlassFish Server". Вы увидите, что в этот узел автоматически добавлена библиотека `weld-osgi-bundle.jar`. В состав сервера GlassFish входит Weld, который является реализацией спецификации CDI JSR-299 от JBoss. 
+
 image::images/projects-window1.png[title="Новый проект содержит файл beans.xml CDI, а библиотека GlassFish включает файл Weld JAR"]
 
 Обратите внимание, что если при создании проекта была выбрана версия Java EE 6 Web, папка "Web Pages > WEB-INF" будет содержать файл `beans.xml`. Файл пуст, но может использоваться как альтернатива аннотациям для указания информации, связанной с компонентами, в формате XML.
@@ -106,13 +116,20 @@ image::images/projects-window1.png[title="Новый проект содержи
 
 В этом упражнении демонстрируется способ связи компонентов, управляемых CDI, со страницами Facelets с помощью синтаксиса EL.
 
-1. В окне "Проекты" щелкните правой кнопкой узел "Исходные файлы" и выберите команду "Создать" > "Класс Java".
-2. В мастере создания класса Java введите имя класса *MessageServerBean* и введите *exercise1* в поле "Пакет". Новый пакет будет создан после завершения работы мастера. Нажмите "Готово". 
+
+[start=1]
+. В окне "Проекты" щелкните правой кнопкой узел "Исходные файлы" и выберите команду "Создать" > "Класс Java".
+
+[start=2]
+. В мастере создания класса Java введите имя класса *MessageServerBean* и введите *exercise1* в поле "Пакет". Новый пакет будет создан после завершения работы мастера. Нажмите "Готово". 
+
 image::images/new-java-class.png[title="Создайте новые классы Java с помощью мастера классов Java"]
 
 Создаются новый пакет и класс, после чего класс открывается в редакторе.
 
-3. Добавьте к классу аннотации `@Named` и `@Dependent` и создайте одиночный метод для возврата строки.
+
+[start=3]
+. Добавьте к классу аннотации `@Named` и `@Dependent` и создайте одиночный метод для возврата строки.
 
 [source,java]
 ----
@@ -132,12 +149,16 @@ public class MessageServerBean {
 }
 ----
 
-Во время добавления аннотаций `@Dependent` и `@Named` нажмите сочетание клавиш Ctrl-Пробел, чтобы включить в редакторе поддержку автозавершения кода и документации Javadoc. Если применить аннотацию с помощью функций автозавершения кода редактора (например, выбрав подходящую аннотацию и нажав ENTER), в файл автоматически добавляется оператор `импорта `. Во всплывающем окне Javadoc также можно нажать кнопку 'Показывать документацию во внешнем веб-браузере' ( image::images/external-web-brow [...]
+Во время добавления аннотаций `@Dependent` и `@Named` нажмите сочетание клавиш Ctrl-Пробел, чтобы включить в редакторе поддержку автозавершения кода и документации Javadoc. Если применить аннотацию с помощью функций автозавершения кода редактора (например, выбрав подходящую аннотацию и нажав ENTER), в файл автоматически добавляется оператор `импорта `. Во всплывающем окне Javadoc также можно нажать кнопку 'Показывать документацию во внешнем веб-браузере' ( image:images/external-web-brows [...]
+
+NOTE:  Аннотация  ``@Dependent``  определяет область действия управляемого компонента bean. В *архиве неявного компонента bean* управляемый компонент bean доступен только для обнаружения и может управляться контейнером, только если указана область действия. В данном упражнении приложение будет упаковано как архив неявного компонента bean (при условии, что в качестве версии проекта выбрана Java EE 7 и не создан файл  ``beans.xml`` ). Подробные сведения об области действия управляемых комп [...]
+
 
-*Примечание.* Аннотация  ``@Dependent``  определяет область действия управляемого компонента bean. В *архиве неявного компонента bean* управляемый компонент bean доступен только для обнаружения и может управляться контейнером, только если указана область действия. В данном упражнении приложение будет упаковано как архив неявного компонента bean (при условии, что в качестве версии проекта выбрана Java EE 7 и не создан файл  ``beans.xml`` ). Подробные сведения об области действия управляем [...]
+[start=4]
+. Сохраните файл (сочетание клавиш Ctrl-S; ⌘-S в Mac). После добавления аннотации `@Named` класс `MessageServerBean` стал _ управляемым компонентом _, в соответствии с определением CDI.
 
-4. Сохраните файл (сочетание клавиш Ctrl-S; ⌘-S в Mac). После добавления аннотации `@Named` класс `MessageServerBean` стал _ управляемым компонентом _, в соответствии с определением CDI.
-5. Переключитесь в редакторе на страницу Facelets `index.xhtml`(нажмите сочетание клавиш CTRL+TAB) и добавьте следующий текст в теги `<h:body>`.
+[start=5]
+. Переключитесь в редакторе на страницу Facelets `index.xhtml`(нажмите сочетание клавиш CTRL+TAB) и добавьте следующий текст в теги `<h:body>`.
 
 [source,xml]
 ----
@@ -150,11 +171,20 @@ public class MessageServerBean {
     Message Server Bean is: #{messageServerBean}*
 </h:body>
 ----
-[tips]#Для отображения подсказок автозавершения кода можно нажать сочетание клавиш CTRL+ПРОБЕЛ внутри выражения EL. Списки автозавершения редактора содержат управляемые компоненты и их свойства. Поскольку аннотация `@Named` преобразует класс `MessageServerBean` в управляемый компонент, он становится доступным в синтаксисе EL, как если бы он был управляемым компонентом JSF.# 
+
+TIP: Для отображения подсказок автозавершения кода можно нажать сочетание клавиш CTRL+ПРОБЕЛ внутри выражения EL. Списки автозавершения редактора содержат управляемые компоненты и их свойства. Поскольку аннотация `@Named` преобразует класс `MessageServerBean` в управляемый компонент, он становится доступным в синтаксисе EL, как если бы он был управляемым компонентом JSF.# 
+
 image::images/facelets-el-completion.png[title="Создайте новые классы Java с помощью мастера классов Java"]
-6. Нажмите кнопку 'Запустить проект' (image::images/run-project-btn.png[]) на главной панели инструментов IDE. Файл компилируется и развертывается в GlassFish, и страница приветствия приложения (`index.xhtml `) отображается в веб-браузере. На странице отображается текст "Hello World!" из `MessageServerBean`. 
+
+
+[start=6]
+. Нажмите кнопку 'Запустить проект' (image:images/run-project-btn.png[]) на главной панели инструментов IDE. Файл компилируется и развертывается в GlassFish, и страница приветствия приложения (`index.xhtml `) отображается в веб-браузере. На странице отображается текст "Hello World!" из `MessageServerBean`. 
+
 image::images/browser-output1.png[title="На странице приветствия приложения отображаются сведения о MessageServerBean"]
-7. Вернитесь к компоненту сообщения и измените сообщение на другое (например, "Hello Weld!"). Сохраните файл (Ctrl-S; ⌘-S в Mac), затем обновите браузер. Автоматически отображается новое сообщение. Это происходит благодаря возможности "Развертывание при сохранении" среды IDE, все сохраненные изменения вызывают компиляцию и повторное развертывание на сервере. 
+
+
+[start=7]
+. Вернитесь к компоненту сообщения и измените сообщение на другое (например, "Hello Weld!"). Сохраните файл (Ctrl-S; ⌘-S в Mac), затем обновите браузер. Автоматически отображается новое сообщение. Это происходит благодаря возможности "Развертывание при сохранении" среды IDE, все сохраненные изменения вызывают компиляцию и повторное развертывание на сервере. 
 
 В третьей строке на этой странице видно, что имя класса – `exercise1.MessageServerBean` Обратите внимание, что компонент представляет собой объект POJO (Plain Old Java Object, простой старый объект Java). Несмотря на использование Java EE, при разработке отсутствует комплексная иерархия классов, связанная уровнями транзакций, перехватами и другие сложные особенности.
 
@@ -195,8 +225,12 @@ public class MessageServerBean {
     }
 }
 ----
-2. Сохраните файл (Ctrl-S; ⌘-S в Mac), затем перейдите в браузер и обновите. Отображается приблизительно следующее: 
+
+[start=2]
+. Сохраните файл (Ctrl-S; ⌘-S в Mac), затем перейдите в браузер и обновите. Отображается приблизительно следующее: 
+
 image::images/browser-output-ejb1.png[title="Использование аннотации @Stateless преобразует MessageServerBean в EJB"] 
+
 Поразительно, POJO превратился в полнофункциональный EJB с помощью всего одной аннотации. После сохранения изменений и обновления страницы были отображены изменения. Для этого не потребовалось проводить комплексную настройку проекта, создавать локальные интерфейсы или сложные дескрипторы развертывания.
 
 
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro_zh_CN.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro_zh_CN.asciidoc
index b682925..67a6c18 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro_zh_CN.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-intro_zh_CN.asciidoc
@@ -31,19 +31,22 @@
 
 _撰稿人:Andy Gibson_
 
-
-=== 上下文和依赖关系注入
+== 上下文和依赖关系注入
 
 1. *CDI 和 JSF 2.0 入门指南*
 * <<creating,创建支持 CDI 的 Java Web 项目>>
 * <<named,从 JSF 的表达式语言访问 Bean>>
 * <<upgrading,升级到 EJB>>
 * <<seealso,另请参见>>
-2. link:cdi-inject.html[+使用 CDI 中的注入和限定符+]
-3. link:cdi-validate.html[+应用 @Alternative Bean 和生命周期标注+]
-4. link:cdi-events.html[+使用 CDI 中的事件+]
 
-image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0"]
+[start=2]
+. link:cdi-inject.html[+使用 CDI 中的注入和限定符+]
+
+[start=3]
+. link:cdi-validate.html[+应用 @Alternative Bean 和生命周期标注+]
+
+[start=4]
+. link:cdi-events.html[+使用 CDI 中的事件+]
 
 link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+] 指定的上下文和依赖关系注入 (CDI) 是 Java EE 6 的一个组成部分,提供了一个体系结构,以允许 Java EE 组件(例如 Servlet、企业 Bean 和 JavaBeans)在具有明确定义范围的应用程序生命周期内存在。此外,CDI 服务允许 Java EE 组件(例如 EJB 会话 Bean 和 JavaServer Faces (JSF) 受管 Bean)注入并通过触发和观察事件以松散耦合的方式进行交互。
 
@@ -64,9 +67,7 @@ NetBeans IDE 为上下文和依赖关系注入提供了内置支持,包括在
 |link:http://glassfish.dev.java.net/[+GlassFish Server+] |Open Source Edition 3.x 或 4.x 
 |===
 
-*注:*
-
-* NetBeans IDE Java 包中还含 GlassFish Server Open Source Edition,后者是与 Java EE 兼容的容器。
+NOTE: NetBeans IDE Java 包中还含 GlassFish Server Open Source Edition,后者是与 Java EE 兼容的容器。
 
 
 
@@ -75,13 +76,13 @@ NetBeans IDE 为上下文和依赖关系注入提供了内置支持,包括在
 
 在本练习中,将创建一个启用了 JSF 2.x 且支持 CDI 的 Java Web 项目。
 
-1. 在 IDE 的主工具栏中单击 "New Project"(新建项目)(image::images/new-project-btn.png[]) 按钮(Ctrl-Shift-N 组合键;在 Mac 上为 ⌘-Shift-N 组合键)。
+1. 在 IDE 的主工具栏中单击 "New Project"(新建项目)(image:images/new-project-btn.png[]) 按钮(Ctrl-Shift-N 组合键;在 Mac 上为 ⌘-Shift-N 组合键)。
 2. 在新建项目向导,选择 "Java Web" 类别,然后选择 "Web Application"(Web 应用程序)。单击 "Next"(下一步)。
 3. 键入 `cdiDemo` 作为项目名称,并设置项目位置。单击 "Next"(下一步)。
 4. 将服务器设置为 GlassFish Server。
 5. 将 "Java EE Version"(Java EE 版本)设置为 "Java EE 6 Web" 或 "Java EE 7 Web"。
 
-*注:*所选的 Java EE 版本确定为应用程序启用的 CDI 版本,并且 CDI 1.0 和 CDI 1.1 之间有一些重要的差异。
+NOTE: 所选的 Java EE 版本确定为应用程序启用的 CDI 版本,并且 CDI 1.0 和 CDI 1.1 之间有一些重要的差异。
 
 * 如果指定 Java EE 6 Web 作为 Java EE 版本,请确认选中了 "Enable Contexts and Dependency Injection"(启用上下文和依赖关系注入)选项。如果选中 "Enable Contexts and Dependency Injection"(启用上下文和依赖关系注入)选项,则创建项目模板时,会在项目的 `WEB-INF` 文件夹中生成 `beans.xml` 文件。CDI 使用此 `beans.xml` 文件指示 Java EE 兼容的服务器,此项目是包含 CDI Bean 的模块。Java EE 6 Web 支持 CDI 1.0,并且生成的 `beans.xml` 文件指定 CDI 1.0 作为版本。
 * 如果指定 Java EE 7 Web 作为 Java EE 版本,则默认情况下会启用 CDI 1.1 并且不需要  ``beans.xml``  文件。在 Java EE 7 中,不存在  ``beans.xml``  时,部署的档案将为*隐式 Bean 档案*。如果您在 IDE 中使用新建文件向导在 Java EE 7 Web 应用程序中手动生成 `beans.xml` 文件,则默认情况下部署的档案将成为*显式 Bean 档案*,因为 `beans.xml` 文件指定 CDI 1.1 作为版本并且还将  ``bean-discovery-mode``  的属性设置为  ``all`` 。
@@ -89,13 +90,23 @@ NetBeans IDE 为上下文和依赖关系注入提供了内置支持,包括在
 有关 CDI 档案类型的详细信息,请参见 Java EE 7 教程中的link:http://docs.oracle.com/javaee/7/tutorial/doc/cdi-adv001.htm[+打包 CDI 应用程序+]。
 
 image::images/new-web-application1.png[title="在选中时为项目生成 beans.xml 文件的 CDI 选项"]
-6. 单击 "Next"(下一步)。
-7. 在 "Frameworks"(框架)面板中,选择 "JavaServer Faces" 选项。
-8. 单击 "Configuration"(配置)标签,并确认将 Facelets 选作 "Preferred Page Language"(首选页面语言)。单击 "Finish"(完成)。
+
+
+[start=6]
+. 单击 "Next"(下一步)。
+
+[start=7]
+. 在 "Frameworks"(框架)面板中,选择 "JavaServer Faces" 选项。
+
+[start=8]
+. 单击 "Configuration"(配置)标签,并确认将 Facelets 选作 "Preferred Page Language"(首选页面语言)。单击 "Finish"(完成)。
 
 单击 "Finish"(完成),此时 IDE 生成 Web 应用程序项目并在编辑器中打开 `index.xhtml` 欢迎页。
 
-9. 在 "Projects"(项目)窗口中,展开 "Libraries"(库)> "GlassFish Server" 节点,可以看到自动添加了 `weld-osgi-bundle.jar` 库。GlassFish Server 包含 Weld,这是 JBoss 的 JSR-299 CDI 规范的实现。 
+
+[start=9]
+. 在 "Projects"(项目)窗口中,展开 "Libraries"(库)> "GlassFish Server" 节点,可以看到自动添加了 `weld-osgi-bundle.jar` 库。GlassFish Server 包含 Weld,这是 JBoss 的 JSR-299 CDI 规范的实现。 
+
 image::images/projects-window1.png[title="新项目包含 CDI 的 beans.xml 文件和 GlassFish 库,该库包括 Weld JAR 文件"]
 
 如果在创建项目时指定 Java EE 6 Web 作为 Java EE 版本,则会注意到 "Web Pages"(Web 页)> "WEB-INF" 文件夹包含 `beans.xml` 文件。此文件当前为空,但可用于将 Bean 相关的 XML 信息指定为标注的备用选项。
@@ -108,11 +119,14 @@ image::images/projects-window1.png[title="新项目包含 CDI 的 beans.xml 文
 
 1. 在 "Projects"(项目)窗口中,右键单击 "Source Packages"(源包)节点并选择 "New"(新建)> "Java Class"(Java 类)。
 2. 在新建 Java 类向导中,将类命名为 *MessageServerBean*,并键入 *exercise1* 作为包。(新包在完成向导时创建。)单击 "Finish"(完成)。
+
 image::images/new-java-class.png[title="使用 Java 类向导创建新 Java 类"]
 
 新类和包生成,并在编辑器中打开此类。
 
-3. 使用 `@Named` 和 `@Dependent` 标注对此类进行标注,并创建一个返回字符串的方法。
+
+[start=3]
+. 使用 `@Named` 和 `@Dependent` 标注对此类进行标注,并创建一个返回字符串的方法。
 
 [source,java]
 ----
@@ -132,12 +146,16 @@ public class MessageServerBean {
 }
 ----
 
-键入 `@Dependent` 和 `@Named` 标注时,按 Ctrl-空格键可调用编辑器的代码完成支持,以及 Javadoc 文档。如果使用编辑器的代码完成功能应用标注(例如,选择相应的标注,然后按 Enter),`import` 语句将自动添加到文件中。在 Javadoc 弹出式窗口中,也可以单击 "Show documentation in external web browser"(在外部 Web 浏览器中显示文档)(image::images/external-web-browser-btn.png[]) 按钮以在单独的窗口中显示 Javadoc 全图。
+键入 `@Dependent` 和 `@Named` 标注时,按 Ctrl-空格键可调用编辑器的代码完成支持,以及 Javadoc 文档。如果使用编辑器的代码完成功能应用标注(例如,选择相应的标注,然后按 Enter),`import` 语句将自动添加到文件中。在 Javadoc 弹出式窗口中,也可以单击 "Show documentation in external web browser"(在外部 Web 浏览器中显示文档)(image:images/external-web-browser-btn.png[]) 按钮以在单独的窗口中显示 Javadoc 全图。
 
-*注:* ``@Dependent``  标注定义受管 Bean 的范围。在 *implicit bean archive*(隐式 Bean 档案)中,仅当指定了范围时,受管 Bean 才可发现并且只能由容器管理。如果在创建项目时指定 Java EE 7 Web 作为 Java EE 版本并且未创建  ``beans.xml`` ,则会将本教程中的应用程序打包为隐式 Bean 档案。有关指定受管 Bean 的范围的详细信息,请参见 Java EE 7 教程中的link:http://docs.oracle.com/javaee/7/tutorial/doc/jsf-configure001.htm[+使用标注配置受管 Bean+]。
+NOTE:  ``@Dependent``  标注定义受管 Bean 的范围。在 *implicit bean archive*(隐式 Bean 档案)中,仅当指定了范围时,受管 Bean 才可发现并且只能由容器管理。如果在创建项目时指定 Java EE 7 Web 作为 Java EE 版本并且未创建  ``beans.xml`` ,则会将本教程中的应用程序打包为隐式 Bean 档案。有关指定受管 Bean 的范围的详细信息,请参见 Java EE 7 教程中的link:http://docs.oracle.com/javaee/7/tutorial/doc/jsf-configure001.htm[+使用标注配置受管 Bean+]。
 
-4. 保存文件(Ctrl-S;在 Mac 上为 ⌘-S)。根据 CDI 的定义,通过添加 `@Named` 标注,`MessageServerBean` 类成为_受管 Bean_。
-5. 在编辑器中切换至 `index.xhtml` Facelets 页(按 Ctrl-Tab 组合键),然后在 `<h:body>` 标记中添加以下内容。
+
+[start=4]
+. 保存文件(Ctrl-S;在 Mac 上为 ⌘-S)。根据 CDI 的定义,通过添加 `@Named` 标注,`MessageServerBean` 类成为_受管 Bean_。
+
+[start=5]
+. 在编辑器中切换至 `index.xhtml` Facelets 页(按 Ctrl-Tab 组合键),然后在 `<h:body>` 标记中添加以下内容。
 
 [source,xml]
 ----
@@ -150,11 +168,20 @@ public class MessageServerBean {
     Message Server Bean is: #{messageServerBean}*
 </h:body>
 ----
-[tips]#可以在 EL 表达式中按 Ctrl-空格键以使用代码完成建议。编辑器的代码完成列出了受管 Bean 及其属性。因为 `@Named` 标注将 `MessageServerBean` 类转换成 CDI 受管 Bean,该 CDI 受管 Bean 与作为 JSF 受管 Bean 时一样,可以在 EL 语法中访问。# 
+
+TIP: 可以在 EL 表达式中按 Ctrl-空格键以使用代码完成建议。编辑器的代码完成列出了受管 Bean 及其属性。因为 `@Named` 标注将 `MessageServerBean` 类转换成 CDI 受管 Bean,该 CDI 受管 Bean 与作为 JSF 受管 Bean 时一样,可以在 EL 语法中访问。# 
+
 image::images/facelets-el-completion.png[title="使用 Java 类向导创建新 Java 类"]
-6. 在 IDE 的主工具栏中单击 "Run Project"(运行项目)(image::images/run-project-btn.png[]) 按钮。编译该项目并将其部署到 GlassFish,并在浏览器中打开应用程序欢迎页 (`index.xhtml`)。您将看到来自该页上显示的 `MessageServerBean` 的 "Hello World!" 消息。 
+
+
+[start=6]
+. 在 IDE 的主工具栏中单击 "Run Project"(运行项目)(image::images/run-project-btn.png[]) 按钮。编译该项目并将其部署到 GlassFish,并在浏览器中打开应用程序欢迎页 (`index.xhtml`)。您将看到来自该页上显示的 `MessageServerBean` 的 "Hello World!" 消息。 
+
 image::images/browser-output1.png[title="应用程序欢迎页显示 MessageServerBean 详细信息"]
-7. 返回至消息 Bean 并将消息更改为其他内容(例如,"Hello Weld!")。保存文件(Ctrl-S 组合键;在 Mac 上为 ⌘-S 组合键),然后刷新浏览器。将自动显示新消息。因为有了 IDE 的“在保存时部署”功能,保存的任何更改都会自动进行编辑并重新部署到服务器。
+
+
+[start=7]
+. 返回至消息 Bean 并将消息更改为其他内容(例如,"Hello Weld!")。保存文件(Ctrl-S 组合键;在 Mac 上为 ⌘-S 组合键),然后刷新浏览器。将自动显示新消息。因为有了 IDE 的“在保存时部署”功能,保存的任何更改都会自动进行编辑并重新部署到服务器。
 
 从此页第三行,您可以看到类名为 `exercise1.MessageServerBean`。请注意,Bean 只是一个 POJO(Plain Old Java Object,简单传统 Java 对象)。即使您现在使用 Java EE 进行开发,事务、拦截器以及重复出现的所有“重型”功能等层中也不会包含复杂的类分层结构。
 
@@ -195,8 +222,12 @@ public class MessageServerBean {
     }
 }
 ----
-2. 保存文件(Ctrl-S 组合键;在 Mac 上为 ⌘-S 组合键),然后转到浏览器并刷新。将看到类似于以下内容的输出: 
+
+[start=2]
+. 保存文件(Ctrl-S 组合键;在 Mac 上为 ⌘-S 组合键),然后转到浏览器并刷新。将看到类似于以下内容的输出: 
+
 image::images/browser-output-ejb1.png[title="使用 @Stateless 标注将 MessageServerBean 转换为 EJB"] 
+
 太奇妙了,只需一个标注即可将 POJO 转换为功能完善的 EJB。保存更改并刷新页面以后,即可显示更改。通过执行此操作,不需要创建任何古怪的项目配置、本地接口或深奥的部署描述符。
 
 
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate.asciidoc
index c706f61..267073a 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate.asciidoc
@@ -31,8 +31,7 @@
 
 _Contributed by Andy Gibson_
 
-
-=== Contexts and Dependency Injection
+== Contexts and Dependency Injection
 
 1. link:cdi-intro.html[+Getting Started with CDI and JSF 2.0+]
 2. link:cdi-inject.html[+Working with Injection and Qualifiers in CDI+]
@@ -40,9 +39,9 @@ _Contributed by Andy Gibson_
 * <<alternative,Handling Multiple Deployments>>
 * <<lifecycle,Applying Lifecycle Annotations to Managed Beans>>
 * <<seealso,See Also>>
-4. link:cdi-events.html[+Working with Events in CDI+]
 
-image::images/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3, 7.4 and 8.0"]
+[start=4]
+. link:cdi-events.html[+Working with Events in CDI+]
 
 Contexts and Dependency Injection (CDI), specified by link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+], is an integral part of Java EE 6 and provides an architecture that allows Java EE components such as servlets, enterprise beans, and JavaBeans to exist within the lifecycle of an application with well-defined scopes. In addition, CDI services allow Java EE components such as EJB session beans and JavaServer Faces (JSF) managed beans to be injected and to interact in a loosely couple [...]
 
@@ -65,10 +64,11 @@ To complete this tutorial, you need the following software and resources.
 |link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo2.zip[+cdiDemo2.zip+] |n/a 
 |===
 
-*Notes:*
-
+[NOTE]
+====
 * The NetBeans IDE Java bundle also includes the GlassFish Server Open Source Edition which is a Java EE-compliant container.
 * The solution sample project for this tutorial can be downloaded: link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo3.zip[+cdiDemo3.zip+]
+====
 
 
 
@@ -86,11 +86,19 @@ image::images/cdi-diagram-alternative.png[title="Use CDI injection to loosely co
 3. Select the Run category and confirm that your GlassFish instance is selected in the Server dropdown list.
 4. Create an `ItemValidator` interface. 
 
-Click the New File ( image::images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
-5. Select the Java category, then select Java Interface. Click Next.
-6. Type in *ItemValidator* as the class name, then enter *exercise3* as the package.
-7. Click Finish. The new interface is generated and opens in the editor.
-8. Add a method called `isValid()` that takes an `Item` object and returns a `boolean` value.
+Click the New File ( image:images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
+
+[start=5]
+. Select the Java category, then select Java Interface. Click Next.
+
+[start=6]
+. Type in *ItemValidator* as the class name, then enter *exercise3* as the package.
+
+[start=7]
+. Click Finish. The new interface is generated and opens in the editor.
+
+[start=8]
+. Add a method called `isValid()` that takes an `Item` object and returns a `boolean` value.
 
 [source,java]
 ----
@@ -100,7 +108,9 @@ public interface ItemValidator {
 }
 ----
 (Use the editor's hint to add the import statement for `exercise2.Item`.)
-9. Expand the `ItemProcessor` class to incorporate the new feature. Open `ItemProcessor` in the editor and make the following changes.
+
+[start=9]
+. Expand the `ItemProcessor` class to incorporate the new feature. Open `ItemProcessor` in the editor and make the following changes.
 
 [source,java]
 ----
@@ -126,11 +136,15 @@ public class ItemProcessor {
 
 Use the editor's hint to add the import statement for `exercise3.ItemValidator`.
 
-10. Create an implementation of `ItemValidator` named `DefaultItemValidator` that simply tests the limit against the value.
+
+[start=10]
+. Create an implementation of `ItemValidator` named `DefaultItemValidator` that simply tests the limit against the value.
 
 In the Projects window, right-click the `exercise3` package and choose New > Java Class. Name the class *DefaultItemValidator* and click Finish.
 
-11. Have `DefaultItemValidator` implement `ItemValidator` and override the `isValid()` method as follows.
+
+[start=11]
+. Have `DefaultItemValidator` implement `ItemValidator` and override the `isValid()` method as follows.
 
 [source,java]
 ----
@@ -146,8 +160,12 @@ public class DefaultItemValidator *implements ItemValidator* {
 
 (Use the editor's hint to add the import statement for `exercise2.Item`.)
 
-12. Click the Run Project ( image::images/run-project-btn.png[] ) button in the IDE's main toolbar. The project is compiled and deployed to GlassFish, and the application's welcome page (`process.xhtml`) opens in the browser.
-13. Click the '`Execute`' button that displays on the page. Switch back to the IDE and examine the GlassFish server log. The server log displays in the Output window (Ctrl-4; ⌘-4 on Mac) under the GlassFish tab. You can see that items are being validated, and the only valid item listed is the case where the value is less than the limit.
+
+[start=12]
+. Click the Run Project ( image:images/run-project-btn.png[] ) button in the IDE's main toolbar. The project is compiled and deployed to GlassFish, and the application's welcome page (`process.xhtml`) opens in the browser.
+
+[start=13]
+. Click the '`Execute`' button that displays on the page. Switch back to the IDE and examine the GlassFish server log. The server log displays in the Output window (Ctrl-4; ⌘-4 on Mac) under the GlassFish tab. You can see that items are being validated, and the only valid item listed is the case where the value is less than the limit.
 
 [source,java]
 ----
@@ -157,12 +175,18 @@ INFO: Item = exercise2.Item@63124f52 [Value=4, Limit=37] valid = true
 INFO: Item = exercise2.Item@4715c34e [Value=24, Limit=19] valid = false
 INFO: Item = exercise2.Item@65c95a57 [Value=89, Limit=32] valid = false
 ----
+
 image::images/output-window.png[title="View the server log in the Output window"]
-14. Now consider a scenario where you have to deploy to a different site that is more relaxed and considers an item invalid only if the value is more than twice the limit. You may want to have another bean that implements the `ItemValidator` interface for that logic.
+
+
+[start=14]
+. Now consider a scenario where you have to deploy to a different site that is more relaxed and considers an item invalid only if the value is more than twice the limit. You may want to have another bean that implements the `ItemValidator` interface for that logic.
 
 Create a new implementation of `ItemValidator` named `RelaxedItemValidator`. In the Projects window, right-click the `exercise3` package and choose New > Java Class. Name the class *RelaxedItemValidator* and click Finish.
 
-15. Have `RelaxedItemValidator` implement `ItemValidator` and override the `isValid()` method as follows.
+
+[start=15]
+. Have `RelaxedItemValidator` implement `ItemValidator` and override the `isValid()` method as follows.
 
 [source,java]
 ----
@@ -178,8 +202,12 @@ public class RelaxedItemValidator *implements ItemValidator* {
 
 (Use the editor's hint to add the import statement for `exercise2.Item`.)
 
-16. Click the Run Project ( image::images/run-project-btn.png[] ) button to run the project. Note that the project now fails to deploy.
-17. Examine the server log in the Output window (Ctrl-4; ⌘-4 on Mac). You see an error message reporting an 'ambiguous dependency' problem. This occurs because you now have two classes implementing the same interface.
+
+[start=16]
+. Click the Run Project ( image:images/run-project-btn.png[] ) button to run the project. Note that the project now fails to deploy.
+
+[start=17]
+. Examine the server log in the Output window (Ctrl-4; ⌘-4 on Mac). You see an error message reporting an 'ambiguous dependency' problem. This occurs because you now have two classes implementing the same interface.
 
 [source,java]
 ----
@@ -194,7 +222,9 @@ Weld, the implementation for CDI, cannot determine whether to use `RelaxedItemVa
 
 As mentioned, the only difference is based on deployment. For most deployments, you want to use the default validator, but for one deployment you want to use the 'relaxed' implementation. CDI offers the use of the `@Alternative` annotation which lets you package multiple beans that match an injection point without ambiguity errors, and the bean to use is defined in the `beans.xml`. This allows you to deploy both implementations in the same module with the only difference being the `beans [...]
 
-18. Add the `@Alternative` annotation and corresponding import statement to `RelaxedItemValidator` and `DefaultItemValidator`. 
+
+[start=18]
+. Add the `@Alternative` annotation and corresponding import statement to `RelaxedItemValidator` and `DefaultItemValidator`. 
 
 Open `RelaxedItemValidator` in the editor and make the following change.
 
@@ -237,8 +267,15 @@ public class DefaultItemValidator implements ItemValidator {
 
 If you deployed the application now you would get an 'unsatisfied dependency' error since you defined the two matching beans as alternative but you did not enable either of them in the `beans.xml` file.
 
-19. Use the IDE's Go to File dialog to quickly open the `beans.xml` file. Choose Navigate > Go to File from the IDE's main menu (Alt-Shift-O; Ctrl-Shift-O on Mac), then type '`beans`'. Click OK. image::images/go-to-file.png[title="Use the Go to File dialog to quickly locate a project file"]
-20. Make the following change to the `beans.xml` file.
+
+[start=19]
+. Use the IDE's Go to File dialog to quickly open the `beans.xml` file. Choose Navigate > Go to File from the IDE's main menu (Alt-Shift-O; Ctrl-Shift-O on Mac), then type '`beans`'. Click OK. 
+
+image::images/go-to-file.png[title="Use the Go to File dialog to quickly locate a project file"]
+
+
+[start=20]
+. Make the following change to the `beans.xml` file.
 
 [source,xml]
 ----
@@ -256,7 +293,9 @@ If you deployed the application now you would get an 'unsatisfied dependency' er
 
 This tells CDI to use the `RelaxedItemValidator` for this deployment. You can think of the `@Alternative` annotation as effectively disabling the bean, making it unavailable for injection, but allowing the implementation to be packaged with the other beans. Adding it as an alternative in the `beans.xml` file effectively re-enables the bean, making it available for injection. By moving this type of metadata to the `beans.xml` file, we can bundle different versions of the file with differe [...]
 
-21. Click the Run Project ( image::images/run-project-btn.png[] ) button to run the project (Alternatively, press F6; fn-F6 on Mac). In the browser, click the '`Execute`' button that displays on the page. Switch back to the IDE and examine the GlassFish server log displayed in the Output window (Ctrl-4; ⌘-4 on Mac).
+
+[start=21]
+. Click the Run Project ( image:images/run-project-btn.png[] ) button to run the project (Alternatively, press F6; fn-F6 on Mac). In the browser, click the '`Execute`' button that displays on the page. Switch back to the IDE and examine the GlassFish server log displayed in the Output window (Ctrl-4; ⌘-4 on Mac).
 
 [source,java]
 ----
@@ -285,7 +324,9 @@ Continuing with the example, create an `ItemErrorHandler` interface to handle in
 
 The new interface is generated and opens in the editor.
 
-3. Add a method called `handleItem()` that takes an `Item` object as an argument.
+
+[start=3]
+. Add a method called `handleItem()` that takes an `Item` object as an argument.
 
 [source,java]
 ----
@@ -297,11 +338,15 @@ public interface ItemErrorHandler {
 
 (Use the editor's hint to add the import statement for `exercise2.Item`.)
 
-4. Begin by implementing the `ItemErrorHandler` with a bogus handler named `FileErrorReporter` that saves item details to a file.
+
+[start=4]
+. Begin by implementing the `ItemErrorHandler` with a bogus handler named `FileErrorReporter` that saves item details to a file.
 
 In the Projects window, right-click the `exercise3` package and choose New > Java Class. Name the class *FileErrorReporter* and click Finish.
 
-5. Have `FileErrorReporter` implement `ItemErrorHandler` and override the `handleItem()` method as follows.
+
+[start=5]
+. Have `FileErrorReporter` implement `ItemErrorHandler` and override the `handleItem()` method as follows.
 
 [source,java]
 ----
@@ -319,7 +364,9 @@ public class FileErrorReporter *implements ItemErrorHandler* {
 
 You want to open the file before you start handling items, leave it open for the duration of the process as content is added to the file, and then close the file when we the processing is done. You could manually add `initProcess()` and `finishProcess()` methods to the error reporter bean, but then you could not code to the interface since the caller would need to know about those class specific methods. You could add those same methods to the `ItemErrorReporter` interface but then you w [...]
 
-6. Add the following `init()` and `release()` methods with corresponding `@PostConstruct` and `@PreDestroy` annotations.
+
+[start=6]
+. Add the following `init()` and `release()` methods with corresponding `@PostConstruct` and `@PreDestroy` annotations.
 
 [source,java]
 ----
@@ -342,8 +389,12 @@ public class FileErrorReporter implements ItemErrorHandler {
     }
 }
 ----
-7. Fix imports. Either right-click in the editor and choose Fix Imports, or press Ctrl-Shift-I (⌘-Shift-I on Mac). Import statements for `javax.annotation.PostConstruct` and `javax.annotation.PreDestroy` are added to the top of the file.
-8. Finally, add the new `ItemErrorHandler` bean to the `ItemProcessor`.
+
+[start=7]
+. Fix imports. Either right-click in the editor and choose Fix Imports, or press Ctrl-Shift-I (⌘-Shift-I on Mac). Import statements for `javax.annotation.PostConstruct` and `javax.annotation.PreDestroy` are added to the top of the file.
+
+[start=8]
+. Finally, add the new `ItemErrorHandler` bean to the `ItemProcessor`.
 
 [source,java]
 ----
@@ -374,7 +425,9 @@ public class ItemProcessor {
 
 (Use the editor's hint to add the import statement for `exercise3.ItemErrorHandler`.)
 
-9. Click the Run Project ( image::images/run-project-btn.png[] ) button to run the project (Alternatively, press F6; fn-F6 on Mac). In the browser, click the '`Execute`' button that displays on the page. Switch back to the IDE and examine the GlassFish server log displayed in the Output window (Ctrl-4; ⌘-4 on Mac).
+
+[start=9]
+. Click the Run Project ( image:images/run-project-btn.png[] ) button to run the project (Alternatively, press F6; fn-F6 on Mac). In the browser, click the '`Execute`' button that displays on the page. Switch back to the IDE and examine the GlassFish server log displayed in the Output window (Ctrl-4; ⌘-4 on Mac).
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate_ja.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate_ja.asciidoc
index 14ec719..532d059 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate_ja.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate_ja.asciidoc
@@ -32,7 +32,7 @@
 _執筆: Andy Gibson_
 
 
-=== コンテキストと依存性の注入
+== コンテキストと依存性の注入
 
 1. link:cdi-intro.html[+CDIおよびJSF 2.0の開始+]
 2. link:cdi-inject.html[+CDIの注入および修飾子の操作+]
@@ -40,9 +40,9 @@ _執筆: Andy Gibson_
 * <<alternative,複数デプロイメントの処理>>
 * <<lifecycle,管理対象Beanへのライフサイクル注釈の適用>>
 * <<seealso,関連項目>>
-4. link:cdi-events.html[+CDIのイベントの操作+]
 
-image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます"]
+[start=4]
+. link:cdi-events.html[+CDIのイベントの操作+]
 
 link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+]で指定されているコンテキストと依存性の注入(CDI: Contexts and Dependency Injection)はJava EE 6の不可欠な部分であり、サーブレット、エンタープライズBean、JavaBeansなどのJava EEコンポーネントが、アプリケーションのライフサイクル内で明確なスコープを持って存在できるようにするためのアーキテクチャを提供します。また、CDIサービスによって、EJBセッションBeanやJSF (JavaServer Faces)管理対象BeanなどのJava EEコンポーネントが注入可能になり、イベントの起動や監視による疎結合方式の対話が可能になります。
 
@@ -65,11 +65,11 @@ NetBeans IDEは、コンテキストと依存性の注入のサポートを組
 |link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo2.zip[+cdiDemo2.zip+] |n/a 
 |===
 
-*注意: *
-
+[NOTE]
+====
 * NetBeans IDEのJavaバンドル版には、Java EE準拠のコンテナであるGlassFish Server Open Source Editionも含まれています。
 * このチュートリアルのサンプル・ソリューション・プロジェクトをダウンロードできます: link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo3.zip[+cdiDemo3.zip+]
-
+====
 
 
 [[alternative]]
@@ -86,11 +86,19 @@ image::images/cdi-diagram-alternative.png[title="アプリケーションの疎
 3. 「実行」カテゴリを選択し、「サーバー」ドロップダウン・リストでGlassFishインスタンスが選択されていることを確認します。
 4. `ItemValidator`インタフェースを作成します。
 
-「新規ファイル」(image::images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
-5. 「Java」カテゴリから「Javaインタフェース」を選択します。「次」をクリックします。
-6. クラス名として「*ItemValidator*」、パッケージとして「*exercise3*」と入力します。
-7. 「終了」をクリックします。新しいインタフェースが生成され、エディタで開かれます。
-8. `Item`オブジェクトを取って`boolean`値を返す`isValid()`という名前のメソッドを追加します。
+「新規ファイル」(image:images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
+
+[start=5]
+. 「Java」カテゴリから「Javaインタフェース」を選択します。「次」をクリックします。
+
+[start=6]
+. クラス名として「*ItemValidator*」、パッケージとして「*exercise3*」と入力します。
+
+[start=7]
+. 「終了」をクリックします。新しいインタフェースが生成され、エディタで開かれます。
+
+[start=8]
+. `Item`オブジェクトを取って`boolean`値を返す`isValid()`という名前のメソッドを追加します。
 
 [source,java]
 ----
@@ -100,7 +108,9 @@ public interface ItemValidator {
 }
 ----
 (エディタのヒントを使用して`exercise2.Item`のインポート文を追加します。)
-9. `ItemProcessor`クラスを拡張して新しい機能を組み込みます。エディタで`ItemProcessor`を開いて、次のように変更します。
+
+[start=9]
+. `ItemProcessor`クラスを拡張して新しい機能を組み込みます。エディタで`ItemProcessor`を開いて、次のように変更します。
 
 [source,java]
 ----
@@ -126,11 +136,15 @@ public class ItemProcessor {
 
 エディタのヒントを使用して`exercise3.ItemValidator`のインポート文を追加します。
 
-10. 値の制限値をテストするのみの、`DefaultItemValidator`という名前の`ItemValidator`の実装を作成します。
+
+[start=10]
+. 値の制限値をテストするのみの、`DefaultItemValidator`という名前の`ItemValidator`の実装を作成します。
 
 「プロジェクト」ウィンドウで「`exercise3`」パッケージを右クリックし、「新規」>「Javaクラス」を選択します。クラスに「*DefaultItemValidator*」という名前を付け、「終了」をクリックします。
 
-11. 次のようにして、`DefaultItemValidator`で`ItemValidator`を実装し、`isValid()`メソッドをオーバーライドします。
+
+[start=11]
+. 次のようにして、`DefaultItemValidator`で`ItemValidator`を実装し、`isValid()`メソッドをオーバーライドします。
 
 [source,java]
 ----
@@ -146,8 +160,12 @@ public class DefaultItemValidator *implements ItemValidator* {
 
 (エディタのヒントを使用して`exercise2.Item`のインポート文を追加します。)
 
-12. IDEのメイン・ツールバーにある「プロジェクトの実行」(image::images/run-project-btn.png[])ボタンをクリックします。プロジェクトがコンパイルされてGlassFishにデプロイされ、アプリケーションの開始ページ(`process.xhtml`)がブラウザで開きます。
-13. ページに表示されている「`Execute`」ボタンをクリックします。IDEに戻ってGlassFishのサーバー・ログを調べます。サーバー・ログは、「出力」ウィンドウ([Ctrl]-[4]、Macの場合は[⌘]-[4])の「GlassFish」タブの下に表示されます。項目が検証されていることが表示されます。制限値より小さい、有効な項目のみが一覧表示されます。
+
+[start=12]
+. IDEのメイン・ツールバーにある「プロジェクトの実行」(image:images/run-project-btn.png[])ボタンをクリックします。プロジェクトがコンパイルされてGlassFishにデプロイされ、アプリケーションの開始ページ(`process.xhtml`)がブラウザで開きます。
+
+[start=13]
+. ページに表示されている「`Execute`」ボタンをクリックします。IDEに戻ってGlassFishのサーバー・ログを調べます。サーバー・ログは、「出力」ウィンドウ([Ctrl]-[4]、Macの場合は[⌘]-[4])の「GlassFish」タブの下に表示されます。項目が検証されていることが表示されます。制限値より小さい、有効な項目のみが一覧表示されます。
 
 [source,java]
 ----
@@ -157,12 +175,18 @@ INFO: Item = exercise2.Item@63124f52 [Value=4, Limit=37] valid = true
 INFO: Item = exercise2.Item@4715c34e [Value=24, Limit=19] valid = false
 INFO: Item = exercise2.Item@65c95a57 [Value=89, Limit=32] valid = false
 ----
+
 image::images/output-window.png[title="「出力」ウィンドウでのサーバー・ログの表示"]
-14. ここで、条件を緩和して、値が制限の2倍を超える場合にのみ項目を無効と見なす別のサイトへデプロイするシナリオを考えます。このロジックのために、`ItemValidator`インタフェースを実装する別のBeanを用意します。
+
+
+[start=14]
+. ここで、条件を緩和して、値が制限の2倍を超える場合にのみ項目を無効と見なす別のサイトへデプロイするシナリオを考えます。このロジックのために、`ItemValidator`インタフェースを実装する別のBeanを用意します。
 
 `RelaxedItemValidator`という名前の`ItemValidator`の新しい実装を作成します。「プロジェクト」ウィンドウで「`exercise3`」パッケージを右クリックし、「新規」>「Javaクラス」を選択します。クラスに「*RelaxedItemValidator*」という名前を付け、「終了」をクリックします。
 
-15. 次のようにして、`RelaxedItemValidator`で`ItemValidator`を実装し、`isValid()`メソッドをオーバーライドします。
+
+[start=15]
+. 次のようにして、`RelaxedItemValidator`で`ItemValidator`を実装し、`isValid()`メソッドをオーバーライドします。
 
 [source,java]
 ----
@@ -178,8 +202,12 @@ public class RelaxedItemValidator *implements ItemValidator* {
 
 (エディタのヒントを使用して`exercise2.Item`のインポート文を追加します。)
 
-16. 「プロジェクトの実行」(image::images/run-project-btn.png[])ボタンをクリックして、プロジェクトを実行します。今度はプロジェクトのデプロイに失敗します。
-17. 出力ウィンドウ([Ctrl]-[4]、Macの場合は[⌘]-[4])でサーバー・ログを調べます。「あいまいな依存性」の問題を報告するエラー・メッセージが確認できます。これは、現時点で同じインタフェースを実装しているクラスが2つあるために起こります。
+
+[start=16]
+. 「プロジェクトの実行」(image:images/run-project-btn.png[])ボタンをクリックして、プロジェクトを実行します。今度はプロジェクトのデプロイに失敗します。
+
+[start=17]
+. 出力ウィンドウ([Ctrl]-[4]、Macの場合は[⌘]-[4])でサーバー・ログを調べます。「あいまいな依存性」の問題を報告するエラー・メッセージが確認できます。これは、現時点で同じインタフェースを実装しているクラスが2つあるために起こります。
 
 [source,java]
 ----
@@ -194,7 +222,9 @@ CDIの実装であるWeldは、特定の注入ポイントに`RelaxedItemValidat
 
 前述のように、唯一の違いはデプロイメントに基づいています。ほとんどのデプロイメントにはデフォルトのバリデータを使用しますが、1つのデプロイメントには「緩和された」実装を使用するようにします。CDIでは、注入ポイントに一致するBeanが複数存在する場合でも、あいまい性のエラーを発生させずにパッケージ化できる`@Alternative`注釈を使用できます。使用するBeanは、`beans.xml`に定義します。これにより、`beans.xml`の定義のみが異なる両方の実装を同じモジュール内にデプロイできます(この定義はデプロイメントごとに変更できます)。
 
-18. `@Alternative`注釈および対応するインポート文を、`RelaxedItemValidator`および`DefaultItemValidator`に追加します。
+
+[start=18]
+. `@Alternative`注釈および対応するインポート文を、`RelaxedItemValidator`および`DefaultItemValidator`に追加します。
 
 エディタで`RelaxedItemValidator`を開いて、次のように変更します。
 
@@ -237,8 +267,15 @@ public class DefaultItemValidator implements ItemValidator {
 
 ここでアプリケーションをデプロイすると「満たされない依存性」というエラーが出ますが、これは、一致するBeanを選択肢として2つ定義したけれども、`beans.xml`ファイルでどちらも有効にしていないためです。
 
-19. IDEの「ファイルに移動」ダイアログを使用すると、すばやく`beans.xml`を開けます。IDEのメイン・メニューで「ナビゲート」>「ファイルに移動」([Alt]-[Shift]-[O]、Macの場合は[Ctrl]-[Shift]-[O])を選択してから「`beans`」と入力します。「OK」をクリックします。 image::images/go-to-file.png[title="「ファイルに移動」ダイアログを使用した、プロジェクト・ファイルの速やかな検索"]
-20. `beans.xml`ファイルに以下の変更を加えます。
+
+[start=19]
+. IDEの「ファイルに移動」ダイアログを使用すると、すばやく`beans.xml`を開けます。IDEのメイン・メニューで「ナビゲート」>「ファイルに移動」([Alt]-[Shift]-[O]、Macの場合は[Ctrl]-[Shift]-[O])を選択してから「`beans`」と入力します。「OK」をクリックします。 
+
+image::images/go-to-file.png[title="「ファイルに移動」ダイアログを使用した、プロジェクト・ファイルの速やかな検索"]
+
+
+[start=20]
+. `beans.xml`ファイルに以下の変更を加えます。
 
 [source,xml]
 ----
@@ -256,7 +293,9 @@ public class DefaultItemValidator implements ItemValidator {
 
 これによって、このデプロイメントでは`RelaxedItemValidator`を使用することがCDIに伝えられます。`@Alternative`注釈は、Beanを事実上無効にして注釈に使用できないようにする一方で、他のBeanとともに実装をパッケージ化できるようにするものと考えることができます。これを`beans.xml`ファイルに代替として追加すると、事実上、Beanを再度有効にして、注入に使用できるようにします。このタイプのメタデータを`beans.xml`ファイルへ移動することで、様々なバージョンのファイルを様々なデプロイメントでバンドルできます。
 
-21. 「プロジェクトの実行」(image::images/run-project-btn.png[])ボタンをクリックして(または[F6]、Macの場合は[fn]-[F6]を押して)、プロジェクトを実行します。ブラウザで、ページに表示されている「`Execute`」ボタンをクリックします。IDEに戻り、出力ウィンドウ([Ctrl]-[4]、Macの場合は[⌘]-[4])に表示されたGlassFishのサーバー・ログを調べます。
+
+[start=21]
+. 「プロジェクトの実行」(image:images/run-project-btn.png[])ボタンをクリックして(または[F6]、Macの場合は[fn]-[F6]を押して)、プロジェクトを実行します。ブラウザで、ページに表示されている「`Execute`」ボタンをクリックします。IDEに戻り、出力ウィンドウ([Ctrl]-[4]、Macの場合は[⌘]-[4])に表示されたGlassFishのサーバー・ログを調べます。
 
 [source,java]
 ----
@@ -285,7 +324,9 @@ image::images/cdi-diagram-lifecycle.png[title="アプリケーションの疎結
 
 新しいインタフェースが生成され、エディタで開かれます。
 
-3. 引数として`Item`オブジェクトを取る`handleItem()`という名前のメソッドを追加します。
+
+[start=3]
+. 引数として`Item`オブジェクトを取る`handleItem()`という名前のメソッドを追加します。
 
 [source,java]
 ----
@@ -297,11 +338,15 @@ public interface ItemErrorHandler {
 
 (エディタのヒントを使用して`exercise2.Item`のインポート文を追加します。)
 
-4. まず、項目の詳細をファイルに保存する`FileErrorReporter`という名前の偽のハンドラを持つ`ItemErrorHandler`を実装します。
+
+[start=4]
+. まず、項目の詳細をファイルに保存する`FileErrorReporter`という名前の偽のハンドラを持つ`ItemErrorHandler`を実装します。
 
 「プロジェクト」ウィンドウで「`exercise3`」パッケージを右クリックし、「新規」>「Javaクラス」を選択します。クラスに「*FileErrorReporter*」という名前を付け、「終了」をクリックします。
 
-5. 次のようにして、`FileErrorReporter`で`ItemErrorHandler`を実装し、`handleItem()`メソッドをオーバーライドします。
+
+[start=5]
+. 次のようにして、`FileErrorReporter`で`ItemErrorHandler`を実装し、`handleItem()`メソッドをオーバーライドします。
 
 [source,java]
 ----
@@ -319,7 +364,9 @@ public class FileErrorReporter *implements ItemErrorHandler* {
 
 項目の処理を始める前にファイルを開き、処理中は開いたままにしてファイルに内容を追加し、処理が終了したらファイルを閉じるようにします。`initProcess()`および`finishProcess()`メソッドをエラー・レポータBeanに手動で追加することもできますが、そうするとコール元がそれらのクラス固有のメソッドについて知る必要があるため、インタフェースへのコードを作成できなくなります。それらの同じメソッドを`ItemErrorReporter`インタフェースに追加することもできますが、そうするとこのインタフェースを実装するすべてのクラスに、これらのメソッドを不必要に実装する必要があります。かわりに、管理対象Beanの仕様(link:http://jcp.org/en/jsr/detail?id=316[+JSR 316: Java Platform, Enterprise Edition 6の仕様+]に含まれる)からいくつかのライフサイクル注釈�
 �使用して、Beanライフサイクルの特定の時点でBean上でメソッドをコールできます。Beanが構築され、Beanが持つす [...]
 
-6. 次のように、対応する`@PostConstruct`および`@PreDestroy`注釈を持つ`init()`および`release()`メソッドを追加します。
+
+[start=6]
+. 次のように、対応する`@PostConstruct`および`@PreDestroy`注釈を持つ`init()`および`release()`メソッドを追加します。
 
 [source,java]
 ----
@@ -342,8 +389,12 @@ public class FileErrorReporter implements ItemErrorHandler {
     }
 }
 ----
-7. インポートを修正します。エディタを右クリックして「インポートを修正」を選択するか、[Ctrl]-[Shift]-[I] (Macの場合は[⌘]-[Shift]-[I])を押します。`javax.annotation.PostConstruct`および`javax.annotation.PreDestroy`のインポート文がファイルの最初に追加されます。
-8. 最後に、新しい`ItemErrorHandler` Beanを`ItemProcessor`に追加します。
+
+[start=7]
+. インポートを修正します。エディタを右クリックして「インポートを修正」を選択するか、[Ctrl]-[Shift]-[I] (Macの場合は[⌘]-[Shift]-[I])を押します。`javax.annotation.PostConstruct`および`javax.annotation.PreDestroy`のインポート文がファイルの最初に追加されます。
+
+[start=8]
+. 最後に、新しい`ItemErrorHandler` Beanを`ItemProcessor`に追加します。
 
 [source,java]
 ----
@@ -374,7 +425,9 @@ public class ItemProcessor {
 
 (エディタのヒントを使用して`exercise3.ItemErrorHandler`のインポート文を追加します。)
 
-9. 「プロジェクトの実行」(image::images/run-project-btn.png[])ボタンをクリックして(または[F6]、Macの場合は[fn]-[F6]を押して)、プロジェクトを実行します。ブラウザで、ページに表示されている「`Execute`」ボタンをクリックします。IDEに戻り、出力ウィンドウ([Ctrl]-[4]、Macの場合は[⌘]-[4])に表示されたGlassFishのサーバー・ログを調べます。
+
+[start=9]
+. 「プロジェクトの実行」(image:images/run-project-btn.png[])ボタンをクリックして(または[F6]、Macの場合は[fn]-[F6]を押して)、プロジェクトを実行します。ブラウザで、ページに表示されている「`Execute`」ボタンをクリックします。IDEに戻り、出力ウィンドウ([Ctrl]-[4]、Macの場合は[⌘]-[4])に表示されたGlassFishのサーバー・ログを調べます。
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate_pt_BR.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate_pt_BR.asciidoc
index 409c10e..e178eb4 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate_pt_BR.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate_pt_BR.asciidoc
@@ -31,8 +31,7 @@
 
 _Contribuição de Andy Gibson_
 
-
-=== Injeção de Dependência e Contextos
+== Injeção de Dependência e Contextos
 
 1. link:cdi-intro.html[+Introdução ao CDI e ao JSF 2.0+]
 2. link:cdi-inject.html[+Trabalhando com Injeção e Qualificadores no CDI+]
@@ -40,9 +39,9 @@ _Contribuição de Andy Gibson_
 * <<alternative,Tratando Várias Implantações>>
 * <<lifecycle,Aplicando Anotações de Ciclo de Vida em Beans gerenciado>>
 * <<seealso,Consulte Também>>
-4. link:cdi-events.html[+Trabalhando com Eventos no CDI+]
 
-image::images/netbeans-stamp-80-74-73.png[title="O conteúdo desta página se aplica ao NetBeans IDE 7.2, 7.3, 7.4 e 8.0"]
+[start=4]
+. link:cdi-events.html[+Trabalhando com Eventos no CDI+]
 
 A Injeção de Dependência e Contextos (CDI), especificada por link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+], é parte integrante do Java EE 6 e fornece uma arquitetura que permite aos componentes do Java EE, como os servlets, enterprise beans e JavaBeans, existirem dentro do ciclo de vida de uma aplicação com escopos bem definidos. Além disso, os serviços CDI permitem que os componentes do Java EE, como beans de sessão EJB e beans gerenciados do JavaServer Faces (JSF), sejam injetado [...]
 
@@ -65,10 +64,11 @@ Para concluir este tutorial, você precisa dos seguintes recursos e softwares.
 |link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo2.zip[+cdiDemo2.zip+] |n/d 
 |===
 
-*Observações:*
-
+[NOTE]
+====
 * O pacote Java EE do NetBeans inclui também o GlassFish Server Open Source Edition, que é um contêiner compatível com Java EE.
 * É possível fazer download do projeto modelo de solução deste tutorial: link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo3.zip[+cdiDemo3.zip+]
+====
 
 
 
@@ -86,11 +86,19 @@ image::images/cdi-diagram-alternative.png[title="Use a injeção de CDI para aco
 3. Selecione a categoria Executar e confirme se a instância do GlassFish está selecionada na lista drop-down Servidor.
 4. Crie uma interface `ItemValidator`. 
 
-Clique no botão Novo Arquivo (image::images/new-file-btn.png[]) ou pressione CTRL-N (⌘-N no Mac) para abrir o assistente de Arquivo.
-5. Selecione a categoria Java e, em seguida, selecione Interface Java. Clique em Próximo.
-6. Digite *ItemValidator* como o nome da classe e, em seguida, *exercício3* como o pacote.
-7. Clique em Finalizar. A nova interface será gerada e aberta no editor.
-8. Adicione um método chamado `isValid()` que utiliza um objeto `Item` e retorna um valor `boolean`.
+Clique no botão Novo Arquivo (image:images/new-file-btn.png[]) ou pressione CTRL-N (⌘-N no Mac) para abrir o assistente de Arquivo.
+
+[start=5]
+. Selecione a categoria Java e, em seguida, selecione Interface Java. Clique em Próximo.
+
+[start=6]
+. Digite *ItemValidator* como o nome da classe e, em seguida, *exercício3* como o pacote.
+
+[start=7]
+. Clique em Finalizar. A nova interface será gerada e aberta no editor.
+
+[start=8]
+. Adicione um método chamado `isValid()` que utiliza um objeto `Item` e retorna um valor `boolean`.
 
 [source,java]
 ----
@@ -100,7 +108,9 @@ public interface ItemValidator {
 }
 ----
 (Utilize a dica do editor para adicionar a instrução de importação para o `exercise2.Item`.)
-9. Expanda a classe `ItemProcessor` para incorporar a nova funcionalidade. Abra o `ItemProcessor` no editor e faça as seguintes alterações.
+
+[start=9]
+. Expanda a classe `ItemProcessor` para incorporar a nova funcionalidade. Abra o `ItemProcessor` no editor e faça as seguintes alterações.
 
 [source,java]
 ----
@@ -126,11 +136,15 @@ public class ItemProcessor {
 
 (Utilize a dica do editor para adicionar a instrução de importação para `exercise3.ItemValidator`.)
 
-10. Crie uma implementação do `ItemValidator` chamado `DefaultItemValidator` que simplesmente testa o limite com relação ao valor.
+
+[start=10]
+. Crie uma implementação do `ItemValidator` chamado `DefaultItemValidator` que simplesmente testa o limite com relação ao valor.
 
 Na janela Projetos, clique com o botão direito do mouse no pacote `exercise3` e selecione Nova > Classe Java. Nomeie a classe como *DefaultItemValidator* e clique em Finalizar.
 
-11. Faça com que o `DefaultItemValidator` implemente o `ItemValidator` e substitua o método `isValid()` como se segue.
+
+[start=11]
+. Faça com que o `DefaultItemValidator` implemente o `ItemValidator` e substitua o método `isValid()` como se segue.
 
 [source,java]
 ----
@@ -146,8 +160,12 @@ public class DefaultItemValidator *implements ItemValidator* {
 
 (Utilize a dica do editor para adicionar a instrução de importação para o `exercise2.Item`.)
 
-12. Clique no botão Executar Projeto (image::images/run-project-btn.png[]) na barra de ferramentas principal do IDE. O projeto é compilado e implantado no GlassFish e a página de boas-vindas da aplicação (`process.xhtml`) será aberta no browser.
-13. Clique no botão "`Execute`" que é exibido na página. Volte ao IDE e examine o log do GlassFish Server. O log do servidor é exibido na janela Saída (Ctrl-4; ⌘-4 no Mac) na guia GlassFish. É possível notar que os itens estão sendo validados e que o único item válido listado é o caso em que o valoe é menor que o limite.
+
+[start=12]
+. Clique no botão Executar Projeto (image:images/run-project-btn.png[]) na barra de ferramentas principal do IDE. O projeto é compilado e implantado no GlassFish e a página de boas-vindas da aplicação (`process.xhtml`) será aberta no browser.
+
+[start=13]
+. Clique no botão "`Execute`" que é exibido na página. Volte ao IDE e examine o log do GlassFish Server. O log do servidor é exibido na janela Saída (Ctrl-4; ⌘-4 no Mac) na guia GlassFish. É possível notar que os itens estão sendo validados e que o único item válido listado é o caso em que o valoe é menor que o limite.
 
 [source,java]
 ----
@@ -157,12 +175,18 @@ INFO: Item = exercise2.Item@63124f52 [Value=4, Limit=37] valid = true
 INFO: Item = exercise2.Item@4715c34e [Value=24, Limit=19] valid = false
 INFO: Item = exercise2.Item@65c95a57 [Value=89, Limit=32] valid = false
 ----
+
 image::images/output-window.png[title="Exiba o log do servidor na janela Saída"]
-14. Agora, considere o cenário onde temos que implantar em um site diferente, mais flexível, e considere um item como inválido somente se o valor for mais de duas vezes maior que o limite. Pode ser necessário ter um outro bean que implemente a interface `ItemValidator` para essa lógica.
+
+
+[start=14]
+. Agora, considere o cenário onde temos que implantar em um site diferente, mais flexível, e considere um item como inválido somente se o valor for mais de duas vezes maior que o limite. Pode ser necessário ter um outro bean que implemente a interface `ItemValidator` para essa lógica.
 
 Crie uma nova implementação do `ItemValidator` chamada `RelaxedItemValidator`. Na janela Projetos, clique com o botão direito do mouse no pacote `exercise3` e selecione Nova > Classe Java. Nomeie a classe *RelaxedItemValidator* e clique em Finalizar.
 
-15. Faça com que o `RelaxedItemValidator` implemente o `ItemValidator` e substitua o método `isValid()` como se segue.
+
+[start=15]
+. Faça com que o `RelaxedItemValidator` implemente o `ItemValidator` e substitua o método `isValid()` como se segue.
 
 [source,java]
 ----
@@ -178,8 +202,12 @@ public class RelaxedItemValidator *implements ItemValidator* {
 
 (Utilize a dica do editor para adicionar a instrução de importação para o `exercise2.Item`.)
 
-16. Clique no botão Executar Projeto (image::images/run-project-btn.png[]) para executar o projeto. Observe que o projeto agora falha na implantação.
-17. Examine o log do servidor na janela Saída (Ctrl-4; ⌘-4 no Mac). Você nota uma mensagem de erro relatando um problema de "dependência ambígua". Isso ocorre porque agora temos duas classes implementando a mesma interface.
+
+[start=16]
+. Clique no botão Executar Projeto (image:images/run-project-btn.png[]) para executar o projeto. Observe que o projeto agora falha na implantação.
+
+[start=17]
+. Examine o log do servidor na janela Saída (Ctrl-4; ⌘-4 no Mac). Você nota uma mensagem de erro relatando um problema de "dependência ambígua". Isso ocorre porque agora temos duas classes implementando a mesma interface.
 
 [source,java]
 ----
@@ -194,7 +222,9 @@ Weld, a implementação para CDI, não pode determinar se deve utilizar o `Relax
 
 Como mencionado anteriormente, a única diferença é baseada na implantação. Para a maioria das implantações, preferimos utilizar o validador default, mas para uma implantação, preferimos utilizar a implantação "flexível". O CDI oferece o uso da anotação `@Alternative` que lhe permite encapsular vários beans que coincidam com um ponto de injeção sem erros de ambiguidade e o bean a ser utilizado, que é definido no arquivo `beans.xml`. Isso lhe permite implantar as duas implementações no mes [...]
 
-18. Adicione a anotação `@Alternative` e as instruções de importação correspondentes a `RelaxedItemValidator` e `DefaultItemValidator`. 
+
+[start=18]
+. Adicione a anotação `@Alternative` e as instruções de importação correspondentes a `RelaxedItemValidator` e `DefaultItemValidator`. 
 
 Abra o `RelaxedItemValidator` no editor e faça as seguintes alterações.
 
@@ -237,8 +267,15 @@ public class DefaultItemValidator implements ItemValidator {
 
 Se tivéssemos implantado a aplicação, agora obteríamos uma mensagem de erro "dependência não-satisfeita", já que definimos os dois beans coincidentes como alternativos, mas não ativamos nenhum deles no arquivo `beans.xml`.
 
-19. Utilize a caixa de diálogo Ir para Arquivo do IDE para abrir rapidamente o arquivo `beans.xml`. Selecione Navegar > Ir para Arquivo no menu principal do IDE (Alt-Shift-O; Ctrl-Shift-O no Mac) e, em seguida, digite "`beans`". Clique em OK. image::images/go-to-file.png[title="Use a caixa de diálogo Ir para Arquivo para localizar rapidamente um arquivo de projeto"]
-20. Faça as seguintes alterações no arquivo `bean.xml`.
+
+[start=19]
+. Utilize a caixa de diálogo Ir para Arquivo do IDE para abrir rapidamente o arquivo `beans.xml`. Selecione Navegar > Ir para Arquivo no menu principal do IDE (Alt-Shift-O; Ctrl-Shift-O no Mac) e, em seguida, digite "`beans`". Clique em OK. 
+
+image::images/go-to-file.png[title="Use a caixa de diálogo Ir para Arquivo para localizar rapidamente um arquivo de projeto"]
+
+
+[start=20]
+. Faça as seguintes alterações no arquivo `bean.xml`.
 
 [source,xml]
 ----
@@ -256,7 +293,9 @@ Se tivéssemos implantado a aplicação, agora obteríamos uma mensagem de erro
 
 Isso informa ao CDI que o `RelaxedItemValidator` deve ser usado para esta implantação. É possível achar que a anotação `@Alternative` desativa efetivamente o bean, tornando-o indisponível para injeção, mas permitindo que a implementação seja encapsulada com os outros beans. Adicioná-la como uma alternativa no arquivo `beans.xml` reabilita efetivamente o bean, tornando-o disponível para injeção. Ao movermos esse tipo de metadados para o arquivo `beans.xml`, podemos colocar no pacote versõ [...]
 
-21. Clique no botão Executar Projeto (image::images/run-project-btn.png[]) para executar o projeto (como alternativa, Pressione F6; fn-F6 no Mac). No browser, clique no botão "`Execute`" exibido na página. Volte ao IDE e examine o log do GlassFish Server exibido na janela Saída (Ctrl-4; ⌘-4 no Mac).
+
+[start=21]
+. Clique no botão Executar Projeto (image:images/run-project-btn.png[]) para executar o projeto (como alternativa, Pressione F6; fn-F6 no Mac). No browser, clique no botão "`Execute`" exibido na página. Volte ao IDE e examine o log do GlassFish Server exibido na janela Saída (Ctrl-4; ⌘-4 no Mac).
 
 [source,java]
 ----
@@ -285,7 +324,9 @@ Prosseguindo com o exemplo, crie uma interface `ItemErrorHandler` para tratar it
 
 A nova interface será gerada e aberta no editor.
 
-3. Adicione o método chamado `handleItem()` que utiliza um objeto `Item` como um argumento.
+
+[start=3]
+. Adicione o método chamado `handleItem()` que utiliza um objeto `Item` como um argumento.
 
 [source,java]
 ----
@@ -297,11 +338,15 @@ public interface ItemErrorHandler {
 
 (Utilize a dica do editor para adicionar a instrução de importação para o `exercise2.Item`.)
 
-4. Comece com a implementação do `ItemErrorHandler` com um handler falso chamado `FileErrorReporter` que salva os detalhes do item em um arquivo.
+
+[start=4]
+. Comece com a implementação do `ItemErrorHandler` com um handler falso chamado `FileErrorReporter` que salva os detalhes do item em um arquivo.
 
 Na janela Projetos, clique com o botão direito do mouse no pacote `exercise3` e selecione Nova > Classe Java. Nomeie a classe *FileErrorReporter* e clique em Finalizar.
 
-5. Faça com que o `FileErrorReporter` implemente o `ItemErrorHandler` e substitua o método `handlerItem()` como se segue.
+
+[start=5]
+. Faça com que o `FileErrorReporter` implemente o `ItemErrorHandler` e substitua o método `handlerItem()` como se segue.
 
 [source,java]
 ----
@@ -319,7 +364,9 @@ public class FileErrorReporter *implements ItemErrorHandler* {
 
 Você deseja abrir o arquivo antes de começar a tratar itens, portanto, deixe-o aberto durante o processo em que o conteúdo é adicionado ao arquivo e, em seguida, feche o arquivo quando processamento tiver sido concluído. Você poderia adicionar manualmente os métodos `initProcess()` e `finishProcess()` ao bean de informe de erro, mas então não poderia codificar a interface, já que o chamador precisaria conhecer esses métodos específicos da classe. Você poderia adicionar esses mesmos métod [...]
 
-6. Adicione os seguintes métodos `init()` e `release()` com as anotações `@PostConstruct` e `@PreDestroy` correspondentes.
+
+[start=6]
+. Adicione os seguintes métodos `init()` e `release()` com as anotações `@PostConstruct` e `@PreDestroy` correspondentes.
 
 [source,java]
 ----
@@ -342,8 +389,12 @@ public class FileErrorReporter implements ItemErrorHandler {
     }
 }
 ----
-7. Corrigir importações. Clique com o botão direito do mouse no editor e selecione Corrigir importações ou pressione Ctrl-Shift-I (⌘-Shift-I no Mac). Instruções de importação para `javax.annotation.PostConstruct` e `javax.annotation.PreDestroy` serão adicionadas à parte superior do arquivo.
-8. Finalmente, adicione o novo bean `ItemErrorHandler` ao `ItemProcessor`.
+
+[start=7]
+. Corrigir importações. Clique com o botão direito do mouse no editor e selecione Corrigir importações ou pressione Ctrl-Shift-I (⌘-Shift-I no Mac). Instruções de importação para `javax.annotation.PostConstruct` e `javax.annotation.PreDestroy` serão adicionadas à parte superior do arquivo.
+
+[start=8]
+. Finalmente, adicione o novo bean `ItemErrorHandler` ao `ItemProcessor`.
 
 [source,java]
 ----
@@ -374,7 +425,9 @@ public class ItemProcessor {
 
 (Utilize a dica do editor para adicionar a instrução de importação para o `exercise3.ItemErrorHandler`.)
 
-9. Clique no botão Executar Projeto (image::images/run-project-btn.png[]) para executar o projeto (como alternativa, Pressione F6; fn-F6 no Mac). No browser, clique no botão "`Execute`" exibido na página. Volte ao IDE e examine o log do GlassFish Server exibido na janela Saída (Ctrl-4; ⌘-4 no Mac).
+
+[start=9]
+. Clique no botão Executar Projeto (image:images/run-project-btn.png[]) para executar o projeto (como alternativa, Pressione F6; fn-F6 no Mac). No browser, clique no botão "`Execute`" exibido na página. Volte ao IDE e examine o log do GlassFish Server exibido na janela Saída (Ctrl-4; ⌘-4 no Mac).
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate_ru.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate_ru.asciidoc
index 8b2c265..f07b20d 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate_ru.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate_ru.asciidoc
@@ -31,8 +31,7 @@
 
 _Предоставлено Энди Гибсоном (Andy Gibson)_
 
-
-=== Внедрение контекстов и зависимостей
+== Внедрение контекстов и зависимостей
 
 1. link:cdi-intro.html[+Введение в CDI и JSF 2.0+]
 2. link:cdi-inject.html[+Работа с внедрением и квалификаторами в CDI+]
@@ -40,9 +39,9 @@ _Предоставлено Энди Гибсоном (Andy Gibson)_
 * <<alternative,Обработка нескольких развертываний>>
 * <<lifecycle,Применение аннотаций жизненного цикла к управляемым компонентам>>
 * <<seealso,Дополнительные сведения>>
-4. link:cdi-events.html[+Обработка событий в CDI+]
 
-image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0"]
+[start=4]
+. link:cdi-events.html[+Обработка событий в CDI+]
 
 Внедрение контекстов и зависимостей (CDI), определяемое документом link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+], является неотъемлемой частью Java EE 6 и обеспечивает архитектуру, позволяющую компонентам Java EE (например, сервлетам, компонентам EJB и JavaBeans) существовать в жизненном цикле приложения с четко определенными контекстами. Кроме того, службы CDI позволяют компонентам Java EE (например, компонентам сеансов EJB и управляемым компонентам JavaServer Faces) внедряться и  [...]
 
@@ -65,10 +64,12 @@ image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой 
 |link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo2.zip[+cdiDemo2.zip+] |неприменимо 
 |===
 
-*Примечания*
 
+[NOTE]
+====
 * В комплект Java для IDE NetBeans также входит компонент GlassFish Server Open Source Edition, являющийся контейнером, совместимым с Java EE.
 * Пример проекта к этому учебному курсу можно загрузить здесь: link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo3.zip[+cdiDemo3.zip+]
+====
 
 
 
@@ -86,11 +87,19 @@ image::images/cdi-diagram-alternative.png[title="Используйте внед
 3. Выберите категорию "Запуск" и убедитесь, что в списке "Сервер" выбран экземпляр GlassFish.
 4. Создайте интерфейс `ItemValidator`. 
 
-Щелкните 'Создать файл' ( image::images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
-5. Выберите категорию Java, а затем команду "Интерфейс Java". Нажмите кнопку "Далее".
-6. Введите имя класса в *ItemValidator* и пакет *exercise3*.
-7. Нажмите кнопку "Завершить". Интерфейс будет создан и открыт в редакторе.
-8. Добавьте метод `isValid()`, который принимает в качестве параметра объект `Item` и возвращает логическое значение `boolean`.
+Щелкните 'Создать файл' ( image:images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
+
+[start=5]
+. Выберите категорию Java, а затем команду "Интерфейс Java". Нажмите кнопку "Далее".
+
+[start=6]
+. Введите имя класса в *ItemValidator* и пакет *exercise3*.
+
+[start=7]
+. Нажмите кнопку "Завершить". Интерфейс будет создан и открыт в редакторе.
+
+[start=8]
+. Добавьте метод `isValid()`, который принимает в качестве параметра объект `Item` и возвращает логическое значение `boolean`.
 
 [source,java]
 ----
@@ -100,7 +109,9 @@ public interface ItemValidator {
 }
 ----
 С помощью подсказки редактора добавьте оператор импорта для `exercise2.Item`.
-9. Расширьте класс `ItemProcessor` для добавления новой возможности. Откройте в редакторе `ItemProcessor` и внесите следующие изменения.
+
+[start=9]
+. Расширьте класс `ItemProcessor` для добавления новой возможности. Откройте в редакторе `ItemProcessor` и внесите следующие изменения.
 
 [source,java]
 ----
@@ -126,11 +137,15 @@ public class ItemProcessor {
 
 С помощью подсказки редактора добавьте оператор импорта для `exercise3.ItemValidator`.
 
-10. Создайте реализацию `ItemValidator` под названием `DefaultItemValidator`, которая просто сравнивает значение с предельным.
+
+[start=10]
+. Создайте реализацию `ItemValidator` под названием `DefaultItemValidator`, которая просто сравнивает значение с предельным.
 
 В окне "Проекты" щелкните правой кнопкой пакет `exercise3` и выберите команду "Создать" > "Класс Java". Дайте классу имя *DefaultItemValidator* и нажмите кнопку "Готово".
 
-11. В элементе `DefaultItemValidator` реализуйте `ItemValidator` и переопределите метод `isValid()` следующим образом.
+
+[start=11]
+. В элементе `DefaultItemValidator` реализуйте `ItemValidator` и переопределите метод `isValid()` следующим образом.
 
 [source,java]
 ----
@@ -146,8 +161,12 @@ public class DefaultItemValidator *implements ItemValidator* {
 
 С помощью подсказки редактора добавьте оператор импорта для `exercise2.Item`.
 
-12. Нажмите кнопку 'Запустить проект' (image::images/run-project-btn.png[]) на главной панели инструментов IDE. Файл скомпилирован и развернут в GlassFish, и страница приветствия приложения (`process.xhtml`) отображается в веб-браузере.
-13. Нажмите кнопку `Выполнить` на странице. Вернитесь в среду IDE и проверьте протокол сервера GlassFish. Журнал сервера отображается в окне вывода (Ctrl-4; ⌘-4 в Mac) на вкладке 'GlassFish'. В нем видно, что элементы проверяются и перечисляются только допустимые элементы, значение которых меньше предельного.
+
+[start=12]
+. Нажмите кнопку 'Запустить проект' (image:images/run-project-btn.png[]) на главной панели инструментов IDE. Файл скомпилирован и развернут в GlassFish, и страница приветствия приложения (`process.xhtml`) отображается в веб-браузере.
+
+[start=13]
+. Нажмите кнопку `Выполнить` на странице. Вернитесь в среду IDE и проверьте протокол сервера GlassFish. Журнал сервера отображается в окне вывода (Ctrl-4; ⌘-4 в Mac) на вкладке 'GlassFish'. В нем видно, что элементы проверяются и перечисляются только допустимые элементы, значение которых меньше предельного.
 
 [source,java]
 ----
@@ -157,12 +176,18 @@ INFO: Item = exercise2.Item@63124f52 [Value=4, Limit=37] valid = true
 INFO: Item = exercise2.Item@4715c34e [Value=24, Limit=19] valid = false
 INFO: Item = exercise2.Item@65c95a57 [Value=89, Limit=32] valid = false
 ----
+
 image::images/output-window.png[title="Просмотрите журнал сервера в окне вывода"]
-14. Теперь рассмотрим случай, в котором вам необходимо выполнить развертывание в другом месте, менее жестком, считающим компонент недопустимым только в том случае, если его значение более чем в два раза превышает ограничение. Может потребоваться другой компонент для реализации интерфейса `ItemValidator` для данной логики.
+
+
+[start=14]
+. Теперь рассмотрим случай, в котором вам необходимо выполнить развертывание в другом месте, менее жестком, считающим компонент недопустимым только в том случае, если его значение более чем в два раза превышает ограничение. Может потребоваться другой компонент для реализации интерфейса `ItemValidator` для данной логики.
 
 Создайте новую реализацию `ItemValidator` с именем `RelaxedItemValidator`. В окне "Проекты" щелкните правой кнопкой пакет `exercise3` и выберите команду "Создать" > "Класс Java". Дайте классу имя *RelaxedItemValidator* и нажмите кнопку "Готово".
 
-15. Сделайте `RelaxedItemValidator` реализацией `ItemValidator` и переопределите метод `isValid()` следующим образом.
+
+[start=15]
+. Сделайте `RelaxedItemValidator` реализацией `ItemValidator` и переопределите метод `isValid()` следующим образом.
 
 [source,java]
 ----
@@ -178,8 +203,12 @@ public class RelaxedItemValidator *implements ItemValidator* {
 
 С помощью подсказки редактора добавьте оператор импорта для `exercise2.Item`.
 
-16. Для запуска проекта нажмите кнопку 'Запустить проект' ( image::images/run-project-btn.png[] ). Обратите внимание, что теперь развертывание проекта завершается сбоем.
-17. Проверьте журнал сервера в окне вывода (Ctrl-4; ⌘-4 в Mac). В протоколе отображается сообщение об ошибке неоднозначной зависимости. Это происходит по причине того, что имеются два класса, реализующих один и тот же интерфейс.
+
+[start=16]
+. Для запуска проекта нажмите кнопку 'Запустить проект' ( image:images/run-project-btn.png[] ). Обратите внимание, что теперь развертывание проекта завершается сбоем.
+
+[start=17]
+. Проверьте журнал сервера в окне вывода (Ctrl-4; ⌘-4 в Mac). В протоколе отображается сообщение об ошибке неоднозначной зависимости. Это происходит по причине того, что имеются два класса, реализующих один и тот же интерфейс.
 
 [source,java]
 ----
@@ -194,7 +223,9 @@ Possible dependencies: [exercise3.RelaxedItemValidator, exercise3.DefaultItemVal
 
 Как указано выше, единственное отличие связано с развертыванием. Для большинства развертываний можно использовать средство проверки по умолчанию, однако для одного развертывания может потребоваться использование "нежесткой" реализации. В CDI существует аннотация `@Alternative`, которая позволяет пакетировать несколько компонентов, соответствующих одной точке внедрения, без проблем неоднозначности, поскольку при этом используется компонент, указанный в файле `beans.xml` . Это позволяет ра [...]
 
-18. Добавьте аннотацию `@Alternative` и соответствующий оператор импорта в `RelaxedItemValidator` и `DefaultItemValidator`. 
+
+[start=18]
+. Добавьте аннотацию `@Alternative` и соответствующий оператор импорта в `RelaxedItemValidator` и `DefaultItemValidator`. 
 
 Откройте в редакторе `RelaxedItemValidator` и внесите следующие изменения.
 
@@ -237,8 +268,15 @@ public class DefaultItemValidator implements ItemValidator {
 
 Выполняя развертывание приложения сейчас, вы получите ошибку "неудовлетворенная зависимость", так как два подходящих компонента были определены как альтернативные, но ни один из них не был активирован в файле `beans.xml` .
 
-19. С помощью диалогового окна "Переход к файлу" в среде IDE откройте файл `beans.xml` . Выберите пункт "Переход" > "Переход к файлу" в главном меню среды IDE (сочетание клавиш ALT+SHIFT+O; CTRL+SHIFT+O в Mac OS), затем введите `beans`. Нажмите кнопку "ОК". image::images/go-to-file.png[title="С помощью диалогового окна &quot;Переход к файлу&quot; быстро найдите файл проекта."]
-20. Внесите следующие изменения в файл `beans.xml`
+
+[start=19]
+. С помощью диалогового окна "Переход к файлу" в среде IDE откройте файл `beans.xml` . Выберите пункт "Переход" > "Переход к файлу" в главном меню среды IDE (сочетание клавиш ALT+SHIFT+O; CTRL+SHIFT+O в Mac OS), затем введите `beans`. Нажмите кнопку "ОК". 
+
+image::images/go-to-file.png[title="С помощью диалогового окна &quot;Переход к файлу&quot; быстро найдите файл проекта."]
+
+
+[start=20]
+. Внесите следующие изменения в файл `beans.xml`
 
 [source,xml]
 ----
@@ -256,7 +294,9 @@ public class DefaultItemValidator implements ItemValidator {
 
 Данная команда указывает CDI использовать `RelaxedItemValidator` для данного развертывания. Аннотация `@Alternative` может рассматриваться как способ отключения компонента, запрещения его внедрения и разрешения пакетирования реализации с другими компонентами. Добавление компонента в качестве альтернативы в файл `beans.xml` фактически снова разрешает компонент, делая его доступным для внедрения. Перемещение этого вида метаданных в файл `beans.xml` позволяет связать различные версии файла  [...]
 
-21. Для запуска проекта нажмите кнопку 'Запустить проект' ( image::images/run-project-btn.png[] ). (В качестве альтернативы нажмите F6; fn-F6 в Mac) В браузере нажмите кнопку '`Выполнить`' на отображаемой странице. Переключите обратно в IDE и проверьте журнал сервера GlassFish, который отображается в окне вывода (Ctrl-4; ⌘-4 в Mac).
+
+[start=21]
+. Для запуска проекта нажмите кнопку 'Запустить проект' ( image:images/run-project-btn.png[] ). (В качестве альтернативы нажмите F6; fn-F6 в Mac) В браузере нажмите кнопку '`Выполнить`' на отображаемой странице. Переключите обратно в IDE и проверьте журнал сервера GlassFish, который отображается в окне вывода (Ctrl-4; ⌘-4 в Mac).
 
 [source,java]
 ----
@@ -285,7 +325,9 @@ image::images/cdi-diagram-lifecycle.png[title="Используйте внедр
 
 Интерфейс будет создан и открыт в редакторе.
 
-3. Добавьте метод `handleItem()`, принимающий параметр типа `Item`.
+
+[start=3]
+. Добавьте метод `handleItem()`, принимающий параметр типа `Item`.
 
 [source,java]
 ----
@@ -297,11 +339,15 @@ public interface ItemErrorHandler {
 
 С помощью подсказки редактора добавьте оператор импорта для `exercise2.Item`.
 
-4. Выполните реализацию `ItemErrorHandler` с фиктивным обработчиком `FileErrorReporter`, сохраняющим данные элемента в файл.
+
+[start=4]
+. Выполните реализацию `ItemErrorHandler` с фиктивным обработчиком `FileErrorReporter`, сохраняющим данные элемента в файл.
 
 В окне "Проекты" щелкните правой кнопкой пакет `exercise3` и выберите команду "Создать" > "Класс Java". Присвойте классу имя *FileErrorReporter* и нажмите кнопку "Готово".
 
-5. Сделайте `FileErrorReporter` реализацией `ItemErrorHandler` и переопределите метод `handleItem()` следующим образом.
+
+[start=5]
+. Сделайте `FileErrorReporter` реализацией `ItemErrorHandler` и переопределите метод `handleItem()` следующим образом.
 
 [source,java]
 ----
@@ -319,7 +365,9 @@ public class FileErrorReporter *implements ItemErrorHandler* {
 
 Вам нужно открыть файл до начала обработки элементов, оставить его открытым в течение процесса добавления содержимого в данный файл, а затем закрыть его по завершении процесса. Можно вручную добавить методы `initProcess()` и `finishProcess()` к компоненту средства сообщения об ошибке, но в этом случае вы не сможете выполнить кодирование интерфейса, так как вызывающей стороне будет необходимо знать данные специфичные для класса методы. Можно добавить те же методы к интерфейсу `ItemErrorRe [...]
 
-6. Добавьте следующие методы `init()` и `release()` с аннотациями `@PostConstruct` и `@PreDestroy`.
+
+[start=6]
+. Добавьте следующие методы `init()` и `release()` с аннотациями `@PostConstruct` и `@PreDestroy`.
 
 [source,java]
 ----
@@ -342,8 +390,12 @@ public class FileErrorReporter implements ItemErrorHandler {
     }
 }
 ----
-7. Исправьте операторы импорта. Либо щелкните правой кнопкой мыши в редакторе и выберите 'Исправить выражения импорта' или нажмите Ctrl-Shift-I (⌘-Shift-I в Mac). В начало файла добавляются операторы импорта для `javax.annotation.PostConstruct` и `javax.annotation.PreDestroy`.
-8. После этого добавьте новый компонент `ItemErrorHandler` к `ItemProcessor`.
+
+[start=7]
+. Исправьте операторы импорта. Либо щелкните правой кнопкой мыши в редакторе и выберите 'Исправить выражения импорта' или нажмите Ctrl-Shift-I (⌘-Shift-I в Mac). В начало файла добавляются операторы импорта для `javax.annotation.PostConstruct` и `javax.annotation.PreDestroy`.
+
+[start=8]
+. После этого добавьте новый компонент `ItemErrorHandler` к `ItemProcessor`.
 
 [source,java]
 ----
@@ -374,7 +426,9 @@ public class ItemProcessor {
 
 С помощью подсказки редактора добавьте оператор импорта для `exercise3.ItemErrorHandler`.
 
-9. Для запуска проекта нажмите кнопку 'Запустить проект' ( image::images/run-project-btn.png[] ). (В качестве альтернативы нажмите F6; fn-F6 в Mac) В браузере нажмите кнопку '`Выполнить`' на отображаемой странице. Переключите обратно в IDE и проверьте журнал сервера GlassFish, который отображается в окне вывода (Ctrl-4; ⌘-4 в Mac).
+
+[start=9]
+. Для запуска проекта нажмите кнопку 'Запустить проект' ( image:images/run-project-btn.png[] ). (В качестве альтернативы нажмите F6; fn-F6 в Mac) В браузере нажмите кнопку '`Выполнить`' на отображаемой странице. Переключите обратно в IDE и проверьте журнал сервера GlassFish, который отображается в окне вывода (Ctrl-4; ⌘-4 в Mac).
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate_zh_CN.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate_zh_CN.asciidoc
index 1808dd9..9c82deb 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate_zh_CN.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/cdi-validate_zh_CN.asciidoc
@@ -31,8 +31,7 @@
 
 _撰稿人:Andy Gibson_
 
-
-=== 上下文和依赖关系注入
+== 上下文和依赖关系注入
 
 1. link:cdi-intro.html[+CDI 和 JSF 2.0 入门指南+]
 2. link:cdi-inject.html[+使用 CDI 中的注入和限定符+]
@@ -40,9 +39,9 @@ _撰稿人:Andy Gibson_
 * <<alternative,处理多个部署>>
 * <<lifecycle,将生命周期标注应用于受管 Bean>>
 * <<seealso,另请参见>>
-4. link:cdi-events.html[+使用 CDI 中的事件+]
 
-image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0"]
+[start=4]
+. link:cdi-events.html[+使用 CDI 中的事件+]
 
 link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+] 指定的上下文和依赖关系注入 (CDI) 是 Java EE 6 的一个组成部分,提供了一个体系结构,以允许 Java EE 组件(例如 Servlet、企业 Bean 和 JavaBeans)在具有明确定义范围的应用程序生命周期内存在。此外,CDI 服务允许 Java EE 组件(例如 EJB 会话 Bean 和 JavaServer Faces (JSF) 受管 Bean)注入并通过触发和观察事件以松散耦合的方式进行交互。
 
@@ -65,10 +64,12 @@ NetBeans IDE 为上下文和依赖关系注入提供了内置支持,包括在
 |link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo2.zip[+cdiDemo2.zip+] |N/A 
 |===
 
-*注:*
 
+[NOTE]
+====
 * NetBeans IDE Java 包中还含 GlassFish Server Open Source Edition,后者是与 Java EE 兼容的容器。
 * 可以下载本教程的解决方案样例项目:link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FcdiDemo3.zip[+cdiDemo3.zip+]
+====
 
 
 
@@ -86,11 +87,19 @@ image::images/cdi-diagram-alternative.png[title="在应用程序中使用 CDI 
 3. 选择 "Run"(运行)类别,并确认在 "Server"(服务器)下拉列表中选定 GlassFish 实例。
 4. 创建 `ItemValidator` 接口。
 
-单击 "New File"(新建文件)(image::images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
-5. 选择 "Java" 类别,然后选择 "Java Interface"(Java 接口)。单击 "Next"(下一步)。
-6. 键入 *ItemValidator* 作为类名,然后输入 *exercise3* 作为包。
-7. 单击 "Finish"(完成)。将会生成新接口并在编辑器中将其打开。
-8. 添加名为 `isValid()` 的方法,以提取 `Item` 对象并返回 `boolean` 值。
+单击 "New File"(新建文件)(image:images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
+
+[start=5]
+. 选择 "Java" 类别,然后选择 "Java Interface"(Java 接口)。单击 "Next"(下一步)。
+
+[start=6]
+. 键入 *ItemValidator* 作为类名,然后输入 *exercise3* 作为包。
+
+[start=7]
+. 单击 "Finish"(完成)。将会生成新接口并在编辑器中将其打开。
+
+[start=8]
+. 添加名为 `isValid()` 的方法,以提取 `Item` 对象并返回 `boolean` 值。
 
 [source,java]
 ----
@@ -100,7 +109,9 @@ public interface ItemValidator {
 }
 ----
 (使用编辑器的提示为 `exercise2.Item` 添加 import 语句。)
-9. 扩展 `ItemProcessor` 类以包含新功能。在编辑器中打开 `ItemProcessor`,并进行以下更改。
+
+[start=9]
+. 扩展 `ItemProcessor` 类以包含新功能。在编辑器中打开 `ItemProcessor`,并进行以下更改。
 
 [source,java]
 ----
@@ -126,11 +137,15 @@ public class ItemProcessor {
 
 使用编辑器的提示为 `exercise3.ItemValidator` 添加 import 语句。
 
-10. 创建一个 `ItemValidator` 实现,名为 `DefaultItemValidator`,该实现根据值简单地对 limit 进行测试。
+
+[start=10]
+. 创建一个 `ItemValidator` 实现,名为 `DefaultItemValidator`,该实现根据值简单地对 limit 进行测试。
 
 在 "Projects"(项目)窗口中,右键单击 `exercise3` 包,并选择 "New"(新建)> "Java Class"(Java 类)。将该类命名为 *DefaultItemValidator*,然后单击 "Finish"(完成)。
 
-11. 让 `DefaultItemValidator` 实现 `ItemValidator` 并覆盖 `isValid()` 方法,如下所示。
+
+[start=11]
+. 让 `DefaultItemValidator` 实现 `ItemValidator` 并覆盖 `isValid()` 方法,如下所示。
 
 [source,java]
 ----
@@ -146,8 +161,12 @@ public class DefaultItemValidator *implements ItemValidator* {
 
 (使用编辑器的提示为 `exercise2.Item` 添加 import 语句。)
 
-12. 在 IDE 的主工具栏中单击 "Run Project"(运行项目)(image::images/run-project-btn.png[]) 按钮。编译该项目并将其部署到 GlassFish,然后在浏览器中打开应用程序的欢迎页 (`process.xhtml`)。
-13. 单击页面上显示的 `Execute` 按钮。切换回 IDE 并检查 GlassFish Server 日志。服务器日志会显示在 "Output"(输出)窗口(Ctrl-4 组合键;在 Mac 上为 ⌘-4 组合键)中 "GlassFish" 标签的下方。然后会看到验证项,并列出唯一一个值小于 limit 的有效项。
+
+[start=12]
+. 在 IDE 的主工具栏中单击 "Run Project"(运行项目)(image:images/run-project-btn.png[]) 按钮。编译该项目并将其部署到 GlassFish,然后在浏览器中打开应用程序的欢迎页 (`process.xhtml`)。
+
+[start=13]
+. 单击页面上显示的 `Execute` 按钮。切换回 IDE 并检查 GlassFish Server 日志。服务器日志会显示在 "Output"(输出)窗口(Ctrl-4 组合键;在 Mac 上为 ⌘-4 组合键)中 "GlassFish" 标签的下方。然后会看到验证项,并列出唯一一个值小于 limit 的有效项。
 
 [source,java]
 ----
@@ -157,12 +176,18 @@ INFO: Item = exercise2.Item@63124f52 [Value=4, Limit=37] valid = true
 INFO: Item = exercise2.Item@4715c34e [Value=24, Limit=19] valid = false
 INFO: Item = exercise2.Item@65c95a57 [Value=89, Limit=32] valid = false
 ----
+
 image::images/output-window.png[title="在 "Output"(输出)窗口中查看服务器日志"]
-14. 现在,请考虑以下情况,假定您必须部署到另一个更松散的站点,且仅当项值大于 limit 的两倍时,才将该项视为无效。您可能需要使用另一个 Bean 为该逻辑实现 `ItemValidator` 接口。
+
+
+[start=14]
+. 现在,请考虑以下情况,假定您必须部署到另一个更松散的站点,且仅当项值大于 limit 的两倍时,才将该项视为无效。您可能需要使用另一个 Bean 为该逻辑实现 `ItemValidator` 接口。
 
 创建一个新的 `ItemValidator` 实现,名为 `RelaxedItemValidator`。在 "Projects"(项目)窗口中,右键单击 `exercise3` 包,并选择 "New"(新建)> "Java Class"(Java 类)。将该类命名为 *RelaxedItemValidator*,然后单击 "Finish"(完成)。
 
-15. 让 `RelaxedItemValidator` 实现 `ItemValidator` 并覆盖 `isValid()` 方法,如下所示。
+
+[start=15]
+. 让 `RelaxedItemValidator` 实现 `ItemValidator` 并覆盖 `isValid()` 方法,如下所示。
 
 [source,java]
 ----
@@ -178,8 +203,12 @@ public class RelaxedItemValidator *implements ItemValidator* {
 
 (使用编辑器的提示为 `exercise2.Item` 添加 import 语句。)
 
-16. 单击 "Run Project"(运行项目)(image::images/run-project-btn.png[]) 按钮以运行项目。请注意,项目现在无法部署。
-17. 在 "Output"(输出)窗口(Ctrl-4 组合键;在 Mac 上为 ⌘-4 组合键)中查看服务器日志。您会看到一则错误消息,报告 "ambiguous dependency"(依赖关系不明确)问题。出现此错误的原因是,您现在有两个实现同一接口的类。
+
+[start=16]
+. 单击 "Run Project"(运行项目)(image:images/run-project-btn.png[]) 按钮以运行项目。请注意,项目现在无法部署。
+
+[start=17]
+. 在 "Output"(输出)窗口(Ctrl-4 组合键;在 Mac 上为 ⌘-4 组合键)中查看服务器日志。您会看到一则错误消息,报告 "ambiguous dependency"(依赖关系不明确)问题。出现此错误的原因是,您现在有两个实现同一接口的类。
 
 [source,java]
 ----
@@ -194,7 +223,9 @@ Weld(CDI 实现)无法确定对给定注入点使用 `RelaxedItemValidator`
 
 如前面所述,唯一的区别在于部署。对于大多数部署,需要使用默认验证器,但对于一个部署,需要使用 "relaxed" 实现。CDI 提供 `@Alternative` 标注,通过该标注可以包含与一个注入点匹配的多个 Bean 而不会出现多义性错误,且要使用的 Bean 在 `beans.xml` 中定义。这允许您在同一模块中部署这两个实现,唯一的差别在于 `beans.xml` 的定义,该定义可以根据不同的部署进行更改。
 
-18. 将 `@Alternative` 标注和相应的 import 语句添加至 `RelaxedItemValidator` 和 `DefaultItemValidator`。
+
+[start=18]
+. 将 `@Alternative` 标注和相应的 import 语句添加至 `RelaxedItemValidator` 和 `DefaultItemValidator`。
 
 在编辑器中打开 `RelaxedItemValidator` 并进行以下更改。
 
@@ -237,8 +268,15 @@ public class DefaultItemValidator implements ItemValidator {
 
 如果现在部署了应用程序,则会收到 "unsatisfied dependency"(不符合要求的依赖关系)错误,因为您定义了两个匹配的 Bean 作为替代项,但是没有在 `beans.xml` 文件中启用这两个文件中的任何一个。
 
-19. 使用 IDE 的 "Go to File"(转至文件)对话框快速打开 `beans.xml` 文件。从 IDE 的主菜单(Alt-Shift-O;在 Mac 上为 Ctrl-Shift-O)选择 "Navigate"(导航)> "Go to File"(转至文件),然后键入 "`beans`"。单击 "OK"(确定)。image::images/go-to-file.png[title="使用 "Go to File"(转至文件)对话框可快速找到项目文件"]
-20. 对 `beans.xml` 文件进行如下更改。
+
+[start=19]
+. 使用 IDE 的 "Go to File"(转至文件)对话框快速打开 `beans.xml` 文件。从 IDE 的主菜单(Alt-Shift-O;在 Mac 上为 Ctrl-Shift-O)选择 "Navigate"(导航)> "Go to File"(转至文件),然后键入 "`beans`"。单击 "OK"(确定)。
+
+image::images/go-to-file.png[title="使用 "Go to File"(转至文件)对话框可快速找到项目文件"]
+
+
+[start=20]
+. 对 `beans.xml` 文件进行如下更改。
 
 [source,xml]
 ----
@@ -256,7 +294,9 @@ public class DefaultItemValidator implements ItemValidator {
 
 这会通知 CDI 使用 `RelaxedItemValidator` 进行此部署。可以认为 `@Alternative` 标注有效禁用了 Bean,使其不能用于注入,但是允许该实现与其他 Bean 一起打包。在 `beans.xml` 文件中将其添加为替代项可有效地重新启用该 Bean,使其可用于注入。通过将此类型的元数据移动至 `beans.xml` 文件,可以将不同版本的文件与不同部署一起打包。
 
-21. 单击 "Run Project"(运行项目)(image::images/run-project-btn.png[]) 按钮以运行项目(或者,按 F6 键;在 Mac 上按 fn-F6 组合键)。在浏览器中,单击页面上显示的 "`Execute`" 按钮。切换回 IDE 并查看 "Output"(输出)窗口(Ctrl-4 组合键,在 Mac 上为 ⌘-4 组合键)中显示的 GlassFish Server 日志。
+
+[start=21]
+. 单击 "Run Project"(运行项目)(image:images/run-project-btn.png[]) 按钮以运行项目(或者,按 F6 键;在 Mac 上按 fn-F6 组合键)。在浏览器中,单击页面上显示的 "`Execute`" 按钮。切换回 IDE 并查看 "Output"(输出)窗口(Ctrl-4 组合键,在 Mac 上为 ⌘-4 组合键)中显示的 GlassFish Server 日志。
 
 [source,java]
 ----
@@ -285,7 +325,9 @@ image::images/cdi-diagram-lifecycle.png[title="在应用程序中使用 CDI 注
 
 将会生成新接口并在编辑器中将其打开。
 
-3. 添加名为 `handleItem()` 的方法,该方法将 `Item` 对象作为参数。
+
+[start=3]
+. 添加名为 `handleItem()` 的方法,该方法将 `Item` 对象作为参数。
 
 [source,java]
 ----
@@ -297,11 +339,15 @@ public interface ItemErrorHandler {
 
 (使用编辑器的提示为 `exercise2.Item` 添加 import 语句。)
 
-4. 首先,使用名为 `FileErrorReporter` 的伪处理程序(该程序将项详细信息保存至文件)实现 `ItemErrorHandler`。
+
+[start=4]
+. 首先,使用名为 `FileErrorReporter` 的伪处理程序(该程序将项详细信息保存至文件)实现 `ItemErrorHandler`。
 
 在 "Projects"(项目)窗口中,右键单击 `exercise3` 包,并选择 "New"(新建)> "Java Class"(Java 类)。将该类命名为 *FileErrorReporter*,然后单击 "Finish"(完成)。
 
-5. 让 `FileErrorReporter` 实现 `ItemErrorHandler` 并覆盖 `handleItem()` 方法,如下所示。
+
+[start=5]
+. 让 `FileErrorReporter` 实现 `ItemErrorHandler` 并覆盖 `handleItem()` 方法,如下所示。
 
 [source,java]
 ----
@@ -319,7 +365,9 @@ public class FileErrorReporter *implements ItemErrorHandler* {
 
 您需要在开始处理项之前打开文件,并在向文件添加内容的过程中使其保持打开状态,然后在完成处理时关闭文件。您可以手动将 `initProcess()` 和 `finishProcess()` 方法添加到错误报告程序 Bean,但之后无法向接口添加代码,因为调用程序需要知道这些类特定的方法。您可以将以上这些方法添加到 `ItemErrorReporter` 接口,但之后必须在实现该接口的每个类中实现这些方法,这就产生了不必要的操作。不过,您可以使用受管 Bean 规范(link:http://jcp.org/en/jsr/detail?id=316[+JSR 316:Java 平台 Enterprise Edition 6 规范+]中包含)中的一些生命周期标注,在 Bean 生命周期中的某些时点对 Bean 调用方法。当已经构造了 Bean 且 Bean 的任何依赖关系都已注入时,则调用 `@PostConstruct` 标注的方法。同样,容器会在处理 Bean 之前调用 `@PreDestroy` 标注的方法。
 
-6. 添加以下带有相应 `@PostConstruct` 和 `@PreDestroy` 标注的 `init()` 和 `release()` 方法。
+
+[start=6]
+. 添加以下带有相应 `@PostConstruct` 和 `@PreDestroy` 标注的 `init()` 和 `release()` 方法。
 
 [source,java]
 ----
@@ -342,8 +390,12 @@ public class FileErrorReporter implements ItemErrorHandler {
     }
 }
 ----
-7. 修复导入。在编辑器中右键单击并选择 "Fix Imports"(修复导入),或者按 Ctrl-Shift-I 组合键(在 Mac 上按 ⌘-Shift-I 组合键)。`javax.annotation.PostConstruct` 和 `javax.annotation.PreDestroy` 的 Import 语句将添加到文件顶部。
-8. 最后,向 `ItemProcessor` 添加 `ItemErrorHandler` Bean。
+
+[start=7]
+. 修复导入。在编辑器中右键单击并选择 "Fix Imports"(修复导入),或者按 Ctrl-Shift-I 组合键(在 Mac 上按 ⌘-Shift-I 组合键)。`javax.annotation.PostConstruct` 和 `javax.annotation.PreDestroy` 的 Import 语句将添加到文件顶部。
+
+[start=8]
+. 最后,向 `ItemProcessor` 添加 `ItemErrorHandler` Bean。
 
 [source,java]
 ----
@@ -374,7 +426,9 @@ public class ItemProcessor {
 
 (使用编辑器的提示为 `exercise3.ItemErrorHandler` 添加 import 语句。)
 
-9. 单击 "Run Project"(运行项目)(image::images/run-project-btn.png[]) 按钮以运行项目(或者,按 F6 键;在 Mac 上按 fn-F6 组合键)。在浏览器中,单击页面上显示的 "`Execute`" 按钮。切换回 IDE 并查看 "Output"(输出)窗口(Ctrl-4 组合键,在 Mac 上为 ⌘-4 组合键)中显示的 GlassFish Server 日志。
+
+[start=9]
+. 单击 "Run Project"(运行项目)(image:images/run-project-btn.png[]) 按钮以运行项目(或者,按 F6 键;在 Mac 上按 fn-F6 组合键)。在浏览器中,单击页面上显示的 "`Execute`" 按钮。切换回 IDE 并查看 "Output"(输出)窗口(Ctrl-4 组合键,在 Mac 上为 ⌘-4 组合键)中显示的 GlassFish Server 日志。
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/entappclient.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/entappclient.asciidoc
index 1272e39..dd8ade1 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/entappclient.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/entappclient.asciidoc
@@ -33,8 +33,6 @@ This tutorial shows how to create a simple application client and access an Ente
 
 *Tutorial Exercises*
 
-image::images/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3, 7.4 and 8.0"]
-
 * <<Exercise_10,Creating the Java Class Library>>
 * <<Exercise_20,Creating an EJB Module>>
 * <<Exercise_22,Creating the Session Bean>>
@@ -93,6 +91,7 @@ In this section you will use the New Project wizard to create an enterprise appl
 2. Type *EntAppEJB* for the Project Name. Click Next.
 3. Select GlassFish Server for the Server.
 4. Confirm that Create EJB Module is selected and deselect Create Web Application Module. Click Finish.
+
 image::images/appclient-newentappejb.png[title="Create EJB Module is selected in the New Enterprise Application wizard"]
 
 When you click Finish, the IDE creates an enterprise application and an EJB module. In the Projects window, you can see that the EJB Module project is listed under the Java EE Modules node of the enterprise application project.
@@ -112,6 +111,7 @@ In this exercise you will use a wizard to create a session bean in the EJB modul
 4. Select Stateless for the Session Type.
 5. Select the Remote option for Create Interface.
 6. Select the *EJBRemoteInterface* project from the dropdown list. Click Finish.
+
 image::images/appclient-wizard-newsessionbean.png[title="New Session Bean wizard"]
 
 When you click Finish, the IDE creates the session bean in the  ``ejb``  package in the EJB module and opens the class in the editor. You can see that  ``MySession``  implements the  ``MySessionRemote``  interface and that the EJBRemoteInterface JAR was added as a library of the EJB module.
@@ -143,7 +143,9 @@ public class MySession implements MySessionRemote {
     }
 }
 ----
-4. Save your changes.
+
+[start=4]
+. Save your changes.
 
 You now have an enterprise application with a simple EJB that is exposed through a remote interface. You also have an independent class library that contains the EJB interface that can be distributed to other developers. Developers can add the library to their projects if they want to communicate with the EJB that is exposed by the remote interface and do not need to have the sources for the EJB. When you modify the code for the EJB, you only need to distribute a JAR of the updated class [...]
 
@@ -172,7 +174,7 @@ When you run the enterprise application, the IDE will package the application cl
 
 In this exercise you will use the New Project wizard to create an application client project. If you are deploying to GlassFish 3.1 or 4.x you can create and run an application client as a standalone project. The application client no longer needs to be deployed and run as part of an enterprise application.
 
-*Note.* If you are deploying to GlassFish 3.0.1, you need to create the application client as a module in an enterprise application project and run the enterprise application.
+NOTE: If you are deploying to GlassFish 3.0.1, you need to create the application client as a module in an enterprise application project and run the enterprise application.
 
 1. Choose File > New Project and select Enterprise Application Client in the Java EE category. Click Next.
 2. Type *EntAppClient* for the Project Name. Click Next.
@@ -194,6 +196,7 @@ If the class library project is not open, you can add the class library to the p
 1. Expand the Source Packages node of the EntAppClient project and open  ``Main.java``  in the editor.
 2. Right-click in the source code and choose Insert Code (Alt-Insert; Ctrl-I on Mac) and select Call Enterprise Bean to open the Call Enterprise Bean dialog.
 3. Expand the EntAppEJB project node and select MySession. Click OK.
+
 image::images/appclient-callenterprise.png[title="Call Enterprise Bean dialog"]
 
 The dialog automatically selects Remote as the interface type. When you click OK, the IDE adds the following annotation to  ``Main.java`` .
@@ -208,7 +211,9 @@ private static MySessionRemote mySession;
 
 The IDE also automatically adds EJBRemoteInterface as a project Library.
 
-4. Modify the  ``main``  method to retrieve the String of the  ``getResult``  method via the MySessionRemote interface. Save your changes.
+
+[start=4]
+. Modify the  ``main``  method to retrieve the String of the  ``getResult``  method via the MySessionRemote interface. Save your changes.
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/entappclient_ja.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/entappclient_ja.asciidoc
index bdb843c..7c78b70 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/entappclient_ja.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/entappclient_ja.asciidoc
@@ -33,8 +33,6 @@
 
 *チュートリアルの課題*
 
-image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます"]
-
 * <<Exercise_10,Javaクラス・ライブラリの作成>>
 * <<Exercise_20,EJBモジュールの作成>>
 * <<Exercise_22,セッションBeanの作成>>
@@ -93,6 +91,7 @@ image::images/appclient-newclasslibrary.png[title="新規クラス・ライブ
 2. 「プロジェクト名」に「*EntAppEJB*」と入力します。「次」をクリックします。
 3. サーバーとして「GlassFish Server」を選択します。
 4. 「EJBモジュールを作成」が選択され、「Webアプリケーション・モジュールを作成」が選択されていないことを確認します。「終了」をクリックします。
+
 image::images/appclient-newentappejb.png[title="新規エンタープライズ・アプリケーション・ウィザードで「EJBモジュールの作成」が選択されている"]
 
 「終了」をクリックすると、IDEによってエンタープライズ・アプリケーションとEJBモジュールが作成されます。「プロジェクト」ウィンドウで、エンタープライズ・アプリケーション・プロジェクトの「Java EEモジュール」ノードの下にEJBモジュール・プロジェクトが一覧表示されていることがわかります。
@@ -112,6 +111,7 @@ image::images/appclient-projects-entappejb1.png[title="開いているプロジ
 4. 「セッションのタイプ」として「ステートレス」を選択します。
 5. 「インタフェースを作成」で「リモート」オプションを選択します。
 6. ドロップダウン・リストから*EJBRemoteInterface*プロジェクトを選択します。「終了」をクリックします。
+
 image::images/appclient-wizard-newsessionbean.png[title="新規セッションBeanウィザード"]
 
 「終了」をクリックすると、IDEによってEJBモジュールの ``ejb`` パッケージ内にセッションBeanが作成され、エディタでそのクラスが開きます。 ``MySession`` に ``MySessionRemote`` インタフェースが実装され、EJBRemoteInterface JARがEJBモジュールのライブラリとして追加されたことがわかります。
@@ -143,7 +143,9 @@ public class MySession implements MySessionRemote {
     }
 }
 ----
-4. 変更を保存します。
+
+[start=4]
+. 変更を保存します。
 
 これで、リモート・インタフェースを介して公開される単純なEJBを含むエンタープライズ・アプリケーションができました。また、他の開発者に配布できるEJBインタフェースを含む独立したクラス・ライブラリもできました。開発者は、リモート・インタフェースによって公開されるEJBとやり取りする場合にはこのライブラリを自分のプロジェクトに追加でき、EJBのソースを持つ必要はありません。EJBのコードを変更したときは、インタフェースのいずれかを変更した場合に更新されたクラス・ライブラリのJARを配布するのみで済みます。
 
@@ -194,6 +196,7 @@ image::images/appclient-wizard-newentappclient.png[title="「新規プロジェ
 1. EntAppClientプロジェクトの「ソース・パッケージ」ノードを展開し、エディタで ``Main.java`` を開きます。
 2. ソース・コード内を右クリックして「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])を選択し、「エンタープライズBeanをコール」を選択して「エンタープライズBeanをコール」ダイアログを開きます。
 3. EntAppEJBプロジェクト・ノードを展開してMySessionを選択します。「OK」をクリックします。
+
 image::images/appclient-callenterprise.png[title="「エンタープライズBeanをコール」ダイアログ"]
 
 このダイアログでは、インタフェース・タイプとして「リモート」が自動的に選択されています。「OK」をクリックすると、IDEによって ``Main.java`` に以下の注釈が追加されます。
@@ -208,7 +211,9 @@ private static MySessionRemote mySession;
 
 また、IDEによってEJBRemoteInterfaceがプロジェクト・ライブラリとして自動的に追加されます。
 
-4. MySessionRemoteインタフェースを経由して ``getResult`` メソッドの文字列を取得するように ``main`` メソッドを変更します。変更を保存します。
+
+[start=4]
+. MySessionRemoteインタフェースを経由して ``getResult`` メソッドの文字列を取得するように ``main`` メソッドを変更します。変更を保存します。
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/entappclient_pt_BR.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/entappclient_pt_BR.asciidoc
index 17abfed..dc867b6 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/entappclient_pt_BR.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/entappclient_pt_BR.asciidoc
@@ -33,8 +33,6 @@ Este tutorial mostra como criar um cliente de aplicação simples e como acessar
 
 *Exercícios do Tutorial*
 
-image::images/netbeans-stamp-80-74-73.png[title="O conteúdo desta página se aplica ao NetBeans IDE 7.2, 7.3, 7.4 e 8.0"]
-
 * <<Exercise_10,Criando a Biblioteca de Classe Java>>
 * <<Exercise_20,Criando um Módulo EJB>>
 * <<Exercise_22,Criando o Bean de Sessão>>
@@ -93,6 +91,7 @@ Nesta sessão, você irá usar o assistente Novo Projeto para criar uma aplicaç
 2. Digite *EntAppEJB* como o Nome do Projeto. Clique em Próximo.
 3. Selecione GlassFish Server como o Servidor.
 4. Confirme se Criar Módulo EJB está selecionado e desfaça a seleção de Criar Módulo de Aplicação Web. Clique em Finalizar.
+
 image::images/appclient-newentappejb.png[title="Criar Módulo EJB está selecionado no assistente Nova Aplicação Corporativa"]
 
 Quando você clica em Finalizar, o IDE cria uma aplicação corporativa e um módulo EJB. Na janela Projetos, você pode ver que um projeto de Módulo EJB está listado no nó Módulos Java EE do projeto de aplicação corporativa.
@@ -112,6 +111,7 @@ Neste exercício, você usará um assistente para criar um bean de sessão no pr
 4. Selecione Sem Estado para o Tipo de Sessão.
 5. Selecione a opção Remota para Criar Interface.
 6. Selecione o projeto *EJBRemoteInterface* na lista drop-down. Clique em Finalizar.
+
 image::images/appclient-wizard-newsessionbean.png[title="Assistente de Novo Bean de Sessão"]
 
 Quando você clica em Finalizar, o IDE cria o bean da sessão no pacote  ``ejb``  no módulo EJB e abre a classe no editor. Você pode ver que  ``MySession``  implementa a interface  ``MySessionRemote``  e que o EJBRemoteInterface JAR foi adicionado como uma biblioteca no módulo EJB.
@@ -143,7 +143,9 @@ public class MySession implements MySessionRemote {
     }
 }
 ----
-4. Salve as alterações.
+
+[start=4]
+. Salve as alterações.
 
 Agora você tem uma aplicação corporativa com um EJB simples que é exposto por meio de uma interface remota. Você também tem uma biblioteca de classe independente que contém a interface EJB que pode ser distribuída para outros desenvolvedores. Os desenvolvedores podem adicionar a biblioteca em seus projetos, caso desejem se comunicar com o EJB que é exposto pela interface remota e não precisam ter o código-fonte para o EJB. Quando você modifica o código para o EJB, somente precisa distrib [...]
 
@@ -172,7 +174,7 @@ Quando você executar a aplicação corporativa, o IDE encapsulará o cliente de
 
 Neste exercício, você utilizará o assistente Novo Projeto para criar um projeto de cliente de aplicação. Caso esteja usando a implantação no GlassFish 3.1 ou 4.x, você poderá criar e executar um cliente de aplicação como um projeto standalone. O cliente da aplicação não mais precisa ser implantado e executado como parte de uma aplicação corporativa.
 
-*Observação.* Se estiver implantando no GlassFish 3.01, você precisará criar o cliente de aplicação como um módulo no projeto de aplicação corporativa e executar a aplicação corporativa.
+NOTE: Se estiver implantando no GlassFish 3.01, você precisará criar o cliente de aplicação como um módulo no projeto de aplicação corporativa e executar a aplicação corporativa.
 
 1. Selecione Arquivo > Novo Projeto e selecione Cliente de Aplicação Corporativa na categoria Java EE. Clique em Próximo.
 2. Digite *EntAppClient* como o Nome do Projeto. Clique em Próximo.
@@ -194,6 +196,7 @@ Caso o projeto biblioteca de classe não esteja aberto, você pode adicionar a b
 1. Expanda o nó Pacotes de Código-Fonte do projeto EntAppClient e abra o  ``Main.java``  no editor.
 2. Clique com o botão direito do mouse no código-fonte e selecione Inserir Código (Alt-Insert; Ctrl-I no Mac) e selecione Chamar Enterprise Bean para abrir a caixa de diálogo Chamar Enterprise Bean.
 3. Expanda o nó do projeto EntAppEJB e selecione MySession. Clique em OK.
+
 image::images/appclient-callenterprise.png[title="Caixa de diálogo Chamar Enterprise Bean"]
 
 A caixa de diálogo seleciona, automaticamente, Remota como o tipo de interface. Quando você clica em OK, o IDE adiciona a anotação a seguir no  ``Main.java`` .
@@ -208,7 +211,9 @@ private static MySessionRemote mySession;
 
 O IDE também adiciona automaticamente a EJBRemoteInterface como uma Biblioteca do projeto.
 
-4. Modifique o método  ``main``  para recuperar a String do método  ``getResult``  por meio da interface MySessionRemote. Salve as alterações.
+
+[start=4]
+. Modifique o método  ``main``  para recuperar a String do método  ``getResult``  por meio da interface MySessionRemote. Salve as alterações.
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/entappclient_ru.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/entappclient_ru.asciidoc
index 7dda8ef..e170d94 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/entappclient_ru.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/entappclient_ru.asciidoc
@@ -33,8 +33,6 @@
 
 *Упражнения по темам руководства*
 
-image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0"]
-
 * <<Exercise_10,Создание библиотеки классов Java >>
 * <<Exercise_20,Создание модуля EJB>>
 * <<Exercise_22,Создание сеансового компонента>>
@@ -93,6 +91,7 @@ image::images/appclient-newclasslibrary.png[title="Мастер создания
 2. Введите *EntAppEJB* как имя проекта. Нажмите кнопку "Далее".
 3. Выберите GlassFish Server в качестве сервера.
 4. Убедитесь, что выбрано Create EJB Module ("Создать модуль EJB") и отмените выбор Create Web Application ("Создать модуль веб-приложения"). Нажмите кнопку "Завершить".
+
 image::images/appclient-newentappejb.png[title="Выберите Create EJB Module (Создать модуль EJB) в мастере"]
 
 При нажатии кнопки "Готово" среда IDE создаст корпоративное приложение и модуль EJB. В окне 'Проекты' видно, что проект модуля EJB указан в узле Java EE Modules проекта приложения корпоративного уровня.
@@ -112,6 +111,7 @@ image::images/appclient-projects-entappejb1.png[title="В окне 'Проект
 4. Выберите Stateless ("Без поддержки состояния") в Session Type ("Тип сеанса").
 5. Выберите параметр Remote ("Удаленный") в Create Interface ("Создать интерфейс").
 6. Выберите проект *EJBRemoteInterface* из раскрывающегося списка. Нажмите кнопку "Завершить".
+
 image::images/appclient-wizard-newsessionbean.png[title="Мастер создания компонентов сеансов"]
 
 При нажатии "Готово" среда IDE создает сеансовый компонент в пакете  ``ejb``  модуля EJB и открывает класс в редакторе. Можно увидеть, что  ``MySession``  реализует интерфейс  ``MySessionRemote``  и что файл JAR EJBRemoteInterface был добавлен как библиотека модуля EJB.
@@ -143,7 +143,9 @@ public class MySession implements MySessionRemote {
     }
 }
 ----
-4. Сохраните изменения.
+
+[start=4]
+. Сохраните изменения.
 
 Теперь у нас есть корпоративное приложение с простым компонентом EJB, предоставляемым через удаленный интерфейс. У нас также имеется независимая библиотека классов, содержащая интерфейс EJB, которую можно разослать другим разработчикам. Разработчики могут добавлять библиотеку к своим проектам, если им нужна связь с EJB, предоставляемым через удаленный интерфейс, но не нужны исходные коды для EJB. При изменении кода для EJB достаточно распространить JAR обновленной библиотеки классов, есл [...]
 
@@ -172,7 +174,7 @@ public class MySession implements MySessionRemote {
 
 В этом упражнении мы используем мастер создания проектов, чтобы создать проект клиента приложения. Если развертывание выполняется на сервере GlassFish 3.1 или 4.x, клиент приложения можно создать и запустить как отдельный проект. Клиент приложения больше не надо будет развертывать и запускать как часть корпоративного приложения.
 
-*Примечание.* При развертывании на GlassFish 3.0.1, необходимо создать клиентское приложение в виде модуля в проекте корпоративного приложения и запустить корпоративное приложение.
+NOTE:  При развертывании на GlassFish 3.0.1, необходимо создать клиентское приложение в виде модуля в проекте корпоративного приложения и запустить корпоративное приложение.
 
 1. Выберите Файл > Создать проект и затем выберите "Клиент корпоративного приложения" в категории Java EE. Нажмите кнопку "Далее".
 2. Введите *EntAppClient* в поле Project Name ("Имя проекта"). Нажмите кнопку "Далее".
@@ -194,6 +196,7 @@ image::images/appclient-wizard-newentappclient.png[title="Создание кл
 1. Разверните узел Source Packages ("Пакеты исходного кода") проекта EntAppClient и откройте  ``Main.java``  в редакторе.
 2. Щелкните правой кнопкой мыши исходный код и выберите Insert Code ("Вставить код") (Alt-Insert; Ctrl-I на Mac), затем выберите Call Enterprise Bean ("Вызвать компонент корпоративного уровня"), чтобы открыть диалоговое окно вызова компонента корпоративного уровня.
 3. Выберите узел проекта EntAppEJB и затем выберите MySession. Нажмите кнопку "ОК".
+
 image::images/appclient-callenterprise.png[title="Диалоговое окно 'Вызвать компонент корпоративного уровня'"]
 
 В данном диалоговом окне автоматически выбирается тип интерфейса Remote ("Удаленный"). При нажатии кнопки OK среда IDE добавит следующую аннотацию к  ``Main.java`` .
@@ -208,7 +211,9 @@ private static MySessionRemote mySession;
 
 Среда IDE также автоматически добавит EJBRemoteInterface как библиотеку проекта.
 
-4. Измените  ``главный``  метод извлечения строки метода  ``getResult``  посредством интерфейса MySessionRemote. Сохраните изменения.
+
+[start=4]
+. Измените  ``главный``  метод извлечения строки метода  ``getResult``  посредством интерфейса MySessionRemote. Сохраните изменения.
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/entappclient_zh_CN.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/entappclient_zh_CN.asciidoc
index c6b3fd3..0fc5b3e 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/entappclient_zh_CN.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/entappclient_zh_CN.asciidoc
@@ -33,8 +33,6 @@
 
 *教程练习*
 
-image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0"]
-
 * <<Exercise_10,创建 Java 类库>>
 * <<Exercise_20,创建 EJB 模块>>
 * <<Exercise_22,创建会话 Bean>>
@@ -93,6 +91,7 @@ image::images/appclient-newclasslibrary.png[title="新建类库项目向导"]
 2. 键入 *EntAppEJB* 作为项目名称。单击 "Next"(下一步)。
 3. 选择 GlassFish Server 作为服务器。
 4. 确认选择了 "Create EJB Module"(创建 EJB 模块)并取消选择 "Create Web Application Module"(创建 Web 应用程序模块)。单击 "Finish"(完成)。
+
 image::images/appclient-newentappejb.png[title="在新建企业应用程序向导中选中了 "Create EJB Module"(创建 EJB 模块)"]
 
 单击 "Finish"(完成),此时 IDE 将创建一个企业应用程序和 EJB 模块。在 "Projects"(项目)窗口中,您可以看到在企业应用程序项目的 "Java EE Modules"(Java EE 模块)节点下面列出了 EJB 模块项目。
@@ -112,6 +111,7 @@ image::images/appclient-projects-entappejb1.png[title="显示已打开项目的
 4. 选择 "Stateless"(无状态)作为会话类型。
 5. 选择 "Create Interface"(创建接口)的 "Remote"(远程)选项。
 6. 从下拉列表中选择 *EJBRemoteInterface* 项目。单击 "Finish"(完成)。
+
 image::images/appclient-wizard-newsessionbean.png[title="新建会话 Bean 向导"]
 
 单击 "Finish"(完成),此时 IDE 将在 EJB 模块的  ``ejb``  包中创建会话 Bean,然后在编辑器中打开该类。您可以看到  ``MySession``  实现了  ``MySessionRemote``  接口,并将 EJBRemoteInterface JAR 添加为 EJB 模块的库。
@@ -143,7 +143,9 @@ public class MySession implements MySessionRemote {
     }
 }
 ----
-4. 保存所做的更改。
+
+[start=4]
+. 保存所做的更改。
 
 现在,您已创建了一个企业应用程序,其中包含通过远程接口公开的简单 EJB。您还创建了一个独立类库,其中包含可分发给其他开发者的 EJB 接口。如果开发者要与远程接口公开的 EJB 进行通信,并且不需要具有 EJB 源代码,则可以在项目中添加该库。在修改 EJB 的代码时,如果任何接口发生变化,您只需要分发更新的类库的 JAR。
 
@@ -172,7 +174,7 @@ public class MySession implements MySessionRemote {
 
 在本练习中,将使用新建项目向导创建应用程序客户端项目。如果要部署到 GlassFish 3.1 或 4.x,则可以将应用程序客户端作为独立项目进行创建和运行。应用程序客户端再也不需要作为企业应用程序的一部分进行部署和运行。
 
-*注:*如果要部署到 GlassFish 3.0.1,则需要在企业应用程序项目中将应用程序客户端创建为一个模块并运行企业应用程序。
+NOTE: 如果要部署到 GlassFish 3.0.1,则需要在企业应用程序项目中将应用程序客户端创建为一个模块并运行企业应用程序。
 
 1. 选择 "File"(文件)> "New Project"(新建项目),然后在 "Java EE" 类别中选择 "Enterprise Application Client"(企业应用程序客户端)。单击 "Next"(下一步)。
 2. 键入 *EntAppClient* 作为项目名称。单击 "Next"(下一步)。
@@ -194,6 +196,7 @@ image::images/appclient-wizard-newentappclient.png[title="在新建项目向导
 1. 展开 EntAppClient 项目的 "Source Packages"(源包)节点,然后在编辑器中打开  ``Main.java`` 。
 2. 在源代码中右键单击,选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键),然后选择 "Call Enterprise Bean"(调用企业 Bean),以打开 "Call Enterprise Bean"(调用企业 Bean)对话框。
 3. 展开 EntAppEJB 项目节点,然后选择 "MySession"。单击 "OK"(确定)。
+
 image::images/appclient-callenterprise.png[title=""Call Enterprise Bean"(调用企业 Bean)对话框"]
 
 该对话框自动选择 "Remote"(远程)作为接口类型。在单击 "OK"(确定)后,IDE 将在  ``Main.java``  中添加以下标注。
@@ -208,7 +211,9 @@ private static MySessionRemote mySession;
 
 IDE 还将自动添加 EJBRemoteInterface 作为项目库。
 
-4. 修改  ``main``  方法,以便通过 MySessionRemote 接口检索  ``getResult``  方法的字符串。保存所做的更改。
+
+[start=4]
+. 修改  ``main``  方法,以便通过 MySessionRemote 接口检索  ``getResult``  方法的字符串。保存所做的更改。
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb.asciidoc
index 580304c..07174e9 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb.asciidoc
@@ -40,8 +40,6 @@ Before starting this tutorial you may want to familiarize yourself with the foll
 
 *Tutorial Exercises*
 
-image::images/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3, 7.4 and 8.0"]
-
 * <<intro,About the NewsApp Enterprise Application>>
 * <<Exercise_1,Creating the Enterprise Application Project>>
 * <<Exercise_2,Coding the EJB Module>>
@@ -90,7 +88,7 @@ The structure of the NewsApp application generally corresponds to the following
 
 When you build an enterprise application in the IDE, the EJB and web application modules are packaged in an EAR archive that is then deployed to the server. The application is then typically accessed from the *Client Tier.* The Client Tier is the environment where the client is run and is often a web browser on a user's local system.
 
-*Note.* In the example in this tutorial you will use a single machine to host the Java EE server, the database and view the web pages. In large enterprise applications, the different tiers are often distributed across multiple machines. The Web Tier and Business Tier applications are often deployed to Java EE servers that are hosted on different machines.
+NOTE:  In the example in this tutorial you will use a single machine to host the Java EE server, the database and view the web pages. In large enterprise applications, the different tiers are often distributed across multiple machines. The Web Tier and Business Tier applications are often deployed to Java EE servers that are hosted on different machines.
 
 For more details about the structure of Java EE enterprise applications, see the chapter on link:http://download.oracle.com/javaee/6/tutorial/doc/bnaay.html[+Distributed Multitiered Applications+] in the link:http://download.oracle.com/javaee/6/tutorial/doc/[+Java EE 6 Tutorial, Part I+].
 
@@ -105,8 +103,12 @@ The goal of this exercise is to create the NewsApp enterprise application projec
 4. Deselect the Use Dedicated Folder option, if selected.
 (For this tutorial there is little reason to copy project libraries to a dedicated folder because you will not need to share libraries with other users or projects.)
 Click Next.
-5. Set the server to GlassFish Server and set the Java EE Version to Java EE 6 or Java EE 7.
-6. Select Create EJB Module and Create Web Application Module. Click Finish.
+
+[start=5]
+. Set the server to GlassFish Server and set the Java EE Version to Java EE 6 or Java EE 7.
+
+[start=6]
+. Select Create EJB Module and Create Web Application Module. Click Finish.
 
 image::images/new-entapp-wizard.png[title="New Project wizard"]
 
@@ -140,8 +142,12 @@ To create the  ``NewsEntity``  class, perform the following steps.
 8. For the Persistence Provider, choose  ``EclipseLink (JPA2.0)(default)`` .
 9. For the Data Source, choose a data source (for example, select  ``jdbc/sample``  if you want to use JavaDB).
 10. Confirm that the persistence unit is using the Java Transaction API and that the Table Generation Strategy is set to Create so that the tables based on your entity classes are created when the application is deployed.
+
 image::images/new-pu-wizard.png[title="Provider and Database panel"]
-11. Click Finish.
+
+
+[start=11]
+. Click Finish.
 
 When you click Finish, the IDE creates  ``persistence.xml``  and the entity class  ``NewsEntity.java`` . The IDE opens  ``NewsEntity.java``  in the Source Editor.
 
@@ -155,13 +161,20 @@ In the Source Editor, perform the following steps.
 private String title;
 private String body;
 ----
-2. Right-click in the Source Editor and choose Insert Code (Alt-Insert; Ctrl-I on Mac) and select Getter and Setter to open the Generate Getters and Setters dialog box.
-3. Select the  ``body``  and  ``title``  fields in the dialog box. Click Generate.
+
+[start=2]
+. Right-click in the Source Editor and choose Insert Code (Alt-Insert; Ctrl-I on Mac) and select Getter and Setter to open the Generate Getters and Setters dialog box.
+
+[start=3]
+. Select the  ``body``  and  ``title``  fields in the dialog box. Click Generate.
+
 image::images/ejb-gettersetter.png[title="Generate Getters and Setters dialog box"]
 
 When you click Generate, the IDE adds getter and setter methods for the fields.
 
-4. Save the changes to  ``NewsEntity.java`` .
+
+[start=4]
+. Save the changes to  ``NewsEntity.java`` .
 
 You can close  ``NewsEntity.java`` .
 
@@ -181,6 +194,7 @@ To create the message-driven bean, perform the following steps:
 5. Click the Add button next to the Project Destination field to open the Add Message Destination dialog box.
 6. In the Add Message Destination dialog box, type *jms/NewMessage* and select Queue for the destination type. Click OK.
 7. Confirm that the project destination is correct. Click Finish.
+
 image::images/ejb-newmessage.png[title="New Message-Driven Bean Wizard"]
 
 When you click Finish, the bean class  ``NewMessage.java``  opens in the Source Editor. You can see that the IDE added the  ``@MessageDriven``  annotation and configuration properties to the class.
@@ -211,7 +225,9 @@ public class NewMessage implements MessageListener {
 *@Resource
 private MessageDrivenContext mdc;*
 ----
-2. Introduce the entity manager into the class by right-clicking in the code and choosing Insert Code (Alt-Insert; Ctrl-I on Mac) and choosing Use Entity Manager from the pop-up menu. The IDE adds the following  ``@PersistenceContext``  annotation to your source code.
+
+[start=2]
+. Introduce the entity manager into the class by right-clicking in the code and choosing Insert Code (Alt-Insert; Ctrl-I on Mac) and choosing Use Entity Manager from the pop-up menu. The IDE adds the following  ``@PersistenceContext``  annotation to your source code.
 
 [source,java]
 ----
@@ -228,7 +244,9 @@ public void persist(Object object) {
     em.persist(object);
 }
 ----
-3. Modify the  ``persist``  method to change the name to  ``save`` . The method should look like the following:
+
+[start=3]
+. Modify the  ``persist``  method to change the name to  ``save`` . The method should look like the following:
 
 [source,java]
 ----
@@ -237,7 +255,9 @@ public void *save*(Object object) {
     em.persist(object);
 }
 ----
-4. Modify the  ``onMessage``  method by adding the following code (in bold) to the body of the method.
+
+[start=4]
+. Modify the  ``onMessage``  method by adding the following code (in bold) to the body of the method.
 
 [source,java]
 ----
@@ -258,9 +278,11 @@ public void onMessage(Message message) {
     }*
 }
 ----
-5. Right-click in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac) to generate any necessary import statements. Save your changes.
 
-*Note.* When generating the import statements, you want to *make sure to import the  ``javax.jms``  and  ``javax.annotation.Resource``  libraries*.
+[start=5]
+. Right-click in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac) to generate any necessary import statements. Save your changes.
+
+NOTE:  When generating the import statements, you want to *make sure to import the  ``javax.jms``  and  ``javax.annotation.Resource``  libraries*.
 
 For more details about message-driven beans, see the chapter link:http://java.sun.com/javaee/6/docs/tutorial/doc/gipko.html[+What is a Message-Driven Bean?+] in the link:http://download.oracle.com/javaee/6/tutorial/doc/[+Java EE 6 Tutorial, Part I+].
 
@@ -275,11 +297,12 @@ To create the session facade, perform the following steps:
 2. From the Persistence category, select Session Beans for Entity Classes. Click Next.
 3. Select  ``ejb.NewsEntity``  from the list of available entity classes and click Add to move the class to the Selected Entity Classes pane. Click Next.
 4. Check that the Package is set to  ``ejb`` . Click Finish.
+
 image::images/ejb-sessionforentity.png[title="New Message-Driven Bean Wizard"]
 
 When you click Finish, the IDE generates the session facade class  ``NewsEntityFacade.java``  and  ``AbstractFacade.java``  and opens the files in the editor. As you can see in the generated code, the annotation  ``@Stateless``  is used to declare  ``NewsEntityFacade.java``  as a stateless session bean component. The IDE also adds the  ``PersistenceContext``  annotation to inject the resource directly into the session bean component.  ``NewsEntityFacade.java``  extends  ``AbstractFacade. [...]
 
-*Note.* Remote interfaces are still required if the beans will be accessed by remote clients.
+NOTE:  Remote interfaces are still required if the beans will be accessed by remote clients.
 
 For more information about session beans, see the chapter link:http://java.sun.com/javaee/6/docs/tutorial/doc/gipjg.html[+What is a Session Bean?+] in the link:http://download.oracle.com/javaee/6/tutorial/doc/[+Java EE 6 Tutorial, Part I+].
 
@@ -304,6 +327,7 @@ To create the singleton session bean, perform the following steps.
 3. Type *SessionManagerBean* for the EJB Name.
 4. Type *ejb* for the Package name.
 5. Select Singleton. Click Finish.
+
 image::images/ejb-newsingleton.png[title="Creating a singleton session bean in the New Session Bean wizard"]
 
 When you click Finish, the IDE creates the singleton session bean class and opens the class in the editor. You can see that the IDE added the annotation  ``@Singleton``  to the class to declare a singleton session bean. The wizard also annotated the class with  ``@LocalBean`` .
@@ -336,12 +360,17 @@ The  ``@WebListener``  annotation is part of the Servlet 3.0 API and enables you
 
 When you implement  ``HttpSessionListener`` , the IDE displays a warning in the margin.
 
-2. Click the warning badge in the left margin and choose "Implement all abstract methods".
+
+[start=2]
+. Click the warning badge in the left margin and choose "Implement all abstract methods".
+
 image::images/ejb-implementabstract.png[title="Editor hint to implement abstract methods"]
 
 The IDE adds the  ``sessionCreated``  and  ``sessionDestroyed``  methods.
 
-3. Add the static field  ``counter``  and set the initial value to  ``0`` .
+
+[start=3]
+. Add the static field  ``counter``  and set the initial value to  ``0`` .
 
 [source,java]
 ----
@@ -351,7 +380,9 @@ The IDE adds the  ``sessionCreated``  and  ``sessionDestroyed``  methods.
 public class SessionManagerBean implements HttpSessionListener{
     *private static int counter = 0;*
 ----
-4. Modify the generated bodies of the  ``sessionCreated``  and  ``sessionDestroyed``  methods to increase the value of a field when a new session starts and to decrease the value when a session finishes. The value will be stored in the field  ``counter`` .
+
+[start=4]
+. Modify the generated bodies of the  ``sessionCreated``  and  ``sessionDestroyed``  methods to increase the value of a field when a new session starts and to decrease the value when a session finishes. The value will be stored in the field  ``counter`` .
 
 [source,java]
 ----
@@ -364,7 +395,9 @@ public void sessionDestroyed(HttpSessionEvent se) {
     *counter--;*
 }
 ----
-5. Add the following method that returns the current value of  ``counter`` .
+
+[start=5]
+. Add the following method that returns the current value of  ``counter`` .
 
 [source,java]
 ----
@@ -376,7 +409,9 @@ public int getActiveSessionsCount() {
 
 You will call this method from a servlet to display the current number of users/open sessions.
 
-6. Save your changes.
+
+[start=6]
+. Save your changes.
 
 The code for the session bean should now look like the following.
 
@@ -423,7 +458,9 @@ When you click Finish, the class  ``ListNews.java``  opens in the Source Editor.
 
 The IDE adds the  ``@EJB``  annotation to inject the enterprise bean.
 
-3. Use the Call Enterprise Bean dialog box again to inject the SessionManagerBean under the NewsApp-war node.
+
+[start=3]
+. Use the Call Enterprise Bean dialog box again to inject the SessionManagerBean under the NewsApp-war node.
 
 In your code you will see the following annotations that inject the two enterprise beans.
 
@@ -443,7 +480,9 @@ public class ListNews extends HttpServlet {
 
 You can also see that the  ``@WebServlet``  annotation is used to declare the class a servlet and to specify the servlet name. The  ``@WebServlet``  annotation is part of the Servlet 3.0 API introduced in the Java EE 6 specification. You can identify servlets using the annotation instead of in the  ``web.xml``  deployment descriptor. The NewsApp application does not contain  ``web.xml`` .
 
-4. In the  ``processRequest``  method, add the following code (in bold) to return the current session or create a new one.
+
+[start=4]
+. In the  ``processRequest``  method, add the following code (in bold) to return the current session or create a new one.
 
 [source,java]
 ----
@@ -453,7 +492,9 @@ protected void processRequest(HttpServletRequest request, HttpServletResponse re
         *request.getSession(true);*
         response.setContentType("text/html;charset=UTF-8");
 ----
-5. Add the following code (in bold) to the  ``processRequest``  method to print the messages and add a link to the PostMessage servlet. (Uncomment the code in the method if necessary.)
+
+[start=5]
+. Add the following code (in bold) to the  ``processRequest``  method to print the messages and add a link to the PostMessage servlet. (Uncomment the code in the method if necessary.)
 
 [source,xml]
 ----
@@ -471,7 +512,9 @@ out.println("<a href='PostMessage'>Add new message</a>");*
 out.println("</body>");
                     
 ----
-6. Add the following code (in bold) to retrieve and print the number of users/open sessions.
+
+[start=6]
+. Add the following code (in bold) to retrieve and print the number of users/open sessions.
 
 [source,xml]
 ----
@@ -484,8 +527,12 @@ out.println(sessionManagerBean.getActiveSessionsCount() + " user(s) reading the
 out.println("</body>");
                     
 ----
-7. Press Ctrl-Shift-I to generate any necessary import statements for the class. When generating the import statements, you want to *import the  ``java.util``  libraries*.
-8. Save the changes to the file.
+
+[start=7]
+. Press Ctrl-Shift-I to generate any necessary import statements for the class. When generating the import statements, you want to *import the  ``java.util``  libraries*.
+
+[start=8]
+. Save the changes to the file.
 
 
 === Creating the  ``PostMessage``  Servlet
@@ -511,7 +558,9 @@ public class PostMessage extends HttpServlet {
     @Resource(mappedName="jms/NewMessage")
     private  Queue queue;*
 ----
-2. You now add the code to send the JMS messages by adding the following code in bold to the  ``processRequest``  method:
+
+[start=2]
+. You now add the code to send the JMS messages by adding the following code in bold to the  ``processRequest``  method:
 
 [source,java]
 ----
@@ -547,7 +596,9 @@ if ((title!=null) &amp;&amp; (body!=null)) {
 PrintWriter out = response.getWriter();
                     
 ----
-3. Add the following lines (in bold) to the  ``processRequest``  method to add the web form for adding a message. (Uncomment the code to print the HTML if necessary.)
+
+[start=3]
+. Add the following lines (in bold) to the  ``processRequest``  method to add the web form for adding a message. (Uncomment the code to print the HTML if necessary.)
 
 [source,xml]
 ----
@@ -564,12 +615,17 @@ out.println("</form>");*
 out.println("</body>");
                 
 ----
-4. Press Ctrl-Shift-I to generate any necessary import statements for the class.
+
+[start=4]
+. Press Ctrl-Shift-I to generate any necessary import statements for the class.
 
 NOTE: When selecting the libraries to import for  ``Connection`` ,  ``ConnectionFactory`` ,  ``Session``  and  ``Queue`` , *confirm that you import the  ``javax.jms``  libraries*.
 
 image::images/import-jms.png[title="Select the JMS libraries in the Fix All Imports dialog"]
-5. Save your changes to the file.
+
+
+[start=5]
+. Save your changes to the file.
 
 
 ==  Running the Project
@@ -601,18 +657,26 @@ You can download the solution to this tutorial as a project in the following way
 2. In the Checkout dialog box, enter the following Repository URL:
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 Click Next.
-3. Click Browse to open the Browse Repository Folders dialog box.
-4. Expand the root node and select *samples/javaee/NewsAppEE6*. Click OK.
-5. Specify the Local Folder for the sources (the local folder must be empty).
-6. Click Finish.
+
+[start=3]
+. Click Browse to open the Browse Repository Folders dialog box.
+
+[start=4]
+. Expand the root node and select *samples/javaee/NewsAppEE6*. Click OK.
+
+[start=5]
+. Specify the Local Folder for the sources (the local folder must be empty).
+
+[start=6]
+. Click Finish.
 
 When you click Finish, the IDE initializes the local folder as a Subversion repository and checks out the project sources.
 
-7. Click Open Project in the dialog that appears when checkout is complete.
 
-*Notes.*
+[start=7]
+. Click Open Project in the dialog that appears when checkout is complete.
 
-* You need a Subversion client to checkout the sources. For more about installing Subversion, see the section on link:../ide/subversion.html#settingUp[+Setting up Subversion+] in the link:../ide/subversion.html[+Guide to Subversion in NetBeans IDE+].
+NOTE: You need a Subversion client to checkout the sources. For more about installing Subversion, see the section on link:../ide/subversion.html#settingUp[+Setting up Subversion+] in the link:../ide/subversion.html[+Guide to Subversion in NetBeans IDE+].
 
 
 == Troubleshooting
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb_ja.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb_ja.asciidoc
index 217674e..20c519f 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb_ja.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb_ja.asciidoc
@@ -39,8 +39,6 @@
 
 *チュートリアルの課題*
 
-image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます"]
-
 * <<intro,NewsAppエンタープライズ・アプリケーションについて>>
 * <<Exercise_1,エンタープライズ・アプリケーション・プロジェクトの作成>>
 * <<Exercise_2,EJBモジュールのコーディング>>
@@ -89,7 +87,7 @@ NewsAppアプリケーションの構造は、一般的に次の層に対応し
 
 IDEでエンタープライズ・アプリケーションをビルドする際、EJBおよびWebアプリケーション・モジュールがEARアーカイブにパッケージされ、サーバーにデプロイされます。通常、アプリケーションは*クライアント層*からアクセスされます。クライアント層とはクライアントが実行される環境であり、多くの場合、ユーザーのローカル・システムにあるWebブラウザです。
 
-*注意:*このチュートリアルの例では、単一のマシンを使用して、Java EEサーバー(データベース)をホストし、Webページを表示します。大規模なエンタープライズ・アプリケーションでは、異なる層が複数のマシンにわたって分散されることがよくあります。Web層およびビジネス層のアプリケーションは通常、別々のマシンでホストされるJava EEサーバーにデプロイされます。
+NOTE: このチュートリアルの例では、単一のマシンを使用して、Java EEサーバー(データベース)をホストし、Webページを表示します。大規模なエンタープライズ・アプリケーションでは、異なる層が複数のマシンにわたって分散されることがよくあります。Web層およびビジネス層のアプリケーションは通常、別々のマシンでホストされるJava EEサーバーにデプロイされます。
 
 Java EEエンタープライズ・アプリケーションの構造に関する詳細は、link:http://download.oracle.com/javaee/6/tutorial/doc/[+Java EE 6チュートリアル、パートI+]のlink:http://download.oracle.com/javaee/6/tutorial/doc/bnaay.html[+多層構造の分散アプリケーション+]の章を参照してください。
 
@@ -104,8 +102,12 @@ Java EEエンタープライズ・アプリケーションの構造に関する
 4. 専用フォルダを使用するオプションが選択されている場合は選択を解除します。
 このチュートリアルでは、ライブラリを他のユーザーまたはプロジェクトと共有する必要がないので、プロジェクト・ライブラリを専用のフォルダにコピーする理由はほとんどありません。
 「次」をクリックします。
-5. サーバーを「GlassFish Server」に設定し、「Java EEバージョン」を「Java EE 6」または「Java EE 7」に設定します。
-6. 「EJBモジュールを作成」および「Webアプリケーション・モジュールを作成」を選択します。「終了」をクリックします。
+
+[start=5]
+. サーバーを「GlassFish Server」に設定し、「Java EEバージョン」を「Java EE 6」または「Java EE 7」に設定します。
+
+[start=6]
+. 「EJBモジュールを作成」および「Webアプリケーション・モジュールを作成」を選択します。「終了」をクリックします。
 
 image::images/new-entapp-wizard.png[title="新規プロジェクト・ウィザード"]
 
@@ -139,8 +141,12 @@ image::images/ejb-projectswindow.png[title="アプリケーションの構造を
 8. 「持続性プロバイダ」には「 ``EclipseLink (JPA2.0)`` 」(デフォルト)を選択します。
 9. 「データ・ソース」にはデータ・ソースを選択します(たとえばJavaDBを使用する場合は ``jdbc/sample`` を選択します)。
 10. 持続性ユニットが「Java Transaction APIを使用」になっていること、アプリケーションデプロイ時にエンティティ・クラスに基づいた表が作成されるように「表生成戦略」が「作成」に設定されていることを確認します。
+
 image::images/new-pu-wizard.png[title="「プロバイダとデータベース」パネル"]
-11. 「終了」をクリックします。
+
+
+[start=11]
+. 「終了」をクリックします。
 
 「終了」をクリックすると、 ``persistence.xml`` およびエンティティ・クラス ``NewsEntity.java`` が作成されます。 ``NewsEntity.java`` がソース・エディタで表示されます。
 
@@ -154,13 +160,20 @@ image::images/new-pu-wizard.png[title="「プロバイダとデータベース
 private String title;
 private String body;
 ----
-2. ソース・エディタ内を右クリックして「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])を選択し、「取得メソッドおよび設定メソッド」を選択して「取得メソッドおよび設定メソッドの生成」ダイアログ・ボックスを開きます。
-3. ダイアログ・ボックスで、 ``body`` フィールドと ``title`` フィールドを選択します。「生成」をクリックします。
+
+[start=2]
+. ソース・エディタ内を右クリックして「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])を選択し、「取得メソッドおよび設定メソッド」を選択して「取得メソッドおよび設定メソッドの生成」ダイアログ・ボックスを開きます。
+
+[start=3]
+. ダイアログ・ボックスで、 ``body`` フィールドと ``title`` フィールドを選択します。「生成」をクリックします。
+
 image::images/ejb-gettersetter.png[title="「取得メソッドおよび設定メソッドの生成」ダイアログ・ボックス"]
 
 「生成」をクリックすると、フィールド用の取得メソッドと設定メソッドが追加されます。
 
-4. 変更内容を ``NewsEntity.java`` に保存します。
+
+[start=4]
+. 変更内容を ``NewsEntity.java`` に保存します。
 
  ``NewsEntity.java`` を閉じます。
 
@@ -180,6 +193,7 @@ image::images/ejb-gettersetter.png[title="「取得メソッドおよび設定
 5. 「プロジェクトの送信先」フィールドの横の「追加」ボタンをクリックして「メッセージ送信先を追加」ダイアログ・ボックスを開きます。
 6. 「メッセージ送信先を追加」ダイアログ・ボックスで「*jms/NewMessage*」と入力し、送信先タイプに「キュー」を選択します。「OK」をクリックします。
 7. プロジェクトの送信先が正しいことを確認します。「終了」をクリックします。
+
 image::images/ejb-newmessage.png[title="新規メッセージ駆動型Beanウィザード"]
 
 「終了」をクリックすると、 ``NewMessage.java`` というBeanクラスがソース・エディタに表示されます。 ``@MessageDriven`` 注釈と構成プロパティがクラスに追加されたことがわかります。
@@ -210,7 +224,9 @@ public class NewMessage implements MessageListener {
 *@Resource
 private MessageDrivenContext mdc;*
 ----
-2. コード内を右クリックして「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])を選択し、ポップアップ・メニューから「エンティティ・マネージャの使用」を選択することで、クラスにエンティティ・マネージャを導入します。次の ``@PersistenceContext`` 注釈がソース・コードに追加されます。
+
+[start=2]
+. コード内を右クリックして「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])を選択し、ポップアップ・メニューから「エンティティ・マネージャの使用」を選択することで、クラスにエンティティ・マネージャを導入します。次の ``@PersistenceContext`` 注釈がソース・コードに追加されます。
 
 [source,java]
 ----
@@ -227,7 +243,9 @@ public void persist(Object object) {
     em.persist(object);
 }
 ----
-3.  ``persist`` メソッドを変更して名前を ``save`` に変更します。メソッドは次のようになります。
+
+[start=3]
+.  ``persist`` メソッドを変更して名前を ``save`` に変更します。メソッドは次のようになります。
 
 [source,java]
 ----
@@ -236,7 +254,9 @@ public void *save*(Object object) {
     em.persist(object);
 }
 ----
-4. 次のコード(太字部分)をメソッドの本体に追加することで、 ``onMessage`` メソッドを変更します。
+
+[start=4]
+. 次のコード(太字部分)をメソッドの本体に追加することで、 ``onMessage`` メソッドを変更します。
 
 [source,java]
 ----
@@ -257,9 +277,11 @@ public void onMessage(Message message) {
     }*
 }
 ----
-5. エディタを右クリックして「インポートを修正」([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])を選択し、必要なインポート文を生成します。変更を保存します。
 
-*注意:*インポート文を生成するときは、* ``javax.jms`` ライブラリと ``javax.annotation.Resource`` ライブラリを必ずインポート*してください。
+[start=5]
+. エディタを右クリックして「インポートを修正」([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])を選択し、必要なインポート文を生成します。変更を保存します。
+
+NOTE: インポート文を生成するときは、* ``javax.jms`` ライブラリと ``javax.annotation.Resource`` ライブラリを必ずインポート*してください。
 
 メッセージ駆動型Beanの詳細は、link:http://download.oracle.com/javaee/6/tutorial/doc/[+Java EE 6チュートリアル、パートI+]のlink:http://java.sun.com/javaee/6/docs/tutorial/doc/gipko.html[+メッセージ駆動型Beanとは+]の章を参照してください。
 
@@ -274,11 +296,12 @@ public void onMessage(Message message) {
 2. 「持続性」カテゴリから「エンティティ・クラスのセッションBean」を選択します。「次」をクリックします。
 3. 利用可能なエンティティ・クラスのリストから ``ejb.NewsEntity`` を選択し、「追加」をクリックして、そのクラスを「選択されているエンティティ・クラス」ペインに移動します。「次」をクリックします。
 4. 「パッケージ」が ``ejb`` に設定されていることを確認します。「終了」をクリックします。
+
 image::images/ejb-sessionforentity.png[title="新規メッセージ駆動型Beanウィザード"]
 
 「終了」をクリックすると、IDEによってセッション・ファサード・クラス ``NewsEntityFacade.java`` および ``AbstractFacade.java`` が生成され、エディタでこれらのファイルが開きます。生成されたコードでわかるように、ステートレス・セッションBeanコンポーネントとして ``NewsEntityFacade.java`` を宣言するため、注釈 ``@Stateless`` が使用されます。さらに、 ``PersistenceContext`` 注釈が追加され、リソースが直接セッションBeanコンポーネントに注入されます。 ``NewsEntityFacade.java`` は、 ``AbstractFacade.java`` を拡張したもので、ビジネス・ロジックを含み、トランザクションを管理します。
 
-*注意:*リモート・クライアントからBeanにアクセスする場合は、引き続きリモート・インタフェースが必要です。
+NOTE: リモート・クライアントからBeanにアクセスする場合は、引き続きリモート・インタフェースが必要です。
 
 セッションBeanの詳細は、link:http://download.oracle.com/javaee/6/tutorial/doc/[+Java EE 6チュートリアル、パートI+]のlink:http://java.sun.com/javaee/6/docs/tutorial/doc/gipjg.html[+セッションBeanとは+]の章を参照してください。
 
@@ -303,6 +326,7 @@ EJB 3.1仕様では、シングルトン・セッションBeanを簡単に作成
 3. 「EJB名」に「*SessionManagerBean*」と入力します。
 4. 「パッケージ名」に「*ejb*」と入力します。
 5. 「シングルトン」を選択します。「終了」をクリックします。
+
 image::images/ejb-newsingleton.png[title="新規セッションBeanウィザードでのシングルトン・セッションの作成"]
 
 「終了」をクリックするとシングルトン・セッションBeanクラスが作成され、そのクラスがエディタに表示されます。シングルトン・セッションBeanを宣言するための注釈 ``@Singleton`` がクラスに追加されたことがわかります。このウィザードでは、クラスに ``@LocalBean`` という注釈も追加されます。
@@ -335,12 +359,17 @@ public class SessionManagerBean *implements HttpSessionListener*{
 
  ``HttpSessionListener`` を実装すると、マージンに警告が表示されます。
 
-2. 左マージンにある警告バッジをクリックして、「すべての抽象メソッドを実装」を選択します。
+
+[start=2]
+. 左マージンにある警告バッジをクリックして、「すべての抽象メソッドを実装」を選択します。
+
 image::images/ejb-implementabstract.png[title="抽象メソッドを実装するためのエディタのヒント"]
 
  ``sessionCreated`` メソッドと ``sessionDestroyed`` メソッドが追加されます。
 
-3. 静的フィールド ``counter`` を追加し、初期値を ``0`` に設定します。
+
+[start=3]
+. 静的フィールド ``counter`` を追加し、初期値を ``0`` に設定します。
 
 [source,java]
 ----
@@ -350,7 +379,9 @@ image::images/ejb-implementabstract.png[title="抽象メソッドを実装する
 public class SessionManagerBean implements HttpSessionListener{
     *private static int counter = 0;*
 ----
-4. 生成された ``sessionCreated`` メソッドと ``sessionDestroyed`` メソッドの本体を、新しいセッションが開始されるときにフィールドの値を増やし、セッションが終了するときに値を減らすように変更します。値は、フィールド ``counter`` に保存されます。
+
+[start=4]
+. 生成された ``sessionCreated`` メソッドと ``sessionDestroyed`` メソッドの本体を、新しいセッションが開始されるときにフィールドの値を増やし、セッションが終了するときに値を減らすように変更します。値は、フィールド ``counter`` に保存されます。
 
 [source,java]
 ----
@@ -363,7 +394,9 @@ public void sessionDestroyed(HttpSessionEvent se) {
     *counter--;*
 }
 ----
-5.  ``counter`` の現在の値を返す次のメソッドを追加します。
+
+[start=5]
+.  ``counter`` の現在の値を返す次のメソッドを追加します。
 
 [source,java]
 ----
@@ -375,7 +408,9 @@ public int getActiveSessionsCount() {
 
 このメソッドをサーブレットからコールし、現在のユーザー数または開かれているセッション数を表示します。
 
-6. 変更を保存します。
+
+[start=6]
+. 変更を保存します。
 
 セッションBeanのコードは、次のようになっているはずです。
 
@@ -422,7 +457,9 @@ public class SessionManagerBean implements HttpSessionListener {
 
 エンタープライズBeanを注入する ``@EJB`` 注釈が追加されます。
 
-3. もう一度「エンタープライズBeanをコール」ダイアログ・ボックスを使用して、「NewsApp-war」ノードの下にSessionManagerBeanを注入します。
+
+[start=3]
+. もう一度「エンタープライズBeanをコール」ダイアログ・ボックスを使用して、「NewsApp-war」ノードの下にSessionManagerBeanを注入します。
 
 2つのエンタープライズBeanを注入する次の注釈がコードに表示されます。
 
@@ -442,7 +479,9 @@ public class ListNews extends HttpServlet {
 
 また、クラス・サーブレットの宣言とサーブレット名の指定用に、 ``@WebServlet`` 注釈が使用されています。 ``@WebServlet`` 注釈は、Java EE 6仕様で導入されたServlet 3.0 APIの一部です。 ``web.xml`` デプロイメント・ディスクリプタで指定するかわりに、注釈を使用してサーブレットを特定できます。NewsAppアプリケーションには ``web.xml`` は含まれません。
 
-4.  ``processRequest`` メソッドに、現在のセッションを返すか新規に作成する、次のコード(太字部分)を追加します。
+
+[start=4]
+.  ``processRequest`` メソッドに、現在のセッションを返すか新規に作成する、次のコード(太字部分)を追加します。
 
 [source,java]
 ----
@@ -452,7 +491,9 @@ protected void processRequest(HttpServletRequest request, HttpServletResponse re
         *request.getSession(true);*
         response.setContentType("text/html;charset=UTF-8");
 ----
-5.  ``processRequest`` メソッドにメッセージを出力する次のコード(太字部分)を追加して、リンクをPostMessageサーブレットに追加します。(必要な場合はメソッド内のコードをコメント解除します。)
+
+[start=5]
+.  ``processRequest`` メソッドにメッセージを出力する次のコード(太字部分)を追加して、リンクをPostMessageサーブレットに追加します。(必要な場合はメソッド内のコードをコメント解除します。)
 
 [source,xml]
 ----
@@ -470,7 +511,9 @@ out.println("<a href='PostMessage'>Add new message</a>");*
 out.println("</body>");
                     
 ----
-6. ユーザー数または開かれているセッションの数を取得および出力する、次のコード(太字部分)を追加します。
+
+[start=6]
+. ユーザー数または開かれているセッションの数を取得および出力する、次のコード(太字部分)を追加します。
 
 [source,xml]
 ----
@@ -483,8 +526,12 @@ out.println(sessionManagerBean.getActiveSessionsCount() + " user(s) reading the
 out.println("</body>");
                     
 ----
-7. [Ctrl]-[Shift]-[I]を押し、このクラスに必要なインポート文を生成します。インポート文を生成するときは、* ``java.util`` ライブラリをインポート*する必要があります。
-8. 変更内容をファイルに保存します。
+
+[start=7]
+. [Ctrl]-[Shift]-[I]を押し、このクラスに必要なインポート文を生成します。インポート文を生成するときは、* ``java.util`` ライブラリをインポート*する必要があります。
+
+[start=8]
+. 変更内容をファイルに保存します。
 
 
 ===  ``PostMessage`` サーブレットの作成
@@ -510,7 +557,9 @@ public class PostMessage extends HttpServlet {
     @Resource(mappedName="jms/NewMessage")
     private  Queue queue;*
 ----
-2. 今度は、次に示す太字のコードを ``processRequest`` メソッドに追加し、JMSメッセージを送信するためのコードの追加を行います。
+
+[start=2]
+. 今度は、次に示す太字のコードを ``processRequest`` メソッドに追加し、JMSメッセージを送信するためのコードの追加を行います。
 
 [source,java]
 ----
@@ -546,7 +595,9 @@ if ((title!=null) &amp;&amp; (body!=null)) {
 PrintWriter out = response.getWriter();
                     
 ----
-3.  ``processRequest`` メソッドに次の行(太字部分)を追加して、メッセージを追加するためのWebフォームを追加します。(必要な場合はHTMLを出力するコードをコメント解除します。)
+
+[start=3]
+.  ``processRequest`` メソッドに次の行(太字部分)を追加して、メッセージを追加するためのWebフォームを追加します。(必要な場合はHTMLを出力するコードをコメント解除します。)
 
 [source,xml]
 ----
@@ -563,12 +614,17 @@ out.println("</form>");*
 out.println("</body>");
                 
 ----
-4. [Ctrl]-[Shift]-[I]を押し、このクラスに必要なインポート文を生成します。
 
-*注意:*  ``Connection`` 、 ``ConnectionFactory`` 、 ``Session`` および ``Queue`` 用にインポートするライブラリを選択するときは、* ``javax.jms`` ライブラリをインポートしていることを確認してください*。
+[start=4]
+. [Ctrl]-[Shift]-[I]を押し、このクラスに必要なインポート文を生成します。
+
+NOTE:   ``Connection`` 、 ``ConnectionFactory`` 、 ``Session`` および ``Queue`` 用にインポートするライブラリを選択するときは、* ``javax.jms`` ライブラリをインポートしていることを確認してください*。
 
 image::images/import-jms.png[title="「すべてのインポートを修正」ダイアログでのJMSライブラリの選択"]
-5. 変更内容をファイルに保存します。
+
+
+[start=5]
+. 変更内容をファイルに保存します。
 
 
 == プロジェクトの実行
@@ -600,18 +656,26 @@ image::images/ejb-browser1.png[title="ListNewsサーブレット・ページ"]
 2. 「チェックアウト」ダイアログ・ボックスで次のリポジトリURLを入力します。
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 「次」をクリックします。
-3. 「参照」をクリックして「リポジトリ・フォルダを参照」ダイアログ・ボックスを開きます。
-4. ルート・ノードを展開し、*samples/javaee/NewsAppEE6*を選択します。「OK」をクリックします。
-5. ソースのローカル・フォルダを指定します(ローカル・フォルダは空である必要があります)。
-6. 「終了」をクリックします。
+
+[start=3]
+. 「参照」をクリックして「リポジトリ・フォルダを参照」ダイアログ・ボックスを開きます。
+
+[start=4]
+. ルート・ノードを展開し、*samples/javaee/NewsAppEE6*を選択します。「OK」をクリックします。
+
+[start=5]
+. ソースのローカル・フォルダを指定します(ローカル・フォルダは空である必要があります)。
+
+[start=6]
+. 「終了」をクリックします。
 
 「終了」をクリックすると、IDEではローカル・フォルダがSubversionリポジトリとして初期化され、プロジェクト・ソースがチェックアウトされます。
 
-7. チェックアウトが完了するときに表示されるダイアログで、「プロジェクトを開く」をクリックします。
 
-*注意:*
+[start=7]
+. チェックアウトが完了するときに表示されるダイアログで、「プロジェクトを開く」をクリックします。
 
-* ソースをチェックアウトするには、Subversionクライアントが必要です。Subversionのインストールの詳細は、link:../ide/subversion.html[+NetBeans IDEでのSubversionガイド+]のlink:../ide/subversion.html#settingUp[+Subversionの設定+]の項を参照してください。
+NOTE: ソースをチェックアウトするには、Subversionクライアントが必要です。Subversionのインストールの詳細は、link:../ide/subversion.html[+NetBeans IDEでのSubversionガイド+]のlink:../ide/subversion.html#settingUp[+Subversionの設定+]の項を参照してください。
 
 
 == トラブルシューティング
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb_pt_BR.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb_pt_BR.asciidoc
index cbd3b46..e1e5666 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb_pt_BR.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb_pt_BR.asciidoc
@@ -39,8 +39,6 @@ Antes de começar este tutorial, pode ser necessário se familiarizar com o segu
 
 *Exercícios do Tutorial*
 
-image::images/netbeans-stamp-80-74-73.png[title="O conteúdo desta página se aplica ao NetBeans IDE 7.2, 7.3, 7.4 e 8.0"]
-
 * <<intro,Sobre a Aplicação Corporativa NewsApp>>
 * <<Exercise_1,Criando o Projeto de Aplicação Corporativa>>
 * <<Exercise_2,Codificando o Módulo EJB>>
@@ -89,7 +87,7 @@ A estrutura da aplicação NewsApp corresponde, geralmente, às seguintes camada
 
 Quando você constrói uma aplicação corporativa no IDE, os módulos EJB e aplicação Web são encapsulados em um arquivo compactado EAR que é, em seguida, implantado no servidor. A aplicação será, em seguida, normalmente acessada da *Camada do Cliente.* A Camada do Cliente é o ambiente em que o cliente é executado e é normalmente um browser web no sistema local do usuário.
 
-*Observação.* No exemplo deste tutorial, você usará uma única máquina para hospedar o servidor Java EE, o banco de dados e visualizar as páginas web. Em aplicações do enterprise grandes, as diferentes camadas estão, em geral, distribuídas em várias máquinas. As aplicações de Camada Web e Camada de Negócios são geralmente implantadas nos servidores Java EE que estão hospedados em diferentes máquinas.
+NOTE:  No exemplo deste tutorial, você usará uma única máquina para hospedar o servidor Java EE, o banco de dados e visualizar as páginas web. Em aplicações do enterprise grandes, as diferentes camadas estão, em geral, distribuídas em várias máquinas. As aplicações de Camada Web e Camada de Negócios são geralmente implantadas nos servidores Java EE que estão hospedados em diferentes máquinas.
 
 Para obter mais detalhes sobre a estrutura de aplicações do enterprise Java EE, consulte o capítulo sobre link:http://download.oracle.com/javaee/6/tutorial/doc/bnaay.html[+Aplicações Distribuídas em Várias camadas+] no link:http://download.oracle.com/javaee/6/tutorial/doc/[+Tutorial do Java EE 6, Parte I+].
 
@@ -104,8 +102,12 @@ O objetivo deste exercício é criar o novo projeto da aplicação corporativa N
 4. Desmarque a opção Usar Pasta Dedicada, se ela estiver selecionada.
 (Para este tutorial, não há motivo para copiar as bibliotecas de projeto em uma pasta dedicada, pois você não precisará compartilhar bibliotecas com outros usuários ou projetos).
 Clique em Próximo.
-5. Defina o servidor como GlassFish Server e defina a versão do Java EE para Java EE 6 ou Java EE 7.
-6. Selecione Criar Módulo EJB e Criar Módulo de Aplicação Web. Clique em Finalizar.
+
+[start=5]
+. Defina o servidor como GlassFish Server e defina a versão do Java EE para Java EE 6 ou Java EE 7.
+
+[start=6]
+. Selecione Criar Módulo EJB e Criar Módulo de Aplicação Web. Clique em Finalizar.
 
 image::images/new-entapp-wizard.png[title="Assistente Novo Projeto"]
 
@@ -139,8 +141,12 @@ Para criar a classe  ``NewsEntity`` , execute as seguintes etapas.
 8. Para o Provedor de Persistência, selecione  ``EclipseLink (JPA2.0)(default)`` .
 9. Para Fonte de Dados, selecione uma fonte de dados (por exemplo, selecione  ``jdbc/sample``  se quiser usar JavaDB).
 10. Confirme que a unidade de persistência está utilizando a Java Transaction API e que Estratégia de Geração de Tabela está definida como Criar, de forma que as tabelas com base nas suas classes de entidade serão criadas quando a aplicação for implantada.
+
 image::images/new-pu-wizard.png[title="Provedor e painel de Banco de Dados"]
-11. Clique em Finalizar.
+
+
+[start=11]
+. Clique em Finalizar.
 
 Quando você clica em Finalizar, o IDE cria  ``persistence.xml``  e a classe de entidade  ``NewsEntity.java`` . O IDE abre  ``NewsEntity.java``  no Editor de Código-Fonte.
 
@@ -154,13 +160,20 @@ No Editor de Código-Fonte, execute as etapas a seguir.
 private String title;
 private String body;
 ----
-2. Clique com o botão direito do mouse no Editor de Código-Fonte e selecione Inserir Código (Alt-Insert; Ctrl-I no Mac) e selecione Getter e Setter para abrir a caixa de diálogo Gerar Getters e Setters.
-3. Selecione os campos  ``body``  e  ``title``  na caixa de diálogo. Clique em Gerar.
+
+[start=2]
+. Clique com o botão direito do mouse no Editor de Código-Fonte e selecione Inserir Código (Alt-Insert; Ctrl-I no Mac) e selecione Getter e Setter para abrir a caixa de diálogo Gerar Getters e Setters.
+
+[start=3]
+. Selecione os campos  ``body``  e  ``title``  na caixa de diálogo. Clique em Gerar.
+
 image::images/ejb-gettersetter.png[title="Caixa de diálogo Gerar Getters e Setters"]
 
 Quando você clica em Gerar, o IDE adiciona os métodos getter e setter nos campos.
 
-4. Salve as alterações em  ``NewsEntity.java`` .
+
+[start=4]
+. Salve as alterações em  ``NewsEntity.java`` .
 
 Você pode fechar  ``NewsEntity.java`` .
 
@@ -180,6 +193,7 @@ Para criar o bean baseado em mensagens, execute as seguintes etapas:
 5. Clique no botão Adicionar ao lado do campo Destino do Projeto para abrir a caixa de diálogo Adicionar Destino da Mensagem.
 6. Na caixa de diálogo Adicionar Destino da Mensagem, digite *jms/NewMessage* e selecione Fila como o tipo de destino. Clique em OK.
 7. Confirme se o destino do projeto está correto. Clique em Finalizar.
+
 image::images/ejb-newmessage.png[title="Assistente Novo Bean Baseado em Mensagens"]
 
 Quando você clica em Finalizar, a classe  ``NewMessage.java``  do bean será aberta no Editor de Código-Fonte. Você pode ver que o IDE adicionou a anotação  ``@MessageDriven``  e as propriedades de configuração à classe.
@@ -210,7 +224,9 @@ public class NewMessage implements MessageListener {
 *@Resource
 private MessageDrivenContext mdc;*
 ----
-2. Introduza o gerenciador de entidades na classe clicando com o botão direito do mouse no código e selecionando Inserir Código (Alt-Insert; Ctrl-I no Mac), e selecionando Usar Gerenciador de Entidades no menu pop-up. O IDE adiciona a seguinte anotação  ``@PersistenceContext``  ao seu código-fonte.
+
+[start=2]
+. Introduza o gerenciador de entidades na classe clicando com o botão direito do mouse no código e selecionando Inserir Código (Alt-Insert; Ctrl-I no Mac), e selecionando Usar Gerenciador de Entidades no menu pop-up. O IDE adiciona a seguinte anotação  ``@PersistenceContext``  ao seu código-fonte.
 
 [source,java]
 ----
@@ -227,7 +243,9 @@ public void persist(Object object) {
     em.persist(object);
 }
 ----
-3. Modifique o método  ``persist``  para alterar o nome para  ``save`` . O método deve ter uma aparência semelhante a esta:
+
+[start=3]
+. Modifique o método  ``persist``  para alterar o nome para  ``save`` . O método deve ter uma aparência semelhante a esta:
 
 [source,java]
 ----
@@ -236,7 +254,9 @@ public void *save*(Object object) {
     em.persist(object);
 }
 ----
-4. Modifique o método  ``onMessage``  adicionando o seguinte código (em negrito) ao corpo do método.
+
+[start=4]
+. Modifique o método  ``onMessage``  adicionando o seguinte código (em negrito) ao corpo do método.
 
 [source,java]
 ----
@@ -257,9 +277,11 @@ public void onMessage(Message message) {
     }*
 }
 ----
-5. Clique com o botão direito do mouse no editor e escolha Corrigir Importações (Alt-Shift-I; ⌘-Shift-I no Mac) para gerar quaisquer instruções de importação necessárias. Salve as alterações.
 
-*Observação.* Quando geramos as instruções de importação, queremos *garantir a importação das bibliotecas  ``javax.jms`` e  ``javax.annotation.Resource`` *.
+[start=5]
+. Clique com o botão direito do mouse no editor e escolha Corrigir Importações (Alt-Shift-I; ⌘-Shift-I no Mac) para gerar quaisquer instruções de importação necessárias. Salve as alterações.
+
+NOTE:  Quando geramos as instruções de importação, queremos *garantir a importação das bibliotecas  ``javax.jms`` e  ``javax.annotation.Resource`` *.
 
 Para obter mais detalhes sobre beans baseados em mensagens, consulte o capítulo link:http://java.sun.com/javaee/6/docs/tutorial/doc/gipko.html[+O que é um Bean Baseado em Mensagem?+] no link:http://download.oracle.com/javaee/6/tutorial/doc/[+Tutorial do Java EE 6 , Parte I+].
 
@@ -274,11 +296,12 @@ Para criar a fachada de sessão, execute as seguintes etapas:
 2. Na categoria Persistência, selecione Beans de Sessão em Classes de Entidade. Clique em Próximo.
 3. Selecione  ``ejb.NewsEntity``  na lista de classes de entidades disponíveis e clique em Adicionar para mover a classe para o painel Classes de Entidades Selecionadas. Clique em Próximo.
 4. Verifique se o Pacote está definido como  ``ejb`` . Clique em Finalizar.
+
 image::images/ejb-sessionforentity.png[title="Assistente Novo Bean Baseado em Mensagens"]
 
 Quando você clica em Finalizar, o IDE gera a classe de fachada da sessão  ``NewsEntityFacade.java``  e  ``AbstractFacade.java`` , e abre os arquivos no editor. Como podemos ver no código gerado, a anotação  ``@Stateless``  é usada para declarar a classe  ``NewsEntityFacade.java``  como um componente de bean de sessão sem estado. O IDE também adiciona a anotação  ``PersistenceContext``  para injetar o recurso diretamente no componente do bean de sessão.  ``NewsEntityFacade.java``  estende [...]
 
-*Observação.* Interfaces remotas ainda são necessárias, se os beans forem ser acessados por clientes remotos.
+NOTE:  Interfaces remotas ainda são necessárias, se os beans forem ser acessados por clientes remotos.
 
 Para obter mais informações sobre beans de sessão, consulte o capítulo link:http://java.sun.com/javaee/6/docs/tutorial/doc/gipjg.html[+O que é um Bean de Sessão?+] no link:http://download.oracle.com/javaee/6/tutorial/doc/[+Tutorial do Java EE 6, Parte I+].
 
@@ -303,6 +326,7 @@ Para criar o bean da sessão único, execute as seguintes etapas.
 3. Digite *SessionManagerBean* para Nome EJB.
 4. Digite *ejb* para o nome do Pacote.
 5. Selecione Único. Clique em Finalizar.
+
 image::images/ejb-newsingleton.png[title="Criando um bean de sessão único no assistente Novo Bean de Sessão"]
 
 Quando você clica em Finalizar, o IDE gera a classe do bean de sessão único e abre a classe no Editor. Você pode ver que o IDE adicionou a anotação  ``@Singleton``  à classe para declarar um bean de sessão único. O assistente também anotou a classe com  ``@LocalBean`` .
@@ -335,12 +359,17 @@ A anotação  ``@WebListener``  é parte da API do Servlet 3.0 e permite impleme
 
 Quando você implementa  ``HttpSessionListener`` , o IDE exibe uma advertência na margem.
 
-2. Clique no emblema de advertência na margem esquerda e selecione "Implementar todos os métodos abstratos".
+
+[start=2]
+. Clique no emblema de advertência na margem esquerda e selecione "Implementar todos os métodos abstratos".
+
 image::images/ejb-implementabstract.png[title="Dica do editor para implementar métodos abstratos"]
 
 O IDE adiciona os métodos  ``sessionCreated``  e  ``sessionDestroyed`` .
 
-3. Adicione o campo estático  ``counter``  e defina o valor inicial como  ``0`` .
+
+[start=3]
+. Adicione o campo estático  ``counter``  e defina o valor inicial como  ``0`` .
 
 [source,java]
 ----
@@ -350,7 +379,9 @@ O IDE adiciona os métodos  ``sessionCreated``  e  ``sessionDestroyed`` .
 public class SessionManagerBean implements HttpSessionListener{
     *private static int counter = 0;*
 ----
-4. Modifique os corpos gerados dos métodos  ``sessionCreated``  e  ``sessionDestroyed``  para aumentar o valor de um campo quando uma nova sessão for iniciada e para diminuir o valor quando uma sessão for finalizada. O valor será armazenado no campo  ``counter`` .
+
+[start=4]
+. Modifique os corpos gerados dos métodos  ``sessionCreated``  e  ``sessionDestroyed``  para aumentar o valor de um campo quando uma nova sessão for iniciada e para diminuir o valor quando uma sessão for finalizada. O valor será armazenado no campo  ``counter`` .
 
 [source,java]
 ----
@@ -363,7 +394,9 @@ public void sessionDestroyed(HttpSessionEvent se) {
     *counter--;*
 }
 ----
-5. Adicione o método a seguir, que retorna o valor atual de  ``counter`` .
+
+[start=5]
+. Adicione o método a seguir, que retorna o valor atual de  ``counter`` .
 
 [source,java]
 ----
@@ -375,7 +408,9 @@ public int getActiveSessionsCount() {
 
 Você chamará este método de um servlet para exibir o número atual de usuários/sessões abertas.
 
-6. Salve as alterações.
+
+[start=6]
+. Salve as alterações.
 
 O código para o bean de sessão deve ter agora a seguinte aparência.
 
@@ -422,7 +457,9 @@ Quando você clicar em Finalizar, a classe  ``ListNews.java``  irá se abrir no
 
 O IDE adiciona a anotação  ``@EJB``  para injetar o enterprise bean.
 
-3. Use a caixa de diálogo Chamar Enterprise Bean novamente para injetar SessionManagerBean no nó NewsApp-war.
+
+[start=3]
+. Use a caixa de diálogo Chamar Enterprise Bean novamente para injetar SessionManagerBean no nó NewsApp-war.
 
 Você verá no seu código as seguintes anotações que injetam os dois enterprise beans.
 
@@ -442,7 +479,9 @@ public class ListNews extends HttpServlet {
 
 Você também pode ver que a anotação  ``@WebServlet``  é usada para declarar a classe um servlet e especificar o nome do servlet. A anotação  ``@WebServlet``  faz parte da API do Servlet 3.0 introduzida na especificação Java EE 6. Você pode identificar os servlets usando a anotação, em vez de no descritor de implantação  ``web.xml`` . A aplicação NewsApp não contém  ``web.xml`` .
 
-4. No método  ``processRequest`` , adicione o seguinte código (em negrito) para retornar a sessão atual ou criar uma nova sessão.
+
+[start=4]
+. No método  ``processRequest`` , adicione o seguinte código (em negrito) para retornar a sessão atual ou criar uma nova sessão.
 
 [source,java]
 ----
@@ -452,7 +491,9 @@ protected void processRequest(HttpServletRequest request, HttpServletResponse re
         *request.getSession(true);*
         response.setContentType("text/html;charset=UTF-8");
 ----
-5. Adicione o seguinte código (em negrito) ao método  ``processRequest``  para imprimir as mensagens e adicionar um link ao servlet PostMessage. (Remova os comentários do código no método, se necessário.)
+
+[start=5]
+. Adicione o seguinte código (em negrito) ao método  ``processRequest``  para imprimir as mensagens e adicionar um link ao servlet PostMessage. (Remova os comentários do código no método, se necessário.)
 
 [source,xml]
 ----
@@ -470,7 +511,9 @@ out.println("<a href='PostMessage'>Add new message</a>");*
 out.println("</body>");
                     
 ----
-6. Adicione o código seguinte (em negrito) para recuperar e imprimir o número de usuários/sessões abertas.
+
+[start=6]
+. Adicione o código seguinte (em negrito) para recuperar e imprimir o número de usuários/sessões abertas.
 
 [source,xml]
 ----
@@ -483,8 +526,12 @@ out.println(sessionManagerBean.getActiveSessionsCount() + " user(s) reading the
 out.println("</body>");
                     
 ----
-7. Pressione Ctrl-Shift-I para gerar as instruções de importação necessárias para a classe. Ao gerar as instruções de importação, você deseja *importar as bibliotecas  ``java.util`` *.
-8. Salve as alterações feitas no arquivo.
+
+[start=7]
+. Pressione Ctrl-Shift-I para gerar as instruções de importação necessárias para a classe. Ao gerar as instruções de importação, você deseja *importar as bibliotecas  ``java.util`` *.
+
+[start=8]
+. Salve as alterações feitas no arquivo.
 
 
 === Criando o Servlet  ``PostMessage`` 
@@ -510,7 +557,9 @@ public class PostMessage extends HttpServlet {
     @Resource(mappedName="jms/NewMessage")
     private  Queue queue;*
 ----
-2. Agora você insere o código para enviar as mensagens JMS adicionando o seguinte código em negrito ao método  ``processRequest`` :
+
+[start=2]
+. Agora você insere o código para enviar as mensagens JMS adicionando o seguinte código em negrito ao método  ``processRequest`` :
 
 [source,java]
 ----
@@ -546,7 +595,9 @@ if ((title!=null) &amp;&amp; (body!=null)) {
 PrintWriter out = response.getWriter();
                     
 ----
-3. Adicione as linhas a seguir (em negrito) ao método  ``processRequest``  para adicionar o form web para adicionar uma mensagem. (Remova o comentário do código para imprimir o HTML, se necessário.)
+
+[start=3]
+. Adicione as linhas a seguir (em negrito) ao método  ``processRequest``  para adicionar o form web para adicionar uma mensagem. (Remova o comentário do código para imprimir o HTML, se necessário.)
 
 [source,xml]
 ----
@@ -563,12 +614,17 @@ out.println("</form>");*
 out.println("</body>");
                 
 ----
-4. Pressione Ctrl-Shift-I para gerar as instruções de importação necessárias para a classe.
 
-*Observação:* ao selecionar bibliotecas para importação para  ``Connection`` ,  ``ConnectionFactory`` ,  ``Session``  e ``Queue`` , *certifique-se de importar as bibliotecas  ``javax.jms`` *.
+[start=4]
+. Pressione Ctrl-Shift-I para gerar as instruções de importação necessárias para a classe.
+
+NOTE:  ao selecionar bibliotecas para importação para  ``Connection`` ,  ``ConnectionFactory`` ,  ``Session``  e ``Queue`` , *certifique-se de importar as bibliotecas  ``javax.jms`` *.
 
 image::images/import-jms.png[title="Selecione as bibliotecas JMS na caixa de diálogo Corrigir Todas as Importações"]
-5. Salve as alterações feitas no arquivo.
+
+
+[start=5]
+. Salve as alterações feitas no arquivo.
 
 
 ==  Executando o Projeto
@@ -600,14 +656,24 @@ Você pode fazer o download da solução para este projeto como um projeto das s
 2. Na caixa de diálogo Efetuar Check-out, insira o Repositório URL a seguir:
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 Clique em Próximo.
-3. Clique em Procurar para abrir a caixa de diálogo Procurar Pastas do Repositório.
-4. Expanda o nó raiz e selecione *samples/javaee/NewsAppEE6*. Clique em OK.
-5. Especifique a Pasta Local para o códigos-fonte (a pasta local precisa estar vazia).
-6. Clique em Finalizar.
+
+[start=3]
+. Clique em Procurar para abrir a caixa de diálogo Procurar Pastas do Repositório.
+
+[start=4]
+. Expanda o nó raiz e selecione *samples/javaee/NewsAppEE6*. Clique em OK.
+
+[start=5]
+. Especifique a Pasta Local para o códigos-fonte (a pasta local precisa estar vazia).
+
+[start=6]
+. Clique em Finalizar.
 
 Quando você clica em Finalizar, o IDE inicializa a pasta local como um repositório Subversion e verifica os códigos-fonte do projeto.
 
-7. Clique em Abrir Projeto na caixa de diálogo exibida quando o check-out for concluído.
+
+[start=7]
+. Clique em Abrir Projeto na caixa de diálogo exibida quando o check-out for concluído.
 
 *Observações.*
 
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb_ru.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb_ru.asciidoc
index c1fc28c..ca2d417 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb_ru.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb_ru.asciidoc
@@ -39,8 +39,6 @@
 
 *Упражнения по темам руководства*
 
-image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0"]
-
 * <<intro,О приложении J2EE NewsApp>>
 * <<Exercise_1,Создание проекта приложения J2EE>>
 * <<Exercise_2,Написание кода модуля EJB>>
@@ -89,7 +87,7 @@ image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой 
 
 При сборке приложения J2EE в среде IDE модуль EJB и модуль веб-приложения упаковываются в архивный файл EAR, который затем развертывается на сервере. Затем доступ к приложению обычно получается из *клиентского уровня.* Уровень клиента является средой, в которой клиент запускается и часто является веб-браузером в локальной системе пользователя.
 
-*Примечание.* В примере в этом учебном курсе будет использоваться один компьютер для размещения сервера Java EE, базы данных и просмотра веб-страниц. В больших приложениях J2EE разные уровни часто распределены между несколькими машинами. Приложения веб-уровня и бизнес-уровня зачастую разворачиваются на серверах Java EE, которые размещаются на разных машинах.
+NOTE:  В примере в этом учебном курсе будет использоваться один компьютер для размещения сервера Java EE, базы данных и просмотра веб-страниц. В больших приложениях J2EE разные уровни часто распределены между несколькими машинами. Приложения веб-уровня и бизнес-уровня зачастую разворачиваются на серверах Java EE, которые размещаются на разных машинах.
 
 Подробные сведения о структуре приложений J2EE Java EE см. в главе link:http://download.oracle.com/javaee/6/tutorial/doc/bnaay.html[+Распределенные многоуровневые приложения+] в link:http://download.oracle.com/javaee/6/tutorial/doc/[+руководстве по Java EE 6, часть I+].
 
@@ -104,8 +102,12 @@ image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой 
 4. Снимите флажок "Использовать отдельную папку", если он установлен.
 (В рамках этого руководства копирование библиотек проекта в отдельную папку нецелесообразно, поскольку совместное использование библиотек с другими пользователями или проектами не требуется.)
 Нажмите кнопку "Далее".
-5. В качестве сервера выберите сервер GlassFish, а в качестве версии Java EE укажите Java EE 6 или Java EE 7.
-6. Выберите пункты "Создать модуль EJB" и "Создать модуль веб-приложения". Нажмите кнопку "Завершить".
+
+[start=5]
+. В качестве сервера выберите сервер GlassFish, а в качестве версии Java EE укажите Java EE 6 или Java EE 7.
+
+[start=6]
+. Выберите пункты "Создать модуль EJB" и "Создать модуль веб-приложения". Нажмите кнопку "Завершить".
 
 image::images/new-entapp-wizard.png[title="Мастер создания проектов"]
 
@@ -139,8 +141,12 @@ image::images/ejb-projectswindow.png[title="Окно 'Проекты', в кот
 8. Для Поставщика сохранения состояния выберите  ``EclipseLink (JPA2.0)(по умолчанию)`` .
 9. В поле "Источник данных" укажите источник данных (например, выберите  ``jdbc/sample`` , если необходимо использовать JavaDB).
 10. Убедитесь в том, что для блока сохранения состояния используется интерфейс API транзакций Java и что для стратегии создания таблиц установлено значение "Создать", т. е. таблицы на основе классов сущностей создаются при развертывании приложения.
+
 image::images/new-pu-wizard.png[title="Панель 'Поставщик и база данных'"]
-11. Нажмите кнопку "Завершить".
+
+
+[start=11]
+. Нажмите кнопку "Завершить".
 
 При нажатии кнопки "Завершить" в среде IDE будет создан файл  ``persistence.xml``  и класс сущностей  ``NewsEntity.java`` .  ``NewsEntity.java``  будет открыт средой IDE в редакторе исходного кода.
 
@@ -154,13 +160,20 @@ image::images/new-pu-wizard.png[title="Панель 'Поставщик и ба
 private String title;
 private String body;
 ----
-2. Щелкните правой кнопкой мыши в редакторе исходного кода, выберите пункт "Вставить код" (Alt-Insert; Ctrl-I на Mac) и выберите пункт "Методы получения и установки", чтобы открыть диалоговое окно "Создать методы получения и установки".
-3. В диалоговом окне выберите поля  ``body``  и  ``title`` . Нажмите кнопку "Создать".
+
+[start=2]
+. Щелкните правой кнопкой мыши в редакторе исходного кода, выберите пункт "Вставить код" (Alt-Insert; Ctrl-I на Mac) и выберите пункт "Методы получения и установки", чтобы открыть диалоговое окно "Создать методы получения и установки".
+
+[start=3]
+. В диалоговом окне выберите поля  ``body``  и  ``title`` . Нажмите кнопку "Создать".
+
 image::images/ejb-gettersetter.png[title="Диалоговое окно 'Создание методов получения и установки'"]
 
 При нажатии кнопки "Создать" в среде IDE добавляются методы получения и установки для полей.
 
-4. Сохраните изменения в  ``NewsEntity.java`` .
+
+[start=4]
+. Сохраните изменения в  ``NewsEntity.java`` .
 
  ``NewsEntity.java``  можно закрыть.
 
@@ -180,6 +193,7 @@ image::images/ejb-gettersetter.png[title="Диалоговое окно 'Соз
 5. Для открытия диалогового окна "Добавление адресата сообщения" нажмите кнопку "Добавить" рядом с полем "Адресат проекта".
 6. В диалоговом окне "Добавление адресата сообщения" введите *jms/NewMessage* и выберите "Очередь" для типа адресата. Нажмите кнопку "ОК".
 7. Подтвердите, что адресат проекта выбран правильно. Нажмите кнопку "Завершить".
+
 image::images/ejb-newmessage.png[title="Мастер создания компонентов, управляемых сообщениями"]
 
 При нажатии кнопки "Завершить" в редакторе исходного кода откроется класс компонента  ``NewMessage.java`` . При этом в среде IDE добавляется аннотация  ``@MessageDriven``  и свойства настройки для класса.
@@ -210,7 +224,9 @@ public class NewMessage implements MessageListener {
 *@Resource
 private MessageDrivenContext mdc;*
 ----
-2. Добавьте диспетчер сущностей в класс, щелкнув правой кнопкой мыши в коде и выбрав 'Вставить код' (Alt-Insert, Ctrl-I в Mac) и выбрав 'Использовать диспетчер сущностей' из всплывающего меню. В среде IDE к исходному коду добавляется следующая аннотация  ``@PersistenceContext`` .
+
+[start=2]
+. Добавьте диспетчер сущностей в класс, щелкнув правой кнопкой мыши в коде и выбрав 'Вставить код' (Alt-Insert, Ctrl-I в Mac) и выбрав 'Использовать диспетчер сущностей' из всплывающего меню. В среде IDE к исходному коду добавляется следующая аннотация  ``@PersistenceContext`` .
 
 [source,java]
 ----
@@ -227,7 +243,9 @@ public void persist(Object object) {
     em.persist(object);
 }
 ----
-3. Для изменения имени на  ``save``  измените метод  ``persist`` . В результате метод должен выглядеть следующим образом:
+
+[start=3]
+. Для изменения имени на  ``save``  измените метод  ``persist`` . В результате метод должен выглядеть следующим образом:
 
 [source,java]
 ----
@@ -236,7 +254,9 @@ public void *save*(Object object) {
     em.persist(object);
 }
 ----
-4. Измените метод  ``onMessage``  путем добавления следующих строк кода (выделено полужирным шрифтом) в тело метода.
+
+[start=4]
+. Измените метод  ``onMessage``  путем добавления следующих строк кода (выделено полужирным шрифтом) в тело метода.
 
 [source,java]
 ----
@@ -257,9 +277,11 @@ public void onMessage(Message message) {
     }*
 }
 ----
-5. Щелкните правой кнопкой мыши в редакторе и выберите 'Исправить выражения импорта' (Alt-Shift-I; ⌘-Shift-I в Mac) для создания необходимых операторов импорта. Сохраните изменения.
 
-*Примечание.* При создании операторов импорта необходимо *убедиться в импорте библиотек  ``javax.jms``  и  ``javax.annotation.Resource`` *.
+[start=5]
+. Щелкните правой кнопкой мыши в редакторе и выберите 'Исправить выражения импорта' (Alt-Shift-I; ⌘-Shift-I в Mac) для создания необходимых операторов импорта. Сохраните изменения.
+
+NOTE:  При создании операторов импорта необходимо *убедиться в импорте библиотек  ``javax.jms``  и  ``javax.annotation.Resource`` *.
 
 Подробные сведения об управляемых сообщениями компонентах приведены в главе link:http://java.sun.com/javaee/6/docs/tutorial/doc/gipko.html[+Что такое управляемый сообщениями компонент?+] в link:http://download.oracle.com/javaee/6/tutorial/doc/[+руководстве по Java EE 6. Часть I+].
 
@@ -274,11 +296,12 @@ public void onMessage(Message message) {
 2. Из категории "Сохранение состояния" выберите "Сеансные компоненты для классов сущностей". Нажмите кнопку "Далее".
 3. Из списка доступных классов сущностей выберите  ``ejb.NewsEntity``  и нажмите кнопку "Добавить", чтобы переместить класс на панель "Выбранные классы сущностей". Нажмите кнопку "Далее".
 4. Убедитесь в том, что для параметра "Пакет" установлено значение  ``ejb`` . Нажмите кнопку "Завершить".
+
 image::images/ejb-sessionforentity.png[title="Мастер создания компонентов, управляемых сообщениями"]
 
 При нажатии кнопки "Готово" среда IDE создает класс фасада сеанса  ``NewsEntityFacade.java``  и  ``AbstractFacade.java``  и открывает файлы в редакторе. Как видите из созданного кода, аннотация  ``@Stateless``  используется для объявления  ``NewsEntityFacade.java``  в качестве простого сеансного компонента без сохранения состояния. Также в среде IDE добавляется аннотация  ``PersistenceContext``  для внедрения ресурса непосредственно в элемент сеансного компонента. Класс  ``NewsEntityFaca [...]
 
-*Примечание.* Удаленный интерфейс все еще является обязательным, если доступ к компонентам будет осуществляться с использованием удаленных клиентов.
+NOTE:  Удаленный интерфейс все еще является обязательным, если доступ к компонентам будет осуществляться с использованием удаленных клиентов.
 
 Для получения подробных сведений о сеансных компонентах см. главу link:http://java.sun.com/javaee/6/docs/tutorial/doc/gipjg.html[+Что такое сеансный компонент?+] в link:http://download.oracle.com/javaee/6/tutorial/doc/[+руководстве по Java EE 6, часть I+].
 
@@ -303,6 +326,7 @@ image::images/ejb-sessionforentity.png[title="Мастер создания ко
 3. В поле "Имя EJB" введите *SessionManagerBean*.
 4. В качестве имени параметра "Пакет" введите *ejb*.
 5. Выберите "Единичный". Нажмите кнопку "Завершить".
+
 image::images/ejb-newsingleton.png[title="Создание отдельного компонента в мастере создания компонентов сеансов"]
 
 При нажатии кнопки "Завершить" в среде IDE будет создан класс единичного сеансного компонента, который откроется в редакторе. При этом в среде IDE добавляется аннотация  ``@Singleton``  к классу для объявления единичного сеансного компонента. В мастере также создается аннотация  ``@LocalBean``  для класса.
@@ -335,12 +359,17 @@ public class SessionManagerBean *implements HttpSessionListener*{
 
 При реализации  ``HttpSessionListener``  в среде IDE в поле отображается предупреждение.
 
-2. Щелкните значок предупреждения в левом поле и выберите "Реализовать все абстрактные методы".
+
+[start=2]
+. Щелкните значок предупреждения в левом поле и выберите "Реализовать все абстрактные методы".
+
 image::images/ejb-implementabstract.png[title="Подсказка редактора о реализации абстрактных методов"]
 
 В среде IDE добавляются методы  ``sessionCreated``  и  ``sessionDestroyed`` .
 
-3. Добавьте статическое поле  ``counter``  и установите начальное значение на  ``0`` .
+
+[start=3]
+. Добавьте статическое поле  ``counter``  и установите начальное значение на  ``0`` .
 
 [source,java]
 ----
@@ -350,7 +379,9 @@ image::images/ejb-implementabstract.png[title="Подсказка редакто
 public class SessionManagerBean implements HttpSessionListener{
     *private static int counter = 0;*
 ----
-4. Измените созданные тела методов  ``sessionCreated``  и  ``sessionDestroyed``  для увеличения значения поля при запуске нового сеанса и для уменьшения значения при завершении сеанса. Значение сохраняется в поле  ``counter`` .
+
+[start=4]
+. Измените созданные тела методов  ``sessionCreated``  и  ``sessionDestroyed``  для увеличения значения поля при запуске нового сеанса и для уменьшения значения при завершении сеанса. Значение сохраняется в поле  ``counter`` .
 
 [source,java]
 ----
@@ -363,7 +394,9 @@ public void sessionDestroyed(HttpSessionEvent se) {
     *counter--;*
 }
 ----
-5. Добавьте следующий метод, возвращающий текущее значение поля  ``counter`` .
+
+[start=5]
+. Добавьте следующий метод, возвращающий текущее значение поля  ``counter`` .
 
 [source,java]
 ----
@@ -375,7 +408,9 @@ public int getActiveSessionsCount() {
 
 Этот метод вызывается из сервлета для отображения текущего количества пользователей/открытых сеансов.
 
-6. Сохраните изменения.
+
+[start=6]
+. Сохраните изменения.
 
 Теперь код сеансного компонента должен выглядеть следующим образом.
 
@@ -422,7 +457,9 @@ public class SessionManagerBean implements HttpSessionListener {
 
 В среде IDE добавляется аннотация  ``@EJB``  для ввода компонента EJB.
 
-3. Используйте диалоговое окно "Вызов компонента EJB" еще раз для ввода компонента SessionManagerBean в узел NewsApp-war.
+
+[start=3]
+. Используйте диалоговое окно "Вызов компонента EJB" еще раз для ввода компонента SessionManagerBean в узел NewsApp-war.
 
 В коде можно увидеть следующие аннотации для ввода двух компонентов EJB.
 
@@ -442,7 +479,9 @@ public class ListNews extends HttpServlet {
 
 Кроме того, можно увидеть, что аннотация  ``@WebServlet``  используется для объявления класса сервлета и для указания имени сервлета. Аннотация  ``@WebServlet``  является частью интерфейса API сервлета 3.0, представленного в спецификации Java EE 6. Сервлеты можно определить с помощью аннотации вместо дескриптора развертывания в  ``web.xml`` . Приложение NewsApp не содержит  ``web.xml`` .
 
-4. В методе  ``processRequest``  добавьте следующий код (выделено полужирным шрифтом) для возврата к текущему сеансу или создания нового.
+
+[start=4]
+. В методе  ``processRequest``  добавьте следующий код (выделено полужирным шрифтом) для возврата к текущему сеансу или создания нового.
 
 [source,java]
 ----
@@ -452,7 +491,9 @@ protected void processRequest(HttpServletRequest request, HttpServletResponse re
         *request.getSession(true);*
         response.setContentType("text/html;charset=UTF-8");
 ----
-5. Добавьте следующий код (выделен жирным шрифтом) к методу  ``processRequest``  для вывода сообщений и добавления ссылки на сервлет PostMessage. (При необходимости удалите знак комментария для кода в методе.)
+
+[start=5]
+. Добавьте следующий код (выделен жирным шрифтом) к методу  ``processRequest``  для вывода сообщений и добавления ссылки на сервлет PostMessage. (При необходимости удалите знак комментария для кода в методе.)
 
 [source,xml]
 ----
@@ -470,7 +511,9 @@ out.println("<a href='PostMessage'>Add new message</a>");*
 out.println("</body>");
                     
 ----
-6. Добавьте следующий код (выделено полужирным шрифтом) для получения и отображения количества пользователей/открытых сеансов.
+
+[start=6]
+. Добавьте следующий код (выделено полужирным шрифтом) для получения и отображения количества пользователей/открытых сеансов.
 
 [source,xml]
 ----
@@ -483,8 +526,12 @@ out.println(sessionManagerBean.getActiveSessionsCount() + " user(s) reading the
 out.println("</body>");
                     
 ----
-7. Нажмите сочетание клавиш Ctrl+Shift+I для создания обязательных операторов импорта для класса. При создании операторов импорта может потребоваться *импортировать библиотеки  ``java.util`` *.
-8. Сохраните измененный файл.
+
+[start=7]
+. Нажмите сочетание клавиш Ctrl+Shift+I для создания обязательных операторов импорта для класса. При создании операторов импорта может потребоваться *импортировать библиотеки  ``java.util`` *.
+
+[start=8]
+. Сохраните измененный файл.
 
 
 === Создание сервлета  ``PostMessage`` 
@@ -510,7 +557,9 @@ public class PostMessage extends HttpServlet {
     @Resource(mappedName="jms/NewMessage")
     private  Queue queue;*
 ----
-2. Теперь создадим код для передачи сообщения JMS путем добавления в метод  ``processRequest``  следующих строк кода, выделенных полужирным шрифтом:
+
+[start=2]
+. Теперь создадим код для передачи сообщения JMS путем добавления в метод  ``processRequest``  следующих строк кода, выделенных полужирным шрифтом:
 
 [source,java]
 ----
@@ -546,7 +595,9 @@ if ((title!=null) &amp;&amp; (body!=null)) {
 PrintWriter out = response.getWriter();
                     
 ----
-3. Добавьте следующие строки (выделены жирным шрифтом) к методу  ``processRequest`` , чтобы добавить веб-форму добавления сообщения. (При необходимости, уберите знак комментария для вывода кода HTML)
+
+[start=3]
+. Добавьте следующие строки (выделены жирным шрифтом) к методу  ``processRequest`` , чтобы добавить веб-форму добавления сообщения. (При необходимости, уберите знак комментария для вывода кода HTML)
 
 [source,xml]
 ----
@@ -563,12 +614,17 @@ out.println("</form>");*
 out.println("</body>");
                 
 ----
-4. Нажмите сочетание клавиш Ctrl+Shift+I для создания обязательных операторов импорта для класса.
 
-*Примечание.* При выборе библиотек для импорта для  ``Connection`` ,  ``ConnectionFactory`` ,  ``Session``  и  ``Queue`` , *убедитесь, что импортируются библиотеки  ``javax.jms`` *.
+[start=4]
+. Нажмите сочетание клавиш Ctrl+Shift+I для создания обязательных операторов импорта для класса.
+
+NOTE:  При выборе библиотек для импорта для  ``Connection`` ,  ``ConnectionFactory`` ,  ``Session``  и  ``Queue`` , *убедитесь, что импортируются библиотеки  ``javax.jms`` *.
 
 image::images/import-jms.png[title="Выберите библиотеки JMS в диалоговом окне 'Исправить все выражения импорта'"]
-5. Сохраните измененный файл.
+
+
+[start=5]
+. Сохраните измененный файл.
 
 
 ==  Выполнение проекта
@@ -596,18 +652,32 @@ image::images/ejb-browser1.png[title="Страница сервлета ListNews
 
 * Загрузите link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252FNewsAppEE6.zip[+архив завершенного проекта в формате zip+].
 * Выполните проверку исходных файлов проекта на выходе из примеров NetBeans, выполнив перечисленные ниже действия.
-1. Выберите в главном меню "Группа > Subversion > Проверить".
-2. В диалоговом окне "Проверка" введите следующий URL-адрес репозитория:
+
+[start=1]
+. Выберите в главном меню "Группа > Subversion > Проверить".
+
+[start=2]
+. В диалоговом окне "Проверка" введите следующий URL-адрес репозитория:
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 Нажмите кнопку "Далее".
-3. Нажмите кнопку Browse ("Обзор") для открытия диалогового окна Browse Repository Folders ("Обзор папок репозитория").
-4. Разверните корневой узел и выберите *samples/javaee/NewsAppEE6*. Нажмите кнопку "ОК".
-5. Укажите локальную папку для исходных файлов (папка должна быть пустой).
-6. Нажмите кнопку "Завершить".
+
+[start=3]
+. Нажмите кнопку Browse ("Обзор") для открытия диалогового окна Browse Repository Folders ("Обзор папок репозитория").
+
+[start=4]
+. Разверните корневой узел и выберите *samples/javaee/NewsAppEE6*. Нажмите кнопку "ОК".
+
+[start=5]
+. Укажите локальную папку для исходных файлов (папка должна быть пустой).
+
+[start=6]
+. Нажмите кнопку "Завершить".
 
 После нажатия кнопки "Готово" среда IDE инициализирует локальную папку в качестве репозитория Subversion и выполняет проверку исходных файлов проекта на выходе.
 
-7. Щелкните команду "Открыть проект" в диалоговом окне, которое появится после завершения проверки.
+
+[start=7]
+. Щелкните команду "Открыть проект" в диалоговом окне, которое появится после завершения проверки.
 
 *Примечания.*
 
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb_zh_CN.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb_zh_CN.asciidoc
index b27ea64..4db64d5 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb_zh_CN.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-ejb_zh_CN.asciidoc
@@ -39,8 +39,6 @@
 
 *教程练习*
 
-image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0"]
-
 * <<intro,关于 NewsApp 企业应用程序>>
 * <<Exercise_1,创建企业应用程序项目>>
 * <<Exercise_2,对 EJB 模块进行编码>>
@@ -89,7 +87,7 @@ NewsApp 应用程序结构通常与以下层相对应。
 
 在 IDE 中构建企业应用程序时,EJB 和 Web 应用程序模块将打包到 EAR 档案中,然后将档案部署到服务器上。随后通常从*客户端层*访问该应用程序。客户端层是运行客户端的环境,它通常是用户本地系统上的 Web 浏览器。
 
-*注:*在本教程的示例中,您将使用单台计算机承载 Java EE 服务器、数据库并查看 Web 页。在大型企业应用程序中,不同的层通常分布在多台计算机上。Web 层和业务层应用程序通常部署到在不同计算机中托管的 Java EE 服务器上。
+NOTE: 在本教程的示例中,您将使用单台计算机承载 Java EE 服务器、数据库并查看 Web 页。在大型企业应用程序中,不同的层通常分布在多台计算机上。Web 层和业务层应用程序通常部署到在不同计算机中托管的 Java EE 服务器上。
 
 有关 Java EE 企业应用程序结构的更多详细信息,请参见 link:http://download.oracle.com/javaee/6/tutorial/doc/[+Java EE 6 教程第 I 部分+]中的link:http://download.oracle.com/javaee/6/tutorial/doc/bnaay.html[+分布式多层应用程序+]一章。
 
@@ -104,8 +102,12 @@ NewsApp 应用程序结构通常与以下层相对应。
 4. 取消选中 "Use Dedicated Folder"(使用专用文件夹)选项(如果该选项处于选中状态)。
 (在本教程中,我们将项目库复制到一个专门的文件夹中,因为需要与其他用户或项目共享库。)
 单击 "Next"(下一步)。
-5. 将服务器设置为 "GlassFish Server",并将 Java EE 版本设置为 "Java EE 6" 或 "Java EE 7"。
-6. 选中 "Create EJB Module"(创建 EJB 模块)和 "Create Web Application Module"(创建 Web 应用程序模块)。单击 "Finish"(完成)。
+
+[start=5]
+. 将服务器设置为 "GlassFish Server",并将 Java EE 版本设置为 "Java EE 6" 或 "Java EE 7"。
+
+[start=6]
+. 选中 "Create EJB Module"(创建 EJB 模块)和 "Create Web Application Module"(创建 Web 应用程序模块)。单击 "Finish"(完成)。
 
 image::images/new-entapp-wizard.png[title="新建项目向导"]
 
@@ -139,14 +141,20 @@ image::images/ejb-projectswindow.png[title="显示应用程序结构的 "Project
 8. 选择  ``EclipseLink (JPA2.0)(default)`` (EclipseLink (JPA2.0) (默认))作为持久性提供器。
 9. 为 "Data Source"(数据源)选择一个数据源(例如,如果您希望使用 JavaDB,则选择  ``jdbc/sample`` )。
 10. 确保持久性单元将使用 Java 事务 API,并且已将 "Table Generation Strategy"(表生成策略)设置为 "Create"(创建),以便在部署应用程序时将创建基于实体类的表。
+
 image::images/new-pu-wizard.png[title=""Provider and Database"(提供器和数据库)面板"]
-11. 单击 "Finish"(完成)。
+
+
+[start=11]
+. 单击 "Finish"(完成)。
 
 单击 "Finish"(完成),此时 IDE 将创建  ``persistence.xml``  和  ``NewsEntity.java``  实体类。IDE 将在源代码编辑器中打开  ``NewsEntity.java`` 。
 
 在源代码编辑器中,执行以下步骤。
 
-1. 将以下字段声明添加到类中:
+
+[start=1]
+. 将以下字段声明添加到类中:
 
 [source,java]
 ----
@@ -154,13 +162,20 @@ image::images/new-pu-wizard.png[title=""Provider and Database"(提供器和数
 private String title;
 private String body;
 ----
-2. 在源代码编辑器中右键单击,选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键),然后选择 "Getter and Setter"(Getter 和 Setter),以打开 "Generate Getters and Setters"(生成 Getter 和 Setter)对话框。
-3. 在对话框中选择  ``body``  和  ``title``  字段。单击 "Generate"(生成)。
+
+[start=2]
+. 在源代码编辑器中右键单击,选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键),然后选择 "Getter and Setter"(Getter 和 Setter),以打开 "Generate Getters and Setters"(生成 Getter 和 Setter)对话框。
+
+[start=3]
+. 在对话框中选择  ``body``  和  ``title``  字段。单击 "Generate"(生成)。
+
 image::images/ejb-gettersetter.png[title=""Generate Getters and Setters"(生成 getter 和 setter)对话框"]
 
 在单击 "Generate"(生成)时,IDE 将为字段添加 getter 和 setter 方法。
 
-4. 保存对  ``NewsEntity.java``  的更改。
+
+[start=4]
+. 保存对  ``NewsEntity.java``  的更改。
 
 您可以将  ``NewsEntity.java``  关闭。
 
@@ -180,6 +195,7 @@ image::images/ejb-gettersetter.png[title=""Generate Getters and Setters"(生
 5. 单击 "Project Destination"(项目目标)字段旁边的 "Add"(添加)按钮,以打开 "Add Message Destination"(添加消息目标)对话框。
 6. 在 "Add Message Destination"(添加消息目标)对话框中,键入 *jms/NewMessage* 并选择 "Queue"(队列)作为目标类型。单击 "OK"(确定)。
 7. 确认项目目标正确无误。单击 "Finish"(完成)。
+
 image::images/ejb-newmessage.png[title="新建消息驱动 Bean 向导"]
 
 单击 "Finish"(完成),此时将在源代码编辑器中打开 Bean 类  ``NewMessage.java`` 。您可以看到 IDE 在该类中添加了  ``@MessageDriven``  标注和配置属性。
@@ -210,7 +226,9 @@ public class NewMessage implements MessageListener {
 *@Resource
 private MessageDrivenContext mdc;*
 ----
-2. 在代码中右键单击,从弹出式菜单中选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键),然后选择 "Use Entity Manager"(使用实体管理器),以便将实体管理器引入类中。IDE 在源代码中添加以下  ``@PersistenceContext``  标注。
+
+[start=2]
+. 在代码中右键单击,从弹出式菜单中选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键),然后选择 "Use Entity Manager"(使用实体管理器),以便将实体管理器引入类中。IDE 在源代码中添加以下  ``@PersistenceContext``  标注。
 
 [source,java]
 ----
@@ -227,7 +245,9 @@ public void persist(Object object) {
     em.persist(object);
 }
 ----
-3. 修改  ``persist``  方法,将名称更改为  ``save`` 。该方法应如下所示:
+
+[start=3]
+. 修改  ``persist``  方法,将名称更改为  ``save`` 。该方法应如下所示:
 
 [source,java]
 ----
@@ -236,7 +256,9 @@ public void *save*(Object object) {
     em.persist(object);
 }
 ----
-4. 在  ``onMessage``  方法主体中添加以下代码(以粗体显示)以修改该方法。
+
+[start=4]
+. 在  ``onMessage``  方法主体中添加以下代码(以粗体显示)以修改该方法。
 
 [source,java]
 ----
@@ -257,9 +279,11 @@ public void onMessage(Message message) {
     }*
 }
 ----
-5. 在编辑器中右键单击,然后选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键),以生成所有必要的 import 语句。保存所做的更改。
 
-*注:*在生成 import 语句时,您需要*确保导入  ``javax.jms``  和  ``javax.annotation.Resource``  库*。
+[start=5]
+. 在编辑器中右键单击,然后选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键),以生成所有必要的 import 语句。保存所做的更改。
+
+NOTE: 在生成 import 语句时,您需要*确保导入  ``javax.jms``  和  ``javax.annotation.Resource``  库*。
 
 有关消息驱动 Bean 的更多详细信息,请参见 link:http://download.oracle.com/javaee/6/tutorial/doc/[+Java EE 6 教程第 I 部分+]中的link:http://java.sun.com/javaee/6/docs/tutorial/doc/gipko.html[+什么是消息驱动 Bean?+]一章。
 
@@ -274,11 +298,12 @@ public void onMessage(Message message) {
 2. 从 "Persistence"(持久性)类别中,选择 "Session Beans for Entity Classes"(实体类的会话 Bean)。单击 "Next"(下一步)。
 3. 从可用实体类的列表中选择  ``ejb.NewsEntity`` ,然后单击 "Add"(添加)以将该类移动到 "Selected Entity Classes"(选定的实体类)窗格中。单击 "Next"(下一步)。
 4. 检查是否将包设置为  ``ejb`` 。单击 "Finish"(完成)。
+
 image::images/ejb-sessionforentity.png[title="新建消息驱动 Bean 向导"]
 
 单击 "Finish"(完成),此时 IDE 将生成会话 Facade 类  ``NewsEntityFacade.java``  和  ``AbstractFacade.java`` ,并在编辑器中打开文件。正如您在生成的代码中所能看到的一样, ``@Stateless``  标注用于将  ``NewsEntityFacade.java``  声明为无状态会话 Bean 组件。IDE 还会添加  ``PersistenceContext``  标注,以便将资源直接注入会话 Bean 组件中。 ``NewsEntityFacade.java``  用于扩展  ``AbstractFacade.java`` ,后者包含业务逻辑并可用于管理事务。
 
-*注:*如果 Bean 将由远程客户端访问,则还需要远程接口。
+NOTE: 如果 Bean 将由远程客户端访问,则还需要远程接口。
 
 有关会话 Bean 的更多信息,请参见 link:http://download.oracle.com/javaee/6/tutorial/doc/[+Java EE 6 教程第 I 部分+]中的link:http://java.sun.com/javaee/6/docs/tutorial/doc/gipjg.html[+什么是会话 Bean?+]一章。
 
@@ -303,6 +328,7 @@ EJB 3.1 规范引入了  ``@Singleton``  标注,可通过该标注轻松创建
 3. 键入 *SessionManagerBean* 作为 EJB 名称。
 4. 键入 *ejb* 作为包名。
 5. 选择 "Singleton"(单个)。单击 "Finish"(完成)。
+
 image::images/ejb-newsingleton.png[title="在新建会话 Bean 向导中创建单个会话 Bean"]
 
 单击 "Finish"(完成),此时 IDE 将创建单个会话 Bean 类并在编辑器中打开该类。您可能会发现,IDE 在该类中添加了  ``@Singleton``  标注以声明单个会话 Bean。该向导还使用  ``@LocalBean``  标注该类。
@@ -335,12 +361,17 @@ public class SessionManagerBean *implements HttpSessionListener*{
 
 在实现  ``HttpSessionListener``  时,IDE 将在旁注中显示一条警告。
 
-2. 单击左旁注中的警告标记,然后选择 "Implement all abstract methods"(实现所有抽象方法)。
+
+[start=2]
+. 单击左旁注中的警告标记,然后选择 "Implement all abstract methods"(实现所有抽象方法)。
+
 image::images/ejb-implementabstract.png[title="用于实现抽象方法的编辑器提示"]
 
 IDE 将添加  ``sessionCreated``  和  ``sessionDestroyed``  方法。
 
-3. 添加  ``counter``  静态字段,并将初始值设置为  ``0`` 。
+
+[start=3]
+. 添加  ``counter``  静态字段,并将初始值设置为  ``0`` 。
 
 [source,java]
 ----
@@ -350,7 +381,9 @@ IDE 将添加  ``sessionCreated``  和  ``sessionDestroyed``  方法。
 public class SessionManagerBean implements HttpSessionListener{
     *private static int counter = 0;*
 ----
-4. 修改生成的  ``sessionCreated``  和  ``sessionDestroyed``  方法主体,以便在新会话启动时增加字段值,并在会话完成时减少字段值。该值将存储在  ``counter``  字段中。
+
+[start=4]
+. 修改生成的  ``sessionCreated``  和  ``sessionDestroyed``  方法主体,以便在新会话启动时增加字段值,并在会话完成时减少字段值。该值将存储在  ``counter``  字段中。
 
 [source,java]
 ----
@@ -363,7 +396,9 @@ public void sessionDestroyed(HttpSessionEvent se) {
     *counter--;*
 }
 ----
-5. 添加以下方法以返回当前的  ``counter``  值。
+
+[start=5]
+. 添加以下方法以返回当前的  ``counter``  值。
 
 [source,java]
 ----
@@ -375,7 +410,9 @@ public int getActiveSessionsCount() {
 
 将从 Servlet 中调用此方法以显示当前的用户/打开会话数。
 
-6. 保存所做的更改。
+
+[start=6]
+. 保存所做的更改。
 
 现在,会话 Bean 代码应如下所示。
 
@@ -422,7 +459,9 @@ public class SessionManagerBean implements HttpSessionListener {
 
 IDE 将添加  ``@EJB``  标注以注入企业 Bean。
 
-3. 可以再次使用 "Call Enterprise Bean"(调用企业 Bean)对话框在 NewsApp-war 节点下面注入 SessionManagerBean。
+
+[start=3]
+. 可以再次使用 "Call Enterprise Bean"(调用企业 Bean)对话框在 NewsApp-war 节点下面注入 SessionManagerBean。
 
 将会在代码中看到以下标注,它们用于注入两个企业 Bean。
 
@@ -442,7 +481,9 @@ public class ListNews extends HttpServlet {
 
 您还会看到使用了  ``@WebServlet``  标注将类声明为 Servlet 并指定了 Servlet 名称。 ``@WebServlet``  标注是 Java EE 6 规范中引入的 Servlet 3.0 API 的一部分。可以使用标注标识 Servlet,而不是使用  ``web.xml``  部署描述符。NewsApp 应用程序不包含  ``web.xml`` 。
 
-4. 在  ``processRequest``  方法中,添加以下代码(以粗体显示)以返回当前会话或创建新会话。
+
+[start=4]
+. 在  ``processRequest``  方法中,添加以下代码(以粗体显示)以返回当前会话或创建新会话。
 
 [source,java]
 ----
@@ -452,7 +493,9 @@ protected void processRequest(HttpServletRequest request, HttpServletResponse re
         *request.getSession(true);*
         response.setContentType("text/html;charset=UTF-8");
 ----
-5. 将以下代码(以粗体显示)添加到  ``processRequest``  方法中,以输出消息并添加指向 PostMessage Servlet 的链接。(根据需要取消注释方法中的代码。)
+
+[start=5]
+. 将以下代码(以粗体显示)添加到  ``processRequest``  方法中,以输出消息并添加指向 PostMessage Servlet 的链接。(根据需要取消注释方法中的代码。)
 
 [source,xml]
 ----
@@ -470,7 +513,9 @@ out.println("<a href='PostMessage'>Add new message</a>");*
 out.println("</body>");
                     
 ----
-6. 添加以下代码(以粗体显示)以检索并输出用户/打开会话数。
+
+[start=6]
+. 添加以下代码(以粗体显示)以检索并输出用户/打开会话数。
 
 [source,xml]
 ----
@@ -483,8 +528,12 @@ out.println(sessionManagerBean.getActiveSessionsCount() + " user(s) reading the
 out.println("</body>");
                     
 ----
-7. 按 Ctrl-Shift-I 组合键以为该类生成所有必要的 import 语句。在生成 import 语句时,您希望*导入  ``java.util``  库*。
-8. 保存对该文件所做的更改。
+
+[start=7]
+. 按 Ctrl-Shift-I 组合键以为该类生成所有必要的 import 语句。在生成 import 语句时,您希望*导入  ``java.util``  库*。
+
+[start=8]
+. 保存对该文件所做的更改。
 
 
 === 创建  ``PostMessage``  Servlet
@@ -510,7 +559,9 @@ public class PostMessage extends HttpServlet {
     @Resource(mappedName="jms/NewMessage")
     private  Queue queue;*
 ----
-2. 现在,通过将下面以粗体显示的代码添加到  ``processRequest``  方法中,添加用于发送 JMS 消息的代码:
+
+[start=2]
+. 现在,通过将下面以粗体显示的代码添加到  ``processRequest``  方法中,添加用于发送 JMS 消息的代码:
 
 [source,java]
 ----
@@ -546,7 +597,9 @@ if ((title!=null) &amp;&amp; (body!=null)) {
 PrintWriter out = response.getWriter();
                     
 ----
-3. 将以下行(以粗体显示)添加到  ``processRequest``  方法中,以添加用于添加消息的 Web 窗体。(根据需要取消注释用于输出 HTML 的代码。)
+
+[start=3]
+. 将以下行(以粗体显示)添加到  ``processRequest``  方法中,以添加用于添加消息的 Web 窗体。(根据需要取消注释用于输出 HTML 的代码。)
 
 [source,xml]
 ----
@@ -563,12 +616,17 @@ out.println("</form>");*
 out.println("</body>");
                 
 ----
-4. 按 Ctrl-Shift-I 组合键以为该类生成所有必要的 import 语句。
 
-*注:*在为  ``Connection`` 、 ``ConnectionFactory`` 、 ``Session``  和  ``Queue``  选择要导入的库时,*请确保导入  ``javax.jms``  库*。
+[start=4]
+. 按 Ctrl-Shift-I 组合键以为该类生成所有必要的 import 语句。
+
+NOTE: 在为  ``Connection`` 、 ``ConnectionFactory`` 、 ``Session``  和  ``Queue``  选择要导入的库时,*请确保导入  ``javax.jms``  库*。
 
 image::images/import-jms.png[title="在 "Fix All Imports"(修复所有导入)对话框中选择 JMS 库"]
-5. 保存对该文件所做的更改。
+
+
+[start=5]
+. 保存对该文件所做的更改。
 
 
 == 运行项目
@@ -600,18 +658,26 @@ image::images/ejb-browser1.png[title=""ListNews Servlet" 页"]
 2. 在 "Checkout"(检出)对话框中,输入以下资源库 URL:
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 单击 "Next"(下一步)。
-3. 单击 "Browse"(浏览)以打开 "Browse Repository Folders"(浏览资源库文件夹)对话框。
-4. 展开根节点并选择 *samples/javaee/NewsAppEE6*。单击 "OK"(确定)。
-5. 指定用于存储源代码的本地文件夹(本地文件夹必须为空)。
-6. 单击 "Finish"(完成)。
+
+[start=3]
+. 单击 "Browse"(浏览)以打开 "Browse Repository Folders"(浏览资源库文件夹)对话框。
+
+[start=4]
+. 展开根节点并选择 *samples/javaee/NewsAppEE6*。单击 "OK"(确定)。
+
+[start=5]
+. 指定用于存储源代码的本地文件夹(本地文件夹必须为空)。
+
+[start=6]
+. 单击 "Finish"(完成)。
 
 单击 "Finish"(完成),此时 IDE 会将本地文件夹初始化为 Subversion 资源库,并检出项目源代码。
 
-7. 在完成检出操作后将会显示一个对话框,在该对话框中单击 "Open Project"(打开项目)。
 
-*注:*
+[start=7]
+. 在完成检出操作后将会显示一个对话框,在该对话框中单击 "Open Project"(打开项目)。
 
-* 需要 Subversion 客户端检出源代码。有关安装 Subversion 的更多信息,请参见 link:../ide/subversion.html[+NetBeans IDE 中的 Subversion 指南+]中有关link:../ide/subversion.html#settingUp[+设置 Subversion+] 的部分。
+NOTE: 需要 Subversion 客户端检出源代码。有关安装 Subversion 的更多信息,请参见 link:../ide/subversion.html[+NetBeans IDE 中的 Subversion 指南+]中有关link:../ide/subversion.html#settingUp[+设置 Subversion+] 的部分。
 
 
 == 疑难解答
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit.asciidoc
index d78570c..67bc326 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit.asciidoc
@@ -33,8 +33,6 @@ This tutorial demonstrates how to create and run JUnit tests for a Java EE enter
 
 *Tutorial Exercises*
 
-image::images/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3, 7.4 and 8.0"]
-
 * <<Exercise_1,Testing a Session Bean>>
 * <<Exercise_1a,Creating the Project>>
 * <<Exercise_1b,Creating the Session Bean>>
@@ -59,9 +57,7 @@ image::images/netbeans-stamp-80-74-73.png[title="Content on this page applies to
 |GlassFish Server Open Source Edition |3.1.x or 4.x 
 |===
 
-*Notes.*
-
-* This tutorial requires the JUnit plugin. If you did not install the JUnit plugin when you installed the IDE, open the Plugins manager, select the Available plugins tab and install the JUnit plugin.
+NOTE: This tutorial requires the JUnit plugin. If you did not install the JUnit plugin when you installed the IDE, open the Plugins manager, select the Available plugins tab and install the JUnit plugin.
 
 *Prerequisites*
 
@@ -91,7 +87,9 @@ In this section you will create a simple Java EE web application that will conta
 3. Name the project *WebAppJUnit* and set the project location.
 4. Deselect the Use Dedicated Folder option, if selected.
 Click Next.
-5. Set the server to *GlassFish Server* and set the Java EE Version to *Java EE 6 Web* or *Java EE 7 Web*. 
+
+[start=5]
+. Set the server to *GlassFish Server* and set the Java EE Version to *Java EE 6 Web* or *Java EE 7 Web*. 
 Click Finish.
 
 
@@ -107,7 +105,9 @@ In this exercise you will create a very simple session bean that contains one me
 
 When you click Finish, the new class opens in the editor.
 
-6. In the editor, add the following method  ``addNumbers``  to the class.
+
+[start=6]
+. In the editor, add the following method  ``addNumbers``  to the class.
 
 [source,java]
 ----
@@ -120,9 +120,11 @@ public class MyBean {
 }
 ----
 
-*Note.* It is not necessary to add an  ``@LocalBean``  annotation or implement an interface in this tutorial. By default the bean exposes a no-interface view when no view is explicitly specified.
+NOTE: It is not necessary to add an  ``@LocalBean``  annotation or implement an interface in this tutorial. By default the bean exposes a no-interface view when no view is explicitly specified.
 
-7. Save your changes.
+
+[start=7]
+. Save your changes.
 
 
 === Testing the Session Bean
@@ -132,9 +134,10 @@ In this exercise you will create a test class for the session bean that will tes
 1. Right-click the  ``MyBean``  class in the Projects window and choose Tools > Create Tests.
 2. Select JUnit in the Frameworks dropdown list.
 3. Use the default values in the Create Tests dialog box. Click OK.
+
 image::images/create-tests-dialog.png[title="Create Tests dialog"]
 
-*Note.* The first time that you create a JUnit unit test you need to specify the JUnit version. Select JUnit 4.x in the Select JUnit Version dialog box and click Select.
+NOTE:  The first time that you create a JUnit unit test you need to specify the JUnit version. Select JUnit 4.x in the Select JUnit Version dialog box and click Select.
 
 When you click OK, the IDE generates the  ``MyBeanTest.java``  file and opens the class in the editor.
 
@@ -144,9 +147,11 @@ If you expand the Test Libraries node in the Projects window, you can see that t
 
 image::images/embedded-static-shell-jar.png[title="Structure of project in the Projects window"]
 
-*Note.* The  ``glassfish-embedded-static-shell.jar``  JAR does not contain the sources for the embedded EJB container. The  ``glassfish-embedded-static-shell.jar``  JAR requires a local installation of GlassFish. The classpath for the local GlassFish installation is determined by the target server for the project. You can change the target server in the project's Properties dialog box.
+NOTE:  The  ``glassfish-embedded-static-shell.jar``  JAR does not contain the sources for the embedded EJB container. The  ``glassfish-embedded-static-shell.jar``  JAR requires a local installation of GlassFish. The classpath for the local GlassFish installation is determined by the target server for the project. You can change the target server in the project's Properties dialog box.
+
 
-4. Modify the generated skeleton test method to specify values for  ``numberA`` ,  ``numberB``  and  ``expResult``  and remove the default call to fail.
+[start=4]
+. Modify the generated skeleton test method to specify values for  ``numberA`` ,  ``numberB``  and  ``expResult``  and remove the default call to fail.
 
 [source,java]
 ----
@@ -164,7 +169,9 @@ public void testAddNumbers() throws Exception {
     container.close();
 }
 ----
-5. Right-click the project in the Projects window and choose Test.
+
+[start=5]
+. Right-click the project in the Projects window and choose Test.
 
 When you run the test, the Test Results window opens in the IDE and displays the progress and results of the test.
 
@@ -230,8 +237,12 @@ public void testAddNumbers() throws Exception {
     container.close();
 }
 ----
-2. Right-click in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac) to add import statements for  ``java.util.HashMap``  and  ``java.util.Map`` .
-3. Run the test again to confirm that the modified test works and that the container is created correctly.
+
+[start=2]
+. Right-click in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac) to add import statements for  ``java.util.HashMap``  and  ``java.util.Map`` .
+
+[start=3]
+. Run the test again to confirm that the modified test works and that the container is created correctly.
 
 You can click the Rerun button in the Test Results window.
 
@@ -253,7 +264,9 @@ Similarly, you will move the code that shuts down the container to the  ``tearDo
 
 private static EJBContainer container;
 ----
-2. Copy the code that creates the container from the  ``testAddNumbers``  test method to the  ``setUpClass``  method and
+
+[start=2]
+. Copy the code that creates the container from the  ``testAddNumbers``  test method to the  ``setUpClass``  method and
 
 [source,java]
 ----
@@ -266,7 +279,9 @@ public static void setUpClass() *throws Exception* {
     System.out.println("Opening the container");*
 }
 ----
-3. Copy the code that closes the container from the  ``testAddNumbers``  test method to the  ``tearDownClass``  method.
+
+[start=3]
+. Copy the code that closes the container from the  ``testAddNumbers``  test method to the  ``tearDownClass``  method.
 
 [source,java]
 ----
@@ -277,7 +292,9 @@ public static void tearDownClass() *throws Exception* {
     System.out.println("Closing the container");*
 }
 ----
-4. Remove the redundant code from the  ``testAddNumbers``  method. Save your changes.
+
+[start=4]
+. Remove the redundant code from the  ``testAddNumbers``  method. Save your changes.
 
 The test class should now look like the following.
 
@@ -359,20 +376,29 @@ In this section you will use the New Entity Class wizard to create an entity cla
 5. Type *int* as the Primary Key Type. Click Next.
 6. Use the default Persistence Unit Name and Persistence Provider.
 7. Select  ``jdbc/sample``  as the data source and Drop and Create as the strategy. Click Finish.
+
 image::images/create-entity-wizard.png[title="Create Entity Class dialog"]
 
 When you click Finish, the new entity class opens in the editor. If you expand the Configuration Files node in the Projects window, you can see that the IDE automatically generated the  ``persistence.xml``  file that defines the properties of the persistence unit  ``WebAppJUnitPU`` .
 
-8. In the editor, add the following private field to the entity class.
+
+[start=8]
+. In the editor, add the following private field to the entity class.
 
 [source,java]
 ----
 
 private String name;
 ----
-9. Right-click in the Source Editor and choose Insert Code (Alt-Insert; Ctrl-I on Mac) and select Getter and Setter to open the Generate Getters and Setters dialog box.
-10. Select the  ``name``  field in the dialog box. Click Generate.
-11. Add the following method to the class.
+
+[start=9]
+. Right-click in the Source Editor and choose Insert Code (Alt-Insert; Ctrl-I on Mac) and select Getter and Setter to open the Generate Getters and Setters dialog box.
+
+[start=10]
+. Select the  ``name``  field in the dialog box. Click Generate.
+
+[start=11]
+. Add the following method to the class.
 
 [source,java]
 ----
@@ -382,7 +408,9 @@ public SimpleEntity(int id) {
     name = "Entity number " + id + " created at " + new Date();
 }
 ----
-12. Use the  ``@NamedQueries``  and  ``@NamedQuery``  annotations to create a named SQL query.
+
+[start=12]
+. Use the  ``@NamedQueries``  and  ``@NamedQuery``  annotations to create a named SQL query.
 
 [source,java]
 ----
@@ -391,11 +419,15 @@ public SimpleEntity(int id) {
 *@NamedQueries({@NamedQuery(name = "SimpleEntity.findAll", query = "select e from SimpleEntity e")})*
 public class SimpleEntity implements Serializable {
 ----
-13. Create a default constructor.
+
+[start=13]
+. Create a default constructor.
 
 You can click the suggestion icon that is displayed in the gutter next to the class declaration if you want the IDE to generate the constructor for you.
 
-14. Fix your imports to add import statements for  ``javax.persistence.NamedQueries`` ,  ``javax.persistence.NamedQuery``  and  ``java.util.Date`` . Save your changes.
+
+[start=14]
+. Fix your imports to add import statements for  ``javax.persistence.NamedQueries`` ,  ``javax.persistence.NamedQuery``  and  ``java.util.Date`` . Save your changes.
 
 In addition to the default generated code, the entity class should now look similar to the following:
 
@@ -465,7 +497,9 @@ When you chose Use Entity Manager, the IDE added the following code to the class
 @PersistenceContext(unitName="WebAppJUnitPU")
 private EntityManager em;
 ----
-3. Add the following  ``verify``  and  ``insert``  methods.
+
+[start=3]
+. Add the following  ``verify``  and  ``insert``  methods.
 
 [source,java]
 ----
@@ -493,7 +527,9 @@ public void insert(int num) {
     }
 }
 ----
-4. Fix your imports to import  ``javax.persistence.Query``  and save your changes.
+
+[start=4]
+. Fix your imports to import  ``javax.persistence.Query``  and save your changes.
 
 
 === Testing the Entity Class
@@ -524,7 +560,9 @@ public void testInsert() throws Exception {
     System.out.println("..........SUCCESSFULLY finished embedded test");
 }
 ----
-4. Right-click the project node in the Projects window and choose Test from the popup menu.
+
+[start=4]
+. Right-click the project node in the Projects window and choose Test from the popup menu.
 
 The Test Results window will open and display output that is similar to the following.
 
@@ -545,18 +583,26 @@ You can download the solution to this tutorial as a project in the following way
 2. In the Checkout dialog box, enter the following Repository URL:
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 Click Next.
-3. Click Browse to open the Browse Repository Folders dialog box.
-4. Expand the root node and select *samples/javaee/WebAppJUnit*. Click OK.
-5. Specify the Local Folder for the sources (the local folder must be empty).
-6. Click Finish.
+
+[start=3]
+. Click Browse to open the Browse Repository Folders dialog box.
+
+[start=4]
+. Expand the root node and select *samples/javaee/WebAppJUnit*. Click OK.
+
+[start=5]
+. Specify the Local Folder for the sources (the local folder must be empty).
+
+[start=6]
+. Click Finish.
 
 When you click Finish, the IDE initializes the local folder as a Subversion repository and checks out the project sources.
 
-7. Click Open Project in the dialog that appears when checkout is complete.
 
-*Notes.*
+[start=7]
+. Click Open Project in the dialog that appears when checkout is complete.
 
-* You need a Subversion client to checkout the sources. For more about installing Subversion, see the section on link:../ide/subversion.html#settingUp[+Setting up Subversion+] in the link:../ide/subversion.html[+Guide to Subversion in NetBeans IDE+].
+NOTE: You need a Subversion client to checkout the sources. For more about installing Subversion, see the section on link:../ide/subversion.html#settingUp[+Setting up Subversion+] in the link:../ide/subversion.html[+Guide to Subversion in NetBeans IDE+].
 
 
 link:/about/contact_form.html?to=3&subject=Feedback:%20Using%20the%20Embedded%20EJB%20Container[+Send Feedback on This Tutorial+]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit_ja.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit_ja.asciidoc
index 3b2910f..a46b7a6 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit_ja.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit_ja.asciidoc
@@ -33,8 +33,6 @@
 
 *チュートリアルの課題*
 
-image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます"]
-
 * <<Exercise_1,セッションBeanのテスト>>
 * <<Exercise_1a,プロジェクトの作成>>
 * <<Exercise_1b,セッションBeanの作成>>
@@ -59,9 +57,7 @@ image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、N
 |GlassFish Server Open Source Edition |3.1.xまたは4.x 
 |===
 
-*注意:*
-
-* このチュートリアルにはJUnitプラグインが必要です。IDEのインストール時にJUnitプラグインをインストールしなかった場合は、プラグイン・マネージャを開き、「使用可能なプラグイン」タブを選択してJUnitプラグインをインストールしてください。
+NOTE: このチュートリアルにはJUnitプラグインが必要です。IDEのインストール時にJUnitプラグインをインストールしなかった場合は、プラグイン・マネージャを開き、「使用可能なプラグイン」タブを選択してJUnitプラグインをインストールしてください。
 
 *前提条件*
 
@@ -91,7 +87,9 @@ link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE
 3. プロジェクト名を*WebAppJUnit*にし、プロジェクトの場所を設定します。
 4. 専用フォルダを使用するオプションが選択されている場合は選択を解除します。
 「次」をクリックします。
-5. サーバーを*「GlassFish Server」*に設定し、「Java EEバージョン」を*「Java EE 6 Web」*または*「Java EE 7 Web」*に設定します。
+
+[start=5]
+. サーバーを*「GlassFish Server」*に設定し、「Java EEバージョン」を*「Java EE 6 Web」*または*「Java EE 7 Web」*に設定します。
 「終了」をクリックします。
 
 
@@ -107,7 +105,9 @@ link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE
 
 「終了」をクリックすると、新しいクラスがエディタに表示されます。
 
-6. エディタで、クラスに以下のメソッド ``addNumbers`` を追加します。
+
+[start=6]
+. エディタで、クラスに以下のメソッド ``addNumbers`` を追加します。
 
 [source,java]
 ----
@@ -120,9 +120,11 @@ public class MyBean {
 }
 ----
 
-*注意:* ``@LocalBean`` 注釈を追加したり、このチュートリアルでインタフェースを実装する必要はありません。ビューが明示的に指定されていない場合、デフォルトでは、インタフェースなしのビューが公開されます。
+NOTE:  ``@LocalBean`` 注釈を追加したり、このチュートリアルでインタフェースを実装する必要はありません。ビューが明示的に指定されていない場合、デフォルトでは、インタフェースなしのビューが公開されます。
 
-7. 変更を保存します。
+
+[start=7]
+. 変更を保存します。
 
 
 === セッションBeanのテスト
@@ -132,9 +134,10 @@ public class MyBean {
 1. 「プロジェクト」ウィンドウで ``MyBean`` クラスを右クリックし、「ツール」>「テストを作成」を選択します。
 2. 「フレームワーク」ドロップダウン・リストで「JUnit」を選択します。
 3. 「テストを作成」ダイアログ・ボックスのデフォルト値を使用します。「OK」をクリックします。
+
 image::images/create-tests-dialog.png[title="「テストを作成」ダイアログ"]
 
-*注意:*JUnit単体テストを初めて作成するときは、JUnitのバージョンを指定する必要があります。「JUnitのバージョンを選択」ダイアログ・ボックスで「JUnit 4.x」を選択し、「選択」をクリックします。
+NOTE: JUnit単体テストを初めて作成するときは、JUnitのバージョンを指定する必要があります。「JUnitのバージョンを選択」ダイアログ・ボックスで「JUnit 4.x」を選択し、「選択」をクリックします。
 
 「OK」をクリックすると、IDEによって ``MyBeanTest.java`` ファイルが生成され、エディタでそのクラスが開かれます。
 
@@ -144,9 +147,11 @@ image::images/create-tests-dialog.png[title="「テストを作成」ダイア
 
 image::images/embedded-static-shell-jar.png[title="「プロジェクト」ウィンドウに示されたプロジェクトの構造"]
 
-*注意:* ``glassfish-embedded-static-shell.jar``  JARには、埋込みEJBコンテナのソースは含まれていません。 ``glassfish-embedded-static-shell.jar``  JARには、GlassFishのローカル・インストールが必要です。ローカルのGlassFishインストールのクラスパスは、プロジェクトのターゲット・サーバーによって決定されます。ターゲット・サーバーは、プロジェクトの「プロパティ」ダイアログ・ボックスで変更できます。
+NOTE:  ``glassfish-embedded-static-shell.jar``  JARには、埋込みEJBコンテナのソースは含まれていません。 ``glassfish-embedded-static-shell.jar``  JARには、GlassFishのローカル・インストールが必要です。ローカルのGlassFishインストールのクラスパスは、プロジェクトのターゲット・サーバーによって決定されます。ターゲット・サーバーは、プロジェクトの「プロパティ」ダイアログ・ボックスで変更できます。
+
 
-4. 生成されたスケルトン・テスト・メソッドを変更して、 ``numberA`` 、 ``numberB`` および ``expResult`` の値を指定し、デフォルトのfailのコールを除去します。
+[start=4]
+. 生成されたスケルトン・テスト・メソッドを変更して、 ``numberA`` 、 ``numberB`` および ``expResult`` の値を指定し、デフォルトのfailのコールを除去します。
 
 [source,java]
 ----
@@ -164,7 +169,9 @@ public void testAddNumbers() throws Exception {
     container.close();
 }
 ----
-5. 「プロジェクト」ウィンドウでプロジェクトを右クリックし、「テスト」を選択します。
+
+[start=5]
+. 「プロジェクト」ウィンドウでプロジェクトを右クリックし、「テスト」を選択します。
 
 テストを実行すると、IDEで「テスト結果」ウィンドウが開き、テストの進捗状況と結果が表示されます。
 
@@ -230,8 +237,12 @@ public void testAddNumbers() throws Exception {
     container.close();
 }
 ----
-2. エディタを右クリックして「インポートを修正」([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])を選択し、 ``java.util.HashMap`` および ``java.util.Map`` 用のインポート文を追加します。
-3. テストを再実行して、変更したテストが機能し、コンテナが正しく作成されることを確認します。
+
+[start=2]
+. エディタを右クリックして「インポートを修正」([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])を選択し、 ``java.util.HashMap`` および ``java.util.Map`` 用のインポート文を追加します。
+
+[start=3]
+. テストを再実行して、変更したテストが機能し、コンテナが正しく作成されることを確認します。
 
 「テスト結果」ウィンドウの「再実行」ボタンをクリックできます。
 
@@ -253,7 +264,9 @@ public void testAddNumbers() throws Exception {
 
 private static EJBContainer container;
 ----
-2. コンテナを作成するコードを ``testAddNumbers`` テスト・メソッドから ``setUpClass`` メソッドにコピーします。
+
+[start=2]
+. コンテナを作成するコードを ``testAddNumbers`` テスト・メソッドから ``setUpClass`` メソッドにコピーします。
 
 [source,java]
 ----
@@ -266,7 +279,9 @@ public static void setUpClass() *throws Exception* {
     System.out.println("Opening the container");*
 }
 ----
-3. コンテナを閉じるコードを ``testAddNumbers`` テスト・メソッドから ``tearDownClass`` メソッドにコピーします。
+
+[start=3]
+. コンテナを閉じるコードを ``testAddNumbers`` テスト・メソッドから ``tearDownClass`` メソッドにコピーします。
 
 [source,java]
 ----
@@ -277,7 +292,9 @@ public static void tearDownClass() *throws Exception* {
     System.out.println("Closing the container");*
 }
 ----
-4.  ``testAddNumbers`` から余分なコードを除去します。変更を保存します。
+
+[start=4]
+.  ``testAddNumbers`` から余分なコードを除去します。変更を保存します。
 
 テスト・クラスは次のようになるはずです。
 
@@ -359,20 +376,29 @@ image::images/test-results2a.png[title="「テスト結果」ウィンドウ"]
 5. 「主キー型」に「*int*」と入力します。「次」をクリックします。
 6. デフォルトの持続性ユニット名と持続性プロバイダを使用します。
 7. データ・ソースとして「 ``jdbc/sample`` 」を選択し、戦略として「ドロップして作成」を選択します。「終了」をクリックします。
+
 image::images/create-entity-wizard.png[title="「エンティティ・クラスの作成」ダイアログ"]
 
 「終了」をクリックすると、新しいエンティティ・クラスがエディタに表示されます。「プロジェクト」ウィンドウの「構成ファイル」ノードを展開すると、持続性ユニット ``WebAppJUnitPU`` のプロパティを定義する ``persistence.xml`` ファイルがIDEによって自動的に生成されたことを確認できます。
 
-8. エディタで、エンティティ・クラスに以下のprivateフィールドを追加します。
+
+[start=8]
+. エディタで、エンティティ・クラスに以下のprivateフィールドを追加します。
 
 [source,java]
 ----
 
 private String name;
 ----
-9. ソース・エディタ内を右クリックして「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])を選択し、「取得メソッドおよび設定メソッド」を選択して「取得メソッドおよび設定メソッドの生成」ダイアログ・ボックスを開きます。
-10. ダイアログ・ボックスで「 ``name`` 」フィールドを選択します。「生成」をクリックします。
-11. クラスに以下のメソッドを追加します。
+
+[start=9]
+. ソース・エディタ内を右クリックして「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])を選択し、「取得メソッドおよび設定メソッド」を選択して「取得メソッドおよび設定メソッドの生成」ダイアログ・ボックスを開きます。
+
+[start=10]
+. ダイアログ・ボックスで「 ``name`` 」フィールドを選択します。「生成」をクリックします。
+
+[start=11]
+. クラスに以下のメソッドを追加します。
 
 [source,java]
 ----
@@ -382,7 +408,9 @@ public SimpleEntity(int id) {
     name = "Entity number " + id + " created at " + new Date();
 }
 ----
-12.  ``@NamedQueries`` および ``NamedQuery`` 注釈を使用して名前付きSQL問合せを作成します。
+
+[start=12]
+.  ``@NamedQueries`` および ``NamedQuery`` 注釈を使用して名前付きSQL問合せを作成します。
 
 [source,java]
 ----
@@ -391,11 +419,15 @@ public SimpleEntity(int id) {
 *@NamedQueries({@NamedQuery(name = "SimpleEntity.findAll", query = "select e from SimpleEntity e")})*
 public class SimpleEntity implements Serializable {
 ----
-13. デフォルト・コンストラクタを作成します。
+
+[start=13]
+. デフォルト・コンストラクタを作成します。
 
 IDEでコンストラクタを自動生成する場合は、クラス宣言の横のガターに表示された提案アイコンをクリックできます。
 
-14. インポートを修正して、 ``javax.persistence.NamedQueries`` 、 ``javax.persistence.NamedQuery`` および ``java.util.Date`` のインポート文を追加します。変更を保存します。
+
+[start=14]
+. インポートを修正して、 ``javax.persistence.NamedQueries`` 、 ``javax.persistence.NamedQuery`` および ``java.util.Date`` のインポート文を追加します。変更を保存します。
 
 デフォルトで生成されるコードに加えて、エンティティ・クラスは次のようになるはずです。
 
@@ -465,7 +497,9 @@ public class SimpleEntity implements Serializable {
 @PersistenceContext(unitName="WebAppJUnitPU")
 private EntityManager em;
 ----
-3. 以下の ``verify`` および ``insert`` メソッドを追加します。
+
+[start=3]
+. 以下の ``verify`` および ``insert`` メソッドを追加します。
 
 [source,java]
 ----
@@ -493,7 +527,9 @@ public void insert(int num) {
     }
 }
 ----
-4.  ``javax.persistence.Query`` をインポートするようにインポートを修正し、変更内容を保存します。
+
+[start=4]
+.  ``javax.persistence.Query`` をインポートするようにインポートを修正し、変更内容を保存します。
 
 
 === エンティティ・クラスのテスト
@@ -524,7 +560,9 @@ public void testInsert() throws Exception {
     System.out.println("..........SUCCESSFULLY finished embedded test");
 }
 ----
-4. 「プロジェクト」ウィンドウでプロジェクト・ノードを右クリックし、ポップアップ・メニューから「テスト」を選択します。
+
+[start=4]
+. 「プロジェクト」ウィンドウでプロジェクト・ノードを右クリックし、ポップアップ・メニューから「テスト」を選択します。
 
 「テスト結果」ウィンドウが開き、以下のような出力が表示されます。
 
@@ -545,18 +583,26 @@ image::images/test-results2b.png[title="testInsertテストを追加した後の
 2. 「チェックアウト」ダイアログ・ボックスで次のリポジトリURLを入力します。
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 「次」をクリックします。
-3. 「参照」をクリックして「リポジトリ・フォルダを参照」ダイアログ・ボックスを開きます。
-4. ルート・ノードを展開し、*samples/javaee/WebAppJUnit*を選択します。「OK」をクリックします。
-5. ソースのローカル・フォルダを指定します(ローカル・フォルダは空である必要があります)。
-6. 「終了」をクリックします。
+
+[start=3]
+. 「参照」をクリックして「リポジトリ・フォルダを参照」ダイアログ・ボックスを開きます。
+
+[start=4]
+. ルート・ノードを展開し、*samples/javaee/WebAppJUnit*を選択します。「OK」をクリックします。
+
+[start=5]
+. ソースのローカル・フォルダを指定します(ローカル・フォルダは空である必要があります)。
+
+[start=6]
+. 「終了」をクリックします。
 
 「終了」をクリックすると、IDEではローカル・フォルダがSubversionリポジトリとして初期化され、プロジェクト・ソースがチェックアウトされます。
 
-7. チェックアウトが完了するときに表示されるダイアログで、「プロジェクトを開く」をクリックします。
 
-*注意:*
+[start=7]
+. チェックアウトが完了するときに表示されるダイアログで、「プロジェクトを開く」をクリックします。
 
-* ソースをチェックアウトするには、Subversionクライアントが必要です。Subversionのインストールの詳細は、link:../ide/subversion.html[+NetBeans IDEでのSubversionガイド+]のlink:../ide/subversion.html#settingUp[+Subversionの設定+]の項を参照してください。
+NOTE: ソースをチェックアウトするには、Subversionクライアントが必要です。Subversionのインストールの詳細は、link:../ide/subversion.html[+NetBeans IDEでのSubversionガイド+]のlink:../ide/subversion.html#settingUp[+Subversionの設定+]の項を参照してください。
 
 
 link:/about/contact_form.html?to=3&subject=Feedback:%20Using%20the%20Embedded%20EJB%20Container[+このチュートリアルに関するご意見をお寄せください+]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit_pt_BR.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit_pt_BR.asciidoc
index dbed422..3350080 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit_pt_BR.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit_pt_BR.asciidoc
@@ -33,8 +33,6 @@ Esse tutorial demonstra como criar e executar testes JUnit para uma aplicação
 
 *Exercícios do Tutorial*
 
-image::images/netbeans-stamp-80-74-73.png[title="O conteúdo desta página se aplica ao NetBeans IDE 7.2, 7.3, 7.4 e 8.0"]
-
 * <<Exercise_1,Testando um Bean de Sessão>>
 * <<Exercise_1a,Criando o Projeto>>
 * <<Exercise_1b,Criando o Bean de Sessão>>
@@ -59,9 +57,7 @@ image::images/netbeans-stamp-80-74-73.png[title="O conteúdo desta página se ap
 |GlassFish Server Open Source Edition |3.1.x ou 4.x 
 |===
 
-*Observações.*
-
-* Este tutorial requer o plug-in JUnit. Se você não tiver instalado o plug-in JUnit quando instalou o IDE, abra o Gerenciador de Plug-ins, selecione a guia plug-ins Disponíveis e instale o plug-in JUnit.
+NOTE: Este tutorial requer o plug-in JUnit. Se você não tiver instalado o plug-in JUnit quando instalou o IDE, abra o Gerenciador de Plug-ins, selecione a guia plug-ins Disponíveis e instale o plug-in JUnit.
 
 *Pré-requisitos*
 
@@ -91,7 +87,9 @@ Nesta sessão, você criará uma aplicação web Java EE simples que conterá um
 3. Chame o projeto de *WebAppJUnit* e defina a localização do projeto.
 4. Desmarque a opção Usar Pasta Dedicada, se ela estiver selecionada.
 Clique em Próximo.
-5. Defina o servidor como *GlassFish Server* e defina a versão do Java EE para *Java EE 6 Web* ou *Java EE 7 Web*. 
+
+[start=5]
+. Defina o servidor como *GlassFish Server* e defina a versão do Java EE para *Java EE 6 Web* ou *Java EE 7 Web*. 
 Clique em Finalizar.
 
 
@@ -107,7 +105,9 @@ Neste exercício, você criará um bean de sessão muito simples que contém um
 
 Quando você clica em Finalizar, a nova classe é aberta no editor.
 
-6. No editor, adicione o seguinte método  ``addNumbers``  à classe.
+
+[start=6]
+. No editor, adicione o seguinte método  ``addNumbers``  à classe.
 
 [source,java]
 ----
@@ -120,9 +120,11 @@ public class MyBean {
 }
 ----
 
-*Observação.* Ele não é necessário para adicionar uma anotação  ``@LocalBean``  ou implementar uma interface neste tutorial. Por default, o bean expõe uma view sem interface quando nenhuma view é especificada explicitamente.
+NOTE:  Ele não é necessário para adicionar uma anotação  ``@LocalBean``  ou implementar uma interface neste tutorial. Por default, o bean expõe uma view sem interface quando nenhuma view é especificada explicitamente.
 
-7. Salve as alterações.
+
+[start=7]
+. Salve as alterações.
 
 
 === Testando o Bean de Sessão
@@ -132,9 +134,10 @@ Neste exercício, você criará uma classe de teste para o bean de sessão que t
 1. Clique com o botão direito do mouse na classe  ``MyBean``  na janela Projetos e selecione Ferramentas > Criar Testes.
 2. Selecione JUnit na lista drop-down Frameworks.
 3. Use os valores default na caixa de diálogo Criar Testes. Clique em OK.
+
 image::images/create-tests-dialog.png[title="Caixa de diálogo Criar Testes"]
 
-*Observação.* Na primeira vez que você criar um teste da unidade JUnit, deverá especificar a versão de JUnit. Selecione a JUnit 4.x na caixa de diálogo Selecionar Versão do JUnit e clique em Selecionar.
+NOTE:  Na primeira vez que você criar um teste da unidade JUnit, deverá especificar a versão de JUnit. Selecione a JUnit 4.x na caixa de diálogo Selecionar Versão do JUnit e clique em Selecionar.
 
 Quando você clica em OK, o IDE gera o arquivo  ``MyBeanTest.java``  e abre a classe no editor.
 
@@ -144,9 +147,11 @@ Se você expandir o nó Bibliotecas de Teste na janela Projetos, poderá ver que
 
 image::images/embedded-static-shell-jar.png[title="Estrutura do projeto na janela Projetos"]
 
-*Observação.* O JAR  ``glassfish-embedded-static-shell.jar``  não contém os códigos-fonte do contêiner EJB incorporado. O JAR  ``glassfish-embedded-static-shell.jar``  requer uma instalação local do GlassFish. O classpath para a instalação local do GlassFish é determinado pelo servidor de destino do projeto. Você pode alterar o servidor de destino na caixa de diálogo Propriedades do projeto.
+NOTE:  O JAR  ``glassfish-embedded-static-shell.jar``  não contém os códigos-fonte do contêiner EJB incorporado. O JAR  ``glassfish-embedded-static-shell.jar``  requer uma instalação local do GlassFish. O classpath para a instalação local do GlassFish é determinado pelo servidor de destino do projeto. Você pode alterar o servidor de destino na caixa de diálogo Propriedades do projeto.
+
 
-4. Modifique o método de teste esqueleto gerado para especificar valores para  ``numberA`` ,  ``numberB``  e  ``expResult``  e remova a chamada default para falha.
+[start=4]
+. Modifique o método de teste esqueleto gerado para especificar valores para  ``numberA`` ,  ``numberB``  e  ``expResult``  e remova a chamada default para falha.
 
 [source,java]
 ----
@@ -164,7 +169,9 @@ public void testAddNumbers() throws Exception {
     container.close();
 }
 ----
-5. Clique com o botão direito do mouse no projeto na janela Projetos e selecione Testar.
+
+[start=5]
+. Clique com o botão direito do mouse no projeto na janela Projetos e selecione Testar.
 
 Quando você executa o teste, a janela Resultados do Teste é aberta no IDE e exibe o andamento e os resultados do teste.
 
@@ -230,8 +237,12 @@ public void testAddNumbers() throws Exception {
     container.close();
 }
 ----
-2. Clique com o botão direito do mouse no editor e selecione Corrigir Importações (Alt-Shift-I; ⌘-Shift-I no Mac) para adicionar instruções de importação para  ``java.util.HashMap``  e  ``java.util.Map`` .
-3. Execute novamente o teste para confirmar se o teste modificado funciona e se o contêiner foi criado corretamente.
+
+[start=2]
+. Clique com o botão direito do mouse no editor e selecione Corrigir Importações (Alt-Shift-I; ⌘-Shift-I no Mac) para adicionar instruções de importação para  ``java.util.HashMap``  e  ``java.util.Map`` .
+
+[start=3]
+. Execute novamente o teste para confirmar se o teste modificado funciona e se o contêiner foi criado corretamente.
 
 Você pode clicar no botão Reexecutar na janela Resultados do Teste.
 
@@ -253,7 +264,9 @@ De forma semelhante, você moverá o código que encerra o contêiner para o mé
 
 private static EJBContainer container;
 ----
-2. Copie o código que cria o contêiner do método de teste  ``testAddNumbers``  para o método  ``setUpClass``  e
+
+[start=2]
+. Copie o código que cria o contêiner do método de teste  ``testAddNumbers``  para o método  ``setUpClass``  e
 
 [source,java]
 ----
@@ -266,7 +279,9 @@ public static void setUpClass() *throws Exception* {
     System.out.println("Opening the container");*
 }
 ----
-3. Copie o código que fecha o contêiner do método de teste  ``testAddNumbers``  para o método  ``tearDownClass`` .
+
+[start=3]
+. Copie o código que fecha o contêiner do método de teste  ``testAddNumbers``  para o método  ``tearDownClass`` .
 
 [source,java]
 ----
@@ -277,7 +292,9 @@ public static void tearDownClass() *throws Exception* {
     System.out.println("Closing the container");*
 }
 ----
-4. Remova o código redundante do método  ``testAddNumbers`` . Salve as alterações.
+
+[start=4]
+. Remova o código redundante do método  ``testAddNumbers`` . Salve as alterações.
 
 A classe de teste deve se parecer com o seguinte.
 
@@ -359,20 +376,29 @@ Nesta seção, você usará o assistente Nova Classe de Entidade para criar uma
 5. Digite *int* como o Tipo de Chave Primária. Clique em Próximo.
 6. Use o Nome e o Provedor da Unidade de Persistência Default.
 7. Selecione  ``jdbc/sample``  como a fonte de dados e Soltar e Criar como a estratégia. Clique em Finalizar.
+
 image::images/create-entity-wizard.png[title="Caixa de diálogo Criar Classe de Entidade"]
 
 Quando você clica em Finalizar, a nova classe de entidade é aberta no editor. Se você expandir o nó Arquivos de Configuração na janela Projetos, verá que o IDE gerou automaticamente o arquivo  ``persistence.xml``  que define as propriedades da unidade de persistência  ``WebAppJUnitPU`` .
 
-8. No editor, adicione o campo privado a seguir à classe de entidade.
+
+[start=8]
+. No editor, adicione o campo privado a seguir à classe de entidade.
 
 [source,java]
 ----
 
 private String name;
 ----
-9. Clique com o botão direito do mouse no Editor de Código-Fonte e selecione Inserir Código (Alt-Insert; Ctrl-I no Mac) e selecione Getter e Setter para abrir a caixa de diálogo Gerar Getters e Setters.
-10. Selecione o campo  ``name``  na caixa de diálogo. Clique em Gerar.
-11. Adicione o seguinte método à classe.
+
+[start=9]
+. Clique com o botão direito do mouse no Editor de Código-Fonte e selecione Inserir Código (Alt-Insert; Ctrl-I no Mac) e selecione Getter e Setter para abrir a caixa de diálogo Gerar Getters e Setters.
+
+[start=10]
+. Selecione o campo  ``name``  na caixa de diálogo. Clique em Gerar.
+
+[start=11]
+. Adicione o seguinte método à classe.
 
 [source,java]
 ----
@@ -382,7 +408,9 @@ public SimpleEntity(int id) {
     name = "Entity number " + id + " created at " + new Date();
 }
 ----
-12. Use as anotações  ``@NamedQueries``  e  ``@NamedQuery``  para criar uma consulta SQL nomeada.
+
+[start=12]
+. Use as anotações  ``@NamedQueries``  e  ``@NamedQuery``  para criar uma consulta SQL nomeada.
 
 [source,java]
 ----
@@ -391,11 +419,15 @@ public SimpleEntity(int id) {
 *@NamedQueries({@NamedQuery(name = "SimpleEntity.findAll", query = "select e from SimpleEntity e")})*
 public class SimpleEntity implements Serializable {
 ----
-13. Crie um construtor default.
+
+[start=13]
+. Crie um construtor default.
 
 Você pode clicar no ícone de sugestão exibido na medianiz, próximo à declaração de classe, se quiser que o IDE gere o construtor para você.
 
-14. Corrija suas importações para adicionar instruções de importação para  ``javax.persistence.NamedQueries`` ,  ``javax.persistence.NamedQuery``  e  ``java.util.Date`` . Salve as alterações.
+
+[start=14]
+. Corrija suas importações para adicionar instruções de importação para  ``javax.persistence.NamedQueries`` ,  ``javax.persistence.NamedQuery``  e  ``java.util.Date`` . Salve as alterações.
 
 Além do código default gerado, a classe de entidade agora deve ser semelhante a:
 
@@ -465,7 +497,9 @@ Quando você tiver selecionado Usar Gerenciador de Entidades, o IDE terá adicio
 @PersistenceContext(unitName="WebAppJUnitPU")
 private EntityManager em;
 ----
-3. Adicione os seguintes métodos  ``verify``  e  ``insert`` .
+
+[start=3]
+. Adicione os seguintes métodos  ``verify``  e  ``insert`` .
 
 [source,java]
 ----
@@ -493,7 +527,9 @@ public void insert(int num) {
     }
 }
 ----
-4. Corrija suas importações para importar o  ``javax.persistence.Query``  e salve as alterações.
+
+[start=4]
+. Corrija suas importações para importar o  ``javax.persistence.Query``  e salve as alterações.
 
 
 === Testando a Classe de Entidade
@@ -524,7 +560,9 @@ public void testInsert() throws Exception {
     System.out.println("..........SUCCESSFULLY finished embedded test");
 }
 ----
-4. Na janela Projetos, clique com o botão direito do mouse no nó do projeto e escolha Testar no menu pop-up.
+
+[start=4]
+. Na janela Projetos, clique com o botão direito do mouse no nó do projeto e escolha Testar no menu pop-up.
 
 A janela Resultados do teste será aberta e exibirá uma saída semelhante à seguinte.
 
@@ -545,18 +583,26 @@ Você pode fazer o download da solução para este projeto como um projeto das s
 2. Na caixa de diálogo Check-out, insira o URL de Repositório a seguir:
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 Clique em Próximo.
-3. Clique em Procurar para abrir a caixa de diálogo Procurar Pastas do Repositório.
-4. Expanda o nó raiz e selecione *samples/javaee/WebAppJUnit*. Clique em OK.
-5. Especifique a Pasta Local para o códigos-fonte (a pasta local precisa estar vazia).
-6. Clique em Finalizar.
+
+[start=3]
+. Clique em Procurar para abrir a caixa de diálogo Procurar Pastas do Repositório.
+
+[start=4]
+. Expanda o nó raiz e selecione *samples/javaee/WebAppJUnit*. Clique em OK.
+
+[start=5]
+. Especifique a Pasta Local para o códigos-fonte (a pasta local precisa estar vazia).
+
+[start=6]
+. Clique em Finalizar.
 
 Quando você clica em Finalizar, o IDE inicializa a pasta local como um repositório Subversion e verifica os códigos-fonte do projeto.
 
-7. Clique em Abrir Projeto na caixa de diálogo exibida quando o check-out for concluído.
 
-*Observações.*
+[start=7]
+. Clique em Abrir Projeto na caixa de diálogo exibida quando o check-out for concluído.
 
-* É necessário um cliente Subversion para verificar os códigos-fonte. Para saber mais sobre a instalação do Subversion, consulte a seção link:../ide/subversion.html#settingUp[+Configurando o Subversion+] no link:../ide/subversion.html[+Guia do Subversion no NetBeans IDE+].
+NOTE: É necessário um cliente Subversion para verificar os códigos-fonte. Para saber mais sobre a instalação do Subversion, consulte a seção link:../ide/subversion.html#settingUp[+Configurando o Subversion+] no link:../ide/subversion.html[+Guia do Subversion no NetBeans IDE+].
 
 
 link:/about/contact_form.html?to=3&subject=Feedback:%20Using%20the%20Embedded%20EJB%20Container[+Enviar Feedback neste Tutorial+]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit_ru.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit_ru.asciidoc
index ad1c299..9c84aa2 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit_ru.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit_ru.asciidoc
@@ -33,8 +33,6 @@
 
 *Упражнения по темам руководства*
 
-image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0"]
-
 * <<Exercise_1,Тестирование сеансного компонента>>
 * <<Exercise_1a,Создание проекта>>
 * <<Exercise_1b,Создание сеансового компонента>>
@@ -91,7 +89,9 @@ image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой 
 3. Присвойте проекту имя *WebAppJUnit* и выберите его местоположение.
 4. Снимите флажок "Использовать отдельную папку", если он установлен.
 Нажмите кнопку "Далее".
-5. В качестве сервера выберите *GlassFish Server*, а в качестве версии Java EE - *Java EE 6 Web* или *Java EE 7 Web*. 
+
+[start=5]
+. В качестве сервера выберите *GlassFish Server*, а в качестве версии Java EE - *Java EE 6 Web* или *Java EE 7 Web*. 
 Нажмите кнопку "Готово".
 
 
@@ -107,7 +107,9 @@ image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой 
 
 При нажатии кнопки "Готово" в редакторе откроется новый класс.
 
-6. В редакторе добавьте к классу следующий метод  ``addNumbers`` .
+
+[start=6]
+. В редакторе добавьте к классу следующий метод  ``addNumbers`` .
 
 [source,java]
 ----
@@ -120,9 +122,11 @@ public class MyBean {
 }
 ----
 
-*Примечание.* Для выполнения заданий этого практического руководства не обязательно создавать аннотацию  ``@LocalBean``  или реализацию интерфейса. Если представление не указано явным образом, по умолчанию компонент предоставляет безынтерфейсное представление.
+NOTE:  Для выполнения заданий этого практического руководства не обязательно создавать аннотацию  ``@LocalBean``  или реализацию интерфейса. Если представление не указано явным образом, по умолчанию компонент предоставляет безынтерфейсное представление.
+
 
-7. Сохраните изменения.
+[start=7]
+. Сохраните изменения.
 
 
 === Тестирование сеансного компонента
@@ -132,9 +136,10 @@ public class MyBean {
 1. В окне 'Проекты' щелкните класс  ``MyBean``  правой кнопкой мыши и выберите Сервис > Создать тесты.
 2. Выберите JUnit в списке 'Платформы'.
 3. В диалоговом окне "Создать тесты" используйте значения по умолчанию. Нажмите кнопку "ОК".
+
 image::images/create-tests-dialog.png[title="Диалоговое окно 'Создать тесты'"]
 
-*Примечание.* При первом создании модульного теста JUnit необходимо указать версию JUnit. Выберите версию JUnit 4.x в диалоговом окне 'Выбор версии JUnit' и нажмите 'Выбрать'.
+NOTE:  При первом создании модульного теста JUnit необходимо указать версию JUnit. Выберите версию JUnit 4.x в диалоговом окне 'Выбор версии JUnit' и нажмите 'Выбрать'.
 
 При нажатии кнопки "ОК" среда IDE создает файл  ``MyBeanTest.java``  и открывает класс в редакторе.
 
@@ -144,9 +149,11 @@ image::images/create-tests-dialog.png[title="Диалоговое окно 'Со
 
 image::images/embedded-static-shell-jar.png[title="Структура проекта в окне 'Проекты'"]
 
-*Примечание.* Файл JAR  ``glassfish-embedded-static-shell.jar``  не содержит источников для встроенного контейнера EJB. Для файла  ``glassfish-embedded-static-shell.jar``  требуется локальная установка GlassFish. Путь к классам для локальной установки GlassFish определяется целевым сервером для проекта. Целевой сервер можно изменить в диалоговом окне "Свойства" проекта.
+NOTE:  Файл JAR  ``glassfish-embedded-static-shell.jar``  не содержит источников для встроенного контейнера EJB. Для файла  ``glassfish-embedded-static-shell.jar``  требуется локальная установка GlassFish. Путь к классам для локальной установки GlassFish определяется целевым сервером для проекта. Целевой сервер можно изменить в диалоговом окне "Свойства" проекта.
+
 
-4. Измените созданный каркасный тестовый метод, чтобы указать значения для  ``numberA`` ,  ``numberB``  и  ``expResult``  и удалить вызов сбоя по умолчанию.
+[start=4]
+. Измените созданный каркасный тестовый метод, чтобы указать значения для  ``numberA`` ,  ``numberB``  и  ``expResult``  и удалить вызов сбоя по умолчанию.
 
 [source,java]
 ----
@@ -164,7 +171,9 @@ public void testAddNumbers() throws Exception {
     container.close();
 }
 ----
-5. Щелкните правой кнопкой мыши окно "Проекты" и выберите команду "Тест".
+
+[start=5]
+. Щелкните правой кнопкой мыши окно "Проекты" и выберите команду "Тест".
 
 При выполнении теста в среде IDE откроется окно "Результаты тестирования", в котором отобразятся ход выполнения и результаты теста.
 
@@ -230,8 +239,12 @@ public void testAddNumbers() throws Exception {
     container.close();
 }
 ----
-2. Щелкните правой кнопкой мыши в редакторе и выберите команду 'Исправить операторы импорта' (Alt-Shift-I; ⌘-Shift-I в Mac) для добавления операторов импорта для  ``java.util.HashMap``  и  ``java.util.Map`` .
-3. Снова выполните тест для подтверждения работы измененного теста и правильности создания контейнера.
+
+[start=2]
+. Щелкните правой кнопкой мыши в редакторе и выберите команду 'Исправить операторы импорта' (Alt-Shift-I; ⌘-Shift-I в Mac) для добавления операторов импорта для  ``java.util.HashMap``  и  ``java.util.Map`` .
+
+[start=3]
+. Снова выполните тест для подтверждения работы измененного теста и правильности создания контейнера.
 
 Можно нажать кнопку "Повторное выполнение" в окне "Результаты тестирования".
 
@@ -253,7 +266,9 @@ public void testAddNumbers() throws Exception {
 
 private static EJBContainer container;
 ----
-2. Скопируйте код создания контейнера из тестового метода  ``testAddNumbers``  в метод  ``setUpClass`` .
+
+[start=2]
+. Скопируйте код создания контейнера из тестового метода  ``testAddNumbers``  в метод  ``setUpClass`` .
 
 [source,java]
 ----
@@ -266,7 +281,9 @@ public static void setUpClass() *throws Exception* {
     System.out.println("Opening the container");*
 }
 ----
-3. Скопируйте код закрытия контейнера из тестового метода  ``testAddNumbers``  в метод  ``tearDownClass`` .
+
+[start=3]
+. Скопируйте код закрытия контейнера из тестового метода  ``testAddNumbers``  в метод  ``tearDownClass`` .
 
 [source,java]
 ----
@@ -277,7 +294,9 @@ public static void tearDownClass() *throws Exception* {
     System.out.println("Closing the container");*
 }
 ----
-4. Удалите избыточный код из метода  ``testAddNumbers`` . Сохраните изменения.
+
+[start=4]
+. Удалите избыточный код из метода  ``testAddNumbers`` . Сохраните изменения.
 
 Теперь тестовый класс должен выглядеть следующим образом.
 
@@ -359,20 +378,29 @@ image::images/test-results2a.png[title="Окно &quot;Результаты те
 5. Введите *int* как тип первичного ключа. Нажмите кнопку "Далее".
 6. Используйте имя блока сохранения состояния и поставщика сохранения состояния по умолчанию.
 7. Выберите  ``jdbc/sample``  в качестве источника данных и "Удалить и создать" в качестве стратегии. Нажмите кнопку "Готово".
+
 image::images/create-entity-wizard.png[title="Диалоговое окно создания классов сущностей"]
 
 При нажатии кнопки "Готово" в редакторе откроется новый класс сущности. Если развернуть узел "Файлы настройки" в окне "Проекты, можно увидеть, что среда IDE автоматически создала файл  ``persistence.xml`` , в котором определяются свойства единицы сохранения состояния  ``WebAppJUnitPU`` .
 
-8. В редакторе добавьте к классу сущности следующее закрытое поле.
+
+[start=8]
+. В редакторе добавьте к классу сущности следующее закрытое поле.
 
 [source,java]
 ----
 
 private String name;
 ----
-9. Щелкните правой кнопкой мыши в редакторе исходного кода, выберите пункт "Вставить код" (Alt-Insert; Ctrl-I на Mac) и выберите пункт "Методы получения и установки", чтобы открыть диалоговое окно "Создать методы получения и установки".
-10. В диалоговом окне выберите поле  ``name`` . Нажмите кнопку 'Создать'.
-11. Добавьте к классу следующий метод.
+
+[start=9]
+. Щелкните правой кнопкой мыши в редакторе исходного кода, выберите пункт "Вставить код" (Alt-Insert; Ctrl-I на Mac) и выберите пункт "Методы получения и установки", чтобы открыть диалоговое окно "Создать методы получения и установки".
+
+[start=10]
+. В диалоговом окне выберите поле  ``name`` . Нажмите кнопку 'Создать'.
+
+[start=11]
+. Добавьте к классу следующий метод.
 
 [source,java]
 ----
@@ -382,7 +410,9 @@ public SimpleEntity(int id) {
     name = "Entity number " + id + " created at " + new Date();
 }
 ----
-12. Аннотации  ``@NamedQueries``  и  ``@NamedQuery``  используются для создания именованного запроса SQL.
+
+[start=12]
+. Аннотации  ``@NamedQueries``  и  ``@NamedQuery``  используются для создания именованного запроса SQL.
 
 [source,java]
 ----
@@ -391,11 +421,15 @@ public SimpleEntity(int id) {
 *@NamedQueries({@NamedQuery(name = "SimpleEntity.findAll", query = "select e from SimpleEntity e")})*
 public class SimpleEntity implements Serializable {
 ----
-13. Создание конструктора по умолчанию.
+
+[start=13]
+. Создание конструктора по умолчанию.
 
 Можно щелкнуть значок предложения, отображающийся во внутреннем поле рядом с объявлением класса, чтобы среда IDE создала конструктор.
 
-14. Исправьте операторы импорта для добавления выражений импорта для  ``javax.persistence.NamedQueries`` ,  ``javax.persistence.NamedQuery``  и  ``java.util.Date`` . Сохраните изменения.
+
+[start=14]
+. Исправьте операторы импорта для добавления выражений импорта для  ``javax.persistence.NamedQueries`` ,  ``javax.persistence.NamedQuery``  и  ``java.util.Date`` . Сохраните изменения.
 
 Помимо созданного кода по умолчанию теперь класс сущности должен выглядеть так, как показано ниже:
 
@@ -465,7 +499,9 @@ public class SimpleEntity implements Serializable {
 @PersistenceContext(unitName="WebAppJUnitPU")
 private EntityManager em;
 ----
-3. Добавьте следующие методы  ``verify``  и  ``insert`` .
+
+[start=3]
+. Добавьте следующие методы  ``verify``  и  ``insert`` .
 
 [source,java]
 ----
@@ -493,7 +529,9 @@ public void insert(int num) {
     }
 }
 ----
-4. Исправьте операторы импорта, чтобы импортировать  ``javax.persistence.Query`` , и сохраните изменения.
+
+[start=4]
+. Исправьте операторы импорта, чтобы импортировать  ``javax.persistence.Query`` , и сохраните изменения.
 
 
 === Тестирование класса сущности
@@ -524,7 +562,9 @@ public void testInsert() throws Exception {
     System.out.println("..........SUCCESSFULLY finished embedded test");
 }
 ----
-4. Правой кнопкой мыши щелкните узел свойств в окне "Проекты" и выберите "Тест" во всплывающем меню.
+
+[start=4]
+. Правой кнопкой мыши щелкните узел свойств в окне "Проекты" и выберите "Тест" во всплывающем меню.
 
 Откройте окно "Результаты тестирования", в котором будет отображен вывод, сходный со следующим.
 
@@ -545,14 +585,23 @@ image::images/test-results2b.png[title="Окно результатов тест
 2. В диалоговом окне "Проверка" введите следующий URL-адрес репозитория:
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 Нажмите кнопку "Далее".
-3. Нажмите кнопку Browse ("Обзор") для открытия диалогового окна Browse Repository Folders ("Обзор папок репозитория").
-4. Разверните корневой узел и выберите *samples/javaee/WebAppJUnit*. Нажмите кнопку "ОК".
-5. Укажите локальную папку для исходных файлов (папка должна быть пустой).
-6. Нажмите кнопку 'Готово'.
+
+[start=3]
+. Нажмите кнопку Browse ("Обзор") для открытия диалогового окна Browse Repository Folders ("Обзор папок репозитория").
+
+[start=4]
+. Разверните корневой узел и выберите *samples/javaee/WebAppJUnit*. Нажмите кнопку "ОК".
+
+[start=5]
+. Укажите локальную папку для исходных файлов (папка должна быть пустой).
+
+[start=6]
+. Нажмите кнопку 'Готово'.
 
 После нажатия кнопки "Готово" среда IDE инициализирует локальную папку в качестве репозитория Subversion и выполняет проверку исходных файлов проекта на выходе.
 
-7. Щелкните команду "Открыть проект" в диалоговом окне, которое появится после завершения проверки.
+[start=7]
+. Щелкните команду "Открыть проект" в диалоговом окне, которое появится после завершения проверки.
 
 *Примечания.*
 
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit_zh_CN.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit_zh_CN.asciidoc
index f8a63ab..dd2d5cf 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit_zh_CN.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-entapp-junit_zh_CN.asciidoc
@@ -33,8 +33,6 @@
 
 *教程练习*
 
-image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0"]
-
 * <<Exercise_1,测试会话 Bean>>
 * <<Exercise_1a,创建项目>>
 * <<Exercise_1b,创建会话 Bean>>
@@ -59,9 +57,7 @@ image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 Net
 |GlassFish Server Open Source Edition |3.1.x 或 4.x 
 |===
 
-*注:*
-
-* 本教程需要使用 JUnit 插件。如果在安装 IDE 时未安装 JUnit 插件,请打开 "Plugins"(插件)管理器,选择 "Available plugins"(可用插件)标签,然后安装 JUnit 插件。
+NOTE: 本教程需要使用 JUnit 插件。如果在安装 IDE 时未安装 JUnit 插件,请打开 "Plugins"(插件)管理器,选择 "Available plugins"(可用插件)标签,然后安装 JUnit 插件。
 
 *先决条件*
 
@@ -91,7 +87,9 @@ image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 Net
 3. 将项目命名为 *WebAppJUnit* 并设置项目位置。
 4. 取消选中 "Use Dedicated Folder"(使用专用文件夹)选项(如果该选项处于选中状态)。
 单击 "Next"(下一步)。
-5. 将服务器设置为 *GlassFish Server*,并将 Java EE 版本设置为 *Java EE 6 Web* 或 *Java EE 7 Web*。
+
+[start=5]
+. 将服务器设置为 *GlassFish Server*,并将 Java EE 版本设置为 *Java EE 6 Web* 或 *Java EE 7 Web*。
 单击 "Finish"(完成)。
 
 
@@ -107,7 +105,9 @@ image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 Net
 
 单击 "Finish"(完成),此时将在编辑器中打开新类。
 
-6. 在编辑器中,将以下  ``addNumbers``  方法添加到类中。
+
+[start=6]
+. 在编辑器中,将以下  ``addNumbers``  方法添加到类中。
 
 [source,java]
 ----
@@ -120,9 +120,11 @@ public class MyBean {
 }
 ----
 
-*注:*在本教程中,无需添加  ``@LocalBean``  标注或实现接口。默认情况下,当未显式指定视图时,Bean 将公开无界面视图。
+NOTE: 在本教程中,无需添加  ``@LocalBean``  标注或实现接口。默认情况下,当未显式指定视图时,Bean 将公开无界面视图。
 
-7. 保存所做的更改。
+
+[start=7]
+. 保存所做的更改。
 
 
 === 测试会话 Bean
@@ -132,9 +134,10 @@ public class MyBean {
 1. 在 "Projects"(项目)窗口中右键单击  ``MyBean``  类,然后选择 "Tools"(工具)> "Create Tests"(创建测试)。
 2. 在 "Frameworks"(框架)下拉列表中选择 "JUnit"。
 3. 在 "Create Tests"(创建测试)对话框中,使用默认值。单击 "OK"(确定)。
+
 image::images/create-tests-dialog.png[title=""Create Tests"(创建测试)对话框"]
 
-*注:*首次创建 JUnit 单元测试时,您需要指定 JUnit 版本。在 "Select JUnit Version"(选择 JUnit 版本)对话框中,选择 "JUnit 4.x",然后单击 "Select"(选择)。
+NOTE: 首次创建 JUnit 单元测试时,您需要指定 JUnit 版本。在 "Select JUnit Version"(选择 JUnit 版本)对话框中,选择 "JUnit 4.x",然后单击 "Select"(选择)。
 
 单击 "OK"(确定)后,IDE 将生成  ``MyBeanTest.java``  文件并在编辑器中打开该类。
 
@@ -144,9 +147,11 @@ image::images/create-tests-dialog.png[title=""Create Tests"(创建测试)对
 
 image::images/embedded-static-shell-jar.png[title=""Projects"(项目)窗口中的项目结构"]
 
-*注:* ``glassfish-embedded-static-shell.jar``  JAR 不包含嵌入的 EJB 容器的源代码。 ``glassfish-embedded-static-shell.jar``  JAR 要求在本地安装 GlassFish。本地 GlassFish 安装的类路径是由项目的目标服务器确定的。您可以在项目的 "Properties"(属性)对话框中更改目标服务器。
+NOTE:  ``glassfish-embedded-static-shell.jar``  JAR 不包含嵌入的 EJB 容器的源代码。 ``glassfish-embedded-static-shell.jar``  JAR 要求在本地安装 GlassFish。本地 GlassFish 安装的类路径是由项目的目标服务器确定的。您可以在项目的 "Properties"(属性)对话框中更改目标服务器。
+
 
-4. 修改生成的框架测试方法以指定  ``numberA`` 、 ``numberB``  和  ``expResult``  的值,然后删除会失败的默认调用。
+[start=4]
+. 修改生成的框架测试方法以指定  ``numberA`` 、 ``numberB``  和  ``expResult``  的值,然后删除会失败的默认调用。
 
 [source,java]
 ----
@@ -164,7 +169,9 @@ public void testAddNumbers() throws Exception {
     container.close();
 }
 ----
-5. 在 "Projects"(项目)窗口中右键单击项目,然后选择 "Test"(测试)。
+
+[start=5]
+. 在 "Projects"(项目)窗口中右键单击项目,然后选择 "Test"(测试)。
 
 运行测试时,将在 IDE 中打开 "Test Results"(测试结果)窗口并显示测试进度和结果。
 
@@ -230,8 +237,12 @@ public void testAddNumbers() throws Exception {
     container.close();
 }
 ----
-2. 在编辑器中右键单击,然后选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键)添加  ``java.util.HashMap``  和  ``java.util.Map``  的 import 语句。
-3. 再次运行测试,以确认修改的测试正常工作并且正确创建了容器。
+
+[start=2]
+. 在编辑器中右键单击,然后选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键)添加  ``java.util.HashMap``  和  ``java.util.Map``  的 import 语句。
+
+[start=3]
+. 再次运行测试,以确认修改的测试正常工作并且正确创建了容器。
 
 您可以在 "Test Results"(测试结果)窗口中单击 "Rerun"(重新运行)按钮。
 
@@ -253,7 +264,9 @@ public void testAddNumbers() throws Exception {
 
 private static EJBContainer container;
 ----
-2. 将用于创建容器的代码从  ``testAddNumbers``  测试方法复制到  ``setUpClass``  方法和
+
+[start=2]
+. 将用于创建容器的代码从  ``testAddNumbers``  测试方法复制到  ``setUpClass``  方法和
 
 [source,java]
 ----
@@ -266,7 +279,9 @@ public static void setUpClass() *throws Exception* {
     System.out.println("Opening the container");*
 }
 ----
-3. 将用于关闭容器的代码从  ``testAddNumbers``  测试方法复制到  ``tearDownClass``  方法中。
+
+[start=3]
+. 将用于关闭容器的代码从  ``testAddNumbers``  测试方法复制到  ``tearDownClass``  方法中。
 
 [source,java]
 ----
@@ -277,7 +292,9 @@ public static void tearDownClass() *throws Exception* {
     System.out.println("Closing the container");*
 }
 ----
-4. 从  ``testAddNumbers``  方法中删除多余的代码。保存所做的更改。
+
+[start=4]
+. 从  ``testAddNumbers``  方法中删除多余的代码。保存所做的更改。
 
 现在,测试类应如下所示。
 
@@ -359,20 +376,29 @@ image::images/test-results2a.png[title=""Test Results"(测试结果)窗口"]
 5. 在 "Primary Key Type"(主键类型)中键入 *int*。单击 "Next"(下一步)。
 6. 使用默认的持久性单元名称和持久性提供器。
 7. 选择  ``jdbc/sample``  作为数据源,然后选 "Drop and Create"(删除并创建)作为策略。单击 "Finish"(完成)。
+
 image::images/create-entity-wizard.png[title=""Create Entity Class"(创建实体类)对话框"]
 
 单击 "Finish"(完成),此时将在编辑器中打开新的实体类。如果在 "Projects"(项目)窗口中展开 "Configuration Files"(配置文件)节点,则可以看到 IDE 自动生成了  ``persistence.xml``  文件,该文件定义了  ``WebAppJUnitPU``  持久性单元的属性。
 
-8. 在编辑器中,将以下私有字段添加到实体类中。
+
+[start=8]
+. 在编辑器中,将以下私有字段添加到实体类中。
 
 [source,java]
 ----
 
 private String name;
 ----
-9. 在源代码编辑器中右键单击,选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键),然后选择 "Getter and Setter"(Getter 和 Setter),以打开 "Generate Getters and Setters"(生成 Getter 和 Setter)对话框。
-10. 在对话框中选择  ``name``  字段。单击 "Generate"(生成)。
-11. 将以下方法添加到类中。
+
+[start=9]
+. 在源代码编辑器中右键单击,选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键),然后选择 "Getter and Setter"(Getter 和 Setter),以打开 "Generate Getters and Setters"(生成 Getter 和 Setter)对话框。
+
+[start=10]
+. 在对话框中选择  ``name``  字段。单击 "Generate"(生成)。
+
+[start=11]
+. 将以下方法添加到类中。
 
 [source,java]
 ----
@@ -382,7 +408,9 @@ public SimpleEntity(int id) {
     name = "Entity number " + id + " created at " + new Date();
 }
 ----
-12. 使用  ``@NamedQueries``  和  ``@NamedQuery``  标注来创建指定的 SQL 查询。
+
+[start=12]
+. 使用  ``@NamedQueries``  和  ``@NamedQuery``  标注来创建指定的 SQL 查询。
 
 [source,java]
 ----
@@ -391,11 +419,15 @@ public SimpleEntity(int id) {
 *@NamedQueries({@NamedQuery(name = "SimpleEntity.findAll", query = "select e from SimpleEntity e")})*
 public class SimpleEntity implements Serializable {
 ----
-13. 创建一个默认构造函数。
+
+[start=13]
+. 创建一个默认构造函数。
 
 如果希望 IDE 生成构造函数,您可以单击类声明旁边的装订线中显示的建议图标。
 
-14. 修复导入以添加  ``javax.persistence.NamedQueries`` 、 ``javax.persistence.NamedQuery``  和  ``java.util.Date``  的 import 语句。保存所做的更改。
+
+[start=14]
+. 修复导入以添加  ``javax.persistence.NamedQueries`` 、 ``javax.persistence.NamedQuery``  和  ``java.util.Date``  的 import 语句。保存所做的更改。
 
 除了默认的生成代码以外,实体类现在应类似于以下内容:
 
@@ -465,7 +497,9 @@ public class SimpleEntity implements Serializable {
 @PersistenceContext(unitName="WebAppJUnitPU")
 private EntityManager em;
 ----
-3. 添加以下  ``verify``  和  ``insert``  方法。
+
+[start=3]
+. 添加以下  ``verify``  和  ``insert``  方法。
 
 [source,java]
 ----
@@ -493,7 +527,9 @@ public void insert(int num) {
     }
 }
 ----
-4. 修复导入以导入  ``javax.persistence.Query``  并保存所做的更改。
+
+[start=4]
+. 修复导入以导入  ``javax.persistence.Query``  并保存所做的更改。
 
 
 === 测试实体类
@@ -524,7 +560,9 @@ public void testInsert() throws Exception {
     System.out.println("..........SUCCESSFULLY finished embedded test");
 }
 ----
-4. 在 "Projects"(项目)窗口中右键单击项目节点,然后从弹出式菜单中选择 "Test"(测试)。
+
+[start=4]
+. 在 "Projects"(项目)窗口中右键单击项目节点,然后从弹出式菜单中选择 "Test"(测试)。
 
 此时将打开 "Test Results"(测试结果)窗口并显示类似下面的输出。
 
@@ -545,18 +583,26 @@ image::images/test-results2b.png[title="添加 testInsert 测试后的 "Test Res
 2. 在 "Checkout"(检出)对话框中,输入以下资源库 URL:
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 单击 "Next"(下一步)。
-3. 单击 "Browse"(浏览)以打开 "Browse Repository Folders"(浏览资源库文件夹)对话框。
-4. 展开根节点并选择 *samples/javaee/WebAppJUnit*。单击 "OK"(确定)。
-5. 指定用于存储源代码的本地文件夹(本地文件夹必须为空)。
-6. 单击 "Finish"(完成)。
+
+[start=3]
+. 单击 "Browse"(浏览)以打开 "Browse Repository Folders"(浏览资源库文件夹)对话框。
+
+[start=4]
+. 展开根节点并选择 *samples/javaee/WebAppJUnit*。单击 "OK"(确定)。
+
+[start=5]
+. 指定用于存储源代码的本地文件夹(本地文件夹必须为空)。
+
+[start=6]
+. 单击 "Finish"(完成)。
 
 单击 "Finish"(完成),此时 IDE 会将本地文件夹初始化为 Subversion 资源库,并检出项目源代码。
 
-7. 在完成检出操作后将会显示一个对话框,在该对话框中单击 "Open Project"(打开项目)。
 
-*注:*
+[start=7]
+. 在完成检出操作后将会显示一个对话框,在该对话框中单击 "Open Project"(打开项目)。
 
-* 需要 Subversion 客户端检出源代码。有关安装 Subversion 的更多信息,请参见 link:../ide/subversion.html[+NetBeans IDE 中的 Subversion 指南+]中有关link:../ide/subversion.html#settingUp[+设置 Subversion+] 的部分。
+NOTE: 需要 Subversion 客户端检出源代码。有关安装 Subversion 的更多信息,请参见 link:../ide/subversion.html[+NetBeans IDE 中的 Subversion 指南+]中有关link:../ide/subversion.html#settingUp[+设置 Subversion+] 的部分。
 
 
 link:/about/contact_form.html?to=3&subject=Feedback:%20Using%20the%20Embedded%20EJB%20Container[+发送有关此教程的反馈意见+]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted.asciidoc
index 16857b2..9bbec97 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted.asciidoc
@@ -35,8 +35,6 @@ This tutorial is based on the blog post link:http://www.adam-bien.com/roller/abi
 
 *Tutorial Exercises*
 
-image::images/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3, 7.4 and 8.0"]
-
 * <<Exercise_1,Creating the Web Application Project>>
 * <<Exercise_2,Creating the Entity Class and Session Facade>>
 * <<Exercise_2a,Creating the Entity Class>>
@@ -83,9 +81,15 @@ The Web profiles support the transaction processing and persistence management t
 3. Type *SimpleEE6App* for the project name and set the project location.
 4. Deselect the Use Dedicated Folder option, if selected. Click Next.
 (For this tutorial there is little reason to copy project libraries to a dedicated folder because you will not need to share libraries with other users or projects.)
-5. Select the GlassFish server and set the Java EE Version to Java EE 6 Web or Java EE 7 Web. Click Next.
+
+[start=5]
+. Select the GlassFish server and set the Java EE Version to Java EE 6 Web or Java EE 7 Web. Click Next.
+
 image::images/newappwizard.png[title="Server and Settings panel in New Project wizard"]
-6. Select JavaServer Faces in the Frameworks pane. Click Finish.
+
+
+[start=6]
+. Select JavaServer Faces in the Frameworks pane. Click Finish.
 
 By default, the IDE will select the JSF 2.x library if you are developing a Java EE web application and deploying to the GlassFish server. The version of the default JSF library depends on the version bundled with your GlassFish server. The JSF 2.x library enables you to use Facelets as the page language and also provides support for JSF 1.2 and JSP.
 
@@ -130,11 +134,15 @@ The datasource for  ``jdbc/sample``  is bundled with the IDE when you install th
 
 You can keep the other default options (persistence unit name, EclipseLink persistence provider). Confirm that the persistence unit is using the Java Transaction API and that the Table Generation Strategy is set to Create so that the tables based on your entity classes are created when the application is deployed.
 
-7. Click Finish in the New Entity Class wizard.
+
+[start=7]
+. Click Finish in the New Entity Class wizard.
 
 When you click Finish, the IDE creates the entity class and opens the class in the editor. You can see that the IDE generated the id field  ``private Long id;``  and annotated the field with  ``@Id``  and  ``@GeneratedValue(strategy = GenerationType.AUTO)`` .
 
-8. In the editor, add the  ``message``  field (in bold) below the  ``id``  field.
+
+[start=8]
+. In the editor, add the  ``message``  field (in bold) below the  ``id``  field.
 
 [source,java]
 ----
@@ -142,13 +150,20 @@ When you click Finish, the IDE creates the entity class and opens the class in t
 private Long id;
 *private String message;*
 ----
-9. Right-click in the editor and choose Insert Code (Alt-Insert; Ctrl-I on Mac) and then select Getter and Setter.
-10. In the Generate Getters and Setters dialog box, select the  ``message``  field and click Generate.
+
+[start=9]
+. Right-click in the editor and choose Insert Code (Alt-Insert; Ctrl-I on Mac) and then select Getter and Setter.
+
+[start=10]
+. In the Generate Getters and Setters dialog box, select the  ``message``  field and click Generate.
 
 The IDE generates getter and setter methods for the field  ``message`` .
 
 image::images/getters-dialog.png[title="Create Persistence Unit wizard"]
-11. Save your changes.
+
+
+[start=11]
+. Save your changes.
 
 The entity class represents a table in the database. When you run this application, a database table for Message will be automatically created. The table will contain the columns  ``id``  and  ``message`` .
 
@@ -209,12 +224,19 @@ To create the managed bean, perform the following steps.
 
 You will use the Managed Bean name  ``MessageView``  as the value for the  ``inputText``  and  ``commandButton``  in the JSF page  ``index.xhtml``  when calling methods in the bean.
 
-4. Type *my.presentation* for the Package.
-5. Type *MessageView* for the Name that will be used for the managed bean.
 
-*Note.* When you create a managed bean using the wizard, the IDE will by default assign a name to the bean based on the name of the bean class and beginning with a lower-case letter. For this tutorial and demonstration purposes, you are explicitly assigning the bean a name that begins with an upper-case letter. When you reference the bean in the JSF pages you will use  ``MessageView``  instead of  ``messageView`` . If you did not explicitly assign the name, you would use the default  ``m [...]
+[start=4]
+. Type *my.presentation* for the Package.
+
+[start=5]
+. Type *MessageView* for the Name that will be used for the managed bean.
+
+NOTE:  When you create a managed bean using the wizard, the IDE will by default assign a name to the bean based on the name of the bean class and beginning with a lower-case letter. For this tutorial and demonstration purposes, you are explicitly assigning the bean a name that begins with an upper-case letter. When you reference the bean in the JSF pages you will use  ``MessageView``  instead of  ``messageView`` . If you did not explicitly assign the name, you would use the default  ``me [...]
+
+
+[start=6]
+. Set Scope to Request. Click Finish.
 
-6. Set Scope to Request. Click Finish.
 image::images/newjsfbean.png[title="New JSF Managed Bean wizard"]
 
 When you click Finish, the IDE creates the bean class and opens the class in the editor. In the Projects window you will see the following files.
@@ -243,6 +265,7 @@ You will now add an  ``@EJB``  annotation to use dependency injection to obtain
 
 1. Right-click in the editor and choose Insert Code (Alt-Insert; Ctrl-I on Mac) and choose Call Enterprise Bean in the popup menu.
 2. Select MessageFacade in the Call Enterprise Bean dialog box. Click OK.
+
 image::images/callbean.png[title="Call Enterprise Bean dialog"]
 
 When you click OK, the IDE adds the following code (in bold) to inject the bean.
@@ -263,7 +286,9 @@ public class MessageView {
 }
 
 ----
-3. Add the following code to create a new instance.
+
+[start=3]
+. Add the following code to create a new instance.
 
 [source,java]
 ----
@@ -273,7 +298,9 @@ public class MessageView {
        this.message = new Message();
     }
 ----
-4. Add the following code to the class.
+
+[start=4]
+. Add the following code to the class.
 
 [source,java]
 ----
@@ -299,7 +326,9 @@ public class MessageView {
     }
 
 ----
-5. Right-click in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac) and save your changes.
+
+[start=5]
+. Right-click in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac) and save your changes.
 
 You can use the code completion in the editor to help you type your code.
 
@@ -330,9 +359,11 @@ The JSF code completion can help you when you type the code.
 
 image::images/jsfcodecompletion1.png[title="Code completion in the source editor"]
 
-*Note.* If you copy and paste the code into the file, you will see a warning in the left margin next to the line containing  ``<f:view>`` . You can place your insert cursor in the line and type Alt-Space to open the hint on how to resolve the error. The hint informs you that you need to add the  ``xmlns:f="http://xmlns.jcp.org/jsf/core"``  library declaration.
+NOTE:  If you copy and paste the code into the file, you will see a warning in the left margin next to the line containing  ``<f:view>`` . You can place your insert cursor in the line and type Alt-Space to open the hint on how to resolve the error. The hint informs you that you need to add the  ``xmlns:f="http://xmlns.jcp.org/jsf/core"``  library declaration.
 
-3. Save your changes.
+
+[start=3]
+. Save your changes.
 
 The  ``inputText``  and  ``commandButton``  components will invoke the methods in the named JSF managed bean  ``MessageView`` . The  ``postMessage``  method will return "theend", and the navigation handler will look for a page named  ``theend.xhtml`` .
 
@@ -345,8 +376,12 @@ In this exercise you will create the JSF page  ``theend.xhtml`` . The page will
 2. Select JSF Page from the JavaServer Faces category. Click Next.
 3. Type *theend* as the File Name.
 4. Confirm that the Facelets option is selected. Click Finish.
+
 image::images/result-jsf-page.png[title="Creating the theend JSF file in the New JSF File wizard"]
-5. Modify the file by typing the following between the <h:body> tags.
+
+
+[start=5]
+. Modify the file by typing the following between the <h:body> tags.
 
 [source,xml]
 ----
@@ -369,7 +404,10 @@ You are now finished coding the application. You can now test the application in
 
 When you choose Run, the IDE builds and deploys the application and opens  ``index.xhtml``  in your browser.
 
-2. Type a message in the text field. Click Post Message. 
+
+[start=2]
+. Type a message in the text field. Click Post Message. 
+
 image::images/browser1.png[title="Application in browser"]
 
 When you click Post Message, the message is saved to the database and the number of messages is retrieved and displayed.
@@ -387,18 +425,26 @@ You can download the sample projects used in this tutorial in the following ways
 2. In the Checkout dialog box, enter the following Repository URL:
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 Click Next.
-3. Click Browse to open the Browse Repository Folders dialog box.
-4. Expand the root node and select *samples/javaee/SimpleEE6App*. Click OK.
-5. Specify the Local Folder for the sources (the local folder must be empty).
-6. Click Finish.
+
+[start=3]
+. Click Browse to open the Browse Repository Folders dialog box.
+
+[start=4]
+. Expand the root node and select *samples/javaee/SimpleEE6App*. Click OK.
+
+[start=5]
+. Specify the Local Folder for the sources (the local folder must be empty).
+
+[start=6]
+. Click Finish.
 
 When you click Finish, the IDE initializes the local folder as a Subversion repository and checks out the project sources.
 
-7. Click Open Project in the dialog that appears when checkout is complete.
 
-*Notes.*
+[start=7]
+. Click Open Project in the dialog that appears when checkout is complete.
 
-* You need a Subversion client to checkout the sources. For more about installing Subversion, see the section on link:../ide/subversion.html#settingUp[+Setting up Subversion+] in the link:../ide/subversion.html[+Guide to Subversion in NetBeans IDE+].
+NOTE: You need a Subversion client to checkout the sources. For more about installing Subversion, see the section on link:../ide/subversion.html#settingUp[+Setting up Subversion+] in the link:../ide/subversion.html[+Guide to Subversion in NetBeans IDE+].
 
 
 link:/about/contact_form.html?to=3&subject=Feedback:%20Getting%20Started%20with%20Java%20EE%206%20Applications[+Send Feedback on This Tutorial+]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_ca.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_ca.asciidoc
index 9744b94..12763f1 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_ca.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_ca.asciidoc
@@ -37,7 +37,6 @@ Aquest document utilitza el llançament de l'IDE NetBeans 6.8.
 
 *Exercicis de la guia d'aprenentatge*
 
-image::../../../images_www/articles/71/netbeans-stamp-71-72.gif[title="El contingut d'aquesta pàgina s'aplica al IDE NetBeans 7.1"]
 
 * <<Exercise_1,Creant el projecte d'aplicació Web>>
 * <<Exercise_2,Creant la classe d'entitat i la part frontal de la sessió>>
@@ -61,7 +60,7 @@ image::../../../images_www/articles/71/netbeans-stamp-71-72.gif[title="El contin
 |GlassFish Server Open Source Edition |3.0.1 
 |===
 
-*Nota.* GlassFish V3 necessita el kit de desenvolupament de Java (JDK) 6.
+NOTE:  GlassFish V3 necessita el kit de desenvolupament de Java (JDK) 6.
 
 *Prerequisits*
 
@@ -84,9 +83,15 @@ El perfil Web suporta el processament de la transacció i la gestió de persist
 3. Escriviu *SimpleEE6App* pel nom del projecte i establiu una localització per al projecte.
 4. Desmarqueu l'opció Utilitzar un directori dedicat per emmagatzemar biblioteques, si estès seleccionat. Cliqueu a Següent.
 (Per aquesta guia d'aprenentatge no hi ha cap raó de pes per copiar les biblioteques del projecte a una carpeta dedicada perquè no necessitareu compartir les biblioteques amb altres usuaris o projectes.)
-5. Establiu el servidor a GlassFish v3 i establiu la versió de Java EE a Java EE 6 web. Cliqueu a Següent.
+
+[start=5]
+. Establiu el servidor a GlassFish v3 i establiu la versió de Java EE a Java EE 6 web. Cliqueu a Següent.
+
 image::../../../images_www/articles/71/javaee/gettingstarted/newappwizard.png[title="panell servidor i preferències en l'assistent de nou projecte"]
-6. Seleccioneu JavaServer Faces en el panell de Frameworks. Cliqueu a Finalitzar
+
+
+[start=6]
+. Seleccioneu JavaServer Faces en el panell de Frameworks. Cliqueu a Finalitzar
 
 Per defecte, si esteu desenvolupant una aplicació web Java EE 6 i desplegant a GlassFish V3, l'IDE seleccionarà la biblioteca JSF2.0. La biblioteca JSF 2.0 us permet utilitzar Facelets com a llenguatge de la pàgina i també proporciona suport per a JSF 1.2 i JSP.
 
@@ -125,12 +130,18 @@ La font de dades per  ``jdbc/sample``  està integrada amb l'IDE quant instal·l
 
 Podeu mantindre les altres opcions predeterminades (nom unitat de persistència, proveïdor de persistència EclipseLink). Comproveu que la unitat de persistència estigui utilitzant l'API de Transacció Java i que l'estratègia de generació de taula estigui establerta a Crear, ja que les tales basades en les vostres classes d'entitat són creades quant l'aplicació és desplegada.
 
-7. Cliqueu a Crear, en l'assistent Nova unitat de persistència.
-8. Cliqueu a Finalitzar el l'assistent de la nova classe d'entitat.
+
+[start=7]
+. Cliqueu a Crear, en l'assistent Nova unitat de persistència.
+
+[start=8]
+. Cliqueu a Finalitzar el l'assistent de la nova classe d'entitat.
 
 Quant cliqueu a Finalitzar, l'IDE crea la classe d'entitat i obre la classe en l'editor. Podeu veure que l'IDE ha generat el camp id  ``private Long id;``  i ha anotat el camp amb  ``@Id``  i  ``@GeneratedValue(strategy = GenerationType.AUTO)`` .
 
-9. En l'editor, afegiu el camp  ``message``  (en negreta) després del camp  ``id`` .
+
+[start=9]
+. En l'editor, afegiu el camp  ``message``  (en negreta) després del camp  ``id`` .
 
 [source,java]
 ----
@@ -138,13 +149,20 @@ Quant cliqueu a Finalitzar, l'IDE crea la classe d'entitat i obre la classe en l
 private Long id;
 *private String message;*
 ----
-10. Cliqueu amb el botó dret a l'editor i seleccioneu Inserir codi (Ctrl+I) i després seleccioneu Getter i Setter.
-11. En el quadre de diàleg Generar Generate Getters i Setters, seleccioneu el camp  ``message``  i cliqueu a Generar.
+
+[start=10]
+. Cliqueu amb el botó dret a l'editor i seleccioneu Inserir codi (Ctrl+I) i després seleccioneu Getter i Setter.
+
+[start=11]
+. En el quadre de diàleg Generar Generate Getters i Setters, seleccioneu el camp  ``message``  i cliqueu a Generar.
 
 El IDE genera els mètodes getter i setter pel camp  ``message`` .
 
 image::images/getters-dialog.png[title="Assistent crear unitat de persistència"]
-12. Deseu els vostres canvis.
+
+
+[start=12]
+. Deseu els vostres canvis.
 
 La classe d'entitat representa una taula en la base de dades. Quant executeu aquesta aplicació, es crearà automàticament una taula Message a la base de dades. La taula contindrà les columnes  ``id``  i  ``message`` .
 
@@ -236,12 +254,19 @@ Per crear un bean gestionat, realitzeu els següents passos.
 
 Utilitzareu el nom pel bean gestionat  ``MessageView``  com el valor pel  ``inputText``  i  ``commandButton``  en la pàgina JSF  ``index.xhtml``  quant crideu els mètodes en el bean.
 
-4. Escriviu *my.presentation* pel paquet.
-5. Escriviu *MessageView* pel nom que serà utilitzat pel bean gestionat.
+
+[start=4]
+. Escriviu *my.presentation* pel paquet.
+
+[start=5]
+. Escriviu *MessageView* pel nom que serà utilitzat pel bean gestionat.
 
 Quan creeu el bean gestionat mitjançant l'assistent, l'IDE per defecte assignarà un nom al bean basat amb el nom de la classe bean.
 
-6. Establir l'Àmbit a Petició. Cliqueu a Finalitzar
+
+[start=6]
+. Establir l'Àmbit a Petició. Cliqueu a Finalitzar
+
 image::../../../images_www/articles/71/javaee/gettingstarted/newjsfbean.png[title="Nou assistent Bean gestionat per JSF"]
 
 Quan cliqueu a Finalitzar, l'IDE crea la classe bean i l'obre en l'editor. En la finestra de projectes veureu els següent fitxers.
@@ -271,6 +296,7 @@ Ara utilitzareu la injecció de dependència per obtenir una referència al bean
 1. Cliqueu amb el botó dret en l'editor i seleccioneu Inserir codi (Ctrl+I) per obrir el menú emergent.
 2. Seleccioneu Cridar Bean empresarial, en el menú emergent.
 3. Seleccioneu MessageFacade en el quadre de diàleg Cridar Bean empresarial. Cliqueu a Acceptar.
+
 image::images/callbean.png[title="Diàleg Cridar Bean empresarial,"]
 
 Quan cliqueu a Acceptar, l'IDE afegeix el següent codi (en negreta) per injectar el bean.
@@ -291,7 +317,9 @@ public class MessageView {
 }
 
 ----
-4. Afegiu el següent codi a la classe.
+
+[start=4]
+. Afegiu el següent codi a la classe.
 
 [source,java]
 ----
@@ -321,7 +349,9 @@ public class MessageView {
     }
 
 ----
-5. Corregiu les vostres importacions (Ctrl-Maj-I) i deseu els canvis.
+
+[start=5]
+. Corregiu les vostres importacions (Ctrl-Maj-I) i deseu els canvis.
 
 Utilitzeu l'auto-completat de codi per a ajudar-vos quant escriviu el vostre codi.
 
@@ -351,7 +381,10 @@ en aquest exercici fareu alguns canvis senzill a la pàgina  ``index.xhtml``  pe
 L'auto-completat de codi JSF pot ajudar-vos quant escriviu el codi.
 
 image::images/jsfcodecompletion1.png[title="Auto-completat de codi en l'editor de codi"]
-3. Deseu els vostres canvis.
+
+
+[start=3]
+. Deseu els vostres canvis.
 
 Els components  ``inputText``  i  ``commandButton``  invocaran els mètodes en el bean gestionat JSF anomenat  ``MessageView`` . El mètode  ``postMessage``  retornarà "theend", i l'encarregat de navegació cercarà una pàgina anomenada  ``theend.xhtml`` .
 
@@ -386,7 +419,10 @@ Ara hageu finalitzat la codificació de l'aplicació. Ara podeu provar l'aplicac
 
 Quant seleccioneu Executar, l'IDE construeix i desplega l'aplicació i obre  ``index.xhtml``  en el vostre navegador.
 
-2. Escriviu un missatge en el camp de text. Cliqueu a Enviar missatge. 
+
+[start=2]
+. Escriviu un missatge en el camp de text. Cliqueu a Enviar missatge. 
+
 image::images/browser1.png[title="Aplicació en el navegador"]
 
 Quant cliqueu a Enviar missatge, el missatge és desat a la base de dades i el nombre de missatges és recuperant i mostrat.
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_ja.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_ja.asciidoc
index 83c79cb..840ce2a 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_ja.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_ja.asciidoc
@@ -35,8 +35,6 @@
 
 *チュートリアルの課題*
 
-image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます"]
-
 * <<Exercise_1,Webアプリケーション・プロジェクトの作成>>
 * <<Exercise_2,エンティティ・クラスおよびセッション・ファサードの作成>>
 * <<Exercise_2a,エンティティ・クラスの作成>>
@@ -83,9 +81,15 @@ Webプロファイルは、エンタープライズWebアプリケーション
 3. プロジェクト名として「*SimpleEE6App*」と入力し、プロジェクトの場所を設定します。
 4. 専用フォルダを使用するオプションが選択されている場合は選択を解除します。「次」をクリックします。
 このチュートリアルでは、ライブラリを他のユーザーまたはプロジェクトと共有する必要がないので、プロジェクト・ライブラリを専用のフォルダにコピーする理由はほとんどありません。
-5. 「GlassFish Server」を選択し、「Java EEバージョン」を「Java EE 6 Web」または「Java EE 7 Web」に設定します。「次」をクリックします。
+
+[start=5]
+. 「GlassFish Server」を選択し、「Java EEバージョン」を「Java EE 6 Web」または「Java EE 7 Web」に設定します。「次」をクリックします。
+
 image::images/newappwizard.png[title="新規プロジェクト・ウィザードの「サーバーと設定」パネル"]
-6. 「フレームワーク」ペインで「JavaServer Faces」を選択します。「終了」をクリックします。
+
+
+[start=6]
+. 「フレームワーク」ペインで「JavaServer Faces」を選択します。「終了」をクリックします。
 
 Java EE Webアプリケーションを開発し、GlassFishサーバーにデプロイしている場合は、デフォルトでJSF 2.xライブラリが選択されます。デフォルトのJSFライブラリのバージョンは、GlassFishサーバーにバンドルされているバージョンによって異なります。JSF 2.xライブラリにより、Faceletsをページ言語として使用でき、JSF 1.2およびJSPもサポートされます。
 
@@ -130,11 +134,15 @@ IDEでのEJB 3.1の使用に関する詳細は、link:javaee-entapp-ejb.html[+EJ
 
 他のデフォルト・オプション(持続性ユニット名、EclipseLink持続性プロバイダ)はそのまま使用できます。持続性ユニットが「Java Transaction APIを使用」になっていること、およびアプリケーションデプロイ時にエンティティ・クラスに基づいた表が作成されるように「表生成戦略」が「作成」に設定されていることを確認します。
 
-7. 新規エンティティ・クラス・ウィザードで「終了」をクリックします。
+
+[start=7]
+. 新規エンティティ・クラス・ウィザードで「終了」をクリックします。
 
 「終了」をクリックするとエンティティ・クラスが作成され、そのクラスがエディタに表示されます。IDEによってIDフィールド ``private Long id;`` が作成され、フィールドに ``@Id`` および ``@GeneratedValue(strategy=GenerationType.AUTO)`` という注釈が付与されます。
 
-8. エディタで、 ``id`` フィールドの下に ``message`` フィールド(太字で表示)を追加します。
+
+[start=8]
+. エディタで、 ``id`` フィールドの下に ``message`` フィールド(太字で表示)を追加します。
 
 [source,java]
 ----
@@ -142,13 +150,20 @@ IDEでのEJB 3.1の使用に関する詳細は、link:javaee-entapp-ejb.html[+EJ
 private Long id;
 *private String message;*
 ----
-9. エディタ内を右クリックして「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])を選択し、「取得メソッドおよび設定メソッド」を選択します。
-10. 「取得メソッドおよび設定メソッドの生成」ダイアログ・ボックスで ``message`` フィールドを選択し、「生成」をクリックします。
+
+[start=9]
+. エディタ内を右クリックして「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])を選択し、「取得メソッドおよび設定メソッド」を選択します。
+
+[start=10]
+. 「取得メソッドおよび設定メソッドの生成」ダイアログ・ボックスで ``message`` フィールドを選択し、「生成」をクリックします。
 
  ``message`` フィールドに取得メソッドと設定メソッドが生成されます。
 
 image::images/getters-dialog.png[title="「持続性ユニットを作成」ウィザード"]
-11. 変更を保存します。
+
+
+[start=11]
+. 変更を保存します。
 
 エンティティ・クラスは、データベース内の表を表します。このアプリケーションを実行すると、Messageのデータベース表が自動的に作成されます。この表には、 ``id`` 列と ``message`` 列が含まれます。
 
@@ -209,12 +224,19 @@ JavaServer Faces 2.x仕様の詳細は、Java EE 7チュートリアルのlink:h
 
 Beanでメソッドをコールするときに、管理対象Bean名の ``MessageView`` を、JSFページ ``index.xhtml`` の ``inputText`` および ``commandButton`` の値として使用します。
 
-4. パッケージに「*my.presentation*」と入力します。
-5. 管理対象Beanに使用する名前に「*MessageView*」と入力します。
 
-*注意:*ウィザードを使用して管理対象Beanを作成すると、デフォルトでは、Beanクラスの名前に基づいて先頭を小文字にした名前がBeanに割り当てられます。このチュートリアルおよびデモでは、大文字で始まる名前をBeanに明示的に割り当てます。JSFページでこのBeanを参照するときは、 ``messageView`` ではなく ``MessageView`` を使用します。名前を明示的に割り当てなかった場合は、JSFページでデフォルトの ``messageView`` を使用します。
+[start=4]
+. パッケージに「*my.presentation*」と入力します。
+
+[start=5]
+. 管理対象Beanに使用する名前に「*MessageView*」と入力します。
+
+NOTE: ウィザードを使用して管理対象Beanを作成すると、デフォルトでは、Beanクラスの名前に基づいて先頭を小文字にした名前がBeanに割り当てられます。このチュートリアルおよびデモでは、大文字で始まる名前をBeanに明示的に割り当てます。JSFページでこのBeanを参照するときは、 ``messageView`` ではなく ``MessageView`` を使用します。名前を明示的に割り当てなかった場合は、JSFページでデフォルトの ``messageView`` を使用します。
+
+
+[start=6]
+. 「スコープ」を「リクエスト」に設定します。「終了」をクリックします。
 
-6. 「スコープ」を「リクエスト」に設定します。「終了」をクリックします。
 image::images/newjsfbean.png[title="新規JSF管理対象Beanウィザード"]
 
 「終了」をクリックすると、IDEはBeanクラスを作成し、そのクラスがエディタに表示されます。「プロジェクト」ウィンドウに次のファイルが表示されます。
@@ -243,6 +265,7 @@ public class MessageView {
 
 1. エディタ内を右クリックして「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])を選択し、ポップアップ・メニューから「エンタープライズBeanをコール」を選択します。
 2. 「エンタープライズBeanをコール」ダイアログ・ボックスで「MessageFacade」を選択します。「OK」をクリックします。
+
 image::images/callbean.png[title="「エンタープライズBeanをコール」ダイアログ"]
 
 「OK」をクリックすると、次のコード(太字で表示)が追加され、Beanが注入されます。
@@ -263,7 +286,9 @@ public class MessageView {
 }
 
 ----
-3. 次のコードを追加して新しいインスタンスを作成します。
+
+[start=3]
+. 次のコードを追加して新しいインスタンスを作成します。
 
 [source,java]
 ----
@@ -273,7 +298,9 @@ public class MessageView {
        this.message = new Message();
     }
 ----
-4. クラスに次のコードを追加します。
+
+[start=4]
+. クラスに次のコードを追加します。
 
 [source,java]
 ----
@@ -299,7 +326,9 @@ public class MessageView {
     }
 
 ----
-5. エディタ内を右クリックして「インポートを修正」([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])を選択し、変更内容を保存します。
+
+[start=5]
+. エディタ内を右クリックして「インポートを修正」([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])を選択し、変更内容を保存します。
 
 エディタでコード補完を使用すると、コードの入力に役立ちます。
 
@@ -330,9 +359,11 @@ JSFのコード補完は、コードを入力するときに役立ちます。
 
 image::images/jsfcodecompletion1.png[title="ソース・エディタでのコード補完"]
 
-*注意:*コードをコピーしてファイルに貼り付けると、 ``<f:view>`` がある行の左マージンに警告が表示されます。この行に挿入カーソルを置いて[Alt]-[Space]を入力すると、エラーの解決方法に関するヒントを開くことができます。このヒントは、 ``xmlns:f="http://xmlns.jcp.org/jsf/core"`` というライブラリ宣言を追加する必要があることを示しています。
+NOTE: コードをコピーしてファイルに貼り付けると、 ``<f:view>`` がある行の左マージンに警告が表示されます。この行に挿入カーソルを置いて[Alt]-[Space]を入力すると、エラーの解決方法に関するヒントを開くことができます。このヒントは、 ``xmlns:f="http://xmlns.jcp.org/jsf/core"`` というライブラリ宣言を追加する必要があることを示しています。
 
-3. 変更を保存します。
+
+[start=3]
+. 変更を保存します。
 
  ``inputText`` コンポーネントと ``commandButton`` コンポーネントが、名前付きのJSF管理対象Bean ``MessageView`` でメソッドを呼び出します。 ``postMessage`` メソッドが「theend」を返し、ナビゲーション・ハンドラが ``theend.xhtml`` という名前のページを検索します。
 
@@ -345,8 +376,12 @@ image::images/jsfcodecompletion1.png[title="ソース・エディタでのコー
 2. 「JavaServer Faces」カテゴリから「JSFページ」を選択します。「次」をクリックします。
 3. ファイル名に「*theend*」と入力します。
 4. 「Facelets」オプションが選択されていることを確認します。「終了」をクリックします。
+
 image::images/result-jsf-page.png[title="新規JSFファイル・ウィザードでのtheend JSFファイルの作成"]
-5. 次のコードを<h:body> タグの間に入力してファイルを変更します。
+
+
+[start=5]
+. 次のコードを<h:body> タグの間に入力してファイルを変更します。
 
 [source,xml]
 ----
@@ -369,7 +404,10 @@ image::images/result-jsf-page.png[title="新規JSFファイル・ウィザード
 
 「実行」を選択すると、アプリケーションがビルドおよびデプロイされ、 ``index.xhtml`` がブラウザに表示されます。
 
-2. テキスト・フィールドにメッセージを入力します。「Post Message」をクリックします。
+
+[start=2]
+. テキスト・フィールドにメッセージを入力します。「Post Message」をクリックします。
+
 image::images/browser1.png[title="ブラウザのアプリケーション"]
 
 「Post Message」をクリックすると、メッセージがデータベースに保存され、メッセージ数が取得され、表示されます。
@@ -387,18 +425,26 @@ image::images/browser2.png[title="結果が表示されたブラウザのアプ
 2. 「チェックアウト」ダイアログ・ボックスで次のリポジトリURLを入力します。
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 「次」をクリックします。
-3. 「参照」をクリックして「リポジトリ・フォルダを参照」ダイアログ・ボックスを開きます。
-4. ルート・ノードを展開し、*samples/javaee/SimpleEE6App*を選択します。「OK」をクリックします。
-5. ソースのローカル・フォルダを指定します(ローカル・フォルダは空である必要があります)。
-6. 「終了」をクリックします。
+
+[start=3]
+. 「参照」をクリックして「リポジトリ・フォルダを参照」ダイアログ・ボックスを開きます。
+
+[start=4]
+. ルート・ノードを展開し、*samples/javaee/SimpleEE6App*を選択します。「OK」をクリックします。
+
+[start=5]
+. ソースのローカル・フォルダを指定します(ローカル・フォルダは空である必要があります)。
+
+[start=6]
+. 「終了」をクリックします。
 
 「終了」をクリックすると、IDEではローカル・フォルダがSubversionリポジトリとして初期化され、プロジェクト・ソースがチェックアウトされます。
 
-7. チェックアウトが完了するときに表示されるダイアログで、「プロジェクトを開く」をクリックします。
 
-*注意:*
+[start=7]
+. チェックアウトが完了するときに表示されるダイアログで、「プロジェクトを開く」をクリックします。
 
-* ソースをチェックアウトするには、Subversionクライアントが必要です。Subversionのインストールの詳細は、link:../ide/subversion.html[+NetBeans IDEでのSubversionガイド+]のlink:../ide/subversion.html#settingUp[+Subversionの設定+]の項を参照してください。
+NOTE: ソースをチェックアウトするには、Subversionクライアントが必要です。Subversionのインストールの詳細は、link:../ide/subversion.html[+NetBeans IDEでのSubversionガイド+]のlink:../ide/subversion.html#settingUp[+Subversionの設定+]の項を参照してください。
 
 
 link:/about/contact_form.html?to=3&subject=Feedback:%20Getting%20Started%20with%20Java%20EE%206%20Applications[+このチュートリアルに関するご意見をお寄せください+]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_pt_BR.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_pt_BR.asciidoc
index bac0dfa..95b9388 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_pt_BR.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_pt_BR.asciidoc
@@ -35,8 +35,6 @@ Este tutorial é baseado no post do blog link:http://www.adam-bien.com/roller/ab
 
 *Exercícios do Tutorial*
 
-image::images/netbeans-stamp-80-74-73.png[title="O conteúdo desta página se aplica ao NetBeans IDE 7.2, 7.3, 7.4 e 8.0"]
-
 * <<Exercise_1,Criando o Projeto de Aplicação Web>>
 * <<Exercise_2,Criando a Classe de Entidade e a Fachada de Sessão>>
 * <<Exercise_2a,Criando a Classe de Entidade>>
@@ -83,9 +81,15 @@ Os perfis Web suportam o processamento da transação e o gerenciamento de persi
 3. Digite *SimpleEE6App* como o nome do projeto e defina a localização do projeto.
 4. Desmarque a opção Usar Pasta Dedicada, se ela estiver selecionada. Clique em Próximo.
 (Para este tutorial, não há motivo para copiar as bibliotecas de projeto em uma pasta dedicada, pois você não precisará compartilhar bibliotecas com outros usuários ou projetos).
-5. Selecione o servidor GlassFish Server e defina a versão do Java EE como Java EE 6 Web ou Java EE 7 Web. Clique em Próximo.
+
+[start=5]
+. Selecione o servidor GlassFish Server e defina a versão do Java EE como Java EE 6 Web ou Java EE 7 Web. Clique em Próximo.
+
 image::images/newappwizard.png[title="Painel Servidor e Definições no assistente Novo Projeto"]
-6. Selecione JavaServer Faces no painel Frameworks. Clique em Finalizar.
+
+
+[start=6]
+. Selecione JavaServer Faces no painel Frameworks. Clique em Finalizar.
 
 Se você estiver desenvolvendo uma aplicação web Java EE e implantando-a no GlassFish Server, o IDE selecionará a biblioteca JSF 2.x como default. A versão da biblioteca JSF default depende da versão encapsulada de seu servidor GlassFish. A biblioteca JSF 2.x permite utilizar Facelets como a linguagem da página e também fornece o suporte para JSF 1.2 e JSP.
 
@@ -130,11 +134,15 @@ A fonte de dados para  ``jdbc/sample``  é incluída com o IDE ao instalar o IDE
 
 Você pode manter as outras opções default (nome da unidade de persistência, provedor da persistência EclipseLink). Confirme se a unidade de persistência está utilizando a Java Transaction API e se a Estratégia de Geração de Tabela é definida como Criar, para que as tabelas com base nas suas classes de entidade sejam criadas quando a aplicação é implantada.
 
-7. Clique em Finalizar no assistente Nova Classe de Entidade.
+
+[start=7]
+. Clique em Finalizar no assistente Nova Classe de Entidade.
 
 Quando você clica em Finalizar, o IDE cria a classe de entidade e abre a classe no editor. Você pode ver que o IDE gerou o campo de id  ``private Long id;``  e anotou o campo com  ``@Id``  e  ``@GeneratedValue(strategy = GenerationType.AUTO)`` .
 
-8. No editor, adicione o campo  ``mensagem``  (em negrito) abaixo do campo  ``id`` .
+
+[start=8]
+. No editor, adicione o campo  ``mensagem``  (em negrito) abaixo do campo  ``id`` .
 
 [source,java]
 ----
@@ -142,13 +150,20 @@ Quando você clica em Finalizar, o IDE cria a classe de entidade e abre a classe
 private Long id;
 *private String message;*
 ----
-9. Clique com o botão direito do mouse no editor e selecione Inserir Código (Alt-Insert; Ctrl+I no Mac) e, em seguida, selecione Getter e Setter.
-10. Na caixa de diálogo Gerar Getters e Setters, selecione o campo  ``mensagem``  e clique em Gerar.
+
+[start=9]
+. Clique com o botão direito do mouse no editor e selecione Inserir Código (Alt-Insert; Ctrl+I no Mac) e, em seguida, selecione Getter e Setter.
+
+[start=10]
+. Na caixa de diálogo Gerar Getters e Setters, selecione o campo  ``mensagem``  e clique em Gerar.
 
 O IDE gera os métodos getter e setter para o campo  ``mensagem`` .
 
 image::images/getters-dialog.png[title="Assistente Criar Unidade de Persistência"]
-11. Salve as alterações.
+
+
+[start=11]
+. Salve as alterações.
 
 A classe de entidade representa uma tabela no banco de dados. Quando você executa esta aplicação, uma tabela do banco de dados para Mensagem será criada automaticamente. A tabela conterá as colunas  ``id``  e  ``mensagem`` .
 
@@ -209,12 +224,19 @@ Para criar o bean gerenciado, execute as seguintes etapas:
 
 Você utilizará o bean gerenciado de nome  ``MessageView``  como o valor para  ``inputText``  e  ``commandButton``  na página JSF  ``index.xhtml``  ao chamar métodos no bean.
 
-4. Digite *my.presentation* para o Pacote.
-5. Digite *MessageView* para o Nome que será utilizado para o bean gerenciado.
 
-*Observação.* Quando você cria um bean gerenciado utilizando o assistente, o IDE designará, por default, um nome para o bean, com base no nome da classe bean com uma letra minúscula. Para este tutorial e para fins de demonstração, você designa explicitamente ao bean um nome que começa com uma letra maiúscula. Ao referenciar o bean nas páginas JSF, você usará  ``MessageView`` , em vez de  ``messageView`` . Se você não tiver designado o nome explicitamente, deverá usar  ``messageView``  de [...]
+[start=4]
+. Digite *my.presentation* para o Pacote.
+
+[start=5]
+. Digite *MessageView* para o Nome que será utilizado para o bean gerenciado.
+
+NOTE:  Quando você cria um bean gerenciado utilizando o assistente, o IDE designará, por default, um nome para o bean, com base no nome da classe bean com uma letra minúscula. Para este tutorial e para fins de demonstração, você designa explicitamente ao bean um nome que começa com uma letra maiúscula. Ao referenciar o bean nas páginas JSF, você usará  ``MessageView`` , em vez de  ``messageView`` . Se você não tiver designado o nome explicitamente, deverá usar  ``messageView``  default n [...]
+
+
+[start=6]
+. Defina Escopo como Requisição. Clique em Finalizar.
 
-6. Defina Escopo como Requisição. Clique em Finalizar.
 image::images/newjsfbean.png[title="Novo assistente de Bean Gerenciado pelo JSF"]
 
 Quando você clicar em Finalizar, o IDE gerará a classe bean e abrirá a classe no editor. Na janela Projetos, você verá os seguintes arquivos.
@@ -243,6 +265,7 @@ Agora, você adicionará uma anotação  ``@EJB``  será adicionada para utiliza
 
 1. Clique com o botão direito do mouse no editor, selecione Inserir Código (Alt-Insert; Ctrl-I no Mac) e Chamar Enterprise Bean no menu pop-up.
 2. Selecione MessagFacade na caixa de diálogo Chamar Enterprise Bean. Clique em OK.
+
 image::images/callbean.png[title="Caixa de diálogo Chamar Enterprise Bean"]
 
 Quando você clica em OK, o IDE adiciona o seguinte código (em negrito) para injetar o bean.
@@ -263,7 +286,9 @@ public class MessageView {
 }
 
 ----
-3. Adicione o código a seguir para criar uma nova instância.
+
+[start=3]
+. Adicione o código a seguir para criar uma nova instância.
 
 [source,java]
 ----
@@ -273,7 +298,9 @@ public class MessageView {
        this.message = new Message();
     }
 ----
-4. Adicione o seguinte código à classe.
+
+[start=4]
+. Adicione o seguinte código à classe.
 
 [source,java]
 ----
@@ -299,7 +326,9 @@ public class MessageView {
     }
 
 ----
-5. Clique com o botão direito do mouse no editor, selecione Corrigir Importações (Alt-Shift-I; ⌘-Shift-I no Mac) e salve as alterações.
+
+[start=5]
+. Clique com o botão direito do mouse no editor, selecione Corrigir Importações (Alt-Shift-I; ⌘-Shift-I no Mac) e salve as alterações.
 
 Você pode utilizar a funcionalidade para autocompletar código no editor para ajudar a digitar seu código.
 
@@ -330,9 +359,11 @@ A funcionalidade autocompletar código JSF pode ajudá-lo ao digitar o código.
 
 image::images/jsfcodecompletion1.png[title="Autocompletar código no editor de código-fonte"]
 
-*Observação.* Se você copiar e colar o código no arquivo, receberá uma advertência na margem esquerda ao lado da linha que contém  ``<f:view>`` . Você pode colocar o cursor de inserção na linha e digitar Alt-Espaço para abrir a dica sobre como resolver o erro. A dica informa que é necessário adicionar a declaração de biblioteca  ``xmlns:f="http://xmlns.jcp.org/jsf/core"`` .
+NOTE:  Se você copiar e colar o código no arquivo, receberá uma advertência na margem esquerda ao lado da linha que contém  ``<f:view>`` . Você pode colocar o cursor de inserção na linha e digitar Alt-Espaço para abrir a dica sobre como resolver o erro. A dica informa que é necessário adicionar a declaração de biblioteca  ``xmlns:f="http://xmlns.jcp.org/jsf/core"`` .
 
-3. Salve as alterações.
+
+[start=3]
+. Salve as alterações.
 
 Os componentes  ``inputText``  e  ``commandButton``  chamarão os métodos no bean gerenciado JSF nomeado  ``MessageView`` . O método  ``postMessage``  retornará "theend" e o handler de navegação procurará por uma página nomeada  ``theend.xhtml`` .
 
@@ -345,8 +376,12 @@ Neste exercício, você criará a página JSF  ``theend.xhtml`` . A página ser
 2. Selecione a Página JSF na categoria JavaServer Faces. Clique em Próximo.
 3. Digite *theend* como o Nome do Arquivo.
 4. Certifique-se de que a opção Facelets esteja selecionada. Clique em Finalizar.
+
 image::images/result-jsf-page.png[title="Criando o arquivo JSF theend no assistente Novo Arquivo JSF"]
-5. Modifique o arquivo digitando o seguinte entre as tags <h:body>.
+
+
+[start=5]
+. Modifique o arquivo digitando o seguinte entre as tags <h:body>.
 
 [source,xml]
 ----
@@ -369,7 +404,10 @@ Você agora finalizou a codificação da aplicação. Agora você pode testar a
 
 Quando você seleciona Executar, o IDE constrói e implanta a aplicação e abre o  ``index.xhtml``  no browser.
 
-2. Digite uma mensagem no campo de texto. Clique em Postar Mensagem. 
+
+[start=2]
+. Digite uma mensagem no campo de texto. Clique em Postar Mensagem. 
+
 image::images/browser1.png[title="Aplicação no browser"]
 
 Quando você clica em Postar Mensagem, a mensagem será salva no banco de dados e o número de mensagens será recuperado e exibido.
@@ -387,14 +425,24 @@ Você pode fazer o download dos projetos de amostra usados neste tutorial das se
 2. Na caixa de diálogo Efetuar Check-out, insira o Repositório URL a seguir:
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 Clique em Próximo.
-3. Clique em Procurar para abrir a caixa de diálogo Procurar Pastas do Repositório.
-4. Expanda o nó de raiz e selecione *samples/javaee/SimpleEE6App*. Clique em OK.
-5. Especifique a Pasta Local para o códigos-fonte (a pasta local precisa estar vazia).
-6. Clique em Finalizar.
+
+[start=3]
+. Clique em Procurar para abrir a caixa de diálogo Procurar Pastas do Repositório.
+
+[start=4]
+. Expanda o nó de raiz e selecione *samples/javaee/SimpleEE6App*. Clique em OK.
+
+[start=5]
+. Especifique a Pasta Local para o códigos-fonte (a pasta local precisa estar vazia).
+
+[start=6]
+. Clique em Finalizar.
 
 Quando você clica em Finalizar, o IDE inicializa a pasta local como um repositório Subversion e verifica os códigos-fonte do projeto.
 
-7. Clique em Abrir Projeto na caixa de diálogo exibida quando o check-out for concluído.
+
+[start=7]
+. Clique em Abrir Projeto na caixa de diálogo exibida quando o check-out for concluído.
 
 *Observações.*
 
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_ru.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_ru.asciidoc
index 47fbe2d..93f2c32 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_ru.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_ru.asciidoc
@@ -35,8 +35,6 @@
 
 *Упражнения по темам руководства*
 
-image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0"]
-
 * <<Exercise_1,Создание проекта веб-приложения>>
 * <<Exercise_2,Создание класса сущностей и фасада сеанса>>
 * <<Exercise_2a,Создание класса сущностей>>
@@ -83,9 +81,15 @@ image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой 
 3. Введите *SimpleEE6App* в качестве имени проекта и укажите местоположение проекта.
 4. Снимите флажок "Использовать отдельную папку", если он установлен. Нажмите кнопку "Далее".
 (В рамках этого руководства копирование библиотек проекта в отдельную папку нецелесообразно, поскольку совместное использование библиотек с другими пользователями или проектами не требуется.)
-5. Выберите сервер GlassFish и укажите Java EE 6 или Java EE 7 в качестве версии Java EE. Нажмите кнопку "Далее".
+
+[start=5]
+. Выберите сервер GlassFish и укажите Java EE 6 или Java EE 7 в качестве версии Java EE. Нажмите кнопку "Далее".
+
 image::images/newappwizard.png[title="Панель 'Сервер и настройки' в мастере создания проектов"]
-6. Выберите в панели "Платформы" JavaServer Faces. Нажмите кнопку "Завершить".
+
+
+[start=6]
+. Выберите в панели "Платформы" JavaServer Faces. Нажмите кнопку "Завершить".
 
 По умолчанию при разработке веб-приложения Java EE, развертываемого на сервере GlassFish, в среде IDE будет выбрана библиотека JSF 2.x. Версия используемой по умолчанию библиотеки JSF зависит от версии, поставляемой в комплекте с сервером GlassFish. Библиотека JSF 2.x позволяет использовать Facelets в качестве языка страниц и обеспечивает поддержку JSF 1.2 и JSP.
 
@@ -130,11 +134,15 @@ image::images/newappwizard2.png[title="Панель 'Платформы' мас
 
 Можно сохранить другие параметры по умолчанию (имя блока сохранения состояния, поставщик сохранения состояния EclipseLink). Убедитесь в том, что для блока сохранения состояния используется интерфейс API транзакций Java и что для стратегии создания таблиц установлено значение "Создать", т. е. таблицы на основе классов сущностей создаются при развертывании приложения.
 
-7. В мастере создания блока сохранения состояния нажмите кнопку "Завершить".
+
+[start=7]
+. В мастере создания блока сохранения состояния нажмите кнопку "Завершить".
 
 При нажатии кнопки "Завершить" в среде IDE будет создан класс сущностей, который откроется в редакторе. Как видно из примера, в среде IDE было создано поле id  ``private Long id;`` , и для поля созданы аннотации  ``@Id``  и  ``@GeneratedValue(strategy = GenerationType.AUTO)`` .
 
-8. В редакторе добавьте поле  ``message``  (выделено полужирным шрифтом) под полем  ``id`` .
+
+[start=8]
+. В редакторе добавьте поле  ``message``  (выделено полужирным шрифтом) под полем  ``id`` .
 
 [source,java]
 ----
@@ -142,13 +150,20 @@ image::images/newappwizard2.png[title="Панель 'Платформы' мас
 private Long id;
 *private String message;*
 ----
-9. Щелкните правой кнопкой мыши в редакторе и выберите команду "Вставить код" (Alt-Insert; Ctrl-I для Mac), а затем "Получение и установка".
-10. В диалоговом окне "Создание методов получения и установки" выберите поле  ``message``  и нажмите кнопку "Создать".
+
+[start=9]
+. Щелкните правой кнопкой мыши в редакторе и выберите команду "Вставить код" (Alt-Insert; Ctrl-I для Mac), а затем "Получение и установка".
+
+[start=10]
+. В диалоговом окне "Создание методов получения и установки" выберите поле  ``message``  и нажмите кнопку "Создать".
 
 В среде IDE будут созданы методы получения и установки для поля  ``message`` .
 
 image::images/getters-dialog.png[title="Мастер создания блоков сохранения состояния"]
-11. Сохраните изменения.
+
+
+[start=11]
+. Сохраните изменения.
 
 Класс сущностей представляет собой таблицу в базе данных. При запуске этого приложения автоматически будет создана таблица базы данных для сообщения. Таблица будет состоять из столбцов  ``id``  и  ``message`` .
 
@@ -209,12 +224,19 @@ public class MessageFacade extends AbstractFacade<Message> {
 
 Имя управляемого компонента  ``MessageView``  используется в качестве значения для  ``inputText``  и  ``commandButton``  на странице JSF  ``index.xhtml``  при вызове методов в компоненте.
 
-4. В поле "Пакет" введите *my.presentation*.
-5. В поле "Имя", используемое для управляемого компонента, введите *MessageView*.
+
+[start=4]
+. В поле "Пакет" введите *my.presentation*.
+
+[start=5]
+. В поле "Имя", используемое для управляемого компонента, введите *MessageView*.
 
 *Примечание.* При создании управляемого компонента с помощью мастера, IDE по умолчанию назначает имя компоненту на основе имени класса компонента, при этом имя будет начинаться с маленькой буквы. В данном руководстве и для демонстрационных целей вы назначаете базовому элементу имя, начинающееся с заглавной буквы. При ссылке на компонент на страницах JSF вы будете использовать ``MessageView`` вместо  ``messageView`` . Если вы не назначали имени, то на странице JSF будет использоваться по  [...]
 
-6. Установите контекст для запроса. Нажмите кнопку "Завершить".
+
+[start=6]
+. Установите контекст для запроса. Нажмите кнопку "Завершить".
+
 image::images/newjsfbean.png[title="Мастер создания новых управляемых компонентов JSF"]
 
 При нажатии кнопки "Готово" в среде IDE создается класс компонента, который затем открывается в редакторе. В окне 'Проекты' отобразятся следующие файлы.
@@ -243,6 +265,7 @@ public class MessageView {
 
 1. Щелкните правой кнопкой мыши в редакторе и выберите команду "Вставить код" (Alt-Insert; Ctrl-I для Mac), затем во всплывающем окне выберите "Вызов компонента EJB".
 2. В диалоговом окне "Вызов компонента EJB" выберите MessageFacade. Нажмите кнопку "ОК".
+
 image::images/callbean.png[title="Диалоговое окно 'Вызвать компонент корпоративного уровня'"]
 
 При нажатии кнопки "ОК" в среде IDE добавляется следующий код (выделено полужирным шрифтом) для ввода компонента.
@@ -263,7 +286,9 @@ public class MessageView {
 }
 
 ----
-3. Для создания нового экземпляра добавьте следующий код.
+
+[start=3]
+. Для создания нового экземпляра добавьте следующий код.
 
 [source,java]
 ----
@@ -273,7 +298,9 @@ public class MessageView {
        this.message = new Message();
     }
 ----
-4. Добавьте следующий код к классу.
+
+[start=4]
+. Добавьте следующий код к классу.
 
 [source,java]
 ----
@@ -299,7 +326,9 @@ public class MessageView {
     }
 
 ----
-5. Щелкните правой кнопкой мыши в области редактора и выберите команду 'Исправить операторы импорта' (Alt-Shift-I; ⌘-Shift-I в Mac) и сохраните изменения.
+
+[start=5]
+. Щелкните правой кнопкой мыши в области редактора и выберите команду 'Исправить операторы импорта' (Alt-Shift-I; ⌘-Shift-I в Mac) и сохраните изменения.
 
 Можно использовать автозавершение кода в редакторе, упрощающее ввод кода.
 
@@ -310,8 +339,12 @@ public class MessageView {
 
 В этом упражнении будет выполнено несколько простых изменений страницы  ``index.xhtml``  для добавления компонентов пользовательского интерфейса. Выполняется добавление формы с текстовым полем для ввода и кнопкой.
 
-1. Откройте в редакторе  ``index.xhtml`` .
-2. Измените файл для добавления следующей простой формы между тегами  ``<h:body>`` .
+
+[start=1]
+. Откройте в редакторе  ``index.xhtml`` .
+
+[start=2]
+. Измените файл для добавления следующей простой формы между тегами  ``<h:body>`` .
 
 [source,xml]
 ----
@@ -332,7 +365,9 @@ image::images/jsfcodecompletion1.png[title="Автозавершение код
 
 *Примечание.* При копировании и вставке кода в файл отображается предупреждение на левом поле рядом со строков, содержащей  ``<f:view>`` . Вы можете поместить курсор вставки на строку и нажать сочетание клавиш Alt-пробел для открытия подсказки по исправлению ошибки. Отображается подсказка о том, что требуется добавить объявление библиотеки  ``xmlns:f="http://xmlns.jcp.org/jsf/core"`` .
 
-3. Сохраните изменения.
+
+[start=3]
+. Сохраните изменения.
 
 Компоненты  ``inputText``  и  ``commandButton``  вызывают методы в управляемом компоненте JSF с именем  ``MessageView`` . Метод  ``postMessage``  возвращает "theend", а обработчик переходов выполняет поиск страницы с именем  ``theend.xhtml`` .
 
@@ -345,8 +380,12 @@ image::images/jsfcodecompletion1.png[title="Автозавершение код
 2. В категории "JavaServer Faces" выберите "Страница JSF". Нажмите кнопку "Далее".
 3. В поле "Имя файла" введите *theend*.
 4. Убедитесь в том, что флажок "Facelets" установлен. Нажмите кнопку "Завершить".
+
 image::images/result-jsf-page.png[title="Создание файла theend JSF в мастере создания файлов JSF"]
-5. Измените файл посредством ввода следующего кода между тегов <h:body>.
+
+
+[start=5]
+. Измените файл посредством ввода следующего кода между тегов <h:body>.
 
 [source,xml]
 ----
@@ -369,7 +408,10 @@ image::images/result-jsf-page.png[title="Создание файла theend JSF
 
 При выборе команды "Выполнить" в среде IDE происходит сборка и развертывание приложения, и в браузере открывается  ``index.xhtml`` .
 
-2. Введите сообщение в текстовое поле. Нажмите кнопку "Отправить сообщение". 
+
+[start=2]
+. Введите сообщение в текстовое поле. Нажмите кнопку "Отправить сообщение". 
+
 image::images/browser1.png[title="Приложение в браузере"]
 
 При нажатии кнопки "Отправить сообщение" сообщение сохраняется в базе данных, и извлекается и отображается число сообщений
@@ -387,14 +429,24 @@ image::images/browser2.png[title="Приложение в браузере с о
 2. В диалоговом окне "Проверка" введите следующий URL-адрес репозитория:
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 Нажмите кнопку "Далее".
-3. Нажмите кнопку Browse ("Обзор") для открытия диалогового окна Browse Repository Folders ("Обзор папок репозитория").
-4. Разверните корневой узел и выберите *samples/javaee/SimpleEE6App*. Нажмите кнопку "ОК".
-5. Укажите локальную папку для исходных файлов (папка должна быть пустой).
-6. Нажмите кнопку "Завершить".
+
+[start=3]
+. Нажмите кнопку Browse ("Обзор") для открытия диалогового окна Browse Repository Folders ("Обзор папок репозитория").
+
+[start=4]
+. Разверните корневой узел и выберите *samples/javaee/SimpleEE6App*. Нажмите кнопку "ОК".
+
+[start=5]
+. Укажите локальную папку для исходных файлов (папка должна быть пустой).
+
+[start=6]
+. Нажмите кнопку "Завершить".
 
 После нажатия кнопки "Готово" среда IDE инициализирует локальную папку в качестве репозитория Subversion и выполняет проверку исходных файлов проекта на выходе.
 
-7. Щелкните команду "Открыть проект" в диалоговом окне, которое появится после завершения проверки.
+
+[start=7]
+. Щелкните команду "Открыть проект" в диалоговом окне, которое появится после завершения проверки.
 
 *Примечания.*
 
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_zh_CN.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_zh_CN.asciidoc
index 6dfb062..1eefadf 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_zh_CN.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/javaee-gettingstarted_zh_CN.asciidoc
@@ -35,8 +35,6 @@
 
 *教程练习*
 
-image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0"]
-
 * <<Exercise_1,创建 Web 应用程序项目>>
 * <<Exercise_2,创建实体类和会话 Facade>>
 * <<Exercise_2a,创建实体类>>
@@ -83,9 +81,15 @@ Web 配置文件支持企业 Web 应用程序中经常使用的事务处理和
 3. 键入 *SimpleEE6App* 作为项目名称并设置项目位置。
 4. 取消选中 "Use Dedicated Folder"(使用专用文件夹)选项(如果该选项处于选中状态)。单击 "Next"(下一步)。
 (在本教程中,我们将项目库复制到一个专门的文件夹中,因为需要与其他用户或项目共享库。)
-5. 选择 "GlassFish Server",并将 "Java EE Version"(Java EE 版本)设置为 "Java EE 6 Web" 或 "Java EE 7 Web"。单击 "Next"(下一步)。
+
+[start=5]
+. 选择 "GlassFish Server",并将 "Java EE Version"(Java EE 版本)设置为 "Java EE 6 Web" 或 "Java EE 7 Web"。单击 "Next"(下一步)。
+
 image::images/newappwizard.png[title="新建项目向导中的 "Server and Settings"(服务器和设置)面板"]
-6. 在 "Frameworks"(框架)窗格中选择 "JavaServer Faces"。单击 "Finish"(完成)。
+
+
+[start=6]
+. 在 "Frameworks"(框架)窗格中选择 "JavaServer Faces"。单击 "Finish"(完成)。
 
 默认情况下,如果要开发 Java EE Web 应用程序并将其部署到 GlassFish Server 中,IDE 将选择 JSF 2.x 库。默认 JSF 库的版本取决于随 GlassFish Server 捆绑提供的版本。JSF 2.x 库允许将 Facelets 作为页面语言,并且还提供了 JSF 1.2 和 JSP 支持。
 
@@ -130,11 +134,15 @@ image::images/newappwizard2.png[title="新建项目向导中的 "Frameworks"(
 
 您可以保留其他默认选项(持久性单元名称、EclipseLink 持久性提供器)。确保持久性单元将使用 Java 事务 API,并且已将 "Table Generation Strategy"(表生成策略)设置为 "Create"(创建),以便在部署应用程序时将创建基于实体类的表。
 
-7. 在新建实体类向导中单击 "Finish"(完成)。
+
+[start=7]
+. 在新建实体类向导中单击 "Finish"(完成)。
 
 单击 "Finish"(完成),此时 IDE 将创建实体类并在编辑器中打开该类。您可以看到 IDE 生成了 id 字段  ``private Long id;``  并使用  ``@Id``  和  ``@GeneratedValue(strategy = GenerationType.AUTO)``  标注该字段。
 
-8. 在编辑器中,将  ``message``  字段(以粗体显示)添加到  ``id``  字段下面。
+
+[start=8]
+. 在编辑器中,将  ``message``  字段(以粗体显示)添加到  ``id``  字段下面。
 
 [source,java]
 ----
@@ -142,13 +150,20 @@ image::images/newappwizard2.png[title="新建项目向导中的 "Frameworks"(
 private Long id;
 *private String message;*
 ----
-9. 在编辑器中右键单击,选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键),然后选择 "Getter and Setter"(Getter 和 Setter)。
-10. 在 "Generate Getters and Setters"(生成 getter 和 setter)对话框中,选择  ``message``  字段,然后单击 "Generate"(生成)。
+
+[start=9]
+. 在编辑器中右键单击,选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键),然后选择 "Getter and Setter"(Getter 和 Setter)。
+
+[start=10]
+. 在 "Generate Getters and Setters"(生成 getter 和 setter)对话框中,选择  ``message``  字段,然后单击 "Generate"(生成)。
 
 IDE 将为  ``message``  字段生成 getter 和 setter 方法。
 
 image::images/getters-dialog.png[title="创建持久性单元向导"]
-11. 保存所做的更改。
+
+
+[start=11]
+. 保存所做的更改。
 
 实体类表示数据库中的表。在运行此应用程序时,将自动创建 Message 的数据库表。该表包含  ``id``  和  ``message``  列。
 
@@ -161,10 +176,18 @@ image::images/getters-dialog.png[title="创建持久性单元向导"]
 
 要创建会话 Bean,请执行以下步骤。
 
-1. 右键单击项目节点,然后选择 "New"(新建)> "Other"(其他)。
-2. 从 "Enterprise JavaBeans" 类别中选择 "Session Beans for Entity Classes"(实体类的会话 Bean)。单击 "Next"(下一步)。
-3. 选择  ``Message``  实体,然后单击 "Add"(添加)。单击 "Next"(下一步)。
-4. 键入 *boundary* 作为包名。单击 "Finish"(完成)。
+
+[start=1]
+. 右键单击项目节点,然后选择 "New"(新建)> "Other"(其他)。
+
+[start=2]
+. 从 "Enterprise JavaBeans" 类别中选择 "Session Beans for Entity Classes"(实体类的会话 Bean)。单击 "Next"(下一步)。
+
+[start=3]
+. 选择  ``Message``  实体,然后单击 "Add"(添加)。单击 "Next"(下一步)。
+
+[start=4]
+. 键入 *boundary* 作为包名。单击 "Finish"(完成)。
 
 请注意,无需为会话 Bean 创建业务接口。相反,在此应用程序中,将使用无接口视图向本地受管 Bean 公开该 Bean。
 
@@ -209,12 +232,19 @@ IDE 还会在  ``AbstractFacade.java``  中生成相应的方法以创建、编
 
 在调用受管 Bean 中的方法时,将使用 Bean 名称  ``MessageView``  作为 JSF 页  ``index.xhtml``  中的  ``inputText``  和  ``commandButton``  的值。
 
-4. 键入 *my.presentation* 作为包名。
-5. 键入 *MessageView* 作为将用于受管 Bean 的名称。
 
-*注:*在使用此向导创建受管 Bean 时,默认情况下 IDE 将会根据该 Bean 类的名称为该 Bean 指定名称,名称以小写字母开头。出于本教程和演示之目的,您要为 Bean 明确指定以小写字母开头的名称。在 JSF 页中引用 Bean 时,您要使用  ``MessageView``  而不是  ``messageView`` 。如果尚未明确指定名称,则应在 JSF 页中使用默认的  ``messageView`` 。
+[start=4]
+. 键入 *my.presentation* 作为包名。
+
+[start=5]
+. 键入 *MessageView* 作为将用于受管 Bean 的名称。
+
+NOTE: 在使用此向导创建受管 Bean 时,默认情况下 IDE 将会根据该 Bean 类的名称为该 Bean 指定名称,名称以小写字母开头。出于本教程和演示之目的,您要为 Bean 明确指定以小写字母开头的名称。在 JSF 页中引用 Bean 时,您要使用  ``MessageView``  而不是  ``messageView`` 。如果尚未明确指定名称,则应在 JSF 页中使用默认的  ``messageView`` 。
+
+
+[start=6]
+. 将 "Scope"(范围)设置为 "request"(请求)。单击 "Finish"(完成)。
 
-6. 将 "Scope"(范围)设置为 "request"(请求)。单击 "Finish"(完成)。
 image::images/newjsfbean.png[title="新建 JSF 受管 Bean 向导"]
 
 单击 "Finish"(完成),此时 IDE 创建 Bean 类并在编辑器中打开该类。在 "Projects"(项目)窗口中,将会看到以下文件。
@@ -243,6 +273,7 @@ public class MessageView {
 
 1. 在编辑器中右键单击,选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键),然后在弹出式菜单中选择 "Call Enterprise Bean"(调用企业 Bean)。
 2. 在 "Call Enterprise Bean"(调用企业 Bean)对话框中选择 "MessageFacade"。单击 "OK"(确定)。
+
 image::images/callbean.png[title=""Call Enterprise Bean"(调用企业 Bean)对话框"]
 
 在单击 "OK"(确定)时,IDE 将添加以下代码(以粗体显示)以注入该 Bean。
@@ -263,7 +294,9 @@ public class MessageView {
 }
 
 ----
-3. 添加以下代码以创建新实例。
+
+[start=3]
+. 添加以下代码以创建新实例。
 
 [source,java]
 ----
@@ -273,7 +306,9 @@ public class MessageView {
        this.message = new Message();
     }
 ----
-4. 在该类中添加以下代码。
+
+[start=4]
+. 在该类中添加以下代码。
 
 [source,java]
 ----
@@ -299,7 +334,9 @@ public class MessageView {
     }
 
 ----
-5. 在编辑器中右键单击并选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 中为 ⌘-Shift-I 组合键),然后保存您的更改。
+
+[start=5]
+. 在编辑器中右键单击并选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 中为 ⌘-Shift-I 组合键),然后保存您的更改。
 
 您可以在编辑器中使用代码完成以帮助键入代码。
 
@@ -330,9 +367,11 @@ public class MessageView {
 
 image::images/jsfcodecompletion1.png[title="源代码编辑器中的代码完成"]
 
-*注:*如果将代码复制并粘贴到文件,您将会在  ``<f:view>``  所在行旁边的左旁注中看到一条警告。您可以将插入光标放在该行中,然后按 Alt-Space 组合键以打开有关如何解决错误的提示。该提示告知您需要添加  ``xmlns:f="http://xmlns.jcp.org/jsf/core"``  库声明。
+NOTE: 如果将代码复制并粘贴到文件,您将会在  ``<f:view>``  所在行旁边的左旁注中看到一条警告。您可以将插入光标放在该行中,然后按 Alt-Space 组合键以打开有关如何解决错误的提示。该提示告知您需要添加  ``xmlns:f="http://xmlns.jcp.org/jsf/core"``  库声明。
+
 
-3. 保存所做的更改。
+[start=3]
+. 保存所做的更改。
 
  ``inputText``  和  ``commandButton``  组件将在命名 JSF 受管 Bean  ``MessageView``  中调用方法。 ``postMessage``  方法返回 "theend",导航处理程序将查找名为  ``theend.xhtml``  的页面。
 
@@ -341,12 +380,24 @@ image::images/jsfcodecompletion1.png[title="源代码编辑器中的代码完成
 
 在本练习中,将创建 JSF 页  ``theend.xhtml`` 。当用户在  ``index.xhtml``  中单击 "Post Message" 按钮并在 JSF 受管 Bean 中调用  ``postMessage``  方法时,将显示该页面。
 
-1. 右键单击项目节点,然后选择 "New"(新建)> "Other"(其他)。
-2. 从 "JavaServer Faces" 类别中选择 "JSF Page"(JSF 页)。单击 "Next"(下一步)。
-3. 键入 *theend* 作为文件名。
-4. 确认选择了 "Facelets" 选项。单击 "Finish"(完成)。
+
+[start=1]
+. 右键单击项目节点,然后选择 "New"(新建)> "Other"(其他)。
+
+[start=2]
+. 从 "JavaServer Faces" 类别中选择 "JSF Page"(JSF 页)。单击 "Next"(下一步)。
+
+[start=3]
+. 键入 *theend* 作为文件名。
+
+[start=4]
+. 确认选择了 "Facelets" 选项。单击 "Finish"(完成)。
+
 image::images/result-jsf-page.png[title="在新建 JSF 文件向导中创建 theend JSF 文件"]
-5. 在 <h:body> 标记之间键入以下内容以修改该文件。
+
+
+[start=5]
+. 在 <h:body> 标记之间键入以下内容以修改该文件。
 
 [source,xml]
 ----
@@ -369,7 +420,10 @@ image::images/result-jsf-page.png[title="在新建 JSF 文件向导中创建 the
 
 在选择 "Run"(运行)时,IDE 构建和部署应用程序,并在浏览器中打开  ``index.xhtml`` 。
 
-2. 在文本字段中键入消息。单击 "Post Message"。 
+
+[start=2]
+. 在文本字段中键入消息。单击 "Post Message"。 
+
 image::images/browser1.png[title="浏览器中的应用程序"]
 
 在单击 "Post Message" 时,该消息将保存到数据库中,然后检索并显示消息数。
@@ -387,18 +441,26 @@ image::images/browser2.png[title="显示结果的浏览器中的应用程序"]
 2. 在 "Checkout"(检出)对话框中,输入以下资源库 URL:
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 单击 "Next"(下一步)。
-3. 单击 "Browse"(浏览)以打开 "Browse Repository Folders"(浏览资源库文件夹)对话框。
-4. 展开根节点并选择 *samples/javaee/SimpleEE6App*。单击 "OK"(确定)。
-5. 指定用于存储源代码的本地文件夹(本地文件夹必须为空)。
-6. 单击 "Finish"(完成)。
+
+[start=3]
+. 单击 "Browse"(浏览)以打开 "Browse Repository Folders"(浏览资源库文件夹)对话框。
+
+[start=4]
+. 展开根节点并选择 *samples/javaee/SimpleEE6App*。单击 "OK"(确定)。
+
+[start=5]
+. 指定用于存储源代码的本地文件夹(本地文件夹必须为空)。
+
+[start=6]
+. 单击 "Finish"(完成)。
 
 单击 "Finish"(完成),此时 IDE 会将本地文件夹初始化为 Subversion 资源库,并检出项目源代码。
 
-7. 在完成检出操作后将会显示一个对话框,在该对话框中单击 "Open Project"(打开项目)。
 
-*注:*
+[start=7]
+. 在完成检出操作后将会显示一个对话框,在该对话框中单击 "Open Project"(打开项目)。
 
-* 需要 Subversion 客户端检出源代码。有关安装 Subversion 的更多信息,请参见 link:../ide/subversion.html[+NetBeans IDE 中的 Subversion 指南+]中有关link:../ide/subversion.html#settingUp[+设置 Subversion+] 的部分。
+NOTE: 需要 Subversion 客户端检出源代码。有关安装 Subversion 的更多信息,请参见 link:../ide/subversion.html[+NetBeans IDE 中的 Subversion 指南+]中有关link:../ide/subversion.html#settingUp[+设置 Subversion+] 的部分。
 
 
 link:/about/contact_form.html?to=3&subject=Feedback:%20Getting%20Started%20with%20Java%20EE%206%20Applications[+发送有关此教程的反馈意见+]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing.asciidoc
index da75567..6224ba1 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing.asciidoc
@@ -31,12 +31,10 @@
 
 This tutorial demonstrates how to test a simple enterprise application using NetBeans IDE and Maven archetypes. In this tutorial you create an enterprise application that contains an entity class and a session bean. You will use a wizard to create a simple test class for the bean class and then run the test in the IDE. The test class will create an instance of the GlassFish embedded EJB container to test the connection to the database.
 
-*Note.* If you are using GlassFish 3.1.x, please see link:../../73/javaee/maven-entapp-testing.html[+Testing a Maven Enterprise Application with Embedded GlassFish Server 3.1+]
+NOTE:  If you are using GlassFish 3.1.x, please see link:../../73/javaee/maven-entapp-testing.html[+Testing a Maven Enterprise Application with Embedded GlassFish Server 3.1+]
 
 *Tutorial Exercises*
 
-image::images/netbeans-stamp-80-74.png[title="Content on this page applies to the NetBeans IDE 7.4 and 8.0"]
-
 * <<intro,Using Maven in the IDE>>
 * <<Exercise_1,Creating the Enterprise Application>>
 * <<Exercise_1a,Creating the Web Project>>
@@ -56,7 +54,7 @@ image::images/netbeans-stamp-80-74.png[title="Content on this page applies to th
 |GlassFish Server Open Source Edition |4.0 
 |===
 
-*Note.* The installer for GlassFish Server is included when you download the Java EE bundle. You can install and register GlassFish as part of the NetBeans IDE installation process.
+NOTE:  The installer for GlassFish Server is included when you download the Java EE bundle. You can install and register GlassFish as part of the NetBeans IDE installation process.
 
 *Prerequisites*
 
@@ -85,9 +83,11 @@ If this is your first Maven project you will want to check the Maven configurati
 
 You can use the Maven version bundled with the IDE or specify the location of a local Maven installation (requires 2.0.9 or newer).
 
-4. Click OK to close the Options window.
 
-*Notes.* Maven support is automatically enabled when Java is enabled in the IDE. You will need to enable the Java EE plugin if it is not enabled.
+[start=4]
+. Click OK to close the Options window.
+
+NOTE:  Maven support is automatically enabled when Java is enabled in the IDE. You will need to enable the Java EE plugin if it is not enabled.
 
 *Update your Maven repositories*
 
@@ -99,9 +99,7 @@ Local and remote Maven repositories are used for code completion and when buildi
 
 When you click Update Indexes, the IDE will check and download the most recent index for each of your Maven remote repositories. An index represents the current state of the artifacts located in the repository and is used to provide a reference to the artifacts that are available to your application. By default, the IDE does not download an artifact from a repository until the artifact is explicitly required.
 
-*Notes.*
-
-* Indexes are quite large and it can take some time to update them all.
+NOTE: Indexes are quite large and it can take some time to update them all.
 
 For more details about using Maven in NetBeans IDE, see the section on link:https://netbeans.org/kb/docs/java/maven-hib-java-se.html#02[+Configuring Maven+] in the link:https://netbeans.org/kb/docs/java/maven-hib-java-se.html[+Creating a Maven Swing Application Using Hibernate+] tutorial and also link:http://wiki.netbeans.org/MavenBestPractices[+Best Practices for Apache Maven in NetBeans IDE+].
 
@@ -132,30 +130,47 @@ If you expand the project node in the Projects window you can see that the  ``ja
 
 In this exercise you use the New File wizard to create an entity class. When you create the entity class you will select the  ``jdbc/sample``  datasource in the wizard. You do not need to create or register a new datasource because the  ``jdbc/sample``  datasource was registered when you installed the server.
 
-*Note.* If you want to create a new datasource or use a different datasource, the datasource must be registered on the server before you test the application using the embedded container. When testing the application using the embedded container the IDE will not register the datasource for you as it does when deploying to a GlassFish server instance.
+NOTE:  If you want to create a new datasource or use a different datasource, the datasource must be registered on the server before you test the application using the embedded container. When testing the application using the embedded container the IDE will not register the datasource for you as it does when deploying to a GlassFish server instance.
 
 1. Right-click the project node and choose New > Entity Class.
 
 Alternatively, you can choose File > New File (Ctrl-N; ⌘-N on Mac) from the main menu and select Entity Class in the Persistence category.
 
-2. Type *MyEntity* for the Class Name.
-3. Select  ``com.mycompany.mavenwebtestapp``  as the Package and set the Primary Key Type to * ``int`` *.
-4. Confirm that Create Persistence Unit is selected. Click Next.
-5. Select *jdbc/sample* in the Data Source dropdown list.
-6. Confirm that Use Java Transaction APIs is selected and select Drop and Create as the Table Generation Strategy. Click Finish.
+
+[start=2]
+. Type *MyEntity* for the Class Name.
+
+[start=3]
+. Select  ``com.mycompany.mavenwebtestapp``  as the Package and set the Primary Key Type to * ``int`` *.
+
+[start=4]
+. Confirm that Create Persistence Unit is selected. Click Next.
+
+[start=5]
+. Select *jdbc/sample* in the Data Source dropdown list.
+
+[start=6]
+. Confirm that Use Java Transaction APIs is selected and select Drop and Create as the Table Generation Strategy. Click Finish.
+
 image::images/maven-testing-pu.png[title="Projects window showing generated projects"]
 
 When you click Finish the IDE generates the MyEntity class and opens the class in the source editor. The IDE adds the  ``eclipselink`` ,  ``javax.persistence``  and  ``org.eclipse.persistence.jpa.modelgen.processor``  artifacts as project dependencies.
 
-7. In the source editor, add the private field  ``name``  to the class.
+
+[start=7]
+. In the source editor, add the private field  ``name``  to the class.
 
 [source,java]
 ----
 
 private String name;
 ----
-8. Right-click in the editor and choose Getter and Setter in the Insert Code popup menu (Alt-Insert; Ctrl-I on Mac) to generate a getter and setter for the  ``name``  field.
-9. Add the following constructor.
+
+[start=8]
+. Right-click in the editor and choose Getter and Setter in the Insert Code popup menu (Alt-Insert; Ctrl-I on Mac) to generate a getter and setter for the  ``name``  field.
+
+[start=9]
+. Add the following constructor.
 
 [source,java]
 ----
@@ -165,7 +180,9 @@ public MyEntity(int id) {
     name = "Entity number " + id + " created at " + new Date();
 }
 ----
-10. Add the following  ``@NamedQueries``  and  ``@NamedQuery``  annotations (in bold) to create a named SQL query that will find all records in the MyEntity table.
+
+[start=10]
+. Add the following  ``@NamedQueries``  and  ``@NamedQuery``  annotations (in bold) to create a named SQL query that will find all records in the MyEntity table.
 
 [source,java]
 ----
@@ -176,9 +193,15 @@ public MyEntity(int id) {
 public class MyEntity implements Serializable {
 ----
 
-11. Click the hint in the left margin next to the class declaration and choose the *Create default constructor* hint.
+
+[start=11]
+. Click the hint in the left margin next to the class declaration and choose the *Create default constructor* hint.
+
 image::images/maven-testing-createconstructor.png[title="Projects window showing generated projects"]
-12. Fix the import statements (Ctrl-Shift-I; ⌘-Shift-I on Mac) to add import statements for  ``javax.persistence.NamedQuery`` ,  ``javax.persistence.NamedQueries``  and  ``java.util.Date`` . Save your changes. 
+
+
+[start=12]
+. Fix the import statements (Ctrl-Shift-I; ⌘-Shift-I on Mac) to add import statements for  ``javax.persistence.NamedQuery`` ,  ``javax.persistence.NamedQueries``  and  ``java.util.Date`` . Save your changes. 
 
 
 === Creating the Session Bean
@@ -189,9 +212,15 @@ In this exercise you will use a wizard to create a session facade for the  ``MyE
 
 Alternatively, you can choose File > New File (Ctrl-N; ⌘-N on Mac) from the main menu to open the New File wizard.
 
-2. Select Session Beans For Entity Classes in the Enterprise JavaBeans category. Click Next.
-3. Select the  ``MyEntity``  class from the list of Available Entity Classes and click Add. Click Next.
-4. Use the default properties in the Generated Session Beans panel of the wizard. Click Finish.
+
+[start=2]
+. Select Session Beans For Entity Classes in the Enterprise JavaBeans category. Click Next.
+
+[start=3]
+. Select the  ``MyEntity``  class from the list of Available Entity Classes and click Add. Click Next.
+
+[start=4]
+. Use the default properties in the Generated Session Beans panel of the wizard. Click Finish.
 
 When you click Finish the IDE generates  ``AbstractFacade.java``  and  ``MyEntityFacade.java``  in the  ``com.mycompany.mavenwebtestapp``  package and opens the classes in the source editor.
 
@@ -217,7 +246,9 @@ public class MyEntityFacade extends AbstractFacade<MyEntity> {
     
 }
 ----
-5. Add the following methods to  ``MyEntityFacade.java`` .
+
+[start=5]
+. Add the following methods to  ``MyEntityFacade.java`` .
 
 [source,java]
 ----
@@ -245,10 +276,13 @@ public class MyEntityFacade extends AbstractFacade<MyEntity> {
         }
     }
 ----
-6. Fix your imports to add the required import statements. Save your changes. 
+
+[start=6]
+. Fix your imports to add the required import statements. Save your changes. 
+
 image::images/maven-testing-fiximports.png[title="Projects window showing generated projects"]
 
-*Note.* Confirm that * ``javax.persistence.Query`` * is selected in the Fix All Imports dialog box.
+NOTE:  Confirm that * ``javax.persistence.Query`` * is selected in the Fix All Imports dialog box.
 
 
 == Creating the Session Bean Test
@@ -261,15 +295,19 @@ In the generated tests you will see that the IDE automatically adds code that ca
 2. Select a test framework from the Framework dropdown list
 3. Use the default options in the Create Tests dialog box. Click OK.
 
-*Note.* The first time that you create a JUnit test you need to specify the version of the JUnit framework. Select JUnit 4.x as the JUnit version and click Select.
+NOTE:  The first time that you create a JUnit test you need to specify the version of the JUnit framework. Select JUnit 4.x as the JUnit version and click Select.
 
 By default, the IDE generates a skeleton test class that contains tests for each of the methods in  ``MyEntityFacade``  and  ``AbstractFacade`` . The IDE automatically adds a dependency on the JUnit 4.10 to the POM.
 
-4. Annotate each of the test methods except  ``testVerify``  with the  ``@Ignore``  annotation. The IDE will skip each of the tests annotated with  ``@Ignore``  when running the tests.
+
+[start=4]
+. Annotate each of the test methods except  ``testVerify``  with the  ``@Ignore``  annotation. The IDE will skip each of the tests annotated with  ``@Ignore``  when running the tests.
 
 Alternatively, you can delete all the test methods except  ``testVerify`` .
 
-5. Locate the  ``testVerify``  test method in the test class.
+
+[start=5]
+. Locate the  ``testVerify``  test method in the test class.
 
 You can see that the test contains a line that calls on  ``EJBContainer`` .
 
@@ -290,7 +328,9 @@ You can see that the test contains a line that calls on  ``EJBContainer`` .
         fail("The test case is a prototype.");
     }
 ----
-6. Make the following changes (in bold) to the skeleton of the  ``testVerify``  test method.
+
+[start=6]
+. Make the following changes (in bold) to the skeleton of the  ``testVerify``  test method.
 
 [source,java]
 ----
@@ -309,11 +349,15 @@ public void testVerify() throws Exception {
     container.close();
 }
 ----
-7. Fix the import statements to add  ``junit.framework.Assert`` . Save your changes.
+
+[start=7]
+. Fix the import statements to add  ``junit.framework.Assert`` . Save your changes.
 
 You now need to modify the POM to add a dependency on the  ``<glassfish.embedded-static-shell.jar>``  that is located in your local installation of the GlassFish server.
 
-8. Open  ``pom.xml``  in the editor and locate the  ``<properties>``  element.
+
+[start=8]
+. Open  ``pom.xml``  in the editor and locate the  ``<properties>``  element.
 
 [source,xml]
 ----
@@ -324,7 +368,9 @@ You now need to modify the POM to add a dependency on the  ``<glassfish.embedded
     </properties>
                 
 ----
-9. Edit the  ``<properties>``  element to add the  ``<glassfish.embedded-static-shell.jar>``  element (in *bold*) that specifies the location of the JAR in your local GlassFish installation. You will then reference this property in the dependency on the artifact.
+
+[start=9]
+. Edit the  ``<properties>``  element to add the  ``<glassfish.embedded-static-shell.jar>``  element (in *bold*) that specifies the location of the JAR in your local GlassFish installation. You will then reference this property in the dependency on the artifact.
 
 [source,xml]
 ----
@@ -338,18 +384,27 @@ You now need to modify the POM to add a dependency on the  ``<glassfish.embedded
                 
 ----
 
-*Note.*  ``_<INSTALLATION_PATH>_``  is the absolute path to your local GlassFish installation. You will need to modify this element in the POM if the path to the local installation changes.
+NOTE:   ``_<INSTALLATION_PATH>_``  is the absolute path to your local GlassFish installation. You will need to modify this element in the POM if the path to the local installation changes.
+
+
+[start=10]
+. Right-click the Dependencies node in the Projects window and choose Add Dependency.
+
+[start=11]
+. In the Add Dependency dialog box, type *embedded-static-shell* in the Query text field.
+
+[start=12]
+. Locate the 4.0 JAR in the search results and click Add.
 
-10. Right-click the Dependencies node in the Projects window and choose Add Dependency.
-11. In the Add Dependency dialog box, type *embedded-static-shell* in the Query text field.
-12. Locate the 4.0 JAR in the search results and click Add.
 image::images/add-shell-dependency.png[title="Test Results window"]
 
 When you click Add the IDE adds the dependency to the POM.
 
 You now want to modify the POM to specify the local installation of GlassFish as the source for the JAR.
 
-13. Locate the dependency in the POM and make the following changes (in *bold*) to modify the element to reference the  ``<glassfish.embedded-static-shell.jar>``  property that you added and to specify the  ``<scope>`` . Save your changes.
+
+[start=13]
+. Locate the dependency in the POM and make the following changes (in *bold*) to modify the element to reference the  ``<glassfish.embedded-static-shell.jar>``  property that you added and to specify the  ``<scope>`` . Save your changes.
 
 [source,xml]
 ----
@@ -363,11 +418,15 @@ You now want to modify the POM to specify the local installation of GlassFish as
         </dependency>
                 
 ----
-14. In the Services window, right-click the GlassFish Server node and choose Start.
+
+[start=14]
+. In the Services window, right-click the GlassFish Server node and choose Start.
 
 The JavaDB database server will also start when you start the GlassFish Server.
 
-15. In the Projects window, right-click the project node and choose Test.
+
+[start=15]
+. In the Projects window, right-click the project node and choose Test.
 
 When you choose Test the IDE will build application and run the test phase of the build lifecycle. The unit tests will be executed with the surefire plugin, which supports running JUnit 4.x tests. For more about the surefire plugin, see link:http://maven.apache.org/plugins/maven-surefire-plugin/[+http://maven.apache.org/plugins/maven-surefire-plugin/+].
 
@@ -375,7 +434,7 @@ You can see the results of the test in the Test Results window. You can open the
 
 image::images/maven-test-results.png[title="Test Results window"]
 
-In the Test Results window you can click the Show Passed icon (image::images/test-ok_16.png[title="Show Passed icon"]) to display a list of all the tests that passed. In this example you can see that nine tests passed. If you look in the Output window you can see that only one test was run and eight tests were skipped. Skipped tests are included in the list of tests that passed in the Test Results window.
+In the Test Results window you can click the Show Passed icon (image:images/test-ok_16.png[title="Show Passed icon"]) to display a list of all the tests that passed. In this example you can see that nine tests passed. If you look in the Output window you can see that only one test was run and eight tests were skipped. Skipped tests are included in the list of tests that passed in the Test Results window.
 
 
 [source,java]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing_ja.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing_ja.asciidoc
index 663b680..58a9be1 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing_ja.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing_ja.asciidoc
@@ -31,12 +31,10 @@
 
 このチュートリアルでは、NetBeans IDEとMaven原型を使用した単純なエンタープライズ・アプリケーションをテストする方法を示します。このチュートリアルでは、エンティティ・クラスとセッションBeanを含むエンタープライズ・アプリケーションを作成します。ウィザードを使用してBeanクラス用の単純なテスト・クラスを作成してから、IDEでそのテストを実行します。このテスト・クラスは、GlassFish埋込みEJBコンテナのインスタンスを作成し、データベースへの接続をテストします。
 
-*注意:*GlassFish 3.1.xを使用する場合、link:../../73/javaee/maven-entapp-testing.html[+組込みGlassFish Server 3.1を使用したMavenエンタープライズ・アプリケーションのテスト+]を参照してください。
+NOTE: GlassFish 3.1.xを使用する場合、link:../../73/javaee/maven-entapp-testing.html[+組込みGlassFish Server 3.1を使用したMavenエンタープライズ・アプリケーションのテスト+]を参照してください。
 
 *チュートリアルの課題*
 
-image::images/netbeans-stamp-80-74.png[title="このページの内容は、NetBeans IDE 7.4および8.0に適用されます"]
-
 * <<intro,IDEでのMavenの使用>>
 * <<Exercise_1,エンタープライズ・アプリケーションの作成>>
 * <<Exercise_1a,Webプロジェクトの作成>>
@@ -56,7 +54,7 @@ image::images/netbeans-stamp-80-74.png[title="このページの内容は、NetB
 |GlassFish Server Open Source Edition |4.0 
 |===
 
-*注意:*GlassFish Serverのインストーラは、Java EEバンドル版をダウンロードした場合に含まれています。NetBeans IDEのインストール処理の一部としてGlassFishをインストールおよび登録できます。
+NOTE: GlassFish Serverのインストーラは、Java EEバンドル版をダウンロードした場合に含まれています。NetBeans IDEのインストール処理の一部としてGlassFishをインストールおよび登録できます。
 
 *前提条件*
 
@@ -85,9 +83,11 @@ NetBeans IDEには、Mavenのサポートが完全に統合されています。
 
 IDEにバンドルされているMavenバージョンを使用することも、ローカルのMavenインストール(2.0.9以降が必要)の場所を指定することもできます。
 
-4. 「OK」をクリックして「オプション」ウィンドウを閉じます。
 
-*注意:*Mavenサポートは、IDEでJavaが有効になっている場合に自動的に有効になります。Java EEプラグインが有効になっていない場合は、有効にする必要があります。
+[start=4]
+. 「OK」をクリックして「オプション」ウィンドウを閉じます。
+
+NOTE: Mavenサポートは、IDEでJavaが有効になっている場合に自動的に有効になります。Java EEプラグインが有効になっていない場合は、有効にする必要があります。
 
 *Mavenリポジトリの更新*
 
@@ -99,9 +99,7 @@ IDEにバンドルされているMavenバージョンを使用することも、
 
 「索引を更新」をクリックすると、各Mavenリモート・リポジトリの最新の索引の有無が確認され、ダウンロードされます。索引は、リポジトリ内に存在するアーティファクトの現在の状態を示し、アプリケーションで使用できるアーティファクトへの参照を提供するために使用されます。デフォルトでは、アーティファクトが明示的に要求されないかぎり、リポジトリからアーティファクトはダウンロードされません。
 
-*注意:*
-
-* 索引のサイズが非常に大きく、すべてを更新するのに時間がかかる可能性があります。
+NOTE: 索引のサイズが非常に大きく、すべてを更新するのに時間がかかる可能性があります。
 
 NetBeans IDEでのMavenの使用に関する詳細は、link:https://netbeans.org/kb/docs/java/maven-hib-java-se.html[+Hibernateを使用したMaven Swingアプリケーションの作成+]チュートリアルのlink:https://netbeans.org/kb/docs/java/maven-hib-java-se.html#02[+Mavenの構成+]の項およびlink:http://wiki.netbeans.org/MavenBestPractices[+NetBeans IDEでのApache Mavenのベスト・プラクティス+]を参照してください。
 
@@ -132,30 +130,47 @@ image::images/maven-testing-projects.png[title="生成されたプロジェク
 
 この課題では、新規ファイル・ウィザードを使用してエンティティ・クラスを作成します。エンティティ・クラスを作成するときは、ウィザードで ``jdbc/sample`` データ・ソースを選択します。サーバーのインストール時に ``jdbc/sample`` データ・ソースが登録されたため、新しいデータ・ソースを作成または登録する必要はありません。
 
-*注意:*新しいデータソースを作成したり、異なるデータソースを使用する場合は、埋込みコンテナを使用してアプリケーションをテストする前に、そのデータソースをサーバーに登録する必要があります。埋込みコンテナを使用してアプリケーションをテストするときは、GlassFishサーバー・インスタンスにデプロイするときと同じように、データ・ソースがIDEによって自動的には登録されません。
+NOTE: 新しいデータソースを作成したり、異なるデータソースを使用する場合は、埋込みコンテナを使用してアプリケーションをテストする前に、そのデータソースをサーバーに登録する必要があります。埋込みコンテナを使用してアプリケーションをテストするときは、GlassFishサーバー・インスタンスにデプロイするときと同じように、データ・ソースがIDEによって自動的には登録されません。
 
 1. プロジェクト・ノードを右クリックし、「新規」>「エンティティ・クラス」を選択します。
 
 または、メイン・メニューから「ファイル」>「新規ファイル」([Ctrl]-[N]、Macの場合は[⌘]-[N])を選択し、「持続性」カテゴリで「エンティティ・クラス」を選択することもできます。
 
-2. 「クラス名」に「*MyEntity*」と入力します。
-3. 「パッケージ」として「 ``com.mycompany.mavenwebtestapp`` 」を選択し、「主キー型」を* ``int`` *に設定します。
-4. 「持続性ユニットを作成」が選択されていることを確認します。「次」をクリックします。
-5. 「データ・ソース」ドロップダウン・リストで「*jdbc/sample*」を選択します。
-6. 「Java Transaction APIを使用」が選択されていることを確認し、「表生成戦略」として「ドロップして作成」を選択します。「終了」をクリックします。
+
+[start=2]
+. 「クラス名」に「*MyEntity*」と入力します。
+
+[start=3]
+. 「パッケージ」として「 ``com.mycompany.mavenwebtestapp`` 」を選択し、「主キー型」を* ``int`` *に設定します。
+
+[start=4]
+. 「持続性ユニットを作成」が選択されていることを確認します。「次」をクリックします。
+
+[start=5]
+. 「データ・ソース」ドロップダウン・リストで「*jdbc/sample*」を選択します。
+
+[start=6]
+. 「Java Transaction APIを使用」が選択されていることを確認し、「表生成戦略」として「ドロップして作成」を選択します。「終了」をクリックします。
+
 image::images/maven-testing-pu.png[title="生成されたプロジェクトを示す「プロジェクト」ウィンドウ"]
 
 「終了」をクリックすると、IDEによってMyEntityクラスが生成され、ソース・エディタでクラスが開かれます。IDEによって、プロジェクト依存性として ``eclipselink`` 、 ``javax.persistence`` および ``org.eclipse.persistence.jpa.modelgen.processor`` アーティファクトが追加されます。
 
-7. ソース・エディタで、クラスにprivateフィールド ``name`` を追加します。
+
+[start=7]
+. ソース・エディタで、クラスにprivateフィールド ``name`` を追加します。
 
 [source,java]
 ----
 
 private String name;
 ----
-8. エディタ内を右クリックし、「コードを挿入」ポップアップ・メニューで「取得メソッドおよび設定メソッド」を選択して ``name`` フィールドの取得メソッドと設定メソッドを生成します。
-9. 次のコンストラクタを追加します。
+
+[start=8]
+. エディタ内を右クリックし、「コードを挿入」ポップアップ・メニューで「取得メソッドおよび設定メソッド」を選択して ``name`` フィールドの取得メソッドと設定メソッドを生成します。
+
+[start=9]
+. 次のコンストラクタを追加します。
 
 [source,java]
 ----
@@ -165,7 +180,9 @@ public MyEntity(int id) {
     name = "Entity number " + id + " created at " + new Date();
 }
 ----
-10. MyEntity表のすべてのレコードを検索する名前付きSQL問合せを作成するために、以下の ``@NamedQueries`` および ``@NamedQuery`` 注釈(太字部分)を追加します。
+
+[start=10]
+. MyEntity表のすべてのレコードを検索する名前付きSQL問合せを作成するために、以下の ``@NamedQueries`` および ``@NamedQuery`` 注釈(太字部分)を追加します。
 
 [source,java]
 ----
@@ -176,9 +193,15 @@ public MyEntity(int id) {
 public class MyEntity implements Serializable {
 ----
 
-11. クラス宣言の左マージンにあるヒントをクリックして、「*デフォルト・コンストラクタを作成*」ヒントを選択します。
+
+[start=11]
+. クラス宣言の左マージンにあるヒントをクリックして、「*デフォルト・コンストラクタを作成*」ヒントを選択します。
+
 image::images/maven-testing-createconstructor.png[title="生成されたプロジェクトを示す「プロジェクト」ウィンドウ"]
-12. インポート文を修正([Ctrl]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])して、 ``javax.persistence.NamedQuery`` 、 ``javax.persistence.NamedQueries`` および ``java.util.Date`` のインポート文を追加します。変更を保存します。
+
+
+[start=12]
+. インポート文を修正([Ctrl]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])して、 ``javax.persistence.NamedQuery`` 、 ``javax.persistence.NamedQueries`` および ``java.util.Date`` のインポート文を追加します。変更を保存します。
 
 
 === セッションBeanの作成
@@ -189,9 +212,15 @@ image::images/maven-testing-createconstructor.png[title="生成されたプロ
 
 または、メイン・メニューから「ファイル」>「新規ファイル」([Ctrl]-[N]、Macの場合は[⌘]-[N])を選択して新規ファイル・ウィザードを開きます。
 
-2. 「Enterprise JavaBeans」カテゴリで「エンティティ・クラスのセッションBean」を選択します。「次」をクリックします。
-3. 「利用可能なエンティティ・クラス」のリストから ``MyEntity`` クラスを選択し、「追加」をクリックします。「次」をクリックします。
-4. ウィザードの「生成されるセッションBean」パネルで、デフォルトのプロパティを使用します。「終了」をクリックします。
... 9547 lines suppressed ...


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists