[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
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 coupled way by firing and observing events.
 
 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.enterprise.event.Event` class to create events, and CDI's `@Observes` annotation to subscribe to events.
@@ -65,11 +69,11 @@
 |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 @@
 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 @@
 }
 ----
 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 @@
 public @interface Notify {
 }
 ----
-13. Add the `@Notify` annotation to `EventItemHandler`.
+
+[start=13]
+. Add the `@Notify` annotation to `EventItemHandler`.
 
 [source,java]
 ----
@@ -136,7 +157,9 @@
 }
 ----
 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 @@
 }
 ----
 (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 @@
 }
 ----
 (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 @@
 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 @@
 * <<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 @@
 |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 @@
 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 @@
 }
 ----
 イベント・ペイロードが`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 @@
 public @interface Notify {
 }
 ----
-13. `EventItemHandler`に`@Notify`注釈を追加します。
+
+[start=13]
+. `EventItemHandler`に`@Notify`注釈を追加します。
 
 [source,java]
 ----
@@ -136,7 +152,9 @@
 }
 ----
 このエラー・ハンドラを注入のために識別し、`ItemProcessor`で注入ポイントに追加して使用できる`@Notify`修飾子注釈を作成しました。
-14. `exercise2.ItemProcessor`で、`EventItemHandler`の注入ポイントに`@Notify`注釈を追加します。
+
+[start=14]
+. `exercise2.ItemProcessor`で、`EventItemHandler`の注入ポイントに`@Notify`注釈を追加します。
 
 [source,java]
 ----
@@ -165,11 +183,19 @@
 }
 ----
 (エディタのヒントを使用して`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 @@
 }
 ----
 (エディタのヒントを使用して`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 @@
 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 @@
 |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 @@
 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 @@
 }
 ----
 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 precisarmos e também podemos substituí-lo durante os testes.
-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 @@
 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 @@
 }
 ----
 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 @@
 }
 ----
 (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 @@
 }
 ----
 (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 `@PostConstruct` e `@PreDestroy`.)
 
 Conforme mostrado nas etapas acima, a anotação `@Observes` fornece uma maneira fácil de observar um evento.
@@ -213,9 +245,15 @@
 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 @@
 * <<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, с помощью которой производят возникающие в приложении события и подписываются на них (т.е. _наблюдают_) таким образом, что это позволяет управлять несвязанным кодом между производителями и наблюдателями. Класс `javax.enterprise.event.Event` применяют для создания событий, а аннотацию `@Observes` CDI — для подписки на события.
@@ -65,10 +63,11 @@
 |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/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 @@
 }
 ----
 Мы внедряем экземпляр `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 @@
 public @interface Notify {
 }
 ----
-13. Добавьте аннотацию `@Notify` к `EventItemHandler`.
+
+[start=13.]
+. Добавьте аннотацию `@Notify` к `EventItemHandler`.
 
 [source,java]
 ----
@@ -136,7 +152,9 @@
 }
 ----
 Мы создали аннотацию квалификатора `@Notify`, чтобы определить обработчик ошибок для внедрения, и можем ее использовать в `ItemProcessor` путем добавления к точке внедрения.
-14. Добавьте аннотацию `@Notify` к точке внедрения`EventItemHandler` в `exercise2.ItemProcessor`.
+
+[start=14.]
+. Добавьте аннотацию `@Notify` к точке внедрения`EventItemHandler` в `exercise2.ItemProcessor`.
 
 [source,java]
 ----
@@ -165,11 +183,19 @@
 }
 ----
 Используйте подсказку редактора, чтобы добавить оператор импорта для `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 @@
 }
 ----
 Используйте подсказку редактора, чтобы добавить оператор импорта для `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[+Применение компонентов @Alternative и аннотаций жизненного цикла+].)
 
 Как показано выше аннотация `@Observes` упрощает процесс наблюдения за событиями.
@@ -212,10 +242,17 @@
 *@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 @@
 * <<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 @@
 |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 @@
 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 @@
 }
 ----
 我们会注入 `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 @@
 public @interface Notify {
 }
 ----
-13. 将 `@Notify` 标注添加到 `EventItemHandler`。
+
+[start=13.]
+. 将 `@Notify` 标注添加到 `EventItemHandler`。
 
 [source,java]
 ----
@@ -136,7 +152,9 @@
 }
 ----
 我们创建了一个 `@Notify` 限定符标注为注入标识此错误处理程序,并可以通过将其添加到注入点以在我们的 `ItemProcessor` 中使用。
-14. 在 `exercise2.ItemProcessor` 中,将 `@Notify` 标注添加到 `EventItemHandler` 的注入点。
+
+[start=14.]
+. 在 `exercise2.ItemProcessor` 中,将 `@Notify` 标注添加到 `EventItemHandler` 的注入点。
 
 [source,java]
 ----
@@ -165,11 +183,19 @@
 }
 ----
 (使用编辑器的提示为 `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 @@
 }
 ----
 (使用编辑器的提示为 `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 @@
 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 @@
 * <<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 coupled way by firing and observing events.
 
@@ -66,10 +68,11 @@
 |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 @@
 
 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 @@
     }*
 }
 ----
-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 @@
     }
 }
 ----
-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 @@
 
     ...
 ----
-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.
 
-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.
+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.
+
+[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 @@
 }
 ----
 (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.
 
-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.
+Click the New File ( image:images/new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
+
+
+[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 @@
     }
 }
 ----
-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 @@
 }
 ----
 (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 @@
     ...
 }
 ----
-[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 @@
     </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 @@
     <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 @@
 
 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 @@
 
 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 @@
 
 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 @@
 }
 }
 ----
-[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.#
 
-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.
+[start=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.
+
+
+[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 @@
 
 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 @@
 }
 }
 ----
-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 @@
 * <<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 @@
 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 @@
     }*
 }
 ----
-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 @@
     }
 }
 ----
-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 @@
 
     ...
 ----
-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 @@
 }
 ----
 (エディタのヒントを使用して`java.util.List`のインポート文を追加します。)
-18. `ItemProcessor`クラスを作成します。これはメイン・クラスであり、ここにBeanを注入したり、ここからプロセスを実行したりします。今のところはDAOから始めて、プロセッサBeanにこれを注入する方法を見てみます。
 
-「新規ファイル」(image::images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
+[start=18]
+. `ItemProcessor`クラスを作成します。これはメイン・クラスであり、ここにBeanを注入したり、ここからプロセスを実行したりします。今のところはDAOから始めて、プロセッサBeanにこれを注入する方法を見てみます。
 
-19. 「Java」カテゴリから「Javaクラス」を選択します。「次」をクリックします。
-20. クラス名として「*ItemProcessor*」、パッケージとして「*exercise2*」と入力します。「終了」をクリックします。
+「新規ファイル」(image:images/new-file-btn.png[])ボタンをクリックするか、[Ctrl]-[N] (Macの場合は[⌘]-[N])を押してファイル・ウィザードを開きます。
+
+
+[start=19]
+. 「Java」カテゴリから「Javaクラス」を選択します。「次」をクリックします。
+
+[start=20]
+. クラス名として「*ItemProcessor*」、パッケージとして「*exercise2*」と入力します。「終了」をクリックします。
 
 新しいクラスが生成され、エディタで開かれます。
 
-21. 次のようにクラスを変更します。
+
+[start=21]
+. 次のようにクラスを変更します。
 
 [source,java]
 ----
@@ -210,16 +250,29 @@
     }
 }
 ----
-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 @@
 }
 ----
 [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 @@
     ...
 }
 ----
-[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 @@
     </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 @@
     <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 @@
 
 ここでビルドしているアプリケーションに修飾子が必要なことを示すために、やはり`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 @@
 
 これで`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 @@
 
 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 @@
 
 次に、この修飾子をクラス・レベルでデフォルトのDAO実装に追加します。
 
-10. エディタで`DefaultItemDao`に切り替え([Ctrl]-[Tab]を押し)、クラス定義の上に「`@Demo`」と入力します。
+
+[start=10]
+. エディタで`DefaultItemDao`に切り替え([Ctrl]-[Tab]を押し)、クラス定義の上に「`@Demo`」と入力します。
 
 [source,java]
 ----
@@ -407,12 +499,17 @@
 }
 }
 ----
-[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 @@
 
 次に、`ItemProcessor`の注入ポイントに`@Demo`注釈を追加します。
 
-13. エディタで`ItemProcessor`に切り替え([Ctrl]-[Tab]を押し)、次のように変更します。
+
+[start=13]
+. エディタで`ItemProcessor`に切り替え([Ctrl]-[Tab]を押し)、次のように変更します。
 
 [source,java]
 ----
@@ -444,7 +543,9 @@
 }
 }
 ----
-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 @@
 * <<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 injetados e interajam de maneira acoplada flexível, disparando e observando eventos.
 
@@ -87,12 +89,18 @@
 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 @@
     }*
 }
 ----
-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 @@
     }
 }
 ----
-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 @@
 
     ...
 ----
-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 @@
 }
 ----
 (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.
 
-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.
+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.
+
+[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 @@
     }
 }
 ----
-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 @@
 }
 ----
 (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 @@
     ...
 }
 ----
-[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 @@
     </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 @@
     <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 @@
 
 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 @@
 
 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 @@
 
 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 @@
 }
 }
 ----
-[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 @@
 
 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 @@
 }
 }
 ----
-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 @@
 * <<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 @@
 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 @@
     }*
 }
 ----
-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 @@
     }
 }
 ----
-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 @@
 
     ...
 ----
-13. Создайте интерфейс `ItemDao` для определения способа получения списка объектов `Item`. В этом тестовом приложении мы допускаем использование нескольких реализаций, следовательно, создаем код для интерфейсов.
 
-Щелкните 'Создать файл' ( image::images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
+[start=13]
+. Создайте интерфейс `ItemDao` для определения способа получения списка объектов `Item`. В этом тестовом приложении мы допускаем использование нескольких реализаций, следовательно, создаем код для интерфейсов.
 
-14. Выберите категорию Java, а затем команду "Интерфейс Java". Нажмите кнопку "Далее".
-15. Введите *ItemDao* в качестве имени класса, затем укажите *exercise2* в качестве пакета.
-16. Нажмите кнопку "Завершить". Интерфейс будет создан и открыт в редакторе.
-17. Добавьте метод с именем `fetchItems()`, который возвращает элемент `List` объектов `Item`.
+Щелкните 'Создать файл' ( image:images/new-file-btn.png[] ) или нажмите сочетание клавиш CTRL+N (⌘-N on Mac) для открытия мастера создания файлов.
+
+
+[start=14]
+. Выберите категорию Java, а затем команду "Интерфейс Java". Нажмите кнопку "Далее".
+
+[start=15]
+. Введите *ItemDao* в качестве имени класса, затем укажите *exercise2* в качестве пакета.
+
+[start=16]
+. Нажмите кнопку "Завершить". Интерфейс будет создан и открыт в редакторе.
+
+[start=17]
+. Добавьте метод с именем `fetchItems()`, который возвращает элемент `List` объектов `Item`.
 
 [source,java]
 ----
@@ -182,16 +214,24 @@
 }
 ----
 Используйте подсказку редактора, чтобы добавить оператор импорта для `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 @@
     }
 }
 ----
-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 @@
 }
 ----
 Нажмите сочетание клавиш 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 @@
     ...
 }
 ----
-[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 @@
     </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 @@
     <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` или какой-либо подтип этого интерфейса. В этом случае класс `DefaultItemDao` полностью отвечает требованиям.
 
@@ -331,11 +410,15 @@
 
 Теперь, при наличии двух классов, которые внедряют`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 @@
 
 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 @@
 
 Затем этот квалификатор будет добавлен к реализатору DAO на уровне класса.
 
-10. Перейдите в редакторе к `DefaultItemDao` (нажмите CTRL+TAB), а затем введите "`@Demo`" над определением класса.
+[start=10]
+. Перейдите в редакторе к `DefaultItemDao` (нажмите CTRL+TAB), а затем введите "`@Demo`" над определением класса.
 
 [source,java]
 ----
@@ -407,12 +499,18 @@
 }
 }
 ----
-[tips]#После ввода `@` нажмите CTRL+ПРОБЕЛ для вызова предложений автозавершения кода. Редактор распознает квалификатор `Demo` и выводит `@Demo` в качестве параметра списка для автозавершения кода.#
-11. Для запуска проекта нажмите кнопку 'Запустить проект' ( image::images/run-project-btn.png[] ). Сборка и развертывание проекта выполняются без ошибок.
 
-*Примечание.* Для этого изменения может потребоваться явно запустить проект для повторного развертывания приложения вместо развертывания изменений с приращением.
+TIP: После ввода `@` нажмите CTRL+ПРОБЕЛ для вызова предложений автозавершения кода. Редактор распознает квалификатор `Demo` и выводит `@Demo` в качестве параметра списка для автозавершения кода.#
 
-12. В браузере нажмите кнопку `Выполнить`, затем вернитесь в среду IDE и проверьте протокол сервера в окне вывода. На экран будет выведено следующее.
+
+[start=11]
+. Для запуска проекта нажмите кнопку 'Запустить проект' ( image:images/run-project-btn.png[] ). Сборка и развертывание проекта выполняются без ошибок.
+
+NOTE:  Для этого изменения может потребоваться явно запустить проект для повторного развертывания приложения вместо развертывания изменений с приращением.
+
+
+[start=12]
+. В браузере нажмите кнопку `Выполнить`, затем вернитесь в среду IDE и проверьте протокол сервера в окне вывода. На экран будет выведено следующее.
 
 [source,java]
 ----
@@ -424,7 +522,9 @@
 
 Затем вы добавите аннотацию `@Demo` к точке внедрения в`ItemProcessor`.
 
-13. Перейдите в редакторе к `ItemProcessor` (нажмите CTRL+TAB), а затем выполните следующее изменение.
+
+[start=13]
+. Перейдите в редакторе к `ItemProcessor` (нажмите CTRL+TAB), а затем выполните следующее изменение.
 
 [source,java]
 ----
@@ -444,7 +544,9 @@
 }
 }
 ----
-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 @@
 * <<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 @@
 |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 @@
 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 @@
     }*
 }
 ----
-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 @@
     }
 }
 ----
-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 @@
 
     ...
 ----
-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 @@
 }
 ----
 (使用编辑器的提示为 `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。
 
-19. 选择 "Java" 类别,然后选择 "Java Class"(Java 类)。单击 "Next"(下一步)。
-20. 键入 *ItemProcessor* 作为类名,然后输入 *exercise2* 作为包。单击 "Finish"(完成)。
+单击 "New File"(新建文件)(image:images/new-file-btn.png[]) 按钮,或者按 Ctrl-N 组合键(在 Mac 上为 ⌘-N 组合键)以打开文件向导。
+
+
+[start=19]
+. 选择 "Java" 类别,然后选择 "Java Class"(Java 类)。单击 "Next"(下一步)。
+
+[start=20]
+. 键入 *ItemProcessor* 作为类名,然后输入 *exercise2* 作为包。单击 "Finish"(完成)。
 
 将会生成新类并在编辑器中将其打开。
 
-21. 修改该类,如下所示:
+
+[start=21]
+. 修改该类,如下所示:
 
 [source,java]
 ----
@@ -210,16 +251,29 @@
     }
 }
 ----
-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 @@
 }
 ----
 (按 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 @@
     ...
 }
 ----
-[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 @@
     </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 @@
     <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 @@
 
 现在有两个实现 `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 @@
 
 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 @@
 
 接下来,在类级别将此限定符添加到默认 DAO 实现。
 
-10. 在编辑器中切换到 `DefaultItemDao`(按 Ctrl-Tab 组合键),然后在类定义上方键入 `@Demo`。
+
+[start=10]
+. 在编辑器中切换到 `DefaultItemDao`(按 Ctrl-Tab 组合键),然后在类定义上方键入 `@Demo`。
 
 [source,java]
 ----
@@ -407,12 +502,18 @@
 }
 }
 ----
-[tips]#键入 `@` 后,按 Ctrl-空格键以调用代码完成建议。编辑器识别 `Demo` 限定符并列出 `@Demo` 作为代码完成选项。#
-11. 单击 "Run Project"(运行项目)(image::images/run-project-btn.png[]) 按钮以运行项目。该项目将构建和部署,且不出现错误。
 
-*注:*对于此项修改,可能需要显式运行项目以重新部署应用程序而不是增量部署所做的更改。
+TIP: 键入 `@` 后,按 Ctrl-空格键以调用代码完成建议。编辑器识别 `Demo` 限定符并列出 `@Demo` 作为代码完成选项。#
 
-12. 在浏览器中,单击 `Execute` 按钮,然后返回至 IDE 并检查 "Output"(输出)窗口中的服务器日志。将看到以下输出结果。
+
+[start=11]
+. 单击 "Run Project"(运行项目)(image:images/run-project-btn.png[]) 按钮以运行项目。该项目将构建和部署,且不出现错误。
+
+NOTE: 对于此项修改,可能需要显式运行项目以重新部署应用程序而不是增量部署所做的更改。
+
+
+[start=12]
+. 在浏览器中,单击 `Execute` 按钮,然后返回至 IDE 并检查 "Output"(输出)窗口中的服务器日志。将看到以下输出结果。
 
 [source,java]
 ----
@@ -424,7 +525,9 @@
 
 接下来,将向 `ItemProcessor` 中的注入点添加 `@Demo` 标注。
 
-13. 在编辑器中切换到 `ItemProcessor`(按 Ctrl-Tab 组合键),然后进行以下更改。
+
+[start=13]
+. 在编辑器中切换到 `ItemProcessor`(按 Ctrl-Tab 组合键),然后进行以下更改。
 
 [source,java]
 ----
@@ -444,7 +547,9 @@
 }
 }
 ----
-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 coupled way by firing and observing events.
 
@@ -64,24 +67,20 @@
 |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.xml` file specifies CDI 1.0 as the version.
 * 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 also sets the attribute of the  ``bean-discovery-mode``  to  ``all`` .
@@ -89,13 +88,24 @@
 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 @@
 
 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 @@
 }
 ----
 
-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 to display the full-sized Javadoc in a separate window.
+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 to display the full-sized Javadoc in a separate window.
 
-*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.oracle.com/javaee/7/tutorial/doc/jsf-configure001.htm[+Using Annotations to Configure Managed Beans+] in the Java EE 7 Tutorial.
+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.oracle.com/javaee/7/tutorial/doc/jsf-configure001.htm[+Using Annotations to Configure Managed Beans+] in the Java EE 7 Tutorial.
 
-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 @@
     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 @@
 
 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 @@
     }
 }
 ----
-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 @@
 |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 @@
 
 この課題では、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 @@
 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 @@
 
 この課題では、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 @@
 }
 ----
 
-`@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を表示することもできます。
 
-*注意:* ``@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の構成+]を参照してください。
+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の構成+]を参照してください。
 
-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 @@
     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 @@
     }
 }
 ----
-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 injetados e interajam de maneira acoplada flexível, disparando e observando eventos.
 
@@ -64,10 +68,7 @@
 |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 @@
 
 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 arquivo `beans.xml` gerado especifica o CDI 1.0 como a versão.
 * 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.xml` especifica CDI 1.1 como versão e define também o atributo do  ``bean-discovery-mode``  como  ``all`` .
@@ -89,13 +90,23 @@
 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 @@
 
 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 @@
 }
 ----
 
-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/external-web-browser-btn.png[]) para exibir o Javadoc de tamanho completo em uma janela separada.
+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/external-web-browser-btn.png[]) para exibir o Javadoc de tamanho completo em uma janela separada.
 
-*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 link:http://docs.oracle.com/javaee/7/tutorial/doc/jsf-configure001.htm[+Usando Anotações para Configurar Beans Gerenciados+] no Tutorial do Java EE 7.
+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://docs.oracle.com/javaee/7/tutorial/doc/jsf-configure001.htm[+Usando Anotações para Configurar Beans Gerenciados+] no Tutorial do Java EE 7.
 
-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 @@
     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 @@
     }
 }
 ----
-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 @@
 |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 @@
 
 В этом упражнении выполняется создание веб-проекта 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` будет указана версия CDI 1.0.
 * Если в качестве версии 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 и атрибут  ``bean-discovery-mode``  получает значение  ``all`` .
@@ -89,13 +89,23 @@
 Подробные сведения о типах архивов 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 @@
 
 В этом упражнении демонстрируется способ связи компонентов, управляемых 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 @@
 }
 ----
 
-Во время добавления аннотаций `@Dependent` и `@Named` нажмите сочетание клавиш Ctrl-Пробел, чтобы включить в редакторе поддержку автозавершения кода и документации Javadoc. Если применить аннотацию с помощью функций автозавершения кода редактора (например, выбрав подходящую аннотацию и нажав ENTER), в файл автоматически добавляется оператор `импорта `. Во всплывающем окне Javadoc также можно нажать кнопку 'Показывать документацию во внешнем веб-браузере' ( image::images/external-web-browser-btn.png[] ) для отображения полноразмерного Javadoc в отдельном окне.
+Во время добавления аннотаций `@Dependent` и `@Named` нажмите сочетание клавиш Ctrl-Пробел, чтобы включить в редакторе поддержку автозавершения кода и документации Javadoc. Если применить аннотацию с помощью функций автозавершения кода редактора (например, выбрав подходящую аннотацию и нажав ENTER), в файл автоматически добавляется оператор `импорта `. Во всплывающем окне Javadoc также можно нажать кнопку 'Показывать документацию во внешнем веб-браузере' ( image:images/external-web-browser-btn.png[] ) для отображения полноразмерного Javadoc в отдельном окне.
 
-*Примечание.* Аннотация  ``@Dependent``  определяет область действия управляемого компонента bean. В *архиве неявного компонента bean* управляемый компонент bean доступен только для обнаружения и может управляться контейнером, только если указана область действия. В данном упражнении приложение будет упаковано как архив неявного компонента bean (при условии, что в качестве версии проекта выбрана Java EE 7 и не создан файл  ``beans.xml`` ). Подробные сведения об области действия управляемых компонентов bean см. в разделе link:http://docs.oracle.com/javaee/7/tutorial/doc/jsf-configure001.htm[+Настройка управляемых компонентов bean с помощью аннотаций+] учебного курса по Java EE 7.
+NOTE:  Аннотация  ``@Dependent``  определяет область действия управляемого компонента bean. В *архиве неявного компонента bean* управляемый компонент bean доступен только для обнаружения и может управляться контейнером, только если указана область действия. В данном упражнении приложение будет упаковано как архив неявного компонента bean (при условии, что в качестве версии проекта выбрана Java EE 7 и не создан файл  ``beans.xml`` ). Подробные сведения об области действия управляемых компонентов bean см. в разделе link:http://docs.oracle.com/javaee/7/tutorial/doc/jsf-configure001.htm[+Настройка управляемых компонентов bean с помощью аннотаций+] учебного курса по Java EE 7.
 
-4. Сохраните файл (сочетание клавиш Ctrl-S; ⌘-S в Mac). После добавления аннотации `@Named` класс `MessageServerBean` стал _ управляемым компонентом _, в соответствии с определением CDI.
-5. Переключитесь в редакторе на страницу Facelets `index.xhtml`(нажмите сочетание клавиш CTRL+TAB) и добавьте следующий текст в теги `<h:body>`.
+
+[start=4]
+. Сохраните файл (сочетание клавиш Ctrl-S; ⌘-S в Mac). После добавления аннотации `@Named` класс `MessageServerBean` стал _ управляемым компонентом _, в соответствии с определением CDI.
+
+[start=5]
+. Переключитесь в редакторе на страницу Facelets `index.xhtml`(нажмите сочетание клавиш CTRL+TAB) и добавьте следующий текст в теги `<h:body>`.
 
 [source,xml]
 ----
@@ -150,11 +171,20 @@
     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 @@
     }
 }
 ----
-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 @@
 |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 @@
 
 在本练习中,将创建一个启用了 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 @@
 有关 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 @@
 
 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 @@
 }
 ----
 
-键入 `@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 @@
     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 @@
     }
 }
 ----
-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 @@
 * <<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 coupled way by firing and observing events.
 
@@ -65,10 +64,11 @@
 |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 @@
 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 @@
 }
 ----
 (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 @@
 
 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 @@
 
 (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@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 @@
 
 (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 @@
 
 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.xml` definition, which can change over different deployments.
 
-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 @@
 
 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 @@
 
 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 different deployments.
 
-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 @@
 
 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 @@
 
 (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 @@
 
 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 would have to unnecessarily implement those methods in every class that implements that interface. Instead, you can use some of the lifecycle annotations from the Managed Bean specification (included in link:http://jcp.org/en/jsr/detail?id=316[+JSR 316: Java Platform, Enterprise Edition 6 Specification+]) to call methods on the bean at certain points in the bean lifecycle. A `@PostConstruct` annotated method is called when the bean has been constructed and any dependencies the bean has have been injected. Likewise, a `@PreDestroy` annotated method is called just before the bean is disposed of by the container.
 
-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 @@
     }
 }
 ----
-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 @@
 
 (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 @@
 * <<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 @@
 |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 @@
 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 @@
 }
 ----
 (エディタのヒントを使用して`exercise2.Item`のインポート文を追加します。)
-9. `ItemProcessor`クラスを拡張して新しい機能を組み込みます。エディタで`ItemProcessor`を開いて、次のように変更します。
+
+[start=9]
+. `ItemProcessor`クラスを拡張して新しい機能を組み込みます。エディタで`ItemProcessor`を開いて、次のように変更します。
 
 [source,java]
 ----
@@ -126,11 +136,15 @@
 
 エディタのヒントを使用して`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 @@
 
 (エディタのヒントを使用して`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@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 @@
 
 (エディタのヒントを使用して`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 @@
 
 前述のように、唯一の違いはデプロイメントに基づいています。ほとんどのデプロイメントにはデフォルトのバリデータを使用しますが、1つのデプロイメントには「緩和された」実装を使用するようにします。CDIでは、注入ポイントに一致するBeanが複数存在する場合でも、あいまい性のエラーを発生させずにパッケージ化できる`@Alternative`注釈を使用できます。使用するBeanは、`beans.xml`に定義します。これにより、`beans.xml`の定義のみが異なる両方の実装を同じモジュール内にデプロイできます(この定義はデプロイメントごとに変更できます)。
 
-18. `@Alternative`注釈および対応するインポート文を、`RelaxedItemValidator`および`DefaultItemValidator`に追加します。
+
+[start=18]
+. `@Alternative`注釈および対応するインポート文を、`RelaxedItemValidator`および`DefaultItemValidator`に追加します。
 
 エディタで`RelaxedItemValidator`を開いて、次のように変更します。
 
@@ -237,8 +267,15 @@
 
 ここでアプリケーションをデプロイすると「満たされない依存性」というエラーが出ますが、これは、一致する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 @@
 
 これによって、このデプロイメントでは`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 @@
 
 新しいインタフェースが生成され、エディタで開かれます。
 
-3. 引数として`Item`オブジェクトを取る`handleItem()`という名前のメソッドを追加します。
+
+[start=3]
+. 引数として`Item`オブジェクトを取る`handleItem()`という名前のメソッドを追加します。
 
 [source,java]
 ----
@@ -297,11 +338,15 @@
 
 (エディタのヒントを使用して`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 @@
 
 項目の処理を始める前にファイルを開き、処理中は開いたままにしてファイルに内容を追加し、処理が終了したらファイルを閉じるようにします。`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が持つすべての依存性が注入されると、`@PostConstruct`注釈付きメソッドがコールされます。同様に、Beanがコンテナによって破棄される直前に`@PreDestroy`注釈付きメソッドがコールされます。
 
-6. 次のように、対応する`@PostConstruct`および`@PreDestroy`注釈を持つ`init()`および`release()`メソッドを追加します。
+
+[start=6]
+. 次のように、対応する`@PostConstruct`および`@PreDestroy`注釈を持つ`init()`および`release()`メソッドを追加します。
 
 [source,java]
 ----
@@ -342,8 +389,12 @@
     }
 }
 ----
-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 @@
 
 (エディタのヒントを使用して`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 @@
 * <<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 injetados e interajam de maneira acoplada flexível, disparando e observando eventos.
 
@@ -65,10 +64,11 @@
 |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 @@
 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 @@
 }
 ----
 (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 @@
 
 (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 @@
 
 (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@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 @@
 
 (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 @@
 
 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 mesmo módulo com a definição `beans.xml` sendo a única diferença, que pode ser alterada ao longo de implantações diferentes.
 
-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 @@
 
 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 @@
 
 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ões diferentes do arquivo à várias implantações.
 
-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 @@
 
 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 @@
 
 (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 @@
 
 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étodos à interface `ItemErrorReporter`, mas então seria necessário implementar desnecessariamente tais métodos em cada classe que implemente aquela interface. Em vez disso, é possível utilizar algumas das anotações de ciclo de vida da especificação do Bean Gerenciado (incluídas na link:http://jcp.org/en/jsr/detail?id=316[+JSR 316: plataforma Java, Especificação do Enterprise Edition 6+]) para chamar os métodos no bean em alguns pontos no ciclo de vida do bean. Um método anotado `@PostConstruct` é chamado quando o bean tiver sido construído e qualquer dependência do bean tiver sido injetada. Da mesma forma, um método anotado `@PreDestroy` é chamado um pouco antes do bean ser descartado pelo contêiner.
 
-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 @@
     }
 }
 ----
-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 @@
 
 (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 @@
 * <<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 @@
 |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 @@
 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 @@
 }
 ----
 С помощью подсказки редактора добавьте оператор импорта для `exercise2.Item`.
-9. Расширьте класс `ItemProcessor` для добавления новой возможности. Откройте в редакторе `ItemProcessor` и внесите следующие изменения.
+
+[start=9]
+. Расширьте класс `ItemProcessor` для добавления новой возможности. Откройте в редакторе `ItemProcessor` и внесите следующие изменения.
 
 [source,java]
 ----
@@ -126,11 +137,15 @@
 
 С помощью подсказки редактора добавьте оператор импорта для `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 @@
 
 С помощью подсказки редактора добавьте оператор импорта для `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@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 @@
 
 С помощью подсказки редактора добавьте оператор импорта для `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 @@
 
 Как указано выше, единственное отличие связано с развертыванием. Для большинства развертываний можно использовать средство проверки по умолчанию, однако для одного развертывания может потребоваться использование "нежесткой" реализации. В CDI существует аннотация `@Alternative`, которая позволяет пакетировать несколько компонентов, соответствующих одной точке внедрения, без проблем неоднозначности, поскольку при этом используется компонент, указанный в файле `beans.xml` . Это позволяет развертывать в одном модуле обе реализации. При этом отличается только определение в файле `beans.xml` , которое уникально для каждой реализации.
 
-18. Добавьте аннотацию `@Alternative` и соответствующий оператор импорта в `RelaxedItemValidator` и `DefaultItemValidator`. 
+
+[start=18]
+. Добавьте аннотацию `@Alternative` и соответствующий оператор импорта в `RelaxedItemValidator` и `DefaultItemValidator`. 
 
 Откройте в редакторе `RelaxedItemValidator` и внесите следующие изменения.
 
@@ -237,8 +268,15 @@
 
 Выполняя развертывание приложения сейчас, вы получите ошибку "неудовлетворенная зависимость", так как два подходящих компонента были определены как альтернативные, но ни один из них не был активирован в файле `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 @@
 
 Данная команда указывает 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 @@
 
 Интерфейс будет создан и открыт в редакторе.
 
-3. Добавьте метод `handleItem()`, принимающий параметр типа `Item`.
+
+[start=3]
+. Добавьте метод `handleItem()`, принимающий параметр типа `Item`.
 
 [source,java]
 ----
@@ -297,11 +339,15 @@
 
 С помощью подсказки редактора добавьте оператор импорта для `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 @@
 
 Вам нужно открыть файл до начала обработки элементов, оставить его открытым в течение процесса добавления содержимого в данный файл, а затем закрыть его по завершении процесса. Можно вручную добавить методы `initProcess()` и `finishProcess()` к компоненту средства сообщения об ошибке, но в этом случае вы не сможете выполнить кодирование интерфейса, так как вызывающей стороне будет необходимо знать данные специфичные для класса методы. Можно добавить те же методы к интерфейсу `ItemErrorReporter`, но в этом случае потребуется выполнить ненужное внедрение данных методов в каждый класс, реализующий данный интерфейс. Вместо этого можно использовать несколько аннотаций жизненного цикла из спецификации управляемых компонентов (входящей в link:http://jcp.org/en/jsr/detail?id=316[+JSR 316: спецификация платформы Java, Enterprise Edition 6+]) для вызова методов в компоненте в конкретных точках жизненного цикла компонента. Метод с аннотацией `@PostConstruct` вызывается после создания компонента и учета всех его зависимостей. Метод с аннотацией `@PreDestroy` аналогичным образом вызывается непосредственно перед удалением компонента контейнером.
 
-6. Добавьте следующие методы `init()` и `release()` с аннотациями `@PostConstruct` и `@PreDestroy`.
+
+[start=6]
+. Добавьте следующие методы `init()` и `release()` с аннотациями `@PostConstruct` и `@PreDestroy`.
 
 [source,java]
 ----
@@ -342,8 +390,12 @@
     }
 }
 ----
-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 @@
 
 С помощью подсказки редактора добавьте оператор импорта для `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 @@
 * <<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 @@
 |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 @@
 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 @@
 }
 ----
 (使用编辑器的提示为 `exercise2.Item` 添加 import 语句。)
-9. 扩展 `ItemProcessor` 类以包含新功能。在编辑器中打开 `ItemProcessor`,并进行以下更改。
+
+[start=9]
+. 扩展 `ItemProcessor` 类以包含新功能。在编辑器中打开 `ItemProcessor`,并进行以下更改。
 
 [source,java]
 ----
@@ -126,11 +137,15 @@
 
 使用编辑器的提示为 `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 @@
 
 (使用编辑器的提示为 `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@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 @@
 
 (使用编辑器的提示为 `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 @@
 
 如前面所述,唯一的区别在于部署。对于大多数部署,需要使用默认验证器,但对于一个部署,需要使用 "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 @@
 
 如果现在部署了应用程序,则会收到 "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 @@
 
 这会通知 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 @@
 
 将会生成新接口并在编辑器中将其打开。
 
-3. 添加名为 `handleItem()` 的方法,该方法将 `Item` 对象作为参数。
+
+[start=3]
+. 添加名为 `handleItem()` 的方法,该方法将 `Item` 对象作为参数。
 
 [source,java]
 ----
@@ -297,11 +339,15 @@
 
 (使用编辑器的提示为 `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 @@
 
 您需要在开始处理项之前打开文件,并在向文件添加内容的过程中使其保持打开状态,然后在完成处理时关闭文件。您可以手动将 `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 @@
     }
 }
 ----
-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 @@
 
 (使用编辑器的提示为 `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 @@
 
 *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 @@
 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 @@
 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 @@
     }
 }
 ----
-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 library if any of the interfaces change.
 
@@ -172,7 +174,7 @@
 
 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 @@
 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 @@
 
 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 @@
 2. 「プロジェクト名」に「*EntAppEJB*」と入力します。「次」をクリックします。
 3. サーバーとして「GlassFish Server」を選択します。
 4. 「EJBモジュールを作成」が選択され、「Webアプリケーション・モジュールを作成」が選択されていないことを確認します。「終了」をクリックします。
+
 image::images/appclient-newentappejb.png[title="新規エンタープライズ・アプリケーション・ウィザードで「EJBモジュールの作成」が選択されている"]
 
 「終了」をクリックすると、IDEによってエンタープライズ・アプリケーションとEJBモジュールが作成されます。「プロジェクト」ウィンドウで、エンタープライズ・アプリケーション・プロジェクトの「Java EEモジュール」ノードの下にEJBモジュール・プロジェクトが一覧表示されていることがわかります。
@@ -112,6 +111,7 @@
 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 @@
     }
 }
 ----
-4. 変更を保存します。
+
+[start=4]
+. 変更を保存します。
 
 これで、リモート・インタフェースを介して公開される単純なEJBを含むエンタープライズ・アプリケーションができました。また、他の開発者に配布できるEJBインタフェースを含む独立したクラス・ライブラリもできました。開発者は、リモート・インタフェースによって公開されるEJBとやり取りする場合にはこのライブラリを自分のプロジェクトに追加でき、EJBのソースを持つ必要はありません。EJBのコードを変更したときは、インタフェースのいずれかを変更した場合に更新されたクラス・ライブラリのJARを配布するのみで済みます。
 
@@ -194,6 +196,7 @@
 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 @@
 
 また、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 @@
 
 *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 @@
 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 @@
 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 @@
     }
 }
 ----
-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 distribuir um JAR da biblioteca de classe atualizada, caso alguma das interfaces seja modificada.
 
@@ -172,7 +174,7 @@
 
 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 @@
 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 @@
 
 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 @@
 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 @@
 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 @@
     }
 }
 ----
-4. Сохраните изменения.
+
+[start=4]
+. Сохраните изменения.
 
 Теперь у нас есть корпоративное приложение с простым компонентом EJB, предоставляемым через удаленный интерфейс. У нас также имеется независимая библиотека классов, содержащая интерфейс EJB, которую можно разослать другим разработчикам. Разработчики могут добавлять библиотеку к своим проектам, если им нужна связь с EJB, предоставляемым через удаленный интерфейс, но не нужны исходные коды для EJB. При изменении кода для EJB достаточно распространить JAR обновленной библиотеки классов, если изменения затронули любой из интерфейсов.
 
@@ -172,7 +174,7 @@
 
 В этом упражнении мы используем мастер создания проектов, чтобы создать проект клиента приложения. Если развертывание выполняется на сервере 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 @@
 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 @@
 
 Среда 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 @@
 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 @@
 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 @@
     }
 }
 ----
-4. 保存所做的更改。
+
+[start=4]
+. 保存所做的更改。
 
 现在,您已创建了一个企业应用程序,其中包含通过远程接口公开的简单 EJB。您还创建了一个独立类库,其中包含可分发给其他开发者的 EJB 接口。如果开发者要与远程接口公开的 EJB 进行通信,并且不需要具有 EJB 源代码,则可以在项目中添加该库。在修改 EJB 的代码时,如果任何接口发生变化,您只需要分发更新的类库的 JAR。
 
@@ -172,7 +174,7 @@
 
 在本练习中,将使用新建项目向导创建应用程序客户端项目。如果要部署到 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 @@
 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 @@
 
 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 @@
 
 *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 @@
 
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 *@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 @@
     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 @@
     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 @@
     }*
 }
 ----
-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 @@
 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.java`` , which contains the business logic and manages the transaction.
 
-*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 @@
 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 @@
 
 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 @@
 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 @@
     *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 @@
 
 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 @@
 
 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 @@
 
 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 @@
         *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("</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("</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 @@
     @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 @@
 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("</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 @@
 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 @@
 
 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 @@
 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 @@
 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 @@
 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 @@
 5. 「プロジェクトの送信先」フィールドの横の「追加」ボタンをクリックして「メッセージ送信先を追加」ダイアログ・ボックスを開きます。
 6. 「メッセージ送信先を追加」ダイアログ・ボックスで「*jms/NewMessage*」と入力し、送信先タイプに「キュー」を選択します。「OK」をクリックします。
 7. プロジェクトの送信先が正しいことを確認します。「終了」をクリックします。
+
 image::images/ejb-newmessage.png[title="新規メッセージ駆動型Beanウィザード"]
 
 「終了」をクリックすると、 ``NewMessage.java`` というBeanクラスがソース・エディタに表示されます。 ``@MessageDriven`` 注釈と構成プロパティがクラスに追加されたことがわかります。
@@ -210,7 +224,9 @@
 *@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 @@
     em.persist(object);
 }
 ----
-3.  ``persist`` メソッドを変更して名前を ``save`` に変更します。メソッドは次のようになります。
+
+[start=3]
+.  ``persist`` メソッドを変更して名前を ``save`` に変更します。メソッドは次のようになります。
 
 [source,java]
 ----
@@ -236,7 +254,9 @@
     em.persist(object);
 }
 ----
-4. 次のコード(太字部分)をメソッドの本体に追加することで、 ``onMessage`` メソッドを変更します。
+
+[start=4]
+. 次のコード(太字部分)をメソッドの本体に追加することで、 ``onMessage`` メソッドを変更します。
 
 [source,java]
 ----
@@ -257,9 +277,11 @@
     }*
 }
 ----
-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 @@
 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 @@
 3. 「EJB名」に「*SessionManagerBean*」と入力します。
 4. 「パッケージ名」に「*ejb*」と入力します。
 5. 「シングルトン」を選択します。「終了」をクリックします。
+
 image::images/ejb-newsingleton.png[title="新規セッションBeanウィザードでのシングルトン・セッションの作成"]
 
 「終了」をクリックするとシングルトン・セッションBeanクラスが作成され、そのクラスがエディタに表示されます。シングルトン・セッションBeanを宣言するための注釈 ``@Singleton`` がクラスに追加されたことがわかります。このウィザードでは、クラスに ``@LocalBean`` という注釈も追加されます。
@@ -335,12 +359,17 @@
 
  ``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 @@
 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 @@
     *counter--;*
 }
 ----
-5.  ``counter`` の現在の値を返す次のメソッドを追加します。
+
+[start=5]
+.  ``counter`` の現在の値を返す次のメソッドを追加します。
 
 [source,java]
 ----
@@ -375,7 +408,9 @@
 
 このメソッドをサーブレットからコールし、現在のユーザー数または開かれているセッション数を表示します。
 
-6. 変更を保存します。
+
+[start=6]
+. 変更を保存します。
 
 セッションBeanのコードは、次のようになっているはずです。
 
@@ -422,7 +457,9 @@
 
 エンタープライズBeanを注入する ``@EJB`` 注釈が追加されます。
 
-3. もう一度「エンタープライズBeanをコール」ダイアログ・ボックスを使用して、「NewsApp-war」ノードの下にSessionManagerBeanを注入します。
+
+[start=3]
+. もう一度「エンタープライズBeanをコール」ダイアログ・ボックスを使用して、「NewsApp-war」ノードの下にSessionManagerBeanを注入します。
 
 2つのエンタープライズBeanを注入する次の注釈がコードに表示されます。
 
@@ -442,7 +479,9 @@
 
 また、クラス・サーブレットの宣言とサーブレット名の指定用に、 ``@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 @@
         *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("</body>");
                     
 ----
-6. ユーザー数または開かれているセッションの数を取得および出力する、次のコード(太字部分)を追加します。
+
+[start=6]
+. ユーザー数または開かれているセッションの数を取得および出力する、次のコード(太字部分)を追加します。
 
 [source,xml]
 ----
@@ -483,8 +526,12 @@
 out.println("</body>");
                     
 ----
-7. [Ctrl]-[Shift]-[I]を押し、このクラスに必要なインポート文を生成します。インポート文を生成するときは、* ``java.util`` ライブラリをインポート*する必要があります。
-8. 変更内容をファイルに保存します。
+
+[start=7]
+. [Ctrl]-[Shift]-[I]を押し、このクラスに必要なインポート文を生成します。インポート文を生成するときは、* ``java.util`` ライブラリをインポート*する必要があります。
+
+[start=8]
+. 変更内容をファイルに保存します。
 
 
 ===  ``PostMessage`` サーブレットの作成
@@ -510,7 +557,9 @@
     @Resource(mappedName="jms/NewMessage")
     private  Queue queue;*
 ----
-2. 今度は、次に示す太字のコードを ``processRequest`` メソッドに追加し、JMSメッセージを送信するためのコードの追加を行います。
+
+[start=2]
+. 今度は、次に示す太字のコードを ``processRequest`` メソッドに追加し、JMSメッセージを送信するためのコードの追加を行います。
 
 [source,java]
 ----
@@ -546,7 +595,9 @@
 PrintWriter out = response.getWriter();
                     
 ----
-3.  ``processRequest`` メソッドに次の行(太字部分)を追加して、メッセージを追加するためのWebフォームを追加します。(必要な場合はHTMLを出力するコードをコメント解除します。)
+
+[start=3]
+.  ``processRequest`` メソッドに次の行(太字部分)を追加して、メッセージを追加するためのWebフォームを追加します。(必要な場合はHTMLを出力するコードをコメント解除します。)
 
 [source,xml]
 ----
@@ -563,12 +614,17 @@
 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 @@
 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 @@
 
 *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 @@
 
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 *@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 @@
     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 @@
     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 @@
     }*
 }
 ----
-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 @@
 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  ``AbstractFacade.java`` , que contém a lógica de negócio e gerencia a transação.
 
-*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 @@
 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 @@
 
 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 @@
 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 @@
     *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 @@
 
 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 @@
 
 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 @@
 
 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 @@
         *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("</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("</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 @@
     @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 @@
 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("</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 @@
 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 @@
 
 При сборке приложения 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 @@
 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 @@
 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 @@
 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 @@
 5. Для открытия диалогового окна "Добавление адресата сообщения" нажмите кнопку "Добавить" рядом с полем "Адресат проекта".
 6. В диалоговом окне "Добавление адресата сообщения" введите *jms/NewMessage* и выберите "Очередь" для типа адресата. Нажмите кнопку "ОК".
 7. Подтвердите, что адресат проекта выбран правильно. Нажмите кнопку "Завершить".
+
 image::images/ejb-newmessage.png[title="Мастер создания компонентов, управляемых сообщениями"]
 
 При нажатии кнопки "Завершить" в редакторе исходного кода откроется класс компонента  ``NewMessage.java`` . При этом в среде IDE добавляется аннотация  ``@MessageDriven``  и свойства настройки для класса.
@@ -210,7 +224,9 @@
 *@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 @@
     em.persist(object);
 }
 ----
-3. Для изменения имени на  ``save``  измените метод  ``persist`` . В результате метод должен выглядеть следующим образом:
+
+[start=3]
+. Для изменения имени на  ``save``  измените метод  ``persist`` . В результате метод должен выглядеть следующим образом:
 
 [source,java]
 ----
@@ -236,7 +254,9 @@
     em.persist(object);
 }
 ----
-4. Измените метод  ``onMessage``  путем добавления следующих строк кода (выделено полужирным шрифтом) в тело метода.
+
+[start=4]
+. Измените метод  ``onMessage``  путем добавления следующих строк кода (выделено полужирным шрифтом) в тело метода.
 
 [source,java]
 ----
@@ -257,9 +277,11 @@
     }*
 }
 ----
-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 @@
 2. Из категории "Сохранение состояния" выберите "Сеансные компоненты для классов сущностей". Нажмите кнопку "Далее".
 3. Из списка доступных классов сущностей выберите  ``ejb.NewsEntity``  и нажмите кнопку "Добавить", чтобы переместить класс на панель "Выбранные классы сущностей". Нажмите кнопку "Далее".
 4. Убедитесь в том, что для параметра "Пакет" установлено значение  ``ejb`` . Нажмите кнопку "Завершить".
+
 image::images/ejb-sessionforentity.png[title="Мастер создания компонентов, управляемых сообщениями"]
 
 При нажатии кнопки "Готово" среда IDE создает класс фасада сеанса  ``NewsEntityFacade.java``  и  ``AbstractFacade.java``  и открывает файлы в редакторе. Как видите из созданного кода, аннотация  ``@Stateless``  используется для объявления  ``NewsEntityFacade.java``  в качестве простого сеансного компонента без сохранения состояния. Также в среде IDE добавляется аннотация  ``PersistenceContext``  для внедрения ресурса непосредственно в элемент сеансного компонента. Класс  ``NewsEntityFacade.java``  расширяет класс  ``AbstractFacade.java`` , который содержит бизнес-логику и управляет транзакцией.
 
-*Примечание.* Удаленный интерфейс все еще является обязательным, если доступ к компонентам будет осуществляться с использованием удаленных клиентов.
+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 @@
 3. В поле "Имя EJB" введите *SessionManagerBean*.
 4. В качестве имени параметра "Пакет" введите *ejb*.
 5. Выберите "Единичный". Нажмите кнопку "Завершить".
+
 image::images/ejb-newsingleton.png[title="Создание отдельного компонента в мастере создания компонентов сеансов"]
 
 При нажатии кнопки "Завершить" в среде IDE будет создан класс единичного сеансного компонента, который откроется в редакторе. При этом в среде IDE добавляется аннотация  ``@Singleton``  к классу для объявления единичного сеансного компонента. В мастере также создается аннотация  ``@LocalBean``  для класса.
@@ -335,12 +359,17 @@
 
 При реализации  ``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 @@
 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 @@
     *counter--;*
 }
 ----
-5. Добавьте следующий метод, возвращающий текущее значение поля  ``counter`` .
+
+[start=5]
+. Добавьте следующий метод, возвращающий текущее значение поля  ``counter`` .
 
 [source,java]
 ----
@@ -375,7 +408,9 @@
 
 Этот метод вызывается из сервлета для отображения текущего количества пользователей/открытых сеансов.
 
-6. Сохраните изменения.
+
+[start=6]
+. Сохраните изменения.
 
 Теперь код сеансного компонента должен выглядеть следующим образом.
 
@@ -422,7 +457,9 @@
 
 В среде IDE добавляется аннотация  ``@EJB``  для ввода компонента EJB.
 
-3. Используйте диалоговое окно "Вызов компонента EJB" еще раз для ввода компонента SessionManagerBean в узел NewsApp-war.
+
+[start=3]
+. Используйте диалоговое окно "Вызов компонента EJB" еще раз для ввода компонента SessionManagerBean в узел NewsApp-war.
 
 В коде можно увидеть следующие аннотации для ввода двух компонентов EJB.
 
@@ -442,7 +479,9 @@
 
 Кроме того, можно увидеть, что аннотация  ``@WebServlet``  используется для объявления класса сервлета и для указания имени сервлета. Аннотация  ``@WebServlet``  является частью интерфейса API сервлета 3.0, представленного в спецификации Java EE 6. Сервлеты можно определить с помощью аннотации вместо дескриптора развертывания в  ``web.xml`` . Приложение NewsApp не содержит  ``web.xml`` .
 
-4. В методе  ``processRequest``  добавьте следующий код (выделено полужирным шрифтом) для возврата к текущему сеансу или создания нового.
+
+[start=4]
+. В методе  ``processRequest``  добавьте следующий код (выделено полужирным шрифтом) для возврата к текущему сеансу или создания нового.
 
 [source,java]
 ----
@@ -452,7 +491,9 @@
         *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("</body>");
                     
 ----
-6. Добавьте следующий код (выделено полужирным шрифтом) для получения и отображения количества пользователей/открытых сеансов.
+
+[start=6]
+. Добавьте следующий код (выделено полужирным шрифтом) для получения и отображения количества пользователей/открытых сеансов.
 
 [source,xml]
 ----
@@ -483,8 +526,12 @@
 out.println("</body>");
                     
 ----
-7. Нажмите сочетание клавиш Ctrl+Shift+I для создания обязательных операторов импорта для класса. При создании операторов импорта может потребоваться *импортировать библиотеки  ``java.util`` *.
-8. Сохраните измененный файл.
+
+[start=7]
+. Нажмите сочетание клавиш Ctrl+Shift+I для создания обязательных операторов импорта для класса. При создании операторов импорта может потребоваться *импортировать библиотеки  ``java.util`` *.
+
+[start=8]
+. Сохраните измененный файл.
 
 
 === Создание сервлета  ``PostMessage`` 
@@ -510,7 +557,9 @@
     @Resource(mappedName="jms/NewMessage")
     private  Queue queue;*
 ----
-2. Теперь создадим код для передачи сообщения JMS путем добавления в метод  ``processRequest``  следующих строк кода, выделенных полужирным шрифтом:
+
+[start=2]
+. Теперь создадим код для передачи сообщения JMS путем добавления в метод  ``processRequest``  следующих строк кода, выделенных полужирным шрифтом:
 
 [source,java]
 ----
@@ -546,7 +595,9 @@
 PrintWriter out = response.getWriter();
                     
 ----
-3. Добавьте следующие строки (выделены жирным шрифтом) к методу  ``processRequest`` , чтобы добавить веб-форму добавления сообщения. (При необходимости, уберите знак комментария для вывода кода HTML)
+
+[start=3]
+. Добавьте следующие строки (выделены жирным шрифтом) к методу  ``processRequest`` , чтобы добавить веб-форму добавления сообщения. (При необходимости, уберите знак комментария для вывода кода HTML)
 
 [source,xml]
 ----
@@ -563,12 +614,17 @@
 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 @@
 
 * Загрузите 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 @@
 
 在 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 *@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 @@
     em.persist(object);
 }
 ----
-3. 修改  ``persist``  方法,将名称更改为  ``save`` 。该方法应如下所示:
+
+[start=3]
+. 修改  ``persist``  方法,将名称更改为  ``save`` 。该方法应如下所示:
 
 [source,java]
 ----
@@ -236,7 +256,9 @@
     em.persist(object);
 }
 ----
-4. 在  ``onMessage``  方法主体中添加以下代码(以粗体显示)以修改该方法。
+
+[start=4]
+. 在  ``onMessage``  方法主体中添加以下代码(以粗体显示)以修改该方法。
 
 [source,java]
 ----
@@ -257,9 +279,11 @@
     }*
 }
 ----
-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 @@
 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 @@
 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 @@
 
 在实现  ``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 @@
 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 @@
     *counter--;*
 }
 ----
-5. 添加以下方法以返回当前的  ``counter``  值。
+
+[start=5]
+. 添加以下方法以返回当前的  ``counter``  值。
 
 [source,java]
 ----
@@ -375,7 +410,9 @@
 
 将从 Servlet 中调用此方法以显示当前的用户/打开会话数。
 
-6. 保存所做的更改。
+
+[start=6]
+. 保存所做的更改。
 
 现在,会话 Bean 代码应如下所示。
 
@@ -422,7 +459,9 @@
 
 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 @@
 
 您还会看到使用了  ``@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 @@
         *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("</body>");
                     
 ----
-6. 添加以下代码(以粗体显示)以检索并输出用户/打开会话数。
+
+[start=6]
+. 添加以下代码(以粗体显示)以检索并输出用户/打开会话数。
 
 [source,xml]
 ----
@@ -483,8 +528,12 @@
 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 @@
     @Resource(mappedName="jms/NewMessage")
     private  Queue queue;*
 ----
-2. 现在,通过将下面以粗体显示的代码添加到  ``processRequest``  方法中,添加用于发送 JMS 消息的代码:
+
+[start=2]
+. 现在,通过将下面以粗体显示的代码添加到  ``processRequest``  方法中,添加用于发送 JMS 消息的代码:
 
 [source,java]
 ----
@@ -546,7 +597,9 @@
 PrintWriter out = response.getWriter();
                     
 ----
-3. 将以下行(以粗体显示)添加到  ``processRequest``  方法中,以添加用于添加消息的 Web 窗体。(根据需要取消注释用于输出 HTML 的代码。)
+
+[start=3]
+. 将以下行(以粗体显示)添加到  ``processRequest``  方法中,以添加用于添加消息的 Web 窗体。(根据需要取消注释用于输出 HTML 的代码。)
 
 [source,xml]
 ----
@@ -563,12 +616,17 @@
 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 @@
 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 @@
 
 *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 @@
 |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 @@
 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 @@
 
 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 @@
 }
 ----
 
-*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 @@
 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 @@
 
 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 @@
     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 @@
     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 @@
 
 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 @@
     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 @@
     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 @@
 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 @@
     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 @@
 *@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 @@
 @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 @@
     }
 }
 ----
-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 @@
     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 @@
 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 @@
 |GlassFish Server Open Source Edition |3.1.xまたは4.x 
 |===
 
-*注意:*
-
-* このチュートリアルにはJUnitプラグインが必要です。IDEのインストール時にJUnitプラグインをインストールしなかった場合は、プラグイン・マネージャを開き、「使用可能なプラグイン」タブを選択してJUnitプラグインをインストールしてください。
+NOTE: このチュートリアルにはJUnitプラグインが必要です。IDEのインストール時にJUnitプラグインをインストールしなかった場合は、プラグイン・マネージャを開き、「使用可能なプラグイン」タブを選択してJUnitプラグインをインストールしてください。
 
 *前提条件*
 
@@ -91,7 +87,9 @@
 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 @@
 
 「終了」をクリックすると、新しいクラスがエディタに表示されます。
 
-6. エディタで、クラスに以下のメソッド ``addNumbers`` を追加します。
+
+[start=6]
+. エディタで、クラスに以下のメソッド ``addNumbers`` を追加します。
 
 [source,java]
 ----
@@ -120,9 +120,11 @@
 }
 ----
 
-*注意:* ``@LocalBean`` 注釈を追加したり、このチュートリアルでインタフェースを実装する必要はありません。ビューが明示的に指定されていない場合、デフォルトでは、インタフェースなしのビューが公開されます。
+NOTE:  ``@LocalBean`` 注釈を追加したり、このチュートリアルでインタフェースを実装する必要はありません。ビューが明示的に指定されていない場合、デフォルトでは、インタフェースなしのビューが公開されます。
 
-7. 変更を保存します。
+
+[start=7]
+. 変更を保存します。
 
 
 === セッションBeanのテスト
@@ -132,9 +134,10 @@
 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/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 @@
     container.close();
 }
 ----
-5. 「プロジェクト」ウィンドウでプロジェクトを右クリックし、「テスト」を選択します。
+
+[start=5]
+. 「プロジェクト」ウィンドウでプロジェクトを右クリックし、「テスト」を選択します。
 
 テストを実行すると、IDEで「テスト結果」ウィンドウが開き、テストの進捗状況と結果が表示されます。
 
@@ -230,8 +237,12 @@
     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 @@
 
 private static EJBContainer container;
 ----
-2. コンテナを作成するコードを ``testAddNumbers`` テスト・メソッドから ``setUpClass`` メソッドにコピーします。
+
+[start=2]
+. コンテナを作成するコードを ``testAddNumbers`` テスト・メソッドから ``setUpClass`` メソッドにコピーします。
 
 [source,java]
 ----
@@ -266,7 +279,9 @@
     System.out.println("Opening the container");*
 }
 ----
-3. コンテナを閉じるコードを ``testAddNumbers`` テスト・メソッドから ``tearDownClass`` メソッドにコピーします。
+
+[start=3]
+. コンテナを閉じるコードを ``testAddNumbers`` テスト・メソッドから ``tearDownClass`` メソッドにコピーします。
 
 [source,java]
 ----
@@ -277,7 +292,9 @@
     System.out.println("Closing the container");*
 }
 ----
-4.  ``testAddNumbers`` から余分なコードを除去します。変更を保存します。
+
+[start=4]
+.  ``testAddNumbers`` から余分なコードを除去します。変更を保存します。
 
 テスト・クラスは次のようになるはずです。
 
@@ -359,20 +376,29 @@
 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 @@
     name = "Entity number " + id + " created at " + new Date();
 }
 ----
-12.  ``@NamedQueries`` および ``NamedQuery`` 注釈を使用して名前付きSQL問合せを作成します。
+
+[start=12]
+.  ``@NamedQueries`` および ``NamedQuery`` 注釈を使用して名前付きSQL問合せを作成します。
 
 [source,java]
 ----
@@ -391,11 +419,15 @@
 *@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 @@
 @PersistenceContext(unitName="WebAppJUnitPU")
 private EntityManager em;
 ----
-3. 以下の ``verify`` および ``insert`` メソッドを追加します。
+
+[start=3]
+. 以下の ``verify`` および ``insert`` メソッドを追加します。
 
 [source,java]
 ----
@@ -493,7 +527,9 @@
     }
 }
 ----
-4.  ``javax.persistence.Query`` をインポートするようにインポートを修正し、変更内容を保存します。
+
+[start=4]
+.  ``javax.persistence.Query`` をインポートするようにインポートを修正し、変更内容を保存します。
 
 
 === エンティティ・クラスのテスト
@@ -524,7 +560,9 @@
     System.out.println("..........SUCCESSFULLY finished embedded test");
 }
 ----
-4. 「プロジェクト」ウィンドウでプロジェクト・ノードを右クリックし、ポップアップ・メニューから「テスト」を選択します。
+
+[start=4]
+. 「プロジェクト」ウィンドウでプロジェクト・ノードを右クリックし、ポップアップ・メニューから「テスト」を選択します。
 
 「テスト結果」ウィンドウが開き、以下のような出力が表示されます。
 
@@ -545,18 +583,26 @@
 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 @@
 
 *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 @@
 |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 @@
 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 @@
 
 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 @@
 }
 ----
 
-*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 @@
 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 @@
 
 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 @@
     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 @@
     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 @@
 
 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 @@
     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 @@
     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 @@
 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 @@
     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 @@
 *@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 @@
 @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 @@
     }
 }
 ----
-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 @@
     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 @@
 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 @@
 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 @@
 
 При нажатии кнопки "Готово" в редакторе откроется новый класс.
 
-6. В редакторе добавьте к классу следующий метод  ``addNumbers`` .
+
+[start=6]
+. В редакторе добавьте к классу следующий метод  ``addNumbers`` .
 
 [source,java]
 ----
@@ -120,9 +122,11 @@
 }
 ----
 
-*Примечание.* Для выполнения заданий этого практического руководства не обязательно создавать аннотацию  ``@LocalBean``  или реализацию интерфейса. Если представление не указано явным образом, по умолчанию компонент предоставляет безынтерфейсное представление.
+NOTE:  Для выполнения заданий этого практического руководства не обязательно создавать аннотацию  ``@LocalBean``  или реализацию интерфейса. Если представление не указано явным образом, по умолчанию компонент предоставляет безынтерфейсное представление.
 
-7. Сохраните изменения.
+
+[start=7]
+. Сохраните изменения.
 
 
 === Тестирование сеансного компонента
@@ -132,9 +136,10 @@
 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/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 @@
     container.close();
 }
 ----
-5. Щелкните правой кнопкой мыши окно "Проекты" и выберите команду "Тест".
+
+[start=5]
+. Щелкните правой кнопкой мыши окно "Проекты" и выберите команду "Тест".
 
 При выполнении теста в среде IDE откроется окно "Результаты тестирования", в котором отобразятся ход выполнения и результаты теста.
 
@@ -230,8 +239,12 @@
     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 @@
 
 private static EJBContainer container;
 ----
-2. Скопируйте код создания контейнера из тестового метода  ``testAddNumbers``  в метод  ``setUpClass`` .
+
+[start=2]
+. Скопируйте код создания контейнера из тестового метода  ``testAddNumbers``  в метод  ``setUpClass`` .
 
 [source,java]
 ----
@@ -266,7 +281,9 @@
     System.out.println("Opening the container");*
 }
 ----
-3. Скопируйте код закрытия контейнера из тестового метода  ``testAddNumbers``  в метод  ``tearDownClass`` .
+
+[start=3]
+. Скопируйте код закрытия контейнера из тестового метода  ``testAddNumbers``  в метод  ``tearDownClass`` .
 
 [source,java]
 ----
@@ -277,7 +294,9 @@
     System.out.println("Closing the container");*
 }
 ----
-4. Удалите избыточный код из метода  ``testAddNumbers`` . Сохраните изменения.
+
+[start=4]
+. Удалите избыточный код из метода  ``testAddNumbers`` . Сохраните изменения.
 
 Теперь тестовый класс должен выглядеть следующим образом.
 
@@ -359,20 +378,29 @@
 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 @@
     name = "Entity number " + id + " created at " + new Date();
 }
 ----
-12. Аннотации  ``@NamedQueries``  и  ``@NamedQuery``  используются для создания именованного запроса SQL.
+
+[start=12]
+. Аннотации  ``@NamedQueries``  и  ``@NamedQuery``  используются для создания именованного запроса SQL.
 
 [source,java]
 ----
@@ -391,11 +421,15 @@
 *@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 @@
 @PersistenceContext(unitName="WebAppJUnitPU")
 private EntityManager em;
 ----
-3. Добавьте следующие методы  ``verify``  и  ``insert`` .
+
+[start=3]
+. Добавьте следующие методы  ``verify``  и  ``insert`` .
 
 [source,java]
 ----
@@ -493,7 +529,9 @@
     }
 }
 ----
-4. Исправьте операторы импорта, чтобы импортировать  ``javax.persistence.Query`` , и сохраните изменения.
+
+[start=4]
+. Исправьте операторы импорта, чтобы импортировать  ``javax.persistence.Query`` , и сохраните изменения.
 
 
 === Тестирование класса сущности
@@ -524,7 +562,9 @@
     System.out.println("..........SUCCESSFULLY finished embedded test");
 }
 ----
-4. Правой кнопкой мыши щелкните узел свойств в окне "Проекты" и выберите "Тест" во всплывающем меню.
+
+[start=4]
+. Правой кнопкой мыши щелкните узел свойств в окне "Проекты" и выберите "Тест" во всплывающем меню.
 
 Откройте окно "Результаты тестирования", в котором будет отображен вывод, сходный со следующим.
 
@@ -545,14 +585,23 @@
 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 @@
 |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 @@
 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 @@
 
 单击 "Finish"(完成),此时将在编辑器中打开新类。
 
-6. 在编辑器中,将以下  ``addNumbers``  方法添加到类中。
+
+[start=6]
+. 在编辑器中,将以下  ``addNumbers``  方法添加到类中。
 
 [source,java]
 ----
@@ -120,9 +120,11 @@
 }
 ----
 
-*注:*在本教程中,无需添加  ``@LocalBean``  标注或实现接口。默认情况下,当未显式指定视图时,Bean 将公开无界面视图。
+NOTE: 在本教程中,无需添加  ``@LocalBean``  标注或实现接口。默认情况下,当未显式指定视图时,Bean 将公开无界面视图。
 
-7. 保存所做的更改。
+
+[start=7]
+. 保存所做的更改。
 
 
 === 测试会话 Bean
@@ -132,9 +134,10 @@
 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/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 @@
     container.close();
 }
 ----
-5. 在 "Projects"(项目)窗口中右键单击项目,然后选择 "Test"(测试)。
+
+[start=5]
+. 在 "Projects"(项目)窗口中右键单击项目,然后选择 "Test"(测试)。
 
 运行测试时,将在 IDE 中打开 "Test Results"(测试结果)窗口并显示测试进度和结果。
 
@@ -230,8 +237,12 @@
     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 @@
 
 private static EJBContainer container;
 ----
-2. 将用于创建容器的代码从  ``testAddNumbers``  测试方法复制到  ``setUpClass``  方法和
+
+[start=2]
+. 将用于创建容器的代码从  ``testAddNumbers``  测试方法复制到  ``setUpClass``  方法和
 
 [source,java]
 ----
@@ -266,7 +279,9 @@
     System.out.println("Opening the container");*
 }
 ----
-3. 将用于关闭容器的代码从  ``testAddNumbers``  测试方法复制到  ``tearDownClass``  方法中。
+
+[start=3]
+. 将用于关闭容器的代码从  ``testAddNumbers``  测试方法复制到  ``tearDownClass``  方法中。
 
 [source,java]
 ----
@@ -277,7 +292,9 @@
     System.out.println("Closing the container");*
 }
 ----
-4. 从  ``testAddNumbers``  方法中删除多余的代码。保存所做的更改。
+
+[start=4]
+. 从  ``testAddNumbers``  方法中删除多余的代码。保存所做的更改。
 
 现在,测试类应如下所示。
 
@@ -359,20 +376,29 @@
 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 @@
     name = "Entity number " + id + " created at " + new Date();
 }
 ----
-12. 使用  ``@NamedQueries``  和  ``@NamedQuery``  标注来创建指定的 SQL 查询。
+
+[start=12]
+. 使用  ``@NamedQueries``  和  ``@NamedQuery``  标注来创建指定的 SQL 查询。
 
 [source,java]
 ----
@@ -391,11 +419,15 @@
 *@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 @@
 @PersistenceContext(unitName="WebAppJUnitPU")
 private EntityManager em;
 ----
-3. 添加以下  ``verify``  和  ``insert``  方法。
+
+[start=3]
+. 添加以下  ``verify``  和  ``insert``  方法。
 
 [source,java]
 ----
@@ -493,7 +527,9 @@
     }
 }
 ----
-4. 修复导入以导入  ``javax.persistence.Query``  并保存所做的更改。
+
+[start=4]
+. 修复导入以导入  ``javax.persistence.Query``  并保存所做的更改。
 
 
 === 测试实体类
@@ -524,7 +560,9 @@
     System.out.println("..........SUCCESSFULLY finished embedded test");
 }
 ----
-4. 在 "Projects"(项目)窗口中右键单击项目节点,然后从弹出式菜单中选择 "Test"(测试)。
+
+[start=4]
+. 在 "Projects"(项目)窗口中右键单击项目节点,然后从弹出式菜单中选择 "Test"(测试)。
 
 此时将打开 "Test Results"(测试结果)窗口并显示类似下面的输出。
 
@@ -545,18 +583,26 @@
 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 @@
 
 *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 @@
 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 @@
 
 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 @@
 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 @@
 
 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  ``messageView``  in the JSF page.
+[start=4]
+. Type *my.presentation* for the Package.
 
-6. Set Scope to Request. Click Finish.
+[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  ``messageView``  in the JSF page.
+
+
+[start=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 @@
 
 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 @@
 }
 
 ----
-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 @@
        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 @@
     }
 
 ----
-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 @@
 
 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 @@
 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 @@
 
 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 @@
 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 @@
 
 *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 @@
 |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 @@
 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 @@
 
 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 @@
 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 @@
 
 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 @@
 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 @@
 }
 
 ----
-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 @@
     }
 
 ----
-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 @@
 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 @@
 
 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 @@
 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 @@
 
 他のデフォルト・オプション(持続性ユニット名、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 @@
 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 @@
 
 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*」と入力します。
 
-6. 「スコープ」を「リクエスト」に設定します。「終了」をクリックします。
+[start=5]
+. 管理対象Beanに使用する名前に「*MessageView*」と入力します。
+
+NOTE: ウィザードを使用して管理対象Beanを作成すると、デフォルトでは、Beanクラスの名前に基づいて先頭を小文字にした名前がBeanに割り当てられます。このチュートリアルおよびデモでは、大文字で始まる名前をBeanに明示的に割り当てます。JSFページでこのBeanを参照するときは、 ``messageView`` ではなく ``MessageView`` を使用します。名前を明示的に割り当てなかった場合は、JSFページでデフォルトの ``messageView`` を使用します。
+
+
+[start=6]
+. 「スコープ」を「リクエスト」に設定します。「終了」をクリックします。
+
 image::images/newjsfbean.png[title="新規JSF管理対象Beanウィザード"]
 
 「終了」をクリックすると、IDEはBeanクラスを作成し、そのクラスがエディタに表示されます。「プロジェクト」ウィンドウに次のファイルが表示されます。
@@ -243,6 +265,7 @@
 
 1. エディタ内を右クリックして「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])を選択し、ポップアップ・メニューから「エンタープライズBeanをコール」を選択します。
 2. 「エンタープライズBeanをコール」ダイアログ・ボックスで「MessageFacade」を選択します。「OK」をクリックします。
+
 image::images/callbean.png[title="「エンタープライズBeanをコール」ダイアログ"]
 
 「OK」をクリックすると、次のコード(太字で表示)が追加され、Beanが注入されます。
@@ -263,7 +286,9 @@
 }
 
 ----
-3. 次のコードを追加して新しいインスタンスを作成します。
+
+[start=3]
+. 次のコードを追加して新しいインスタンスを作成します。
 
 [source,java]
 ----
@@ -273,7 +298,9 @@
        this.message = new Message();
     }
 ----
-4. クラスに次のコードを追加します。
+
+[start=4]
+. クラスに次のコードを追加します。
 
 [source,java]
 ----
@@ -299,7 +326,9 @@
     }
 
 ----
-5. エディタ内を右クリックして「インポートを修正」([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])を選択し、変更内容を保存します。
+
+[start=5]
+. エディタ内を右クリックして「インポートを修正」([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])を選択し、変更内容を保存します。
 
 エディタでコード補完を使用すると、コードの入力に役立ちます。
 
@@ -330,9 +359,11 @@
 
 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 @@
 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 @@
 
 「実行」を選択すると、アプリケーションがビルドおよびデプロイされ、 ``index.xhtml`` がブラウザに表示されます。
 
-2. テキスト・フィールドにメッセージを入力します。「Post Message」をクリックします。
+
+[start=2]
+. テキスト・フィールドにメッセージを入力します。「Post Message」をクリックします。
+
 image::images/browser1.png[title="ブラウザのアプリケーション"]
 
 「Post Message」をクリックすると、メッセージがデータベースに保存され、メッセージ数が取得され、表示されます。
@@ -387,18 +425,26 @@
 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 @@
 
 *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 @@
 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 @@
 
 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 @@
 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 @@
 
 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``  default na página JSF.
+[start=4]
+. Digite *my.presentation* para o Pacote.
 
-6. Defina Escopo como Requisição. Clique em Finalizar.
+[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 na página JSF.
+
+
+[start=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 @@
 
 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 @@
 }
 
 ----
-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 @@
        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 @@
     }
 
 ----
-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 @@
 
 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 @@
 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 @@
 
 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 @@
 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 @@
 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 @@
 
 Можно сохранить другие параметры по умолчанию (имя блока сохранения состояния, поставщик сохранения состояния 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 @@
 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 @@
 
 Имя управляемого компонента  ``MessageView``  используется в качестве значения для  ``inputText``  и  ``commandButton``  на странице JSF  ``index.xhtml``  при вызове методов в компоненте.
 
-4. В поле "Пакет" введите *my.presentation*.
-5. В поле "Имя", используемое для управляемого компонента, введите *MessageView*.
+
+[start=4]
+. В поле "Пакет" введите *my.presentation*.
+
+[start=5]
+. В поле "Имя", используемое для управляемого компонента, введите *MessageView*.
 
 *Примечание.* При создании управляемого компонента с помощью мастера, IDE по умолчанию назначает имя компоненту на основе имени класса компонента, при этом имя будет начинаться с маленькой буквы. В данном руководстве и для демонстрационных целей вы назначаете базовому элементу имя, начинающееся с заглавной буквы. При ссылке на компонент на страницах JSF вы будете использовать ``MessageView`` вместо  ``messageView`` . Если вы не назначали имени, то на странице JSF будет использоваться по умолчанию ``messageView`` .
 
-6. Установите контекст для запроса. Нажмите кнопку "Завершить".
+
+[start=6]
+. Установите контекст для запроса. Нажмите кнопку "Завершить".
+
 image::images/newjsfbean.png[title="Мастер создания новых управляемых компонентов JSF"]
 
 При нажатии кнопки "Готово" в среде IDE создается класс компонента, который затем открывается в редакторе. В окне 'Проекты' отобразятся следующие файлы.
@@ -243,6 +265,7 @@
 
 1. Щелкните правой кнопкой мыши в редакторе и выберите команду "Вставить код" (Alt-Insert; Ctrl-I для Mac), затем во всплывающем окне выберите "Вызов компонента EJB".
 2. В диалоговом окне "Вызов компонента EJB" выберите MessageFacade. Нажмите кнопку "ОК".
+
 image::images/callbean.png[title="Диалоговое окно 'Вызвать компонент корпоративного уровня'"]
 
 При нажатии кнопки "ОК" в среде IDE добавляется следующий код (выделено полужирным шрифтом) для ввода компонента.
@@ -263,7 +286,9 @@
 }
 
 ----
-3. Для создания нового экземпляра добавьте следующий код.
+
+[start=3]
+. Для создания нового экземпляра добавьте следующий код.
 
 [source,java]
 ----
@@ -273,7 +298,9 @@
        this.message = new Message();
     }
 ----
-4. Добавьте следующий код к классу.
+
+[start=4]
+. Добавьте следующий код к классу.
 
 [source,java]
 ----
@@ -299,7 +326,9 @@
     }
 
 ----
-5. Щелкните правой кнопкой мыши в области редактора и выберите команду 'Исправить операторы импорта' (Alt-Shift-I; ⌘-Shift-I в Mac) и сохраните изменения.
+
+[start=5]
+. Щелкните правой кнопкой мыши в области редактора и выберите команду 'Исправить операторы импорта' (Alt-Shift-I; ⌘-Shift-I в Mac) и сохраните изменения.
 
 Можно использовать автозавершение кода в редакторе, упрощающее ввод кода.
 
@@ -310,8 +339,12 @@
 
 В этом упражнении будет выполнено несколько простых изменений страницы  ``index.xhtml``  для добавления компонентов пользовательского интерфейса. Выполняется добавление формы с текстовым полем для ввода и кнопкой.
 
-1. Откройте в редакторе  ``index.xhtml`` .
-2. Измените файл для добавления следующей простой формы между тегами  ``<h:body>`` .
+
+[start=1]
+. Откройте в редакторе  ``index.xhtml`` .
+
+[start=2]
+. Измените файл для добавления следующей простой формы между тегами  ``<h:body>`` .
 
 [source,xml]
 ----
@@ -332,7 +365,9 @@
 
 *Примечание.* При копировании и вставке кода в файл отображается предупреждение на левом поле рядом со строков, содержащей  ``<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 @@
 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 @@
 
 При выборе команды "Выполнить" в среде IDE происходит сборка и развертывание приложения, и в браузере открывается  ``index.xhtml`` .
 
-2. Введите сообщение в текстовое поле. Нажмите кнопку "Отправить сообщение". 
+
+[start=2]
+. Введите сообщение в текстовое поле. Нажмите кнопку "Отправить сообщение". 
+
 image::images/browser1.png[title="Приложение в браузере"]
 
 При нажатии кнопки "Отправить сообщение" сообщение сохраняется в базе данных, и извлекается и отображается число сообщений
@@ -387,14 +429,24 @@
 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 @@
 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 @@
 
 您可以保留其他默认选项(持久性单元名称、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 @@
 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 @@
 
 要创建会话 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 @@
 
 在调用受管 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* 作为包名。
 
-6. 将 "Scope"(范围)设置为 "request"(请求)。单击 "Finish"(完成)。
+[start=5]
+. 键入 *MessageView* 作为将用于受管 Bean 的名称。
+
+NOTE: 在使用此向导创建受管 Bean 时,默认情况下 IDE 将会根据该 Bean 类的名称为该 Bean 指定名称,名称以小写字母开头。出于本教程和演示之目的,您要为 Bean 明确指定以小写字母开头的名称。在 JSF 页中引用 Bean 时,您要使用  ``MessageView``  而不是  ``messageView`` 。如果尚未明确指定名称,则应在 JSF 页中使用默认的  ``messageView`` 。
+
+
+[start=6]
+. 将 "Scope"(范围)设置为 "request"(请求)。单击 "Finish"(完成)。
+
 image::images/newjsfbean.png[title="新建 JSF 受管 Bean 向导"]
 
 单击 "Finish"(完成),此时 IDE 创建 Bean 类并在编辑器中打开该类。在 "Projects"(项目)窗口中,将会看到以下文件。
@@ -243,6 +273,7 @@
 
 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 @@
 }
 
 ----
-3. 添加以下代码以创建新实例。
+
+[start=3]
+. 添加以下代码以创建新实例。
 
 [source,java]
 ----
@@ -273,7 +306,9 @@
        this.message = new Message();
     }
 ----
-4. 在该类中添加以下代码。
+
+[start=4]
+. 在该类中添加以下代码。
 
 [source,java]
 ----
@@ -299,7 +334,9 @@
     }
 
 ----
-5. 在编辑器中右键单击并选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 中为 ⌘-Shift-I 组合键),然后保存您的更改。
+
+[start=5]
+. 在编辑器中右键单击并选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 中为 ⌘-Shift-I 组合键),然后保存您的更改。
 
 您可以在编辑器中使用代码完成以帮助键入代码。
 
@@ -330,9 +367,11 @@
 
 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 @@
 
 在本练习中,将创建 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 @@
 
 在选择 "Run"(运行)时,IDE 构建和部署应用程序,并在浏览器中打开  ``index.xhtml`` 。
 
-2. 在文本字段中键入消息。单击 "Post Message"。 
+
+[start=2]
+. 在文本字段中键入消息。单击 "Post Message"。 
+
 image::images/browser1.png[title="浏览器中的应用程序"]
 
 在单击 "Post Message" 时,该消息将保存到数据库中,然后检索并显示消息数。
@@ -387,18 +441,26 @@
 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 @@
 |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 @@
 
 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 @@
 
 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 @@
 
 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 @@
     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 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 @@
 
 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 @@
     
 }
 ----
-5. Add the following methods to  ``MyEntityFacade.java`` .
+
+[start=5]
+. Add the following methods to  ``MyEntityFacade.java`` .
 
 [source,java]
 ----
@@ -245,10 +276,13 @@
         }
     }
 ----
-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 @@
 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 @@
         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 @@
     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 @@
     </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 @@
                 
 ----
 
-*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.
 
-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.
+
+[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.
+
 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 @@
         </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 @@
 
 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 @@
 |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 @@
 
 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 @@
 
 「索引を更新」をクリックすると、各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 @@
 
 この課題では、新規ファイル・ウィザードを使用してエンティティ・クラスを作成します。エンティティ・クラスを作成するときは、ウィザードで ``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 @@
     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 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 @@
 
 または、メイン・メニューから「ファイル」>「新規ファイル」([Ctrl]-[N]、Macの場合は[⌘]-[N])を選択して新規ファイル・ウィザードを開きます。
 
-2. 「Enterprise JavaBeans」カテゴリで「エンティティ・クラスのセッションBean」を選択します。「次」をクリックします。
-3. 「利用可能なエンティティ・クラス」のリストから ``MyEntity`` クラスを選択し、「追加」をクリックします。「次」をクリックします。
-4. ウィザードの「生成されるセッションBean」パネルで、デフォルトのプロパティを使用します。「終了」をクリックします。
+
+[start=2]
+. 「Enterprise JavaBeans」カテゴリで「エンティティ・クラスのセッションBean」を選択します。「次」をクリックします。
+
+[start=3]
+. 「利用可能なエンティティ・クラス」のリストから ``MyEntity`` クラスを選択し、「追加」をクリックします。「次」をクリックします。
+
+[start=4]
+. ウィザードの「生成されるセッションBean」パネルで、デフォルトのプロパティを使用します。「終了」をクリックします。
 
 「終了」をクリックすると、IDEによって ``com.mycompany.mavenwebtestapp`` パッケージ内に ``AbstractFacade.java`` と ``MyEntityFacade.java`` が生成され、ソース・エディタでこれらのクラスが開きます。
 
@@ -217,7 +246,9 @@
     
 }
 ----
-5.  ``MyEntityFacade.java`` に次のメソッドを追加します。
+
+[start=5]
+.  ``MyEntityFacade.java`` に次のメソッドを追加します。
 
 [source,java]
 ----
@@ -245,10 +276,13 @@
         }
     }
 ----
-6. インポートを修正して必要なインポート文を追加します。変更を保存します。
+
+[start=6]
+. インポートを修正して必要なインポート文を追加します。変更を保存します。
+
 image::images/maven-testing-fiximports.png[title="生成されたプロジェクトを示す「プロジェクト」ウィンドウ"]
 
-*注意:*「すべてのインポートを修正」ダイアログ・ボックスで* ``javax.persistence.Query`` *が選択されていることを確認してください。
+NOTE: 「すべてのインポートを修正」ダイアログ・ボックスで* ``javax.persistence.Query`` *が選択されていることを確認してください。
 
 
 == セッションBeanテストの作成
@@ -261,15 +295,19 @@
 2. 「フレームワーク」ドロップダウン・リストからテスト・フレームワークを選択します。
 3. 「テストを作成」ダイアログ・ボックスのデフォルトのオプションを使用します。「OK」をクリックします。
 
-*注意:*JUnitテストを初めて作成するときは、JUnitフレームワークのバージョンを指定する必要があります。JUnitのバージョンとして「JUnit 4.x」を選択し、「選択」をクリックします。
+NOTE: JUnitテストを初めて作成するときは、JUnitフレームワークのバージョンを指定する必要があります。JUnitのバージョンとして「JUnit 4.x」を選択し、「選択」をクリックします。
 
 デフォルトでは、IDEによって ``MyEntityFacade`` および ``AbstractFacade`` 内の各メソッド用のテストを含むスケルトン・テスト・クラスが生成されます。IDEによってJUnit 4.10への依存性がPOMに自動的に追加されます。
 
-4.  ``testVerify`` を除く各テスト・メソッドに ``@Ignore`` 注釈を付けます。テストを実行すると、IDEによって ``@Ignore`` 注釈の付いた各テストがスキップされます。
+
+[start=4]
+.  ``testVerify`` を除く各テスト・メソッドに ``@Ignore`` 注釈を付けます。テストを実行すると、IDEによって ``@Ignore`` 注釈の付いた各テストがスキップされます。
 
 または、 ``testVerify`` 以外のすべてのテスト・メソッドを削除することもできます。
 
-5. テスト・クラス内の ``testVerify`` テスト・メソッドを見つけます。
+
+[start=5]
+. テスト・クラス内の ``testVerify`` テスト・メソッドを見つけます。
 
  ``EJBContainer`` をコールする行がテストに含まれていることがわかります。
 
@@ -290,7 +328,9 @@
         fail("The test case is a prototype.");
     }
 ----
-6.  ``testVerify`` テスト・メソッドのスケルトンに以下の変更(太字部分)を加えます。
+
+[start=6]
+.  ``testVerify`` テスト・メソッドのスケルトンに以下の変更(太字部分)を加えます。
 
 [source,java]
 ----
@@ -309,11 +349,15 @@
     container.close();
 }
 ----
-7. インポート文を修正して ``junit.framework.Assert`` を追加します。変更を保存します。
+
+[start=7]
+. インポート文を修正して ``junit.framework.Assert`` を追加します。変更を保存します。
 
 ここでPOMを変更して、GlassFishサーバーのローカル・インストールにある ``<glassfish.embedded-static-shell.jar>`` に対する依存性を追加する必要があります。
 
-8. エディタで ``pom.xml`` を開き、 ``<properties>`` 要素を見つけます。
+
+[start=8]
+. エディタで ``pom.xml`` を開き、 ``<properties>`` 要素を見つけます。
 
 [source,xml]
 ----
@@ -324,7 +368,9 @@
     </properties>
                 
 ----
-9.  ``<properties>`` 要素を編集して、ローカルGlassFishインストールのJARの場所を指定する ``<glassfish.embedded-static-shell.jar>`` 要素(*太字*部分)を追加します。このプロパティをアーティファクトに対する依存性で参照します。
+
+[start=9]
+.  ``<properties>`` 要素を編集して、ローカルGlassFishインストールのJARの場所を指定する ``<glassfish.embedded-static-shell.jar>`` 要素(*太字*部分)を追加します。このプロパティをアーティファクトに対する依存性で参照します。
 
 [source,xml]
 ----
@@ -338,18 +384,27 @@
                 
 ----
 
-*注意 * ``_<INSTALLATION_PATH>_`` は、ローカルGlassFishインストールの絶対パスです。ローカル・インストールへのパスが変更された場合は、POM内のこの要素を変更する必要があります。
+NOTE:  ``_<INSTALLATION_PATH>_`` は、ローカルGlassFishインストールの絶対パスです。ローカル・インストールへのパスが変更された場合は、POM内のこの要素を変更する必要があります。
 
-10. 「プロジェクト」ウィンドウの「依存性」ノードを右クリックし、「依存性の追加」を選択します。
-11. 「依存性の追加」ダイアログ・ボックスで、「問合せテキスト」フィールドに*「embedded-static-shell」*と入力します。
-12. 検索結果で4.0 JARを見つけ、「追加」をクリックします。
+
+[start=10]
+. 「プロジェクト」ウィンドウの「依存性」ノードを右クリックし、「依存性の追加」を選択します。
+
+[start=11]
+. 「依存性の追加」ダイアログ・ボックスで、「問合せテキスト」フィールドに*「embedded-static-shell」*と入力します。
+
+[start=12]
+. 検索結果で4.0 JARを見つけ、「追加」をクリックします。
+
 image::images/add-shell-dependency.png[title="「テスト結果」ウィンドウ"]
 
 「追加」をクリックすると、IDEによってPOMに依存性が追加されます。
 
 ここでPOMを変更して、GlassFishのローカル・インストールをJARのソースとして指定します。
 
-13. POMで依存性を見つけ、次のように(*太字*部分)、追加した ``<glassfish.embedded-static-shell.jar>`` プロパティを参照し、 ``<scope>`` を指定するよう要素を変更します。変更を保存します。
+
+[start=13]
+. POMで依存性を見つけ、次のように(*太字*部分)、追加した ``<glassfish.embedded-static-shell.jar>`` プロパティを参照し、 ``<scope>`` を指定するよう要素を変更します。変更を保存します。
 
 [source,xml]
 ----
@@ -363,11 +418,15 @@
         </dependency>
                 
 ----
-14. 「サービス」ウィンドウで「GlassFish Server」ノードを右クリックし、「起動」を選択します。
+
+[start=14]
+. 「サービス」ウィンドウで「GlassFish Server」ノードを右クリックし、「起動」を選択します。
 
 GlassFish Serverを起動すると、JavaDBデータベース・サーバーも起動します。
 
-15. 「プロジェクト」ウィンドウでプロジェクト・ノードを右クリックし、「テスト」を選択します。
+
+[start=15]
+. 「プロジェクト」ウィンドウでプロジェクト・ノードを右クリックし、「テスト」を選択します。
 
 「テスト」を選択すると、IDEによってアプリケーションがビルドされ、ビルド・ライフサイクルのテスト・フェーズが実行されます。この単体テストは、JUnit 4.xテストの実行をサポートするsurefireプラグインを使用して実行されます。surefireプラグインの詳細は、link:http://maven.apache.org/plugins/maven-surefire-plugin/[+http://maven.apache.org/plugins/maven-surefire-plugin/+]を参照してください。
 
@@ -375,7 +434,7 @@
 
 image::images/maven-test-results.png[title="「テスト結果」ウィンドウ"]
 
-「テスト結果」ウィンドウで、「成功したものを表示」アイコン(image::images/test-ok_16.png[title="「成功したものを表示」アイコン"])をクリックして、成功したすべてのテストのリストを表示できます。この例では、9個のテストに成功したことがわかります。「出力」ウィンドウを見ると、1個のテストのみが実行され、8個のテストがスキップされたことを確認できます。スキップされたテストは、「テスト結果」ウィンドウの成功したテストのリストに含まれます。
+「テスト結果」ウィンドウで、「成功したものを表示」アイコン(image:images/test-ok_16.png[title="「成功したものを表示」アイコン"])をクリックして、成功したすべてのテストのリストを表示できます。この例では、9個のテストに成功したことがわかります。「出力」ウィンドウを見ると、1個のテストのみが実行され、8個のテストがスキップされたことを確認できます。スキップされたテストは、「テスト結果」ウィンドウの成功したテストのリストに含まれます。
 
 
 [source,java]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing_pt_BR.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing_pt_BR.asciidoc
index fa1f43c..2088bf9 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing_pt_BR.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing_pt_BR.asciidoc
@@ -31,12 +31,10 @@
 
 Este tutorial demonstra como testar uma aplicação corporativa simples utilizando arquétipos Maven e NetBeans IDE. Neste tutorial, você cria uma aplicação corporativa que contém uma classe de entidade e um bean de sessão. Você usará um assistente para criar uma classe de teste simples para a classe bean e, em seguida, executará o teste no IDE. A classe de teste criará uma instância do contêiner EJB incorporado no GlassFish para testar a conexão com o banco de dados.
 
-*Observação.* Se você estiver usando GlassFish 3.1.x, consulte link:../../73/javaee/maven-entapp-testing.html[+Testando uma Aplicação Corporativa Maven com o GlassFish Server 3.1 Incorporado+]
+NOTE:  Se você estiver usando GlassFish 3.1.x, consulte link:../../73/javaee/maven-entapp-testing.html[+Testando uma Aplicação Corporativa Maven com o GlassFish Server 3.1 Incorporado+]
 
 *Exercícios do Tutorial*
 
-image::images/netbeans-stamp-80-74.png[title="O conteúdo desta página se aplica ao NetBeans IDE 7.4 e 8.0"]
-
 * <<intro,Utilizando o Maven no IDE>>
 * <<Exercise_1,Criando a Aplicação Corporativa>>
 * <<Exercise_1a,Criando o Projeto Web>>
@@ -56,7 +54,7 @@
 |GlassFish Server Open Source Edition |4.0 
 |===
 
-*Observação.* O instalador do GlassFish Server é incluído quando você faz download do pacote Java EE. Você pode instalar e registrar o GlassFish como parte do processo de instalação do NetBeans IDE.
+NOTE:  O instalador do GlassFish Server é incluído quando você faz download do pacote Java EE. Você pode instalar e registrar o GlassFish como parte do processo de instalação do NetBeans IDE.
 
 *Pré-requisitos*
 
@@ -85,7 +83,9 @@
 
 Você pode usar a versão do Maven incorporada no IDE ou especificar a localização de uma instalação local do Maven (requer versão 2.0.9 ou posterior).
 
-4. Clique em OK para fechar a janela Opções.
+
+[start=4]
+. Clique em OK para fechar a janela Opções.
 
 *Observações.* O suporte a Maven será automaticamente ativado quando o Java estiver ativado no IDE. Você precisará ativar o plug-in Java EE, se não estiver ativado.
 
@@ -132,30 +132,47 @@
 
 Neste exercício, você usa o assistente Novo Arquivo para criar uma classe de entidade. Ao criar a classe de entidade, você selecionará a fonte de dados  ``jdbc/sample``  no assistente. Não é preciso criar ou registrar uma nova fonte de dados, pois a fonte de dados  ``jdbc/sample``  foi registrada quando você instalou o servidor.
 
-*Observação.* Se quiser criar uma nova fonte de dados ou usar uma fonte de dados diferente, a fonte de dados deverá ser registrada no servidor, antes de você testar a aplicação que usa o contêiner incorporado. Quando você testar a aplicação usando o contêiner incorporado, o IDE não registrará a fonte de dados para você como faz ao implantar em uma instância do GlassFish Server.
+NOTE:  Se quiser criar uma nova fonte de dados ou usar uma fonte de dados diferente, a fonte de dados deverá ser registrada no servidor, antes de você testar a aplicação que usa o contêiner incorporado. Quando você testar a aplicação usando o contêiner incorporado, o IDE não registrará a fonte de dados para você como faz ao implantar em uma instância do GlassFish Server.
 
 1. Clique com o botão direito do mouse no nó do projeto e selecione Novo > Classe de Entidade.
 
 Como alternativa, selecione Arquivo > Novo Arquivo (Ctrl-N; ⌘-N no Mac) no menu principal e selecione Classe de Entidade na categoria Persistência.
 
-2. Digite *MyEntity* para o Nome da Classe.
-3. Selecione  ``com.mycompany.mavenwebtestapp``  como o Pacote e defina o Tipo de Chave Primária como * ``int`` *.
-4. Confirme se Criar Unidade de Persistência está selecionado. Clique em Próximo.
-5. Selecione *jdbc/sample* na lista drop-down Fonte de Dados.
-6. Confirme se a opção Usar APIs de Transação Java está selecionada e selecione Soltar e Criar como a Estratégia de Geração de Tabela. Clique em Finalizar.
+
+[start=2]
+. Digite *MyEntity* para o Nome da Classe.
+
+[start=3]
+. Selecione  ``com.mycompany.mavenwebtestapp``  como o Pacote e defina o Tipo de Chave Primária como * ``int`` *.
+
+[start=4]
+. Confirme se Criar Unidade de Persistência está selecionado. Clique em Próximo.
+
+[start=5]
+. Selecione *jdbc/sample* na lista drop-down Fonte de Dados.
+
+[start=6]
+. Confirme se a opção Usar APIs de Transação Java está selecionada e selecione Soltar e Criar como a Estratégia de Geração de Tabela. Clique em Finalizar.
+
 image::images/maven-testing-pu.png[title="Janela Projetos que mostra projetos gerados"]
 
 Quando você clica em Finalizar, o IDE gera a classe MyEntity e abre a classe no editor de código-fonte. O IDE adiciona os artefatos  ``eclipselink`` ,  ``javax.persistence``  e  ``org.eclipse.persistence.jpa.modelgen.processor``  como dependências de projeto.
 
-7. No editor de código-fonte, adicione o campo privado  ``nome``  à classe.
+
+[start=7]
+. No editor de código-fonte, adicione o campo privado  ``nome``  à classe.
 
 [source,java]
 ----
 
 private String name;
 ----
-8. Clique com o botão direito do mouse no editor e selecione Getter e Setter no menu pop-up Inserir Código (Alt-Insert; Ctrl+I no Mac) para gerar um getter e um setter para o campo  ``nome`` .
-9. Adicione o construtor a seguir.
+
+[start=8]
+. Clique com o botão direito do mouse no editor e selecione Getter e Setter no menu pop-up Inserir Código (Alt-Insert; Ctrl+I no Mac) para gerar um getter e um setter para o campo  ``nome`` .
+
+[start=9]
+. Adicione o construtor a seguir.
 
 [source,java]
 ----
@@ -165,7 +182,9 @@
     name = "Entity number " + id + " created at " + new Date();
 }
 ----
-10. Adicione as anotações  ``@NamedQueries``  e  ``@NamedQuery``  a seguir (em negrito) para criar uma consulta SQL nomeada que localizará todos os registros na tabela MyEntity.
+
+[start=10]
+. Adicione as anotações  ``@NamedQueries``  e  ``@NamedQuery``  a seguir (em negrito) para criar uma consulta SQL nomeada que localizará todos os registros na tabela MyEntity.
 
 [source,java]
 ----
@@ -176,9 +195,15 @@
 public class MyEntity implements Serializable {
 ----
 
-11. Clique na dica na margem esquerda próximo da declaração de classe e selecione a dica *Criar construtor default*.
+
+[start=11]
+. Clique na dica na margem esquerda próximo da declaração de classe e selecione a dica *Criar construtor default*.
+
 image::images/maven-testing-createconstructor.png[title="Janela Projetos que mostra projetos gerados"]
-12. Corrija as instruções de importação (Ctrl-Shift-I; ⌘-Shift-I no Mac) para adicionar instruções de importação para  ``javax.persistence.NamedQuery`` ,  ``javax.persistence.NamedQueries``  e  ``java.util.Date`` . Salve as alterações. 
+
+
+[start=12]
+. Corrija as instruções de importação (Ctrl-Shift-I; ⌘-Shift-I no Mac) para adicionar instruções de importação para  ``javax.persistence.NamedQuery`` ,  ``javax.persistence.NamedQueries``  e  ``java.util.Date`` . Salve as alterações. 
 
 
 === Criando o Bean de Sessão
@@ -189,9 +214,15 @@
 
 Como alternativa, selecione Arquivo > Novo Arquivo (Ctrl-N; ⌘-N no Mac) no menu principal para abrir o assistente Novo Arquivo.
 
-2. Selecione Beans de Sessão para Classes de Entidade na categoria Enterprise JavaBeans. Clique em Próximo.
-3. Na lista de Classes de Entidade Disponíveis, selecione  ``MyEntity``  e clique em Adicionar. Clique em Próximo.
-4. Use as propriedades default no painel Beans de Sessão Gerados do assistente. Clique em Finalizar.
+
+[start=2]
+. Selecione Beans de Sessão para Classes de Entidade na categoria Enterprise JavaBeans. Clique em Próximo.
+
+[start=3]
+. Na lista de Classes de Entidade Disponíveis, selecione  ``MyEntity``  e clique em Adicionar. Clique em Próximo.
+
+[start=4]
+. Use as propriedades default no painel Beans de Sessão Gerados do assistente. Clique em Finalizar.
 
 Quando você clicar em Finalizar, o IDE gerará  ``AbstractFacade.java``  e  ``MyEntityFacade.java``  no pacote  ``com.mycompany.mavenwebtestapp``  e abrirá as classes no editor de código-fonte.
 
@@ -217,7 +248,9 @@
     
 }
 ----
-5. Adicione os seguintes métodos a  ``MyEntityFacade.java`` .
+
+[start=5]
+. Adicione os seguintes métodos a  ``MyEntityFacade.java`` .
 
 [source,java]
 ----
@@ -245,10 +278,13 @@
         }
     }
 ----
-6. Corrija suas importações para adicionar as instruções de importação necessárias. Salve as alterações. 
+
+[start=6]
+. Corrija suas importações para adicionar as instruções de importação necessárias. Salve as alterações. 
+
 image::images/maven-testing-fiximports.png[title="Janela Projetos que mostra projetos gerados"]
 
-*Observação.* Confirme se * ``javax.persistence.Query`` * está selecionado na caixa de diálogo Corrigir Todas as Importações.
+NOTE:  Confirme se * ``javax.persistence.Query`` * está selecionado na caixa de diálogo Corrigir Todas as Importações.
 
 
 == Criando o Teste do Bean de Sessão
@@ -261,15 +297,19 @@
 2. Selecione um framework de teste na lista drop-down Framework
 3. Use as opções default na caixa de diálogo Criar Testes. Clique em OK.
 
-*Observação.* Na primeira vez que você criar um teste de JUnit, deverá especificar a versão do framework de JUnit. Selecione a JUnit 4.x como a versão de JUnit e clique em Selecionar.
+NOTE:  Na primeira vez que você criar um teste de JUnit, deverá especificar a versão do framework de JUnit. Selecione a JUnit 4.x como a versão de JUnit e clique em Selecionar.
 
 Por default, o IDE gera uma classe de teste esqueleto que contém testes para cada um dos métodos em  ``MyEntityFacade``  e  ``AbstractFacade`` . O IDE adiciona, automaticamente, uma dependência no JUnit 4.10 para o POM.
 
-4. Anote cada um dos métodos de teste, exceto  ``testVerify`` , com a anotação  ``@Ignore`` . O IDE ignorará cada um dos testes anotados com  ``@Ignore``  ao executar os testes.
+
+[start=4]
+. Anote cada um dos métodos de teste, exceto  ``testVerify`` , com a anotação  ``@Ignore`` . O IDE ignorará cada um dos testes anotados com  ``@Ignore``  ao executar os testes.
 
 Como alternativa, você pode deletar todos os métodos de teste, exceto  ``testVerify`` .
 
-5. Localize o método de teste  ``testVerify``  na classe de teste.
+
+[start=5]
+. Localize o método de teste  ``testVerify``  na classe de teste.
 
 Você pode ver que o teste contém uma linha que chama  ``EJBContainer`` .
 
@@ -290,7 +330,9 @@
         fail("The test case is a prototype.");
     }
 ----
-6. Faça as seguintes alterações (em negrito) no esqueleto do método de teste  ``testVerify`` .
+
+[start=6]
+. Faça as seguintes alterações (em negrito) no esqueleto do método de teste  ``testVerify`` .
 
 [source,java]
 ----
@@ -309,11 +351,15 @@
     container.close();
 }
 ----
-7. Corrija as instruções de importação para adicionar  ``junit.framework.Assert`` . Salve as alterações.
+
+[start=7]
+. Corrija as instruções de importação para adicionar  ``junit.framework.Assert`` . Salve as alterações.
 
 Você agora precisa modificar o POM para adicionar uma dependência ao  ``<glassfish.embedded-static-shell.jar>``  que está localizado em sua instalação local do GlassFish Server.
 
-8. Abra  ``pom.xml``  no editor e localize o elemento  ``<properties>`` .
+
+[start=8]
+. Abra  ``pom.xml``  no editor e localize o elemento  ``<properties>`` .
 
 [source,xml]
 ----
@@ -324,7 +370,9 @@
     </properties>
                 
 ----
-9. Edite o elemento  ``<properties>``  para adicionar o elemento  ``<glassfish.embedded-static-shell.jar>``  (em *negrito*) que especifica a localização do JAR em sua instalação GlassFish local. Em seguida, você fará referência a esta propriedade na dependência do artefato.
+
+[start=9]
+. Edite o elemento  ``<properties>``  para adicionar o elemento  ``<glassfish.embedded-static-shell.jar>``  (em *negrito*) que especifica a localização do JAR em sua instalação GlassFish local. Em seguida, você fará referência a esta propriedade na dependência do artefato.
 
 [source,xml]
 ----
@@ -338,18 +386,27 @@
                 
 ----
 
-*Observação.*  ``_<INSTALLATION_PATH>_``  é o caminho absoluto para sua instalação do GlassFish local. Será preciso modificar esse elemento no POM se o caminho para a instalação local for alterado.
+NOTE:   ``_<INSTALLATION_PATH>_``  é o caminho absoluto para sua instalação do GlassFish local. Será preciso modificar esse elemento no POM se o caminho para a instalação local for alterado.
 
-10. Clique com o botão direito do mouse no nó Dependências na janela Projetos e selecione Adicionar Dependência.
-11. Na caixa de diálogo Adicionar Dependência, digite *embedded-static-shell* no campo de texto Consultar.
-12. Localize o JAR 4.0 nos resultados da pesquisa e clique em Adicionar.
+
+[start=10]
+. Clique com o botão direito do mouse no nó Dependências na janela Projetos e selecione Adicionar Dependência.
+
+[start=11]
+. Na caixa de diálogo Adicionar Dependência, digite *embedded-static-shell* no campo de texto Consultar.
+
+[start=12]
+. Localize o JAR 4.0 nos resultados da pesquisa e clique em Adicionar.
+
 image::images/add-shell-dependency.png[title="Janela Resultados do Teste"]
 
 Quando você clica em Adicionar, o IDE adiciona a dependência ao POM.
 
 Agora você quer modificar o POM para especificar a instalação local do GlassFish como a origem para o JAR.
 
-13. Localize a dependência no POM e faça as seguintes alterações (em *negrito*) para modificar o elemento para fazer referência à propriedade  ``<glassfish.embedded-static-shell.jar>``  que você adicionou e para especificar o  ``<escopo>`` . Salve as alterações.
+
+[start=13]
+. Localize a dependência no POM e faça as seguintes alterações (em *negrito*) para modificar o elemento para fazer referência à propriedade  ``<glassfish.embedded-static-shell.jar>``  que você adicionou e para especificar o  ``<escopo>`` . Salve as alterações.
 
 [source,xml]
 ----
@@ -363,11 +420,15 @@
         </dependency>
                 
 ----
-14. Na janela Serviços, clique com o botão direito do mouse no nó GlassFish Server e selecione Iniciar.
+
+[start=14]
+. Na janela Serviços, clique com o botão direito do mouse no nó GlassFish Server e selecione Iniciar.
 
 O servidor do banco de dados JavaDB também será iniciado quando você iniciar o GlassFish Server.
 
-15. Na janela Projetos, clique com o botão direito do mouse no nó do projeto e selecione Testar,
+
+[start=15]
+. Na janela Projetos, clique com o botão direito do mouse no nó do projeto e selecione Testar,
 
 Quando você selecionar Testar, o IDE construirá a aplicação e executará a fase de teste do ciclo de vida da construção. Os testes de unidade serão executados com o plug-in surefire, que suporta a execução de testes JUnit 4.x. Para saber mais sobre o plug-in surefire, consulte link:http://maven.apache.org/plugins/maven-surefire-plugin/[+http://maven.apache.org/plugins/maven-surefire-plugin/+].
 
@@ -375,7 +436,7 @@
 
 image::images/maven-test-results.png[title="Janela Resultados do Teste"]
 
-Na janela Resultados do Teste, você pode clicar no ícone Aprovado (image::images/test-ok_16.png[title="Ícone Mostrar Aprovados"]) para exibir uma lista de todos os testes aprovados. Neste exemplo, você pode ver que nove testes passaram. Se observar a janela de Saída, você verá que só um teste foi executado e oito testes foram ignorados. Testes ignorados são incluídos na lista de testes aprovados, na janela Resultados do Teste.
+Na janela Resultados do Teste, você pode clicar no ícone Aprovado (image:images/test-ok_16.png[title="Ícone Mostrar Aprovados"]) para exibir uma lista de todos os testes aprovados. Neste exemplo, você pode ver que nove testes passaram. Se observar a janela de Saída, você verá que só um teste foi executado e oito testes foram ignorados. Testes ignorados são incluídos na lista de testes aprovados, na janela Resultados do Teste.
 
 
 [source,java]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing_ru.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing_ru.asciidoc
index 4fffdc6..18f7cf6 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing_ru.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing_ru.asciidoc
@@ -31,12 +31,10 @@
 
 This tutorial demonstrates how to test a simple enterprise application using IDE NetBeans and Maven archetypes. В ходе данного учебного курса вы создадите приложение уровня предприятия, содержащее класс сущности и сеансный компонент. Вы будете использовать·мастер для создания простого тестового класса для класса компонента, а затем запустите тестирование в среде IDE. Класс теста создаст экземпляр контейнера EJB, встроенного в GlassFish, для тестирования подключения к базе данных.
 
-*Примечание.* Если вы используете GlassFish 3.1.x, ознакомьтесь с разделом link:../../73/javaee/maven-entapp-testing.html[+Тестирование корпоративного приложения Maven с помощью встроенного сервера GlassFish Server 3.1+]
+NOTE:  Если вы используете GlassFish 3.1.x, ознакомьтесь с разделом link:../../73/javaee/maven-entapp-testing.html[+Тестирование корпоративного приложения Maven с помощью встроенного сервера GlassFish Server 3.1+]
 
 *Упражнения по темам руководства*
 
-image::images/netbeans-stamp-80-74.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.4 и 8.0"]
-
 * <<intro,Использование Maven в среде IDE>>
 * <<Exercise_1,Создание приложения уровня предприятия>>
 * <<Exercise_1a,Создание проекта веб-приложения>>
@@ -56,7 +54,7 @@
 |GlassFish Server Open Source Edition 3.1.2.2 |4.0 
 |===
 
-*Примечание.* Программа установки для GlassFish Server 3.1.1 включена в загружаемый пакет Java EE. You can install and register GlassFish as part of the IDE NetBeans installation process.
+NOTE:  Программа установки для GlassFish Server 3.1.1 включена в загружаемый пакет Java EE. You can install and register GlassFish as part of the IDE NetBeans installation process.
 
 *Предпосылки*
 
@@ -85,7 +83,9 @@
 
 Можно использовать версию Maven, входящую в комплект среды IDE, либо указать местоположение локальной установки Maven (требуется версия 2.0.9 или более поздняя).
 
-4. Для закрытия окна "Параметры" нажмите кнопку "ОК".
+
+[start=4]
+. Для закрытия окна "Параметры" нажмите кнопку "ОК".
 
 *Примечания.* Поддержка Maven автоматически включается при включении Java в среде IDE. Если нет, необходимо включить подключаемый модуль Java EE.
 
@@ -132,30 +132,47 @@
 
 В данном упражнении будет использован мастер создания файла для создания класса сущности. После создания класса сущности выберите в мастере источник данных  ``jdbc/sampl`` . Нет необходимости создавать или регистрировать новый источник данных, поскольку источник данных  ``jdbc/sample``  был зарегистрирован при установке сервера.
 
-*Примечание.* Если необходимо создать новый источник данных или использовать другой источник данных, источник данных должен быть зарегистрирован на сервере до тестирования приложения, используя встроенный контейнер. При тестировании приложения с помощью встроенного контейнера среда IDE не зарегистрирует источник данных, в отличие от развертывания на экземпляре сервер GlassFish.
+NOTE:  Если необходимо создать новый источник данных или использовать другой источник данных, источник данных должен быть зарегистрирован на сервере до тестирования приложения, используя встроенный контейнер. При тестировании приложения с помощью встроенного контейнера среда IDE не зарегистрирует источник данных, в отличие от развертывания на экземпляре сервер GlassFish.
 
 1. Щелкните узел проекта правой кнопкой мыши и выберите команду "Создать" > "Класс сущности".
 
 В качестве альтернативы можно использовать 'Файл' > 'Создать файл' (Ctrl-N; ⌘-N в Mac) в главном меню и выбрать 'Класс сущности' в категории 'Сохраняемость'.
 
-2. Введите *MyEntity* для имени класса.
-3. Выберите  ``com.mycompany.mavenwebtestapp``  в качестве пакета и установите тип первичного ключа * ``int`` *.
-4. Подтвердите выбор "Создать единицу сохранения состояния". Нажмите кнопку "Далее".
-5. Выберите *jdbc/sample* из раскрывающегося списка "Источник данных".
-6. Подтвердите выбор "Использовать интерфейсы API транзакций Java" и выберите "Удалить и создать" в качестве стратегии создания таблицы. Нажмите кнопку 'Готово'.
+
+[start=2]
+. Введите *MyEntity* для имени класса.
+
+[start=3]
+. Выберите  ``com.mycompany.mavenwebtestapp``  в качестве пакета и установите тип первичного ключа * ``int`` *.
+
+[start=4]
+. Подтвердите выбор "Создать единицу сохранения состояния". Нажмите кнопку "Далее".
+
+[start=5]
+. Выберите *jdbc/sample* из раскрывающегося списка "Источник данных".
+
+[start=6]
+. Подтвердите выбор "Использовать интерфейсы API транзакций Java" и выберите "Удалить и создать" в качестве стратегии создания таблицы. Нажмите кнопку 'Готово'.
+
 image::images/maven-testing-pu.png[title="В окне 'Проекты' отображаются созданные проекты"]
 
 После нажатия кнопки "Готово" среда IDE создает класс MyEntity и открывает его в редакторе исходного кода. В качестве зависимостей проекта IDE добавляет артефакты  ``eclipselink`` ,  ``javax.persistence``  и  ``org.eclipse.persistence.jpa.modelgen.processor`` .
 
-7. В редакторе исходного поля добавьте к классу закрытое поле  ``имя`` .
+
+[start=7]
+. В редакторе исходного поля добавьте к классу закрытое поле  ``имя`` .
 
 [source,java]
 ----
 
 private String name;
 ----
-8. Правой кнопкой мыши щелкните редактор и выберите "Методы получения и установки" во всплывающем меню "Вставка кода" (Alt-Insert; Ctrl-I на Mac), чтобы создать метод получения и установки для поля  ``имя`` .
-9. Добавьте следующий конструктор.
+
+[start=8]
+. Правой кнопкой мыши щелкните редактор и выберите "Методы получения и установки" во всплывающем меню "Вставка кода" (Alt-Insert; Ctrl-I на Mac), чтобы создать метод получения и установки для поля  ``имя`` .
+
+[start=9]
+. Добавьте следующий конструктор.
 
 [source,java]
 ----
@@ -165,7 +182,9 @@
     name = "Entity number " + id + " created at " + new Date();
 }
 ----
-10. Добавьте следующие аннотации  ``@NamedQueries``  и  ``@NamedQuery``  (выделено жирным), чтобы создать запрос SQL с именем, который выполнит поиск всех записей в таблице MyEntity.
+
+[start=10]
+. Добавьте следующие аннотации  ``@NamedQueries``  и  ``@NamedQuery``  (выделено жирным), чтобы создать запрос SQL с именем, который выполнит поиск всех записей в таблице MyEntity.
 
 [source,java]
 ----
@@ -176,9 +195,15 @@
 public class MyEntity implements Serializable {
 ----
 
-11. Щелкните подсказку в поле слева, рядом с объявлением класса, и выберите подсказку *Создать конструктор по умолчанию*.
+
+[start=11]
+. Щелкните подсказку в поле слева, рядом с объявлением класса, и выберите подсказку *Создать конструктор по умолчанию*.
+
 image::images/maven-testing-createconstructor.png[title="В окне 'Проекты' отображаются созданные проекты"]
-12. Исправьте импортированные операторы (Ctrl-Shift-I; ⌘-Shift-I в Mac) для добавления операторов импорта для  ``javax.persistence.NamedQuery`` ,  ``javax.persistence.NamedQueries``  и  ``java.util.Date`` . Сохраните изменения. 
+
+
+[start=12]
+. Исправьте импортированные операторы (Ctrl-Shift-I; ⌘-Shift-I в Mac) для добавления операторов импорта для  ``javax.persistence.NamedQuery`` ,  ``javax.persistence.NamedQueries``  и  ``java.util.Date`` . Сохраните изменения. 
 
 
 === Создание компонента сеанса
@@ -189,9 +214,15 @@
 
 В качестве альтернативы можно использовать 'Файл' > 'Создать файл' (Ctrl-N; ⌘-N в Mac) в главном меню, чтобы открыть мастер создания файлов.
 
-2. Выберите сеансные компоненты для классов сущностей в категории Enterprise JavaBeans. Нажмите кнопку "Далее".
-3. Выберите класс  ``MyEntity``  из списка доступных классов сущностей и нажмите кнопку "Добавить". Нажмите кнопку "Далее".
-4. Используйте свойства по умолчанию на панели мастера "Созданные сеансные компоненты". Нажмите кнопку 'Готово'.
+
+[start=2]
+. Выберите сеансные компоненты для классов сущностей в категории Enterprise JavaBeans. Нажмите кнопку "Далее".
+
+[start=3]
+. Выберите класс  ``MyEntity``  из списка доступных классов сущностей и нажмите кнопку "Добавить". Нажмите кнопку "Далее".
+
+[start=4]
+. Используйте свойства по умолчанию на панели мастера "Созданные сеансные компоненты". Нажмите кнопку 'Готово'.
 
 При нажатии кнопки "Готово" среда IDE создает  ``AbstractFacade.java``  и  ``MyEntityFacade.java``  в пакете  ``com.mycompany.mavenwebtestapp``  и открывает классы в редакторе исходных кодов.
 
@@ -217,7 +248,9 @@
     
 }
 ----
-5. Добавьте следующие методы к  ``MyEntityFacade.java`` .
+
+[start=5]
+. Добавьте следующие методы к  ``MyEntityFacade.java`` .
 
 [source,java]
 ----
@@ -245,10 +278,13 @@
         }
     }
 ----
-6. Исправьте операторы импорта, чтобы добавить импорт всего, что нужно. Сохраните изменения. 
+
+[start=6]
+. Исправьте операторы импорта, чтобы добавить импорт всего, что нужно. Сохраните изменения. 
+
 image::images/maven-testing-fiximports.png[title="В окне 'Проекты' отображаются созданные проекты"]
 
-*Примечание.* Убедитесь, что * ``javax.persistence.Query`` * выбран в диалоговом окне 'Исправить все выражения импорта'.
+NOTE:  Убедитесь, что * ``javax.persistence.Query`` * выбран в диалоговом окне 'Исправить все выражения импорта'.
 
 
 == Создание теста сеансного компонента
@@ -261,15 +297,19 @@
 2. Выберите платформу тестирования из раскрывающегося списка 'Платформа'
 3. В диалоговом окне "Создать тесты" используйте параметры по умолчанию. Нажмите кнопку "ОК".
 
-*Примечание.* При первом создании теста JUnit необходимо указать версию платформы JUnit. Выберите JUnit 4.x как версию JUnit и нажмите 'Выбрать'.
+NOTE:  При первом создании теста JUnit необходимо указать версию платформы JUnit. Выберите JUnit 4.x как версию JUnit и нажмите 'Выбрать'.
 
 По умолчанию среда IDE создает скелет тестового класса, содержащий тесты для каждого из методов в  ``MyEntityFacade``  и  ``AbstractFacade`` . Среда IDE автоматически добавляет к файлу POM зависимость от JUnit 4.10.
 
-4. Аннотируйте каждый из тестовых методов, кроме  ``testVerify`` , с помощью аннотации  ``@Ignore`` . Выполняя тесты, среда IDE пропустит все тесты с аннотацией  ``@Ignore`` .
+
+[start=4]
+. Аннотируйте каждый из тестовых методов, кроме  ``testVerify`` , с помощью аннотации  ``@Ignore`` . Выполняя тесты, среда IDE пропустит все тесты с аннотацией  ``@Ignore`` .
 
 Также можно удалить все тестовые методы, кроме  ``testVerify`` .
 
-5. Расположите метод теста  ``testVerify``  в тестовом классе.
+
+[start=5]
+. Расположите метод теста  ``testVerify``  в тестовом классе.
 
 Тест содержит строку, вызывающую  ``EJBContainer`` .
 
@@ -290,7 +330,9 @@
         fail("The test case is a prototype.");
     }
 ----
-6. Внесите следующие изменения (выделено полужирным) в схему метода теста  ``testVerify`` .
+
+[start=6]
+. Внесите следующие изменения (выделено полужирным) в схему метода теста  ``testVerify`` .
 
 [source,java]
 ----
@@ -309,11 +351,15 @@
     container.close();
 }
 ----
-7. Исправьте выражения импорта для добавления  ``junit.framework.Assert`` . Сохраните изменения.
+
+[start=7]
+. Исправьте выражения импорта для добавления  ``junit.framework.Assert`` . Сохраните изменения.
 
 Теперь необходимо внести изменения в файл POM и добавить зависимость от файла  ``<glassfish.embedded-static-shell.jar>`` , расположенного в локальном каталоге установки сервера GlassFish.
 
-8. Откройте файл  ``pom.xml``  в редакторе и найдите элемент  ``<properties>`` .
+
+[start=8]
+. Откройте файл  ``pom.xml``  в редакторе и найдите элемент  ``<properties>`` .
 
 [source,xml]
 ----
@@ -324,7 +370,9 @@
     </properties>
                 
 ----
-9. Отредактируйте элемент  ``<properties>`` , добавив в него элемент  ``<glassfish.embedded-static-shell.jar>``  (выделен *полужирным шрифтом*), указывающий местоположение файла JAR в локальном каталоге установки GlassFish. Затем необходимо создать ссылку на это свойство в зависимости артефакта.
+
+[start=9]
+. Отредактируйте элемент  ``<properties>`` , добавив в него элемент  ``<glassfish.embedded-static-shell.jar>``  (выделен *полужирным шрифтом*), указывающий местоположение файла JAR в локальном каталоге установки GlassFish. Затем необходимо создать ссылку на это свойство в зависимости артефакта.
 
 [source,xml]
 ----
@@ -338,18 +386,27 @@
                 
 ----
 
-*Примечание.*  ``_<INSTALLATION_PATH>_``  - абсолютный путь к локальному каталогу установки GlassFish. В случае изменения пути к локальной установке потребуется изменить этот элемент в файле POM.
+NOTE:   ``_<INSTALLATION_PATH>_``  - абсолютный путь к локальному каталогу установки GlassFish. В случае изменения пути к локальной установке потребуется изменить этот элемент в файле POM.
 
-10. Щелкните правой кнопкой мыши узел "Зависимости" в окне проектов и выберите пункт "Добавить зависимость".
-11. В диалоговом окне 'Добавление зависимости' в текстовом поле 'Запрос' введите *embedded-static-shell*.
-12. Выделите файл 4.0 JAR в результатах поиска и нажмите 'Добавить'.
+
+[start=10]
+. Щелкните правой кнопкой мыши узел "Зависимости" в окне проектов и выберите пункт "Добавить зависимость".
+
+[start=11]
+. В диалоговом окне 'Добавление зависимости' в текстовом поле 'Запрос' введите *embedded-static-shell*.
+
+[start=12]
+. Выделите файл 4.0 JAR в результатах поиска и нажмите 'Добавить'.
+
 image::images/add-shell-dependency.png[title="Окно 'Результаты теста'"]
 
 При нажатии на кнопку 'Добавить' среда IDE добавляет зависимость к файлу POM.
 
 Теперь нужно внести изменения в файл POM, указав локальный каталог установки GlassFish в качестве источника JAR.
 
-13. Найдите соответствующую зависимость в файле POM и внесите изменения (выделены *полужирным шрифтом*). Создайте в элементе ссылку на ранее добавленное свойство  ``<glassfish.embedded-static-shell.jar>``  и укажите область ( ``<scope>`` ). Сохраните изменения.
+
+[start=13]
+. Найдите соответствующую зависимость в файле POM и внесите изменения (выделены *полужирным шрифтом*). Создайте в элементе ссылку на ранее добавленное свойство  ``<glassfish.embedded-static-shell.jar>``  и укажите область ( ``<scope>`` ). Сохраните изменения.
 
 [source,xml]
 ----
@@ -363,11 +420,15 @@
         </dependency>
                 
 ----
-14. В окне 'Службы' щелкните правой кнопкой мыши узел GlassFish Server и выберите 'Пуск'.
+
+[start=14]
+. В окне 'Службы' щелкните правой кнопкой мыши узел GlassFish Server и выберите 'Пуск'.
 
 Сервер базы данных JavaDB будет также запускаться при запуске сервера GlassFish.
 
-15. В окне 'Проекты' щелкните правой кнопкой мыши узел проекта и выберите 'Тестирование'.
+
+[start=15]
+. В окне 'Проекты' щелкните правой кнопкой мыши узел проекта и выберите 'Тестирование'.
 
 После выбора пункта "Тест" среда IDE создаст приложение и запустит этап тестирования жизненного цикла сборки. Модульные тесты будут выполнены при помощи подключаемого модуля surefire, который поддерживает запуск тестов JUnit 4.x. Подробнее о подключаемом модуле surefire см. link:http://maven.apache.org/plugins/maven-surefire-plugin/[+http://maven.apache.org/plugins/maven-surefire-plugin/+].
 
@@ -375,7 +436,7 @@
 
 image::images/maven-test-results.png[title="Окно 'Результаты теста'"]
 
-В окне 'Результаты теста' вы можете нажать на значок 'Прошел успешно' (image::images/test-ok_16.png[title="Значок 'Прошел успешно'"]), чтобы отобразить список всех тестов, которые прошли успешно. В данном примере можно увидеть девять результатов. Если посмотреть на окно 'Результаты', можно увидеть, что был запущен только один тест, а восемь было пропущено. Пропущенные тесты включены в список тестов, которые прошли в окне 'Результаты теста'.
+В окне 'Результаты теста' вы можете нажать на значок 'Прошел успешно' (image:images/test-ok_16.png[title="Значок 'Прошел успешно'"]), чтобы отобразить список всех тестов, которые прошли успешно. В данном примере можно увидеть девять результатов. Если посмотреть на окно 'Результаты', можно увидеть, что был запущен только один тест, а восемь было пропущено. Пропущенные тесты включены в список тестов, которые прошли в окне 'Результаты теста'.
 
 
 [source,java]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing_zh_CN.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing_zh_CN.asciidoc
index aa59008..27bdc09 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing_zh_CN.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp-testing_zh_CN.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 @@
 |GlassFish Server Open Source Edition |4.0 
 |===
 
-*注:*下载的 Java EE 包中附带了 GlassFish Server 的安装程序。在 NetBeans IDE 的安装过程中,您可以安装和注册 GlassFish。
+NOTE: 下载的 Java EE 包中附带了 GlassFish Server 的安装程序。在 NetBeans IDE 的安装过程中,您可以安装和注册 GlassFish。
 
 *先决条件*
 
@@ -84,9 +82,11 @@
 
 您可以使用与 IDE 捆绑在一起的 Maven 版本,也可以指定 Maven 在本地的安装位置(要求为 2.0.9 或更高版本)。
 
-4. 选择“确定”以关闭“选项”窗口。
 
-*注:*在 IDE 中启用 Java 后,会自动启用 Maven 支持。您将需要启用 Java EE 插件(如果尚未启用)。
+[start=3]
+. 选择“确定”以关闭“选项”窗口。
+
+NOTE: 在 IDE 中启用 Java 后,会自动启用 Maven 支持。您将需要启用 Java EE 插件(如果尚未启用)。
 
 *更新 Maven 资源库*
 
@@ -98,9 +98,7 @@
 
 在单击“更新索引”时,IDE 将检查并下载每个 Maven 远程资源库的最新索引。索引表示位于资源库中的工件的当前状态,并用于提供对可用于应用程序的工件的引用。默认情况下,在明确需要工件之前,IDE 不会从资源库中下载该工件。
 
-*注:*
-
-* 索引非常大,因此可能需要一些时间才能全部更新。
+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 最佳做法+]。
 
@@ -131,30 +129,47 @@
 
 在本练习中,将使用新建文件向导创建实体类。创建实体类时,将在该向导中选择  ``jdbc/sample``  数据源。您不需要创建或注册新的数据源,因为  ``jdbc/sample``  数据源已在安装服务器时进行了注册。
 
-*注:*如果要创建新数据源或使用其他数据源,则必须先在服务器上注册该数据源,然后再使用嵌入的容器测试应用程序。使用嵌入的容器测试应用程序时,IDE 将不会为您注册数据源,因为在部署到 GlassFish Server 实例时,它已对该数据源进行了注册。
+NOTE: 如果要创建新数据源或使用其他数据源,则必须先在服务器上注册该数据源,然后再使用嵌入的容器测试应用程序。使用嵌入的容器测试应用程序时,IDE 将不会为您注册数据源,因为在部署到 GlassFish Server 实例时,它已对该数据源进行了注册。
 
 1. 右键单击项目节点,然后选择 "New"(新建)> "Entity Class"(实体类)。
 
 此外,也可以从主菜单中选择 "File"(文件)> "New File"(新建文件)(Ctrl-N 组合键;在 Mac 上为 ⌘-N 组合键),然后在 "Persistence"(持久性)类别中选择 "Entity Class"(实体类)。
 
-2. 键入 *MyEntity* 作为类名。
-3. 选择  ``com.mycompany.mavenwebtestapp``  作为包,并将 "Primary Key Type"(主键类型)设置为 * ``int`` *。
-4. 确认选中了 "Create Persistence Unit"(创建持久性单元)。单击 "Next"(下一步)。
-5. 在 "Data Source"(数据源)下拉列表中选择 *jdbc/sample*。
-6. 确认选中了 "Use Java Transaction APIs"(使用 Java 事务 API),然后选择 "Drop and Create"(删除并创建)作为 "Table Generation Strategy"(表生成策略)。单击 "Finish"(完成)。
+
+[start=2]
+. 键入 *MyEntity* 作为类名。
+
+[start=3]
+. 选择  ``com.mycompany.mavenwebtestapp``  作为包,并将 "Primary Key Type"(主键类型)设置为 * ``int`` *。
+
+[start=4]
+. 确认选中了 "Create Persistence Unit"(创建持久性单元)。单击 "Next"(下一步)。
+
+[start=5]
+. 在 "Data Source"(数据源)下拉列表中选择 *jdbc/sample*。
+
+[start=6]
+. 确认选中了 "Use Java Transaction APIs"(使用 Java 事务 API),然后选择 "Drop and Create"(删除并创建)作为 "Table Generation Strategy"(表生成策略)。单击 "Finish"(完成)。
+
 image::images/maven-testing-pu.png[title="显示已生成项目的 &quot;Projects&quot;(项目)窗口"]
 
 在单击 "Finish"(完成)后,IDE 将生成 MyEntity 类,并在源代码编辑器中打开该类。IDE 将添加  ``eclipselink`` 、 ``javax.persistence``  和  ``org.eclipse.persistence.jpa.modelgen.processor``  工件作为项目依赖关系。
 
-7. 在源代码编辑器中,将私有字段  ``name``  添加到类中。
+
+[start=7]
+. 在源代码编辑器中,将私有字段  ``name``  添加到类中。
 
 [source,java]
 ----
 
 private String name;
 ----
-8. 在编辑器中右键单击,然后从 "Insert Code"(插入代码)弹出式菜单(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键)中选择 "Getter and Setter"(Getter 和 Setter),以便为  ``name``  字段生成 getter 和 setter。
-9. 添加以下构造函数。
+
+[start=8]
+. 在编辑器中右键单击,然后从 "Insert Code"(插入代码)弹出式菜单(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键)中选择 "Getter and Setter"(Getter 和 Setter),以便为  ``name``  字段生成 getter 和 setter。
+
+[start=9]
+. 添加以下构造函数。
 
 [source,java]
 ----
@@ -164,7 +179,9 @@
     name = "Entity number " + id + " created at " + new Date();
 }
 ----
-10. 添加以下  ``@NamedQueries``  和  ``@NamedQuery``  标注(以粗体显示),以创建命名 SQL 查询,用于在 MyEntity 表中查找所有记录。
+
+[start=10]
+. 添加以下  ``@NamedQueries``  和  ``@NamedQuery``  标注(以粗体显示),以创建命名 SQL 查询,用于在 MyEntity 表中查找所有记录。
 
 [source,java]
 ----
@@ -175,9 +192,15 @@
 public class MyEntity implements Serializable {
 ----
 
-11. 单击类声明旁边左旁注中的提示,然后选择 *Create default constructor*(创建默认的构造函数)提示。
+
+[start=11]
+. 单击类声明旁边左旁注中的提示,然后选择 *Create default constructor*(创建默认的构造函数)提示。
+
 image::images/maven-testing-createconstructor.png[title="显示已生成项目的 &quot;Projects&quot;(项目)窗口"]
-12. 修复 import 语句(Ctrl-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键),以便为  ``javax.persistence.NamedQuery`` 、 ``javax.persistence.NamedQueries``  和  ``java.util.Date``  添加 import 语句。保存所做的更改。 
+
+
+[start=12]
+. 修复 import 语句(Ctrl-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键),以便为  ``javax.persistence.NamedQuery`` 、 ``javax.persistence.NamedQueries``  和  ``java.util.Date``  添加 import 语句。保存所做的更改。 
 
 
 === 创建会话 Bean
@@ -188,9 +211,15 @@
 
 此外,也可以从主菜单中选择 "File"(文件)> "New File"(新建文件)(Ctrl-N 组合键;在 Mac 上为 ⌘-N 组合键),以打开新建文件向导。
 
-2. 在 "Enterprise JavaBeans" 类别中,选择 "Session Beans For Entity Classes"(实体类的会话 Bean)。单击 "Next"(下一步)。
-3. 从 "Available Entity Classes"(可用的实体类)列表中选择  ``MyEntity``  类,然后单击 "Add"(添加)。单击 "Next"(下一步)。
-4. 使用该向导的 "Generated Session Beans"(生成的会话 Bean)面板中的默认属性。单击 "Finish"(完成)。
+
+[start=2]
+. 在 "Enterprise JavaBeans" 类别中,选择 "Session Beans For Entity Classes"(实体类的会话 Bean)。单击 "Next"(下一步)。
+
+[start=3]
+. 从 "Available Entity Classes"(可用的实体类)列表中选择  ``MyEntity``  类,然后单击 "Add"(添加)。单击 "Next"(下一步)。
+
+[start=4]
+. 使用该向导的 "Generated Session Beans"(生成的会话 Bean)面板中的默认属性。单击 "Finish"(完成)。
 
 在单击 "Finish"(完成)后,IDE 将在  ``com.mycompany.mavenwebtestapp``  包中生成  ``AbstractFacade.java``  和  ``MyEntityFacade.java`` ,并在源编辑器中打开这些类。
 
@@ -216,7 +245,9 @@
     
 }
 ----
-5. 将以下方法添加到  ``MyEntityFacade.java``  中。
+
+[start=5]
+. 将以下方法添加到  ``MyEntityFacade.java``  中。
 
 [source,java]
 ----
@@ -244,10 +275,13 @@
         }
     }
 ----
-6. 修复导入以添加所需的 import 语句。保存所做的更改。 
+
+[start=6]
+. 修复导入以添加所需的 import 语句。保存所做的更改。 
+
 image::images/maven-testing-fiximports.png[title="显示已生成项目的 &quot;Projects&quot;(项目)窗口"]
 
-*注:*请确认 "Fix All Imports"(修复所有导入)对话框中的 * ``javax.persistence.Query`` * 处于选中状态。
+NOTE: 请确认 "Fix All Imports"(修复所有导入)对话框中的 * ``javax.persistence.Query`` * 处于选中状态。
 
 
 == 创建会话 Bean 测试
@@ -260,15 +294,19 @@
 2. 从 "Framework"(框架)下拉列表中选择测试框架
 3. 使用 "Create Tests"(创建测试)对话框中的默认选项。单击 "OK"(确定)。
 
-*注:*首次创建 JUnit 测试时,您需要指定 JUnit 框架的版本。选择 JUnit 4.x 作为 JUnit 版本并单击 "Select"(选择)。
+NOTE: 首次创建 JUnit 测试时,您需要指定 JUnit 框架的版本。选择 JUnit 4.x 作为 JUnit 版本并单击 "Select"(选择)。
 
 默认情况下,IDE 将生成框架测试类,其中包含  ``MyEntityFacade``  和  ``AbstractFacade``  中每个方法的测试。IDE 自动将 JUnit 4.10 的依赖关系添加到 POM 中。
 
-4. 使用  ``@Ignore``  标注对每个测试方法( ``testVerify``  除外)进行标注。运行测试时,IDE 将跳过使用  ``@Ignore``  标注的每个测试。
+
+[start=4]
+. 使用  ``@Ignore``  标注对每个测试方法( ``testVerify``  除外)进行标注。运行测试时,IDE 将跳过使用  ``@Ignore``  标注的每个测试。
 
 此外,也可以删除所有测试方法,但  ``testVerify``  除外。
 
-5. 找到测试类中的  ``testVerify``  测试方法。
+
+[start=5]
+. 找到测试类中的  ``testVerify``  测试方法。
 
 您可以看到该测试包含调用  ``EJBContainer``  的一行。
 
@@ -289,7 +327,9 @@
         fail("The test case is a prototype.");
     }
 ----
-6. 对  ``testVerify``  测试方法的框架进行以下更改(以粗体显示)。
+
+[start=6]
+. 对  ``testVerify``  测试方法的框架进行以下更改(以粗体显示)。
 
 [source,java]
 ----
@@ -308,11 +348,15 @@
     container.close();
 }
 ----
-7. 修复 import 语句以添加  ``junit.framework.Assert`` 。保存所做的更改。
+
+[start=7]
+. 修复 import 语句以添加  ``junit.framework.Assert`` 。保存所做的更改。
 
 现在,您需要修改 POM 以添加位于 GlassFish Server 本地安装中的  ``<glassfish.embedded-static-shell.jar>``  的依赖关系。
 
-8. 在编辑器中打开  ``pom.xml``  并找到  ``<properties>``  元素。
+
+[start=8]
+. 在编辑器中打开  ``pom.xml``  并找到  ``<properties>``  元素。
 
 [source,xml]
 ----
@@ -323,7 +367,9 @@
     </properties>
                 
 ----
-9. 编辑  ``<properties>``  元素以添加  ``<glassfish.embedded-static-shell.jar>``  元素(*粗体*),后者指定本地 GlassFish 安装中的 JAR 位置。然后,将在工件的依赖关系中引用此属性。
+
+[start=9]
+. 编辑  ``<properties>``  元素以添加  ``<glassfish.embedded-static-shell.jar>``  元素(*粗体*),后者指定本地 GlassFish 安装中的 JAR 位置。然后,将在工件的依赖关系中引用此属性。
 
 [source,xml]
 ----
@@ -337,18 +383,27 @@
                 
 ----
 
-*注:*  ``_<INSTALLATION_PATH>_``  是本地 GlassFish 安装的绝对路径。如果该本地安装路径发生变化,则需要修改 POM 中的此元素。
+NOTE:   ``_<INSTALLATION_PATH>_``  是本地 GlassFish 安装的绝对路径。如果该本地安装路径发生变化,则需要修改 POM 中的此元素。
 
-10. 在 "Projects"(项目)窗口中右键单击 "Dependencies"(依赖关系)节点,然后选择 "Add Dependency"(添加依赖关系)。
-11. 在 "Add Dependency"(添加依赖关系)对话框的 "Query"(查询)文本字段中,键入 *embedded-static-shell*。
-12. 在搜索结果中找到 4.0 JAR,然后单击 "Add"(添加)。
+
+[start=10]
+. 在 "Projects"(项目)窗口中右键单击 "Dependencies"(依赖关系)节点,然后选择 "Add Dependency"(添加依赖关系)。
+
+[start=11]
+. 在 "Add Dependency"(添加依赖关系)对话框的 "Query"(查询)文本字段中,键入 *embedded-static-shell*。
+
+[start=12]
+. 在搜索结果中找到 4.0 JAR,然后单击 "Add"(添加)。
+
 image::images/add-shell-dependency.png[title="&quot;Test Results&quot;(测试结果)窗口"]
 
 单击 "Add"(添加)时,IDE 会将依赖关系添加到 POM 中。
 
 您现在需要修改 POM 以将 GlassFish 的本地安装指定为 JAR 的源。
 
-13. 找到 POM 中的依赖关系并进行以下更改(*粗体*),以将元素修改为引用您添加的  ``<glassfish.embedded-static-shell.jar>``  属性并指定  ``<scope>`` 。保存所做的更改。
+
+[start=13]
+. 找到 POM 中的依赖关系并进行以下更改(*粗体*),以将元素修改为引用您添加的  ``<glassfish.embedded-static-shell.jar>``  属性并指定  ``<scope>`` 。保存所做的更改。
 
 [source,xml]
 ----
@@ -362,11 +417,15 @@
         </dependency>
                 
 ----
-14. 在 "Services"(服务)窗口中,右键单击 "GlassFish Server" 节点并选择 "Start"(启动)。
+
+[start=14]
+. 在 "Services"(服务)窗口中,右键单击 "GlassFish Server" 节点并选择 "Start"(启动)。
 
 当启动 GlassFish Server 时,还会启动 JavaDB 数据库服务器。
 
-15. 在 "Projects"(项目)窗口中,右键单击项目节点,然后选择 "Test"(测试)。
+
+[start=15]
+. 在 "Projects"(项目)窗口中,右键单击项目节点,然后选择 "Test"(测试)。
 
 在选择 "Test"(测试)时,IDE 将构建应用程序,并运行构建生命周期的测试阶段。单元测试将使用 Surefire 插件执行,该插件支持运行 JUnit 4.x 测试。有关 Surefire 插件的更多信息,请参见 link:http://maven.apache.org/plugins/maven-surefire-plugin/[+http://maven.apache.org/plugins/maven-surefire-plugin/+]。
 
@@ -374,7 +433,7 @@
 
 image::images/maven-test-results.png[title="&quot;Test Results&quot;(测试结果)窗口"]
 
-在 "Test Results"(测试结果)窗口中,可以单击 "Show Passed"(显示通过的测试)图标 (image::images/test-ok_16.png[title="&quot;Show Passed&quot;(显示通过的测试)图标"]) 显示通过的所有测试的列表。在本示例中,可以看到通过了九项测试。如果在 "Output"(输出)窗口中查看,则可以看到只运行了一项测试,而其他八项测试都被跳过。跳过的测试包含在 "Test Results"(测试结果)窗口中的通过的测试列表中。
+在 "Test Results"(测试结果)窗口中,可以单击 "Show Passed"(显示通过的测试)图标 (image:images/test-ok_16.png[title="&quot;Show Passed&quot;(显示通过的测试)图标"]) 显示通过的所有测试的列表。在本示例中,可以看到通过了九项测试。如果在 "Output"(输出)窗口中查看,则可以看到只运行了一项测试,而其他八项测试都被跳过。跳过的测试包含在 "Test Results"(测试结果)窗口中的通过的测试列表中。
 
 
 [source,java]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp.asciidoc
index 4cc9463..7d1ddcc 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp.asciidoc
@@ -36,8 +36,6 @@
 
 *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,Using Maven in the IDE>>
 * <<Exercise_1,Creating the Maven Enterprise Application Project>>
 * <<Exercise_2,Coding the EJB Module>>
@@ -97,11 +95,11 @@
 
 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.*
+[start=4]
+. Click OK to close the Options window.
 
-* 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.
+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*
 
@@ -116,10 +114,11 @@
 
 You can search for an artifact by right-clicking the Maven Repositories node in the Services window and choosing Find.
 
-*Notes.*
-
+[NOTE]
+====
 * Indexes are quite large and it can take some time to update them all.
-* If you are using NetBeans IDE 7.1 or earlier you will need to choose Window > Other > Maven Repository Browser and click the Update Indexes ( image::images/maven-refreshrepo.png[title="Update Indexes button"]  ) at the top of the Maven Repository Browser window.
+* If you are using NetBeans IDE 7.1 or earlier you will need to choose Window > Other > Maven Repository Browser and click the Update Indexes ( image:images/maven-refreshrepo.png[title="Update Indexes button"]  ) at the top of the Maven Repository Browser window.
+====
 
 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,13 +131,27 @@
 
 1. Choose File > New Project (Ctrl-Shift-N; ⌘-Shift-N on Mac) from the main menu.
 2. Select Enterprise Application from the Maven category. Click Next.
+
 image::images/maven-newproject1.png[title="Maven Enterprise Application project type in the New Project wizard"]
-3. Type *MavenEnterpriseApp* for the the Project Name and set the Project Location.
-4. (Optional) Modify the artifact details. Click Next. 
+
+
+[start=3]
+. Type *MavenEnterpriseApp* for the the Project Name and set the Project Location.
+
+[start=4]
+. (Optional) Modify the artifact details. Click Next. 
+
 image::images/maven-newproject2.png[title="Maven Project details in the New Project wizard"]
-5. Select GlassFish Server for the Server.
-6. Set the Java EE Version to Java EE 6 or Java EE 7.
-7. Select Create EJB Module and Create Web App Module. Click Finish.
+
+
+[start=5]
+. Select GlassFish Server for the Server.
+
+[start=6]
+. Set the Java EE Version to Java EE 6 or Java EE 7.
+
+[start=7]
+. Select Create EJB Module and Create Web App Module. Click Finish.
 
 When you click Finish, the IDE creates the following projects from the Maven Enterprise Application archetype.
 
@@ -176,7 +189,10 @@
 
 You can keep the other default options (persistence unit name, EclipseLink persistence provider).
 
-5. Ensure that Use Java Transaction APIs is selected 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. Click Finish.
+
+[start=5]
+. Ensure that Use Java Transaction APIs is selected 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. Click Finish.
+
 image::images/maven-persistenceunit.png[title="New Persistence Unit wizard"]
 
 When you click Finish, the IDE creates the XML file  ``persistence.xml``  and opens the file in the editor. In the Projects window, you can see that the file was created in the  ``Other Sources > src/main/resources > META-INF``  directory. The file contains details about connecting to the database and how transactions are managed. If you click the Source tab in the editor, you can see the following details about the persistence unit.
@@ -219,9 +235,15 @@
 private String title;
 private String body;
 ----
-2. Right-click in the Source Editor between the class definition and choose Insert Code (Alt-Insert; Ctrl-I on Mac) > Getter and Setter.
-3. In the Generate Getters and Setters dialog box, select the  ``body``  and  ``title``  fields. Click Generate.
-4. Save your changes to the class.
+
+[start=2]
+. Right-click in the Source Editor between the class definition and choose Insert Code (Alt-Insert; Ctrl-I on Mac) > Getter and Setter.
+
+[start=3]
+. In the Generate Getters and Setters dialog box, select the  ``body``  and  ``title``  fields. Click Generate.
+
+[start=4]
+. Save your changes to the class.
 
 
 === Creating the Message-Driven Bean
@@ -238,10 +260,18 @@
 4. Select *ejb* from the Package drop-down list.
 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.
+
 image::images/maven-messagedestination.png[title="Add Message Destination dialog"]
-7. Confirm that the project destination is correct. Click Next.
+
+
+[start=7]
+. Confirm that the project destination is correct. Click Next.
+
 image::images/maven-newmdb.png[title="New Message-Driven Bean wizard"]
-8. Accept the default settings in the Activation Config Properties. Click Finish.
+
+
+[start=8]
+. Accept the default settings in the Activation Config Properties. Click Finish.
 
 When you click Finish, the IDE generates the bean class and adds the following annotations that identify the class as a message-driven bean and configuration properties.
 
@@ -263,7 +293,9 @@
     }
 }
 ----
-9. Inject the  ``MessageDrivenContext``  resource into the class by adding the following annotated field to the class.
+
+[start=9]
+. Inject the  ``MessageDrivenContext``  resource into the class by adding the following annotated field to the class.
 
 [source,java]
 ----
@@ -274,7 +306,9 @@
 private MessageDrivenContext mdc;*
 
 ----
-10. Introduce the entity manager into the class by adding the following annotated field (in bold).
+
+[start=10]
+. Introduce the entity manager into the class by adding the following annotated field (in bold).
 
 [source,java]
 ----
@@ -290,7 +324,9 @@
 
 The  ``@PersistenceContext``  annotation specifies the context by declaring the persistence unit. The  ``unitName``  value is the name of the persistence unit.
 
-11. Add the following  ``save``  method (in bold).
+
+[start=11]
+. Add the following  ``save``  method (in bold).
 
 [source,java]
 ----
@@ -306,7 +342,9 @@
     em.persist(object);
 }*
 ----
-12. Modify the  ``onMessage``  method by adding the following (in bold) to the body:
+
+[start=12]
+. Modify the  ``onMessage``  method by adding the following (in bold) to the body:
 
 [source,java]
 ----
@@ -327,7 +365,9 @@
      }*
 }
 ----
-13. Fix your import statements (Ctrl-Shift-I; ⌘-Shift-I on Mac) and save your changes.
+
+[start=13]
+. Fix your import statements (Ctrl-Shift-I; ⌘-Shift-I on Mac) and save your changes.
 
 NOTE: When generating the import statements, you want to make sure to import the * ``jms`` * and * ``javax.annotation.Resource`` * libraries.
 
@@ -363,8 +403,13 @@
 
 When you click Finish, the class  ``ListNews.java``  opens in the Source Editor.
 
-4. Right-click in the Source Editor between the class definition and choose Insert Code (Alt-Insert; Ctrl-I on Mac) > Call Enterprise Bean.
-5. In the Call Enterprise Bean dialog box, expand the MavenEnterpriseApp-ejb node and select NewsEntityFacade. Click OK.
+
+[start=4]
+. Right-click in the Source Editor between the class definition and choose Insert Code (Alt-Insert; Ctrl-I on Mac) > Call Enterprise Bean.
+
+[start=5]
+. In the Call Enterprise Bean dialog box, expand the MavenEnterpriseApp-ejb node and select NewsEntityFacade. Click OK.
+
 image::images/maven-callbean.png[title="Call Enterprise Bean dialog"]
 
 When you click OK, the EJB resource is injected into the servlet using the  ``@EJB``  annotation.
@@ -378,7 +423,9 @@
     @EJB
     private NewsEntityFacade newsEntityFacade;
 ----
-6. In the  ``processRequest``  method, modify the method by adding the following lines (in bold) to the body of the method:
+
+[start=6]
+. In the  ``processRequest``  method, modify the method by adding the following lines (in bold) to the body of the method:
 
 [source,xml]
 ----
@@ -397,9 +444,11 @@
    
 ----
 
-*Note.* You might need to uncomment the code if you are using an earlier version of the IDE.
+NOTE:  You might need to uncomment the code if you are using an earlier version of the IDE.
 
-7. Fix your imports (Ctrl-Shift-I; ⌘-Shift-I on Mac) and save your changes.
+
+[start=7]
+. Fix your imports (Ctrl-Shift-I; ⌘-Shift-I on Mac) and save your changes.
 
 When generating the import statements, you want to import the  ``java.util``  libraries.
 
@@ -414,7 +463,9 @@
 
 When you click Finish, the class  ``PostMessage.java``  opens in the Source Editor.
 
-4. In the Source Editor, use annotations to inject the  ``ConnectionFactory``  and  ``Queue``  resources by adding the following field declarations.
+
+[start=4]
+. In the Source Editor, use annotations to inject the  ``ConnectionFactory``  and  ``Queue``  resources by adding the following field declarations.
 
 [source,java]
 ----
@@ -427,17 +478,23 @@
    @Resource(mappedName="jms/NewMessage")
    private  Queue queue;*
 ----
-5. Fix your imports to import the * ``javax.jms`` * libraries.
+
+[start=5]
+. Fix your imports to import the * ``javax.jms`` * libraries.
+
 image::images/maven-searchdepend1.png[title="Fix All Imports dialog"]
 
-*Note.* If the IDE does not offer  ``javax.jms``  as an option, you can search the repositories for the correct artifact by clicking the suggestion icon in the margin next to  ``private ConnectionFactory connectionFactory;``  and choosing Search Dependency at Maven Repositories.
+NOTE:  If the IDE does not offer  ``javax.jms``  as an option, you can search the repositories for the correct artifact by clicking the suggestion icon in the margin next to  ``private ConnectionFactory connectionFactory;``  and choosing Search Dependency at Maven Repositories.
 
 image::images/maven-searchdependencies.png[title="Hint in editor to search repositories for dependencies"]
 
 You can use the Search in Maven Repositories dialog to locate the  ``javaee-api-6.0``  artifact that contains  ``ConnectionFactory`` .
 
 image::images/maven-searchdepend2.png[title="Search in Maven Repositories dialog"]
-6. Add the following code to send the JMS messages to the  ``processRequest``  method.
+
+
+[start=6]
+. Add the following code to send the JMS messages to the  ``processRequest``  method.
 
 [source,java]
 ----
@@ -470,7 +527,9 @@
     }
 }*
 ----
-7. Add the following code (in bold) for the web form for adding a message.
+
+[start=7]
+. Add the following code (in bold) for the web form for adding a message.
 
 [source,xml]
 ----
@@ -488,12 +547,15 @@
     
 ----
 
-*Note.* You might need to uncomment the code if you are using an earlier version of the IDE.
+NOTE:  You might need to uncomment the code if you are using an earlier version of the IDE.
 
-8. Fix your imports and save your changes.
+
+[start=8]
+. Fix your imports and save your changes.
+
 image::images/maven-jms-imports.png[title="Fix All Imports dialog"]
 
-*Note.* You want to import the * ``javax.jms`` * libraries for  ``Connection`` ,  ``ConnectionFactory`` ,  ``Session``  and  ``Queue`` .
+NOTE:  You want to import the * ``javax.jms`` * libraries for  ``Connection`` ,  ``ConnectionFactory`` ,  ``Session``  and  ``Queue`` .
 
 
 == Building the Application with Maven
@@ -544,7 +606,9 @@
 
 By declaring that the dependency is provided, Maven will not package the artifact when building the WAR archive.
 
-4. Save your changes.
+
+[start=4]
+. Save your changes.
 
 
 === Building with Dependencies
@@ -587,15 +651,23 @@
 
 When you click Run the IDE will deploy the EAR archive and create the JMS resources on the server. The IDE will open the default project index page (link:http://localhost:8080/MavenEnterpriseApp-web/[+http://localhost:8080/MavenEnterpriseApp-web/+]) in your browser.
 
-2. Open your browser to the following URL to display the ListNews page.
+
+[start=2]
+. Open your browser to the following URL to display the ListNews page.
 
 link:http://localhost:8080/MavenEnterpriseApp-web/ListNews[+http://localhost:8080/MavenEnterpriseApp-web/ListNews+].
 
 When you first run the project, the database is empty and there are no messages to display.
 
 image::images/maven-browser1.png[title="ListNews page open in the browser"]
-3. Click Add new message.
-4. Type a message in the form in the PostMessage servlet. Click Submit Query.
+
+
+[start=3]
+. Click Add new message.
+
+[start=4]
+. Type a message in the form in the PostMessage servlet. Click Submit Query.
+
 image::images/maven-browser2.png[title="PostMessage page open in the browser"]
 
 When you add a message with the PostMessage servlet, the message is sent to the message-driven bean for writing to persistent storage, and the ListNews servlet is called to display the messages in the database. The list of messages in the database retrieved by ListNews often does not yet contain the new message because our message service is asynchronous.
@@ -616,11 +688,13 @@
 
 The EAR archive is located in the  ``target``  directory inside the enterprise application directory on your local system.
 
-7. Click OK.
+
+[start=7]
+. Click OK.
 
 When you click OK, the GlassFish deploy tool deploys the application.
 
-*Note.* If you deploy the application using the deploy tool in the GlassFish Admin Console, you will also need to manually create the resources that are required by the application if they do not exist.
+NOTE:  If you deploy the application using the deploy tool in the GlassFish Admin Console, you will also need to manually create the resources that are required by the application if they do not exist.
 
 
 == Downloading the Solution Project
@@ -633,16 +707,26 @@
 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 Repostiory Folders dialog box.
-4. Expand the root node and select *samples/javaee/MavenEnterpriseApp*. 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 Repostiory Folders dialog box.
+
+[start=4]
+. Expand the root node and select *samples/javaee/MavenEnterpriseApp*. 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.* 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+].
+[start=7]
+. Click Open Project in the dialog that appears when checkout is complete.
+
+NOTE:  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:%20Creating%20an%20Enterprise%20Application%20Using%20Maven[+Send Feedback on This Tutorial+]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp_ja.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp_ja.asciidoc
index 2b2e7a2..ac6ab36 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp_ja.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp_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に適用されます"]
-
 * <<intro,IDEでのMavenの使用>>
 * <<Exercise_1,Mavenエンタープライズ・アプリケーション・プロジェクトの作成>>
 * <<Exercise_2,EJBモジュールのコーディング>>
@@ -96,11 +94,11 @@
 
 IDEにバンドルされているMavenバージョンを使用することも、ローカルのMavenインストール(2.0.9以降が必要)の場所を指定することもできます。
 
-4. 「OK」をクリックして「オプション」ウィンドウを閉じます。
 
-*注意:*
+[start=4]
+. 「OK」をクリックして「オプション」ウィンドウを閉じます。
 
-* Mavenサポートは、IDEでJavaが有効になっている場合に自動的に有効になります。Java EEプラグインが有効になっていない場合は、有効にする必要があります。
+NOTE: Mavenサポートは、IDEでJavaが有効になっている場合に自動的に有効になります。Java EEプラグインが有効になっていない場合は、有効にする必要があります。
 
 *Mavenリポジトリの更新*
 
@@ -115,10 +113,11 @@
 
 アーティファクトを検索するには、「サービス」ウィンドウで「Mavenリポジトリ」ノードを右クリックし、「検索」を選択します。
 
-*注意:*
-
+[NOTE]
+====
 * 索引のサイズが非常に大きく、すべてを更新するのに時間がかかる可能性があります。
-* 7.1以前のNetBeans IDEを使用している場合は、「ウィンドウ」>「その他」>「Mavenリポジトリ・ブラウザ」を選択し、「Mavenリポジトリ・ブラウザ」ウィンドウの上部にある「索引の更新」( image::images/maven-refreshrepo.png[title="「索引を更新」ボタン"]  )をクリックする必要があります。
+* 7.1以前のNetBeans IDEを使用している場合は、「ウィンドウ」>「その他」>「Mavenリポジトリ・ブラウザ」を選択し、「Mavenリポジトリ・ブラウザ」ウィンドウの上部にある「索引の更新」( image:images/maven-refreshrepo.png[title="「索引を更新」ボタン"]  )をクリックする必要があります。
+====
 
 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のベスト・プラクティス+]を参照してください。
 
@@ -131,13 +130,27 @@
 
 1. メイン・メニューから「ファイル」>「新規プロジェクト」([Ctrl]-[Shift]-[N]、Macの場合は[⌘]-[Shift]-[N])を選択します。
 2. 「Maven」カテゴリから「エンタープライズ・アプリケーション」を選択します。「次」をクリックします。
+
 image::images/maven-newproject1.png[title="新規プロジェクト・ウィザードのMavenエンタープライズ・アプリケーションのプロジェクト・タイプ"]
-3. 「プロジェクト名」として「*MavenEnterpriseApp*」と入力し、プロジェクトの場所を設定します。
-4. (オプション)アーティファクトの詳細を変更します。「次」をクリックします。
+
+
+[start=3]
+. 「プロジェクト名」として「*MavenEnterpriseApp*」と入力し、プロジェクトの場所を設定します。
+
+[start=4]
+. (オプション)アーティファクトの詳細を変更します。「次」をクリックします。
+
 image::images/maven-newproject2.png[title="新規プロジェクト・ウィザードのMavenプロジェクトの詳細"]
-5. サーバーとして「GlassFish Server」を選択します。
-6. 「Java EEバージョン」を「Java EE 6」または「Java EE 7」に設定します。
-7. 「EJBモジュールを作成」および「Webアプリケーション・モジュールを作成」を選択します。「終了」をクリックします。
+
+
+[start=5]
+. サーバーとして「GlassFish Server」を選択します。
+
+[start=6]
+. 「Java EEバージョン」を「Java EE 6」または「Java EE 7」に設定します。
+
+[start=7]
+. 「EJBモジュールを作成」および「Webアプリケーション・モジュールを作成」を選択します。「終了」をクリックします。
 
 「終了」をクリックすると、Mavenエンタープライズ・アプリケーション原型から次のプロジェクトが作成されます。
 
@@ -175,7 +188,10 @@
 
 他のデフォルト・オプション(持続性ユニット名、EclipseLink持続性プロバイダ)はそのまま使用できます。
 
-5. 「Java Transaction APIを使用」が選択されており、「表生成戦略」が「作成」に設定されていることを確認します。これにより、アプリケーションのデプロイ時に、エンティティ・クラスに基づいて表が作成されます。「終了」をクリックします。
+
+[start=5]
+. 「Java Transaction APIを使用」が選択されており、「表生成戦略」が「作成」に設定されていることを確認します。これにより、アプリケーションのデプロイ時に、エンティティ・クラスに基づいて表が作成されます。「終了」をクリックします。
+
 image::images/maven-persistenceunit.png[title="新規持続性ユニット・ウィザード"]
 
 「終了」をクリックすると、XMLファイル ``persistence.xml`` が作成され、エディタでこのファイルが開かれます。「プロジェクト」ウィンドウでは、 ``「その他のソース」>「src/main/resources」>「META-INF」`` ディレクトリ内で、このファイルが作成されたことを確認できます。このファイルには、データベースとの接続、およびトランザクションの管理方法に関する詳細が記述されています。エディタで「ソース」タブをクリックすると、次のような持続性ユニットの詳細を表示できます。
@@ -218,9 +234,15 @@
 private String title;
 private String body;
 ----
-2. ソース・エディタ内のクラス定義の間を右クリックし、「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])>「取得メソッドおよび設定メソッド」を選択します。
-3. 「取得メソッドおよび設定メソッドの生成」ダイアログ・ボックスで、 ``body`` フィールドおよび ``title`` フィールドを選択します。「生成」をクリックします。
-4. 変更内容をクラスに保存します。
+
+[start=2]
+. ソース・エディタ内のクラス定義の間を右クリックし、「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])>「取得メソッドおよび設定メソッド」を選択します。
+
+[start=3]
+. 「取得メソッドおよび設定メソッドの生成」ダイアログ・ボックスで、 ``body`` フィールドおよび ``title`` フィールドを選択します。「生成」をクリックします。
+
+[start=4]
+. 変更内容をクラスに保存します。
 
 
 === メッセージ駆動型Beanの作成
@@ -237,10 +259,18 @@
 4. 「パッケージ」ドロップダウン・リストから「*ejb*」を選択します。
 5. 「プロジェクトの送信先」フィールドの横の「追加」ボタンをクリックして「メッセージ送信先を追加」ダイアログ・ボックスを開きます。
 6. 「メッセージ送信先を追加」ダイアログ・ボックスで「*jms/NewMessage*」と入力し、送信先タイプに「キュー」を選択します。「OK」をクリックします。
+
 image::images/maven-messagedestination.png[title="「メッセージ送信先の追加」ダイアログ"]
-7. プロジェクトの送信先が正しいことを確認します。「次」をクリックします。
+
+
+[start=7]
+. プロジェクトの送信先が正しいことを確認します。「次」をクリックします。
+
 image::images/maven-newmdb.png[title="新規メッセージ駆動型Beanウィザード"]
-8. 「アクティブ化構成プロパティ」でデフォルトの設定を受け入れます。「終了」をクリックします。
+
+
+[start=8]
+. 「アクティブ化構成プロパティ」でデフォルトの設定を受け入れます。「終了」をクリックします。
 
 「終了」をクリックすると、Beanクラスが生成され、クラスをメッセージ駆動型Beanと特定する次の注釈、および構成プロパティが追加されます。
 
@@ -262,7 +292,9 @@
     }
 }
 ----
-9. 次の注釈済フィールドをクラスに追加して、 ``MessageDrivenContext`` リソースをクラスに注入します。
+
+[start=9]
+. 次の注釈済フィールドをクラスに追加して、 ``MessageDrivenContext`` リソースをクラスに注入します。
 
 [source,java]
 ----
@@ -273,7 +305,9 @@
 private MessageDrivenContext mdc;*
 
 ----
-10. 次の注釈済フィールド(太字部分)を追加して、エンティティ・マネージャをクラスに導入します。
+
+[start=10]
+. 次の注釈済フィールド(太字部分)を追加して、エンティティ・マネージャをクラスに導入します。
 
 [source,java]
 ----
@@ -289,7 +323,9 @@
 
  ``@PersistenceContext`` 注釈は、持続性ユニットを宣言することで、コンテキストを指定します。 ``unitName`` 値は、持続性ユニットの名前です。
 
-11. 次の ``save`` メソッド(太字部分)を追加します。
+
+[start=11]
+. 次の ``save`` メソッド(太字部分)を追加します。
 
 [source,java]
 ----
@@ -305,7 +341,9 @@
     em.persist(object);
 }*
 ----
-12. 本文に次のコード(太字部分)を追加して、 ``onMessage`` メソッドを変更します。
+
+[start=12]
+. 本文に次のコード(太字部分)を追加して、 ``onMessage`` メソッドを変更します。
 
 [source,java]
 ----
@@ -326,9 +364,11 @@
      }*
 }
 ----
-13. インポート文を修正([Ctrl]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])して変更内容を保存します。
 
-*注意: *インポート文の生成時に、* ``jms`` *と* ``javax.annotation.Resource`` *の各ライブラリを必ずインポートします。
+[start=13]
+. インポート文を修正([Ctrl]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])して変更内容を保存します。
+
+NOTE: インポート文の生成時に、* ``jms`` *と* ``javax.annotation.Resource`` *の各ライブラリを必ずインポートします。
 
 メッセージ駆動型Beanの詳細は、link:http://download.oracle.com/javaee/6/tutorial/doc/index.html[+Java EE 6チュートリアル、パートI+]のlink:http://download.oracle.com/javaee/6/tutorial/doc/gipko.html[+メッセージ駆動型Beanとは+]の章を参照してください。
 
@@ -362,8 +402,13 @@
 
 「終了」をクリックすると、 ``ListNews.java`` というクラスがソース・エディタに表示されます。
 
-4. ソース・エディタ内のクラス定義の間を右クリックし、「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])>「エンタープライズBeanをコール」を選択します。
-5. 「エンタープライズBeanをコール」ダイアログ・ボックスで、「MavenEnterpriseApp-ejb」ノードを展開し、「NewsEntityFacade」を選択します。「OK」をクリックします。
+
+[start=4]
+. ソース・エディタ内のクラス定義の間を右クリックし、「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])>「エンタープライズBeanをコール」を選択します。
+
+[start=5]
+. 「エンタープライズBeanをコール」ダイアログ・ボックスで、「MavenEnterpriseApp-ejb」ノードを展開し、「NewsEntityFacade」を選択します。「OK」をクリックします。
+
 image::images/maven-callbean.png[title="「エンタープライズBeanをコール」ダイアログ"]
 
 「OK」をクリックすると、 ``@EJB`` という注釈を使用して、EJBリソースがサーブレットに注入されます。
@@ -377,7 +422,9 @@
     @EJB
     private NewsEntityFacade newsEntityFacade;
 ----
-6.  ``processRequest`` メソッドで、以下の行(太字部分)をメソッドの本体に追加することでメソッドを変更します。
+
+[start=6]
+.  ``processRequest`` メソッドで、以下の行(太字部分)をメソッドの本体に追加することでメソッドを変更します。
 
 [source,xml]
 ----
@@ -396,9 +443,11 @@
    
 ----
 
-*注意:*以前のバージョンのIDEを使用している場合は、コードのコメント解除が必要になることがあります。
+NOTE: 以前のバージョンのIDEを使用している場合は、コードのコメント解除が必要になることがあります。
 
-7. インポートを修正([Ctrl]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])して変更内容を保存します。
+
+[start=7]
+. インポートを修正([Ctrl]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])して変更内容を保存します。
 
 インポート文を生成するときは、 ``java.util`` ライブラリをインポートします。
 
@@ -413,7 +462,9 @@
 
 「終了」をクリックすると、 ``PostMessage.java`` というクラスがソース・エディタに表示されます。
 
-4. ソース・エディタで、注釈を使用して ``ConnectionFactory`` リソースおよび ``Queue`` リソースを注入します。これには、次のフィールド宣言を追加します。
+
+[start=4]
+. ソース・エディタで、注釈を使用して ``ConnectionFactory`` リソースおよび ``Queue`` リソースを注入します。これには、次のフィールド宣言を追加します。
 
 [source,java]
 ----
@@ -426,17 +477,23 @@
    @Resource(mappedName="jms/NewMessage")
    private  Queue queue;*
 ----
-5. インポートを修正して* ``javax.jms`` *ライブラリをインポートします。
+
+[start=5]
+. インポートを修正して* ``javax.jms`` *ライブラリをインポートします。
+
 image::images/maven-searchdepend1.png[title="「すべてのインポートを修正」ダイアログ"]
 
-*注意:*IDEのオプションとして ``javax.jms`` がない場合は、 ``private ConnectionFactory connectionFactory;`` の横のマージンにある提案アイコンをクリックし、「Mavenリポジトリで依存性を検索」を選択することで、リポジトリから適切なアーティファクトを検索できます。
+NOTE: IDEのオプションとして ``javax.jms`` がない場合は、 ``private ConnectionFactory connectionFactory;`` の横のマージンにある提案アイコンをクリックし、「Mavenリポジトリで依存性を検索」を選択することで、リポジトリから適切なアーティファクトを検索できます。
 
 image::images/maven-searchdependencies.png[title="リポジトリで依存性を検索するためのエディタのヒント"]
 
 「Mavenリポジトリで検索」ダイアログを使用して、 ``ConnectionFactory`` を含む ``javaee-api-6.0`` アーティファクトを検索できます。
 
 image::images/maven-searchdepend2.png[title="「Mavenリポジトリで検索」ダイアログ"]
-6. JMSメッセージを送信するための次のコードを ``processRequest`` メソッドに追加します。
+
+
+[start=6]
+. JMSメッセージを送信するための次のコードを ``processRequest`` メソッドに追加します。
 
 [source,java]
 ----
@@ -469,7 +526,9 @@
     }
 }*
 ----
-7. メッセージを追加するWebフォームのために、次のコード(太字部分)を追加します。
+
+[start=7]
+. メッセージを追加するWebフォームのために、次のコード(太字部分)を追加します。
 
 [source,xml]
 ----
@@ -487,12 +546,15 @@
     
 ----
 
-*注意:*以前のバージョンのIDEを使用している場合は、コードのコメント解除が必要になることがあります。
+NOTE: 以前のバージョンのIDEを使用している場合は、コードのコメント解除が必要になることがあります。
 
-8. インポートを修正して変更内容を保存します。
+
+[start=8]
+. インポートを修正して変更内容を保存します。
+
 image::images/maven-jms-imports.png[title="「すべてのインポートを修正」ダイアログ"]
 
-*注意:* ``Connection`` 、 ``ConnectionFactory`` 、 ``Session`` および ``Queue`` に対して、* ``javax.jms`` *ライブラリをインポートします。
+NOTE:  ``Connection`` 、 ``ConnectionFactory`` 、 ``Session`` および ``Queue`` に対して、* ``javax.jms`` *ライブラリをインポートします。
 
 
 == Mavenを使用したアプリケーションのビルド
@@ -543,7 +605,9 @@
 
 依存性の提供を宣言することで、WARアーカイブのビルド時、アーティファクトがMavenによってパッケージ化されなくなります。
 
-4. 変更を保存します。
+
+[start=4]
+. 変更を保存します。
 
 
 === 依存性でビルド
@@ -586,15 +650,23 @@
 
 「実行」をクリックすると、IDEによってサーバー上にEARアーカイブがデプロイされ、JMSリソースが作成されます。IDEがデフォルトのプロジェクト・インデックス・ページ(link:http://localhost:8080/MavenEnterpriseApp-web/[+http://localhost:8080/MavenEnterpriseApp-web/+])をブラウザで開きます。
 
-2. ブラウザで次のURLを開き、ListNewsページを表示します。
+
+[start=2]
+. ブラウザで次のURLを開き、ListNewsページを表示します。
 
 link:http://localhost:8080/MavenEnterpriseApp-web/ListNews[+http://localhost:8080/MavenEnterpriseApp-web/ListNews+]
 
 プロジェクトを初めて実行するときは、データベースは空であり、メッセージは表示されません。
 
 image::images/maven-browser1.png[title="ブラウザに表示されたListNewsページ"]
-3. 「新規メッセージを追加」をクリックします。
-4. PostMessageサーブレットのフォーム内に、メッセージを入力します。「問合せを送信」をクリックします。
+
+
+[start=3]
+. 「新規メッセージを追加」をクリックします。
+
+[start=4]
+. PostMessageサーブレットのフォーム内に、メッセージを入力します。「問合せを送信」をクリックします。
+
 image::images/maven-browser2.png[title="ブラウザに表示されたPostMessageページ"]
 
 PostMessageサーブレットを使用してメッセージを追加すると、永続記憶域に書き込むためのメッセージ駆動型Beanにそのメッセージが送信され、ListNewsサーブレットがコールされて、データベース内のメッセージが表示されます。このメッセージ・サービスは非同期のため、ListNewsによって取得されるデータベース内のメッセージ・リストには、新しいメッセージがまだ含まれていないことがよくあります。
@@ -615,11 +687,13 @@
 
 ローカル・システムでは、EARアーカイブはエンタープライズ・アプリケーション・ディレクトリ内の ``target`` ディレクトリ内に置かれています。
 
-7. 「OK」をクリックします。
+
+[start=7]
+. 「OK」をクリックします。
 
 「OK」をクリックすると、GlassFishデプロイツールにより、アプリケーションがデプロイされます。
 
-*注意:*GlassFish管理コンソールのデプロイ・ツールを使用してアプリケーションをデプロイするときに、アプリケーションが必要とするリソースが存在しない場合は、それらを手動で作成する必要があります。
+NOTE: GlassFish管理コンソールのデプロイ・ツールを使用してアプリケーションをデプロイするときに、アプリケーションが必要とするリソースが存在しない場合は、それらを手動で作成する必要があります。
 
 
 == ソリューション・プロジェクトのダウンロード
@@ -632,16 +706,26 @@
 2. 「チェックアウト」ダイアログ・ボックスで次のリポジトリURLを入力します。
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 「次」をクリックします。
-3. 「参照」をクリックして「リポジトリ・フォルダを参照」ダイアログ・ボックスを開きます。
-4. ルート・ノードを展開し、*samples/javaee/MavenEnterpriseApp*を選択します。「OK」をクリックします。
-5. ソースのローカル・フォルダを指定します(ローカル・フォルダは空である必要があります)。
-6. 「終了」をクリックします。
+
+[start=3]
+. 「参照」をクリックして「リポジトリ・フォルダを参照」ダイアログ・ボックスを開きます。
+
+[start=4]
+. ルート・ノードを展開し、*samples/javaee/MavenEnterpriseApp*を選択します。「OK」をクリックします。
+
+[start=5]
+. ソースのローカル・フォルダを指定します(ローカル・フォルダは空である必要があります)。
+
+[start=6]
+. 「終了」をクリックします。
 
 「終了」をクリックすると、IDEではローカル・フォルダがSubversionリポジトリとして初期化され、プロジェクト・ソースがチェックアウトされます。
 
-7. チェックアウトが完了するときに表示されるダイアログで、「プロジェクトを開く」をクリックします。
 
-*注意:*Subversionのインストールの詳細は、link:../ide/subversion.html[+NetBeans IDEでのSubversionガイド+]のlink:../ide/subversion.html#settingUp[+Subversionの設定+]の項を参照してください。
+[start=7]
+. チェックアウトが完了するときに表示されるダイアログで、「プロジェクトを開く」をクリックします。
+
+NOTE: Subversionのインストールの詳細は、link:../ide/subversion.html[+NetBeans IDEでのSubversionガイド+]のlink:../ide/subversion.html#settingUp[+Subversionの設定+]の項を参照してください。
 
 
 link:/about/contact_form.html?to=3&subject=Feedback:%20Creating%20an%20Enterprise%20Application%20Using%20Maven[+このチュートリアルに関するご意見をお寄せください+]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp_pt_BR.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp_pt_BR.asciidoc
index cb1ec2f..27e0a06 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp_pt_BR.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp_pt_BR.asciidoc
@@ -35,8 +35,6 @@
 
 *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,Utilizando o Maven no IDE>>
 * <<Exercise_1,Criando o Projeto de Aplicação Corporativa Maven>>
 * <<Exercise_2,Codificando o Módulo EJB>>
@@ -96,11 +94,11 @@
 
 Você pode usar a versão do Maven incorporada no IDE ou especificar a localização de uma instalação local do Maven (requer versão 2.0.9 ou posterior).
 
-4. Clique em OK para fechar a janela Opções.
 
-*Observações.*
+[start=4]
+. Clique em OK para fechar a janela Opções.
 
-* O suporte a Maven será automaticamente ativado quando o Java estiver ativado no IDE. Você precisará ativar o plug-in Java EE, se não estiver ativado.
+NOTE: O suporte a Maven será automaticamente ativado quando o Java estiver ativado no IDE. Você precisará ativar o plug-in Java EE, se não estiver ativado.
 
 *Atualizar seus repositórios Maven*
 
@@ -115,10 +113,11 @@
 
 Você pode procurar um artefato clicando com o botão direito no nó Repositórios Maven na janela Serviços e escolhendo Localizar.
 
-*Observações.*
-
+[NOTE]
+====
 * Os índices são muito grandes e pode levar algum tempo para atualizar todos eles.
-* Se você estiver usando o NetBeans IDE 7.1 ou uma versão mais recente, deverá escolher Janela > Outro > Browser do Repositório Maven e clicar em Atualizar Índices ( image::images/maven-refreshrepo.png[title="Botão Atualizar Índices"]  ) na parte superior da janela Browser do Repositório Maven.
+* Se você estiver usando o NetBeans IDE 7.1 ou uma versão mais recente, deverá escolher Janela > Outro > Browser do Repositório Maven e clicar em Atualizar Índices ( image:images/maven-refreshrepo.png[title="Botão Atualizar Índices"]  ) na parte superior da janela Browser do Repositório Maven.
+====
 
 Para obter mais detalhes sobre o uso do Maven no NetBeans IDE, consulte a seção link:https://netbeans.org/kb/docs/java/maven-hib-java-se.html#02[+Configurando o Maven+] no tutorial link:https://netbeans.org/kb/docs/java/maven-hib-java-se.html[+Criando uma Aplicação Maven Swing Utilizando Hibernação+] e também link:http://wiki.netbeans.org/MavenBestPractices[+Melhores Práticas para o Apache Maven no NetBeans IDE+].
 
@@ -131,13 +130,27 @@
 
 1. Selecione Arquivo > Novo Projeto (Ctrl-Shift-N; ⌘-Shift-N no Mac) no menu principal.
 2. Selecione Aplicação Corporativa na categoria Maven. Clique em Próximo.
+
 image::images/maven-newproject1.png[title="Tipo do projeto Aplicação Corporativa Maven no assistente Novo Projeto"]
-3. Digite *MavenEnterpriseApp* como nome do projeto e defina a Localização do Projeto.
-4. (Opcional) Modifique os detalhes do artefato. Clique em Próximo. 
+
+
+[start=3]
+. Digite *MavenEnterpriseApp* como nome do projeto e defina a Localização do Projeto.
+
+[start=4]
+. (Opcional) Modifique os detalhes do artefato. Clique em Próximo. 
+
 image::images/maven-newproject2.png[title="Detalhes do Projeto Maven no assistente Novo Projeto"]
-5. Selecione GlassFish Server como o Servidor.
-6. Defina a versão do Java EE como Java EE 6 ou Java EE 7.
-7. Selecione Criar Módulo EJB e Criar Módulo da Aplicação Web. Clique em Finalizar.
+
+
+[start=5]
+. Selecione GlassFish Server como o Servidor.
+
+[start=6]
+. Defina a versão do Java EE como Java EE 6 ou Java EE 7.
+
+[start=7]
+. Selecione Criar Módulo EJB e Criar Módulo da Aplicação Web. Clique em Finalizar.
 
 Quando você clica em Finalizar, o IDE cria os projetos a seguir a partir do arquétipo de Aplicação Corporativa Maven.
 
@@ -175,7 +188,10 @@
 
 Você pode manter as outras opções default (nome da unidade de persistência, provedor da persistência EclipseLink).
 
-5. Certifique-se de que a opção Utilizar APIs de Transação Java esteja selecionada e de que Estratégia de Geração de Tabela esteja definida como Criar, para que as tabelas baseadas nas classes de entidade sejam criadas quando a aplicação for implantada. Clique em Finalizar.
+
+[start=5]
+. Certifique-se de que a opção Utilizar APIs de Transação Java esteja selecionada e de que Estratégia de Geração de Tabela esteja definida como Criar, para que as tabelas baseadas nas classes de entidade sejam criadas quando a aplicação for implantada. Clique em Finalizar.
+
 image::images/maven-persistenceunit.png[title="Assistente Nova Unidade de Persistência"]
 
 Quando você clica em Finalizar, o IDE cria o arquivo XML  ``persistence.xml``  e o abre no editor. Na janela Projetos, você pode observar que o arquivo foi criado no diretório  ``Outher Sources > src/main/resources > META-INF`` . O arquivo contém detalhes sobre a conexão ao banco de dados e como as transações são gerenciadas. Se clicar na guia Código-fonte no editor, você poderá ver os seguintes detalhes sobre a unidade de persistência.
@@ -218,9 +234,15 @@
 private String title;
 private String body;
 ----
-2. Clique com o botão direito do mouse no Editor de Código-Fonte entre a definição da classe e selecione Inserir Código (Alt-Insert; Ctrl-I no Mac) > Getter e Setter.
-3. Na caixa de diálogo Gerar Getters e Setters, selecione os campos  ``body``  e  ``title`` . Clique em Gerar.
-4. Salve as alterações feitas na classe.
+
+[start=2]
+. Clique com o botão direito do mouse no Editor de Código-Fonte entre a definição da classe e selecione Inserir Código (Alt-Insert; Ctrl-I no Mac) > Getter e Setter.
+
+[start=3]
+. Na caixa de diálogo Gerar Getters e Setters, selecione os campos  ``body``  e  ``title`` . Clique em Gerar.
+
+[start=4]
+. Salve as alterações feitas na classe.
 
 
 === Criando o Bean Baseado em Mensagens
@@ -237,10 +259,18 @@
 4. Selecione *ejb* na lista drop-down Pacote.
 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.
+
 image::images/maven-messagedestination.png[title="Caixa de Diálogo Adicionar Destino da Mensagem"]
-7. Confirme se o destino do projeto está correto. Clique em Próximo.
+
+
+[start=7]
+. Confirme se o destino do projeto está correto. Clique em Próximo.
+
 image::images/maven-newmdb.png[title="Assistente Novo Bean Baseado em Mensagens"]
-8. Aceite as definições default nas Propriedades de Configuração de Ativação. Clique em Finalizar.
+
+
+[start=8]
+. Aceite as definições default nas Propriedades de Configuração de Ativação. Clique em Finalizar.
 
 Quando você clica em Finalizar, o IDE gera a classe do bean e adiciona as anotações seguintes que identificam a classe como um bean baseado em mensagens e as propriedades de configuração.
 
@@ -262,7 +292,9 @@
     }
 }
 ----
-9. Injete o recurso  ``MessageDrivenContext``  na classe, adicionando o seguinte campo anotado à classe.
+
+[start=9]
+. Injete o recurso  ``MessageDrivenContext``  na classe, adicionando o seguinte campo anotado à classe.
 
 [source,java]
 ----
@@ -273,7 +305,9 @@
 private MessageDrivenContext mdc;*
 
 ----
-10. Introduza o gerenciador de entidade na classe, adicionando o seguinte campo anotado (em negrito).
+
+[start=10]
+. Introduza o gerenciador de entidade na classe, adicionando o seguinte campo anotado (em negrito).
 
 [source,java]
 ----
@@ -289,7 +323,9 @@
 
 A anotação  ``@PersistenceContext``  especifica o contexto declarando a unidade de persistência. O valor de  ``unitName``  é o nome da unidade de persistência.
 
-11. Adicione o seguinte método  ``save``  (em negrito).
+
+[start=11]
+. Adicione o seguinte método  ``save``  (em negrito).
 
 [source,java]
 ----
@@ -305,7 +341,9 @@
     em.persist(object);
 }*
 ----
-12. Modifique o método  ``onMessage`` , adicionando o seguinte (em negrito) ao corpo:
+
+[start=12]
+. Modifique o método  ``onMessage`` , adicionando o seguinte (em negrito) ao corpo:
 
 [source,java]
 ----
@@ -326,9 +364,11 @@
      }*
 }
 ----
-13. Corrija as instruções de importação (Ctrl-Shift-I; ⌘-Shift-I no Mac) e salve as alterações.
 
-*Observação:** quando geramos as instruções de importação, queremos garantir a importação das bibliotecas  ``jms`` * e * ``javax.annotation.Resource`` *.
+[start=13]
+. Corrija as instruções de importação (Ctrl-Shift-I; ⌘-Shift-I no Mac) e salve as alterações.
+
+NOTE: quando geramos as instruções de importação, queremos garantir a importação das bibliotecas  ``jms`` * e * ``javax.annotation.Resource`` *.
 
 Para obter mais detalhes sobre beans baseados em mensagens, consulte o capítulo link:http://download.oracle.com/javaee/6/tutorial/doc/gipko.html[+O que é um Bean Baseado em Mensagem?+] no link:http://download.oracle.com/javaee/6/tutorial/doc/index.html[+Tutorial do Java EE 6 , Parte I+].
 
@@ -362,8 +402,13 @@
 
 Quando você clicar em Finalizar, a classe  ``ListNews.java``  irá se abrir no Editor de Código-Fonte.
 
-4. Clique com o botão direito do mouse no Editor de Código-Fonte entre a definição de classes e selecione Inserir Código (Alt-Insert; Ctrl-I no Mac) > Chamar Enterprise Bean.
-5. Na caixa de diálogo Chamar Enterprise Bean, expanda o nó MavenEnterpriseApp-ejb e selecione NewEntityFacade. Clique em OK.
+
+[start=4]
+. Clique com o botão direito do mouse no Editor de Código-Fonte entre a definição de classes e selecione Inserir Código (Alt-Insert; Ctrl-I no Mac) > Chamar Enterprise Bean.
+
+[start=5]
+. Na caixa de diálogo Chamar Enterprise Bean, expanda o nó MavenEnterpriseApp-ejb e selecione NewEntityFacade. Clique em OK.
+
 image::images/maven-callbean.png[title="Caixa de diálogo Chamar Enterprise Bean"]
 
 Quando você clica em OK, o recurso EJB é injetado no servlet utilizando a anotação  ``@EJB`` .
@@ -377,7 +422,9 @@
     @EJB
     private NewsEntityFacade newsEntityFacade;
 ----
-6. No método  ``processRequest`` , modifique o método adicionando as seguintes linhas (em negrito) ao corpo do método:
+
+[start=6]
+. No método  ``processRequest`` , modifique o método adicionando as seguintes linhas (em negrito) ao corpo do método:
 
 [source,xml]
 ----
@@ -396,9 +443,11 @@
    
 ----
 
-*Observação.* Pode ser necessário cancelar o comentário do código, se estiver utilizando uma versão anterior do IDE.
+NOTE:  Pode ser necessário cancelar o comentário do código, se estiver utilizando uma versão anterior do IDE.
 
-7. Corrija as importações (Ctrl-Shift-I; ⌘-Shift-I no Mac) e salve as alterações.
+
+[start=7]
+. Corrija as importações (Ctrl-Shift-I; ⌘-Shift-I no Mac) e salve as alterações.
 
 Ao gerar as instruções de importação, você deseja importar as bibliotecas  ``java.util`` .
 
@@ -413,7 +462,9 @@
 
 Quando você clicar em Finalizar, a classe  ``PostMessage.java``  será aberta no Editor de Código-Fonte.
 
-4. No Editor de Código-Fonte, utilize anotações para injetar os recursos  ``ConnectionFactory``  e  ``Queue`` , adicionando as seguintes declarações de campo.
+
+[start=4]
+. No Editor de Código-Fonte, utilize anotações para injetar os recursos  ``ConnectionFactory``  e  ``Queue`` , adicionando as seguintes declarações de campo.
 
 [source,java]
 ----
@@ -426,17 +477,23 @@
    @Resource(mappedName="jms/NewMessage")
    private  Queue queue;*
 ----
-5. Corrija as importações para importar as bibliotecas * ``javax.jms`` *.
+
+[start=5]
+. Corrija as importações para importar as bibliotecas * ``javax.jms`` *.
+
 image::images/maven-searchdepend1.png[title="Caixa de diálogo Corrigir Todas as Importações"]
 
-*Observação.* Se o IDE não oferecer  ``javax.jms``  como uma opção, você poderá procurar nos repositórios pelo artefato correto clicando no ícone de sugestão na margem ao lado de  ``private ConnectionFactory connectionFactory;``  e selecionando Pesquisar Dependência em Repositórios Maven.
+NOTE:  Se o IDE não oferecer  ``javax.jms``  como uma opção, você poderá procurar nos repositórios pelo artefato correto clicando no ícone de sugestão na margem ao lado de  ``private ConnectionFactory connectionFactory;``  e selecionando Pesquisar Dependência em Repositórios Maven.
 
 image::images/maven-searchdependencies.png[title="Dica no editor para procurar dependências nos repositórios"]
 
 Você pode utilizar a caixa de diálogo Pesquisar nos Repositórios Maven para localizar o artefato  ``javaee-api-6.0``  que contém  ``ConnectionFactory`` .
 
 image::images/maven-searchdepend2.png[title="Caixa de diálogo Pesquisar nos Repositórios Maven"]
-6. Adicione o código a seguir para enviar as mensagens JMS ao método  ``processRequest`` .
+
+
+[start=6]
+. Adicione o código a seguir para enviar as mensagens JMS ao método  ``processRequest`` .
 
 [source,java]
 ----
@@ -469,7 +526,9 @@
     }
 }*
 ----
-7. Adicione o código a seguir (em negrito) ao web form para adicionar uma mensagem.
+
+[start=7]
+. Adicione o código a seguir (em negrito) ao web form para adicionar uma mensagem.
 
 [source,xml]
 ----
@@ -487,12 +546,15 @@
     
 ----
 
-*Observação.* Pode ser necessário cancelar o comentário do código, se estiver utilizando uma versão anterior do IDE.
+NOTE:  Pode ser necessário cancelar o comentário do código, se estiver utilizando uma versão anterior do IDE.
 
-8. Corrija as importações e salve as alterações.
+
+[start=8]
+. Corrija as importações e salve as alterações.
+
 image::images/maven-jms-imports.png[title="Caixa de diálogo Corrigir Todas as Importações"]
 
-*Observação.* Você deseja importar as bibliotecas * ``javax.jms`` * para  ``Connection`` ,  ``ConnectionFactory`` ,  ``Session``  e  ``Queue`` .
+NOTE:  Você deseja importar as bibliotecas * ``javax.jms`` * para  ``Connection`` ,  ``ConnectionFactory`` ,  ``Session``  e  ``Queue`` .
 
 
 == Construindo a Aplicação com Maven
@@ -543,7 +605,9 @@
 
 Quando você declarar que a dependência é fornecida, o Maven não encapsulará o artefato ao construir o arquivo compactado WAR.
 
-4. Salve as alterações.
+
+[start=4]
+. Salve as alterações.
 
 
 === Construindo com Dependências
@@ -586,15 +650,23 @@
 
 Quando você clicar em Executar, o IDE implantará o arquivo compactado EAR e criará os recursos JMS no servidor. O IDE abrirá página default de índice do projeto (link:http://localhost:8080/MavenEnterpriseApp-web/[+http://localhost:8080/MavenEnterpriseApp-web/+]) no browser.
 
-2. Abra o browser no URL a seguir para exibir a página ListNews.
+
+[start=2]
+. Abra o browser no URL a seguir para exibir a página ListNews.
 
 link:http://localhost:8080/MavenEnterpriseApp-web/ListNews[+http://localhost:8080/MavenEnterpriseApp-web/ListNews+].
 
 Quando você executa o projeto pela primeira vez, o banco de dados está vazio e não há mensagens a serem exibidas.
 
 image::images/maven-browser1.png[title="A página ListNews será aberta no browser"]
-3. Clique em Adicionar nova mensagem.
-4. Digite uma mensagem no form no servlet PostMessage. Clique em Submeter Consulta.
+
+
+[start=3]
+. Clique em Adicionar nova mensagem.
+
+[start=4]
+. Digite uma mensagem no form no servlet PostMessage. Clique em Submeter Consulta.
+
 image::images/maven-browser2.png[title="A página PostMessage será aberta no browser"]
 
 Quando você adiciona uma mensagem com o servlet PostMessage, a mensagem é enviada para o bean baseado em mensagens para gravação no armazenamento persistente e o servlet ListNews é chamado para exibir as mensagens no banco de dados. A lista de mensagens no banco de dados recuperada pela ListNews, em geral, ainda não contém a nova mensagem, porque o serviço de mensagem é assíncrono.
@@ -615,11 +687,13 @@
 
 O arquivo compactado EAR está localizado no diretório  ``target``  dentro do diretório da aplicação corporativa no sistema local.
 
-7. Clique em OK.
+
+[start=7]
+. Clique em OK.
 
 Quando você clica em OK, a ferramenta de implantação do GlassFish implanta a aplicação.
 
-*Observação.* Se você implantar a aplicação utilizando a ferramenta de implantação na Console Admin do GlassFish, também precisará criar manualmente os recursos necessários pela aplicação, se eles ainda não existirem.
+NOTE:  Se você implantar a aplicação utilizando a ferramenta de implantação na Console Admin do GlassFish, também precisará criar manualmente os recursos necessários pela aplicação, se eles ainda não existirem.
 
 
 == Fazendo Download do Projeto da Solução
@@ -632,16 +706,26 @@
 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 nas Pastas do Repositório:
-4. Expanda o nó raiz e selecione *samples/javaee/MavenEnterpriseApp*. 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 nas Pastas do Repositório:
+
+[start=4]
+. Expanda o nó raiz e selecione *samples/javaee/MavenEnterpriseApp*. 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.* 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+].
+[start=7]
+. Clique em Abrir Projeto na caixa de diálogo exibida quando o check-out for concluído.
+
+NOTE: 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:%20Creating%20an%20Enterprise%20Application%20Using%20Maven[+Enviar Feedback neste Tutorial+]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp_ru.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp_ru.asciidoc
index 1391ca2..8677c27 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp_ru.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp_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"]
-
 * <<intro,Использование Maven в среде IDE>>
 * <<Exercise_1,Создание проекта приложения уровня предприятия Maven>>
 * <<Exercise_2,Написание кода модуля EJB>>
@@ -96,7 +94,9 @@
 
 Можно использовать версию Maven, входящую в комплект среды IDE, либо указать местоположение локальной установки Maven (требуется версия 2.0.9 или более поздняя).
 
-4. Для закрытия окна "Параметры" нажмите кнопку "ОК".
+
+[start=4]
+. Для закрытия окна "Параметры" нажмите кнопку "ОК".
 
 *Примечания.*
 
@@ -118,7 +118,7 @@
 *Примечания.*
 
 * Размер индексов довольно велик и обновление всех индексов может занять значительное время.
-* Если используется IDE NetBeans 7.1 или более ранняя версия, выберите "Окно > Другие > Обозреватель репозитория Maven" и нажмите "Обновление индексов" ( image::images/maven-refreshrepo.png[title="Кнопка 'Обновить индексы'"]  ) в верхней части окна "Обзор репозитория Maven".
+* Если используется IDE NetBeans 7.1 или более ранняя версия, выберите "Окно > Другие > Обозреватель репозитория Maven" и нажмите "Обновление индексов" ( image:images/maven-refreshrepo.png[title="Кнопка 'Обновить индексы'"]  ) в верхней части окна "Обзор репозитория Maven".
 
 Дополнительные сведения об использовании Maven в IDE NetBeans см. в разделе link:https://netbeans.org/kb/docs/java/maven-hib-java-se.html#02[+Настройка Maven+] в учебном курсе link:https://netbeans.org/kb/docs/java/maven-hib-java-se.html[+Создание приложения Swing Maven с помощью Hibernate+], а также в link:http://wiki.netbeans.org/MavenBestPractices[+Испытанные приемы для Apache Maven в IDE NetBeans+].
 
@@ -131,13 +131,27 @@
 
 1. Выберите 'Файл' > 'Создать проект' (Ctrl-Shift-N; ⌘-Shift-N в Mac) в главном меню.
 2. В категории Maven выберите "Приложение Enterprise. Нажмите кнопку "Далее".
+
 image::images/maven-newproject1.png[title="Тип проекта корпоративного приложения Maven в мастере создания проектов"]
-3. Введите *MavenEnterpriseApp* в качестве имени проекта и укажите местоположение проекта.
-4. (Необязательно) Измените подробные данные артефакта. Нажмите кнопку "Далее". 
+
+
+[start=3]
+. Введите *MavenEnterpriseApp* в качестве имени проекта и укажите местоположение проекта.
+
+[start=4]
+. (Необязательно) Измените подробные данные артефакта. Нажмите кнопку "Далее". 
+
 image::images/maven-newproject2.png[title="Сведения о проекте Maven в мастере создания проектов"]
-5. В качестве сервера выберите сервер GlassFish.
-6. В качестве версии Java EE выберите Java EE 6 или Java EE 7.
-7. Установите флажки "Создать модуль EJB" и "Создать модуль веб-приложения". Нажмите кнопку "Завершить".
+
+
+[start=5]
+. В качестве сервера выберите сервер GlassFish.
+
+[start=6]
+. В качестве версии Java EE выберите Java EE 6 или Java EE 7.
+
+[start=7]
+. Установите флажки "Создать модуль EJB" и "Создать модуль веб-приложения". Нажмите кнопку "Завершить".
 
 При нажатии кнопки "Готово" из архетипа приложения Maven Enterprise создаются следующие проекты:
 
@@ -175,7 +189,10 @@
 
 Можно сохранить другие параметры по умолчанию (имя блока сохранения состояния, поставщик сохранения состояния EclipseLink).
 
-5. Убедитесь в том, что установлен флажок "Использовать интерфейсы API Java Translaction", и что для стратегии создания таблиц установлено значение "Создать", т.е. таблицы на основе классов сущностей создаются при развертывании приложения. Нажмите кнопку "Завершить".
+
+[start=5]
+. Убедитесь в том, что установлен флажок "Использовать интерфейсы API Java Translaction", и что для стратегии создания таблиц установлено значение "Создать", т.е. таблицы на основе классов сущностей создаются при развертывании приложения. Нажмите кнопку "Завершить".
+
 image::images/maven-persistenceunit.png[title="Мастер создания блоков сохранения состояния"]
 
 При нажатии кнопки "Готово" в среде IDE создается файл XML  ``persistence.xml`` , который открывается в редакторе. В окне 'Проекты' видно, что файл был создан в каталоге  ``Другие источники > src/main/resources > META-INF`` . В этом файле содержатся подробные данные о подключении к базе данных и об управлении транзакциями. При переходе на вкладку "Исходный код" в редакторе отобразятся следующие данные блока сохранения состояния.
@@ -218,9 +235,15 @@
 private String title;
 private String body;
 ----
-2. В редакторе исходного кода щелкните правой кнопкой мыши внутри определения класса и выберите "Вставка кода" (ALT+ISERT; CTRL+I на компьютере Mac) > "Методы получения и установки".
-3. В диалоговом окне "Создание методов получения и установки" выберите поля  ``body``  и  ``title`` . Нажмите кнопку "Создать".
-4. Сохраните изменения, внесенные в класс.
+
+[start=2]
+. В редакторе исходного кода щелкните правой кнопкой мыши внутри определения класса и выберите "Вставка кода" (ALT+ISERT; CTRL+I на компьютере Mac) > "Методы получения и установки".
+
+[start=3]
+. В диалоговом окне "Создание методов получения и установки" выберите поля  ``body``  и  ``title`` . Нажмите кнопку "Создать".
+
+[start=4]
+. Сохраните изменения, внесенные в класс.
 
 
 === Создание управляемого сообщениями компонента
@@ -237,10 +260,18 @@
 4. В раскрывающемся списке "Пакет" выберите *ejb*.
 5. Для открытия диалогового окна "Добавление адресата сообщения" нажмите кнопку "Добавить" рядом с полем "Адресат проекта".
 6. В диалоговом окне "Добавление адресата сообщения" введите *jms/NewMessage* и выберите "Очередь" для типа адресата. Нажмите кнопку "ОК".
+
 image::images/maven-messagedestination.png[title="Диалоговое окно &quot;Добавление назначения сообщения&quot;."]
-7. Подтвердите, что адресат проекта выбран правильно. Нажмите кнопку "Далее".
+
+
+[start=7]
+. Подтвердите, что адресат проекта выбран правильно. Нажмите кнопку "Далее".
+
 image::images/maven-newmdb.png[title="Мастер создания компонентов, управляемых сообщениями"]
-8. В диалоговом окне "Свойства конфигурации активации" оставьте настройки по умолчанию без изменений. Нажмите кнопку "Завершить".
+
+
+[start=8]
+. В диалоговом окне "Свойства конфигурации активации" оставьте настройки по умолчанию без изменений. Нажмите кнопку "Завершить".
 
 При нажатии кнопки "Готово" автоматически создается класс компонента, к которому добавляются следующие аннотации, идентифицирующие класс как компонент, управляемый сообщениями, а также свойства настройки.
 
@@ -262,7 +293,9 @@
     }
 }
 ----
-9. Введите в класс ресурс  ``MessageDrivenContext``  посредством добавления к классу следующего аннотированного поля:
+
+[start=9]
+. Введите в класс ресурс  ``MessageDrivenContext``  посредством добавления к классу следующего аннотированного поля:
 
 [source,java]
 ----
@@ -273,7 +306,9 @@
 private MessageDrivenContext mdc;*
 
 ----
-10. Введите в класс диспетчер объектов посредством добавления к классу следующего аннотированного поля (выделено полужирным шрифтом):
+
+[start=10]
+. Введите в класс диспетчер объектов посредством добавления к классу следующего аннотированного поля (выделено полужирным шрифтом):
 
 [source,java]
 ----
@@ -289,7 +324,9 @@
 
 Аннотация  ``@PersistenceContext``  указывает контекст путем объявления блока сохранения состояния. Значение  ``unitName``  представляет собой имя блока сохранения состояния.
 
-11. Добавьте следующий метод  ``save``  (выделен полужирным шрифтом).
+
+[start=11]
+. Добавьте следующий метод  ``save``  (выделен полужирным шрифтом).
 
 [source,java]
 ----
@@ -305,7 +342,9 @@
     em.persist(object);
 }*
 ----
-12. Измените метод  ``onMessage``  путем добавления следующих строк кода (выделены полужирным шрифтом) в тело метода:
+
+[start=12]
+. Измените метод  ``onMessage``  путем добавления следующих строк кода (выделены полужирным шрифтом) в тело метода:
 
 [source,java]
 ----
@@ -326,9 +365,11 @@
      }*
 }
 ----
-13. Исправьте операторы импорта (Ctrl-Shift-I; ⌘-Shift-I в Mac) и сохраните изменения.
 
-*Примечание.* При создании операторов импорта необходимо убедиться, что импортируются библиотеки * ``jms`` * и * ``javax.annotation.Resource`` *.
+[start=13]
+. Исправьте операторы импорта (Ctrl-Shift-I; ⌘-Shift-I в Mac) и сохраните изменения.
+
+NOTE:  При создании операторов импорта необходимо убедиться, что импортируются библиотеки * ``jms`` * и * ``javax.annotation.Resource`` *.
 
 Подробные сведения об управляемых сообщениями компонентах приведены в главе link:http://download.oracle.com/javaee/6/tutorial/doc/gipko.html[+Что такое управляемый сообщениями компонент?+] в link:http://download.oracle.com/javaee/6/tutorial/doc/index.html[+руководстве по Java EE 6. Часть I+].
 
@@ -362,8 +403,13 @@
 
 При нажатии кнопки "Готово" класс  ``ListNews.java``  будет открыт в редакторе исходного кода.
 
-4. Щелкните правой кнопкой мыши в редакторе исходного кода в определении класса и выберите команду "Вставка кода" (ALT+ISERT; CTRL+I на компьютере Mac) > "Вызов компонента EJB".
-5. В диалоговом окне "Вызов компонента EJB" разверните узел MavenEnterpriseApp-ejb и выберите NewsEntityFacade. Нажмите кнопку "ОК".
+
+[start=4]
+. Щелкните правой кнопкой мыши в редакторе исходного кода в определении класса и выберите команду "Вставка кода" (ALT+ISERT; CTRL+I на компьютере Mac) > "Вызов компонента EJB".
+
+[start=5]
+. В диалоговом окне "Вызов компонента EJB" разверните узел MavenEnterpriseApp-ejb и выберите NewsEntityFacade. Нажмите кнопку "ОК".
+
 image::images/maven-callbean.png[title="Диалоговое окно 'Вызвать компонент корпоративного уровня'"]
 
 При нажатии кнопки ОК выполняется ввод ресурса EJB в сервлет с использованием аннотации  ``@EJB`` .
@@ -377,7 +423,9 @@
     @EJB
     private NewsEntityFacade newsEntityFacade;
 ----
-6. В методе  ``processRequest``  внесите изменения, добавив следующие строки (выделены полужирным шрифтом) в тело метода:
+
+[start=6]
+. В методе  ``processRequest``  внесите изменения, добавив следующие строки (выделены полужирным шрифтом) в тело метода:
 
 [source,xml]
 ----
@@ -396,9 +444,11 @@
    
 ----
 
-*Примечание.* Если используется более ранняя версия IDE необходимо удалить комментарии кода.
+NOTE:  Если используется более ранняя версия IDE необходимо удалить комментарии кода.
 
-7. Исправьте выражения импорта (Ctrl-Shift-I; ⌘-Shift-I в Mac) и сохраните изменения.
+
+[start=7]
+. Исправьте выражения импорта (Ctrl-Shift-I; ⌘-Shift-I в Mac) и сохраните изменения.
 
 При создании операторов импорта может потребоваться импортировать библиотеки  ``java.util`` .
 
@@ -413,7 +463,9 @@
 
 При нажатии кнопки "Готово" в редакторе исходного кода будет открыт класс  ``PostMessage.java`` .
 
-4. Используйте аннотации в редакторе исходного кода для ввода ресурсов  ``ConnectionFactory``  и  ``Queue``  путем добавления следующих объявлений полей.
+
+[start=4]
+. Используйте аннотации в редакторе исходного кода для ввода ресурсов  ``ConnectionFactory``  и  ``Queue``  путем добавления следующих объявлений полей.
 
 [source,java]
 ----
@@ -426,17 +478,23 @@
    @Resource(mappedName="jms/NewMessage")
    private  Queue queue;*
 ----
-5. Для импорта библиотек * ``javax.jms`` * исправьте параметры импорта.
+
+[start=5]
+. Для импорта библиотек * ``javax.jms`` * исправьте параметры импорта.
+
 image::images/maven-searchdepend1.png[title="Диалоговое окно 'Исправить все выражения импорта'"]
 
-*Примечание.* Если IDE не поддерживает  ``javax.jms``  как параметр, можно выполнить поиск в репозиториях правильного артефакта, щелкнув значок рекомендации на поле рядом с  ``private ConnectionFactory connectionFactory;``  и выбрав 'Поиск зависимостей' в репозиториях Maven.
+NOTE:  Если IDE не поддерживает  ``javax.jms``  как параметр, можно выполнить поиск в репозиториях правильного артефакта, щелкнув значок рекомендации на поле рядом с  ``private ConnectionFactory connectionFactory;``  и выбрав 'Поиск зависимостей' в репозиториях Maven.
 
 image::images/maven-searchdependencies.png[title="Подсказки в редакторе для поиска в репозиториях зависимостей"]
 
 Для поиска артефакта  ``javaee-api-6.0`` , содержащего  ``ConnectionFactory``  можно воспользоваться диалоговым окном "Поиск в репозиториях Maven".
 
 image::images/maven-searchdepend2.png[title="Диалоговое окно 'Поиск в репозиториях Maven'"]
-6. Добавьте следующие строки, используемые для отправки сообщений JMS, к методу  ``processRequest`` .
+
+
+[start=6]
+. Добавьте следующие строки, используемые для отправки сообщений JMS, к методу  ``processRequest`` .
 
 [source,java]
 ----
@@ -469,7 +527,9 @@
     }
 }*
 ----
-7. Добавьте следующие строки, используемые для отправки сообщений (выделены жирным шрифтом) к веб-форме.
+
+[start=7]
+. Добавьте следующие строки, используемые для отправки сообщений (выделены жирным шрифтом) к веб-форме.
 
 [source,xml]
 ----
@@ -487,12 +547,15 @@
     
 ----
 
-*Примечание.* Если используется более ранняя версия IDE необходимо удалить комментарии кода.
+NOTE:  Если используется более ранняя версия IDE необходимо удалить комментарии кода.
 
-8. Исправьте операторы импорта и сохраните измененные данные.
+
+[start=8]
+. Исправьте операторы импорта и сохраните измененные данные.
+
 image::images/maven-jms-imports.png[title="Диалоговое окно 'Исправить все выражения импорта'"]
 
-*Примечание.* Необходимо выполнить импорт библиотек * ``javax.jms`` * для  ``Connection`` ,  ``ConnectionFactory`` ,  ``Session``  и  ``Queue`` .
+NOTE:  Необходимо выполнить импорт библиотек * ``javax.jms`` * для  ``Connection`` ,  ``ConnectionFactory`` ,  ``Session``  и  ``Queue`` .
 
 
 == Сборка приложения с помощью Maven
@@ -543,7 +606,9 @@
 
 Если в файле POM содержится объявление предоставленной зависимости, этот артефакт не пакетируется Maven при сборке архива WAR.
 
-4. Сохраните изменения.
+
+[start=4]
+. Сохраните изменения.
 
 
 === Сборка проекта с зависимостями
@@ -586,15 +651,23 @@
 
 При нажатии команды "Выполнение" среда IDE разворачивает архив EAR и создает ресурсы JMS на сервере. Среда IDE откроет установленную по умолчанию начальную страницу приложения (link:http://localhost:8080/MavenEnterpriseApp-web/[+http://localhost:8080/MavenEnterpriseApp-web/+]) в браузере.
 
-2. Для вывода страницы ListNews откройте в браузере следующий адрес URL.
+
+[start=2]
+. Для вывода страницы ListNews откройте в браузере следующий адрес URL.
 
 link:http://localhost:8080/MavenEnterpriseApp-web/ListNews[+http://localhost:8080/MavenEnterpriseApp-web/ListNews+].
 
 При первом выполнении проекта база данных пуста, и сообщения для вывода отсутствуют.
 
 image::images/maven-browser1.png[title="Страница ListNews открыта в браузере"]
-3. Нажмите кнопку "Добавить сообщение".
-4. Введите сообщение в форму в сервлете PostMessage. Нажмите кнопку "Отправить запрос".
+
+
+[start=3]
+. Нажмите кнопку "Добавить сообщение".
+
+[start=4]
+. Введите сообщение в форму в сервлете PostMessage. Нажмите кнопку "Отправить запрос".
+
 image::images/maven-browser2.png[title="Страница PostMessage открыта в браузере"]
 
 При добавлении сообщения с помощью сервлета PostMessage оно передается на постоянное хранение в управляемый сообщениями компонент. Для просмотра сообщений в базе данных вызывается сервлет ListNews. Список сообщений в базе данных, извлеченных сервлетом ListNews, часто выводится без нового сообщения, поскольку служба передачи сообщений работает асинхронно.
@@ -615,11 +688,13 @@
 
 Архив EAR расположен в каталоге  ``target``  внутри каталога приложения уровня предприятия в локальной системе.
 
-7. Нажмите кнопку "ОК".
+
+[start=7]
+. Нажмите кнопку "ОК".
 
 При нажатии кнопки "ОК" выполняется развертывание приложения с помощью средства развертывания GlassFish.
 
-*Примечание.* При развертывании приложения с помощью средства развертывания на консоли администрирования GlassFish, также необходимо вручную создать ресурсы, необходимые для приложения, если они не существуют.
+NOTE:  При развертывании приложения с помощью средства развертывания на консоли администрирования GlassFish, также необходимо вручную создать ресурсы, необходимые для приложения, если они не существуют.
 
 
 == Загрузка проекта решения
@@ -632,14 +707,24 @@
 2. В диалоговом окне "Проверка" введите следующий URL-адрес репозитория:
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 Нажмите кнопку "Далее".
-3. Нажмите кнопку "Обзор" для открытия диалогового окна "Обзор папок репозитория".
-4. Разверните корневой узел и выберите *samples/javaee/MavenEnterpriseApp*. Нажмите кнопку "ОК".
-5. Укажите локальную папку для исходных файлов (папка должна быть пустой).
-6. Нажмите кнопку "Завершить".
+
+[start=3]
+. Нажмите кнопку "Обзор" для открытия диалогового окна "Обзор папок репозитория".
+
+[start=4]
+. Разверните корневой узел и выберите *samples/javaee/MavenEnterpriseApp*. Нажмите кнопку "ОК".
+
+[start=5]
+. Укажите локальную папку для исходных файлов (папка должна быть пустой).
+
+[start=6]
+. Нажмите кнопку "Завершить".
 
 После нажатия кнопки "Готово" среда IDE инициализирует локальную папку в качестве репозитория Subversion и выполняет проверку исходных файлов проекта на выходе.
 
-7. Щелкните команду "Открыть проект" в диалоговом окне, которое появится после завершения проверки.
+
+[start=7]
+. Щелкните команду "Открыть проект" в диалоговом окне, которое появится после завершения проверки.
 
 *Примечания.* 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 IDE NetBeans+].
 
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp_zh_CN.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp_zh_CN.asciidoc
index 72e26f7..cbfc87f 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp_zh_CN.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-entapp_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"]
-
 * <<intro,在 IDE 中使用 Maven>>
 * <<Exercise_1,创建 Maven 企业应用程序项目>>
 * <<Exercise_2,对 EJB 模块进行编码>>
@@ -95,11 +93,11 @@
 
 您可以使用与 IDE 捆绑在一起的 Maven 版本,也可以指定 Maven 在本地的安装位置(要求为 2.0.9 或更高版本)。
 
-4. 选择 "OK"(确定)以关闭 "Options"(选项)窗口。
 
-*注:*
+[start=3]
+. 选择 "OK"(确定)以关闭 "Options"(选项)窗口。
 
-* 在 IDE 中启用 Java 后,会自动启用 Maven 支持。您将需要启用 Java EE 插件(如果尚未启用)。
+NOTE: 在 IDE 中启用 Java 后,会自动启用 Maven 支持。您将需要启用 Java EE 插件(如果尚未启用)。
 
 *更新 Maven 资源库*
 
@@ -114,10 +112,11 @@
 
 在 "Services"(服务)窗口中右键单击 "Maven Repositories"(Maven 资源库)并选择 "Find"(查找)可搜索工件。
 
-*注:*
-
+[NOTE]
+====
 * 索引非常大,因此可能需要一些时间才能全部更新。
-* 如果您使用的是 NetBeans IDE 7.1 或更早版本,您将需要选择 "Window"(窗口)> "Other"(其他)> "Maven Repository Browser"(Maven 资源库浏览器),并在 "Maven Repository Browser"(Maven 资源库浏览器)窗口顶部单击 "Update Indexes"(更新索引)(image::images/maven-refreshrepo.png[title=""Update Indexes"(更新索引)按钮"])。
+* 如果您使用的是 NetBeans IDE 7.1 或更早版本,您将需要选择 "Window"(窗口)> "Other"(其他)> "Maven Repository Browser"(Maven 资源库浏览器),并在 "Maven Repository Browser"(Maven 资源库浏览器)窗口顶部单击 "Update Indexes"(更新索引)(image:images/maven-refreshrepo.png[title=""Update Indexes"(更新索引)按钮"])。
+====
 
 有关在 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 最佳做法+]。
 
@@ -130,13 +129,27 @@
 
 1. 从主菜单中选择 "File"(文件)> "New Project"(新建项目)(Ctrl-Shift-N 组合键;在 Mac 上为 ⌘-Shift-N 组合键)。
 2. 从 "Maven" 类别中选择 "Enterprise Application"(企业应用程序)。单击 "Next"(下一步)。
+
 image::images/maven-newproject1.png[title="新建项目向导中的 "Maven Enterprise Application"(Maven 企业应用程序)项目类型"]
-3. 键入 *MavenEnterpriseApp* 作为项目名称并设置项目位置。
-4. (可选)修改工件详细信息。单击 "Next"(下一步)。 
+
+
+[start=3]
+. 键入 *MavenEnterpriseApp* 作为项目名称并设置项目位置。
+
+[start=4]
+. (可选)修改工件详细信息。单击 "Next"(下一步)。 
+
 image::images/maven-newproject2.png[title="新建项目向导中的 "Maven Project"(Maven 项目)详细信息"]
-5. 选择 GlassFish Server 作为服务器。
-6. 将 "Java EE Version"(Java EE 版本)设置为 "Java EE 6" 或 "Java EE 7"。
-7. 选中 "Create EJB Module"(创建 EJB 模块)和 "Create Web App Module"(创建 Web 应用程序模块)。单击 "Finish"(完成)。
+
+
+[start=5]
+. 选择 GlassFish Server 作为服务器。
+
+[start=6]
+. 将 "Java EE Version"(Java EE 版本)设置为 "Java EE 6" 或 "Java EE 7"。
+
+[start=7]
+. 选中 "Create EJB Module"(创建 EJB 模块)和 "Create Web App Module"(创建 Web 应用程序模块)。单击 "Finish"(完成)。
 
 单击 "Finish"(完成),此时 IDE 将使用 Maven 企业应用程序原型创建以下项目。
 
@@ -174,7 +187,10 @@
 
 您可以保留其他默认选项(持久性单元名称、EclipseLink 持久性提供器)。
 
-5. 确保选中 "Use Java Transaction APIs"(使用 Java 事务 API),并且将 "Table Generation Strategy"(表生成策略)设置为 "Create"(创建),以便在部署应用程序时创建基于实体类的表。单击 "Finish"(完成)。
+
+[start=5]
+. 确保选中 "Use Java Transaction APIs"(使用 Java 事务 API),并且将 "Table Generation Strategy"(表生成策略)设置为 "Create"(创建),以便在部署应用程序时创建基于实体类的表。单击 "Finish"(完成)。
+
 image::images/maven-persistenceunit.png[title="新建持久性单元向导"]
 
 单击 "Finish"(完成),此时 IDE 将创建 XML 文件  ``persistence.xml``  并在编辑器中打开该文件。在 "Projects"(项目)窗口中,您可以看到在  ``"Other Sources"(其他源)> "src/main/resources" > "META-INF"``  目录中创建了该文件。该文件包含连接到数据库以及如何管理事务的详细信息。如果在编辑器中单击 "Source"(源)标签,则可以查看与持久性单元相关的以下详细信息。
@@ -217,9 +233,15 @@
 private String title;
 private String body;
 ----
-2. 在源代码编辑器的类定义之间右键单击,然后选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键)> "Getter and Setter"(Getter 和 Setter)。
-3. 在 "Generate Getters and Setters"(生成 Getter 和 Setter)对话框中,选择  ``body``  和  ``title``  字段。单击 "Generate"(生成)。
-4. 保存对该类所做的更改。
+
+[start=2]
+. 在源代码编辑器的类定义之间右键单击,然后选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键)> "Getter and Setter"(Getter 和 Setter)。
+
+[start=3]
+. 在 "Generate Getters and Setters"(生成 Getter 和 Setter)对话框中,选择  ``body``  和  ``title``  字段。单击 "Generate"(生成)。
+
+[start=4]
+. 保存对该类所做的更改。
 
 
 === 创建消息驱动 Bean
@@ -236,10 +258,18 @@
 4. 从 "Package"(包)下拉列表中选择 *ejb*。
 5. 单击 "Project Destination"(项目目标)字段旁边的 "Add"(添加)按钮,以打开 "Add Message Destination"(添加消息目标)对话框。
 6. 在 "Add Message Destination"(添加消息目标)对话框中,键入 *jms/NewMessage* 并选择 "Queue"(队列)作为目标类型。单击 "OK"(确定)。
+
 image::images/maven-messagedestination.png[title=""Add Message Destination"(添加消息目标)对话框"]
-7. 确认项目目标正确无误。单击 "Next"(下一步)。
+
+
+[start=7]
+. 确认项目目标正确无误。单击 "Next"(下一步)。
+
 image::images/maven-newmdb.png[title="新建消息驱动 Bean 向导"]
-8. 接受 "Activation Config Properties"(激活配置属性)中的默认设置。单击 "Finish"(完成)。
+
+
+[start=8]
+. 接受 "Activation Config Properties"(激活配置属性)中的默认设置。单击 "Finish"(完成)。
 
 单击 "Finish"(完成),此时 IDE 将生成 Bean 类,并添加以下标注(将该类标识为消息驱动 Bean)和配置属性。
 
@@ -261,7 +291,9 @@
     }
 }
 ----
-9. 在类中添加以下带标注的字段,以将  ``MessageDrivenContext``  资源注入到类中。
+
+[start=9]
+. 在类中添加以下带标注的字段,以将  ``MessageDrivenContext``  资源注入到类中。
 
 [source,java]
 ----
@@ -272,7 +304,9 @@
 private MessageDrivenContext mdc;*
 
 ----
-10. 添加以下带标注的字段(以粗体显示),以将实体管理器引入到类中。
+
+[start=10]
+. 添加以下带标注的字段(以粗体显示),以将实体管理器引入到类中。
 
 [source,java]
 ----
@@ -288,7 +322,9 @@
 
  ``@PersistenceContext``  标注通过声明持久性单元来指定上下文。 ``unitName``  值是持久性单元的名称。
 
-11. 添加以下  ``save``  方法(以粗体显示)。
+
+[start=11]
+. 添加以下  ``save``  方法(以粗体显示)。
 
 [source,java]
 ----
@@ -304,7 +340,9 @@
     em.persist(object);
 }*
 ----
-12. 在  ``onMessage``  方法主体中,添加以下内容(以粗体显示)以修改该方法:
+
+[start=12]
+. 在  ``onMessage``  方法主体中,添加以下内容(以粗体显示)以修改该方法:
 
 [source,java]
 ----
@@ -325,9 +363,11 @@
      }*
 }
 ----
-13. 修复 import 语句(Ctrl-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键)并保存所做的更改。
 
-*注:*在生成 import 语句时,您需要确保导入 * ``jms`` * 和 * ``javax.annotation.Resource`` *。
+[start=13]
+. 修复 import 语句(Ctrl-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键)并保存所做的更改。
+
+NOTE: 在生成 import 语句时,您需要确保导入 * ``jms`` * 和 * ``javax.annotation.Resource`` *。
 
 有关消息驱动 Bean 的更多详细信息,请参见 link:http://download.oracle.com/javaee/6/tutorial/doc/index.html[+Java EE 6 教程第 I 部分+]中的link:http://download.oracle.com/javaee/6/tutorial/doc/gipko.html[+什么是消息驱动 Bean?+]一章。
 
@@ -361,8 +401,13 @@
 
 单击 "Finish"(完成),此时将在源代码编辑器中打开类  ``ListNews.java`` 。
 
-4. 在源代码编辑器中的类定义之间右键单击,然后选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键)> "Call Enterprise Bean"(调用企业 Bean)。
-5. 在 "Call Enterprise Bean"(调用企业 Bean)对话框中,展开 "MavenEnterpriseApp-ejb" 节点,然后选择 "NewsEntityFacade"。单击 "OK"(确定)。
+
+[start=4]
+. 在源代码编辑器中的类定义之间右键单击,然后选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键)> "Call Enterprise Bean"(调用企业 Bean)。
+
+[start=5]
+. 在 "Call Enterprise Bean"(调用企业 Bean)对话框中,展开 "MavenEnterpriseApp-ejb" 节点,然后选择 "NewsEntityFacade"。单击 "OK"(确定)。
+
 image::images/maven-callbean.png[title=""Call Enterprise Bean"(调用企业 Bean)对话框"]
 
 在单击 "OK"(确定)时,将使用  ``@EJB``  标注将 EJB 资源注入到 Servlet 中。
@@ -376,7 +421,9 @@
     @EJB
     private NewsEntityFacade newsEntityFacade;
 ----
-6. 在  ``processRequest``  方法中,将以下代码行(以粗体显示)添加到方法主体中以修改该方法:
+
+[start=6]
+. 在  ``processRequest``  方法中,将以下代码行(以粗体显示)添加到方法主体中以修改该方法:
 
 [source,xml]
 ----
@@ -395,9 +442,11 @@
    
 ----
 
-*注:*如果您使用的是早期版本的 IDE,可能需要注释掉该代码。
+NOTE: 如果您使用的是早期版本的 IDE,可能需要注释掉该代码。
 
-7. 修复 import 语句(Ctrl-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键)并保存所做的更改。
+
+[start=7]
+. 修复 import 语句(Ctrl-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键)并保存所做的更改。
 
 在生成 import 语句时,您希望导入  ``java.util``  库。
 
@@ -412,7 +461,9 @@
 
 单击 "Finish"(完成),此时将在源代码编辑器中打开类  ``PostMessage.java`` 。
 
-4. 在源代码编辑器中,添加以下字段声明以使用标注注入  ``ConnectionFactory``  和  ``Queue``  资源。
+
+[start=4]
+. 在源代码编辑器中,添加以下字段声明以使用标注注入  ``ConnectionFactory``  和  ``Queue``  资源。
 
 [source,java]
 ----
@@ -425,17 +476,23 @@
    @Resource(mappedName="jms/NewMessage")
    private  Queue queue;*
 ----
-5. 修复 import 语句以导入 * ``javax.jms`` * 库。
+
+[start=5]
+. 修复 import 语句以导入 * ``javax.jms`` * 库。
+
 image::images/maven-searchdepend1.png[title=""Fix All Imports"(修复所有导入)对话框"]
 
-*注:*如果 IDE 未提供  ``javax.jms``  以供选择,您可以在资源库中搜索合适的工件,方法是:在  ``private ConnectionFactory connectionFactory;``  旁边的旁注中单击建议图标,然后选择 "Search Dependency at Maven Repositories"(在 Maven 资源库中搜索依赖关系)。
+NOTE: 如果 IDE 未提供  ``javax.jms``  以供选择,您可以在资源库中搜索合适的工件,方法是:在  ``private ConnectionFactory connectionFactory;``  旁边的旁注中单击建议图标,然后选择 "Search Dependency at Maven Repositories"(在 Maven 资源库中搜索依赖关系)。
 
 image::images/maven-searchdependencies.png[title="编辑器中用于在资源库中搜索依赖关系的提示"]
 
 使用 "Search in Maven Repositories"(在 Maven 资源库中搜索)对话框,可以找到包含  ``ConnectionFactory``  的  ``javaee-api-6.0``  工件。
 
 image::images/maven-searchdepend2.png[title=""Search in Maven Repositories"(在 Maven 资源库中搜索)对话框"]
-6. 添加以下代码以将 JMS 消息发送到  ``processRequest``  方法。
+
+
+[start=6]
+. 添加以下代码以将 JMS 消息发送到  ``processRequest``  方法。
 
 [source,java]
 ----
@@ -468,7 +525,9 @@
     }
 }*
 ----
-7. 为用于添加消息的 Web 窗体添加以下代码(以粗体显示)。
+
+[start=7]
+. 为用于添加消息的 Web 窗体添加以下代码(以粗体显示)。
 
 [source,xml]
 ----
@@ -486,12 +545,15 @@
     
 ----
 
-*注:*如果您使用的是早期版本的 IDE,可能需要注释掉该代码。
+NOTE: 如果您使用的是早期版本的 IDE,可能需要注释掉该代码。
 
-8. 修复导入并保存更改。
+
+[start=8]
+. 修复导入并保存更改。
+
 image::images/maven-jms-imports.png[title=""Fix All Imports"(修复所有导入)对话框"]
 
-*注:*您需要为  ``Connection`` 、 ``ConnectionFactory`` 、 ``Session``  和  ``Queue``  导入 * ``javax.jms`` * 库。
+NOTE: 您需要为  ``Connection`` 、 ``ConnectionFactory`` 、 ``Session``  和  ``Queue``  导入 * ``javax.jms`` * 库。
 
 
 == 使用 Maven 构建应用程序
@@ -542,7 +604,9 @@
 
 通过声明提供了依赖关系,在构建 WAR 档案时,Maven 将不打包该工件。
 
-4. 保存所做的更改。
+
+[start=4]
+. 保存所做的更改。
 
 
 === 使用依赖关系构建
@@ -585,15 +649,23 @@
 
 单击 "Run"(运行)后,IDE 将在服务器上部署 EAR 档案并创建 JMS 资源。IDE 将在浏览器中打开默认的项目索引页 (link:http://localhost:8080/MavenEnterpriseApp-web/[+http://localhost:8080/MavenEnterpriseApp-web/+])。
 
-2. 打开浏览器,访问下列 URL 以显示 ListNews 页。
+
+[start=2]
+. 打开浏览器,访问下列 URL 以显示 ListNews 页。
 
 link:http://localhost:8080/MavenEnterpriseApp-web/ListNews[+http://localhost:8080/MavenEnterpriseApp-web/ListNews+]。
 
 第一次运行项目时,数据库为空,并且没有要显示的消息。
 
 image::images/maven-browser1.png[title="在浏览器中打开的 ListNews 页"]
-3. 单击 "Add New Message"(添加新消息)。
-4. 在 PostMessage Servlet 的窗体中键入消息。单击 "Submit Query"(提交查询)。
+
+
+[start=3]
+. 单击 "Add New Message"(添加新消息)。
+
+[start=4]
+. 在 PostMessage Servlet 的窗体中键入消息。单击 "Submit Query"(提交查询)。
+
 image::images/maven-browser2.png[title="在浏览器中打开的 PostMessage 页"]
 
 使用 PostMessage Servlet 添加消息时,会将该消息发送到消息驱动 Bean 以写入持久性存储,并且将调用 ListNews Servlet 以显示数据库中的消息。ListNews 检索到的数据库中消息的列表通常不包含新消息,因为消息服务是异步的。
@@ -614,11 +686,13 @@
 
 EAR 档案位于本地系统上的企业应用程序目录的  ``target``  目录中。
 
-7. 单击 "OK"(确定)。
+
+[start=7]
+. 单击 "OK"(确定)。
 
 在单击 "OK"(确定)时,GlassFish 部署工具将部署应用程序。
 
-*注:*如果在 GlassFish 管理控制台中使用部署工具部署应用程序,则还需要手动创建应用程序所需的资源(如不存在)。
+NOTE: 如果在 GlassFish 管理控制台中使用部署工具部署应用程序,则还需要手动创建应用程序所需的资源(如不存在)。
 
 
 == 下载解决方案项目
@@ -631,16 +705,26 @@
 2. 在 "Checkout"(检出)对话框中,输入以下资源库 URL:
  ``https://svn.netbeans.org/svn/samples~samples-source-code`` 
 单击 "Next"(下一步)。
-3. 单击 "Browse"(浏览)以打开 "Browse Repostiory Folders"(浏览资源库文件夹)对话框。
-4. 展开根节点并选择 *samples/javaee/MavenEnterpriseApp*。单击 "OK"(确定)。
-5. 指定用于存储源代码的本地文件夹(本地文件夹必须为空)。
-6. 单击 "Finish"(完成)。
+
+[start=3]
+. 单击 "Browse"(浏览)以打开 "Browse Repostiory Folders"(浏览资源库文件夹)对话框。
+
+[start=4]
+. 展开根节点并选择 *samples/javaee/MavenEnterpriseApp*。单击 "OK"(确定)。
+
+[start=5]
+. 指定用于存储源代码的本地文件夹(本地文件夹必须为空)。
+
+[start=6]
+. 单击 "Finish"(完成)。
 
 单击 "Finish"(完成),此时 IDE 会将本地文件夹初始化为 Subversion 资源库,并检出项目源代码。
 
-7. 在完成检出操作后将会显示一个对话框,在该对话框中单击 "Open Project"(打开项目)。
 
-*注:*有关安装 Subversion 的更多信息,请参见 link:../ide/subversion.html[+NetBeans IDE 中的 Subversion 指南+]中有关link:../ide/subversion.html#settingUp[+设置 Subversion+] 的部分。
+[start=7]
+. 在完成检出操作后将会显示一个对话框,在该对话框中单击 "Open Project"(打开项目)。
+
+NOTE: 有关安装 Subversion 的更多信息,请参见 link:../ide/subversion.html[+NetBeans IDE 中的 Subversion 指南+]中有关link:../ide/subversion.html#settingUp[+设置 Subversion+] 的部分。
 
 
 link:/about/contact_form.html?to=3&subject=Feedback:%20Creating%20an%20Enterprise%20Application%20Using%20Maven[+发送有关此教程的反馈意见+]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi.asciidoc
index 77c2bd4..ef5f0e5 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi.asciidoc
@@ -47,8 +47,6 @@
 
 *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 Parent POM Project>>
 * <<Exercise_2,Creating the OSGi Bundle Projects>>
 * <<Exercise_2a,Creating the MavenHelloServiceApi Interface Bundle>>
@@ -97,12 +95,18 @@
 
 1. Choose New Project (Ctrl-Shift-N; ⌘-Shift-N on Mac) from the main menu.
 2. Select POM Project from the Maven category.
+
 image::images/cdi-newpomproject.png[title="Maven POM Project archetype in the New Project wizard"]
-3. Type *MavenOSGiCDIProject* as the Project name. Click Finish.
+
+
+[start=3]
+. Type *MavenOSGiCDIProject* as the Project name. Click Finish.
 
 When you click Finish, the IDE creates the POM project and opens the project in the Projects window.
 
-4. Expand the Project Files node in the Projects window and double-click  ``pom.xml``  to open the file in the editor.
+
+[start=4]
+. Expand the Project Files node in the Projects window and double-click  ``pom.xml``  to open the file in the editor.
 
 The basic POM for the project should be similar to the following.
 
@@ -123,7 +127,9 @@
 </project>
         
 ----
-5. Modify the parent  ``pom.xml``  to add the following elements. Save your changes.
+
+[start=5]
+. Modify the parent  ``pom.xml``  to add the following elements. Save your changes.
 
 [source,xml]
 ----
@@ -169,9 +175,15 @@
 
 1. Choose File > New Project to open the New Project wizard.
 2. Choose OSGi Bundle from Maven category. Click Next.
+
 image::images/cdi-new-osgiproject.png[title="Maven OSGi Bundle archetype in the New Project wizard"]
-3. Type *MavenHelloServiceApi* for the Project Name.
-4. Click Browse and select the *MavenOSGiCDIProject* POM project as the Location. Click Finish.
+
+
+[start=3]
+. Type *MavenHelloServiceApi* for the Project Name.
+
+[start=4]
+. Click Browse and select the *MavenOSGiCDIProject* POM project as the Location. Click Finish.
 
 When you click Finish, the IDE creates the bundle project and opens the project in the Projects window. If you open  ``pom.xml``  for the MavenHelloServiceApi project in the editor you can see that the  ``packaging``  element specifies  ``bundle``  and that the  ``maven-bundle-plugin``  will be used when building the bundle.
 
@@ -231,13 +243,27 @@
 
 You can also see that when you create an OSGi bundle project using the Maven OSGi Bundle archetype, the IDE added the  ``org.osgi.core``  artifact as a dependency by default.
 
-5. Right-click the MavenHelloServiceApi project node in the Projects window and choose Properties.
-6. Select the Sources category in the Project Properties dialog box.
-7. Set the *Source/Binary Format* to 1.6 and confirm that the *Encoding* is UTF-8. Click OK.
-8. Right-click Source Packages node in the Projects window and choose New > Java Interface.
-9. Type *Hello* for the Class Name.
-10. Select *com.mycompany.mavenhelloserviceapi* as the Package. Click Finish.
-11. Add the following  ``sayHello``  method to the interface (in bold) and save your changes.
+
+[start=5]
+. Right-click the MavenHelloServiceApi project node in the Projects window and choose Properties.
+
+[start=6]
+. Select the Sources category in the Project Properties dialog box.
+
+[start=7]
+. Set the *Source/Binary Format* to 1.6 and confirm that the *Encoding* is UTF-8. Click OK.
+
+[start=8]
+. Right-click Source Packages node in the Projects window and choose New > Java Interface.
+
+[start=9]
+. Type *Hello* for the Class Name.
+
+[start=10]
+. Select *com.mycompany.mavenhelloserviceapi* as the Package. Click Finish.
+
+[start=11]
+. Add the following  ``sayHello``  method to the interface (in bold) and save your changes.
 
 [source,java]
 ----
@@ -246,7 +272,9 @@
     *String sayHello(String name);*
 }
 ----
-12. Right-click the project node in the Projects window and choose Build.
+
+[start=12]
+. Right-click the project node in the Projects window and choose Build.
 
 After you build the project, if you open the Files window and expand the project node you can see that  ``MavenHelloServiceApi-1.0-SNAPSHOT.jar``  is created in the  ``target``  folder.
 
@@ -254,9 +282,11 @@
 
 The  ``maven-bundle-plugin``  handles the generation of the  ``MANIFEST.MF``  file when you build the project. If you open the  ``MANIFEST.MF``  file in the compiled JAR you will see that the plugin generated a manifest header that declares the export packages. For OSGi, all bundles that you want to be exposed and available to other bundles must be listed in the  ``Export-Package``  element in  ``MANIFEST.MF`` .
 
-13. Confirm that the  ``MANIFEST.MF``  contains the  ``Export-Package``  element (the element shown in *bold* in the example below).
 
-[source,java]
+[start=13]
+. Confirm that the  ``MANIFEST.MF``  contains the  ``Export-Package``  element (the element shown in *bold* in the example below).
+
+[source,text]
 ----
 
 Manifest-Version: 1.0
@@ -277,7 +307,7 @@
 
 The OSGi container will read the  ``Export-Package``  manifest header to determine the classes in the bundle that can be accessed from outside the bundle. In this example, the classes in the  ``com.mycompany.mavenhelloserviceapi``  package are exposed.
 
-*Note.* If the  ``MANIFEST.MF``  does not contain the  ``Export-Package``  element, you will need to enable the default plugin behavior for the plugin in the Project Properties window and rebuild the project. In the Project Properties window, select the Export Packages category and select the *Default maven-bundle-plugin behavior* option. You can use the Export Packages panel of the Project Properties window to explicitly specify the packages that should be exposed or specify the packages directly in  ``pom.xml`` .
+NOTE:  If the  ``MANIFEST.MF``  does not contain the  ``Export-Package``  element, you will need to enable the default plugin behavior for the plugin in the Project Properties window and rebuild the project. In the Project Properties window, select the Export Packages category and select the *Default maven-bundle-plugin behavior* option. You can use the Export Packages panel of the Project Properties window to explicitly specify the packages that should be exposed or specify the packages directly in  ``pom.xml`` .
 
    
 
@@ -311,19 +341,34 @@
 
 When you implement  ``Hello`` , the IDE will display an error that you need to resolve by adding the MavenHelloServiceApi project as a dependency.
 
-12. Right-click the Dependencies node of *MavenHelloServiceImpl* in the Projects window and choose Add Dependency.
-13. Click the Open Projects tab in the Add Library dialog.
-14. Select MavenHelloServiceApi OSGi Bundle. Click Add.
+
+[start=12]
+. Right-click the Dependencies node of *MavenHelloServiceImpl* in the Projects window and choose Add Dependency.
+
+[start=13]
+. Click the Open Projects tab in the Add Library dialog.
+
+[start=14]
+. Select MavenHelloServiceApi OSGi Bundle. Click Add.
+
 image::images/cdi-add-dependency.png[title="Open Projects tab in the Add Library dialog"]
-15. Right-click in the  ``HelloImpl.java``  class that is open in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac) to add an import statement for  ``com.mycompany.mavenhelloserviceapi.Hello`` . Save your changes.
-16. Expand the  ``com.mycompany.mavenhelloserviceimpl``  package and double-click  ``Activator.java``  to open the file in the editor.
+
+
+[start=15]
+. Right-click in the  ``HelloImpl.java``  class that is open in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac) to add an import statement for  ``com.mycompany.mavenhelloserviceapi.Hello`` . Save your changes.
+
+[start=16]
+. Expand the  ``com.mycompany.mavenhelloserviceimpl``  package and double-click  ``Activator.java``  to open the file in the editor.
+
 image::images/cdi-activator.png[title="Activator class in the Projects window"]
 
 The IDE automatically created the  ``Activator.java``  bundle activator class in your project. A bundle activator is used to manage the lifecycle of a bundle. The bundle activator class is declared in the  ``MANIFEST.MF``  of the bundle and instantiated when the bundle is started by the container.
 
 An OSGi bundle does not require a bundle activator class, but you can use the  ``start()``  method in the activator class, for example, to initialize services or other resources that are required by the bundle. In this exercise you will add some lines of code to the class that will print messages to the Output window. This will make it easier for you to identify when the bundle starts and stops.
 
-17. Modify the  ``start()``  and  ``stop()``  methods in the bundle activator class to add the following lines (in bold).
+
+[start=17]
+. Modify the  ``start()``  and  ``stop()``  methods in the bundle activator class to add the following lines (in bold).
 
 [source,java]
 ----
@@ -366,10 +411,14 @@
 
 When you build the bundle, the plugin will generate a Manifest Header in the bundle's manifest file in the JAR and specify the Bundle Activator class. The OSGi runtime looks for the  ``Bundle-Activator``  header in the manifest file when a bundle is deployed.
 
-18. Fix the import statements in  ``Activator.java``  to import  ``com.mycompany.mavenhelloserviceapi.Hello`` . Save your changes.
-19. Expand the Dependencies node and confirm that the  ``org.osgi.core``  artifact is listed as a dependency.
 
-*Note.* Remove any older versions of the artifact that are listed under the Dependencies node by right-clicking the artifact and choosing Remove Dependency. The only dependencies should be the MavenHelloServiceApi project and the  ``org.osgi.core``  artifact.
+[start=18]
+. Fix the import statements in  ``Activator.java``  to import  ``com.mycompany.mavenhelloserviceapi.Hello`` . Save your changes.
+
+[start=19]
+. Expand the Dependencies node and confirm that the  ``org.osgi.core``  artifact is listed as a dependency.
+
+NOTE:  Remove any older versions of the artifact that are listed under the Dependencies node by right-clicking the artifact and choosing Remove Dependency. The only dependencies should be the MavenHelloServiceApi project and the  ``org.osgi.core``  artifact.
 
 image::images/cdi-implproject.png[title="Activator class in the Projects window"]
    
@@ -383,8 +432,12 @@
 
 When you build the project the IDE will create the JAR files in the  ``target``  folder of each of the projects and also install the snapshot JAR in the local repository. In the Files window, you can expand the  ``target``  folder for each of the two bundle projects to see the two JAR archives ( ``MavenHelloServiceApi-1.0-SNAPSHOT.jar``  and  ``MavenHelloServiceImpl-1.0-SNAPSHOT.jar`` ).
 
-2. Start the GlassFish server if not already started.
-3. Copy the  ``MavenHelloServiceApi-1.0-SNAPSHOT.jar``  to the  ``glassfish/domains/domain1/autodeploy/bundles/``  directory of your GlassFish installation.
+
+[start=2]
+. Start the GlassFish server if not already started.
+
+[start=3]
+. Copy the  ``MavenHelloServiceApi-1.0-SNAPSHOT.jar``  to the  ``glassfish/domains/domain1/autodeploy/bundles/``  directory of your GlassFish installation.
 
 You should see output similar to the following in the GlassFish Server log in the Output window.
 
@@ -398,7 +451,9 @@
 
 Right-click the GlassFish server node in the Services window and choose View Domain Server Log if the server log is not visible in the Output window.
 
-4. Repeat the steps to copy the  ``MavenHelloServiceImpl-1.0-SNAPSHOT.jar``  to the  ``autodeploy/bundles``  directory.
+
+[start=4]
+. Repeat the steps to copy the  ``MavenHelloServiceImpl-1.0-SNAPSHOT.jar``  to the  ``autodeploy/bundles``  directory.
 
 You should now see output similar to the following in the GlassFish server log.
 
@@ -473,7 +528,9 @@
 </project>
 
 ----
-3. Add the the following elements to add the GlassFish repository to the POM. Save your changes.
+
+[start=3]
+. Add the the following elements to add the GlassFish repository to the POM. Save your changes.
 
 [source,xml]
 ----
@@ -524,9 +581,11 @@
 8. Select  ``com.mycompany.mavenhellowebclient``  as the Package. Click Finish.
 9. Delete the default methods in the servlet that were generated by the IDE ( ``processRequest`` ,  ``doGet`` ,  ``doPost`` ,  ``getServletInfo`` ).
 
-*Note.* You will need to expand the editor fold to delete the HttpServlet methods.
+NOTE:  You will need to expand the editor fold to delete the HttpServlet methods.
 
-10. Type the following code (in bold) to inject the service.
+
+[start=10]
+. Type the following code (in bold) to inject the service.
 
 [source,java]
 ----
@@ -539,7 +598,9 @@
     Hello hello;*
 }
 ----
-11. Add the following  ``doGet``  method.
+
+[start=11]
+. Add the following  ``doGet``  method.
 
 [source,java]
 ----
@@ -551,13 +612,21 @@
         out.println(hello.sayHello("Duke"));
     }
 ----
-12. Right-click the project node and choose New > Other.
-13. Select *beans.xml* in the Contexts and Dependency Injection category. Click Next.
-14. Use the default file name ( ``beans`` ). Click Finish.
+
+[start=12]
+. Right-click the project node and choose New > Other.
+
+[start=13]
+. Select *beans.xml* in the Contexts and Dependency Injection category. Click Next.
+
+[start=14]
+. Use the default file name ( ``beans`` ). Click Finish.
 
 When you click Finish, the wizard will create the  ``beans.xml``  file in the web application. CDI is automatically enabled if  ``beans.xml``  is part of the application.
 
-15. Modify the  ``beans.xml``  file to change the default value for  ``bean-discovery-mode``  to  ``all`` .
+
+[start=15]
+. Modify the  ``beans.xml``  file to change the default value for  ``bean-discovery-mode``  to  ``all`` .
 
 [source,java]
 ----
@@ -571,17 +640,33 @@
 
 * link:http://docs.oracle.com/javaee/7/tutorial/doc/cdi-adv001.htm[+25.1 Packaging CDI Applications+] in the Java EE 7 Tutorial
 * link:http://stackoverflow.com/questions/18107858/cdi-inject-fails-on-maven-embedded-glassfish-plugin-org-jboss-weld-exceptions[+http://stackoverflow.com/questions/18107858/cdi-inject-fails-on-maven-embedded-glassfish-plugin-org-jboss-weld-exceptions+]
-16. Right-click the Dependencies node of MavenHelloWebClient in the Projects window and choose Add Dependency.
-17. Select *Provided* as the Scope.
-18. Click the Open Projects tab in the Add Library dialog and select *MavenHelloServiceApi OSGi Bundle*. Click Add.
-19. Right-click the Dependencies node again and choose Add Dependency.
-20. Click the Dependency Management tab in the Add Library dialog and choose the  ``osgi-cdi-api``  artifact that you specified in the parent POM project. Click Add.
+
+[start=16]
+. Right-click the Dependencies node of MavenHelloWebClient in the Projects window and choose Add Dependency.
+
+[start=17]
+. Select *Provided* as the Scope.
+
+[start=18]
+. Click the Open Projects tab in the Add Library dialog and select *MavenHelloServiceApi OSGi Bundle*. Click Add.
+
+[start=19]
+. Right-click the Dependencies node again and choose Add Dependency.
+
+[start=20]
+. Click the Dependency Management tab in the Add Library dialog and choose the  ``osgi-cdi-api``  artifact that you specified in the parent POM project. Click Add.
+
 image::images/cdi-add-dependency3.png[title="Dependency Management tab in the Add Library dialog"]
-21. Right-click in  ``HelloServlet.java``  in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac) to add  ``com.mycompany.mavenhelloserviceapi.Hello`` ,  ``javax.inject.Inject``  and  ``org.glassfish.osgicdi.OSGiService`` . Save your changes.
 
-*Note.* You might need to manually add an import statements for  ``com.mycompany.mavenhelloserviceapi.Hello``  if the IDE does not automatically add it for you.
 
-22. Right-click the MavenOSGiCDIProject and choose Clean and Build.
+[start=21]
+. Right-click in  ``HelloServlet.java``  in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac) to add  ``com.mycompany.mavenhelloserviceapi.Hello`` ,  ``javax.inject.Inject``  and  ``org.glassfish.osgicdi.OSGiService`` . Save your changes.
+
+NOTE:  You might need to manually add an import statements for  ``com.mycompany.mavenhelloserviceapi.Hello``  if the IDE does not automatically add it for you.
+
+
+[start=22]
+. Right-click the MavenOSGiCDIProject and choose Clean and Build.
 
 When you build the project, you should see output similar to the following in the Output window.
 
@@ -599,7 +684,7 @@
 BUILD SUCCESS
 ----
 
-*Note.* You will need to build the web application manually if the web application is not built automatically when you build the MavenOSGiCDIProject project .
+NOTE:  You will need to build the web application manually if the web application is not built automatically when you build the MavenOSGiCDIProject project .
 
 In the Files window, expand the project node for the web application and confirm that the archive  ``MavenHelloWebClient-1.0-SNAPSHOT.war``  was created in the target directory. If you expand the WAR archive of the web client and examine the  ``MANIFEST.MF`` , you will see that the manifest contains lines similar to the following.
 
@@ -665,7 +750,9 @@
          </plugin>*
             
 ----
-3. Modify the configuration elements of the  ``maven-war-plugin``  to add bundle information to  ``MANIFEST.MF`` . Save your changes.
+
+[start=3]
+. Modify the configuration elements of the  ``maven-war-plugin``  to add bundle information to  ``MANIFEST.MF`` . Save your changes.
 
 [source,xml]
 ----
@@ -691,7 +778,9 @@
      </configuration>
  </plugin>
 ----
-4. Right-click the MavenHelloWebClient project node in the Projects window and choose Clean and Build.
+
+[start=4]
+. Right-click the MavenHelloWebClient project node in the Projects window and choose Clean and Build.
 
 If you now expand the WAR archive and open  ``MANIFEST.MF``  in the editor, you can see that  ``MANIFEST.MF``  now contains additional information, including the  ``Web-ContextPath: /mavenhellowebclient``  entry that you specified in the  ``maven-bundle-plugin``  configuration and bundle name entries.
 
@@ -761,23 +850,35 @@
 
 Right-click the GlassFish server node in the Services window and choose View Domain Admin Console.
 
-2. Click Update Tool in the left navigation column.
-3. Select  ``glassfish-osgi-gui``  from the list of available add-ons.
+
+[start=2]
+. Click Update Tool in the left navigation column.
+
+[start=3]
+. Select  ``glassfish-osgi-gui``  from the list of available add-ons.
 
 Click Install and accept the license.
 
 image::images/cdi-glassfish-addons.png[title="Update Tool GlassFish Admin Console"]
-4. Restart the GlassFish server.
+
+
+[start=4]
+. Restart the GlassFish server.
 
 *Important: * If you are running GlassFish Server 3.1.2.2 you need to modify the  ``osgi.properties``  file located in the  ``_GLASSFISH-INSTALL_/glassfish/config/``  directory and set the value of the  ``org.osgi.framework.startlevel.beginning``  property to "2" ( ``org.osgi.framework.startlevel.beginning=2`` ).
 See the following forum post for more details: 
 link:http://www.java.net/forum/topic/glassfish/glassfish/cannot-start-web-console-glassfish-version-3122[+ Cannot start web console in Glassfish version 3.1.2.2+].
 
-5. Open the Admin Console again and click *server (Admin Server)* in the left navigation column.
-6. Click the OSGi Console tab to view a list of the deployed OSGi bundles. 
+
+[start=5]
+. Open the Admin Console again and click *server (Admin Server)* in the left navigation column.
+
+[start=6]
+. Click the OSGi Console tab to view a list of the deployed OSGi bundles. 
+
 image::images/cdi-glassfish-console.png[title="Dependency Management tab in the Add Library dialog"]
 
-*Note.* You might be prompted to enter the username and password to view the list of OSGi bundles. Confirm that the authorization dialog is not hidden if you do not see a list of bundles in the OSGi Console tab. The default username for the GlassFish 4 server is  ``admin``  if you installed the server when you installed the IDE. The password is empty by default.
+NOTE:  You might be prompted to enter the username and password to view the list of OSGi bundles. Confirm that the authorization dialog is not hidden if you do not see a list of bundles in the OSGi Console tab. The default username for the GlassFish 4 server is  ``admin``  if you installed the server when you installed the IDE. The password is empty by default.
 
 You can scroll down the list to view the status of registered OSGi bundles and start and stop individual bundles. If you sort the list by Id (highest to lowest), you will see that the three bundles that you have deployed are displayed near the top of the list.
 
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi_ja.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi_ja.asciidoc
index eb9d456..3d3053c 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi_ja.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi_ja.asciidoc
@@ -47,8 +47,6 @@
 
 *チュートリアルの課題*
 
-image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます"]
-
 * <<Exercise_1,親POMプロジェクトの作成>>
 * <<Exercise_2,OSGiバンドル・プロジェクトの作成>>
 * <<Exercise_2a,MavenHelloServiceApiインタフェース・バンドルの作成>>
@@ -97,12 +95,18 @@
 
 1. メイン・メニューから「新規プロジェクト」([Ctrl]-[Shift]-[N]、Macの場合は[⌘]-[Shift]-[N])を選択します。
 2. 「Maven」カテゴリから「POMプロジェクト」を選択します。
+
 image::images/cdi-newpomproject.png[title="新規プロジェクト・ウィザードのMaven POMプロジェクト原型"]
-3. 「プロジェクト名」に「*MavenOSGiCDIProject*」と入力します。「終了」をクリックします。
+
+
+[start=3]
+. 「プロジェクト名」に「*MavenOSGiCDIProject*」と入力します。「終了」をクリックします。
 
 「終了」をクリックすると、IDEがPOMプロジェクトを作成し、そのプロジェクトが「プロジェクト」ウィンドウで開きます。
 
-4. 「プロジェクト」ウィンドウで「プロジェクト・ファイル」ノードを展開して「 ``pom.xml`` 」をダブルクリックし、エディタでそのファイルを開きます。
+
+[start=4]
+. 「プロジェクト」ウィンドウで「プロジェクト・ファイル」ノードを展開して「 ``pom.xml`` 」をダブルクリックし、エディタでそのファイルを開きます。
 
 プロジェクトの基本的なPOMは、次のようになっているはずです。
 
@@ -123,7 +127,9 @@
 </project>
         
 ----
-5. 親の ``pom.xml`` を変更して、次の要素を追加します。変更を保存します。
+
+[start=5]
+. 親の ``pom.xml`` を変更して、次の要素を追加します。変更を保存します。
 
 [source,xml]
 ----
@@ -169,9 +175,15 @@
 
 1. 「ファイル」>「新規プロジェクト」を選択し、新規プロジェクト・ウィザードを開きます。
 2. 「Maven」カテゴリから「OSGiバンドル」を選択します。「次」をクリックします。
+
 image::images/cdi-new-osgiproject.png[title="新規プロジェクト・ウィザードのMaven OSGiバンドル原型"]
-3. 「プロジェクト名」に「*MavenHelloServiceApi*」と入力します。
-4. 「参照」をクリックし、「場所」として「*MavenOSGiCDIProject*」POMプロジェクトを選択します。「終了」をクリックします。
+
+
+[start=3]
+. 「プロジェクト名」に「*MavenHelloServiceApi*」と入力します。
+
+[start=4]
+. 「参照」をクリックし、「場所」として「*MavenOSGiCDIProject*」POMプロジェクトを選択します。「終了」をクリックします。
 
 「終了」をクリックすると、IDEがバンドル・プロジェクトを作成し、そのプロジェクトが「プロジェクト」ウィンドウで開きます。エディタでMavenHelloServiceApiプロジェクトの ``pom.xml`` を開くと、 ``packaging`` 要素に ``bundle`` が指定されていること、およびバンドルのビルド時に ``maven-bundle-plugin`` が使用されることがわかります。
 
@@ -231,13 +243,27 @@
 
 また、Maven OSGiバンドル原型を使用してOSGiバンドル・プロジェクトを作成したときに、IDEによって ``org.osgi.core`` アーティファクトがデフォルトで依存性として追加されたこともわかります。
 
-5. 「プロジェクト」ウィンドウでMavenHelloServiceApiプロジェクト・ノードを右クリックし、「プロパティ」を選択します。
-6. 「プロジェクト・プロパティ」ダイアログ・ボックスで「ソース」カテゴリを選択します。
-7. 「*ソース/バイナリ形式*」を1.6に設定し、「*エンコーディング*」がUTF-8であることを確認します。「OK」をクリックします。
-8. 「プロジェクト」ウィンドウで「ソース・パッケージ」ノードを右クリックし、「新規」>「Javaインタフェース」を選択します。
-9. 「クラス名」に「*Hello*」と入力します。
-10. 「パッケージ」として「*com.mycompany.mavenhelloserviceapi*」を選択します。「終了」をクリックします。
-11. インタフェースに次の ``sayHello`` メソッド(太字部分)を追加し、変更内容を保存します。
+
+[start=5]
+. 「プロジェクト」ウィンドウでMavenHelloServiceApiプロジェクト・ノードを右クリックし、「プロパティ」を選択します。
+
+[start=6]
+. 「プロジェクト・プロパティ」ダイアログ・ボックスで「ソース」カテゴリを選択します。
+
+[start=7]
+. 「*ソース/バイナリ形式*」を1.6に設定し、「*エンコーディング*」がUTF-8であることを確認します。「OK」をクリックします。
+
+[start=8]
+. 「プロジェクト」ウィンドウで「ソース・パッケージ」ノードを右クリックし、「新規」>「Javaインタフェース」を選択します。
+
+[start=9]
+. 「クラス名」に「*Hello*」と入力します。
+
+[start=10]
+. 「パッケージ」として「*com.mycompany.mavenhelloserviceapi*」を選択します。「終了」をクリックします。
+
+[start=11]
+. インタフェースに次の ``sayHello`` メソッド(太字部分)を追加し、変更内容を保存します。
 
 [source,java]
 ----
@@ -246,7 +272,9 @@
     *String sayHello(String name);*
 }
 ----
-12. 「プロジェクト」ウィンドウでプロジェクトのノードを右クリックし、「ビルド」を選択します。
+
+[start=12]
+. 「プロジェクト」ウィンドウでプロジェクトのノードを右クリックし、「ビルド」を選択します。
 
 プロジェクトをビルドした後、「ファイル」ウィンドウを開いてプロジェクト・ノードを展開すると、 ``target`` フォルダに ``MavenHelloServiceApi-1.0-SNAPSHOT.jar`` が作成されていることがわかります。
 
@@ -254,7 +282,9 @@
 
 プロジェクトをビルドすると、 ``maven-bundle-plugin`` が ``MANIFEST.MF`` ファイルの生成を処理します。コンパイルされたJARの ``MANIFEST.MF`` ファイルを開くと、プラグインによって、エクスポート・パッケージを宣言するマニフェスト・ヘッダーが生成されたことがわかります。OSGiでは、公開して他のバンドルで使用できるようにするすべてのバンドルを ``MANIFEST.MF`` の ``Export-Package`` 要素内に列挙する必要があります。
 
-13.  ``MANIFEST.MF`` に ``Export-Package`` 要素(次の例で*太字*で示された要素)が含まれていることを確認します。
+
+[start=13]
+.  ``MANIFEST.MF`` に ``Export-Package`` 要素(次の例で*太字*で示された要素)が含まれていることを確認します。
 
 [source,java]
 ----
@@ -277,7 +307,7 @@
 
 OSGiコンテナは ``Export-Package`` マニフェスト・ヘッダーを読み取り、バンドル外からアクセスできる、バンドル内のクラスを判断します。この例では、 ``com.mycompany.mavenhelloserviceapi`` パッケージ内のクラスが公開されています。
 
-*注意:* ``MANIFEST.MF`` に ``Export-Package`` 要素が含まれていない場合、「プロジェクト・プロパティ」ウィンドウでプラグインのデフォルト・プラグイン動作を有効にし、プロジェクトを再ビルドする必要があります。「プロジェクト・プロパティ」ウィンドウで「パッケージをエクスポート」カテゴリを選択し、*デフォルトmaven-bundle-plugin動作*オプションを選択します。「プロジェクト・プロパティ」ウィンドウの「パッケージをエクスポート」パネルを使用して、公開するパッケージを明示的に指定するか、 ``pom.xml`` に直接パッケージを指定します。
+NOTE:  ``MANIFEST.MF`` に ``Export-Package`` 要素が含まれていない場合、「プロジェクト・プロパティ」ウィンドウでプラグインのデフォルト・プラグイン動作を有効にし、プロジェクトを再ビルドする必要があります。「プロジェクト・プロパティ」ウィンドウで「パッケージをエクスポート」カテゴリを選択し、*デフォルトmaven-bundle-plugin動作*オプションを選択します。「プロジェクト・プロパティ」ウィンドウの「パッケージをエクスポート」パネルを使用して、公開するパッケージを明示的に指定するか、 ``pom.xml`` に直接パッケージを指定します。
 
    
 
@@ -311,19 +341,34 @@
 
  ``Hello`` を実装すると、MavenHelloServiceApiプロジェクトを依存性として追加することによって解決する必要があるエラーがIDEに表示されます。
 
-12. 「プロジェクト」ウィンドウの*MavenHelloServiceImpl*の「依存性」ノードを右クリックし、「依存性の追加」を選択します。
-13. 「ライブラリの追加」ダイアログで、「開いているプロジェクト」タブをクリックします。
-14. 「MavenHelloServiceApi OSGiバンドル」を選択します。「追加」をクリックします。
+
+[start=12]
+. 「プロジェクト」ウィンドウの*MavenHelloServiceImpl*の「依存性」ノードを右クリックし、「依存性の追加」を選択します。
+
+[start=13]
+. 「ライブラリの追加」ダイアログで、「開いているプロジェクト」タブをクリックします。
+
+[start=14]
+. 「MavenHelloServiceApi OSGiバンドル」を選択します。「追加」をクリックします。
+
 image::images/cdi-add-dependency.png[title="「ライブラリの追加」ダイアログの「開いているプロジェクト」タブ"]
-15. エディタで開いている ``HelloImpl.java`` クラス内を右クリックして「インポートを修正」([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])を選択し、 ``com.mycompany.mavenhelloserviceapi.Hello`` のインポート文を追加します。変更を保存します。
-16. 「 ``com.mycompany.mavenhelloserviceimpl`` 」パッケージを展開し、「 ``Activator.java`` 」をダブルクリックしてこのファイルをエディタで開きます。
+
+
+[start=15]
+. エディタで開いている ``HelloImpl.java`` クラス内を右クリックして「インポートを修正」([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])を選択し、 ``com.mycompany.mavenhelloserviceapi.Hello`` のインポート文を追加します。変更を保存します。
+
+[start=16]
+. 「 ``com.mycompany.mavenhelloserviceimpl`` 」パッケージを展開し、「 ``Activator.java`` 」をダブルクリックしてこのファイルをエディタで開きます。
+
 image::images/cdi-activator.png[title="「プロジェクト」ウィンドウのActivatorクラス"]
 
 IDEによってプロジェクト内に ``Activator.java`` バンドル・アクティベータ・クラスが自動的に作成されます。バンドル・アクティベータは、バンドルのライフサイクルを管理するために使用されます。バンドル・アクティベータ・クラスは、バンドルの ``MANIFEST.MF`` で宣言され、バンドルがコンテナによって開始されるときにインスタンス化されます。
 
 OSGiバンドルにはバンドル・アクティベータ・クラスは必要ありませんが、アクティベータ・クラスで ``start()`` メソッドを使用して、たとえば、バンドルが必要とするサービスまたはその他のリソースを初期化できます。この課題では、「出力」ウィンドウにメッセージを出力するクラスに、少量のコード行を追加します。これにより、バンドルが開始および停止するタイミングを簡単に識別できます。
 
-17. バンドル・アクティベータ・クラスの ``start()`` および ``stop()`` メソッドを変更して、次の行(太字部分)を追加します。
+
+[start=17]
+. バンドル・アクティベータ・クラスの ``start()`` および ``stop()`` メソッドを変更して、次の行(太字部分)を追加します。
 
 [source,java]
 ----
@@ -366,10 +411,14 @@
 
 バンドルをビルドすると、プラグインは、マニフェスト・ヘッダーをJAR内にあるバンドルのマニフェスト・ファイルに生成し、バンドル・アクティベータ・クラスを指定します。バンドルがデプロイされると、OSGiランタイムがマニフェスト・ファイル内の ``Bundle-Activator`` ヘッダーを検索します。
 
-18.  ``Activator.java`` のインポート文を修正して、 ``com.mycompany.mavenhelloserviceapi.Hello`` をインポートします。変更を保存します。
-19. 「依存性」ノードを展開し、 ``org.osgi.core`` アーティファクトが依存性として表示されたことを確認します。
 
-*注意:*「依存性」ノードに古いバージョンのアーティファクトがリストされている場合、アーティファクトを右クリックして「依存性を削除」を選択し、削除します。依存性は、MavenHelloServiceApiプロジェクトおよび ``org.osgi.core`` アーティファクトのみである必要があります。
+[start=18]
+.  ``Activator.java`` のインポート文を修正して、 ``com.mycompany.mavenhelloserviceapi.Hello`` をインポートします。変更を保存します。
+
+[start=19]
+. 「依存性」ノードを展開し、 ``org.osgi.core`` アーティファクトが依存性として表示されたことを確認します。
+
+NOTE: 「依存性」ノードに古いバージョンのアーティファクトがリストされている場合、アーティファクトを右クリックして「依存性を削除」を選択し、削除します。依存性は、MavenHelloServiceApiプロジェクトおよび ``org.osgi.core`` アーティファクトのみである必要があります。
 
 image::images/cdi-implproject.png[title="「プロジェクト」ウィンドウのActivatorクラス"]
    
@@ -383,8 +432,12 @@
 
 プロジェクトをビルドすると、IDEによって各プロジェクトの ``target`` フォルダ内にJARファイルが作成され、ローカル・リポジトリにもスナップショットJARがインストールされます。「ファイル」ウィンドウで、2つのバンドル・プロジェクトの ``target`` フォルダをそれぞれ展開すると、2つのJARアーカイブ( ``MavenHelloServiceApi-1.0-SNAPSHOT.jar`` および ``MavenHelloServiceImpl-1.0-SNAPSHOT.jar`` )が表示されます。
 
-2. GlassFishサーバーを起動します(まだ起動していない場合)。
-3.  ``MavenHelloServiceApi-1.0-SNAPSHOT.jar`` をGlassFishインストールの ``glassfish/domains/domain1/autodeploy/bundles/`` ディレクトリにコピーします。
+
+[start=2]
+. GlassFishサーバーを起動します(まだ起動していない場合)。
+
+[start=3]
+.  ``MavenHelloServiceApi-1.0-SNAPSHOT.jar`` をGlassFishインストールの ``glassfish/domains/domain1/autodeploy/bundles/`` ディレクトリにコピーします。
 
 「出力」ウィンドウ内のGlassFishのサーバー・ログに、次のような出力が表示されるはずです。
 
@@ -398,7 +451,9 @@
 
 「出力」ウィンドウにサーバー・ログが表示されない場合は、「サービス」ウィンドウのGlassFishサーバー・ノードを右クリックして、「ドメイン・サーバー・ログを表示」を選択します。
 
-4. これらの手順を繰り返して、 ``MavenHelloServiceImpl-1.0-SNAPSHOT.jar`` を ``autodeploy/bundles`` ディレクトリにコピーします。
+
+[start=4]
+. これらの手順を繰り返して、 ``MavenHelloServiceImpl-1.0-SNAPSHOT.jar`` を ``autodeploy/bundles`` ディレクトリにコピーします。
 
 これで、GlassFishのサーバー・ログに次のような出力が表示されるはずです。
 
@@ -473,7 +528,9 @@
 </project>
 
 ----
-3. 次の要素を追加して、POMにGlassFishリポジトリを追加します。変更を保存します。
+
+[start=3]
+. 次の要素を追加して、POMにGlassFishリポジトリを追加します。変更を保存します。
 
 [source,xml]
 ----
@@ -524,9 +581,11 @@
 8. パッケージとして ``com.mycompany.mavenhellowebclient`` を選択します。「終了」をクリックします。
 9. IDEによって生成されたサーブレット内のデフォルトのメソッド( ``processRequest`` 、 ``doGet`` 、 ``doPost`` 、 ``getServletInfo`` )を削除します。
 
-*注意:*HttpServletメソッドを削除するには、エディタの折りたたみを展開する必要があります。
+NOTE: HttpServletメソッドを削除するには、エディタの折りたたみを展開する必要があります。
 
-10. 次のコード(太字部分)を入力してサービスを注入します。
+
+[start=10]
+. 次のコード(太字部分)を入力してサービスを注入します。
 
 [source,java]
 ----
@@ -539,7 +598,9 @@
     Hello hello;*
 }
 ----
-11. 次の ``doGet`` メソッドを追加します。
+
+[start=11]
+. 次の ``doGet`` メソッドを追加します。
 
 [source,java]
 ----
@@ -551,13 +612,21 @@
         out.println(hello.sayHello("Duke"));
     }
 ----
-12. プロジェクト・ノードを右クリックし、「新規」>「その他」を選択します。
-13. 「コンテキストと依存性の注入」カテゴリで*beans.xml*を選択します。「次」をクリックします。
-14. デフォルトのファイル名( ``beans`` )を使用します。「終了」をクリックします。
+
+[start=12]
+. プロジェクト・ノードを右クリックし、「新規」>「その他」を選択します。
+
+[start=13]
+. 「コンテキストと依存性の注入」カテゴリで*beans.xml*を選択します。「次」をクリックします。
+
+[start=14]
+. デフォルトのファイル名( ``beans`` )を使用します。「終了」をクリックします。
 
 「終了」をクリックすると、ウィザードによってWebアプリケーション内に ``beans.xml`` ファイルが作成されます。 ``beans.xml`` がアプリケーションの一部である場合は、CDIが自動的に有効になります。
 
-15.  ``beans.xml`` ファイルを変更して、 ``bean-discovery-mode`` のデフォルト値を ``all`` に変更します。
+
+[start=15]
+.  ``beans.xml`` ファイルを変更して、 ``bean-discovery-mode`` のデフォルト値を ``all`` に変更します。
 
 [source,java]
 ----
@@ -571,17 +640,33 @@
 
 * Java EE 7チュートリアルのlink:http://docs.oracle.com/javaee/7/tutorial/doc/cdi-adv001.htm[+25.1 CDIアプリケーションのパッケージ+]
 * link:http://stackoverflow.com/questions/18107858/cdi-inject-fails-on-maven-embedded-glassfish-plugin-org-jboss-weld-exceptions[+http://stackoverflow.com/questions/18107858/cdi-inject-fails-on-maven-embedded-glassfish-plugin-org-jboss-weld-exceptions+]
-16. 「プロジェクト」ウィンドウのMavenHelloWebClientの「依存性」ノードを右クリックし、「依存性の追加」を選択します。
-17. 「スコープ」として「*Provided*」を選択します。
-18. 「ライブラリの追加」ダイアログで、「開いているプロジェクト」タブをクリックし、「*MavenHelloServiceApi OSGiバンドル*」を選択します。「追加」をクリックします。
-19. もう一度「依存性」ノードを右クリックし、「依存性の追加」を選択します。
-20. 「ライブラリの追加」ダイアログで「依存性管理」タブをクリックし、親POMプロジェクトで指定した ``osgi-cdi-api`` アーティファクトを選択します。「追加」をクリックします。
+
+[start=16]
+. 「プロジェクト」ウィンドウのMavenHelloWebClientの「依存性」ノードを右クリックし、「依存性の追加」を選択します。
+
+[start=17]
+. 「スコープ」として「*Provided*」を選択します。
+
+[start=18]
+. 「ライブラリの追加」ダイアログで、「開いているプロジェクト」タブをクリックし、「*MavenHelloServiceApi OSGiバンドル*」を選択します。「追加」をクリックします。
+
+[start=19]
+. もう一度「依存性」ノードを右クリックし、「依存性の追加」を選択します。
+
+[start=20]
+. 「ライブラリの追加」ダイアログで「依存性管理」タブをクリックし、親POMプロジェクトで指定した ``osgi-cdi-api`` アーティファクトを選択します。「追加」をクリックします。
+
 image::images/cdi-add-dependency3.png[title="「ライブラリの追加」ダイアログの「依存性管理」タブ"]
-21. エディタで ``HelloServlet.java`` 内を右クリックし、「インポートを修正」([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])を選択して ``com.mycompany.mavenhelloserviceapi.Hello`` 、 ``javax.inject.Inject`` および ``org.glassfish.osgicdi.OSGiService`` を追加します。変更を保存します。
 
-*注意:* ``com.mycompany.mavenhelloserviceapi.Hello`` のインポート文がIDEによって自動的に追加されない場合は、手動で追加する必要があります。
 
-22. MavenOSGiCDIProjectを右クリックし、「消去してビルド」を選択します。
+[start=21]
+. エディタで ``HelloServlet.java`` 内を右クリックし、「インポートを修正」([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])を選択して ``com.mycompany.mavenhelloserviceapi.Hello`` 、 ``javax.inject.Inject`` および ``org.glassfish.osgicdi.OSGiService`` を追加します。変更を保存します。
+
+NOTE:  ``com.mycompany.mavenhelloserviceapi.Hello`` のインポート文がIDEによって自動的に追加されない場合は、手動で追加する必要があります。
+
+
+[start=22]
+. MavenOSGiCDIProjectを右クリックし、「消去してビルド」を選択します。
 
 プロジェクトをビルドすると、「出力」ウィンドウに次のような出力が表示されるはずです。
 
@@ -599,7 +684,7 @@
 BUILD SUCCESS
 ----
 
-*注意:*MavenOSGiCDIProjectプロジェクトをビルドするときに、Webアプリケーションが自動的にビルドされない場合は、Webアプリケーションを手動でビルドする必要があります。
+NOTE: MavenOSGiCDIProjectプロジェクトをビルドするときに、Webアプリケーションが自動的にビルドされない場合は、Webアプリケーションを手動でビルドする必要があります。
 
 「ファイル」ウィンドウで、Webアプリケーションのプロジェクト・ノードを展開して、アーカイブ ``MavenHelloWebClient-1.0-SNAPSHOT.war`` がターゲット・ディレクトリに作成されたことを確認します。WebクライアントのWARアーカイブを展開して ``MANIFEST.MF`` を調べると、マニフェストに次のような行が含まれていることがわかります。
 
@@ -665,7 +750,9 @@
          </plugin>*
             
 ----
-3.  ``maven-war-plugin`` の構成要素を変更して、 ``MANIFEST.MF`` にバンドル情報を追加します。変更を保存します。
+
+[start=3]
+.  ``maven-war-plugin`` の構成要素を変更して、 ``MANIFEST.MF`` にバンドル情報を追加します。変更を保存します。
 
 [source,xml]
 ----
@@ -691,7 +778,9 @@
      </configuration>
  </plugin>
 ----
-4. 「プロジェクト」ウィンドウでMavenHelloWebClientプロジェクト・ノードを右クリックし、「消去してビルド」を選択します。
+
+[start=4]
+. 「プロジェクト」ウィンドウでMavenHelloWebClientプロジェクト・ノードを右クリックし、「消去してビルド」を選択します。
 
 これで、WARアーカイブを展開して ``MANIFEST.MF`` をエディタで開くと、 ``maven-bundle-plugin`` の構成で指定した ``Web-ContextPath: /mavenhellowebclient`` エントリやバンドル名エントリを含む追加情報が ``MANIFEST.MF`` に含まれていることがわかります。
 
@@ -761,23 +850,35 @@
 
 「サービス」ウィンドウのGlassFishサーバー・ノードを右クリックし、「ドメイン管理コンソールを表示」を選択します。
 
-2. 左側のナビゲーション列で「更新ツール」をクリックします。
-3. 利用可能なアドオンの一覧から ``glassfish-osgi-gui`` を選択します。
+
+[start=2]
+. 左側のナビゲーション列で「更新ツール」をクリックします。
+
+[start=3]
+. 利用可能なアドオンの一覧から ``glassfish-osgi-gui`` を選択します。
 
 「インストール」をクリックしてライセンスに同意します。
 
 image::images/cdi-glassfish-addons.png[title="更新ツールGlassFish管理コンソール"]
-4. GlassFishサーバーを再起動します。
+
+
+[start=4]
+. GlassFishサーバーを再起動します。
 
 *重要: *GlassFish Server 3.1.2.2を使用している場合、 ``_GLASSFISH-INSTALL_/glassfish/config/`` ディレクトリにある ``osgi.properties`` ファイルを変更し、 ``org.osgi.framework.startlevel.beginning`` プロパティの値を"2"に設定する( ``org.osgi.framework.startlevel.beginning=2`` )必要があります。
 詳細は、次のフォーラムの投稿を参照してください。
 link:http://www.java.net/forum/topic/glassfish/glassfish/cannot-start-web-console-glassfish-version-3122[+ Cannot start web console in Glassfish version 3.1.2.2+].
 
-5. 管理コンソールを再度開き、左側のナビゲーション列で「*サーバー(管理サーバー)*」をクリックします。
-6. 「OSGiコンソール」タブをクリックして、デプロイされているOSGiバンドルの一覧を表示します。
+
+[start=5]
+. 管理コンソールを再度開き、左側のナビゲーション列で「*サーバー(管理サーバー)*」をクリックします。
+
+[start=6]
+. 「OSGiコンソール」タブをクリックして、デプロイされているOSGiバンドルの一覧を表示します。
+
 image::images/cdi-glassfish-console.png[title="「ライブラリの追加」ダイアログの「依存性管理」タブ"]
 
-*注意:*OSGiバンドルのリストを表示する際に、ユーザー名とパスワードの入力を求められることがあります。OSGiコンソール・タブにバンドルのリストが表示されない場合は、承認ダイアログが非表示になっていないことを確認します。IDEのインストール時にGlassFish 4サーバーをインストールした場合、サーバーのデフォルトのユーザー名は ``admin`` です。デフォルトでは、パスワードは空白です。
+NOTE: OSGiバンドルのリストを表示する際に、ユーザー名とパスワードの入力を求められることがあります。OSGiコンソール・タブにバンドルのリストが表示されない場合は、承認ダイアログが非表示になっていないことを確認します。IDEのインストール時にGlassFish 4サーバーをインストールした場合、サーバーのデフォルトのユーザー名は ``admin`` です。デフォルトでは、パスワードは空白です。
 
 一覧を下にスクロールして登録済のOSGiバンドルのステータスを表示したり、個々のバンドルを起動および停止したりできます。一覧をIDで(最大から最小へ)ソートすると、デプロイした3つのバンドルが一覧の最上位付近に表示されることがわかります。
 
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi_pt_BR.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi_pt_BR.asciidoc
index 322c120..1040e36 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi_pt_BR.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi_pt_BR.asciidoc
@@ -47,8 +47,6 @@
 
 *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 POM pai>>
 * <<Exercise_2,Criando os Projetos de Pacotes OSGi>>
 * <<Exercise_2a,Criando o Pacote da Interface MavenHelloServiceApi>>
@@ -97,12 +95,18 @@
 
 1. Selecione Novo Projeto (Ctrl-Shift-N; ⌘-Shift-N no Mac) no menu principal.
 2. Selecione o Projeto POM na categoria Maven.
+
 image::images/cdi-newpomproject.png[title="Arquétipo do Projeto POM Maven no Assistente de Novo Projeto"]
-3. Digite *MavenOSGiCDIProject* como nome do Projeto. Clique em Finalizar.
+
+
+[start=3]
+. Digite *MavenOSGiCDIProject* como nome do Projeto. Clique em Finalizar.
 
 Quando você clica em Finalizar, o IDE cria o projeto POM e abre o projeto na janela Projetos.
 
-4. Expanda o nó dos Arquivos do Projeto na janela Projetos e clique duas vezes em  ``pom.xml``  para abrir o arquivo no editor.
+
+[start=4]
+. Expanda o nó dos Arquivos do Projeto na janela Projetos e clique duas vezes em  ``pom.xml``  para abrir o arquivo no editor.
 
 O POM básico do projeto deverá ser similar ao seguinte.
 
@@ -123,7 +127,9 @@
 </project>
         
 ----
-5. Modifique o  ``pom.xml``  pai para adicionar os elementos a seguir. Salve as alterações.
+
+[start=5]
+. Modifique o  ``pom.xml``  pai para adicionar os elementos a seguir. Salve as alterações.
 
 [source,xml]
 ----
@@ -169,9 +175,15 @@
 
 1. Selecione Arquivo > Novo Projeto para abrir o assistente de Novo Projeto.
 2. Selecione Pacote OSGi na categoria Maven. Clique em Próximo.
+
 image::images/cdi-new-osgiproject.png[title="Arquétipo do Pacote OSGI Maven no assistente de Novo Projeto"]
-3. Digite *MavenHelloServiceApi* como Nome do Projeto.
-4. Clique em Procurar e selecione o projeto POM *MavenOSGiCDIProject* como o Local. Clique em Finalizar.
+
+
+[start=3]
+. Digite *MavenHelloServiceApi* como Nome do Projeto.
+
+[start=4]
+. Clique em Procurar e selecione o projeto POM *MavenOSGiCDIProject* como o Local. Clique em Finalizar.
 
 Quando você clica em Finalizar, o IDE cria o projeto do pacote e abre o projeto na janela Projetos. Se você abrir  ``pom.xml``  para o projeto MavenHelloServiceApi no editor, verá que o elemento  ``encapsulamento``  especifica o  ``pacote``  e que o  ``plug-in-do-pacote-maven``  será usado ao construir o pacote.
 
@@ -231,13 +243,27 @@
 
 Você também poderá ver que, ao criar um projeto de pacote OSGi utilizando o arquétipo do Pacote OSGi Maven, o IDE adicionou o artefato  ``org.osgi.core``  como uma dependência por padrão.
 
-5. Clique com o botão direito do mouse no nó do projeto MavenHelloServiceApi na janela Projetos e selecione Propriedades.
-6. Selecione a categoria Códigos-fonte na caixa de diálogo Propriedades do Projeto.
-7. Defina *Source/Binary Format* como 1.6 e confirme se a *Codificação* é UTF-8. Clique em OK.
-8. Clique com o botão direito do mouse no nó Pacotes de Código-fonte e selecione Novo > Interface Java.
-9. Digite *Hello* como Nome da Classe.
-10. Selecione *com.mycompany.mavenhelloserviceapi* como o Pacote. Clique em Finalizar.
-11. Adicione o método  ``sayHello``  a seguir à interface (em negrito) e salve as alterações.
+
+[start=5]
+. Clique com o botão direito do mouse no nó do projeto MavenHelloServiceApi na janela Projetos e selecione Propriedades.
+
+[start=6]
+. Selecione a categoria Códigos-fonte na caixa de diálogo Propriedades do Projeto.
+
+[start=7]
+. Defina *Source/Binary Format* como 1.6 e confirme se a *Codificação* é UTF-8. Clique em OK.
+
+[start=8]
+. Clique com o botão direito do mouse no nó Pacotes de Código-fonte e selecione Novo > Interface Java.
+
+[start=9]
+. Digite *Hello* como Nome da Classe.
+
+[start=10]
+. Selecione *com.mycompany.mavenhelloserviceapi* como o Pacote. Clique em Finalizar.
+
+[start=11]
+. Adicione o método  ``sayHello``  a seguir à interface (em negrito) e salve as alterações.
 
 [source,java]
 ----
@@ -246,7 +272,9 @@
     *String sayHello(String name);*
 }
 ----
-12. Clique com o botão direito do mouse no nó do projeto na janela Projetos e selecione Construir.
+
+[start=12]
+. Clique com o botão direito do mouse no nó do projeto na janela Projetos e selecione Construir.
 
 Depois de construir o projeto, se você abrir a janela Arquivos e expandir o nó do projeto, verá que  ``MavenHelloServiceApi-1.0-SNAPSHOT.jar``  foi criado na pasta de  ``destino`` .
 
@@ -254,7 +282,9 @@
 
 O  ``plug-in-do-pacote-maven``  trata da geração do arquivo  ``MANIFEST.MF``  ao construir o projeto. Se abrir o arquivo  ``MANIFEST.MF``  no JAR compilado, você verá que o plug-in gerou um cabeçalho de manifesto que declara os pacotes exportados. Para OSGi, todos os pacotes que você deseja que sejam expostos e estejam disponíveis para outros pacotes devem ser listados no elemento  ``Exportar-Pacote``  no  ``MANIFEST.MF`` .
 
-13. Confirme se o  ``MANIFEST.MF``  contém o elemento  ``Export-Package``  (o elemento mostrado em *negrito* no exemplo abaixo).
+
+[start=13]
+. Confirme se o  ``MANIFEST.MF``  contém o elemento  ``Export-Package``  (o elemento mostrado em *negrito* no exemplo abaixo).
 
 [source,java]
 ----
@@ -277,7 +307,7 @@
 
 O contêiner OSGi lerá o cabeçalho do manifesto  ``Exportar-Pacote``  para determinar as classes no pacote que podem ser acessadas de fora do pacote. Nesse exemplo, as classes no pacote  ``com.mycompany.mavenhelloserviceapi``  estão expostas.
 
-*Observação.* Se o  `` MANIFEST.MF``  não contiver o elemento  `` Export-Package`` , você precisará ativar o procedimento do plug-in default para o plug-in na janela Propriedades do Projeto e reconstruir o projeto. Na janela Propriedades do Projeto, selecione a categoria Exportar Pacotes e selecione a opção *Default maven-bundle-plugin behavior*. Você pode usar o painel Exportar Pacotes da janela Propriedades do Projeto para especificar explicitamente os pacotes que deverão ser expostos ou especificar os pacotes diretamente em  ``pom.xml.`` .
+NOTE:  Se o  `` MANIFEST.MF``  não contiver o elemento  `` Export-Package`` , você precisará ativar o procedimento do plug-in default para o plug-in na janela Propriedades do Projeto e reconstruir o projeto. Na janela Propriedades do Projeto, selecione a categoria Exportar Pacotes e selecione a opção *Default maven-bundle-plugin behavior*. Você pode usar o painel Exportar Pacotes da janela Propriedades do Projeto para especificar explicitamente os pacotes que deverão ser expostos ou especificar os pacotes diretamente em  ``pom.xml.`` .
 
    
 
@@ -311,19 +341,34 @@
 
 Quando você implementar  ``Hello`` , o IDE exibirá um erro que deverá ser resolvido adicionando o projeto MavenHelloServiceApi como uma dependência.
 
-12. Clique com o botão direito do mouse no nó Dependências do *MavenHelloServiceImpl* na janela Projetos e selecione Adicionar Dependência.
-13. Clique na guia Abrir Projetos na caixa de diálogo Adicionar Biblioteca.
-14. Selecione o Pacote OSGi MavenHelloServiceApi. Clique em Add.
+
+[start=12]
+. Clique com o botão direito do mouse no nó Dependências do *MavenHelloServiceImpl* na janela Projetos e selecione Adicionar Dependência.
+
+[start=13]
+. Clique na guia Abrir Projetos na caixa de diálogo Adicionar Biblioteca.
+
+[start=14]
+. Selecione o Pacote OSGi MavenHelloServiceApi. Clique em Add.
+
 image::images/cdi-add-dependency.png[title="Clique na guia Abrir Projetos na caixa de diálogo Adicionar Biblioteca."]
-15. Clique com o botão direito do mouse na classe  ``HelloImpl.java``  que está aberta no editor e selecione Corrigir Importações (Alt-Shift-I; ⌘-Shift-I no Mac) para adicionar uma instrução de importação para  ``com.mycompany.mavenhelloserviceapi.Hello`` . Salve as alterações.
-16. Expanda o pacote  ``com.mycompany.mavenhelloserviceimpl``  e clique duas vezes em  ``Activator.java``  para abrir o arquivo no editor.
+
+
+[start=15]
+. Clique com o botão direito do mouse na classe  ``HelloImpl.java``  que está aberta no editor e selecione Corrigir Importações (Alt-Shift-I; ⌘-Shift-I no Mac) para adicionar uma instrução de importação para  ``com.mycompany.mavenhelloserviceapi.Hello`` . Salve as alterações.
+
+[start=16]
+. Expanda o pacote  ``com.mycompany.mavenhelloserviceimpl``  e clique duas vezes em  ``Activator.java``  para abrir o arquivo no editor.
+
 image::images/cdi-activator.png[title="Classe do ativador na janela Projetos"]
 
 O IDE criou automaticamente a classe ativadora do pacote  ``Activator.java``  em seu projeto. Um ativador de pacote é utilizado para gerenciar o ciclo de vida de um pacote. A classe do ativador de pacote é declarada no  ``MANIFEST.MF``  do pacote e é instanciada quando o pacote é iniciado pelo contêiner.
 
 Um pacote OSGi não requer uma classe de ativador de pacote, mas é possível utilizar o método  ``start()``  na classe do ativador, por exemplo, para inicializar serviços ou outros recursos necessários para o pacote. Neste exercício, você adicionará algumas linhas de código à classe que imprimirá mensagens na janela de Saída. Isso facilitará a identificação de quando um pacote é iniciado e parado.
 
-17. Modifique os métodos  ``start()``  e  ``stop()``  na classe do ativador do pacote para adicionar as linhas a seguir (em negrito).
+
+[start=17]
+. Modifique os métodos  ``start()``  e  ``stop()``  na classe do ativador do pacote para adicionar as linhas a seguir (em negrito).
 
 [source,java]
 ----
@@ -366,10 +411,14 @@
 
 Quando você construir o pacote, o plug-in gerará um Cabeçalho de Manifesto no arquivo de manifesto do pacote no JAR e especificará a classe do Ativador do Pacote. O runtime do OSGi procura pelo cabeçalho  ``Bundle-Activator``  no arquivo do manifesto quando um pacote é implantado.
 
-18. Corrija as instruções de importação em  ``Activator.java``  para importar  ``com.mycompany.mavenhelloserviceapi.Hello`` . Salve as alterações.
-19. Expanda o nó Dependências e confirme se o artefato  ``org.osgi.core``  é listado como uma dependência.
 
-*Observação.* Remova todas as versões mais antigas do artefato que são listadas no nó Dependências, clicando com o botão direito do mouse no artefato e escolhendo Remover Dependência. As únicas dependências devem ser o projeto MavenHelloServiceApi e o artefato  ``org.osgi.core`` .
+[start=18]
+. Corrija as instruções de importação em  ``Activator.java``  para importar  ``com.mycompany.mavenhelloserviceapi.Hello`` . Salve as alterações.
+
+[start=19]
+. Expanda o nó Dependências e confirme se o artefato  ``org.osgi.core``  é listado como uma dependência.
+
+NOTE:  Remova todas as versões mais antigas do artefato que são listadas no nó Dependências, clicando com o botão direito do mouse no artefato e escolhendo Remover Dependência. As únicas dependências devem ser o projeto MavenHelloServiceApi e o artefato  ``org.osgi.core`` .
 
 image::images/cdi-implproject.png[title="Classe do ativador na janela Projetos"]
    
@@ -383,8 +432,12 @@
 
 Quando você construir o projeto, o IDE criará os arquivos JAR na pasta de  ``destino``  de cada um dos projetos e também instalará o JAR de snapshot no repositório local. Na janela Arquivos, você pode expandir a pasta de  ``destino``  para cada um dos dois projetos de pacotes e ver os dois arquivos compactados JAR ( ``MavenHelloServiceApi-1.0-SNAPSHOT.jar``  e  ``MavenHelloServiceImpl-1.0-SNAPSHOT.jar`` ).
 
-2. Inicie o GlassFish Server, se ainda não o tiver feito.
-3. Copie o  ``MavenHelloServiceApi-1.0-SNAPSHOT.jar``  para o diretório  ``glassfish/domains/domain1/autodeploy/bundles/``  da instalação do GlassFish.
+
+[start=2]
+. Inicie o GlassFish Server, se ainda não o tiver feito.
+
+[start=3]
+. Copie o  ``MavenHelloServiceApi-1.0-SNAPSHOT.jar``  para o diretório  ``glassfish/domains/domain1/autodeploy/bundles/``  da instalação do GlassFish.
 
 No log do GlassFish Server, na janela de Saída, você deverá ver uma saída semelhante à mostrada a seguir.
 
@@ -398,7 +451,9 @@
 
 Clique com o botão direito do mouse no nó do GlassFish Server na janela Serviços e selecione Exibir Log do Servidor de Domínio, se o log do servidor não estiver visível na janela de Saída.
 
-4. Repita as etapas para copiar o  ``MavenHelloServiceImpl-1.0-SNAPSHOT.jar``  no diretório  ``autodeploy/bundles`` .
+
+[start=4]
+. Repita as etapas para copiar o  ``MavenHelloServiceImpl-1.0-SNAPSHOT.jar``  no diretório  ``autodeploy/bundles`` .
 
 No log do GlassFish Server, você agora deverá ver uma saída semelhante à mostrada a seguir.
 
@@ -473,7 +528,9 @@
 </project>
 
 ----
-3. Adicione os elementos a seguir para adicionar o repositório do GlassFish ao POM. Salve as alterações.
+
+[start=3]
+. Adicione os elementos a seguir para adicionar o repositório do GlassFish ao POM. Salve as alterações.
 
 [source,xml]
 ----
@@ -524,9 +581,11 @@
 8. Selecione  ``com.mycompany.mavenhellowebclient``  como o Pacote. Clique em Finalizar.
 9. Delete os métodos default no servlet que foram gerados pelo IDE ( ``processRequest`` ,  ``doGet`` ,  ``doPost`` ,  ``getServletInfo`` ).
 
-*Observação.* Você precisará expandir a pasta do editor para deletar os métodos do HttpServlet.
+NOTE:  Você precisará expandir a pasta do editor para deletar os métodos do HttpServlet.
 
-10. Digite o código a seguir (em negrito) para injetar o serviço.
+
+[start=10]
+. Digite o código a seguir (em negrito) para injetar o serviço.
 
 [source,java]
 ----
@@ -539,7 +598,9 @@
     Hello hello;*
 }
 ----
-11. Adicione o método  ``doGet``  a seguir.
+
+[start=11]
+. Adicione o método  ``doGet``  a seguir.
 
 [source,java]
 ----
@@ -551,13 +612,21 @@
         out.println(hello.sayHello("Duke"));
     }
 ----
-12. Clique com o botão direito do mouse no nó do projeto e selecione Novo > Outro.
-13. Selecione *beans.xml* na categoria Contextos e Injeção de Dependências. Clique em Próximo.
-14. Use o nome de arquivo default ( ``beans`` ). Clique em Finalizar.
+
+[start=12]
+. Clique com o botão direito do mouse no nó do projeto e selecione Novo > Outro.
+
+[start=13]
+. Selecione *beans.xml* na categoria Contextos e Injeção de Dependências. Clique em Próximo.
+
+[start=14]
+. Use o nome de arquivo default ( ``beans`` ). Clique em Finalizar.
 
 Quando você clicar em Finalizar, o assistente criará o arquivo  ``beans.xml``  na aplicação Web. O CDI será automaticamente ativado se o  ``beans.xml``  for parte da aplicação.
 
-15. Modifique o arquivo  ``beans.xml``  para alterar o valor padrão de  ``bean-discovery-mode``  para  ``all`` .
+
+[start=15]
+. Modifique o arquivo  ``beans.xml``  para alterar o valor padrão de  ``bean-discovery-mode``  para  ``all`` .
 
 [source,java]
 ----
@@ -571,17 +640,33 @@
 
 * link:http://docs.oracle.com/javaee/7/tutorial/doc/cdi-adv001.htm[+25.1 Encapsulando Aplicações CDI+] no Tutorial do Java EE 7
 * link:http://stackoverflow.com/questions/18107858/cdi-inject-fails-on-maven-embedded-glassfish-plugin-org-jboss-weld-exceptions[+http://stackoverflow.com/questions/18107858/cdi-inject-fails-on-maven-embedded-glassfish-plugin-org-jboss-weld-exceptions+]
-16. Clique com o botão direito do mouse no nó Dependências do MavenHelloWebClient na janela Projetos e selecione Adicionar Dependência.
-17. Selecione *Provided* como o Escopo.
-18. Clique na guia Abrir Projetos na caixa de diálogo Adicionar Biblioteca e selecione *Pacote OSGi MavenHelloServiceApi*. Clique em Add.
-19. Clique novamente com o botão direito do mouse no nó Dependências e selecione Adicionar Dependência.
-20. Clique na guia Gerenciamento de Dependências na caixa de diálogo Adicionar Biblioteca e selecione o artefato  ``osgi-cdi-api``  que você especificou no projeto POM pai. Clique em Add.
+
+[start=16]
+. Clique com o botão direito do mouse no nó Dependências do MavenHelloWebClient na janela Projetos e selecione Adicionar Dependência.
+
+[start=17]
+. Selecione *Provided* como o Escopo.
+
+[start=18]
+. Clique na guia Abrir Projetos na caixa de diálogo Adicionar Biblioteca e selecione *Pacote OSGi MavenHelloServiceApi*. Clique em Add.
+
+[start=19]
+. Clique novamente com o botão direito do mouse no nó Dependências e selecione Adicionar Dependência.
+
+[start=20]
+. Clique na guia Gerenciamento de Dependências na caixa de diálogo Adicionar Biblioteca e selecione o artefato  ``osgi-cdi-api``  que você especificou no projeto POM pai. Clique em Add.
+
 image::images/cdi-add-dependency3.png[title="Guia de Gerenciamento de Dependências na caixa de diálogo Adicionar Biblioteca"]
-21. Clique com o botão direito do mouse em  ``HelloServlet.java``  no editor e selecione Corrigir Importações (Alt-Shift-I; ⌘-Shift-I no Mac) para adicionar  ``com.mycompany.mavenhelloserviceapi.Hello`` ,  ``javax.inject.Inject``  e  ``org.glassfish.osgicdi.OSGiService`` . Salve as alterações.
 
-*Observação.* Pode ser preciso adicionar manualmente uma instrução de importação para o  ``com.mycompany.mavenhelloserviceapi.hello``  se o IDE não adicionar automaticamente para você.
 
-22. Clique com o botão direito do mouse em MavenOSGiCDIProject e selecione Limpar e Construir.
+[start=21]
+. Clique com o botão direito do mouse em  ``HelloServlet.java``  no editor e selecione Corrigir Importações (Alt-Shift-I; ⌘-Shift-I no Mac) para adicionar  ``com.mycompany.mavenhelloserviceapi.Hello`` ,  ``javax.inject.Inject``  e  ``org.glassfish.osgicdi.OSGiService`` . Salve as alterações.
+
+NOTE:  Pode ser preciso adicionar manualmente uma instrução de importação para o  ``com.mycompany.mavenhelloserviceapi.hello``  se o IDE não adicionar automaticamente para você.
+
+
+[start=22]
+. Clique com o botão direito do mouse em MavenOSGiCDIProject e selecione Limpar e Construir.
 
 Ao construir o projeto, na janela de Saída, você deverá ver uma saída semelhante à seguinte.
 
@@ -599,7 +684,7 @@
 BUILD SUCCESS
 ----
 
-*Observação.* Crie a aplicação web manualmente se ela não for criada automaticamente quando você criar o projeto MavenOSGiCDIProject.
+NOTE:  Crie a aplicação web manualmente se ela não for criada automaticamente quando você criar o projeto MavenOSGiCDIProject.
 
 Na janela Arquivos, expanda o nó do projeto para a aplicação Web e confirme se o arquivo compactado  ``MavenHelloWebClient-1.0-SNAPSHOT.war``  foi criado no diretório de destino. Se você expandir o arquivo compactado WAR do cliente Web e examinar o  ``MANIFEST.MF`` , verá que o manifesto contém linhas similares às seguintes.
 
@@ -665,7 +750,9 @@
          </plugin>*
             
 ----
-3. Modifique os elementos de configuração do  ``maven-war-plugin``  para adicionar informações do pacote ao  ``MANIFEST.MF`` . Salve as alterações.
+
+[start=3]
+. Modifique os elementos de configuração do  ``maven-war-plugin``  para adicionar informações do pacote ao  ``MANIFEST.MF`` . Salve as alterações.
 
 [source,xml]
 ----
@@ -691,7 +778,9 @@
      </configuration>
  </plugin>
 ----
-4. Clique com o botão direito do mouse no nó do projeto MavenHelloWebClient na janela Projetos e selecione Limpar e Construir.
+
+[start=4]
+. Clique com o botão direito do mouse no nó do projeto MavenHelloWebClient na janela Projetos e selecione Limpar e Construir.
 
 Ao expandir o arquivo compactado WAR e abrir o  ``MANIFEST.MF``  no editor, você verá que o  ``MANIFEST.MF``  contém informações adicionais, incluindo a entrada  ``Web-ContextPath: /mavenhellowebclient``  especificada na configuração  ``maven-bundle-plugin``  e entradas de nome de pacote.
 
@@ -761,23 +850,35 @@
 
 Clique com o botão direito do mouse no nó do GlassFish server na janela Serviços e selecione Exibir Console de Admin de Domínio.
 
-2. Clique na Ferramenta de Atualização na coluna de navegação esquerda.
-3. Selecione  ``glassfish-osgi-gui``  na lista de add-ons disponíveis.
+
+[start=2]
+. Clique na Ferramenta de Atualização na coluna de navegação esquerda.
+
+[start=3]
+. Selecione  ``glassfish-osgi-gui``  na lista de add-ons disponíveis.
 
 Clique em Instalar e aceite a licença.
 
 image::images/cdi-glassfish-addons.png[title="Ferramenta de Atualização da Console de Admin do GlassFish"]
-4. Reinicie o GlassFish Server.
+
+
+[start=4]
+. Reinicie o GlassFish Server.
 
 *Importante:* se você estiver executando GlassFish Server 3.1.2.2 você precisará modificar o arquivo  ``osgi.properties``  localizado no diretório  ``_GLASSFISH-INSTALL_/glassfish/config/``  e definir o valor da propriedade  ``org.osgi.framework.startlevel.beginning``  como "2" ( ``org.osgi.framework.startlevel.beginning=2`` ).
 Consulte o seguinte fórum para obter mais detalhes: 
 link:http://www.java.net/forum/topic/glassfish/glassfish/cannot-start-web-console-glassfish-version-3122[+Não é possível iniciar a console Web no Glassfish versão 3.1.2.2+].
 
-5. Abra a Console de Admin novamente e clique em *servidor (Servidor de Admin)* na coluna de navegação esquerda.
-6. Clique na guia da Console do OSGi para exibir uma lista de pacotes OSGi implantados. 
+
+[start=5]
+. Abra a Console de Admin novamente e clique em *servidor (Servidor de Admin)* na coluna de navegação esquerda.
+
+[start=6]
+. Clique na guia da Console do OSGi para exibir uma lista de pacotes OSGi implantados. 
+
 image::images/cdi-glassfish-console.png[title="Guia de Gerenciamento de Dependências na caixa de diálogo Adicionar Biblioteca"]
 
-*Observação.* Você poderá ser solicitado a informar o nome de usuário e a senha para exibir a lista de pacotes OSGi. Confirme se a caixa de diálogo de autorização não está oculta se você não vir uma lista de pacotes na guia Console do OSGi. O nome de usuário padrão do servidor GlassFish 4 é  ``admin``  se você instalou o servidor quando instalou o IDE. A senha fica vazia por padrão.
+NOTE:  Você poderá ser solicitado a informar o nome de usuário e a senha para exibir a lista de pacotes OSGi. Confirme se a caixa de diálogo de autorização não está oculta se você não vir uma lista de pacotes na guia Console do OSGi. O nome de usuário padrão do servidor GlassFish 4 é  ``admin``  se você instalou o servidor quando instalou o IDE. A senha fica vazia por padrão.
 
 É possível rolar a lista para baixo para exibir os status dos pacotes OSGi registrados, além de iniciar e parar os pacotes individuais. Se a lista for ordenada por Id (maior para menor), você verá que os três pacotes que foram implantados serão exibidos perto do topo da lista.
 
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi_ru.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi_ru.asciidoc
index 77d5293..bc8c2ec 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi_ru.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi_ru.asciidoc
@@ -47,8 +47,6 @@
 
 *Упражнения по темам руководства*
 
-image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0"]
-
 * <<Exercise_1,Создание родительского проекта POM>>
 * <<Exercise_2,Создание пакетных проектов OSGi>>
 * <<Exercise_2a,Создание пакета интерфейса MavenHelloServiceApi>>
@@ -97,12 +95,18 @@
 
 1. Выберите 'Создать проект' (Ctrl-Shift-N; ⌘-Shift-N в Mac) в главном меню.
 2. Выберите в категории "Maven" проект POM.
+
 image::images/cdi-newpomproject.png[title="Архетип проекта Maven POM в мастере создания проектов"]
-3. Введите *MavenOSGiCDIProject* в поле имени проекта. Нажмите кнопку "Завершить".
+
+
+[start=3]
+. Введите *MavenOSGiCDIProject* в поле имени проекта. Нажмите кнопку "Завершить".
 
 После нажатия кнопки "Готово" среда IDE создает проект POM и открывает проект в окне "Проекты".
 
-4. Разверните узел "Файлы проекта" в окне проектов и дважды щелкните файл  ``pom.xml`` , чтобы открыть файл в редакторе.
+
+[start=4]
+. Разверните узел "Файлы проекта" в окне проектов и дважды щелкните файл  ``pom.xml`` , чтобы открыть файл в редакторе.
 
 Базовый файл POM для проекта должен быть аналогичен следующему.
 
@@ -123,7 +127,9 @@
 </project>
         
 ----
-5. Измените родительский файл  ``pom.xml`` , добавив следующие элементы. Сохраните изменения.
+
+[start=5]
+. Измените родительский файл  ``pom.xml`` , добавив следующие элементы. Сохраните изменения.
 
 [source,xml]
 ----
@@ -169,9 +175,15 @@
 
 1. Выберите в меню "Файл" пункт "Новый проект", чтобы открыть мастер создания проекта.
 2. Выберите пакет OSGi из категории Maven. Нажмите кнопку "Далее".
+
 image::images/cdi-new-osgiproject.png[title="Архетип набора Maven OSGi в мастере создания проектов"]
-3. Введите в поле имени проекта *MavenHelloServiceApi*.
-4. Нажмите кнопку "Обзор" и выберите в качестве расположения проект POM *MavenOSGiCDIProject*. Нажмите кнопку "Завершить".
+
+
+[start=3]
+. Введите в поле имени проекта *MavenHelloServiceApi*.
+
+[start=4]
+. Нажмите кнопку "Обзор" и выберите в качестве расположения проект POM *MavenOSGiCDIProject*. Нажмите кнопку "Завершить".
 
 После нажатия кнопки "Готово" среда IDE создает проект и открывает его в окне проектов. Если открыть  ``pom.xml``  для проекта MavenHelloServiceApi в редакторе, то вы увидите, что элемент  ``packaging``  определяет  ``bundle`` , и что  ``maven-bundle-plugin``  будет использоваться при сборке пакета.
 
@@ -231,13 +243,27 @@
 
 Также можно увидеть, что при создании проекта пакета OSGi с использованием архетипа пакета Maven OSGi среда IDE добавляет артефакт  ``org.osgi.core``  в качестве зависимости по умолчанию.
 
-5. Щелкните правой кнопкой мыши узел проекта MavenHelloServiceApi в окне проектов и выберите пункт "Свойства".
-6. Выберите в диалоговом окне "Свойства проекта" категорию "Исходные файлы".
-7. Укажите для параметра *Формат исходных/двоичных файлов* значение 1.6 и подтвердите, что *кодировка* — UTF-8. Нажмите кнопку "ОК".
-8. Щелкните правой кнопкой мыши узел "Исходные пакеты" в окне проектов и выберите пункт "Создать" > "Интерфейс Java".
-9. Введите в поле "Имя класса *Hello*.
-10. Выберите пакет *com.mycompany.mavenhelloserviceapi*. Нажмите кнопку "Завершить".
-11. Добавьте следующий метод  ``sayHello``  к интерфейсу (выделено жирным) и сохраните изменения.
+
+[start=5]
+. Щелкните правой кнопкой мыши узел проекта MavenHelloServiceApi в окне проектов и выберите пункт "Свойства".
+
+[start=6]
+. Выберите в диалоговом окне "Свойства проекта" категорию "Исходные файлы".
+
+[start=7]
+. Укажите для параметра *Формат исходных/двоичных файлов* значение 1.6 и подтвердите, что *кодировка* — UTF-8. Нажмите кнопку "ОК".
+
+[start=8]
+. Щелкните правой кнопкой мыши узел "Исходные пакеты" в окне проектов и выберите пункт "Создать" > "Интерфейс Java".
+
+[start=9]
+. Введите в поле "Имя класса *Hello*.
+
+[start=10]
+. Выберите пакет *com.mycompany.mavenhelloserviceapi*. Нажмите кнопку "Завершить".
+
+[start=11]
+. Добавьте следующий метод  ``sayHello``  к интерфейсу (выделено жирным) и сохраните изменения.
 
 [source,java]
 ----
@@ -246,7 +272,9 @@
     *String sayHello(String name);*
 }
 ----
-12. Щелкните правой кнопкой мыши узел проекта в окне проектов и выберите "Сборка".
+
+[start=12]
+. Щелкните правой кнопкой мыши узел проекта в окне проектов и выберите "Сборка".
 
 После сборки проекта, если открыть окно "Файлы" и развернуть узел проекта, вы увидите, что файл  ``MavenHelloServiceApi-1.0-SNAPSHOT.jar``  создан в папке  ``target`` .
 
@@ -254,7 +282,9 @@
 
 Подключаемый модуль  ``maven-bundle-plugin``  обрабатывает создание файла  ``MANIFEST.MF``  при сборке проекта. Если открыть файл  ``MANIFEST.MF``  в скомпилированном файле JAR, можно увидеть, что модуль создал заголовок манифеста, который объявляет экспортные пакеты. Для OSGi все пакеты, которые нужно предоставить и сделать доступными для других пакетов, должны быть перечислены в элементе  ``Export-Package``  в файле  ``MANIFEST.MF`` .
 
-13. Убедитесь, что файл  ``MANIFEST.MF``  содержит элемент  ``Export-Package``  (в приведенном ниже примере этот элемент выделен *жирным шрифтом*).
+
+[start=13]
+. Убедитесь, что файл  ``MANIFEST.MF``  содержит элемент  ``Export-Package``  (в приведенном ниже примере этот элемент выделен *жирным шрифтом*).
 
 [source,java]
 ----
@@ -277,7 +307,7 @@
 
 Контейнер OSGi считывает заголовок манифеста  ``Export-Package``  для определения доступных извне классов пакета. Например, в этом примере предоставляются классы пакета  ``com.mycompany.mavenhelloserviceapi`` .
 
-*Примечание.* Если в файле  ``MANIFEST.MF``  отсутствует элемент  ``Export-Package`` , необходимо разрешить поведение по умолчанию для подключаемого модуля в окне 'Свойства проекта' и выполнить построение проекта повторно. В диалоговом окне 'Свойства проекта' выберите категорию 'Экспорт пакетов', затем выберите параметр *Поведение подключаемого модуля maven-bundle-plugin по умолчанию*. На панели 'Экспорт пакетов' в окне 'Свойства проекта' можно явно указать предоставляемые пакеты. Также можно указать пакеты непосредственно в файле  ``pom.xml`` .
+NOTE:  Если в файле  ``MANIFEST.MF``  отсутствует элемент  ``Export-Package`` , необходимо разрешить поведение по умолчанию для подключаемого модуля в окне 'Свойства проекта' и выполнить построение проекта повторно. В диалоговом окне 'Свойства проекта' выберите категорию 'Экспорт пакетов', затем выберите параметр *Поведение подключаемого модуля maven-bundle-plugin по умолчанию*. На панели 'Экспорт пакетов' в окне 'Свойства проекта' можно явно указать предоставляемые пакеты. Также можно указать пакеты непосредственно в файле  ``pom.xml`` .
 
    
 
@@ -311,19 +341,34 @@
 
 При внедрении  ``Hello``  среда IDE отобразит ошибку, которую необходимо разрешить добавлением проекта MavenHelloServiceApi в качестве зависимости.
 
-12. Щелкните правой кнопкой мыши узел "Зависимости" в *MavenHelloServiceImpl* в окне проектов и выберите пункт "Добавить зависимость".
-13. Щелкните вкладку "Открытые проекты" в диалоговом окне "Добавить библиотеку".
-14. Выберите пакет OSGi MavenHelloServiceApi. Нажмите кнопку "Add".
+
+[start=12]
+. Щелкните правой кнопкой мыши узел "Зависимости" в *MavenHelloServiceImpl* в окне проектов и выберите пункт "Добавить зависимость".
+
+[start=13]
+. Щелкните вкладку "Открытые проекты" в диалоговом окне "Добавить библиотеку".
+
+[start=14]
+. Выберите пакет OSGi MavenHelloServiceApi. Нажмите кнопку "Add".
+
 image::images/cdi-add-dependency.png[title="Откройте вкладку &quot;Проекты&quot; в диалоговом окне &quot;Добавить библиотеку&quot;."]
-15. Щелкните правой кнопкой мыши класс  ``HelloImpl.java`` , открытый в редакторе и выберите 'Исправить выражения импорта' (Alt-Shift-I; ⌘-Shift-I в Mac), чтобы добавить оператор импорта для  ``com.mycompany.mavenhelloserviceapi.Hello`` . Сохраните изменения.
-16. Разверните пакет  ``com.mycompany.mavenhelloserviceimpl``  и дважды щелкните  ``Activator.java``  для открытия файла в редакторе.
+
+
+[start=15]
+. Щелкните правой кнопкой мыши класс  ``HelloImpl.java`` , открытый в редакторе и выберите 'Исправить выражения импорта' (Alt-Shift-I; ⌘-Shift-I в Mac), чтобы добавить оператор импорта для  ``com.mycompany.mavenhelloserviceapi.Hello`` . Сохраните изменения.
+
+[start=16]
+. Разверните пакет  ``com.mycompany.mavenhelloserviceimpl``  и дважды щелкните  ``Activator.java``  для открытия файла в редакторе.
+
 image::images/cdi-activator.png[title="Класс 'Активатор' в окне 'Проекты'."]
 
 Среда IDE автоматически создала класс активатора пакета  ``Activator.java``  в вашем проекте. Активатор пакета используется для управления жизненным циклом пакета. Класс активатора пакета объявляется в файле  ``MANIFEST.MF``  пакета и создается при запуске пакета контейнером.
 
 Класс активатора не является обязательным для пакета OSGi, но метод  ``start()``  в классе активатора можно использовать, например, для инициализации служб или других нужных пакету ресурсов. В этом упражнении будут добавлены несколько строк кода в класс, который будет выводить сообщения в "Окно вывода". Это позволит определить, когда пакет запускается и останавливается.
 
-17. Измените методы  ``start()``  и  ``stop()``  в классе активатора пакета, чтобы добавить следующие строки (выделено жирным).
+
+[start=17]
+. Измените методы  ``start()``  и  ``stop()``  в классе активатора пакета, чтобы добавить следующие строки (выделено жирным).
 
 [source,java]
 ----
@@ -366,10 +411,14 @@
 
 При сборке пакета подключаемый модуль создает заголовок манифеста в файле манифеста проекта в файле JAR и указывает класс активатора пакета. При развертывании пакета среда выполнения OSGi ищет в файле манифеста заголовок  ``Bundle-Activator`` .
 
-18. Исправьте операторы импорта в  ``Activator.java``  для импорта  ``com.mycompany.mavenhelloserviceapi.Hello`` . Сохраните изменения.
-19. Разверните узел "Зависимости" и убедитесь, что артефакт  ``org.osgi.core``  добавлен в список зависимостей.
 
-*Примечание.* Удалите все предыдущие версии артефакта в узле 'Зависимости'. Для этого щелкните артефакт правой кнопкой мыши и выберите 'Удалить зависимость'. Узел "Зависимости" должен содержать только проект MavenHelloServiceApi и артефакт  ``org.osgi.core`` .
+[start=18]
+. Исправьте операторы импорта в  ``Activator.java``  для импорта  ``com.mycompany.mavenhelloserviceapi.Hello`` . Сохраните изменения.
+
+[start=19]
+. Разверните узел "Зависимости" и убедитесь, что артефакт  ``org.osgi.core``  добавлен в список зависимостей.
+
+NOTE:  Удалите все предыдущие версии артефакта в узле 'Зависимости'. Для этого щелкните артефакт правой кнопкой мыши и выберите 'Удалить зависимость'. Узел "Зависимости" должен содержать только проект MavenHelloServiceApi и артефакт  ``org.osgi.core`` .
 
 image::images/cdi-implproject.png[title="Класс 'Активатор' в окне 'Проекты'."]
    
@@ -383,8 +432,12 @@
 
 При сборке проекта среда IDE создает файлы JAR в папке  ``target``  каждого из проектов, а также устанавливает снимок JAR в локальный репозиторий. В окне "Файлы" можно развернуть папку  ``target``  для каждого из двух проектов пакетов чтобы увидеть два архива JAR ( ``MavenHelloServiceApi-1.0-SNAPSHOT.jar``  и  ``MavenHelloServiceImpl-1.0-SNAPSHOT.jar`` ).
 
-2. Запустите сервер GlassFish, если он еще не запущен.
-3. Скопируйте  ``MavenHelloServiceApi-1.0-SNAPSHOT.jar``  в каталог  ``glassfish/domains/domain1/autodeploy/bundles/``  вашей установки GlassFish.
+
+[start=2]
+. Запустите сервер GlassFish, если он еще не запущен.
+
+[start=3]
+. Скопируйте  ``MavenHelloServiceApi-1.0-SNAPSHOT.jar``  в каталог  ``glassfish/domains/domain1/autodeploy/bundles/``  вашей установки GlassFish.
 
 Вы должны увидеть выходные данные, похожие на следующие данные журнала сервера GlassFish, в окне выходных данных.
 
@@ -398,7 +451,9 @@
 
 Щелкните правой кнопкой мыши узел сервера GlassFish в окне "Службы" и выберите пункт "Просмотреть журнал сервера домена", если журнал сервера не виден в окне вывода.
 
-4. Повторите действия по копированию файла  ``MavenHelloServiceImpl-1.0-SNAPSHOT.jar``  в каталог  ``autodeploy/bundles`` .
+
+[start=4]
+. Повторите действия по копированию файла  ``MavenHelloServiceImpl-1.0-SNAPSHOT.jar``  в каталог  ``autodeploy/bundles`` .
 
 Теперь в журнале сервера GlassFish вы должны видеть примерно следующий результат.
 
@@ -425,8 +480,12 @@
 
 В этом упражнении указываются элементы зависимости в родительском проекте POM. Кроме того, добавляется репозиторий для артефактов, который будет использоваться в проекте.
 
-1. Разверните узел "Файлы проекта" в проекте *MavenOSGiCDIProject* в окне проектов и дважды щелкните файл  ``pom.xml`` , чтобы открыть файл в редакторе.
-2. Измените родительский файл  ``pom.xml`` , добавив следующие элементы управления зависимостями (выделены жирным шрифтом). Сохраните изменения.
+
+[start=1]
+. Разверните узел "Файлы проекта" в проекте *MavenOSGiCDIProject* в окне проектов и дважды щелкните файл  ``pom.xml`` , чтобы открыть файл в редакторе.
+
+[start=2]
+. Измените родительский файл  ``pom.xml`` , добавив следующие элементы управления зависимостями (выделены жирным шрифтом). Сохраните изменения.
 
 [source,xml]
 ----
@@ -473,7 +532,9 @@
 </project>
 
 ----
-3. Добавьте следующие элементы, чтобы добавить к POM репозиторий GlassFish. Сохраните изменения.
+
+[start=3]
+. Добавьте следующие элементы, чтобы добавить к POM репозиторий GlassFish. Сохраните изменения.
 
 [source,xml]
 ----
@@ -524,9 +585,11 @@
 8. В списке 'Пакет' выберите  ``com.mycompany.mavenhellowebclient`` . Нажмите кнопку "Завершить".
 9. Удалите созданные средой IDE методы по умолчанию ( ``processRequest`` ,  ``doGet`` ,  ``doPost`` ,  ``getServletInfo`` ).
 
-*Примечание.* Потребуется расширить свертывание редактора для удаления методов HttpServlet.
+NOTE:  Потребуется расширить свертывание редактора для удаления методов HttpServlet.
 
-10. Для внедрения службы введите следующий код (выделен жирным).
+
+[start=10]
+. Для внедрения службы введите следующий код (выделен жирным).
 
 [source,java]
 ----
@@ -539,7 +602,9 @@
     Hello hello;*
 }
 ----
-11. Добавьте следующий метод  ``doGet`` .
+
+[start=11]
+. Добавьте следующий метод  ``doGet`` .
 
 [source,java]
 ----
@@ -551,13 +616,21 @@
         out.println(hello.sayHello("Duke"));
     }
 ----
-12. Щелкните узел проекта правой кнопкой мыши и выберите команду "Создать" > "Другие".
-13. Выберите *beans.xml* в категории "Подключение контекстов и зависимостей". Нажмите кнопку "Далее".
-14. Используйте имя файла по умолчанию ( ``beans`` ). Нажмите кнопку "Завершить".
+
+[start=12]
+. Щелкните узел проекта правой кнопкой мыши и выберите команду "Создать" > "Другие".
+
+[start=13]
+. Выберите *beans.xml* в категории "Подключение контекстов и зависимостей". Нажмите кнопку "Далее".
+
+[start=14]
+. Используйте имя файла по умолчанию ( ``beans`` ). Нажмите кнопку "Завершить".
 
 При нажатии кнопки "Готово" мастер создает в веб-приложении файл  ``beans.xml`` . Среда CDI автоматически включена, если  ``beans.xml``  является частью приложения.
 
-15. В файле  ``beans.xml``  измените значение параметра  ``bean-discovery-mode``  на  ``all`` .
+
+[start=15]
+. В файле  ``beans.xml``  измените значение параметра  ``bean-discovery-mode``  на  ``all`` .
 
 [source,java]
 ----
@@ -571,17 +644,33 @@
 
 * link:http://docs.oracle.com/javaee/7/tutorial/doc/cdi-adv001.htm[+25.1 Упаковка приложений CDI+] в учебном курсе по Java EE 7
 * link:http://stackoverflow.com/questions/18107858/cdi-inject-fails-on-maven-embedded-glassfish-plugin-org-jboss-weld-exceptions[+http://stackoverflow.com/questions/18107858/cdi-inject-fails-on-maven-embedded-glassfish-plugin-org-jboss-weld-exceptions+]
-16. Щелкните правой кнопкой мыши узел "Зависимости" в MavenHelloWebClient в окне проектов и выберите пункт "Добавить зависимость".
-17. Выберите *"Предоставленный"* в качестве области действия.
-18. Щелкните в диалоговом окне добавления библиотеки вкладку "Открытые проекты" и выберите *пакет MavenHelloServiceApi OSGi *. Нажмите кнопку "Add".
-19. Снова щелкните правой кнопкой мыши узел "Зависимости" и выберите пункт "Добавить зависимость".
-20. Щелкните вкладку "Управление зависимостями" в диалоговом окне "Добавить библиотеку" и выберите артефакт  ``osgi-cdi-api`` , указанный в родительском проекте POM. Нажмите кнопку "Add".
+
+[start=16]
+. Щелкните правой кнопкой мыши узел "Зависимости" в MavenHelloWebClient в окне проектов и выберите пункт "Добавить зависимость".
+
+[start=17]
+. Выберите *"Предоставленный"* в качестве области действия.
+
+[start=18]
+. Щелкните в диалоговом окне добавления библиотеки вкладку "Открытые проекты" и выберите *пакет MavenHelloServiceApi OSGi *. Нажмите кнопку "Add".
+
+[start=19]
+. Снова щелкните правой кнопкой мыши узел "Зависимости" и выберите пункт "Добавить зависимость".
+
+[start=20]
+. Щелкните вкладку "Управление зависимостями" в диалоговом окне "Добавить библиотеку" и выберите артефакт  ``osgi-cdi-api`` , указанный в родительском проекте POM. Нажмите кнопку "Add".
+
 image::images/cdi-add-dependency3.png[title="Вкладка 'Управление зависимостями' в диалоговом окне 'Добавить библиотеку'"]
-21. Щелкните правой кнопкой мыши  ``HelloServlet.java``  в редакторе и выберите 'Исправить выражения импорта' (Alt-Shift-I; ⌘-Shift-I в Mac), чтобы добавить  ``com.mycompany.mavenhelloserviceapi.Hello`` ,  ``javax.inject.Inject``  и  ``org.glassfish.osgicdi.OSGiService`` . Сохраните изменения.
 
-*Примечание.* Может потребоваться добавление вручную операторов импорта для  ``com.mycompany.mavenhelloserviceapi.Hello`` , если среда IDE не добавит их автоматически.
 
-22. Щелкните правой кнопкой мыши MavenOSGiCDIProject и выберите пункт "Очистка и сборка".
+[start=21]
+. Щелкните правой кнопкой мыши  ``HelloServlet.java``  в редакторе и выберите 'Исправить выражения импорта' (Alt-Shift-I; ⌘-Shift-I в Mac), чтобы добавить  ``com.mycompany.mavenhelloserviceapi.Hello`` ,  ``javax.inject.Inject``  и  ``org.glassfish.osgicdi.OSGiService`` . Сохраните изменения.
+
+NOTE:  Может потребоваться добавление вручную операторов импорта для  ``com.mycompany.mavenhelloserviceapi.Hello`` , если среда IDE не добавит их автоматически.
+
+
+[start=22]
+. Щелкните правой кнопкой мыши MavenOSGiCDIProject и выберите пункт "Очистка и сборка".
 
 При сборке проекта в окне вывода должен появиться результат, похожий на следующий.
 
@@ -599,7 +688,7 @@
 BUILD SUCCESS
 ----
 
-*Примечание.* Если при сборке проекта MavenOSGiCDIProject веб-приложение не собирается автоматически, потребуется собрать его вручную.
+NOTE:  Если при сборке проекта MavenOSGiCDIProject веб-приложение не собирается автоматически, потребуется собрать его вручную.
 
 В окне файлов разверните узел проекта для веб-приложения и подтвердите, что архив  ``MavenHelloWebClient-1.0-SNAPSHOT.war``  был создан в целевом каталоге. Если вы развернете архив WAR веб-клиента и исследуете  ``MANIFEST.MF`` , то увидите, что в манифесте содержатся строки, похожие на следующие.
 
@@ -665,7 +754,9 @@
          </plugin>*
             
 ----
-3. Исправьте элементы настройки в  ``maven-war-plugin`` , чтобы добавить информацию о пакете к  ``MANIFEST.MF`` . Сохраните изменения.
+
+[start=3]
+. Исправьте элементы настройки в  ``maven-war-plugin`` , чтобы добавить информацию о пакете к  ``MANIFEST.MF`` . Сохраните изменения.
 
 [source,xml]
 ----
@@ -691,7 +782,9 @@
      </configuration>
  </plugin>
 ----
-4. Щелкните правой кнопкой мыши узел проекта MavenHelloWebClient project в окне проектов и выберите пункт "Очистка и сборка".
+
+[start=4]
+. Щелкните правой кнопкой мыши узел проекта MavenHelloWebClient project в окне проектов и выберите пункт "Очистка и сборка".
 
 Теперь, если развернуть архив WAR и открыть файл  ``MANIFEST.MF``  в редакторе, видно, что  ``MANIFEST.MF``  теперь содержит дополнительные сведения, в том числе запись  ``Web-ContextPath: /mavenhellowebclient`` , указанную в настройке  ``maven-bundle-plugin``  и записях имени пакета.
 
@@ -761,23 +854,35 @@
 
 Щелкните правой кнопкой мыши узел сервера GlassFish в окне "Службы" и выберите пункт "Просмотреть консоль администрирования домена".
 
-2. Щелкните средство обновления в левом столбце навигации.
-3. Выберите  ``glassfish-osgi-gui``  из списка допустимых надстроек.
+
+[start=2]
+. Щелкните средство обновления в левом столбце навигации.
+
+[start=3]
+. Выберите  ``glassfish-osgi-gui``  из списка допустимых надстроек.
 
 Нажмите "Установить" и примите лицензионное соглашение.
 
 image::images/cdi-glassfish-addons.png[title="Средство обновления консоли администратора GlassFish"]
-4. Перезапустите сервер приложений GlassFish.
+
+
+[start=4]
+. Перезапустите сервер приложений GlassFish.
 
 *Важно!* При работе с GlassFish Server 3.1.2.2 необходимо внести изменения в файл  ``osgi.properties`` , который находится в каталоге  ``_GLASSFISH-INSTALL_/glassfish/config/`` , и задать для свойства  ``org.osgi.framework.startlevel.beginning``  значение '2' ( ``org.osgi.framework.startlevel.beginning=2`` ).
 Дополнительную информацию см. в сообщении форума: 
 link:http://www.java.net/forum/topic/glassfish/glassfish/cannot-start-web-console-glassfish-version-3122[+ Невозможно запустить веб-консоль на Glassfish версии 3.1.2.2+].
 
-5. Снова откройте консоль администрирования и выберите пункт *сервер (сервер администрирования)* в левом столбце навигации.
-6. Щелкните по вкладке консоли OSGi, чтобы просмотреть список развернутых пакетов OSGi. 
+
+[start=5]
+. Снова откройте консоль администрирования и выберите пункт *сервер (сервер администрирования)* в левом столбце навигации.
+
+[start=6]
+. Щелкните по вкладке консоли OSGi, чтобы просмотреть список развернутых пакетов OSGi. 
+
 image::images/cdi-glassfish-console.png[title="Вкладка 'Управление зависимостями' в диалоговом окне 'Добавить библиотеку'"]
 
-*Примечание.* На экране может отобразиться запрос на ввод имени пользователя и пароля для просмотра списка пакетов OSGi. Если на вкладке "Консоль OSGi" не отображается список пакетов, убедитесь, что не скрыто диалоговое окно авторизации. По умолчанию для GlassFish 4 используется имя пользователя  ``admin``  (если сервер был установлен вместе с IDE). Пароль по умолчанию пуст.
+NOTE:  На экране может отобразиться запрос на ввод имени пользователя и пароля для просмотра списка пакетов OSGi. Если на вкладке "Консоль OSGi" не отображается список пакетов, убедитесь, что не скрыто диалоговое окно авторизации. По умолчанию для GlassFish 4 используется имя пользователя  ``admin``  (если сервер был установлен вместе с IDE). Пароль по умолчанию пуст.
 
 Можно прокрутить список ниже, чтобы просмотреть состояние зарегистрированных пакетов OSGi, запускать и останавливать отдельные пакеты. Если упорядочить список по идентификатору (от высшего к низшему), на первых позициях в списке отобразятся три развернутых пакета.
 
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi_zh_CN.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi_zh_CN.asciidoc
index 80ce818..3e40316 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi_zh_CN.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-osgiservice-cdi_zh_CN.asciidoc
@@ -47,8 +47,6 @@
 
 *教程练习*
 
-image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0"]
-
 * <<Exercise_1,创建父 POM 项目>>
 * <<Exercise_2,创建 OSGi 包项目>>
 * <<Exercise_2a,创建 MavenHelloServiceApi 接口包>>
@@ -97,12 +95,18 @@
 
 1. 从主菜单中选择 "New Project"(新建项目)(Ctrl-Shift-N 组合键;在 Mac 中为 ⌘-Shift-N 组合键)。
 2. 从 "Maven" 类别中选择 "POM Project"(POM 项目)。
+
 image::images/cdi-newpomproject.png[title="新建项目向导中 Maven POM 项目原型"]
-3. 键入 *MavenOSGiCDIProject* 作为项目名称。单击 "Finish"(完成)。
+
+
+[start=3]
+. 键入 *MavenOSGiCDIProject* 作为项目名称。单击 "Finish"(完成)。
 
 单击 "Finish"(完成),此时 IDE 将创建 POM 项目并在 "Projects"(项目)窗口中打开该项目。
 
-4. 在 "Projects"(项目)窗口中展开 "Project Files"(项目文件)节点,然后双击  ``pom.xml``  在编辑器中打开该文件。
+
+[start=4]
+. 在 "Projects"(项目)窗口中展开 "Project Files"(项目文件)节点,然后双击  ``pom.xml``  在编辑器中打开该文件。
 
 项目的基本 POM 应类似于以下内容。
 
@@ -123,7 +127,9 @@
 </project>
         
 ----
-5. 修改父  ``pom.xml``  以添加下列元素。保存所做的更改。
+
+[start=5]
+. 修改父  ``pom.xml``  以添加下列元素。保存所做的更改。
 
 [source,xml]
 ----
@@ -169,9 +175,15 @@
 
 1. 选择 "File"(文件)> "New Project"(新建项目)以打开新建项目向导。
 2. 从 "Maven" 类别中选择 "OSGi Bundle"(OSGi 包)。单击 "Next"(下一步)。
+
 image::images/cdi-new-osgiproject.png[title="新建项目向导中的 Maven OSGi 包原型"]
-3. 键入 *MavenHelloServiceApi* 作为项目名称。
-4. 单击 "Browse"(浏览),并选择 *MavenOSGiCDIProject* POM 项目作为位置。单击 "Finish"(完成)。
+
+
+[start=3]
+. 键入 *MavenHelloServiceApi* 作为项目名称。
+
+[start=4]
+. 单击 "Browse"(浏览),并选择 *MavenOSGiCDIProject* POM 项目作为位置。单击 "Finish"(完成)。
 
 单击 "Finish"(完成),此时 IDE 将创建包项目并在 "Projects"(项目)窗口中打开该项目。如果在编辑器中打开 MavenHelloServiceApi 项目的  ``pom.xml`` ,则可以看到  ``packaging``  元素指定了  ``bundle``  并且构建包时将使用  ``maven-bundle-plugin`` 。
 
@@ -231,13 +243,27 @@
 
 此外,您还可以看到,使用 Maven OSGi 包原型创建 OSGi 包项目时,IDE 在默认情况下将  ``org.osgi.core``  工件添加为依赖关系。
 
-5. 在 "Projects"(项目)窗口中右键单击 "MavenHelloServiceApi" 项目节点,然后选择 "Properties"(属性)。
-6. 在 "Project Properties"(项目属性)对话框中选择 "Sources"(源)类别。
-7. 将 *Source/Binary Format*(源代码/二进制格式)设置为 "1.6",并确认 *Encoding*(编码)是 "UTF-8"。单击 "OK"(确定)。
-8. 在 "Projects"(项目)窗口中右键单击 "Source Packages"(源包)节点,然后选择 "New"(新建)> "Java Interface"(Java 接口)。
-9. 键入 *Hello* 作为类名。
-10. 在 "Package"(包)中选择 *com.mycompany.mavenhelloserviceapi*。单击 "Finish"(完成)。
-11. 将以下  ``sayHello``  方法添加到接口中(以粗体显示),然后保存所做的更改。
+
+[start=5]
+. 在 "Projects"(项目)窗口中右键单击 "MavenHelloServiceApi" 项目节点,然后选择 "Properties"(属性)。
+
+[start=6]
+. 在 "Project Properties"(项目属性)对话框中选择 "Sources"(源)类别。
+
+[start=7]
+. 将 *Source/Binary Format*(源代码/二进制格式)设置为 "1.6",并确认 *Encoding*(编码)是 "UTF-8"。单击 "OK"(确定)。
+
+[start=8]
+. 在 "Projects"(项目)窗口中右键单击 "Source Packages"(源包)节点,然后选择 "New"(新建)> "Java Interface"(Java 接口)。
+
+[start=9]
+. 键入 *Hello* 作为类名。
+
+[start=10]
+. 在 "Package"(包)中选择 *com.mycompany.mavenhelloserviceapi*。单击 "Finish"(完成)。
+
+[start=11]
+. 将以下  ``sayHello``  方法添加到接口中(以粗体显示),然后保存所做的更改。
 
 [source,java]
 ----
@@ -246,7 +272,9 @@
     *String sayHello(String name);*
 }
 ----
-12. 在 "Projects"(项目)窗口中右键单击项目节点,并选择 "Build"(构建)。
+
+[start=12]
+. 在 "Projects"(项目)窗口中右键单击项目节点,并选择 "Build"(构建)。
 
 构建项目后,如果打开 "Files"(文件)窗口,并展开项目节点,则可以看到在  ``target``  文件夹中创建了  ``MavenHelloServiceApi-1.0-SNAPSHOT.jar`` 。
 
@@ -254,7 +282,9 @@
 
 构建项目时, ``maven-bundle-plugin``  将处理  ``MANIFEST.MF``  文件的构建。如果打开已编译的 JAR 中的  ``MANIFEST.MF``  文件,将看到此插件已生成一个清单标题,此标题声明了导出包。对于 OSGi,要公开并可供其他包使用的所有包都必须列在  ``MANIFEST.MF``  的  ``Export-Package``  元素中。
 
-13. 确认  ``MANIFEST.MF``  包含  ``Export-Package``  元素(以下示例中*粗体*显示的元素)。
+
+[start=13]
+. 确认  ``MANIFEST.MF``  包含  ``Export-Package``  元素(以下示例中*粗体*显示的元素)。
 
 [source,java]
 ----
@@ -277,7 +307,7 @@
 
 OSGi 容器将读取  ``Export-Package``  清单标题以确定可以从包外部访问此包中的类。在此示例中, ``com.mycompany.mavenhelloserviceapi``  包中的类是公开的。
 
-*注:*如果  ``MANIFEST.MF``  不包含  ``Export-Package``  元素,则您需要在 "Project Properties"(项目属性)窗口中启用插件的默认插件行为,并重新构建项目。在 "Project Properties"(项目属性)窗口中,选择 "Export Packages"(导出包)类别,然后选择 *Default maven-bundle-plugin behavior*(默认 maven-bundle-plugin 行为)选项。可以使用 "Project Properties"(项目属性)窗口的 "Export Packages"(导出包)面板显式指定应公开的包,或直接在  ``pom.xml``  中指定包。
+NOTE: 如果  ``MANIFEST.MF``  不包含  ``Export-Package``  元素,则您需要在 "Project Properties"(项目属性)窗口中启用插件的默认插件行为,并重新构建项目。在 "Project Properties"(项目属性)窗口中,选择 "Export Packages"(导出包)类别,然后选择 *Default maven-bundle-plugin behavior*(默认 maven-bundle-plugin 行为)选项。可以使用 "Project Properties"(项目属性)窗口的 "Export Packages"(导出包)面板显式指定应公开的包,或直接在  ``pom.xml``  中指定包。
 
    
 
@@ -311,19 +341,34 @@
 
 实现  ``Hello``  时,IDE 将显示一个错误,您需要将 MavenHelloServiceApi 项目添加为依赖关系才能解决该错误。
 
-12. 在 "Projects"(项目)窗口中右键单击 *MavenHelloServiceImpl* 的 "Dependencies"(依赖关系)节点,然后选择 "Add Dependency"(添加依赖关系)。
-13. 在 "Add Library"(添加库)对话框中,单击 "Open Projects"(打开的项目)标签。
-14. 选择 "MavenHelloServiceApi OSGi Bundle"(MavenHelloServiceApi OSGi 包)。单击 "ADD"(添加)。
+
+[start=12]
+. 在 "Projects"(项目)窗口中右键单击 *MavenHelloServiceImpl* 的 "Dependencies"(依赖关系)节点,然后选择 "Add Dependency"(添加依赖关系)。
+
+[start=13]
+. 在 "Add Library"(添加库)对话框中,单击 "Open Projects"(打开的项目)标签。
+
+[start=14]
+. 选择 "MavenHelloServiceApi OSGi Bundle"(MavenHelloServiceApi OSGi 包)。单击 "ADD"(添加)。
+
 image::images/cdi-add-dependency.png[title="在 "Add Library"(添加库)对话框中打开 "Projects"(项目)标签"]
-15. 右键单击在编辑器中打开的  ``HelloImpl.java``  类,然后选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键),以添加  ``com.mycompany.mavenhelloserviceapi.Hello``  的 import 语句。保存所做的更改。
-16. 展开  ``com.mycompany.mavenhelloserviceimpl``  包并双击  ``Activator.java`` ,即可在编辑器中打开该文件。
+
+
+[start=15]
+. 右键单击在编辑器中打开的  ``HelloImpl.java``  类,然后选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键),以添加  ``com.mycompany.mavenhelloserviceapi.Hello``  的 import 语句。保存所做的更改。
+
+[start=16]
+. 展开  ``com.mycompany.mavenhelloserviceimpl``  包并双击  ``Activator.java`` ,即可在编辑器中打开该文件。
+
 image::images/cdi-activator.png[title=""Projects"(项目)窗口中的激活器类"]
 
 IDE 在项目中自动创建了  ``Activator.java``  包激活器类。包激活器用于管理包的生命周期。包激活器类在包的  ``MANIFEST.MF``  中声明,并在容器启动该包时实例化。
 
 OSGi 包不需要包激活器类,但可以使用激活器类中的  ``start()``  方法,例如,用于初始化包所需的服务或其他资源。在此练习中将向类中添加一些代码行,将消息打印到 "Output"(输出)窗口。这将更便于确定包启动和停止的时间。
 
-17. 修改包激活器类中的  ``start()``  和  ``stop()``  方法,以添加下列行(以粗体显示)。
+
+[start=17]
+. 修改包激活器类中的  ``start()``  和  ``stop()``  方法,以添加下列行(以粗体显示)。
 
 [source,java]
 ----
@@ -366,10 +411,14 @@
 
 在构建包时,该插件将在 JAR 的包清单文件中构建清单标题,并指定包激活器类。部署包时,OSGi 运行时在清单文件中查找  ``Bundle-Activator``  标题。
 
-18. 在  ``Activator.java``  中修复 import 语句,以导入  ``com.mycompany.mavenhelloserviceapi.Hello`` 。保存所做的更改。
-19. 展开 "Dependencies"(依赖关系)节点,然后确认  ``org.osgi.core``  工件作为依赖关系列出。
 
-*注:*通过右键单击该工件并选择 "Remove Dependency"(移除依赖关系),移除 "Dependencies"(依赖关系)节点下列出的该工件的所有早期版本。唯一的依赖关系应是 MavenHelloServiceApi 项目和  ``org.osgi.core``  工件。
+[start=18]
+. 在  ``Activator.java``  中修复 import 语句,以导入  ``com.mycompany.mavenhelloserviceapi.Hello`` 。保存所做的更改。
+
+[start=19]
+. 展开 "Dependencies"(依赖关系)节点,然后确认  ``org.osgi.core``  工件作为依赖关系列出。
+
+NOTE: 通过右键单击该工件并选择 "Remove Dependency"(移除依赖关系),移除 "Dependencies"(依赖关系)节点下列出的该工件的所有早期版本。唯一的依赖关系应是 MavenHelloServiceApi 项目和  ``org.osgi.core``  工件。
 
 image::images/cdi-implproject.png[title=""Projects"(项目)窗口中的激活器类"]
    
@@ -383,7 +432,9 @@
 
 构建项目时,IDE 将在每个项目的  ``target``  文件夹中创建 JAR 文件,还将在本地资源库中安装快照 JAR。在 "Files"(文件)窗口中,可以展开两个包项目中任一个的  ``target``  文件夹,以查看两个 JAR 档案( ``MavenHelloServiceApi-1.0-SNAPSHOT.jar``  和  ``MavenHelloServiceImpl-1.0-SNAPSHOT.jar`` )。
 
-2. 启动 GlassFish Server(如果尚未启动)。
+
+[start=2]
+. 启动 GlassFish Server(如果尚未启动)。
 
 此时 "Output"(输出)窗口的 GlassFish Server 日志中应显示类似于以下内容的输出。
 
@@ -397,7 +448,9 @@
 
 在 "Services"(服务)窗口中右键单击 "GlassFish Server" 节点,然后选择 "View Domain Server Log"(查看域服务器日志)(如果 "Output"(输出)窗口中不显示服务器日志)。
 
-4. 重复执行相关步骤,将  ``MavenHelloServiceImpl-1.0-SNAPSHOT.jar``  复制到  ``autodeploy/bundles``  目录。
+
+[start=4]
+. 重复执行相关步骤,将  ``MavenHelloServiceImpl-1.0-SNAPSHOT.jar``  复制到  ``autodeploy/bundles``  目录。
 
 现在,GlassFish Server 日志中应显示类似于以下内容的输出。
 
@@ -424,8 +477,12 @@
 
 在本练习中,将指定父 POM 项目中的依赖关系元素。此外,还将添加项目要使用的工件的资源库。
 
-1. 在 "Projects"(项目)窗口中展开 *MavenOSGiCDIProject* 项目的 "Project Files"(项目文件)节点,然后双击  ``pom.xml``  在编辑器中打开该文件。
-2. 修改父  ``pom.xml``  以添加下列依赖关系管理元素(以粗体显示)。保存所做的更改。
+
+[start=1]
+. 在 "Projects"(项目)窗口中展开 *MavenOSGiCDIProject* 项目的 "Project Files"(项目文件)节点,然后双击  ``pom.xml``  在编辑器中打开该文件。
+
+[start=2]
+. 修改父  ``pom.xml``  以添加下列依赖关系管理元素(以粗体显示)。保存所做的更改。
 
 [source,xml]
 ----
@@ -472,7 +529,9 @@
 </project>
 
 ----
-3. 添加下列元素,将 GlassFish 资源库添加到 POM 中。保存所做的更改。
+
+[start=3]
+. 添加下列元素,将 GlassFish 资源库添加到 POM 中。保存所做的更改。
 
 [source,xml]
 ----
@@ -523,9 +582,11 @@
 8. 选择  ``com.mycompany.mavenhellowebclient``  作为包。单击 "Finish"(完成)。
 9. 删除 Servlet 中已由 IDE 生成的默认方法( ``processRequest`` 、 ``doGet`` 、 ``doPost`` 、 ``getServletInfo`` )。
 
-*注:*需要展开编辑器折叠才能删除 HttpServlet 方法。
+NOTE: 需要展开编辑器折叠才能删除 HttpServlet 方法。
 
-10. 键入以下将注入服务的代码(以粗体显示)。
+
+[start=10]
+. 键入以下将注入服务的代码(以粗体显示)。
 
 [source,java]
 ----
@@ -538,7 +599,9 @@
     Hello hello;*
 }
 ----
-11. 添加以下  ``doGet``  方法。
+
+[start=11]
+. 添加以下  ``doGet``  方法。
 
 [source,java]
 ----
@@ -550,13 +613,21 @@
         out.println(hello.sayHello("Duke"));
     }
 ----
-12. 右键单击项目节点,然后选择 "New"(新建)> "Other"(其他)。
-13. 在 "Contexts and Dependency Injection"(上下文和依赖关系注入)类别中选择 *beans.xml*。单击 "Next"(下一步)。
-14. 使用默认文件名 ( ``beans`` )。单击 "Finish"(完成)。
+
+[start=12]
+. 右键单击项目节点,然后选择 "New"(新建)> "Other"(其他)。
+
+[start=13]
+. 在 "Contexts and Dependency Injection"(上下文和依赖关系注入)类别中选择 *beans.xml*。单击 "Next"(下一步)。
+
+[start=14]
+. 使用默认文件名 ( ``beans`` )。单击 "Finish"(完成)。
 
 单击 "Finish"(完成),此时该向导将在 Web 应用程序中创建  ``beans.xml``  文件。如果  ``beans.xml``  是该应用程序的一部分,则系统将自动启用 CDI。
 
-15. 修改  ``beans.xml``  文件以将  ``bean-discovery-mode``  的默认值更改为  ``all`` 。
+
+[start=15]
+. 修改  ``beans.xml``  文件以将  ``bean-discovery-mode``  的默认值更改为  ``all`` 。
 
 [source,java]
 ----
@@ -570,17 +641,33 @@
 
 * Java EE 7 教程中的 link:http://docs.oracle.com/javaee/7/tutorial/doc/cdi-adv001.htm[+25.1:打包 CDI 应用程序+]
 * link:http://stackoverflow.com/questions/18107858/cdi-inject-fails-on-maven-embedded-glassfish-plugin-org-jboss-weld-exceptions[+http://stackoverflow.com/questions/18107858/cdi-inject-fails-on-maven-embedded-glassfish-plugin-org-jboss-weld-exceptions+]
-16. 在 "Projects"(项目)窗口中右键单击 "MavenHelloWebClient" 的 "Dependencies"(依赖关系)节点,然后选择 "Add Dependency"(添加依赖关系)。
-17. 选择 *Provided* 作为作用域。
-18. 在 "Add Library"(添加库)对话框中单击 "Open Projects"(打开的项目)标签,然后选择 *MavenHelloServiceApi OSGi Bundle(MavenHelloServiceApi OSGi 包)*。单击 "ADD"(添加)。
-19. 再次右键单击 "Dependencies"(依赖关系)节点,然后选择 "Add Dependency"(添加依赖关系)。
-20. 在 "Add Library"(添加库)对话框中单击 "Dependency Management"(依赖关系管理)标签,然后选择在父 POM 项目中指定的  ``osgi-cdi-api``  工件。单击 "ADD"(添加)。
+
+[start=16]
+. 在 "Projects"(项目)窗口中右键单击 "MavenHelloWebClient" 的 "Dependencies"(依赖关系)节点,然后选择 "Add Dependency"(添加依赖关系)。
+
+[start=17]
+. 选择 *Provided* 作为作用域。
+
+[start=18]
+. 在 "Add Library"(添加库)对话框中单击 "Open Projects"(打开的项目)标签,然后选择 *MavenHelloServiceApi OSGi Bundle(MavenHelloServiceApi OSGi 包)*。单击 "ADD"(添加)。
+
+[start=19]
+. 再次右键单击 "Dependencies"(依赖关系)节点,然后选择 "Add Dependency"(添加依赖关系)。
+
+[start=20]
+. 在 "Add Library"(添加库)对话框中单击 "Dependency Management"(依赖关系管理)标签,然后选择在父 POM 项目中指定的  ``osgi-cdi-api``  工件。单击 "ADD"(添加)。
+
 image::images/cdi-add-dependency3.png[title=""Add Library"(添加库)对话框中的 "Dependency Management"(依赖关系管理)标签"]
-21. 在编辑器中右键单击  ``HelloServlet.java`` ,然后选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键),以添加  ``com.mycompany.mavenhelloserviceapi.Hello`` 、 ``javax.inject.Inject``  和  ``org.glassfish.osgicdi.OSGiService`` 。保存所做的更改。
 
-*注:*如果 IDE 未自动添加  ``com.mycompany.mavenhelloserviceapi.Hello``  的 import 语句,则可能需要手动进行添加。
 
-22. 右键单击 "MavenOSGiCDIProject",然后选择 "Clean and Build"(清理并构建)。
+[start=21]
+. 在编辑器中右键单击  ``HelloServlet.java`` ,然后选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键),以添加  ``com.mycompany.mavenhelloserviceapi.Hello`` 、 ``javax.inject.Inject``  和  ``org.glassfish.osgicdi.OSGiService`` 。保存所做的更改。
+
+NOTE: 如果 IDE 未自动添加  ``com.mycompany.mavenhelloserviceapi.Hello``  的 import 语句,则可能需要手动进行添加。
+
+
+[start=22]
+. 右键单击 "MavenOSGiCDIProject",然后选择 "Clean and Build"(清理并构建)。
 
 构建项目时,"Output"(输出)窗口中应显示类似于以下内容的输出。
 
@@ -598,7 +685,7 @@
 BUILD SUCCESS
 ----
 
-*注:*如果在构建 MavenOSGiCDIProject 项目时未自动构建 Web 应用程序,则您需要手动构建 Web 应用程序。
+NOTE: 如果在构建 MavenOSGiCDIProject 项目时未自动构建 Web 应用程序,则您需要手动构建 Web 应用程序。
 
 在 "Files"(文件)窗口中,展开 Web 应用程序的项目节点,并确认在目标目录中创建了档案  ``MavenHelloWebClient-1.0-SNAPSHOT.war`` 。如果展开 Web 客户端的 WAR 档案并检查  ``MANIFEST.MF`` ,则会看到清单中包含类似于以下内容的行。
 
@@ -664,7 +751,9 @@
          </plugin>*
             
 ----
-3. 修改  ``maven-war-plugin``  的配置元素,将包信息添加到  ``MANIFEST.MF``  中。保存所做的更改。
+
+[start=3]
+. 修改  ``maven-war-plugin``  的配置元素,将包信息添加到  ``MANIFEST.MF``  中。保存所做的更改。
 
 [source,xml]
 ----
@@ -690,7 +779,9 @@
      </configuration>
  </plugin>
 ----
-4. 在 "Projects"(项目)窗口中,右键单击 "MavenHelloWebClient" 项目节点,然后选择 "Clean and Build"(清理并构建)。
+
+[start=4]
+. 在 "Projects"(项目)窗口中,右键单击 "MavenHelloWebClient" 项目节点,然后选择 "Clean and Build"(清理并构建)。
 
 如果您现在展开 WAR 档案,并在编辑器中打开  ``MANIFEST.MF`` ,则会看到  ``MANIFEST.MF``  现在包含其他信息,包括您在  ``maven-bundle-plugin``  配置和包名称条目中指定的  ``Web-ContextPath: /mavenhellowebclient``  条目。
 
@@ -760,23 +851,35 @@
 
 在 "Services"(服务)窗口中,右键单击 "GlassFish Server" 节点,然后选择 "View Domain Admin Console"(查看域管理控制台)。
 
-2. 单击左侧导航栏中的 "Update Tool"(更新工具)。
-3. 从可用附件列表中选择  ``glassfish-osgi-gui`` 。
+
+[start=2]
+. 单击左侧导航栏中的 "Update Tool"(更新工具)。
+
+[start=3]
+. 从可用附件列表中选择  ``glassfish-osgi-gui`` 。
 
 单击 "Install"(安装),然后接受许可证。
 
 image::images/cdi-glassfish-addons.png[title="GlassFish 管理控制台的 "Update Tool"(更新工具)"]
-4. 重新启动 GlassFish Server。
+
+
+[start=4]
+. 重新启动 GlassFish Server。
 
 *重要说明:*如果您运行的是 GlassFish Server 3.1.2.2,则需要修改位于  ``_GLASSFISH-INSTALL_/glassfish/config/``  目录中的  ``osgi.properties``  文件,并将  ``org.osgi.framework.startlevel.beginning``  属性的值设置为 "2" ( ``org.osgi.framework.startlevel.beginning=2`` )。
 有关更多详细信息,请参见以下论坛帖子:
 link:http://www.java.net/forum/topic/glassfish/glassfish/cannot-start-web-console-glassfish-version-3122[+ 无法在 Glassfish 3.1.2.2 版中启动 Web 控制台+]。
 
-5. 再次打开管理控制台,然后在左侧的导航栏中单击 *Server (Admin Server)*(服务器(管理服务器))。
-6. 单击 "OSGi Console"(OSGi 控制台)标签,以查看已部署的 OSGi 包列表。 
+
+[start=5]
+. 再次打开管理控制台,然后在左侧的导航栏中单击 *Server (Admin Server)*(服务器(管理服务器))。
+
+[start=6]
+. 单击 "OSGi Console"(OSGi 控制台)标签,以查看已部署的 OSGi 包列表。 
+
 image::images/cdi-glassfish-console.png[title=""Add Library"(添加库)对话框中的 "Dependency Management"(依赖关系管理)标签"]
 
-*注:*系统可能会提示您输入用户名和口令来查看 OSGi 包列表。如果您在 "OSGi Console"(OSGi 控制台)标签中看不到包列表,请确认未隐藏授权对话框。如果您在安装 IDE 时安装了 GlassFish 4 Server,则此服务器的默认用户名为  ``admin`` 。默认情况下口令为空。
+NOTE: 系统可能会提示您输入用户名和口令来查看 OSGi 包列表。如果您在 "OSGi Console"(OSGi 控制台)标签中看不到包列表,请确认未隐藏授权对话框。如果您在安装 IDE 时安装了 GlassFish 4 Server,则此服务器的默认用户名为  ``admin`` 。默认情况下口令为空。
 
 您可以向下滚动列表,以查看已注册的 OSGi 包的状态,并启动和停止各个包。如果按 ID 对列表进行排序(从高到低),则会看到已部署的三个包显示在该列表的顶部附近。
 
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi.asciidoc
index 35d4021..a82ab00 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi.asciidoc
@@ -35,14 +35,12 @@
 
 The application contains a WebSocket endpoint and decoder and encoder interfaces, a web page and some JavaScript files that are run in the client browser when the page is loaded or when invoked from a form in the web page. You will deploy the application to GlassFish Server Open Source Edition 4, the reference implementation of Java EE 7 technology.
 
-*Note.* This tutorial is based on the link:https://blogs.oracle.com/arungupta/entry/collaborative_whiteboard_using_websocket_in[+ Collaborative Whiteboard using WebSocket in GlassFish 4 - Text/JSON and Binary/ArrayBuffer Data Transfer (TOTD #189) +] blog post and other blog entries which can be found on link:http://blog.arungupta.me/[+Arun Gupta's blog+]. Be sure to visit the blog and see many other excellent entries on working with the WebSocket API and GlassFish 4.
+NOTE:  This tutorial is based on the link:https://blogs.oracle.com/arungupta/entry/collaborative_whiteboard_using_websocket_in[+ Collaborative Whiteboard using WebSocket in GlassFish 4 - Text/JSON and Binary/ArrayBuffer Data Transfer (TOTD #189) +] blog post and other blog entries which can be found on link:http://blog.arungupta.me/[+Arun Gupta's blog+]. Be sure to visit the blog and see many other excellent entries on working with the WebSocket API and GlassFish 4.
 
 You can also watch the link:maven-websocketapi-screencast.html[+Video of Using the WebSocket API in a Web Application+].
 
 *Tutorial Exercises*
 
-image::images/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.3, 7.4 and 8.0"]
-
 * <<Exercise_1,Creating the Web Application Project>>
 * <<createendpoint,Creating the WebSocket Endpoint>>
 * <<createendpoint1,Create the Endpoint>>
@@ -69,7 +67,7 @@
 |link:https://glassfish.java.net/[+GlassFish Server Open Source Edition+] |4 
 |===
 
-*Note.* GlassFish 4 is bundled with the Java EE download bundle of NetBeans IDE.
+NOTE:  GlassFish 4 is bundled with the Java EE download bundle of NetBeans IDE.
 
 *Prerequisites*
 
@@ -97,6 +95,7 @@
 4. Type *org.sample* for the Group Id. Click Next.
 5. Select *GlassFish Server 4.0* for the Server.
 6. Set the Java EE Version to *Java EE 7 Web*. Click Finish.
+
 image::images/websocket-newproject.png[title="Server and Java EE versions in the New Project wizard"]
 
 When you click Finish, the IDE creates the project and opens the project in the Projects window.
@@ -118,6 +117,7 @@
 3. Type *MyWhiteboard* as the Class Name.
 4. Select  ``org.sample.whiteboardapp``  in the Package dropdown list.
 5. Type */whiteboardendpoint* as the WebSocket URI. Click Finish.
+
 image::images/websocket-newendpoint.png[title="WebSocket Endpoint in the New File wizard"]
 
 When you click Finish the IDE generates the WebSocket Endpoint class and opens the file in the source editor. In the editor you can see that the IDE generated some annotations that are part of the WebSocket API. The class is annotated with  ``link:https://javaee-spec.java.net/nonav/javadocs/javax/websocket/server/ServerEndpoint.html[+@ServerEndpoint+]``  to identify the class as an endpoint and the WebSocket URI is specified as a parameter of the annotation. The IDE also generated a default  ``onMessage``  method that is annotated with  ``link:https://javaee-spec.java.net/nonav/javadocs/javax/websocket/OnMessage.html[+@OnMessage+]`` . A method annotated with  ``@OnMessage``  is invoked each time that the client receives a WebSocket message.
@@ -136,7 +136,9 @@
     
 }
 ----
-6. Add the following field (in *bold*) to the class.
+
+[start=6]
+. Add the following field (in *bold*) to the class.
 
 [source,java]
 ----
@@ -151,7 +153,9 @@
     }
 }
 ----
-7. Add the following  ``onOpen``  and  ``onClose``  methods.
+
+[start=7]
+. Add the following  ``onOpen``  and  ``onClose``  methods.
 
 [source,java]
 ----
@@ -172,7 +176,10 @@
 Use the hints and code completion in the source editor to help you generate the methods. Click the hint glyph in the left margin next to the class declaration (or place the insert cursor in the class declaration and type Alt-Enter) and select the method in the popup menu. The code completion can help you code the method.
 
 image::images/websocket-endpoint-hint.png[title="Code Hint in the Source Editor"]
-8. Right-click in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac). Save your changes.
+
+
+[start=8]
+. Right-click in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac). Save your changes.
 
 You will see that import statements for classes in  ``javax.websocket``  are added to the file.
 
@@ -190,7 +197,7 @@
 3. Type *websocket* for the JavaScript File Name. Click Finish.
 4. Add the following to the JavaScript file.
 
-[source,xml]
+[source,javascript]
 ----
 
 var wsUri = "ws://" + document.location.host + document.location.pathname + "whiteboardendpoint";
@@ -205,9 +212,11 @@
 
 This script will initiate the session handshake with the server when  ``websocket.js``  is loaded by the browser.
 
-5. Open  ``index.html``  and add the following code (in *bold*) to the bottom of the file to load  ``websocket.js``  when the page is finished loading.
 
-[source,xml]
+[start=5]
+. Open  ``index.html``  and add the following code (in *bold*) to the bottom of the file to load  ``websocket.js``  when the page is finished loading.
+
+[source,html]
 ----
 
 <body>
@@ -236,9 +245,11 @@
 *<div id="output"></div>*
 <script type="text/javascript" src="websocket.js"></script>
 ----
-2. Add the following declaration and methods to  ``websocket.js`` . Save your changes.
 
-[source,java]
+[start=2]
+. Add the following declaration and methods to  ``websocket.js`` . Save your changes.
+
+[source,javascript]
 ----
 
 // For testing purposes
@@ -257,7 +268,9 @@
 
 When the page loads the JavaScript functions will print the message that the browser is connected to the endpoint. You can delete the functions after you confirm that the endpoint is performing correctly.
 
-3. Right-click the project in the Projects window and choose Run.
+
+[start=3]
+. Right-click the project in the Projects window and choose Run.
 
 When you run the application the IDE will start the GlassFish server and build and deploy the application. The index page will open in your browser and you will see the following message in the browser window.
 
@@ -278,7 +291,7 @@
 1. Open  ``index.html``  in the source editor.
 2. Delete the  ``<div>``  tag that you added to test the endpoint and add the following  ``<table>``  and  ``<form>``  elements (in *bold*) after the opening body tag.
 
-[source,xml]
+[source,html]
 ----
 
 <h1>Collaborative Whiteboard App</h1>
@@ -298,9 +311,11 @@
     <script type="text/javascript" src="websocket.js"></script>
     </body>
 ----
-3. Add the following code (in *bold*) for the canvas element.
 
-[source,xml]
+[start=3]
+. Add the following code (in *bold*) for the canvas element.
+
+[source,html]
 ----
 
         <table>
@@ -309,9 +324,11 @@
                     *<canvas id="myCanvas" width="150" height="150" style="border:1px solid #000000;"></canvas>*
                 </td>
 ----
-4. Add the following  ``<table>``  to add radio buttons to select the color and shape. Save your changes.
 
-[source,xml]
+[start=4]
+. Add the following  ``<table>``  to add radio buttons to select the color and shape. Save your changes.
+
+[source,html]
 ----
 
         <table>
@@ -368,12 +385,17 @@
 
 For more about  ``javax.json.JsonObject`` , see the Java API for JSON Processing (link:http://jcp.org/en/jsr/detail?id=353[+JSR 353+]), which is part of the Java EE 7 Specification.
 
-4. Create a getter and setter for  ``json`` .
+
+[start=4]
+. Create a getter and setter for  ``json`` .
 
 You can select getter and setter in the Insert Code popup menu (Alt-Ins on Windows; Ctrl-I on Mac) to open the Generate Getters and Setter dialog box. Alternatively, you can choose Source > Insert Code from the main menu.
 
 image::images/websocket-generategetter.png[title="Generate Getter and Setter dialog box"]
-5. Add a constructor for  ``json`` .
+
+
+[start=5]
+. Add a constructor for  ``json`` .
 
 [source,java]
 ----
@@ -386,7 +408,10 @@
 You can choose Constructor in the Insert Code popup menu (Ctrl-I).
 
 image::images/websocket-generateconstructor.png[title="Generate Constructor popup menu"]
-6. Add the following  ``toString``  method:
+
+
+[start=6]
+. Add the following  ``toString``  method:
 
 [source,java]
 ----
@@ -398,7 +423,9 @@
         return writer.toString();
     }
 ----
-7. Right-click in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac). Save your changes.
+
+[start=7]
+. Right-click in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac). Save your changes.
  
 
 
@@ -456,9 +483,11 @@
 
 When you click Finish the IDE creates the empty JavaScript file and opens the file in the editor. You can see the new file under the Web Pages node in the Projects window.
 
-3. Add the following code to initialize the canvas and to add an event listener.
 
-[source,java]
+[start=3]
+. Add the following code to initialize the canvas and to add an event listener.
+
+[source,javascript]
 ----
 
 var canvas = document.getElementById("myCanvas");
@@ -468,9 +497,11 @@
 
 You can see that the  ``defineImage``  method is invoked when the user clicks in the  ``canvas``  element.
 
-4. Add the following  ``getCurrentPos`` ,  ``defineImage``  and  ``drawImageText``  methods to construct the JSON structure and send it to the endpoint ( ``sendText(json)`` ).
 
-[source,java]
+[start=4]
+. Add the following  ``getCurrentPos`` ,  ``defineImage``  and  ``drawImageText``  methods to construct the JSON structure and send it to the endpoint ( ``sendText(json)`` ).
+
+[source,javascript]
 ----
 
 function getCurrentPos(evt) {
@@ -531,7 +562,7 @@
 The JSON structure that is sent will be similar to the following:
 
 
-[source,java]
+[source,javascript]
 ----
 
 {
@@ -546,9 +577,11 @@
 
 You now need to add a  ``sendText(json)``  method to send the JSON string using  ``websocket.send()`` .
 
-5. Open  ``websocket.js``  in the editor and add the following methods for sending JSON to the endpoint and for drawing the image when a message is received from the endpoint.
 
-[source,java]
+[start=5]
+. Open  ``websocket.js``  in the editor and add the following methods for sending JSON to the endpoint and for drawing the image when a message is received from the endpoint.
+
+[source,javascript]
 ----
 
 websocket.onmessage = function(evt) { onMessage(evt) };
@@ -564,11 +597,13 @@
 }
 ----
 
-*Note.* You can delete the code that you added to  ``websocket.js``  for testing the endpoint.
+NOTE:  You can delete the code that you added to  ``websocket.js``  for testing the endpoint.
 
-6. Add the following line (in *bold*) to the bottom of  ``index.html``  to load  ``whiteboard.js`` .
 
-[source,xml]
+[start=6]
+. Add the following line (in *bold*) to the bottom of  ``index.html``  to load  ``whiteboard.js`` .
+
+[source,html]
 ----
 
         </table>
@@ -598,11 +633,15 @@
     
 }
 ----
-4. Add an import statement for  ``javax.websocket.Encoder``  and implement the abstract methods.
+
+[start=4]
+. Add an import statement for  ``javax.websocket.Encoder``  and implement the abstract methods.
 
 Place your cursor in the class declaration and type Alt-Enter and choose *Implement all abstract methods* from the popup menu.
 
-5. Modify the generated abstract methods by making the following changes (in *bold*). Save your changes.
+
+[start=5]
+. Modify the generated abstract methods by making the following changes (in *bold*). Save your changes.
 
 [source,java]
 ----
@@ -622,9 +661,15 @@
         *System.out.println("destroy");*
     }
 ----
-6. Right-click the project node and choose New > Java Class.
-7. Type *FigureDecoder* as the Class Name and choose  ``org.sample.whiteboardapp``  in the Package dropdown list. Click Finish.
-8. In the source editor, implement the WebSocket Decoder interface by adding the following code (in *bold*):
+
+[start=6]
+. Right-click the project node and choose New > Java Class.
+
+[start=7]
+. Type *FigureDecoder* as the Class Name and choose  ``org.sample.whiteboardapp``  in the Package dropdown list. Click Finish.
+
+[start=8]
+. In the source editor, implement the WebSocket Decoder interface by adding the following code (in *bold*):
 
 [source,java]
 ----
@@ -634,8 +679,12 @@
     
 }
 ----
-9. Add an import statement for  ``javax.websocket.Decoder``  and implement abstract methods.
-10. Make the following changes (in *bold*) to the generated abstract methods.
+
+[start=9]
+. Add an import statement for  ``javax.websocket.Decoder``  and implement abstract methods.
+
+[start=10]
+. Make the following changes (in *bold*) to the generated abstract methods.
 
 [source,java]
 ----
@@ -668,7 +717,9 @@
         *System.out.println("destroy");*
     }
 ----
-11. Fix the imports and save your changes.
+
+[start=11]
+. Fix the imports and save your changes.
 
 You now need to modify  ``MyWhiteboard.java``  to specify the encoder and decoder.
 
@@ -688,8 +739,12 @@
 @ServerEndpoint(*value=*"/whiteboardendpoint"*, encoders = {FigureEncoder.class}, decoders = {FigureDecoder.class}*)
         
 ----
-3. Delete the  ``onMessage``  method that was generated by default.
-4. Add the following  ``broadcastFigure``  method and annotate the method with  ``@OnMessage`` .
+
+[start=3]
+. Delete the  ``onMessage``  method that was generated by default.
+
+[start=4]
+. Add the following  ``broadcastFigure``  method and annotate the method with  ``@OnMessage`` .
 
 [source,java]
 ----
@@ -704,12 +759,16 @@
         }
     }
 ----
-5. Right-click in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac). Save your changes.
-6. Right-click the project in the Projects window and choose Run.
+
+[start=5]
+. Right-click in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac). Save your changes.
+
+[start=6]
+. Right-click the project in the Projects window and choose Run.
 
 When you click Run the IDE opens a browser window to link:http://localhost:8080/WhiteboardApp/[+http://localhost:8080/WhiteboardApp/+].
 
-*Note.* You might need to undeploy the previous application from the application server or force reload the page in the browser.
+NOTE:  You might need to undeploy the previous application from the application server or force reload the page in the browser.
 
 If you view the browser messages you can see that a string is sent via JSON to the endpoint each time you click in the canvas.
 
@@ -728,14 +787,16 @@
 
 1. Open  ``websocket.js``  and add the following code to set the  ``binaryType``  property of WebSocket to  ``arraybuffer`` .
 
-[source,java]
+[source,javascript]
 ----
 
 websocket.binaryType = "arraybuffer";
 ----
-2. Add the following method to send binary data to the endpoint.
 
-[source,java]
+[start=2]
+. Add the following method to send binary data to the endpoint.
+
+[source,javascript]
 ----
 
 function sendBinary(bytes) {
@@ -743,9 +804,11 @@
     websocket.send(bytes);
 }
 ----
-3. Modify the  ``onMessage``  method to add the following code (in *bold*) to select the method for updating the canvas according to the type of data in the incoming message.
 
-[source,java]
+[start=3]
+. Modify the  ``onMessage``  method to add the following code (in *bold*) to select the method for updating the canvas according to the type of data in the incoming message.
+
+[source,javascript]
 ----
 
 function onMessage(evt) {
@@ -760,9 +823,11 @@
 
 The  ``drawImageBinary``  method is invoked if a message with binary data is received.
 
-4. Open  ``whiteboard.js``  and add the following methods. The  ``drawImageBinary``  method is invoked to update the canvas after parsing the incoming binary data. The  ``defineImageBinary``  method is used to prepare a snapshot of the canvas as binary data.
 
-[source,java]
+[start=4]
+. Open  ``whiteboard.js``  and add the following methods. The  ``drawImageBinary``  method is invoked to update the canvas after parsing the incoming binary data. The  ``defineImageBinary``  method is used to prepare a snapshot of the canvas as binary data.
+
+[source,javascript]
 ----
 
 function drawImageBinary(blob) {
@@ -795,9 +860,11 @@
 
 You now need to add a way to invoke  ``defineImageBinary``  when you want to generate the binary data as the type  ``ArrayBuffer``  and send it to the endpoint.
 
-5. Open  ``index.html``  and modify the  ``<table>``  element to add the following row to the table in the form.
 
-[source,xml]
+[start=5]
+. Open  ``index.html``  and modify the  ``<table>``  element to add the following row to the table in the form.
+
+[source,html]
 ----
 
 <tr>
@@ -812,7 +879,9 @@
 
 The new row contains a Send Snapshot button to send a binary snapshot of the canvas to the connected peers. The  ``defineImageBinary``  method in  ``whiteboard.js``  is invoked when the button is clicked.
 
-6. Open  ``MyWhiteboard.java``  and add the following method that will send the binary data to peers when the endpoint receives a message with binary data.
+
+[start=6]
+. Open  ``MyWhiteboard.java``  and add the following method that will send the binary data to peers when the endpoint receives a message with binary data.
 
 [source,java]
 ----
@@ -828,13 +897,13 @@
 }
 ----
 
-*Note.* You will need to add an import statement for  ``java.nio.ByteBuffer`` .
+NOTE:  You will need to add an import statement for  ``java.nio.ByteBuffer`` .
 
 You can modify the application to enable the user to stop sending data to the endpoint. By default all peers are connected as soon as they open the page and data is sent from the browser to all connected peers. You can add a simple conditional so that data is not sent to the endpoint unless the option is selected. This does not affect receiving data. Data is still received from the endpoint.
 
 1. Modify the  ``defineImage``  method in  ``whiteboard.js``  to add the following code (in *bold*).
 
-[source,java]
+[source,javascript]
 ----
 
         drawImageText(json);
@@ -846,9 +915,11 @@
 
 The conditional code that you checks that if the element with the id  ``checked`` 
 
-2. Open  ``index.html``  and modify the  ``<table>``  element to add a checkbox to the form.
 
-[source,xml]
+[start=2]
+. Open  ``index.html``  and modify the  ``<table>``  element to add a checkbox to the form.
+
+[source,html]
 ----
 
 <tr>
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi_ja.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi_ja.asciidoc
index f0e68ca..631e721 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi_ja.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi_ja.asciidoc
@@ -35,14 +35,12 @@
 
 アプリケーションには、WebSocketエンドポイント、デコーダおよびエンコーダのインタフェース、Webページ、およびページのロード時またはWebページのフォームからの起動時にクライアント・ブラウザで実行されるJavaScriptファイルが含まれます。Java EE 7テクノロジのリファレンス実装であるGlassFish Server Open Source Edition 4にアプリケーションをデプロイします。
 
-*注意:*このチュートリアルは、link:http://blog.arungupta.me/[+Arun Gupta氏のブログ+]で見ることができるブログ投稿link:https://blogs.oracle.com/arungupta/entry/collaborative_whiteboard_using_websocket_in[+ Collaborative Whiteboard using WebSocket in GlassFish 4 - Text/JSON and Binary/ArrayBuffer Data Transfer (TOTD #189)+]およびその他のブログ・エントリに基づいています。このブログにアクセスして、WebSocket APIやGlassFish 4の使用に関するその他の多くの有用なエントリをぜひ参照してください。
+NOTE: このチュートリアルは、link:http://blog.arungupta.me/[+Arun Gupta氏のブログ+]で見ることができるブログ投稿link:https://blogs.oracle.com/arungupta/entry/collaborative_whiteboard_using_websocket_in[+ Collaborative Whiteboard using WebSocket in GlassFish 4 - Text/JSON and Binary/ArrayBuffer Data Transfer (TOTD #189)+]およびその他のブログ・エントリに基づいています。このブログにアクセスして、WebSocket APIやGlassFish 4の使用に関するその他の多くの有用なエントリをぜひ参照してください。
 
 link:maven-websocketapi-screencast.html[+「WebアプリケーションでのWebSocket APIの使用のビデオ」+]も参照できます。
 
 *チュートリアルの課題*
 
-image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.3、7.4および8.0に適用されます"]
-
 * <<Exercise_1,Webアプリケーション・プロジェクトの作成>>
 * <<createendpoint,WebSocketエンドポイントの作成>>
 * <<createendpoint1,エンドポイントの作成>>
@@ -69,7 +67,7 @@
 |link:https://glassfish.java.net/[+GlassFish Server Open Source Edition+] |4 
 |===
 
-*注意:*GlassFish 4は、NetBeans IDEのJava EEダウンロード・バンドルにバンドルされています。
+NOTE: GlassFish 4は、NetBeans IDEのJava EEダウンロード・バンドルにバンドルされています。
 
 *前提条件*
 
@@ -97,6 +95,7 @@
 4. 「グループID」に*「org.sample」*と入力します。「次」をクリックします。
 5. 「サーバー」に*「GlassFish Server 4.0」*を選択します。
 6. 「Java EEバージョン」を*「Java EE 7 Web」*に設定します。「終了」をクリックします。
+
 image::images/websocket-newproject.png[title="新規プロジェクト・ウィザードの「サーバー」および「Java EEバージョン」"]
 
 「終了」をクリックすると、IDEがプロジェクトを作成し、そのプロジェクトが「プロジェクト」ウィンドウで開きます。
@@ -118,6 +117,7 @@
 3. 「クラス名」に*「MyWhiteboard」*と入力します。
 4. 「パッケージ」ドロップダウン・リストで「 ``org.sample.whiteboardapp`` 」を選択します。
 5. 「WebSocket URI」に*「/whiteboardendpoint」*と入力します。「終了」をクリックします。
+
 image::images/websocket-newendpoint.png[title="新規ファイル・ウィザードのWebSocketエンドポイント"]
 
 「終了」をクリックすると、IDEによってWebSocketエンドポイント・クラスが生成され、ソース・エディタでファイルが開きます。エディタで、IDEによってWebSocket APIの一部である注釈が生成されたことを確認できます。クラスには、クラスがエンドポイントであることを識別する ``link:https://javaee-spec.java.net/nonav/javadocs/javax/websocket/server/ServerEndpoint.html[+@ServerEndpoint+]`` という注釈が付けられ、注釈のパラメータとしてWebSocket URIが指定されています。IDEによって ``link:https://javaee-spec.java.net/nonav/javadocs/javax/websocket/OnMessage.html[+@OnMessage+]`` という注釈が付けられたデフォルトの ``onMessage`` メソッドも生成されました。 ``@OnMessage`` という注釈が付けられたメソッドは、クライアントがWebSocketメッセージを受信するたびに起動されます。
@@ -136,7 +136,9 @@
     
 }
 ----
-6. 次のフィールド(*太字*部分)をクラスに追加します。
+
+[start=6]
+. 次のフィールド(*太字*部分)をクラスに追加します。
 
 [source,java]
 ----
@@ -151,7 +153,9 @@
     }
 }
 ----
-7. 次の ``onOpen`` および ``onClose`` メソッドを追加します。
+
+[start=7]
+. 次の ``onOpen`` および ``onClose`` メソッドを追加します。
 
 [source,java]
 ----
@@ -172,7 +176,10 @@
 メソッドの生成には、ソース・エディタのヒントとコード補完を使用すると便利です。クラスの宣言の横の左マージンのヒント・グリフをクリックし(または、カーソルをクラスの宣言内に置いて[Alt]-[Enter])、ポップアップ・メニューでメソッドを選択します。コード補完をメソッドのコーディングに使用すると便利です。
 
 image::images/websocket-endpoint-hint.png[title="ソース・エディタのコード・ヒント"]
-8. エディタで右クリックし、「インポートを修正」を選択します([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])。変更を保存します。
+
+
+[start=8]
+. エディタで右クリックし、「インポートを修正」を選択します([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])。変更を保存します。
 
  ``javax.websocket`` のクラスのインポート文がファイルに追加されます。
 
@@ -190,7 +197,7 @@
 3. 「JavaScriptファイル名」に*「websocket」*と入力します。「終了」をクリックします。
 4. 次のコードをJavaScriptファイルに追加します。
 
-[source,xml]
+[source,javascript]
 ----
 
 var wsUri = "ws://" + document.location.host + document.location.pathname + "whiteboardendpoint";
@@ -205,9 +212,11 @@
 
 このスクリプトは、ブラウザによって ``websocket.js`` がロードされる際、サーバーとセッション・ハンドシェイクを開始します。
 
-5.  ``index.html`` を開き、ページのロードの終了時に ``websocket.js`` をロードする次のコード(*太字*部分)をファイルの最後に追加します。
 
-[source,xml]
+[start=5]
+.  ``index.html`` を開き、ページのロードの終了時に ``websocket.js`` をロードする次のコード(*太字*部分)をファイルの最後に追加します。
+
+[source,html]
 ----
 
 <body>
@@ -226,7 +235,9 @@
 
 この課題では、ブラウザがエンドポイントに接続されたら、ブラウザ・ウィンドウに ``wsURI`` を出力するよう、簡単なメソッドをいくつかJavaScriptに追加します。
 
-1. 次の ``<div>`` タグ(*太字*部分)を ``index.html`` に追加します。
+
+[start=1]
+. 次の ``<div>`` タグ(*太字*部分)を ``index.html`` に追加します。
 
 [source,html]
 ----
@@ -236,9 +247,11 @@
 *<div id="output"></div>*
 <script type="text/javascript" src="websocket.js"></script>
 ----
-2. 次の宣言とメソッドを ``websocket.js`` に追加します。変更を保存します。
 
-[source,java]
+[start=2]
+. 次の宣言とメソッドを ``websocket.js`` に追加します。変更を保存します。
+
+[source,javascript]
 ----
 
 // For testing purposes
@@ -257,7 +270,9 @@
 
 ページがロードされると、JavaScript関数は、ブラウザがエンドポイントに接続されていることを示すメッセージを出力します。エンドポイントが正しく実行されていることを確認したら、関数を削除できます。
 
-3. 「プロジェクト」ウィンドウでプロジェクトを右クリックし、「実行」を選択します。
+
+[start=3]
+. 「プロジェクト」ウィンドウでプロジェクトを右クリックし、「実行」を選択します。
 
 アプリケーションを実行すると、IDEでGlassFishサーバーが起動され、アプリケーションがビルドおよびデプロイされます。ブラウザでindexページが開かれ、ブラウザ・ウィンドウに次のメッセージが表示されます。
 
@@ -278,7 +293,7 @@
 1. ソース・エディタで ``index.html`` を開きます。
 2. エンドポイントのテスト用に追加した ``<div>`` タグを削除し、開始のbodyタグの後に次の ``<table>`` および ``<form>`` 要素(*太字*部分)を追加します。
 
-[source,xml]
+[source,html]
 ----
 
 <h1>Collaborative Whiteboard App</h1>
@@ -298,9 +313,11 @@
     <script type="text/javascript" src="websocket.js"></script>
     </body>
 ----
-3. canvas要素用に次のコード(*太字*部分)を追加します。
 
-[source,xml]
+[start=3]
+. canvas要素用に次のコード(*太字*部分)を追加します。
+
+[source,html]
 ----
 
         <table>
@@ -309,9 +326,11 @@
                     *<canvas id="myCanvas" width="150" height="150" style="border:1px solid #000000;"></canvas>*
                 </td>
 ----
-4. 次の ``<table>`` を追加して、色と形状を選択するラジオ・ボタンを追加します。変更を保存します。
 
-[source,xml]
+[start=4]
+. 次の ``<table>`` を追加して、色と形状を選択するラジオ・ボタンを追加します。変更を保存します。
+
+[source,html]
 ----
 
         <table>
@@ -368,12 +387,17 @@
 
  ``javax.json.JsonObject`` の詳細は、Java EE 7仕様の一部であるJava API for JSON Processing (link:http://jcp.org/en/jsr/detail?id=353[+JSR 353+])を参照してください。
 
-4.  ``json`` の取得および設定メソッドを作成します。
+
+[start=4]
+.  ``json`` の取得および設定メソッドを作成します。
 
 「コードを挿入」ポップアップ・メニュー(Windowsの場合は[Alt]-[Insert]、Macの場合は[Ctrl]-[I])で取得および設定メソッドを選択すると、「取得メソッドおよび設定メソッドの生成」ダイアログ・ボックスが開きます。または、メイン・メニューから「ソース」>「コードを挿入」を選択します。
 
 image::images/websocket-generategetter.png[title="「取得メソッドおよび設定メソッドの生成」ダイアログ・ボックス"]
-5.  ``json`` のコンストラクタを追加します。
+
+
+[start=5]
+.  ``json`` のコンストラクタを追加します。
 
 [source,java]
 ----
@@ -386,7 +410,10 @@
 「コードを挿入」ポップアップ・メニュー([Ctrl]-[I])で「コンストラクタ」を選択します。
 
 image::images/websocket-generateconstructor.png[title="「コンストラクタの生成」ポップアップ・メニュー"]
-6. 次の ``toString`` メソッドを追加します。
+
+
+[start=6]
+. 次の ``toString`` メソッドを追加します。
 
 [source,java]
 ----
@@ -398,7 +425,9 @@
         return writer.toString();
     }
 ----
-7. エディタで右クリックし、「インポートを修正」を選択します([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])。変更を保存します。
+
+[start=7]
+. エディタで右クリックし、「インポートを修正」を選択します([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])。変更を保存します。
  
 
 
@@ -451,14 +480,20 @@
 
 この課題では、 ``canvas`` 要素に描画される図形の詳細を、websocketエンドポイントに送信されるJSON構造にするJavaScriptファイルを作成します。
 
-1. プロジェクト・ノードを右クリックし、「新規」>「JavaScriptファイル」を選択して新規JavaScriptファイル・ウィザードを開きます。
-2. 「ファイル名」に*「whiteboard」*と入力します。「終了」をクリックします。
+
+[start=1]
+. プロジェクト・ノードを右クリックし、「新規」>「JavaScriptファイル」を選択して新規JavaScriptファイル・ウィザードを開きます。
+
+[start=2]
+. 「ファイル名」に*「whiteboard」*と入力します。「終了」をクリックします。
 
 「終了」をクリックすると、IDEで空のJavaScriptファイルが作成され、エディタでこのファイルが開きます。「プロジェクト」ウィンドウの「Webページ」ノードの下に新規ファイルが表示されます。
 
-3. キャンバスを初期化し、イベント・リスナーを追加する次のコードを追加します。
 
-[source,java]
+[start=3]
+. キャンバスを初期化し、イベント・リスナーを追加する次のコードを追加します。
+
+[source,javascript]
 ----
 
 var canvas = document.getElementById("myCanvas");
@@ -468,9 +503,11 @@
 
 ユーザーが ``canvas`` 要素内をクリックすると、 ``defineImage`` メソッドが起動されることがわかります。
 
-4. 次の ``getCurrentPos`` 、 ``defineImage`` および ``drawImageText`` メソッドを追加して、JSON構造を作成し、エンドポイントに送信します( ``sendText(json)`` )。
 
-[source,java]
+[start=4]
+. 次の ``getCurrentPos`` 、 ``defineImage`` および ``drawImageText`` メソッドを追加して、JSON構造を作成し、エンドポイントに送信します( ``sendText(json)`` )。
+
+[source,javascript]
 ----
 
 function getCurrentPos(evt) {
@@ -531,7 +568,7 @@
 送信されるJSONの構造は次のようになります。
 
 
-[source,java]
+[source,javascript]
 ----
 
 {
@@ -546,9 +583,11 @@
 
  ``websocket.send()`` を使用してJSON文字列を送信する ``sendText(json)`` メソッドを追加する必要があります。
 
-5. エディタで ``websocket.js`` を開き、JSONをエンドポイントに送信するためのメソッドおよびエンドポイントからメッセージを受信したらイメージを描画するためのメソッドを追加します。
 
-[source,java]
+[start=5]
+. エディタで ``websocket.js`` を開き、JSONをエンドポイントに送信するためのメソッドおよびエンドポイントからメッセージを受信したらイメージを描画するためのメソッドを追加します。
+
+[source,javascript]
 ----
 
 websocket.onmessage = function(evt) { onMessage(evt) };
@@ -564,11 +603,13 @@
 }
 ----
 
-*注意:*エンドポイントのテスト用に ``websocket.js`` に追加したコードは削除できます。
+NOTE: エンドポイントのテスト用に ``websocket.js`` に追加したコードは削除できます。
 
-6.  ``whiteboard.js`` をロードする次の行(*太字*部分)を ``index.html`` の最後に追加します。
 
-[source,xml]
+[start=6]
+.  ``whiteboard.js`` をロードする次の行(*太字*部分)を ``index.html`` の最後に追加します。
+
+[source,html]
 ----
 
         </table>
@@ -598,11 +639,15 @@
     
 }
 ----
-4.  ``javax.websocket.Encoder`` のインポート文を追加し、抽象メソッドを実装します。
+
+[start=4]
+.  ``javax.websocket.Encoder`` のインポート文を追加し、抽象メソッドを実装します。
 
 クラスの宣言にカーソルを置き、[Alt]-[Enter]を押して、ポップアップ・メニューから*「すべての抽象メソッドを実装」*を選択します。
 
-5. 次の変更(*太字*部分)を加えて、生成された抽象メソッドを変更します。変更を保存します。
+
+[start=5]
+. 次の変更(*太字*部分)を加えて、生成された抽象メソッドを変更します。変更を保存します。
 
 [source,java]
 ----
@@ -622,9 +667,15 @@
         *System.out.println("destroy");*
     }
 ----
-6. プロジェクト・ノードを右クリックし、「新規」>「Javaクラス」を選択します。
-7. 「クラス名」に*「FigureDecoder」*と入力し、「パッケージ」ドロップダウン・リストで「 ``org.sample.whiteboardapp`` 」を選択します。「終了」をクリックします。
-8. ソース・エディタで、次のコード(*太字*部分)を追加し、WebSocket Decoderインタフェースを実装します。
+
+[start=6]
+. プロジェクト・ノードを右クリックし、「新規」>「Javaクラス」を選択します。
+
+[start=7]
+. 「クラス名」に*「FigureDecoder」*と入力し、「パッケージ」ドロップダウン・リストで「 ``org.sample.whiteboardapp`` 」を選択します。「終了」をクリックします。
+
+[start=8]
+. ソース・エディタで、次のコード(*太字*部分)を追加し、WebSocket Decoderインタフェースを実装します。
 
 [source,java]
 ----
@@ -634,8 +685,12 @@
     
 }
 ----
-9.  ``javax.websocket.Decoder`` のインポート文を追加し、抽象メソッドを実装します。
-10. 生成された抽象メソッドに次の変更(*太字*部分)を加えます。
+
+[start=9]
+.  ``javax.websocket.Decoder`` のインポート文を追加し、抽象メソッドを実装します。
+
+[start=10]
+. 生成された抽象メソッドに次の変更(*太字*部分)を加えます。
 
 [source,java]
 ----
@@ -668,7 +723,9 @@
         *System.out.println("destroy");*
     }
 ----
-11. インポートを修正して変更内容を保存します。
+
+[start=11]
+. インポートを修正して変更内容を保存します。
 
 次に、 ``MyWhiteboard.java`` を変更して、エンコーダとデコーダを指定する必要があります。
 
@@ -688,8 +745,12 @@
 @ServerEndpoint(*value=*"/whiteboardendpoint"*, encoders = {FigureEncoder.class}, decoders = {FigureDecoder.class}*)
         
 ----
-3. デフォルトで生成された ``onMessage`` メソッドを削除します。
-4. 次の ``broadcastFigure`` メソッドを追加し、メソッドに ``@OnMessage`` の注釈を付けます。
+
+[start=3]
+. デフォルトで生成された ``onMessage`` メソッドを削除します。
+
+[start=4]
+. 次の ``broadcastFigure`` メソッドを追加し、メソッドに ``@OnMessage`` の注釈を付けます。
 
 [source,java]
 ----
@@ -704,12 +765,16 @@
         }
     }
 ----
-5. エディタで右クリックし、「インポートを修正」を選択します([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])。変更を保存します。
-6. 「プロジェクト」ウィンドウでプロジェクトを右クリックし、「実行」を選択します。
+
+[start=5]
+. エディタで右クリックし、「インポートを修正」を選択します([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])。変更を保存します。
+
+[start=6]
+. 「プロジェクト」ウィンドウでプロジェクトを右クリックし、「実行」を選択します。
 
 「実行」をクリックすると、IDEはブラウザ・ウィンドウでlink:http://localhost:8080/WhiteboardApp/[+http://localhost:8080/WhiteboardApp/+]を開きます。
 
-*注意:*以前のアプリケーションをアプリケーション・サーバーからアンデプロイするか、ブラウザでページを強制的に再ロードする必要がある場合があります。
+NOTE: 以前のアプリケーションをアプリケーション・サーバーからアンデプロイするか、ブラウザでページを強制的に再ロードする必要がある場合があります。
 
 ブラウザ・メッセージを確認すると、キャンバスをクリックするたびに、文字列がJSONを介してエンドポイントに送信されていることがわかります。
 
@@ -728,14 +793,16 @@
 
 1.  ``websocket.js`` を開き、WebSocketの ``binaryType`` プロパティを ``arraybuffer`` に設定する次のコードを追加します。
 
-[source,java]
+[source,javascript]
 ----
 
 websocket.binaryType = "arraybuffer";
 ----
-2. バイナリ・データをエンドポイントに送信する次のメソッドを追加します。
 
-[source,java]
+[start=2]
+. バイナリ・データをエンドポイントに送信する次のメソッドを追加します。
+
+[source,javascript]
 ----
 
 function sendBinary(bytes) {
@@ -743,9 +810,11 @@
     websocket.send(bytes);
 }
 ----
-3.  ``onMessage`` メソッドを変更し、受信メッセージのデータ型に応じてキャンバスを更新するメソッドを選択する次のコード(*太字*部分)を追加します。
 
-[source,java]
+[start=3]
+.  ``onMessage`` メソッドを変更し、受信メッセージのデータ型に応じてキャンバスを更新するメソッドを選択する次のコード(*太字*部分)を追加します。
+
+[source,javascript]
 ----
 
 function onMessage(evt) {
@@ -760,9 +829,11 @@
 
 バイナリ・データのメッセージを受信すると、 ``drawImageBinary`` メソッドが起動されます。
 
-4.  ``whiteboard.js`` を開いて、次のメソッドを追加します。受信バイナリ・データの解析後、 ``drawImageBinary`` メソッドを起動してキャンバスを更新します。 ``defineImageBinary`` メソッドを使用して、バイナリ・データとしてキャンバスのスナップショットを準備します。
 
-[source,java]
+[start=4]
+.  ``whiteboard.js`` を開いて、次のメソッドを追加します。受信バイナリ・データの解析後、 ``drawImageBinary`` メソッドを起動してキャンバスを更新します。 ``defineImageBinary`` メソッドを使用して、バイナリ・データとしてキャンバスのスナップショットを準備します。
+
+[source,javascript]
 ----
 
 function drawImageBinary(blob) {
@@ -795,9 +866,11 @@
 
 バイナリ・データを ``ArrayBuffer`` 型として生成し、エンドポイントに送信する場合に ``defineImageBinary`` を起動する方法を追加する必要があります。
 
-5.  ``index.html`` を開き、 ``<table>`` 要素を変更して、フォームの表に次の行を追加します。
 
-[source,xml]
+[start=5]
+.  ``index.html`` を開き、 ``<table>`` 要素を変更して、フォームの表に次の行を追加します。
+
+[source,html]
 ----
 
 <tr>
@@ -812,7 +885,9 @@
 
 新しい行には、接続されているピアにキャンバスのバイナリ・スナップショットを送信する「Send Snapshot」ボタンが含まれます。ボタンがクリックされると、 ``whiteboard.js`` の ``defineImageBinary`` メソッドが起動されます。
 
-6.  ``MyWhiteboard.java`` を開き、エンドポイントがバイナリ・データのメッセージを受信すると、ピアにバイナリ・データを送信する次のメソッドを追加します。
+
+[start=6]
+.  ``MyWhiteboard.java`` を開き、エンドポイントがバイナリ・データのメッセージを受信すると、ピアにバイナリ・データを送信する次のメソッドを追加します。
 
 [source,java]
 ----
@@ -828,13 +903,13 @@
 }
 ----
 
-*注意:* ``java.nio.ByteBuffer`` のインポート文を追加する必要があります。
+NOTE:  ``java.nio.ByteBuffer`` のインポート文を追加する必要があります。
 
 アプリケーションを変更して、ユーザーがエンドポイントへのデータの送信を停止できるようにできます。デフォルトでは、すべてのピアはページを開くとすぐに接続され、データはブラウザからすべての接続されているピアに送信されます。オプションが選択されていない場合にデータがエンドポイントに送信されないよう単純な条件文を追加できます。これは、受信するデータに影響しません。データは引き続き、エンドポイントから受信されます。
 
 1.  ``whiteboard.js`` の ``defineImage`` メソッドを変更し、次のコード(*太字*部分)を追加します。
 
-[source,java]
+[source,javascript]
 ----
 
         drawImageText(json);
@@ -846,9 +921,11 @@
 
 id  ``checked`` の要素をチェックする条件コード
 
-2.  ``index.html`` を開き、 ``<table>`` 要素を変更してフォームにチェックボックスを追加します。
 
-[source,xml]
+[start=2]
+.  ``index.html`` を開き、 ``<table>`` 要素を変更してフォームにチェックボックスを追加します。
+
+[source,html]
 ----
 
 <tr>
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi_pt_BR.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi_pt_BR.asciidoc
index 527b205..3db14ea 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi_pt_BR.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi_pt_BR.asciidoc
@@ -35,14 +35,12 @@
 
 A aplicação contém um ponto final de WebSocket e interfaces do decodificador e do codificador, uma página Web e alguns arquivos de JavaScript que são executados no browser do cliente quando a página for carregada ou quando chamada de um form na página Web. Você implantará a aplicação para GlassFish Server Open Source Edition 4, a implementação de referência da tecnologia Java EE 7.
 
-*Observação.* Este tutorial é baseado no blog link:https://blogs.oracle.com/arungupta/entry/collaborative_whiteboard_using_websocket_in[+ Collaborative Whiteboard using WebSocket in GlassFish 4 - Text/JSON and Binary/ArrayBuffer Data Transfer (TOTD #189) (Quadro de Comunicação sobre como usar WebSocket no GlassFish 4 - Texto/JSON e Transferência de Dados/Binário/ArrayBuffer (TOTD #189)) +] e em outros blogs que podem ser encontrados no link:http://blog.arungupta.me/[+blog de Arun Gupta+]. Certifique-se de visitar o blog e ver muitas outras entradas excelentes sobre como trabalhar com a API de WebSocket e com o GlassFish 4.
+NOTE:  Este tutorial é baseado no blog link:https://blogs.oracle.com/arungupta/entry/collaborative_whiteboard_using_websocket_in[+ Collaborative Whiteboard using WebSocket in GlassFish 4 - Text/JSON and Binary/ArrayBuffer Data Transfer (TOTD #189) (Quadro de Comunicação sobre como usar WebSocket no GlassFish 4 - Texto/JSON e Transferência de Dados/Binário/ArrayBuffer (TOTD #189)) +] e em outros blogs que podem ser encontrados no link:http://blog.arungupta.me/[+blog de Arun Gupta+]. Certifique-se de visitar o blog e ver muitas outras entradas excelentes sobre como trabalhar com a API de WebSocket e com o GlassFish 4.
 
 Você também pode assistir ao link:maven-websocketapi-screencast.html[+Vídeo Usando a API do WebSocket em uma Aplicação Web+].
 
 *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.3, 7.4 e 8.0"]
-
 * <<Exercise_1,Criando o Projeto de Aplicação Web>>
 * <<createendpoint,Criando o Ponto Final do WebSocket>>
 * <<createendpoint1,Criar o Ponto Final>>
@@ -69,7 +67,7 @@
 |link:https://glassfish.java.net/[+GlassFish Server Open Source Edition+] |4 
 |===
 
-*Observação.* O GlassFish 4 está incluído no pacote de downloads do Java EE do NetBeans IDE.
+NOTE:  O GlassFish 4 está incluído no pacote de downloads do Java EE do NetBeans IDE.
 
 *Pré-requisitos*
 
@@ -97,6 +95,7 @@
 4. Digite *org.sample* para o Id do Grupo. Clique em Próximo.
 5. Selecione *GlassFish Server 4.0* para o Servidor.
 6. Defina a Versão do Java EE como *Java EE 7 Web*. Clique em Finalizar.
+
 image::images/websocket-newproject.png[title="Versões de servidor e Java EE no assistente de Novo Projeto"]
 
 Quando você clica em Finalizar, o IDE cria o projeto e o abre na janela Projetos.
@@ -118,6 +117,7 @@
 3. Digite *MyWhiteboard* como o Nome da Classe.
 4. Selecione  ``org.sample.whiteboardapp``  na lista drop-down Pacote.
 5. Digite */whiteboardendpoint* como o URI de WebSocket. Clique em Finalizar.
+
 image::images/websocket-newendpoint.png[title="Ponto Final de WebSocket no assistente Novo Arquivo"]
 
 Quando você clica em Finalizar, o IDE gera a classe Ponto Final do WebSocket e abre a classe no editor de código-fonte. No editor, você pode ver que o IDE gerou algumas anotações que são parte da API do WebSocket. A classe é anotada com  ``link:https://javaee-spec.java.net/nonav/javadocs/javax/websocket/server/ServerEndpoint.html[+@ServerEndpoint+]``  para identificar a classe como um ponto final e o URI do WebSocket é especificado como um parâmetro da anotação. O IDE também gerou um método  ``onMessage``  default que é anotado com  ``link:https://javaee-spec.java.net/nonav/javadocs/javax/websocket/OnMessage.html[+@onmessage+]`` . Um método anotado com  ``@onmessage``  é chamado cada vez que o cliente recebe uma mensagem de WebSocket.
@@ -136,7 +136,9 @@
     
 }
 ----
-6. Adicione os campos a seguir (em *negrito*) à classe.
+
+[start=6]
+. Adicione os campos a seguir (em *negrito*) à classe.
 
 [source,java]
 ----
@@ -151,7 +153,9 @@
     }
 }
 ----
-7. Adicione os seguintes métodos  ``onOpen``  e  ``onClose`` .
+
+[start=7]
+. Adicione os seguintes métodos  ``onOpen``  e  ``onClose`` .
 
 [source,java]
 ----
@@ -172,7 +176,10 @@
 Use as dicas e a funcionalidade autocompletar código no editor de código-fonte para ajudá-lo a gerar os métodos. Clique no glifo de dicas na margem esquerda próxima à declaração de classe (ou coloque o cursor na declaração de classe e clique em Alt-Enter) e selecione o método no menu pop-up. A funcionalidade autocompletar código pode ajudá-lo a codificar o método.
 
 image::images/websocket-endpoint-hint.png[title="Dica do Código no Editor de Código-fonte"]
-8. Clique com o botão direito do mouse no editor e selecione Corrigir Importações (Alt-Shift-I; ⌘-Shift-I no Mac). Salve as alterações.
+
+
+[start=8]
+. Clique com o botão direito do mouse no editor e selecione Corrigir Importações (Alt-Shift-I; ⌘-Shift-I no Mac). Salve as alterações.
 
 Você verá que as instruções de importação das classes no  ``javax.websocket``  foram adicionadas ao arquivo.
 
@@ -190,7 +197,7 @@
 3. Digite *websocket* para o Nome do Arquivo JavaScript. Clique em Finalizar.
 4. Adicione o seguinte ao arquivo JavaScript.
 
-[source,xml]
+[source,javascript]
 ----
 
 var wsUri = "ws://" + document.location.host + document.location.pathname + "whiteboardendpoint";
@@ -205,9 +212,11 @@
 
 Este script iniciará o handshake da sessão com o servidor quando  ``websocket.js``  for carregado pelo browser.
 
-5. Abra  ``index.html``  e adicione o seguinte código (em *negrito*) na parte inferior do arquivo para carregar  ``websocket.js``  quando a página terminar de carregar.
 
-[source,xml]
+[start=5]
+. Abra  ``index.html``  e adicione o seguinte código (em *negrito*) na parte inferior do arquivo para carregar  ``websocket.js``  quando a página terminar de carregar.
+
+[source,html]
 ----
 
 <body>
@@ -226,7 +235,9 @@
 
 Neste exercício você adicionará alguns métodos simples ao arquivo JavaScript para imprimir o  ``wsURI``  na janela do browser quando o browser for conectado ao ponto final.
 
-1. Adicione a seguinte tag  ``<div>``  (em *negrito*) para  ``index.html`` 
+
+[start=1]
+. Adicione a seguinte tag  ``<div>``  (em *negrito*) para  ``index.html`` 
 
 [source,html]
 ----
@@ -236,9 +247,11 @@
 *<div id="output"></div>*
 <script type="text/javascript" src="websocket.js"></script>
 ----
-2. Adicione a seguinte declaração e métodos ao  ``websocket.js`` . Salve as alterações.
 
-[source,java]
+[start=2]
+. Adicione a seguinte declaração e métodos ao  ``websocket.js`` . Salve as alterações.
+
+[source,javascript]
 ----
 
 // For testing purposes
@@ -257,7 +270,9 @@
 
 Quando a página carregar as funções de JavaScript imprimirá a mensagem que o browser está conectado ao ponto final. Você pode deletar as funções depois que confirmar se o ponto final está executando corretamente.
 
-3. Clique com o botão direito do mouse na janela Projetos e selecione Executar.
+
+[start=3]
+. Clique com o botão direito do mouse na janela Projetos e selecione Executar.
 
 Quando você executar a aplicação, o IDE iniciará o GlassFish server e construirá e implantará a aplicação. A página de índice será aberta no seu browser e você verá a seguinte mensagem na janela do browser.
 
@@ -278,7 +293,7 @@
 1. Abra  ``index.html``  no editor de código-fonte.
 2. Delete a tag  ``<div>``  que você adicionou para testar o ponto final e adicione os seguintes elementos  ``<table>``  e  ``<form>``  (em *bold*) após abrir a tag do corpo.
 
-[source,xml]
+[source,html]
 ----
 
 <h1>Collaborative Whiteboard App</h1>
@@ -298,9 +313,11 @@
     <script type="text/javascript" src="websocket.js"></script>
     </body>
 ----
-3. Adicione o seguinte código (em *negrito*) ao elemento canvas.
 
-[source,xml]
+[start=3]
+. Adicione o seguinte código (em *negrito*) ao elemento canvas.
+
+[source,html]
 ----
 
         <table>
@@ -309,9 +326,11 @@
                     *<canvas id="myCanvas" width="150" height="150" style="border:1px solid #000000;"></canvas>*
                 </td>
 ----
-4. Adicione a seguinte  ``<table>``  para adicionar os botões de rádio para selecionar a cor e o formato. Salve as alterações.
 
-[source,xml]
+[start=4]
+. Adicione a seguinte  ``<table>``  para adicionar os botões de rádio para selecionar a cor e o formato. Salve as alterações.
+
+[source,html]
 ----
 
         <table>
@@ -368,12 +387,17 @@
 
 Para obter mais informações sobre  ``javax.json.JsonObject`` , consulte Java API para Processamento de JSON (link:http://jcp.org/en/jsr/detail?id=353[+JSR 353+]), que faz parte da Especificação Java EE 7.
 
-4. Criar um getter e setter para  ``json`` .
+
+[start=4]
+. Criar um getter e setter para  ``json`` .
 
 Você pode selecionar getter e setter no menu pop-up Inserir Código (Alt-Ins no Windows; Ctrl-I no Mac) para abrir a caixa de diálogo Gerar Getters e Setter. Se preferir, você pode escolher Origem > Inserir Código no menu principal.
 
 image::images/websocket-generategetter.png[title="Caixa de diálogo Gerar Getter e Setter"]
-5. Adicione um construtor para  ``json`` .
+
+
+[start=5]
+. Adicione um construtor para  ``json`` .
 
 [source,java]
 ----
@@ -386,7 +410,10 @@
 Você pode escolher Construtor no menu pop-up Inserir Código (Ctrl-I).
 
 image::images/websocket-generateconstructor.png[title="Menu pop-up Gerar Construtor"]
-6. Adicione o método  ``toString``  a seguir:
+
+
+[start=6]
+. Adicione o método  ``toString``  a seguir:
 
 [source,java]
 ----
@@ -398,7 +425,9 @@
         return writer.toString();
     }
 ----
-7. Clique com o botão direito do mouse no editor e selecione Corrigir Importações (Alt-Shift-I; ⌘-Shift-I no Mac). Salve as alterações.
+
+[start=7]
+. Clique com o botão direito do mouse no editor e selecione Corrigir Importações (Alt-Shift-I; ⌘-Shift-I no Mac). Salve as alterações.
  
 
 
@@ -456,9 +485,11 @@
 
 Quando você clica em Finalizar, o IDE cria o arquivo JavaScript vazio e o abre no editor. Você pode ver o novo arquivo no nó Páginas Web, na janela Projetos.
 
-3. Adicione o seguinte código para iniciar a tela e adicionar um listener de evento.
 
-[source,java]
+[start=3]
+. Adicione o seguinte código para iniciar a tela e adicionar um listener de evento.
+
+[source,javascript]
 ----
 
 var canvas = document.getElementById("myCanvas");
@@ -468,9 +499,11 @@
 
 Você pode ver que o método  ``defineImage``  é chamado quando o usuário clica no elemento  ``canvas`` .
 
-4. Adicione os seguintes métodos  ``getCurrentPos`` ,  ``defineImage``  e  ``drawImageText``  para construir a estrutura JSON e enviá-la ao ponto final ( ``sendText(json)`` ).
 
-[source,java]
+[start=4]
+. Adicione os seguintes métodos  ``getCurrentPos`` ,  ``defineImage``  e  ``drawImageText``  para construir a estrutura JSON e enviá-la ao ponto final ( ``sendText(json)`` ).
+
+[source,javascript]
 ----
 
 function getCurrentPos(evt) {
@@ -531,7 +564,7 @@
 A estrutura JSON que é enviada será semelhante à seguinte:
 
 
-[source,java]
+[source,javascript]
 ----
 
 {
@@ -546,9 +579,11 @@
 
 Agora você precisa adicionar um método  ``sendText(json)``  para enviar uma string JSON usando  ``websocket.send()`` .
 
-5. Abra  ``websocket.js``  no editor e adicione os seguintes métodos para enviar JSON ao ponto final e para desenhar a imagem quando uma mensagem for recebida do ponto final.
 
-[source,java]
+[start=5]
+. Abra  ``websocket.js``  no editor e adicione os seguintes métodos para enviar JSON ao ponto final e para desenhar a imagem quando uma mensagem for recebida do ponto final.
+
+[source,javascript]
 ----
 
 websocket.onmessage = function(evt) { onMessage(evt) };
@@ -564,11 +599,13 @@
 }
 ----
 
-*Observação.* Você pode deletar o código adicionado ao  ``websocket.js``  para testar o ponto final.
+NOTE:  Você pode deletar o código adicionado ao  ``websocket.js``  para testar o ponto final.
 
-6. Adicione a seguinte linha (em *negrito*) na parte inferior de  ``index.html``  para carregar o  ``whiteboard.js`` .
 
-[source,xml]
+[start=6]
+. Adicione a seguinte linha (em *negrito*) na parte inferior de  ``index.html``  para carregar o  ``whiteboard.js`` .
+
+[source,html]
 ----
 
         </table>
@@ -598,11 +635,15 @@
     
 }
 ----
-4. Adicione uma instrução de importação para  ``javax.websocket.Encoder``  e implemente os métodos abstratos.
+
+[start=4]
+. Adicione uma instrução de importação para  ``javax.websocket.Encoder``  e implemente os métodos abstratos.
 
 Coloque o cursor na declaração de classe e digite Alt-Enter e selecione *Implementar todos os métodos abstratos* no menu pop-up.
 
-5. Modifique os métodos abstratos gerados fazendo as seguintes alterações (em *negrito*). Salve as alterações.
+
+[start=5]
+. Modifique os métodos abstratos gerados fazendo as seguintes alterações (em *negrito*). Salve as alterações.
 
 [source,java]
 ----
@@ -622,9 +663,15 @@
         *System.out.println("destroy");*
     }
 ----
-6. Clique com o botão direito do mouse no nó do projeto e selecione Novo > Classe Java.
-7. Digite *FigureEncoder* como o Nome da Classe e escolha  ``org.sample.whiteboardapp``  na lista drop-down Pacote. Clique em Finalizar.
-8. No editor de código-fonte, implemente a interface Decodificador do WebSocket adicionando o seguinte código (em *negrito*):
+
+[start=6]
+. Clique com o botão direito do mouse no nó do projeto e selecione Novo > Classe Java.
+
+[start=7]
+. Digite *FigureEncoder* como o Nome da Classe e escolha  ``org.sample.whiteboardapp``  na lista drop-down Pacote. Clique em Finalizar.
+
+[start=8]
+. No editor de código-fonte, implemente a interface Decodificador do WebSocket adicionando o seguinte código (em *negrito*):
 
 [source,java]
 ----
@@ -634,8 +681,12 @@
     
 }
 ----
-9. Adicione uma instrução de importação para  ``javax.websocket.Decoder``  e implemente os métodos abstratos.
-10. Faça as seguintes alterações (em *negrito*) para os métodos abstratos gerados.
+
+[start=9]
+. Adicione uma instrução de importação para  ``javax.websocket.Decoder``  e implemente os métodos abstratos.
+
+[start=10]
+. Faça as seguintes alterações (em *negrito*) para os métodos abstratos gerados.
 
 [source,java]
 ----
@@ -668,7 +719,9 @@
         *System.out.println("destroy");*
     }
 ----
-11. Corrija as importações e salve as alterações.
+
+[start=11]
+. Corrija as importações e salve as alterações.
 
 Agora você precisa modificar  ``MyWhiteboard.java``  para especificar o codificador e o decodificador.
 
@@ -688,8 +741,12 @@
 @ServerEndpoint(*value=*"/whiteboardendpoint"*, encoders = {FigureEncoder.class}, decoders = {FigureDecoder.class}*)
         
 ----
-3. Delete o método  ``onMessage``  que foi gerado por default.
-4. Adicione o seguinte método  ``broadcastFigure``  e anote o método com  ``@OnMessage`` .
+
+[start=3]
+. Delete o método  ``onMessage``  que foi gerado por default.
+
+[start=4]
+. Adicione o seguinte método  ``broadcastFigure``  e anote o método com  ``@OnMessage`` .
 
 [source,java]
 ----
@@ -704,12 +761,16 @@
         }
     }
 ----
-5. Clique com o botão direito do mouse no editor e selecione Corrigir Importações (Alt-Shift-I; ⌘-Shift-I no Mac). Salve as alterações.
-6. Clique com o botão direito do mouse na janela Projetos e selecione Executar.
+
+[start=5]
+. Clique com o botão direito do mouse no editor e selecione Corrigir Importações (Alt-Shift-I; ⌘-Shift-I no Mac). Salve as alterações.
+
+[start=6]
+. Clique com o botão direito do mouse na janela Projetos e selecione Executar.
 
 Quando você clicar em Executar, o IDE abre uma janela do browser para link:http://localhost:8080/WhiteboardApp/[+http://localhost:8080/WhiteboardApp/+].
 
-*Observação.* Talvez você precise cancelar a implantação da aplicação anterior do servidor de aplicações ou forçar a recarga da página no browser.
+NOTE:  Talvez você precise cancelar a implantação da aplicação anterior do servidor de aplicações ou forçar a recarga da página no browser.
 
 Se você exibir as mensagens do browser poderá ver que uma string é enviada por meio de JSON para o ponto final, cada vez que você clicar na tela.
 
@@ -728,14 +789,16 @@
 
 1. Abra  ``websocket.js``  e adicione o seguinte código para definir a propriedade  ``binaryType``  de WebSocket para  ``arraybuffer`` .
 
-[source,java]
+[source,javascript]
 ----
 
 websocket.binaryType = "arraybuffer";
 ----
-2. Adicione o seguinte método para enviar dados binários para o ponto final.
 
-[source,java]
+[start=2]
+. Adicione o seguinte método para enviar dados binários para o ponto final.
+
+[source,javascript]
 ----
 
 function sendBinary(bytes) {
@@ -743,9 +806,11 @@
     websocket.send(bytes);
 }
 ----
-3. Modifique o método  ``onMessage``  para adicionar o seguinte código (em *negrito*) para selecionar o método para atualizar a tela, de acordo com o tipo de dados na mensagem de entrada.
 
-[source,java]
+[start=3]
+. Modifique o método  ``onMessage``  para adicionar o seguinte código (em *negrito*) para selecionar o método para atualizar a tela, de acordo com o tipo de dados na mensagem de entrada.
+
+[source,javascript]
 ----
 
 function onMessage(evt) {
@@ -760,9 +825,11 @@
 
 O método  ``drawImageBinary``  é chamado se uma mensagem com dados binários for recebida.
 
-4. Abra  ``whiteboard.js``  e adicione os seguintes métodos. O método  ``drawImageBinary``  é chamado para atualizar a tela após fazer parse dos dados binários de entrada. O método  ``defineImageBinary``  é usado para preparar um snapshot da tela como dados binários.
 
-[source,java]
+[start=4]
+. Abra  ``whiteboard.js``  e adicione os seguintes métodos. O método  ``drawImageBinary``  é chamado para atualizar a tela após fazer parse dos dados binários de entrada. O método  ``defineImageBinary``  é usado para preparar um snapshot da tela como dados binários.
+
+[source,javascript]
 ----
 
 function drawImageBinary(blob) {
@@ -795,9 +862,11 @@
 
 Agora você precisa adicionar uma forma de chamar  ``defineImageBinary``  quando quiser gerar dados como o tipo  ``ArrayBuffer``  e enviá-los ao ponto final.
 
-5. Abra  ``index.html``  e modifique o elemento  ``<table>``  para adicionar a seguinte linha à tabela do form.
 
-[source,xml]
+[start=5]
+. Abra  ``index.html``  e modifique o elemento  ``<table>``  para adicionar a seguinte linha à tabela do form.
+
+[source,html]
 ----
 
 <tr>
@@ -812,7 +881,9 @@
 
 A nova linha contém um botão Enviar Snapshot para enviar um snapshot binário da tela para os colegas conectados. O método  ``defineImageBinary``  em  ``whiteboard.js``  será chamado quando o botão for clicado.
 
-6. Abra  ``MyWhiteboard.java``  e adicione o seguinte método que enviará os dados binários aos colegas quando o ponto final receber uma mensagem com dados binários.
+
+[start=6]
+. Abra  ``MyWhiteboard.java``  e adicione o seguinte método que enviará os dados binários aos colegas quando o ponto final receber uma mensagem com dados binários.
 
 [source,java]
 ----
@@ -828,13 +899,13 @@
 }
 ----
 
-*Observação.* Será necessário adicionar uma instrução de importação em  ``java.nio.ByteBuffer`` .
+NOTE:  Será necessário adicionar uma instrução de importação em  ``java.nio.ByteBuffer`` .
 
 Você pode modificar a aplicação para permitir que o usuário interrompa o envio de dados ao ponto final. Por default, todos os colegas são conectados assim que abrem a página e os dados são enviados do browser para todos os colegas conectados. Você pode adicionar uma condicional simples, de forma que os dados não sejam enviados ao ponto final, a menos que a opção seja selecionada. Isso não afeta o recebimento de dados. Os dados ainda são recebidos do ponto final.
 
 1. Modifique o método  ``defineImage``  em  ``whiteboard.js``  para adicionar o seguinte código (em *negrito*).
 
-[source,java]
+[source,javascript]
 ----
 
         drawImageText(json);
@@ -846,9 +917,11 @@
 
 O código condicional que você verifica se o elemento com o id for  ``verificado`` 
 
-2. Abra  ``index.html``  e modifique o elemento  ``<table>``  para adicionar uma caixa de seleção ao form.
 
-[source,xml]
+[start=2]
+. Abra  ``index.html``  e modifique o elemento  ``<table>``  para adicionar uma caixa de seleção ao form.
+
+[source,html]
 ----
 
 <tr>
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi_ru.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi_ru.asciidoc
index 8962b9c..902ee6d 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi_ru.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi_ru.asciidoc
@@ -35,14 +35,12 @@
 
 Приложение содержит интерфейсы WebSocket для терминала, декодера и кодера, веб-страницу и ряд файлов JavaScript, запускаемых в браузере клиента при загрузке страницы или вызываемых формой на веб-странице. Развертывание приложения осуществляется на экземпляре GlassFish Server Open Source Edition 4, эталонной версии реализации технологии Java EE 7.
 
-*Примечание.* Этот курс основывается на статье блога link:https://blogs.oracle.com/arungupta/entry/collaborative_whiteboard_using_websocket_in[+ Collaborative Whiteboard using WebSocket in GlassFish 4 - Text/JSON and Binary/ArrayBuffer Data Transfer (TOTD #189) +] и других статьях блога link:http://blog.arungupta.me/[+Arun Gupta+]. Рекомендуем посетить этот блог и ознакомиться с другими интересными статьями о работе с WebSocket API и GlassFish 4.
+NOTE:  Этот курс основывается на статье блога link:https://blogs.oracle.com/arungupta/entry/collaborative_whiteboard_using_websocket_in[+ Collaborative Whiteboard using WebSocket in GlassFish 4 - Text/JSON and Binary/ArrayBuffer Data Transfer (TOTD #189) +] и других статьях блога link:http://blog.arungupta.me/[+Arun Gupta+]. Рекомендуем посетить этот блог и ознакомиться с другими интересными статьями о работе с WebSocket API и GlassFish 4.
 
 Также рекомендуем посмотреть видеоролик link:maven-websocketapi-screencast.html[+Использование WebSocket API в веб-приложении+].
 
 *Упражнения по темам руководства*
 
-image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.3, 7.4 и 8.0"]
-
 * <<Exercise_1,Создание проекта веб-приложения>>
 * <<createendpoint,Создание терминала WebSocket>>
 * <<createendpoint1,Создание терминала>>
@@ -69,7 +67,7 @@
 |link:https://glassfish.java.net/[+GlassFish Server Open Source Edition 3.1.2.2+] |4 
 |===
 
-*Примечание.* GlassFish 4 входит в состав загружаемого комплекта Java EE для NetBeans IDE.
+NOTE:  GlassFish 4 входит в состав загружаемого комплекта Java EE для NetBeans IDE.
 
 *Предпосылки*
 
@@ -97,6 +95,7 @@
 4. В поле 'ИД группы' введите *org.sample*. Нажмите 'Далее'.
 5. В списке 'Сервер' выберите *GlassFish Server 4.0*.
 6. В списке 'Версия Java EE' выберите *Java EE 7 Web*. Нажмите 'Готово'.
+
 image::images/websocket-newproject.png[title="Версии сервера и Java EE в мастере создания проектов"]
 
 При нажатии кнопки "Завершить" проект будет создан в среде IDE, который откроется в окне "Проекты".
@@ -118,6 +117,7 @@
 3. В поле 'Имя класса' введите *MyWhiteboard*.
 4. В списке 'Пакет' выберите  ``org.sample.whiteboardapp`` .
 5. В поле 'WebSocket URI' введите */whiteboardendpoint*. Нажмите 'Готово'.
+
 image::images/websocket-newendpoint.png[title="Терминал WebSocket в мастере создания файлов"]
 
 При нажатии кнопки 'Готово' среда IDE создает класс терминала WebSocket и открывает файл в редакторе исходного кода. При просмотре файла в редакторе вы увидите, что среда IDE сгенерировала несколько аннотаций, которые входят в состав API-интерфейса WebSocket. Класс имеет аннотацию  ``link:https://javaee-spec.java.net/nonav/javadocs/javax/websocket/server/ServerEndpoint.html[+@ServerEndpoint+]`` , указывающую на его принадлежность к классам терминала, а в качестве параметра аннотации указан WebSocket URI. Среда IDE также создает стандартный метод  ``onMessage``  с аннотацией  ``link:https://javaee-spec.java.net/nonav/javadocs/javax/websocket/OnMessage.html[+@OnMessage+]`` . Метод с аннотацией  ``@OnMessage``  вызывается каждый раз, когда клиент получает сообщение WebSocket.
@@ -136,7 +136,9 @@
     
 }
 ----
-6. Добавьте в класс следующее поле (выделено *полужирным шрифтом*).
+
+[start=6]
+. Добавьте в класс следующее поле (выделено *полужирным шрифтом*).
 
 [source,java]
 ----
@@ -151,7 +153,9 @@
     }
 }
 ----
-7. Добавьте методы  ``onOpen``  и  ``onClose`` .
+
+[start=7]
+. Добавьте методы  ``onOpen``  и  ``onClose`` .
 
 [source,java]
 ----
@@ -172,7 +176,10 @@
 Создайте методы, используя подсказки и автозавершение кода в редакторе исходного кода. Щелкните значок подсказки в левом поле рядом с объявлением класса (или поместите указатель мыши на объявление класса и нажмите Alt-Enter), затем выберите этот метод в раскрывающемся меню. Для создания кода метода можно использовать автозавершение кода.
 
 image::images/websocket-endpoint-hint.png[title="Подсказка к коду в редакторе исходного кода"]
-8. Щелкните правой кнопкой мыши в редакторе и выберите 'Исправить операторы импорта' (Alt-Shift-I; ⌘-Shift-I для Mac). Сохраните изменения.
+
+
+[start=8]
+. Щелкните правой кнопкой мыши в редакторе и выберите 'Исправить операторы импорта' (Alt-Shift-I; ⌘-Shift-I для Mac). Сохраните изменения.
 
 В результате в файл будут добавлены операторы импорта для классов в  ``javax.websocket`` .
 
@@ -190,7 +197,7 @@
 3. В поле 'Имя файла JavaScript' введите *websocket*. Нажмите 'Готово'.
 4. Добавьте в файл JavaScript следующие элементы.
 
-[source,xml]
+[source,javascript]
 ----
 
 var wsUri = "ws://" + document.location.host + document.location.pathname + "whiteboardendpoint";
@@ -205,9 +212,11 @@
 
 Этот сценарий инициализирует квитирование сеанса с сервером, когда браузер загружает файл  ``websocket.js`` .
 
-5. Откройте файл  ``index.html``  и добавьте следующий код (выделен *полужирным шрифтом*) в самый нижний сегмент файла, чтобы по завершении загрузки страницы загружался файл  ``websocket.js`` .
 
-[source,xml]
+[start=5]
+. Откройте файл  ``index.html``  и добавьте следующий код (выделен *полужирным шрифтом*) в самый нижний сегмент файла, чтобы по завершении загрузки страницы загружался файл  ``websocket.js`` .
+
+[source,html]
 ----
 
 <body>
@@ -236,9 +245,11 @@
 *<div id="output"></div>*
 <script type="text/javascript" src="websocket.js"></script>
 ----
-2. Добавьте следующее объявление и методы в файл  ``websocket.js`` . Сохраните изменения.
 
-[source,java]
+[start=2]
+. Добавьте следующее объявление и методы в файл  ``websocket.js`` . Сохраните изменения.
+
+[source,javascript]
 ----
 
 // For testing purposes
@@ -257,7 +268,9 @@
 
 При загрузке страницы функции JavaScript будут выводить сообщение о том, что браузер подключен к терминалу. Эти функции можно удалить после успешной проверки функционирования терминала.
 
-3. Правой кнопкой мыши щелкните окно 'Проект' и выберите 'Выполнить'.
+
+[start=3]
+. Правой кнопкой мыши щелкните окно 'Проект' и выберите 'Выполнить'.
 
 При запуске приложения среда IDE запускает сервер GlassFish и выполняет построение и развертывание приложения. В браузере открывается страница индекса со следующим сообщением.
 
@@ -278,7 +291,7 @@
 1. Откройте файл  ``index.html``  в редакторе исходного кода.
 2. Удалите тег  ``<div>`` , добавленный перед тестированием терминала, и добавьте элементы  ``<table>``  и  ``<form>``  (выделены *полужирным шрифтом*) после открывающего тега body.
 
-[source,xml]
+[source,html]
 ----
 
 <h1>Collaborative Whiteboard App</h1>
@@ -298,9 +311,11 @@
     <script type="text/javascript" src="websocket.js"></script>
     </body>
 ----
-3. Добавьте следующий код (выделен *полужирным шрифтом*) для элемента canvas.
 
-[source,xml]
+[start=3]
+. Добавьте следующий код (выделен *полужирным шрифтом*) для элемента canvas.
+
+[source,html]
 ----
 
         <table>
@@ -309,9 +324,11 @@
                     *<canvas id="myCanvas" width="150" height="150" style="border:1px solid #000000;"></canvas>*
                 </td>
 ----
-4. Добавьте элемент  ``<table>``  для создания переключателей, позволяющих выбирать цвет и форму. Сохраните изменения.
 
-[source,xml]
+[start=4]
+. Добавьте элемент  ``<table>``  для создания переключателей, позволяющих выбирать цвет и форму. Сохраните изменения.
+
+[source,html]
 ----
 
         <table>
@@ -368,12 +385,17 @@
 
 Дополнительные сведения о  ``javax.json.JsonObject``  см. в описании интерфейса Java API for JSON Processing (link:http://jcp.org/en/jsr/detail?id=353[+JSR 353+]), который входит в спецификацию Java EE 7.
 
-4. Создайте операторы получения и установки для  ``json`` .
+
+[start=4]
+. Создайте операторы получения и установки для  ``json`` .
 
 Методы получения и установки можно выбрать в раскрывающемся меню 'Вставить код' (Alt-Ins в Windows; Ctrl-I в Mac). В результате откроется диалоговое окно 'Создание методов получения и установки'. Также можно выбрать Исходный код > Вставить код в главном меню.
 
 image::images/websocket-generategetter.png[title="Диалоговое окно 'Создание методов получения и установки'"]
-5. Добавьте конструктор для  ``json`` .
+
+
+[start=5]
+. Добавьте конструктор для  ``json`` .
 
 [source,java]
 ----
@@ -386,7 +408,9 @@
 Конструктор можно выбрать в раскрывающемся меню 'Вставить код' (Ctrl-I).
 
 image::images/websocket-generateconstructor.png[title="Раскрывающееся меню 'Создать конструктор'"]
-6. Добавьте метод  ``toString`` :
+
+[start=6]
+. Добавьте метод  ``toString`` :
 
 [source,java]
 ----
@@ -398,7 +422,9 @@
         return writer.toString();
     }
 ----
-7. Щелкните правой кнопкой мыши в редакторе и выберите 'Исправить операторы импорта' (Alt-Shift-I; ⌘-Shift-I для Mac). Сохраните изменения.
+
+[start=7]
+. Щелкните правой кнопкой мыши в редакторе и выберите 'Исправить операторы импорта' (Alt-Shift-I; ⌘-Shift-I для Mac). Сохраните изменения.
  
 
 
@@ -456,9 +482,11 @@
 
 При нажатии кнопки 'Готово' среда IDE создает пустой файл JavaScript и открывает его в редакторе. Новый файл отображается в структуре узла 'Веб-страницы' в окне 'Проекты'.
 
-3. Добавьте следующий код для инициализации элемента canvas и создания прослушивателя событий.
 
-[source,java]
+[start=3]
+. Добавьте следующий код для инициализации элемента canvas и создания прослушивателя событий.
+
+[source,javascript]
 ----
 
 var canvas = document.getElementById("myCanvas");
@@ -468,9 +496,11 @@
 
 Когда пользователь нажимает на полотно (элемент  ``canvas`` ), вызывается метод  ``defineImage`` .
 
-4. Добавьте методы  ``getCurrentPos`` ,  ``defineImage``  и  ``drawImageText``  для создания структуры JSON и ее отправки на терминал ( ``sendText(json)`` ).
 
-[source,java]
+[start=4]
+. Добавьте методы  ``getCurrentPos`` ,  ``defineImage``  и  ``drawImageText``  для создания структуры JSON и ее отправки на терминал ( ``sendText(json)`` ).
+
+[source,javascript]
 ----
 
 function getCurrentPos(evt) {
@@ -531,7 +561,7 @@
 Готовая к отправке структура JSON будет выглядеть примерно так:
 
 
-[source,java]
+[source,javascript]
 ----
 
 {
@@ -546,9 +576,11 @@
 
 Теперь необходимо добавить метод  ``sendText(json)``  для отправки строковых данных JSON с помощью  ``websocket.send()`` .
 
-5. Откройте файл  ``websocket.js``  в редакторе и добавьте следующие методы для отправки JSON на терминал и рисования изображения при получении сообщения от терминала.
 
-[source,java]
+[start=5]
+. Откройте файл  ``websocket.js``  в редакторе и добавьте следующие методы для отправки JSON на терминал и рисования изображения при получении сообщения от терминала.
+
+[source,javascript]
 ----
 
 websocket.onmessage = function(evt) { onMessage(evt) };
@@ -564,11 +596,13 @@
 }
 ----
 
-*Примечание.* Код, добавленный в файл  ``websocket.js``  для тестирования терминала, можно удалить.
+NOTE:  Код, добавленный в файл  ``websocket.js``  для тестирования терминала, можно удалить.
 
-6. Добавьте следующую строку (выделена *полужирным шрифтом*) в нижний сегмент файла  ``index.html``  для загрузки файла  ``whiteboard.js`` .
 
-[source,xml]
+[start=6]
+. Добавьте следующую строку (выделена *полужирным шрифтом*) в нижний сегмент файла  ``index.html``  для загрузки файла  ``whiteboard.js`` .
+
+[source,html]
 ----
 
         </table>
@@ -598,11 +632,15 @@
     
 }
 ----
-4. Добавьте оператор импорта для  ``javax.websocket.Encoder``  и реализуйте абстрактные методы.
+
+[start=4]
+. Добавьте оператор импорта для  ``javax.websocket.Encoder``  и реализуйте абстрактные методы.
 
 Поместите указатель мыши на объявление класса, нажмите Alt-Enter и выберите *Реализовать все абстрактные методы* в раскрывающемся меню.
 
-5. Внесите следующие изменения в созданные абстрактные методы (выделены *полужирным шрифтом*). Сохраните изменения.
+
+[start=5]
+. Внесите следующие изменения в созданные абстрактные методы (выделены *полужирным шрифтом*). Сохраните изменения.
 
 [source,java]
 ----
@@ -622,9 +660,15 @@
         *System.out.println("destroy");*
     }
 ----
-6. Щелкните узел проекта правой кнопкой мыши и выберите Создать > Класс Java.
-7. В поле 'Имя класса' введите *FigureDecoder* и выберите  ``org.sample.whiteboardapp``  в списке 'Пакет'. Нажмите 'Готово'.
-8. В редакторе исходного кода реализуйте интерфейс декодера WebSocket. Для этого добавьте следующий код (выделен *полужирным шрифтом*):
+
+[start=6]
+. Щелкните узел проекта правой кнопкой мыши и выберите Создать > Класс Java.
+
+[start=7]
+. В поле 'Имя класса' введите *FigureDecoder* и выберите  ``org.sample.whiteboardapp``  в списке 'Пакет'. Нажмите 'Готово'.
+
+[start=8]
+. В редакторе исходного кода реализуйте интерфейс декодера WebSocket. Для этого добавьте следующий код (выделен *полужирным шрифтом*):
 
 [source,java]
 ----
@@ -634,8 +678,12 @@
     
 }
 ----
-9. Добавьте оператор импорта для  ``javax.websocket.Decoder``  и реализуйте абстрактные методы.
-10. Внесите следующие изменения (выделены *полужирным шрифтом*) в созданные абстрактные методы.
+
+[start=9]
+. Добавьте оператор импорта для  ``javax.websocket.Decoder``  и реализуйте абстрактные методы.
+
+[start=10]
+. Внесите следующие изменения (выделены *полужирным шрифтом*) в созданные абстрактные методы.
 
 [source,java]
 ----
@@ -668,7 +716,9 @@
         *System.out.println("destroy");*
     }
 ----
-11. Исправьте операторы импорта и сохраните изменения.
+
+[start=11]
+. Исправьте операторы импорта и сохраните изменения.
 
 Теперь необходимо внести изменения в файл  ``MyWhiteboard.java``  и указать кодер и декодер.
 
@@ -688,8 +738,12 @@
 @ServerEndpoint(*value=*"/whiteboardendpoint"*, encoders = {FigureEncoder.class}, decoders = {FigureDecoder.class}*)
         
 ----
-3. Удалите метод  ``onMessage`` , созданный по умолчанию.
-4. Добавьте метод  ``broadcastFigure``  и создайте для него аннотацию  ``@OnMessage`` .
+
+[start=3]
+. Удалите метод  ``onMessage`` , созданный по умолчанию.
+
+[start=4]
+. Добавьте метод  ``broadcastFigure``  и создайте для него аннотацию  ``@OnMessage`` .
 
 [source,java]
 ----
@@ -704,12 +758,16 @@
         }
     }
 ----
-5. Щелкните правой кнопкой мыши в редакторе и выберите 'Исправить операторы импорта' (Alt-Shift-I; ⌘-Shift-I для Mac). Сохраните изменения.
-6. В окне 'Проекты' щелкните проект правой кнопкой мыши и выберите 'Выполнить'.
+
+[start=5]
+. Щелкните правой кнопкой мыши в редакторе и выберите 'Исправить операторы импорта' (Alt-Shift-I; ⌘-Shift-I для Mac). Сохраните изменения.
+
+[start=6]
+. В окне 'Проекты' щелкните проект правой кнопкой мыши и выберите 'Выполнить'.
 
 При нажатии кнопки 'Выполнить' среда IDE открывает окно браузера с адресом link:http://localhost:8080/WhiteboardApp/[+http://localhost:8080/WhiteboardApp/+].
 
-*Примечание.* Может потребоваться удалить предыдущее приложение с сервера приложений или выполнить принудительную перезагрузку страницы в браузере.
+NOTE:  Может потребоваться удалить предыдущее приложение с сервера приложений или выполнить принудительную перезагрузку страницы в браузере.
 
 Просмотрите сообщения браузера. Вы увидите, что при каждом нажатии на полотно на терминал отправляются строковые данные JSON.
 
@@ -728,14 +786,16 @@
 
 1. Откройте файл  ``websocket.js``  и добавьте в него следующий код, чтобы задать для свойства  ``binaryType``  компонента WebSocket значение  ``arraybuffer`` .
 
-[source,java]
+[source,javascript]
 ----
 
 websocket.binaryType = "arraybuffer";
 ----
-2. Добавьте следующий метод для отправки двоичных данных на терминал.
 
-[source,java]
+[start=2]
+. Добавьте следующий метод для отправки двоичных данных на терминал.
+
+[source,javascript]
 ----
 
 function sendBinary(bytes) {
@@ -743,9 +803,11 @@
     websocket.send(bytes);
 }
 ----
-3. Измените метод  ``onMessage``  и добавьте в него следующий код (выделен *полужирным шрифтом*), чтобы выбрать метод обновления полотна в соответствии с типом данных, переданных во входящем сообщении.
 
-[source,java]
+[start=3]
+. Измените метод  ``onMessage``  и добавьте в него следующий код (выделен *полужирным шрифтом*), чтобы выбрать метод обновления полотна в соответствии с типом данных, переданных во входящем сообщении.
+
+[source,javascript]
 ----
 
 function onMessage(evt) {
@@ -760,9 +822,11 @@
 
 Метод  ``drawImageBinary``  вызывается при получении сообщения с двоичными данными.
 
-4. Откройте файл  ``whiteboard.js``  и добавьте следующие методы. Метод  ``drawImageBinary``  вызывается для обновления полотна после анализа входных двоичных данных. Метод  ``defineImageBinary``  используется для подготовки снимка полотна в двоичном формате.
 
-[source,java]
+[start=4]
+. Откройте файл  ``whiteboard.js``  и добавьте следующие методы. Метод  ``drawImageBinary``  вызывается для обновления полотна после анализа входных двоичных данных. Метод  ``defineImageBinary``  используется для подготовки снимка полотна в двоичном формате.
+
+[source,javascript]
 ----
 
 function drawImageBinary(blob) {
@@ -795,9 +859,11 @@
 
 Теперь необходимо реализовать вызов метода  ``defineImageBinary`` , когда требуется сгенерировать двоичные данные с типом  ``ArrayBuffer``  и отправить их на терминал.
 
-5. Откройте файл  ``index.html``  и измените элемент  ``<table>``  так, чтобы в таблице формы появилась следующая строка.
 
-[source,xml]
+[start=5]
+. Откройте файл  ``index.html``  и измените элемент  ``<table>``  так, чтобы в таблице формы появилась следующая строка.
+
+[source,html]
 ----
 
 <tr>
@@ -812,7 +878,9 @@
 
 Новая строка содержит кнопку 'Отправить снимок', которая позволяет отправить двоичный снимок полотна на подключенные одноранговые узлы. При нажатии этой кнопки вызывается метод  ``defineImageBinary``  в файле  ``whiteboard.js`` .
 
-6. Откройте файл  ``MyWhiteboard.java``  и добавьте следующий метод. Этот метод используется для отправки двоичных данных на одноранговые узлы, когда на терминал поступает сообщение с двоичными данными.
+
+[start=6]
+. Откройте файл  ``MyWhiteboard.java``  и добавьте следующий метод. Этот метод используется для отправки двоичных данных на одноранговые узлы, когда на терминал поступает сообщение с двоичными данными.
 
 [source,java]
 ----
@@ -828,13 +896,13 @@
 }
 ----
 
-*Примечание.* Потребуется добавить оператор импорта для  ``java.nio.ByteBuffer`` .
+NOTE:  Потребуется добавить оператор импорта для  ``java.nio.ByteBuffer`` .
 
 Вы можете изменить приложение так, чтобы пользователь мог остановить отправку данных на терминал. По умолчанию все одноранговые узлы подключаются в момент открытия страницы и отправки данных из браузера на все подключенные клиенты. Вы можете добавить простой условный оператор, чтобы данные отправлялись на терминал только в том случае, если выбран этот параметр. Этот параметр не влияет на получение данных. Клиенты по-прежнему будут получать данные от терминала.
 
 1. Измените метод  ``defineImage``  в файле  ``whiteboard.js`` , добавив в него следующий код (выделен *полужирным шрифтом*).
 
-[source,java]
+[source,javascript]
 ----
 
         drawImageText(json);
@@ -846,9 +914,11 @@
 
 Этот код условия проверяет,  ``установлен ли флажок``  для элемента с этим идентификатором
 
-2. Откройте файл  ``index.html``  и измените элемент  ``<table>`` , добавив в форму флажок.
 
-[source,xml]
+[start=2]
+. Откройте файл  ``index.html``  и измените элемент  ``<table>`` , добавив в форму флажок.
+
+[source,html]
 ----
 
 <tr>
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi_zh_CN.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi_zh_CN.asciidoc
index 7526ea2..a7edda8 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi_zh_CN.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/maven-websocketapi_zh_CN.asciidoc
@@ -35,7 +35,7 @@
 
 应用程序中包含一个 WebSocket 端点和一些解码器和编码器接口、一个 Web 页和一些 JavaScript 文件,加载 Web 页时或从 Web 页中的窗体调用时,这些 JavaScript 文件将运行在客户端浏览器中。将应用程序部署到 GlassFish Server Open Source Edition 4(Java EE 7 技术的引用实现)。
 
-*注:*本教程基于 link:https://blogs.oracle.com/arungupta/entry/collaborative_whiteboard_using_websocket_in[+Collaborative Whiteboard using WebSocket in GlassFish 4 - Text/JSON and Binary/ArrayBuffer Data Transfer (TOTD #189)+](在 GlassFish 4 中使用 WebSocket 的协作白板 - 文本/JSON 和二进制/ArrayBuffer 数据传输 (TOTD #189))博客帖子和其他可在 link:http://blog.arungupta.me/[+Arun Gupta 的博客+]上找到的博客条目。请确保访问此博客,并查看许多其他有关使用 WebSocket API 和 GlassFish 4 的优秀博客。
+NOTE: 本教程基于 link:https://blogs.oracle.com/arungupta/entry/collaborative_whiteboard_using_websocket_in[+Collaborative Whiteboard using WebSocket in GlassFish 4 - Text/JSON and Binary/ArrayBuffer Data Transfer (TOTD #189)+](在 GlassFish 4 中使用 WebSocket 的协作白板 - 文本/JSON 和二进制/ArrayBuffer 数据传输 (TOTD #189))博客帖子和其他可在 link:http://blog.arungupta.me/[+Arun Gupta 的博客+]上找到的博客条目。请确保访问此博客,并查看许多其他有关使用 WebSocket API 和 GlassFish 4 的优秀博客。
 
 您也可以观看link:maven-websocketapi-screencast.html[+在 Web 应用程序中使用 WebSocket API 的视频+]。
 
@@ -69,7 +69,7 @@
 |link:https://glassfish.java.net/[+GlassFish Server 开源版+] |4 
 |===
 
-*注:*GlassFish 4 随 NetBeans IDE 的 Java EE 下载包捆绑提供。
+NOTE: GlassFish 4 随 NetBeans IDE 的 Java EE 下载包捆绑提供。
 
 *先决条件*
 
@@ -97,6 +97,7 @@
 4. 键入 *org.sample* 作为组 ID。单击 "Next"(下一步)。
 5. 选择 *GlassFish Server 4.0* 作为服务器。
 6. 将 Java EE 版本设置为 *Java EE 7 Web*。单击 "Finish"(完成)。
+
 image::images/websocket-newproject.png[title="&quot;New Project&quot;(新建项目)向导中的服务器和 Java EE 版本"]
 
 单击 "Finish"(完成),此时 IDE 将创建项目并在 "Projects"(项目)窗口中打开该项目。
@@ -118,6 +119,7 @@
 3. 键入 *MyWhiteboard* 作为类名。
 4. 在 "Package"(包)下拉列表中选择  ``org.sample.whiteboardapp`` 。
 5. 键入 */whiteboardendpoint* 作为 WebSocket URI。单击 "Finish"(完成)。
+
 image::images/websocket-newendpoint.png[title="&quot;New File&quot;(新建文件)向导中的 WebSocket 端点"]
 
 在单击 "Finish"(完成)后,IDE 将生成 WebSocket 端点类,并在源代码编辑器中打开文件。在编辑器中,您会看到 IDE 生成了一些属于 WebSocket API 一部分的标注。使用  ``link:https://javaee-spec.java.net/nonav/javadocs/javax/websocket/server/ServerEndpoint.html[+@ServerEndpoint+]``  标注类以将类标识为端点,并将 WebSocket URI 指定为该标注的参数。IDE 还生成了一个使用  ``link:https://javaee-spec.java.net/nonav/javadocs/javax/websocket/OnMessage.html[+@OnMessage+]``  标注的默认  ``onMessage``  方法。每次客户端收到 WebSocket 消息时都会调用使用  ``@OnMessage``  标注的方法。
@@ -136,7 +138,9 @@
     
 }
 ----
-6. 将以下字段(*粗体*)添加到类中。
+
+[start=6]
+. 将以下字段(*粗体*)添加到类中。
 
 [source,java]
 ----
@@ -151,7 +155,9 @@
     }
 }
 ----
-7. 添加以下  ``onOpen``  和  ``onClose``  方法。
+
+[start=7]
+. 添加以下  ``onOpen``  和  ``onClose``  方法。
 
 [source,java]
 ----
@@ -172,7 +178,10 @@
 使用源代码编辑器中的提示和代码完成可帮助生成这些方法。单击类声明旁边的左旁注中的提示图标(或者将插入光标置于类声明中并按下 Alt-Enter 组合键),然后在弹出菜单中选择相应方法。代码完成功能可帮助您对方法进行编码。
 
 image::images/websocket-endpoint-hint.png[title="源代码编辑器中的代码提示"]
-8. 在编辑器中右键单击,然后选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键)。保存所做的更改。
+
+
+[start=8]
+. 在编辑器中右键单击,然后选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键)。保存所做的更改。
 
 您将看到  ``javax.websocket``  中类的 import 语句会添加到文件中。
 
@@ -190,7 +199,7 @@
 3. 键入 *websocket* 作为 JavaScript 文件名。单击 "Finish"(完成)。
 4. 将以下内容添加到 JavaScript 文件中。
 
-[source,xml]
+[source,javascript]
 ----
 
 var wsUri = "ws://" + document.location.host + document.location.pathname + "whiteboardendpoint";
@@ -205,9 +214,11 @@
 
 当浏览器加载  ``websocket.js``  时,此脚本将启动与服务器的会话握手。
 
-5. 打开  ``index.html`` ,然后将以下代码(*粗体*)添加到文件底部,以便在页面完成加载时加载  ``websocket.js`` 。
 
-[source,xml]
+[start=5]
+. 打开  ``index.html`` ,然后将以下代码(*粗体*)添加到文件底部,以便在页面完成加载时加载  ``websocket.js`` 。
+
+[source,html]
 ----
 
 <body>
@@ -236,9 +247,11 @@
 *<div id="output"></div>*
 <script type="text/javascript" src="websocket.js"></script>
 ----
-2. 将以下声明和方法添加到  ``websocket.js`` 。保存所做的更改。
 
-[source,java]
+[start=2]
+. 将以下声明和方法添加到  ``websocket.js`` 。保存所做的更改。
+
+[source,javascript]
 ----
 
 // For testing purposes
@@ -257,7 +270,9 @@
 
 当页面加载 JavaScript 时,这些函数将输出浏览器已连接到端点的消息。在确认端点正确执行之后,可以删除这些函数。
 
-3. 在 "Projects"(项目)窗口中右键单击项目,然后选择 "Run"(运行)。
+
+[start=3]
+. 在 "Projects"(项目)窗口中右键单击项目,然后选择 "Run"(运行)。
 
 运行应用程序时,IDE 将启动 GlassFish Server,然后构建并部署应用程序。索引页将在浏览器中打开,并且您将会在浏览器窗口中看到以下消息。
 
@@ -278,7 +293,7 @@
 1. 在源代码编辑器中打开  ``index.html`` 。
 2. 删除您添加的  ``<div>``  标记以测试端点,并在开始的 body 标记之后添加以下  ``<table>``  和  ``<form>``  元素(*粗体*)。
 
-[source,xml]
+[source,html]
 ----
 
 <h1>Collaborative Whiteboard App</h1>
@@ -298,9 +313,11 @@
     <script type="text/javascript" src="websocket.js"></script>
     </body>
 ----
-3. 为 canvas 元素添加以下代码(*粗体*)。
 
-[source,xml]
+[start=3]
+. 为 canvas 元素添加以下代码(*粗体*)。
+
+[source,html]
 ----
 
         <table>
@@ -309,9 +326,11 @@
                     *<canvas id="myCanvas" width="150" height="150" style="border:1px solid #000000;"></canvas>*
                 </td>
 ----
-4. 添加以下  ``<table>``  以添加单选按钮用于选择颜色和形状。保存所做的更改。
 
-[source,xml]
+[start=4]
+. 添加以下  ``<table>``  以添加单选按钮用于选择颜色和形状。保存所做的更改。
+
+[source,html]
 ----
 
         <table>
@@ -368,12 +387,17 @@
 
 有关  ``javax.json.JsonObject``  的更多信息,请参见属于 Java EE 7 规范一部分的用于 JSON 处理的 Java API (link:http://jcp.org/en/jsr/detail?id=353[+JSR 353+])。
 
-4. 为  ``json``  创建 getter 和 setter。
+
+[start=4]
+. 为  ``json``  创建 getter 和 setter。
 
 可以在 "Insert Code"(插入代码)弹出菜单中选择 getter 和 setter(在 Windows 上为 Alt-Ins;在 Mac 上为 Ctrl-I),以便打开 "Generate Getters and Setter"(生成 getter 和 setter)对话框。或者,也可以从主菜单中选择 "Source"(源)> "Insert Code"(插入代码)。
 
 image::images/websocket-generategetter.png[title="&quot;Generate Getter and Setter&quot;(生成 getter 和 setter)对话框"]
-5. 为  ``json``  添加构造函数。
+
+
+[start=5]
+. 为  ``json``  添加构造函数。
 
 [source,java]
 ----
@@ -386,7 +410,10 @@
 可以在 "Insert Code"(插入代码)弹出菜单中选择 "Constructor"(构造函数)(Ctrl-I 组合键)。
 
 image::images/websocket-generateconstructor.png[title="&quot;Generate Constructor&quot;(生成构造函数)弹出菜单"]
-6. 添加以下  ``toString``  方法:
+
+
+[start=6]
+. 添加以下  ``toString``  方法:
 
 [source,java]
 ----
@@ -398,7 +425,9 @@
         return writer.toString();
     }
 ----
-7. 在编辑器中右键单击,然后选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键)。保存所做的更改。
+
+[start=7]
+. 在编辑器中右键单击,然后选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键)。保存所做的更改。
  
 
 
@@ -456,9 +485,11 @@
 
 单击 "Finish"(完成)后,IDE 将创建空 JavaScript 文件并在编辑器中打开该文件。您可以在 "Projects"(项目)窗口中的 "Web Pages"(Web 页)节点下看到该新文件。
 
-3. 添加以下代码以初始化画布并添加事件监听程序。
 
-[source,java]
+[start=3]
+. 添加以下代码以初始化画布并添加事件监听程序。
+
+[source,javascript]
 ----
 
 var canvas = document.getElementById("myCanvas");
@@ -468,9 +499,11 @@
 
 您可以看到当用户在  ``canvas``  元素中单击时调用了  ``defineImage``  方法。
 
-4. 添加下面的  ``getCurrentPos`` 、 ``defineImage``  和  ``drawImageText``  方法以构造 JSON 结构并将其发送到端点 ( ``sendText(json)`` )。
 
-[source,java]
+[start=4]
+. 添加下面的  ``getCurrentPos`` 、 ``defineImage``  和  ``drawImageText``  方法以构造 JSON 结构并将其发送到端点 ( ``sendText(json)`` )。
+
+[source,javascript]
 ----
 
 function getCurrentPos(evt) {
@@ -531,7 +564,7 @@
 发送的 JSON 结构将类似于以下内容:
 
 
-[source,java]
+[source,javascript]
 ----
 
 {
@@ -546,9 +579,11 @@
 
 现在,您需要添加  ``sendText(json)``  方法以使用  ``websocket.send()``  发送 JSON 字符串。
 
-5. 在编辑器中打开  ``websocket.js`` ,然后添加以下方法,用于将 JSON 发送到端点,以及在从端点收到消息时绘制图像。
 
-[source,java]
+[start=5]
+. 在编辑器中打开  ``websocket.js`` ,然后添加以下方法,用于将 JSON 发送到端点,以及在从端点收到消息时绘制图像。
+
+[source,javascript]
 ----
 
 websocket.onmessage = function(evt) { onMessage(evt) };
@@ -564,11 +599,13 @@
 }
 ----
 
-*注:*可以删除已添加到  ``websocket.js``  中的代码以测试端点。
+NOTE: 可以删除已添加到  ``websocket.js``  中的代码以测试端点。
 
-6. 将以下行(*粗体*)添加到  ``index.html``  的底部以加载  ``whiteboard.js`` 。
 
-[source,xml]
+[start=6]
+. 将以下行(*粗体*)添加到  ``index.html``  的底部以加载  ``whiteboard.js`` 。
+
+[source,html]
 ----
 
         </table>
@@ -598,11 +635,15 @@
     
 }
 ----
-4. 为  ``javax.websocket.Encoder``  添加 import 语句并实现抽象方法。
+
+[start=4]
+. 为  ``javax.websocket.Encoder``  添加 import 语句并实现抽象方法。
 
 将光标放在类声明中,按下 Alt-Enter 组合键,然后从弹出菜单中选择 *Implement all abstract methods*(实现所有抽象方法)。
 
-5. 通过进行以下更改(*粗体*)修改生成的抽象方法。保存所做的更改。
+
+[start=5]
+. 通过进行以下更改(*粗体*)修改生成的抽象方法。保存所做的更改。
 
 [source,java]
 ----
@@ -622,9 +663,15 @@
         *System.out.println("destroy");*
     }
 ----
-6. 右键单击项目节点,然后选择 "New"(新建)> "Java Class"(Java 类)。
-7. 键入 *FigureDecoder* 作为类名,并在 "Package"(包)下拉列表中选择  ``org.sample.whiteboardapp`` 。单击 "Finish"(完成)。
-8. 在源代码编辑器中,通过添加以下代码(*粗体*)来实现 WebSocket 解码器接口:
+
+[start=6]
+. 右键单击项目节点,然后选择 "New"(新建)> "Java Class"(Java 类)。
+
+[start=7]
+. 键入 *FigureDecoder* 作为类名,并在 "Package"(包)下拉列表中选择  ``org.sample.whiteboardapp`` 。单击 "Finish"(完成)。
+
+[start=8]
+. 在源代码编辑器中,通过添加以下代码(*粗体*)来实现 WebSocket 解码器接口:
 
 [source,java]
 ----
@@ -634,8 +681,12 @@
     
 }
 ----
-9. 为  ``javax.websocket.Decoder``  添加 import 语句并实现抽象方法。
-10. 对生成的抽象方法进行以下更改(*粗体*)。
+
+[start=9]
+. 为  ``javax.websocket.Decoder``  添加 import 语句并实现抽象方法。
+
+[start=10]
+. 对生成的抽象方法进行以下更改(*粗体*)。
 
 [source,java]
 ----
@@ -668,7 +719,9 @@
         *System.out.println("destroy");*
     }
 ----
-11. 修复导入并保存更改。
+
+[start=11]
+. 修复导入并保存更改。
 
 现在,您需要修改  ``MyWhiteboard.java``  以指定编码器和解码器。
 
@@ -688,8 +741,12 @@
 @ServerEndpoint(*value=*"/whiteboardendpoint"*, encoders = {FigureEncoder.class}, decoders = {FigureDecoder.class}*)
         
 ----
-3. 删除默认情况下生成的  ``onMessage``  方法。
-4. 添加以下  ``broadcastFigure``  方法并使用  ``@OnMessage``  标注该方法。
+
+[start=3]
+. 删除默认情况下生成的  ``onMessage``  方法。
+
+[start=4]
+. 添加以下  ``broadcastFigure``  方法并使用  ``@OnMessage``  标注该方法。
 
 [source,java]
 ----
@@ -704,12 +761,16 @@
         }
     }
 ----
-5. 在编辑器中右键单击,然后选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键)。保存所做的更改。
-6. 在 "Projects"(项目)窗口中右键单击项目,然后选择 "Run"(运行)。
+
+[start=5]
+. 在编辑器中右键单击,然后选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 上为 ⌘-Shift-I 组合键)。保存所做的更改。
+
+[start=6]
+. 在 "Projects"(项目)窗口中右键单击项目,然后选择 "Run"(运行)。
 
 当您单击 "Run"(运行)时,IDE 会将浏览器窗口打开到 link:http://localhost:8080/WhiteboardApp/[+http://localhost:8080/WhiteboardApp/+]。
 
-*注:*您可能需要从应用程序服务器取消部署以前的应用程序,或者强制在浏览器中重新加载此页。
+NOTE: 您可能需要从应用程序服务器取消部署以前的应用程序,或者强制在浏览器中重新加载此页。
 
 如果查看浏览器消息,您会看到每次在画布中单击时,都会通过 JSON 将字符串发送到端点。
 
@@ -728,14 +789,16 @@
 
 1. 打开  ``websocket.js`` ,然后添加以下代码以将 WebSocket 的  ``binaryType``  属性设置为  ``arraybuffer`` 。
 
-[source,java]
+[source,javascript]
 ----
 
 websocket.binaryType = "arraybuffer";
 ----
-2. 添加以下方法以将二进制数据发送到端点。
 
-[source,java]
+[start=2]
+. 添加以下方法以将二进制数据发送到端点。
+
+[source,javascript]
 ----
 
 function sendBinary(bytes) {
@@ -743,9 +806,11 @@
     websocket.send(bytes);
 }
 ----
-3. 修改  ``onMessage``  方法以添加以下代码(*粗体*),从而选择该方法用于根据传入消息中的数据类型更新画布。
 
-[source,java]
+[start=3]
+. 修改  ``onMessage``  方法以添加以下代码(*粗体*),从而选择该方法用于根据传入消息中的数据类型更新画布。
+
+[source,javascript]
 ----
 
 function onMessage(evt) {
@@ -760,9 +825,11 @@
 
 如果收到包含二进制数据的消息,则会调用  ``drawImageBinary``  方法。
 
-4. 打开  ``whiteboard.js``  并添加以下方法。在解析传入的二进制数据之后,会调用  ``drawImageBinary``  方法以更新画布。 ``defineImageBinary``  方法用于将画布快照准备为二进制数据。
 
-[source,java]
+[start=4]
+. 打开  ``whiteboard.js``  并添加以下方法。在解析传入的二进制数据之后,会调用  ``drawImageBinary``  方法以更新画布。 ``defineImageBinary``  方法用于将画布快照准备为二进制数据。
+
+[source,javascript]
 ----
 
 function drawImageBinary(blob) {
@@ -795,9 +862,11 @@
 
 现在,当您想要以  ``ArrayBuffer``  类型生成二进制数据并将其发送到端点时,需要添加一种方法来调用  ``defineImageBinary`` 。
 
-5. 打开  ``index.html`` ,然后修改  ``<table>``  元素以将以下行添加到窗体中的表中。
 
-[source,xml]
+[start=5]
+. 打开  ``index.html`` ,然后修改  ``<table>``  元素以将以下行添加到窗体中的表中。
+
+[source,html]
 ----
 
 <tr>
@@ -812,7 +881,9 @@
 
 新行包含 "Send Snapshot"(发送快照)按钮,用于将画布的二进制快照发送到已连接的对等方。单击此按钮时,将调用  ``whiteboard.js``  中的  ``defineImageBinary``  方法。
 
-6. 打开  ``MyWhiteboard.java`` ,然后添加以下方法,用于在端点收到包含二进制数据的消息时将二进制数据发送到对等方。
+
+[start=6]
+. 打开  ``MyWhiteboard.java`` ,然后添加以下方法,用于在端点收到包含二进制数据的消息时将二进制数据发送到对等方。
 
 [source,java]
 ----
@@ -828,13 +899,15 @@
 }
 ----
 
-*注:*需要为  ``java.nio.ByteBuffer``  添加 import 语句。
+NOTE: 需要为  ``java.nio.ByteBuffer``  添加 import 语句。
 
 可以修改应用程序以使用户能够停止向端点发送数据。默认情况下,只要对等方打开了页面就会立即连接所有这些对等方,并将数据从浏览器发送到连接的所有对等方。可以添加简单条件,以便只有在选择了此选项时才会将数据发送到端点。这并不影响接收数据。仍会从端点接收数据。
 
-1. 修改  ``whiteboard.js``  中的  ``defineImage``  方法以添加以下代码(*粗体*)。
 
-[source,java]
+[start=1]
+. 修改  ``whiteboard.js``  中的  ``defineImage``  方法以添加以下代码(*粗体*)。
+
+[source,javascript]
 ----
 
         drawImageText(json);
@@ -846,9 +919,11 @@
 
 检查元素的 ID 是否为  ``checked``  的条件代码
 
-2. 打开  ``index.html`` ,然后修改  ``<table>``  元素以向窗体中添加复选框。
 
-[source,xml]
+[start=2]
+. 打开  ``index.html`` ,然后修改  ``<table>``  元素以向窗体中添加复选框。
+
+[source,html]
 ----
 
 <tr>
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee.asciidoc
index b9e9463..968e2de 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee.asciidoc
@@ -41,9 +41,6 @@
 If you are deploying an application to a local registered Tomcat, GlassFish server or JBoss installation, you can profile the application with only a few mouse clicks and almost zero configuration. The process of profiling the project is very similar to using the Run command in the IDE. You can easily start profiling enterprise application projects or individual web and EJB modules by choosing Profile > Profile Main Project from the main menu.
 
 
-image::images/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.3, 7.4 and 8.0"]
-
-
 *To follow this tutorial, you need the following software and resources.*
 
 |===
@@ -56,11 +53,12 @@
 |GlassFish server |3.1, 4.0 
 |===
 
-*Notes.*
-
+[NOTE]
+====
 * If you are using the profiler for the first time, it is recommended that you read the link:../java/profiler-intro.html[+Introduction to Profiling Java Applications in NetBeans IDE+] which provides an overview of the monitoring and profiling tasks.
 * If you are using NetBeans IDE 7.2 or earlier, see link:../../72/javaee/profiler-javaee.html[+Profiling an Enterprise Application in NetBeans IDE 7.2+]
 * In this document you will profile an enterprise application deployed to the GlassFish server. The preferred and the easiest configuration for profiling an enterprise or web application during development is when the the application is running on a local Tomcat, GlassFish or JBoss server.
+====
 
 
 == About Profiling Enterprise Applications in the IDE
@@ -116,10 +114,11 @@
 
 When you click Finish, the IDE creates the ServletStateless sample project. You can see the ServletStateless project in the Projects window.
 
-*Note.*
-
+[NOTE]
+====
 * By default, when using the IDE to profile a project, the IDE will profile the project that is selected in the Projects window if more than one project is open. If you choose Run > Set Main Project from the main menu and set a project as the Main Project, the Main Project is profiled by default. You can right-click a project node in the Projects window and choose Profile in the popup menu.
 * If you want to profile a file such as  ``.jsp``  page or a servlet, right-click the file and choose Profile File from the popup menu. The behavior is similar to Profile (Main) Project, but when you start the profiling session the selected web page will open in the browser instead of the default web page for the project.
+====
 
 
 == Monitoring the Application
@@ -132,14 +131,20 @@
 
 When you set the project as the Main Project the name of the project will be in bold in the Projects window.
 
-2. Choose Profile > Profile Main Project from the main menu.
 
-*Note.* Select JDK 1.7 or JDK 1.8 if you are prompted to select a Java platform for profiling.
+[start=2]
+. Choose Profile > Profile Main Project from the main menu.
 
-3. Select Monitor in the Select Profiling Task dialog box.
-4. Click Run.
+NOTE:  Select JDK 1.7 or JDK 1.8 if you are prompted to select a Java platform for profiling.
 
-*Note.* If you have not used the profiler before you might be prompted to calibrate the profiler before you can click Run. For more on calibrating the profiler, see the section on link:../java/profiler-intro.html#calibrate[+Using the Profiler for the First Time+] in the link:../java/profiler-intro.html[+Introduction to Profiling Java Applications in NetBeans IDE+].
+
+[start=3]
+. Select Monitor in the Select Profiling Task dialog box.
+
+[start=4]
+. Click Run.
+
+NOTE:  If you have not used the profiler before you might be prompted to calibrate the profiler before you can click Run. For more on calibrating the profiler, see the section on link:../java/profiler-intro.html#calibrate[+Using the Profiler for the First Time+] in the link:../java/profiler-intro.html[+Introduction to Profiling Java Applications in NetBeans IDE+].
 
 When you click Run, the IDE builds the application, starts the server in profile mode and then deploys the application to the server. The IDE then attaches to the application and starts retrieving data.
 
@@ -172,7 +177,7 @@
 * Usually you are not interested in data about listeners or filters, so you can click Reset Collected Results to clear that data. The first usable data will be collected after some code is invoked as a result of some action in the web browser, typically displaying a JSP page that uses JavaBeans and/or custom tags or processing servlet's  ``doGet`` / ``doPost``  method. You should note that the data collected when the application starts up the first time often only represents the startup behavior of the web application.
 * If a JSP page is being displayed for the first time, it is compiled to the servlet internally by the server, which affects the call tree and the methods timing. Also, the behavior of servlets and other application code can be slightly different during the first run than it is in a real production environment, where the application is running constantly. To obtain profiling data that better represents real application performance, you should generate some workload on the profiled code before measuring any times (call trees should not be affected by this). You can use a load generators to help you with this. (For more, see link:../java/profile-loadgenerator.html[+Using a Load Generator in NetBeans IDE+].) The caching capabilities of various browsers can also have an impact on performance.
 
-*Note.* If you are profiling web applications on the GlassFish application server on a Windows machine, starting the server for profiling may fail if the NetBeans IDE is installed in a path that contains spaces (such as the default installation to  ``C:\Program Files\netbeans-7.4`` ). The workaround is to install/copy your NetBeans IDE installation directory to a location that does not contain spaces in the path (such as  ``C:\netbeans-7.4`` ).
+NOTE:  If you are profiling web applications on the GlassFish application server on a Windows machine, starting the server for profiling may fail if the NetBeans IDE is installed in a path that contains spaces (such as the default installation to  ``C:\Program Files\netbeans-7.4`` ). The workaround is to install/copy your NetBeans IDE installation directory to a location that does not contain spaces in the path (such as  ``C:\netbeans-7.4`` ).
 
 
 === Sampling the Application
@@ -187,13 +192,16 @@
 4. Select the *Quick (sampled)* mode.
 5. Select *Profile only project classes* from the Filter drop-down list. Click Run.
 
-*Note.* This filter will limit the classes that are instrumented to the classes that are found in the enterprise application project. Click *Show filter value* to see a list of the filtered classes.
+NOTE:  This filter will limit the classes that are instrumented to the classes that are found in the enterprise application project. Click *Show filter value* to see a list of the filtered classes.
 
 image::images/sample-task.png[title="Sample Application mode selected in the CPU pane of Select Profiling Task dialog box"]
 
 You can see on the scale in the dialog that the overhead will be relatively low.
 
-6. Click the Live Profiling Results button in the Profiler window to open the Live Profiling Results tab.
+
+[start=6]
+. Click the Live Profiling Results button in the Profiler window to open the Live Profiling Results tab.
+
 image::images/sample-task-results.png[title="Results of Sample Application mode"]
 
 In the Live Profiling Results tab you can see the execution time for the  ``service``  method for the servlet in the  ``Servlet2Stateless``  class and that the method was invoked one time.
@@ -210,21 +218,27 @@
 3. Select CPU in the Select Profiling Task dialog box.
 4. Select the *Advanced (instrumented)* mode.
 5. Select *Profile only project classes* from the Filter drop-down list. Click Run.
+
 image::images/advanced-cpu-task.png[title="Profile Application mode selected in the CPU pane of Select Profiling Task dialog box"]
 
 You can see on the scale in the dialog that the overhead will be higher than in the Quick profile mode.
 
-6. Click the Live Profiling Results button in the Profiler window to open the Live Profiling Results tab.
+
+[start=6]
+. Click the Live Profiling Results button in the Profiler window to open the Live Profiling Results tab.
 
 You can see that the Live Profiling Results tab shows the execution time for the  ``init``  and  ``service``  methods for the servlet in the  ``Servlet2Stateless``  class and that each method was invoked one time. The  ``init``  method in the  ``StatelessSessionBean``  class was also invoked.
 
 image::images/cpu-pane1-results.png[title="Results of Profile Application mode"]
 
-*Note.* By default, the auto-refresh mode is active so that the data displayed is refreshed every few seconds. You can activate and de-activate the auto-refresh mode by clicking the Auto-Refresh button in the toolbar.
+NOTE:  By default, the auto-refresh mode is active so that the data displayed is refreshed every few seconds. You can activate and de-activate the auto-refresh mode by clicking the Auto-Refresh button in the toolbar.
 
 To improve the readability of the collected data, you can use the Results filter in the Hot Spots view in the Live Profiling Results window to filter the displayed results. The Results filter only filters the display of results and does not affect the classes that are instrumented. When you use the Results filter, you filter the results which start, contain or end with a defined pattern. You can also use more complex regular expressions for filtering. Data is filtered based on package/class/method names exactly as they appear in the first results table column. You can specify more than one pattern, separating the patterns by a space or comma with space.
 
-7. In the web browser, type your name in the field and click Submit Query.
+
+[start=7]
+. In the web browser, type your name in the field and click Submit Query.
+
 image::images/cpu-pane1-results1.png[title="Results of Profile Application mode"]
 
 When you click Submit Query, you can see that the Live Profiling Results tab is updated to reflect the action in the web browser. Clicking the button invoked the  ``sayHello``  method in the  ``StatelessSessionBean``  class and invoked the  ``init``  method again. The  ``service``  method for the servlet in the  ``Servlet2Stateless``  was also invoked again. The tab also displays how much time was spent in each of the methods.
@@ -260,24 +274,35 @@
 
 To profile part of an application you need to first specify the root methods. By selecting the profiling root, you limit the profiling to the methods called by the thread entering the profiling root.
 
-6. In the Edit Profiling Roots dialog box, select Web Application View in the Select View drop-down list.
-7. Expand the ServletStateless node and select the  ``service``  method in the Servlets package. Click OK.
+
+[start=6]
+. In the Edit Profiling Roots dialog box, select Web Application View in the Select View drop-down list.
+
+[start=7]
+. Expand the ServletStateless node and select the  ``service``  method in the Servlets package. Click OK.
+
 image::images/edit-profiling-roots.png[title="Web Application View in Edit Profiling Roots dialog"]
 
 Alternatively, you can choose the Package View to view all the source packages in the application and select the  ``service``  method in the  ``Servlet2Stateless``  class in the  ``servlet.stateless``  package.
 
 image::images/edit-profiling-roots-pkg.png[title="Package View in Edit Profiling Roots dialog"]
 
-*Note.* Notice that the  ``Servlet2Stateless``  constructor is not selected. You can use the Edit Profiling Roots dialog to limit the instrumentation to specific methods in a class. If you do not want to limit the instrumentation to specific methods, you can use the Package View to select an entire class or package. For example, if you select the  ``Servlet2Stateless``  class in the Package View of the Edit Profiling Roots dialog box, the IDE will instrument the  ``init``  constructor and the  ``service``  method.
+NOTE:  Notice that the  ``Servlet2Stateless``  constructor is not selected. You can use the Edit Profiling Roots dialog to limit the instrumentation to specific methods in a class. If you do not want to limit the instrumentation to specific methods, you can use the Package View to select an entire class or package. For example, if you select the  ``Servlet2Stateless``  class in the Package View of the Edit Profiling Roots dialog box, the IDE will instrument the  ``init``  constructor and the  ``service``  method.
 
 If you click the Advanced button you can see that the  ``service``  method is listed as the only root method in the Edit Profiling Roots (Advanced) dialog box. You can click Add to explicitly define a method by typing the method signature and class.
 
 image::images/edit-profilingroots-pkg-adv.png[title="Edit Profiling Roots (Advanced) dialog"]
-8. Click OK in the Edit Profiling Roots dialog box.
+
+
+[start=8]
+. Click OK in the Edit Profiling Roots dialog box.
 
 In the Select Profiling Task dialog box you can see that the Advanced profiling mode will be run using custom profiling roots. You can click *edit* to view and modify the selected root methods. Notice that the profiling overhead is now less than when no root methods were specified.
 
-9. Select *Profile only project classes* from the Filter drop-down list. Click Run.
+
+[start=9]
+. Select *Profile only project classes* from the Filter drop-down list. Click Run.
+
 image::images/advanced-cpu-task-custom.png[title="Profile Application mode selected with a custom profiling root"]
 
 When you click Run, the IDE builds and deploys the application and opens the web browser to the servlet page.
@@ -290,15 +315,23 @@
 
 Though the application has entered other methods since entering the profiling root, these other methods are not displayed because the instrumentation filter limits the instrumentation to classes that are part of the project.
 
-10. In the web browser, type your name in the field and click Submit Query.
+
+[start=10]
+. In the web browser, type your name in the field and click Submit Query.
+
 image::images/cpu-pane2-results1.png[title="Results of instrumenting methods using a profiling root after invoking sayHello method"]
 
 When you click Submit Query, you can see that the Live Profiling Results tab is updated to reflect the action in the web browser. Clicking the button invoked the  ``sayHello``  method in the  ``StatelessSessionBean``  class one time. The  ``service``  method was also invoked again.
 
 The results display the performance of the application, but may not accurately represent the performance of an application that has been running for some time. One way to emulate the performance of a web application under more realistic conditions is to run a load generator script.
 
-11. Repeat the previous step a few times in the browser and then click Reset Results in the Live Profiling Results tab to clear the results.
-12. After the profiling results are reset, type your name and click Submit Query one more time.
+
+[start=11]
+. Repeat the previous step a few times in the browser and then click Reset Results in the Live Profiling Results tab to clear the results.
+
+[start=12]
+. After the profiling results are reset, type your name and click Submit Query one more time.
+
 image::images/cpu-pane2-results2.png[title="Results of instrumenting methods using a profiling root after invoking sayHello method"]
 
 If you look at the profiling results, in many cases you may see that the performance has improved.
@@ -348,14 +381,25 @@
 
 1. Stop the previous profiling session (if still running) by clicking the Stop button in the Profiler window.
 When you click Stop, the IDE detaches from the application.
-2. Choose Profile > Profile Main Project from the main menu.
-3. Select *Memory* in the Select Profiling Task dialog box.
-4. Select *Advanced*.
-5. Select *Record full object lifecycle* to obtain data about surviving generations.
 
-*Note.* If you select this option you will notice that the Overhead meter will increase substantially. When profiling an enterprise application, it is quite possible that you will need to increase the memory for the IDE because of the amount of collected data.
+[start=2]
+. Choose Profile > Profile Main Project from the main menu.
 
-6. Deselect *Use defined Profiling Points* (if selected). Click Run.
+[start=3]
+. Select *Memory* in the Select Profiling Task dialog box.
+
+[start=4]
+. Select *Advanced*.
+
+[start=5]
+. Select *Record full object lifecycle* to obtain data about surviving generations.
+
+NOTE:  If you select this option you will notice that the Overhead meter will increase substantially. When profiling an enterprise application, it is quite possible that you will need to increase the memory for the IDE because of the amount of collected data.
+
+
+[start=6]
+. Deselect *Use defined Profiling Points* (if selected). Click Run.
+
 image::images/profile-memory-advanced.png[title="Select Profiling Task dialog showing Memory task and options"]
 
 When you click Run, the IDE compiles the application, starts the server in profile mode and deploys the application to the server. To view the profiling results, click Live Results in the Profiler window to open the Live Results window. The Live Results window displays information on the size and number of objects that are allocated on the target JVM. In addition to the objects allocated by the enterprise application, the results also include all the objects allocated by the application server.
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee_ja.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee_ja.asciidoc
index 3241ede..906bb32 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee_ja.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee_ja.asciidoc
@@ -40,9 +40,6 @@
 ローカルに登録されたTomcat、GlassFishサーバーまたはJBossインストールにアプリケーションをデプロイしている場合は、ほとんど構成せずに数回のマウス・クリックのみでアプリケーションをプロファイルできます。プロジェクトをプロファイリングするプロセスは、IDEで「実行」コマンドを使用する場合と非常に似ています。メイン・メニューから「プロファイリング」>「メイン・プロジェクトのプロファイル」を選択することで、エンタープライズ・アプリケーション・プロジェクトまたは個々のWebおよびEJBモジュールのプロファイリングを簡単に開始できます。
 
 
-image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.3、7.4および8.0に適用されます"]
-
-
 *このチュートリアルに従うには、次のソフトウェアとリソースが必要です。*
 
 |===
@@ -55,11 +52,12 @@
 |GlassFishサーバー |3.1, 4.0 
 |===
 
-*注意:*
-
+[NOTE]
+====
 * プロファイラを初めて使用する場合は、タスクのモニタリングとプロファイリングの概要について説明しているlink:../java/profiler-intro.html[+NetBeans IDEでのJavaアプリケーションのプロファイリングの概要+]を読むことをお薦めします。
 * NetBeans IDE 7.2またはそれ以前を使用している場合は、link:../../72/javaee/profiler-javaee.html[+NetBeans IDE 7.2でのエンタープライズ・アプリケーションのプロファイリング+]を参照してください。
 * このドキュメントでは、GlassFishサーバーにデプロイされたエンタープライズ・アプリケーションをプロファイルします。開発中にエンタープライズ・アプリケーションまたはWebアプリケーションをプロファイリングする場合に推奨される最も単純な構成は、アプリケーションをローカルのTomcat、GlassFishまたはJBossサーバー上で実行しているときです。
+====
 
 
 == IDEでのエンタープライズ・アプリケーションのプロファイリングについて
@@ -115,10 +113,11 @@
 
 「終了」をクリックすると、IDEによってServletStatelessサンプル・プロジェクトが作成されます。「プロジェクト」ウィンドウにServletStatelessプロジェクトが表示されます。
 
-*注意:*
-
+[NOTE]
+====
 * デフォルトでは、IDEを使用してプロジェクトをプロファイルすると、複数のプロジェクトが開いている場合は、「プロジェクト」ウィンドウで選択したプロジェクトがプロファイルされます。メイン・メニューから「実行」>「メイン・プロジェクトとして設定」を選択し、プロジェクトをメイン・プロジェクトとして設定した場合は、メイン・プロジェクトがデフォルトでプロファイルされます。「プロジェクト」ウィンドウでプロジェクト・ノードを右クリックし、ポップアップ・メニューから「プロファイル」を選択できます。
 *  ``.jsp`` ページやサーブレットなどのファイルをプロファイルする場合は、そのファイルを右クリックして、ポップアップ・メニューから「ファイルをプロファイル」を選択します。動作は「(メイン)プロジェクトをプロファイル」とほぼ同じですが、プロファイリング・セッションを開始すると、プロジェクトのデフォルトのWebページではなく、選択されたWebページがブラウザで開きます。
+====
 
 
 == アプリケーションのモニタリング
@@ -131,14 +130,20 @@
 
 プロジェクトをメイン・プロジェクトとして設定すると、「プロジェクト」ウィンドウでは、そのプロジェクト名が太字で表示されます。
 
-2. メイン・メニューから「プロファイル」>「メイン・プロジェクトのプロファイル」を選択します。
 
-*注意:*プロファイリング用のJavaプラットフォームを選択するプロンプトが表示された場合は、JDK 1.7またはJDK 1.8を選択します。
+[start=2]
+. メイン・メニューから「プロファイル」>「メイン・プロジェクトのプロファイル」を選択します。
 
-3. 「プロファイリング・タスクの選択」ダイアログ・ボックスで「モニター」を選択します。
-4. 「実行」をクリックします。
+NOTE: プロファイリング用のJavaプラットフォームを選択するプロンプトが表示された場合は、JDK 1.7またはJDK 1.8を選択します。
 
-*注意:*プロファイラを以前に使用したことがない場合は、「実行」をクリックできるようになる前に、プロファイラを調整するためのプロンプトが表示される場合があります。プロファイラの調整の詳細は、link:../java/profiler-intro.html[+NetBeans IDEでのJavaアプリケーションのプロファイリングの概要+]のlink:../java/profiler-intro.html#calibrate[+初めてのプロファイラの使用+]の項を参照してください。
+
+[start=3]
+. 「プロファイリング・タスクの選択」ダイアログ・ボックスで「モニター」を選択します。
+
+[start=4]
+. 「実行」をクリックします。
+
+NOTE: プロファイラを以前に使用したことがない場合は、「実行」をクリックできるようになる前に、プロファイラを調整するためのプロンプトが表示される場合があります。プロファイラの調整の詳細は、link:../java/profiler-intro.html[+NetBeans IDEでのJavaアプリケーションのプロファイリングの概要+]のlink:../java/profiler-intro.html#calibrate[+初めてのプロファイラの使用+]の項を参照してください。
 
 「実行」をクリックすると、IDEによってアプリケーションがビルドされ、プロファイル・モードでサーバーが起動され、サーバーにアプリケーションがデプロイされます。次に、IDEがアプリケーションにアタッチされ、データの取得が開始されます。
 
@@ -171,7 +176,7 @@
 * 通常はリスナーやフィルタに関するデータは必要ないため、「収集結果をリセット」をクリックしてそのデータをクリアできます。Webブラウザでのアクションの結果としてなんらかのコード(通常はJavaBeans、カスタム・タグ、またはその両方を使用するJSPページの表示やサーブレットの ``doGet`` / ``doPost`` メソッドの処理)が呼び出されると、最初に使用可能なデータが収集されます。アプリケーションが初めて起動したときに収集されるデータは、多くの場合、Webアプリケーションの起動動作のみを表していることに注意してください。
 * JSPページは、初めて表示されると、サーバーの内部でサーブレットにコンパイルされ、コール・ツリーやメソッドのタイミングに影響を与えます。また、サーブレットや他のアプリケーション・コードの動作は、最初の実行時とアプリケーションが継続的に実行される実際の本番環境とで少し異なる可能性があります。実際のアプリケーション・パフォーマンスをより的確に表すプロファイリング・データを取得するには、時間を測定する前に、プロファイルされるコードに対してある程度のワークロードをかけるようにしてください(コール・ツリーがこの影響を受けないようにしてください)。これは、負荷ジェネレータを使用して簡単に行うことができます。(詳細は、link:../java/profile-loadgenerator.html[+NetBeans IDEでの負荷ジェネレータの使用+]を参照してください。)様々なブラウザのキャッシュ機能も、パフォーマンスに影響を与える可能性があります。
 
-*注意:*Windowsマシン上のGlassFishアプリケーション・サーバーでWebアプリケーションをプロファイリングする場合、スペースが使用されているパス(デフォルトの ``C:\Program Files\netbeans-7.4`` へのインストールなど)にNetBeans IDEがインストールされていると、プロファイリング用サーバーの起動が失敗することがあります。これを回避するには、NetBeans IDEのインストール・ディレクトリをパスにスペースが含まれない場所( ``C:\netbeans-7.4`` など)にインストールまたはコピーします。
+NOTE: Windowsマシン上のGlassFishアプリケーション・サーバーでWebアプリケーションをプロファイリングする場合、スペースが使用されているパス(デフォルトの ``C:\Program Files\netbeans-7.4`` へのインストールなど)にNetBeans IDEがインストールされていると、プロファイリング用サーバーの起動が失敗することがあります。これを回避するには、NetBeans IDEのインストール・ディレクトリをパスにスペースが含まれない場所( ``C:\netbeans-7.4`` など)にインストールまたはコピーします。
 
 
 === アプリケーションのサンプリング
@@ -186,13 +191,16 @@
 4. *「簡易(サンプリング)」*モードを選択します。
 5. 「フィルタ」ドロップダウン・リストから「*プロジェクト・クラスだけをプロファイル*」を選択します。「実行」をクリックします。
 
-*注意:*このフィルタは、インストゥルメント対象クラスをエンタープライズ・アプリケーション・プロジェクト内のクラスに限定します。フィルタされたクラスの一覧を表示するには、「*フィルタ値を表示*」をクリックします。
+NOTE: このフィルタは、インストゥルメント対象クラスをエンタープライズ・アプリケーション・プロジェクト内のクラスに限定します。フィルタされたクラスの一覧を表示するには、「*フィルタ値を表示*」をクリックします。
 
 image::images/sample-task.png[title="「プロファイリング・タスクの選択」ダイアログ・ボックスの「CPU」ペインで選択された「サンプル・アプリケーション」モード"]
 
 ダイアログ内の目盛りを見ると、オーバーヘッドが比較的小さいことがわかります。
 
-6. 「プロファイラ」ウィンドウの「プロファイリングのライブ結果」ボタンをクリックして、「プロファイリングのライブ結果」タブを開きます。
+
+[start=6]
+. 「プロファイラ」ウィンドウの「プロファイリングのライブ結果」ボタンをクリックして、「プロファイリングのライブ結果」タブを開きます。
+
 image::images/sample-task-results.png[title="「サンプル・アプリケーション」モードの結果"]
 
 「プロファイリングのライブ結果」タブで、 ``Servlet2Stateless`` クラス内のサーブレットの ``service`` メソッドの実行時間と、このメソッドが1回呼び出されたことを確認できます。
@@ -209,21 +217,27 @@
 3. 「プロファイリング・タスクの選択」ダイアログ・ボックスで「CPU」を選択します。
 4. *「詳細(インストゥルメント済)」*モードを選択します。
 5. 「フィルタ」ドロップダウン・リストから「*プロジェクト・クラスだけをプロファイル*」を選択します。「実行」をクリックします。
+
 image::images/advanced-cpu-task.png[title="「プロファイリング・タスクの選択」ダイアログ・ボックスの「CPU」ペインで選択された「アプリケーションをプロファイル」モード"]
 
 ダイアログ内の目盛りを見ると、オーバーヘッドが「簡易(サンプリング)」プロファイル・モードより大きいことがわかります。
 
-6. 「プロファイラ」ウィンドウの「プロファイリングのライブ結果」ボタンをクリックして、「プロファイリングのライブ結果」タブを開きます。
+
+[start=6]
+. 「プロファイラ」ウィンドウの「プロファイリングのライブ結果」ボタンをクリックして、「プロファイリングのライブ結果」タブを開きます。
 
 「プロファイリングのライブ結果」タブに ``Servlet2Stateless`` クラス内のサーブレットの ``init`` および ``service`` メソッドの実行時間が表示され、各メソッドが1回ずつ呼び出されたことを確認できます。 ``StatelessSessionBean`` クラス内の ``init`` メソッドも呼び出されました。
 
 image::images/cpu-pane1-results.png[title="「アプリケーションをプロファイル」モードの結果"]
 
-*注意:*デフォルトでは、自動リフレッシュ・モードがアクティブになっているため、表示されるデータは数秒ごとに更新されます。自動リフレッシュ・モードは、ツールバーの「自動リフレッシュ」ボタンをクリックすることでアクティブ化および非アクティブ化できます。
+NOTE: デフォルトでは、自動リフレッシュ・モードがアクティブになっているため、表示されるデータは数秒ごとに更新されます。自動リフレッシュ・モードは、ツールバーの「自動リフレッシュ」ボタンをクリックすることでアクティブ化および非アクティブ化できます。
 
 収集されるデータの読みやすさを向上させるため、「プロファイリングのライブ結果」ウィンドウのホット・スポット・ビューで結果フィルタを使用して、表示される結果をフィルタできます。結果フィルタは、結果の表示をフィルタするのみであり、インストゥルメントされるクラスには影響しません。結果フィルタを使用すると、定義されたパターン「で始まる」、「を含む」または「で終わる」結果がフィルタされます。より複雑な正規表現をフィルタリングに使用することもできます。データは、最初の結果表の列に表示されたとおりのパッケージ/クラス/メソッド名に基づいてフィルタされます。複数のパターンをスペースまたはカンマとスペースで区切って指定できます。
 
-7. Webブラウザで、フィールドに自分の名前を入力して「問合せを送信」をクリックします。
+
+[start=7]
+. Webブラウザで、フィールドに自分の名前を入力して「問合せを送信」をクリックします。
+
 image::images/cpu-pane1-results1.png[title="「アプリケーションをプロファイル」モードの結果"]
 
 「問合せを送信」をクリックすると、「プロファイリングのライブ結果」タブが更新され、Webブラウザでのアクションが反映されたことがわかります。ボタンのクリックにより、 ``StatelessSessionBean`` クラス内の ``sayHello`` メソッドが呼び出され、 ``init`` メソッドが再度呼び出されました。 ``Servlet2Stateless`` 内のサーブレットの ``service`` メソッドも再度呼び出されました。タブには、各メソッドに費やされた時間も表示されます。
@@ -247,7 +261,7 @@
 
 image::images/profileroot-sayhello-all.png[title="アプリケーション内のサーブレットで費やされた相対的な時間のドリルダウン・グラフ"]
 
-*注意: *より複雑なアプリケーションでは、複数のルート・メソッドを指定することもできます。個々のメソッド、クラス全体およびパッケージをプロファイリング・ルートとして選択できます。
+NOTE: より複雑なアプリケーションでは、複数のルート・メソッドを指定することもできます。個々のメソッド、クラス全体およびパッケージをプロファイリング・ルートとして選択できます。
 
 プロファイリング・ルートを指定してアプリケーションのパフォーマンスを解析するには、次の手順を実行します。
 
@@ -259,24 +273,34 @@
 
 アプリケーションの一部をプロファイルするには、最初にルート・メソッドを指定する必要があります。プロファイリング・ルートを選択することで、プロファイリングをプロファイリング・ルートに入っているスレッドによってコールされたメソッドに制限します。
 
-6. 「プロファイリング・ルートの編集」ダイアログ・ボックスの「ビューを選択」ドロップダウン・リストで、「Webアプリケーション・ビュー」を選択します。
-7. ServletStatelessノードを展開して、「サーブレット」パッケージ内の ``service`` メソッドを選択します。「OK」をクリックします。
+
+[start=6]
+. 「プロファイリング・ルートの編集」ダイアログ・ボックスの「ビューを選択」ドロップダウン・リストで、「Webアプリケーション・ビュー」を選択します。
+
+[start=7]
+. ServletStatelessノードを展開して、「サーブレット」パッケージ内の ``service`` メソッドを選択します。「OK」をクリックします。
 image::images/edit-profiling-roots.png[title="「プロファイリング・ルートの編集」ダイアログの「Webアプリケーション・ビュー」"]
 
 または、「パッケージ表示」を選択してアプリケーション内のすべてのソース・パッケージを表示し、 ``servlet.stateless`` パッケージに含まれる ``Servlet2Stateless`` クラスの ``service`` メソッドを選択することもできます。
 
 image::images/edit-profiling-roots-pkg.png[title="「プロファイリング・ルートの編集」ダイアログの「パッケージ表示」"]
 
-*注意:* ``Servlet2Stateless`` コンストラクタが選択されていないことに注意してください。「プロファイリング・ルートの編集」ダイアログを使用して、インストゥルメントをクラス内の特定のメソッドに制限できます。インストゥルメントを特定のメソッドに制限しない場合は、「パッケージ表示」を使用してクラスまたはパッケージ全体を選択できます。たとえば、「プロファイリング・ルートの編集」ダイアログ・ボックスの「パッケージ表示」で ``Servlet2Stateless`` クラスを選択すると、IDEは ``init`` コンストラクタと ``service`` メソッドをインストゥルメントします。
+NOTE:  ``Servlet2Stateless`` コンストラクタが選択されていないことに注意してください。「プロファイリング・ルートの編集」ダイアログを使用して、インストゥルメントをクラス内の特定のメソッドに制限できます。インストゥルメントを特定のメソッドに制限しない場合は、「パッケージ表示」を使用してクラスまたはパッケージ全体を選択できます。たとえば、「プロファイリング・ルートの編集」ダイアログ・ボックスの「パッケージ表示」で ``Servlet2Stateless`` クラスを選択すると、IDEは ``init`` コンストラクタと ``service`` メソッドをインストゥルメントします。
 
 「詳細」ボタンをクリックすると、「プロファイリング・ルートの編集(詳細)」ダイアログ・ボックスに ``service`` メソッドが唯一のルート・メソッドとして表示されることがわかります。「追加」をクリックし、メソッドの署名とクラスを入力することでメソッドを明示的に定義できます。
 
 image::images/edit-profilingroots-pkg-adv.png[title="「プロファイリング・ルートの編集(詳細)」ダイアログ"]
-8. 「プロファイリング・ルートの編集」ダイアログ・ボックスで「OK」をクリックします。
+
+
+[start=8]
+. 「プロファイリング・ルートの編集」ダイアログ・ボックスで「OK」をクリックします。
 
 「プロファイリング・タスクの選択」ダイアログ・ボックスで、詳細プロファイリング・モードがカスタム・プロファイリング・ルートを使用して実行されることを確認できます。「*編集*」をクリックすると、選択したルート・メソッドを表示および変更できます。これで、ルート・メソッドを指定しなかった場合に比べてプロファイリングのオーバーヘッドが小さくなりました。
 
-9. 「フィルタ」ドロップダウン・リストから「*プロジェクト・クラスだけをプロファイル*」を選択します。「実行」をクリックします。
+
+[start=9]
+. 「フィルタ」ドロップダウン・リストから「*プロジェクト・クラスだけをプロファイル*」を選択します。「実行」をクリックします。
+
 image::images/advanced-cpu-task-custom.png[title="カスタム・プロファイリング・ルート付きで選択された「アプリケーションをプロファイル」モード"]
 
 「実行」をクリックすると、IDEによってアプリケーションがビルドおよびデプロイされ、Webブラウザが開いてサーブレットのページが表示されます。
@@ -289,15 +313,23 @@
 
 アプリケーションはプロファイリング・ルートに入った後で他のメソッドに入っていますが、インストゥルメント・フィルタによってインストゥルメントがプロジェクトの一部のクラスに制限されているため、これらの他のメソッドは表示されません。
 
-10. Webブラウザで、フィールドに自分の名前を入力して「問合せを送信」をクリックします。
+
+[start=10]
+. Webブラウザで、フィールドに自分の名前を入力して「問合せを送信」をクリックします。
+
 image::images/cpu-pane2-results1.png[title="sayHelloメソッドの呼出し後にプロファイリング・ルートを使用してメソッドをインストゥルメントした結果"]
 
 「問合せを送信」をクリックすると、「プロファイリングのライブ結果」タブが更新され、Webブラウザでのアクションが反映されたことがわかります。ボタンのクリックにより、 ``StatelessSessionBean`` クラス内の ``sayHello`` メソッドが1回呼び出されました。 ``service`` メソッドも再度呼び出されました。
 
 結果には、アプリケーションのパフォーマンスが表示されますが、長期間実行されているアプリケーションのパフォーマンスが正確に表されていない可能性があります。より現実的な条件下でWebアプリケーションのパフォーマンスをエミュレートする1つの方法は、負荷ジェネレータ・スクリプトを実行することです。
 
-11. ブラウザで前のステップを数回繰り返してから、「プロファイリングのライブ結果」タブの「結果のリセット」をクリックして結果をクリアします。
-12. プロファイリング結果がリセットされたら、もう一度自分の名前を入力して「問合せを送信」をクリックします。
+
+[start=11]
+. ブラウザで前のステップを数回繰り返してから、「プロファイリングのライブ結果」タブの「結果のリセット」をクリックして結果をクリアします。
+
+[start=12]
+. プロファイリング結果がリセットされたら、もう一度自分の名前を入力して「問合せを送信」をクリックします。
+
 image::images/cpu-pane2-results2.png[title="sayHelloメソッドの呼出し後にプロファイリング・ルートを使用してメソッドをインストゥルメントした結果"]
 
 プロファイリング結果を見ると、ほとんどの場合、パフォーマンスが向上していることがわかります。
@@ -347,14 +379,25 @@
 
 1. 「プロファイラ」ウィンドウの「停止」ボタンをクリックして、以前のプロファイリング・セッションを停止します(まだ実行されている場合)。
 「停止」をクリックすると、IDEがアプリケーションからデタッチされます。
-2. メイン・メニューから「プロファイル」>「メイン・プロジェクトのプロファイル」を選択します。
-3. 「プロファイリング・タスクの選択」ダイアログ・ボックスで「*メモリー*」を選択します。
-4. *「詳細」*を選択します。
-5. *「完全なオブジェクト・ライフサイクルを記録」*を選択して、存続している世代に関するデータを取得します。
 
-*注意:*このオプションを選択すると、「オーバーヘッド」メーターが大幅に増加します。エンタープライズ・アプリケーションをプロファイリングするときは、収集されるデータ量のため、ほとんどの場合、IDE用のメモリーを増やす必要がありあります。
+[start=2]
+. メイン・メニューから「プロファイル」>「メイン・プロジェクトのプロファイル」を選択します。
 
-6. 「*定義済みプロファイリング・ポイントを使用*」を選択解除します(選択されている場合)。「実行」をクリックします。
+[start=3]
+. 「プロファイリング・タスクの選択」ダイアログ・ボックスで「*メモリー*」を選択します。
+
+[start=4]
+. *「詳細」*を選択します。
+
+[start=5]
+. *「完全なオブジェクト・ライフサイクルを記録」*を選択して、存続している世代に関するデータを取得します。
+
+NOTE: このオプションを選択すると、「オーバーヘッド」メーターが大幅に増加します。エンタープライズ・アプリケーションをプロファイリングするときは、収集されるデータ量のため、ほとんどの場合、IDE用のメモリーを増やす必要がありあります。
+
+
+[start=6]
+. 「*定義済みプロファイリング・ポイントを使用*」を選択解除します(選択されている場合)。「実行」をクリックします。
+
 image::images/profile-memory-advanced.png[title="「メモリー」タスクとオプションが表示された「プロファイリング・タスクの選択」ダイアログ"]
 
 「実行」をクリックすると、IDEによってアプリケーションがコンパイルされ、プロファイル・モードでサーバーが起動され、サーバーにアプリケーションがデプロイされます。プロファイリング結果を表示するには、「プロファイラ」ウィンドウ内の「ライブ結果」をクリックして「ライブ結果」ウィンドウを開きます。「ライブ結果」ウィンドウに、ターゲットJVMに割り当てられたオブジェクトのサイズと数に関する情報が表示されます。結果には、エンタープライズ・アプリケーションによって割り当てられたオブジェクトに加えて、アプリケーション・サーバーによって割り当てられたオブジェクトもすべて含まれています。
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee_pt_BR.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee_pt_BR.asciidoc
index cf39e54..1331756 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee_pt_BR.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee_pt_BR.asciidoc
@@ -40,9 +40,6 @@
 Se você estiver implantando uma aplicação em um Tomcat local registrado, GlassFish Server ou instalação JBoss, será possível determinar um perfil da aplicação com apenas alguns cliques e quase nenhuma configuração. O processo de determinação de perfil do projeto é muito parecido com o uso do comando Executar no IDE. Você poderá começar a determinar facilmente perfis de projetos de aplicações corporativas ou módulos Web e EJB individuais selecionando Perfil > Determinar Perfil do Projeto Principal no menu principal.
 
 
-image::images/netbeans-stamp-80-74-73.png[title="O conteúdo desta página se aplica ao NetBeans IDE 7.3, 7.4 e 8.0"]
-
-
 *Para seguir este tutorial, são necessários os recursos e o software a seguir.*
 
 |===
@@ -55,11 +52,12 @@
 |GlassFish Server |3.1, 4.0 
 |===
 
-*Observações.*
-
+[NOTE]
+====
 * Caso esteja usando um determinador de perfil pela primeira vez, é recomendada a leitura de link:../java/profiler-intro.html[+Introdução à Determinação de Perfil de aplicações Java no NetBeans IDE+], que fornece uma visão geral das tarefas de monitoramento e determinação de perfil.
 * Se você estiver usando o NetBeans IDE 7.2 ou anterior, consulte link:../../72/javaee/profiler-javaee.html[+Criando Perfis de Aplicações Corporativas no NetBeans IDE 7.2+]
 * Neste documento, você determinará um perfil de uma aplicação corporativa implantada no GlassFish Server. A configuração preferencial e mais fácil para a determinação de um perfil de uma aplicação Web ou corporativa durante o desenvolvimento é quando a aplicação está em execução em um servidor Tomcat, GlassFish ou JBoss local.
+====
 
 
 == Sobre a determinação de perfil de Aplicações Corporativas no IDE
@@ -115,10 +113,11 @@
 
 Quando você clicar em Finalizar, o IDE criará a amostra de projeto ServletStateless. Você pode ver o projeto ServletStateless na janela Projetos.
 
-*Observação.*
-
+[NOTE]
+====
 * Por default, quando se utiliza o IDE para determinar o perfil de um projeto, o IDE determinará o perfil do projeto selecionado na janela Projetos se mais de um projeto estiver aberto. Quando você selecionar Executar >Definir Projeto Principal no menu principal e definir um projeto como Projeto Principal, o Projeto Principal é determinado por defaut. Você pode clicar com o botão direito do mouse em um nó de projeto na janela Projetos e selecionar Perfil no menu pop-up.
 * Caso deseje determinar o perfil de um arquivo como uma página  ``.jsp``  ou um servlet, clique com o botão direito do mouse no arquivo e selecione Determinar o Perfil do Arquivo no menu pop-up. O comportamento é parecido com o de Determinar Perfil do Projeto (Principal), mas ao iniciar a sessão de determinação de perfil, a página web selecionada será aberta no browser em vez de na página web default do projeto.
+====
 
 
 == Monitorando a Aplicação
@@ -131,14 +130,20 @@
 
 Quando você definir o projeto como Projeto Principal, o nome do projeto estará em negrito na janela Projetos.
 
-2. Escolha Perfil > Perfil do Projeto Principal no menu principal.
 
-*Observação.* Selecione o JDK 1.7 ou JDK 1.8 caso seja solicitado a selecionar uma plataforma Java para determinação de perfil.
+[start=2]
+. Escolha Perfil > Perfil do Projeto Principal no menu principal.
 
-3. Selecione Monitorar na caixa de diálogo Selecionar Tarefa de Criação de Perfil.
-4. Clique em Executar.
+NOTE:  Selecione o JDK 1.7 ou JDK 1.8 caso seja solicitado a selecionar uma plataforma Java para determinação de perfil.
 
-*Observação.* Caso não tenha usado o determinador de perfil antes, você pode ser solicitado a calibrá-lo antes que possa clicar em Executar. Para obter mais informações sobre a calibração do determinador de perfil, consulte a seção link:../java/profiler-intro.html#calibrate[+Usando o Determinador de Perfil pela Primeira Vez+] na link:../java/profiler-intro.html[+Introdução à Determinação de Perfil de Aplicações Java no NetBeans IDE+].
+
+[start=3]
+. Selecione Monitorar na caixa de diálogo Selecionar Tarefa de Criação de Perfil.
+
+[start=4]
+. Clique em Executar.
+
+NOTE:  Caso não tenha usado o determinador de perfil antes, você pode ser solicitado a calibrá-lo antes que possa clicar em Executar. Para obter mais informações sobre a calibração do determinador de perfil, consulte a seção link:../java/profiler-intro.html#calibrate[+Usando o Determinador de Perfil pela Primeira Vez+] na link:../java/profiler-intro.html[+Introdução à Determinação de Perfil de Aplicações Java no NetBeans IDE+].
 
 Quando você clica em Executar, o IDE constrói a aplicação, inicia o servidor no modo de perfil e a implanta a aplicação no servidor. Em seguida, o IDE se liga à aplicação e inicia a recuperação de dados.
 
@@ -171,7 +176,7 @@
 * Normalmente, não existe o interesse em dados sobre listeners e filtros, então clique em Redefinir Resultados Coletados para limpar esses dados. Os primeiros dados utilizáveis serão coletados após algum código ser chamado como um resultado de alguma ação no browser, normalmente exibindo uma página JSP que usa JavaBeans e/ou tags personalizadas ou processando o método  ``doGet`` / ``doPost``  do servlet. Observe que os dados coletados quando a aplicação é inicializada pela primeira vez, frequentemente, representam somente o comportamento de inicialização da aplicação Web.
 * Se uma página JSP estiver sendo exibida pela primeira vez, ela é compilada internamente no servlet pelo servidor, o que afeta a árvore de chamadas e o tempo dos métodos. Além disso, o comportamento dos servlets e de outro código da aplicação pode ser levemente diferente durante a primeira execução do que em um ambiente de produção verdadeiro, onde a aplicação está em constante execução. Para obter os dados de determinação de perfil que melhor representem o desempenho verdadeiro da aplicação, você deve gerar alguma carga de trabalho no código de perfil determinado antes de medir qualquer tempo (árvores de chamadas não devem ser afetadas por isso). É possível utilizar geradores de carga para ajudá-lo com isso. (Para saber mais, consulte link:../java/profile-loadgenerator.html[+Usando um Gerador de Carga no NetBeans IDE+]). A capacidade de cache de diversos browsers também pode impactar o desempenho.
 
-*Observação.* Se você criar o perfil de aplicações web no servidor de aplicações GlassFish em uma máquina Windows, a inicialização do servidor para criação de perfil poderá falhar se o NetBeans IDE estiver instalado em um caminho que contenha espaços (como a instalação padrão em  ``C:\Program Files\netbeans-7.4`` ). A solução é instalar/copiar o diretório de instalação do NetBeans IDE em um local que não contenha espaços no caminho (como  ``C:\netbeans-7.4`` ).
+NOTE:  Se você criar o perfil de aplicações web no servidor de aplicações GlassFish em uma máquina Windows, a inicialização do servidor para criação de perfil poderá falhar se o NetBeans IDE estiver instalado em um caminho que contenha espaços (como a instalação padrão em  ``C:\Program Files\netbeans-7.4`` ). A solução é instalar/copiar o diretório de instalação do NetBeans IDE em um local que não contenha espaços no caminho (como  ``C:\netbeans-7.4`` ).
 
 
 === Amostragem da Aplicação
@@ -186,13 +191,16 @@
 4. Selecione o modo *Rápido (usado como exemplo)*.
 5. Selecione *Determinar Perfil somente das classes do projeto* na lista drop-down do Filtro. Clique em Executar.
 
-*Observação.* Este filtro limita as classes instrumentadas para as classes encontradas no projeto de aplicação corporativa. Clique em *Exibir valor do filtro* para visualizar uma lista das classes filtradas.
+NOTE:  Este filtro limita as classes instrumentadas para as classes encontradas no projeto de aplicação corporativa. Clique em *Exibir valor do filtro* para visualizar uma lista das classes filtradas.
 
 image::images/sample-task.png[title="Modo de Amostra de Aplicação selecionado no painel da CPU da caixa de diálogo Selecionar Tarefa de Determinação de Perfil"]
 
 Observe na escala da caixa de diálogo que a sobrecarga estará relativamente baixa.
 
-6. Clique no botão Resultados da Determinação Ao Vivo de Perfil na janela Determinador de Perfil para abrir a guia Resultados da Determinação Ao Vivo de Perfil.
+
+[start=6]
+. Clique no botão Resultados da Determinação Ao Vivo de Perfil na janela Determinador de Perfil para abrir a guia Resultados da Determinação Ao Vivo de Perfil.
+
 image::images/sample-task-results.png[title="Modo dos Resultados Amostragem da Aplicação"]
 
 Na guia Resultados da Determinação Ao Vivo de Perfil, pode ser observado o runtime do método  ``serviço``  para o servlet na classe  ``Servlet2Stateless``  e que o método foi chamado uma única vez.
@@ -209,21 +217,27 @@
 3. Selecione CPU na caixa de diálogo Selecionar Tarefa de Criação de Perfil.
 4. Selecione o modo *Avançado (instrumentado)*.
 5. Selecione *Determinar Perfil somente das classes do projeto* na lista drop-down do Filtro. Clique em Executar.
+
 image::images/advanced-cpu-task.png[title="Modo de Determinação de Perfil da Aplicação selecionado no painel da CPU da caixa de diálogo Selecionar Tarefa de Determinação de Perfil"]
 
 Observe na escala na caixa de diálogo que a sobrecarga estará maior que no modo Rápido da aplicação.
 
-6. Clique no botão Resultados da Determinação Ao Vivo de Perfil na janela Determinador de Perfil para abrir a guia Resultados da Determinação Ao Vivo de Perfil.
+
+[start=6]
+. Clique no botão Resultados da Determinação Ao Vivo de Perfil na janela Determinador de Perfil para abrir a guia Resultados da Determinação Ao Vivo de Perfil.
 
 É possível ver que a guia Resultados da Determinação Ao Vivo de Perfil exibe o runtime dos métodos  ``init``  e  ``serviço``  para o servlet na classe  ``Servlet2Stateless``  e que cada método foi chamado uma única vez. O método  ``init``  na classe  ``StatelessSessionBean``  também foi chamado.
 
 image::images/cpu-pane1-results.png[title="Modo dos Resultados de Determinação de Perfil da Aplicação"]
 
-*Observação.* Por defaut, o modo de atualização automática está ativo para que os dados exibidos sejam atualizados continuamente, a cada poucos segundos. É possível ativar e desativar o modo de atualização automática clicando no botão Atualização Automática na barra de ferramentas.
+NOTE:  Por defaut, o modo de atualização automática está ativo para que os dados exibidos sejam atualizados continuamente, a cada poucos segundos. É possível ativar e desativar o modo de atualização automática clicando no botão Atualização Automática na barra de ferramentas.
 
 Para melhorar a legibilidade dos dados coletados, é possível usar o filtro Resultados, na exibição de Hot Spots da janela Resultados da Determinação Ao Vivo de Perfil, para filtrar os resultados exibidos. O filtro Resultados filtra apenas a exibição dos resultados e não afeta as classes que são instrumentadas. Quando você usa o filtro Resultados, os resultados que iniciam com, contêm ou terminam com um padrão definido são filtrados. Também é possível usar expressões regulares mais complexas para filtragem. Os dados são filtrados com base nos nomes de pacote/classe/método exatamente como eles aparecem na primeira coluna da tabela de resultados. Mais de um padrão pode ser especificado, separando os padrões por um espaço ou uma vírgula com espaço.
 
-7. No browser, digite seu nome no campo e clique em Enviar Consulta.
+
+[start=7]
+. No browser, digite seu nome no campo e clique em Enviar Consulta.
+
 image::images/cpu-pane1-results1.png[title="Modo dos Resultados de Determinação de Perfil da Aplicação"]
 
 Ao clicar em Enviar Consulta, você poderá ver que a guia Resultados da Determinação Ao Vivo de Perfil é atualizada para refletir a ação no browser. O clique no botão chamou o método  ``sayHello``  na classe  ``StatelessSessionBean``  e chamou o método  ``init``  novamente. O método  ``serviço``  do servlet na classe  ``Servlet2Stateless``  também foi chamado novamente. A guia também exibe quanto tempo foi gasto em cada um dos métodos.
@@ -247,7 +261,7 @@
 
 image::images/profileroot-sayhello-all.png[title="Gráfico de Análise Detalhada do tempo relativo gasto em servlets na aplicação"]
 
-*Observação:* Em uma aplicação mais complexa, talvez seja melhor especificar vários métodos raiz. É possível selecionar métodos individuais, classes inteiras ou pacotes como raiz de determinação de perfil.
+NOTE:  Em uma aplicação mais complexa, talvez seja melhor especificar vários métodos raiz. É possível selecionar métodos individuais, classes inteiras ou pacotes como raiz de determinação de perfil.
 
 Para especificar uma raiz de determinação de perfil e analisar o desempenho da aplicação, execute as etapas a seguir.
 
@@ -259,24 +273,35 @@
 
 Para determinar o perfil de parte de uma aplicação, é necessário primeiro especificar os métodos raiz. Ao selecionar a raiz da determinação de perfil, você limita a determinação de perfis aos métodos chamados pelo thread inserindo a raiz de determinação de perfil.
 
-6. Na caixa de diálogo Editar Raízes da Determinação de Perfil, selecione Exibir Aplicação Web na lista drop-down Selecionar Exibição.
-7. Expanda o nó do ServletStateless e selecione o método  ``serviço``  no pacote Servlets. Clique em OK.
+
+[start=6]
+. Na caixa de diálogo Editar Raízes da Determinação de Perfil, selecione Exibir Aplicação Web na lista drop-down Selecionar Exibição.
+
+[start=7]
+. Expanda o nó do ServletStateless e selecione o método  ``serviço``  no pacote Servlets. Clique em OK.
+
 image::images/edit-profiling-roots.png[title="Exibir Aplicação Web na caixa de diálogo Editar Raízes de Determinação de Perfil"]
 
 Como alternativa, é possível selecionar Exibir Pacote para exibir todos os pacotes de códigos-fonte na aplicação e selecionar o método  ``service``  na classe  ``Servlet2Stateless``  no pacote  ``servlet.stateless`` .
 
 image::images/edit-profiling-roots-pkg.png[title="Exibir Pacote na caixa de diálogo Editar Raízes de Determinação de Perfil"]
 
-*Observação.* Observe que o construtor  ``servlet2stateless``  não está selecionado. É possível usar a caixa de diálogo Editar Raízes da Determinação de Perfil para limitar a instrumentação a métodos específicos em uma classe. Caso não queira limitar a instrumentação para métodos específicos, use a Exibição de Pacote para selecionar uma classe ou um pacote inteiro. Por exemplo, se você selecionar a classe  ``Servlet2Stateless``  em Exibir Pacote da caixa de diálogo Editar Raízes da Determinação de Perfil, o IDE instrumentará o construtor  ``init``  e o método  ``service`` .
+NOTE:  Observe que o construtor  ``servlet2stateless``  não está selecionado. É possível usar a caixa de diálogo Editar Raízes da Determinação de Perfil para limitar a instrumentação a métodos específicos em uma classe. Caso não queira limitar a instrumentação para métodos específicos, use a Exibição de Pacote para selecionar uma classe ou um pacote inteiro. Por exemplo, se você selecionar a classe  ``Servlet2Stateless``  em Exibir Pacote da caixa de diálogo Editar Raízes da Determinação de Perfil, o IDE instrumentará o construtor  ``init``  e o método  ``service`` .
 
 Ao clicar no botão Avançado, você poderá ver que o método  ``serviço``  está listado como o único método raiz na caixa de diálogo Editar Raízes da Determinação de Perfil (Avançado). Clique em Adicionar para definir explicitamente um método digitando a assinatura e classe do método.
 
 image::images/edit-profilingroots-pkg-adv.png[title="Caixa de diálogo Editar Raízes de Determinação de Perfil (Avançado)"]
-8. Clique em OK na caixa de diálogo Editar Raízes de Determinação de Perfil.
+
+
+[start=8]
+. Clique em OK na caixa de diálogo Editar Raízes de Determinação de Perfil.
 
 Na caixa de diálogo Selecionar Tarefa de Determinação de Perfil, você pode ver que o modo Avançado de determinação de perfil será executado usando raízes personalizadas de determinação de perfil. É possível clicar em *editar* para visualizar e modificar o método raiz selecionado. Observe que a sobrecarga da determinação de perfil agora é menor do que quando nenhum método raiz foi especificado.
 
-9. Selecione *Determinar Perfil somente das classes do projeto* na lista drop-down do Filtro. Clique em Executar.
+
+[start=9]
+. Selecione *Determinar Perfil somente das classes do projeto* na lista drop-down do Filtro. Clique em Executar.
+
 image::images/advanced-cpu-task-custom.png[title="Modo de Perfil da Aplicação selecionado com uma raiz de determinação de perfil personalizada"]
 
 Quando você clica em Executar, o IDE constrói e implanta a aplicação e abre o browser da Web na página do servlet.
@@ -289,15 +314,23 @@
 
 Embora a aplicação tenha inserido outros métodos após inserir a raiz de determinação de perfil, esses outros métodos não são exibidos, pois o filtro de instrumentação limita a instrumentação para classes que são parte do projeto.
 
-10. No browser, digite seu nome no campo e clique em Enviar Consulta.
+
+[start=10]
+. No browser, digite seu nome no campo e clique em Enviar Consulta.
+
 image::images/cpu-pane2-results1.png[title="Resultados de métodos de instrumentação utilizando uma raiz de determinação de perfil após chamar o método sayHello"]
 
 Ao clicar em Enviar Consulta, você poderá ver que a guia Resultados da Determinação Ao Vivo de Perfil é atualizada para refletir a ação no browser. Clicar no botão chamou o método  ``sayHello``  na classe  ``StatelessSessionBean``  uma única vez. O método  ``serviço``  também foi chamado novamente.
 
 Os resultados exibem o desempenho da aplicação, mas podem não representar precisamente o desempenho de uma aplicação que vem sendo executada há algum tempo. Uma maneira de emular o desempenho de uma aplicação Web em condições mais realistas é executar um script gerador de carga.
 
-11. Repita a etapa anterior algumas vezes no browser e clique em Redefinir Resultados na guia Resultados da Determinação Ao Vivo de Perfil para limpar os resultados.
-12. Depois que os resultados de determinação de perfil forem redefinidos, digite seu nome e clique em Enviar Consulta mais uma vez.
+
+[start=11]
+. Repita a etapa anterior algumas vezes no browser e clique em Redefinir Resultados na guia Resultados da Determinação Ao Vivo de Perfil para limpar os resultados.
+
+[start=12]
+. Depois que os resultados de determinação de perfil forem redefinidos, digite seu nome e clique em Enviar Consulta mais uma vez.
+
 image::images/cpu-pane2-results2.png[title="Resultados de métodos de instrumentação utilizando uma raiz de determinação de perfil após chamar o método sayHello"]
 
 Se você olhar os resultados de determinação de perfil, em muitos casos, verá que o desempenho melhorou.
@@ -347,14 +380,25 @@
 
 1. Pare a sessão anterior de determinação de perfil (se ainda estiver em execução) clicando no botão Parar na janela Determinação de Perfil.
 Quando você clica em Parar, o IDE se desconecta da aplicação.
-2. Escolha Perfil > Perfil do Projeto Principal no menu principal.
-3. Selecione *Memória* na caixa de diálogo Selecionar Tarefa de Determinação de Perfil.
-4. Selecione *Avançado*.
-5. Selecione *Registrar ciclo de vida completo do objeto* para obter dados sobre gerações sobreviventes.
 
-*Observação.* Se selecionar essa opção, você notará que o medidor de Sobrecarga aumentará consideravelmente. Ao determinar o perfil da aplicação corporativa, pode ser que você precise aumentar a memória do IDE, devido à quantidade de dados coletados.
+[start=2]
+. Escolha Perfil > Perfil do Projeto Principal no menu principal.
 
-6. Desmarque a seleção de *Usar Pontos de Determinação de Perfil definidos* (se selecionado). Clique em Executar.
+[start=3]
+. Selecione *Memória* na caixa de diálogo Selecionar Tarefa de Determinação de Perfil.
+
+[start=4]
+. Selecione *Avançado*.
+
+[start=5]
+. Selecione *Registrar ciclo de vida completo do objeto* para obter dados sobre gerações sobreviventes.
+
+NOTE:  Se selecionar essa opção, você notará que o medidor de Sobrecarga aumentará consideravelmente. Ao determinar o perfil da aplicação corporativa, pode ser que você precise aumentar a memória do IDE, devido à quantidade de dados coletados.
+
+
+[start=6]
+. Desmarque a seleção de *Usar Pontos de Determinação de Perfil definidos* (se selecionado). Clique em Executar.
+
 image::images/profile-memory-advanced.png[title="Caixa de diálogo Selecionar Tarefa de Determinação de Perfil diálogo mostrando tarefas e opções de Memória"]
 
 Quando você clica em Executar, o IDE compila a aplicação, inicia o servidor no modo de perfil e a implanta a aplicação no servidor. Para exibir os resultados da criação de perfil, clique em Resultados em tempo real na janela Criador de Perfil para abrir a janela Resultados em Tempo Real. A janela Resultados Ao Vivo exibe informações sobre o tamanho e o número de objetos que estão alocados no JVM de destino. Além dos objetos alocados pela aplicação corporativa, os resultados também incluem todos os objetos alocados pelo servidor de aplicações.
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee_ru.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee_ru.asciidoc
index 1982fef..471d1e9 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee_ru.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee_ru.asciidoc
@@ -40,8 +40,6 @@
 При развертывании приложения на локальном зарегистрированном сервере Tomcat, сервере GlassFish или установке JBoss приложение можно профилировать всего лишь несколькими нажатиями кнопок мыши и почти не настраивая. Процесс профилирования проекта очень похож на использование команды "Выполнить" в среде IDE. Можно с легкостью начать профилирование проектов приложений или отдельных веб-модулей и модулей EJB, выбрав пункт "Профиль" > "Профилировать главный проект" главного меню.
 
 
-image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.3, 7.4 и 8.0"]
-
 * Создание примера проекта
 
 *Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.*
@@ -56,11 +54,12 @@
 |Сервер GlassFish |3.1, 4.0 
 |===
 
-*Примечания.*
-
+[NOTE]
+====
 * При первом использовании профилировщика рекомендуется ознакомиться с разделом link:../java/profiler-intro.html[+Введение в профилирование приложений Java в IDE NetBeans+], который содержит обзор задач отслеживания и профилирования.
 * Если используется IDE NetBeans 7.2 или более ранняя версия, см. раздел link:../../72/javaee/profiler-javaee.html[+Профилирование корпоративных приложений в IDE NetBeans 7.2+]
 * В этом документе говорится о профилировании корпоративного приложения, развернутого на сервере GlassFish. Предпочтительная и самая простая настройка профилирования во время разработки корпоративных или веб-приложений — запуск приложения на локальных серверах Tomcat, GlassFish или JBoss.
+====
 
 
 == О профилировании приложений в среде IDE
@@ -116,10 +115,11 @@
 
 После нажатия кнопки "Готово" среда IDE создает демонстрационный проект ServletStateless. Проект ServletStateless отображается в окне 'Проекты'.
 
-*Примечание.*
-
+[NOTE]
+====
 * По умолчанию, при использовании среды IDE для профилирования проекта, IDE выполнит профилирование проекта, выбранного в окне 'Проекты', если открыто более одного проекта. Если выбрать 'Выполнить' > 'Задать главный проект' в главном меню и задать проект как главный, то профилирование главного проекта выполняется по умолчанию. Можно щелкнуть правой кнопкой мыши узео проекта в окне 'Проекты' и выбрать 'Профиль' во всплывающем меню.
 * Если необходимо выполнить профилирование такого файла, как страница  ``.jsp``  или сервлет, щелкните правой кнопкой мыши файл и выберите 'Профилировать файл' во всплывающем меню. Процесс профилирования такой же, как при выборе "Профилирование главного проекта", но при запуске сессии профилирования в браузере откроется выбранная страница вместо страницы проекта по умолчанию.
+====
 
 
 == Наблюдение за приложением
@@ -132,14 +132,20 @@
 
 При настройке проекта как главного, имя проекта будет выделено полужирным в окне 'Проекты'.
 
-2. Выберите "Профиль > Профилировать главный проект" в главном меню.
 
-*Примечание.* Выберите JDK 1.7 или JDK 1.8 при отображении запроса на выбор платформы Java для профилирования.
+[start=2]
+. Выберите "Профиль > Профилировать главный проект" в главном меню.
 
-3. Выберите "Наблюдение" в диалоговом окне "Выбор задачи профилирования".
-4. Нажмите кнопку "Выполнить".
+NOTE:  Выберите JDK 1.7 или JDK 1.8 при отображении запроса на выбор платформы Java для профилирования.
 
-*Примечание.* Если средство профилирования не использовалось ранее, может быть отображен запрос на калибровку средства профилирования до выбора 'Выполнить'. Дополнительные сведения о калибровке профилировщика см. раздел link:../java/profiler-intro.html#calibrate[+Первое использование профилировщика+] в link:../java/profiler-intro.html[+Введение в профилирование приложений Java в IDE NetBeans+].
+
+[start=3]
+. Выберите "Наблюдение" в диалоговом окне "Выбор задачи профилирования".
+
+[start=4]
+. Нажмите кнопку "Выполнить".
+
+NOTE:  Если средство профилирования не использовалось ранее, может быть отображен запрос на калибровку средства профилирования до выбора 'Выполнить'. Дополнительные сведения о калибровке профилировщика см. раздел link:../java/profiler-intro.html#calibrate[+Первое использование профилировщика+] в link:../java/profiler-intro.html[+Введение в профилирование приложений Java в IDE NetBeans+].
 
 По кнопке "Выполнить" среда IDE собирает приложение, запускает сервер в режиме профилирования, а затем разворачивает приложение на сервере. Затем среда IDE прикрепляется к приложению и запускает извлечение данных.
 
@@ -172,7 +178,7 @@
 * Обычно данные прослушивателей и фильтров не бывают интересными, поэтому для их удаления можно нажать кнопку "Сбросить собранные результаты". Первые полезные данные собираются после того, как в результате некоторого действия в веб-браузере вызывается некоторый код, обычно это отображение страницы JSP, которая использует JavaBeans и/или избранные теги, или обработка методов  ``doGet`` / ``doPost``  сервлета. Следует отметить, что данные, которые собираются при первом запуске приложения, обычно отражают только поведение веб-приложения при запуске.
 * Если страница JSP отображается впервые, она сервером внутренне компилируется в сервлет, что влияет на дерево вызовов и подсчет времени обработки метода. К тому же поведение кода сервлетов и других приложений при первом запуске может слегка отличаться от их поведения при производственной эксплуатации, когда они запущены постоянно. Для получения данных измерений, которые бы лучше характеризовали производительность приложения, перед измерением любых временных показателей следует увеличить рабочую нагрузку на профилируемый код (не должно повлиять на деревья вызовов). Для увеличения рабочей нагрузки можно использовать генераторы нагрузки. (Дополниетльные сведения см. в разделе link:../java/profile-loadgenerator.html[+Использование генератора нагрузки в IDE NetBeans+]). Средства кэширования у различных браузеров также могут повлиять на производительность.
 
-*Примечание.* При профилировании веб-приложений на сервере приложений GlassFish на компьютере под управлением Windows при запуске сервера для профилирования может произойти ошибка, если путь установки IDE NetBeans содержит пробелы (как например при установке в каталог по умолчанию  ``C:\Program Files\netbeans-7.4`` ). В качестве временного решения можно установить или скопировать каталог установки IDE NetBeans в местоположение, путь к которому не содержит пробелов (например,  ``C:\netbeans-7.4`` ).
+NOTE:  При профилировании веб-приложений на сервере приложений GlassFish на компьютере под управлением Windows при запуске сервера для профилирования может произойти ошибка, если путь установки IDE NetBeans содержит пробелы (как например при установке в каталог по умолчанию  ``C:\Program Files\netbeans-7.4`` ). В качестве временного решения можно установить или скопировать каталог установки IDE NetBeans в местоположение, путь к которому не содержит пробелов (например,  ``C:\netbeans-7.4`` ).
 
 
 === Опрос приложения
@@ -187,13 +193,16 @@
 4. Выберите режим *Быстрый (образец)*.
 5. Выберите *Профилировать только классы проекта* из раскрывающегося списка фильтров. Нажмите кнопку "Выполнить".
 
-*Примечание.* Этот фильтр ограничит классы, инструментированные для классов, найденных в проекте корпоративного приложения. Нажмите кнопку *Показать значение фильтра*, чтобы увидеть список отфильтрованных классов.
+NOTE:  Этот фильтр ограничит классы, инструментированные для классов, найденных в проекте корпоративного приложения. Нажмите кнопку *Показать значение фильтра*, чтобы увидеть список отфильтрованных классов.
 
 image::images/sample-task.png[title="Режим образца приложения выбран на панели ЦП диалогового окна 'Выбор задачи профилирования'"]
 
 По шкале в диалоговом окне можно заметить, что трата системных ресурсов относительно невысока.
 
-6. Нажмите кнопку "Текущие результаты профилирования" в окне "Профилирование", чтобы открыть вкладку текущих результатов профилирования.
+
+[start=6]
+. Нажмите кнопку "Текущие результаты профилирования" в окне "Профилирование", чтобы открыть вкладку текущих результатов профилирования.
+
 image::images/sample-task-results.png[title="Результаты режима 'Образцы приложений'"]
 
 На вкладке "Текущие результаты профилирования" показано время выполнения метода  ``service``  для сервлета из класса  ``Servlet2Stateless``  и то, что метод был вызван один раз.
@@ -210,21 +219,27 @@
 3. Выберите "ЦП" в диалоговом окне "Выбор задачи профилирования".
 4. Выберите режим *Расширенный (инструментарий)*.
 5. Выберите *Профилировать только классы проекта* из раскрывающегося списка фильтров. Нажмите кнопку "Выполнить".
+
 image::images/advanced-cpu-task.png[title="Режим профилирования приложения выбран на панели ЦП диалогового окна 'Выбор задачи профилирования'"]
 
 По шкале в диалоговом окне можно заметить, что трата системных ресурсов выше, чем в режиме быстрого профилирования.
 
-6. Нажмите кнопку "Текущие результаты профилирования" в окне "Профилирование", чтобы открыть вкладку текущих результатов профилирования.
+
+[start=6]
+. Нажмите кнопку "Текущие результаты профилирования" в окне "Профилирование", чтобы открыть вкладку текущих результатов профилирования.
 
 На вкладке "Текущие результаты профилирования" показано время выполнения методов  ``init``  и  ``service``  для сервлета из класса  ``Servlet2Stateless`` , и то, что каждый из методов был вызван один раз. Метод  ``init``  в классе  ``StatelessSessionBean`` также был вызван.
 
 image::images/cpu-pane1-results.png[title="Результаты режима 'Профилирование приложений'"]
 
-*Примечание.* По умолчанию режим автоматического обновления активен, что обеспечивает обновление отображаемых данных каждые несколько секунд. Можно включать или отключать режим автоматического обновления, нажав кнопку "Автообновление" на панели инструментов.
+NOTE:  По умолчанию режим автоматического обновления активен, что обеспечивает обновление отображаемых данных каждые несколько секунд. Можно включать или отключать режим автоматического обновления, нажав кнопку "Автообновление" на панели инструментов.
 
 Для повышения удобочитаемости собранные данные можно фильтровать, используя фильтр "Результаты" в списке "Просмотр горячих точек" окна "Текущие результаты профилирования". Фильтр "Результаты" формирует выборку только по результатам и не затрагивает обрабатываемые классы. Используя фильтр "Результаты", можно отбирать результаты, которые соответствуют определенному шаблону. Для фильтрации можно использовать также более сложные регулярные выражения. Данные фильтруются по именам пакетов/классов/методов, в точности, как они появляются в первой колонке таблицы результатов. Можно определить более, чем один шаблон фильтрации, разделяя их пробелом или точкой с пробелом.
 
-7. Введите свое имя в поле в веб-браузере и нажмите "Отправить запрос".
+
+[start=7]
+. Введите свое имя в поле в веб-браузере и нажмите "Отправить запрос".
+
 image::images/cpu-pane1-results1.png[title="Результаты режима 'Профилирование приложений'"]
 
 По нажатию кнопки "Отправить запрос"данные на вкладке "Текущие результаты профилирования" обновляются для отражения действий в веб-браузере. Нажатие кнопки запускает метод  ``sayHello``  в классе  ``StatelessSessionBean``  и вновь вызывает метод  ``init`` .  ``Служебный``  метод для сервлета из  ``Servlet2Stateless``  также был вызван вновь. Вкладка "Текущие результаты профилирования" также показывает, сколько времени было затрачено в каждом из методов.
@@ -248,7 +263,7 @@
 
 image::images/profileroot-sayhello-all.png[title="График перехода по иерархии относительного времени, потраченного в сервлетах в приложении"]
 
-*Примечание.* В более комплексных приложениях может потребоваться указание нескольких корневых методов. В качестве корней профилирования можно выбрать отдельные методы, целые классы и пакеты.
+NOTE:  В более комплексных приложениях может потребоваться указание нескольких корневых методов. В качестве корней профилирования можно выбрать отдельные методы, целые классы и пакеты.
 
 Чтобы указать корень профилирования и проанализировать производительность приложения, выполните следующие действия.
 
@@ -260,24 +275,35 @@
 
 Чтобы профилировать часть приложения необходимо сначала определить корневые методы. После выбора корневого метода профилирование будет применяться только к тем методам, которые вызываются потоком, входящим в корень профилирования.
 
-6. В диалоговом окне "Изменить корневые методы профилирования" выберите "Вид веб-приложения" в раскрывающемся списке "Выбрать вид".
-7. Разверните узел ServletStateless и выберите метод  ``service``  в пакете сервлетов. Нажмите кнопку "ОК".
+
+[start=6]
+. В диалоговом окне "Изменить корневые методы профилирования" выберите "Вид веб-приложения" в раскрывающемся списке "Выбрать вид".
+
+[start=7]
+. Разверните узел ServletStateless и выберите метод  ``service``  в пакете сервлетов. Нажмите кнопку "ОК".
+
 image::images/edit-profiling-roots.png[title="Представление веб-приложения в диалоговом окне 'Изменение корневых методов профилирования'"]
 
 В противном случае можно выбрать "Просмотр пакета", чтобы увидеть все исходные пакеты приложения и выбрать метод  ``service``  из класса  ``Servlet2Stateless``  пакета  ``servlet.stateless`` .
 
 image::images/edit-profiling-roots-pkg.png[title="Представление пакета в диалоговом окне 'Изменение корневых методов профилирования'"]
 
-*Примечание.* Обратите внимание, что конструктор  ``Servlet2Stateless``  не выбран. Диалог "Изменить корневые методы профилирования" используется, чтобы применять инструментирование только к определенным методам класса. Если нет необходимости применять инструментирование только к определенным методам, можно использовать представление пакетов, чтобы выбрать весь класс или пакет. Например, если выбрать класс  ``Servlet2Stateless``  в представлении пактов диалога "Изменить корневые методы профилирования", среда IDE инструментирует конструктор  ``init``  и метод  ``service`` .
+NOTE:  Обратите внимание, что конструктор  ``Servlet2Stateless``  не выбран. Диалог "Изменить корневые методы профилирования" используется, чтобы применять инструментирование только к определенным методам класса. Если нет необходимости применять инструментирование только к определенным методам, можно использовать представление пакетов, чтобы выбрать весь класс или пакет. Например, если выбрать класс  ``Servlet2Stateless``  в представлении пактов диалога "Изменить корневые методы профилирования", среда IDE инструментирует конструктор  ``init``  и метод  ``service`` .
 
 Если нажать кнопку "Дополнительно", можно увидеть, что метод  ``service``  представлен в диалоговом окне "Изменить корневые методы профилирования (Дополнительно)", как единственный корневой метод. Чтобы явно определить метод, добавив ему подпись и класс, нажмите кнопку "Добавить".
 
 image::images/edit-profilingroots-pkg-adv.png[title="Диалоговое окно 'Изменение корневых методов профилирования' (Расширенное)"]
-8. Нажмите кнопку "ОК" в диалоговом окне "Изменить корневые методы профилирования".
+
+
+[start=8]
+. Нажмите кнопку "ОК" в диалоговом окне "Изменить корневые методы профилирования".
 
 В диалоговом окне "Выбрать задачу профилирования" видно, что режим расширенного профилирования будет запущен с помощью специальных корневых методов профилирования. Чтобы просмотреть и изменить выбранный корневой метод нажмите *Изменить*. Заметим, что затраты системных ресурсов после этих действий ниже, чем была до настройки корневых методов.
 
-9. Выберите *Профилировать только классы проекта* из раскрывающегося списка фильтров. Нажмите кнопку "Выполнить".
+
+[start=9]
+. Выберите *Профилировать только классы проекта* из раскрывающегося списка фильтров. Нажмите кнопку "Выполнить".
+
 image::images/advanced-cpu-task-custom.png[title="Режим профилирования приложения выбран с нестандартным корнем профилирования"]
 
 При нажатии кнопки "Запустить" среда IDE собирает и разворачивает приложение и открывает в веб-браузере страницу сервлета.
@@ -290,15 +316,23 @@
 
 Хотя поток приложения выполнил вход в другие методы после входа в корень профилирования, эти методы не отображаются, поскольку фильтр инструментирования отбирает для инструментирования только те классы, которые являются частью проекта.
 
-10. Введите свое имя в поле в веб-браузере и нажмите "Отправить запрос".
+
+[start=10]
+. Введите свое имя в поле в веб-браузере и нажмите "Отправить запрос".
+
 image::images/cpu-pane2-results1.png[title="Результаты методов инструментирования с использованием корня профилирования после вызова метода sayHello"]
 
 По нажатию кнопки "Отправить запрос"данные на вкладке "Текущие результаты профилирования" обновляются для отражения действий в веб-браузере. Нажатие кнопки вызывает метод  ``sayHello``  класса  ``StatelessSessionBean``  один раз. Метод  ``service``  также заново вызывается.
 
 Результирующие данные, которые отражают производительность приложения, могут не совсем точно описывать производительность приложения, работающего уже некоторое время. Один из способов сымитировать поведение веб-приложения в более реальных условиях — запустить сценарий генератора загрузки.
 
-11. Повторите в браузере предыдущее действие несколько раз, затем нажмите "Сбросить результаты" на вкладке "Текущие результаты профилирования" для удаления результатов.
-12. После сброса результатов профилирования введите свое имя и нажмите "Отправить запрос" еще раз.
+
+[start=11]
+. Повторите в браузере предыдущее действие несколько раз, затем нажмите "Сбросить результаты" на вкладке "Текущие результаты профилирования" для удаления результатов.
+
+[start=12]
+. После сброса результатов профилирования введите свое имя и нажмите "Отправить запрос" еще раз.
+
 image::images/cpu-pane2-results2.png[title="Результаты методов инструментирования с использованием корня профилирования после вызова метода sayHello"]
 
 При взгляде на результаты профилирования в большинстве случаев заметно, что производительность приложения улучшилась.
@@ -348,14 +382,25 @@
 
 1. Остановите предыдущие сессии профилирования (если они все еще запущены), нажав кнопку "Завершить" в окне "Профилирование".
 При нажатии "Остановить" среда IDE отсоединяется от приложения.
-2. Выберите "Профиль > Профилировать главный проект" в главном меню.
-3. Выберите *Память* в диалоговом окне "Выбрать задачу профилирования".
-4. Выберите *Дополнительно*.
-5. Выберите *Запись полного жизненного цикла объекта* для получения данных о выживании поколений.
 
-*Примечание.* При выборе этого параметра уровень затрат системных ресурсов значительно повысится. При профилировании корпоративного приложения может понадобиться увеличить размер памяти, используемой IDE, из-за количество собранных данных.
+[start=2]
+. Выберите "Профиль > Профилировать главный проект" в главном меню.
 
-6. Снимите отметку с параметра *Использовать определенные точки профилирования* (если он был отмечен). Нажмите кнопку "Выполнить".
+[start=3]
+. Выберите *Память* в диалоговом окне "Выбрать задачу профилирования".
+
+[start=4]
+. Выберите *Дополнительно*.
+
+[start=5]
+. Выберите *Запись полного жизненного цикла объекта* для получения данных о выживании поколений.
+
+NOTE:  При выборе этого параметра уровень затрат системных ресурсов значительно повысится. При профилировании корпоративного приложения может понадобиться увеличить размер памяти, используемой IDE, из-за количество собранных данных.
+
+
+[start=6]
+. Снимите отметку с параметра *Использовать определенные точки профилирования* (если он был отмечен). Нажмите кнопку "Выполнить".
+
 image::images/profile-memory-advanced.png[title="Диалоговое окно 'Выбрать задачу профилированию', в котором поазывается задача и параметры памяти"]
 
 При нажатии кнопки "Выполнить" среда IDE компилирует приложение, запускает сервер в режиме профилирования и разворачивает на нем приложение. Чтобы просмотреть результаты профилирования, нажмите кнопку "Текущие результаты" в окне "Средство профилирования", при этом откроется окно "Текущие результаты". Окно "Текущие результаты" показывает информацию о размере и количестве объектов, находящихся на целевой виртуальной машине Java. В дополнение к объектам, размещенным корпоративным приложением, в результатах показываются все объекты, размещенные сервером приложений.
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee_zh_CN.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee_zh_CN.asciidoc
index ec7a64d..d21caa0 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee_zh_CN.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/profiler-javaee_zh_CN.asciidoc
@@ -40,9 +40,6 @@
 如果要将应用程序部署到本地注册的 Tomcat、GlassFish Server 或 JBoss 安装,只需单击几下鼠标并且几乎无需任何配置,即可对应用程序进行性能分析。在 IDE 中,项目的性能分析过程与使用 Run 命令非常类似。通过从主菜单中选择“性能分析”>“分析主项目”,可以轻松地开始对企业应用程序项目或单个 Web 和 EJB 模块进行分析。
 
 
-image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 NetBeans IDE 7.3、7.4 和 8.0"]
-
-
 *要学习本教程,您需要具备以下软件和资源。*
 
 |===
@@ -55,11 +52,12 @@
 |GlassFish Server |3.1, 4.0 
 |===
 
-*注:*
-
+[NOTE]
+====
 * 如果是首次使用分析器,建议您阅读link:../java/profiler-intro.html[+在 NetBeans IDE 中对 Java 应用程序进行性能分析简介+],其中概述了如何对任务进行监视和性能分析。
 * 如果您使用的是 NetBeans IDE 7.2 或早期版本,请参见link:../../72/javaee/profiler-javaee.html[+在 NetBeans IDE 7.2 中对企业应用程序进行性能分析+]
 * 在本文档中,将对部署到 GlassFish Server 的企业应用程序进行性能分析。在开发期间,对企业或 Web 应用程序进行性能分析时,最简单也是首选的配置是,让应用程序运行在本地 Tomcat、GlassFish 或 JBoss 服务器上。
+====
 
 
 == 关于在 IDE 中对企业应用程序进行性能分析
@@ -115,10 +113,11 @@
 
 单击“完成”,此时 IDE 将创建 ServletStateless 样例项目。在“项目”窗口中可看到 "ServletStateless" 项目。
 
-*注:*
-
+[NOTE]
+====
 * 默认情况下,使用 IDE 对项目进行分析时,如果打开了多个项目,则 IDE 将会对“项目”窗口中处于选中状态的项目进行分析。如果从主菜单中选择“运行”>“设置为主项目”并将一个项目设置为主项目,则默认情况下对主项目进行分析。可在“项目”窗口中右键单击项目节点,然后在弹出式菜单中选择“分析”。
 * 如果要对  ``.jsp``  页或 Servlet 等文件进行分析,请右键单击该文件,然后从弹出式菜单中选择“分析文件”。其行为类似于“分析(主)项目”,但启动性能分析会话时,将在浏览器中打开选定 Web 页,而不是项目的默认 Web 页。
+====
 
 
 == 监视应用程序
@@ -131,14 +130,20 @@
 
 在将该项目设置为主项目后,该项目的名称将会在 "Projects"(项目)窗口中显示为粗体。
 
-2. 从主菜单中选择 "Profile"(性能分析)> "Profile Main Project"(分析主项目)。
 
-*注:*如果提示您选择要执行性能分析的 Java 平台,请选择 "JDK 1.7" 或 "JDK 1.8"。
+[start=2]
+. 从主菜单中选择 "Profile"(性能分析)> "Profile Main Project"(分析主项目)。
 
-3. 在 "Select Profiling Task"(选择性能分析任务)对话框中选择 "Monitor"(监视)。
-4. 单击 "Run"(运行)。
+NOTE: 如果提示您选择要执行性能分析的 Java 平台,请选择 "JDK 1.7" 或 "JDK 1.8"。
 
-*注:*如果以前未使用过分析器,则可能会提示您先校准分析器,然后才能单击 "Run"(运行)。有关校准分析器的更多信息,请参见link:../java/profiler-intro.html[+在 NetBeans IDE 中对 Java 应用程序进行性能分析简介+]中有关link:../java/profiler-intro.html#calibrate[+首次使用分析器+]的部分。
+
+[start=3]
+. 在 "Select Profiling Task"(选择性能分析任务)对话框中选择 "Monitor"(监视)。
+
+[start=4]
+. 单击 "Run"(运行)。
+
+NOTE: 如果以前未使用过分析器,则可能会提示您先校准分析器,然后才能单击 "Run"(运行)。有关校准分析器的更多信息,请参见link:../java/profiler-intro.html[+在 NetBeans IDE 中对 Java 应用程序进行性能分析简介+]中有关link:../java/profiler-intro.html#calibrate[+首次使用分析器+]的部分。
 
 单击 "Run"(运行)后,IDE 将构建应用程序,并在性能分析模式下启动服务器,然后将该应用程序部署到该服务器。此后,IDE 将连接至应用程序,然后开始检索数据。
 
@@ -171,7 +176,7 @@
 * 通常,您不需要监听程序或过滤器数据,因此,可以单击 "Reset Collected Results"(重置收集的结果),以清除该数据。通过在 Web 浏览器中执行某项操作来调用某个代码后,将收集第一批可用数据,此时浏览器通常会显示使用 JavaBeans 和/或定制标记或处理 Servlet 的  ``doGet`` / ``doPost``  方法的 JSP 页。值得注意的是,第一次启动应用程序时收集的数据通常仅表示 Web 应用程序的启动行为。
 * 首次显示 JSP 页时,服务器会在内部将其编译为 Servlet,这会影响调用树和方法计时。此外,Servlet 和其他应用程序代码在第一次运行期间与实际生产环境中的行为略有不同,应用程序在实际的环境中通常处于持续运行状态。为了获取更好地表示实际应用程序性能的性能分析数据,您应该为所分析的代码生成一些工作负载,然后再随时进行度量(调用树不会受其影响)。负载生成器可以帮助您完成此操作。(有关详细信息,请参见link:../java/profile-loadgenerator.html[+使用 NetBeans IDE 中的负载生成器+]。)各种浏览器的缓存功能也可能会对性能产生影响。
 
-*注:*如果要在 Windows 计算机上对 GlassFish 应用服务器中的 Web 应用程序进行性能分析,则当 NetBeans IDE 安装路径(例如,默认安装路径  ``C:\Program Files\netbeans-7.4`` )包含空格时,启动服务器进行性能分析的操作可能会失败。解决方法是,将 NetBeans IDE 安装到或将其安装目录复制到不包含空格的路径位置(如  ``C:\netbeans-7.4`` )。
+NOTE: 如果要在 Windows 计算机上对 GlassFish 应用服务器中的 Web 应用程序进行性能分析,则当 NetBeans IDE 安装路径(例如,默认安装路径  ``C:\Program Files\netbeans-7.4`` )包含空格时,启动服务器进行性能分析的操作可能会失败。解决方法是,将 NetBeans IDE 安装到或将其安装目录复制到不包含空格的路径位置(如  ``C:\netbeans-7.4`` )。
 
 
 === 对应用程序进行采样
@@ -186,13 +191,16 @@
 4. 选择 *Quick (sampled)*(快速 (采样))模式。
 5. 从 "Filter"(过滤器)下拉列表中选择 *Profile only project classes*(只分析项目类)。单击 "Run"(运行)。
 
-*注:*此过滤器将所分析的类限定为在企业应用程序项目中找到的类。单击 *Show Filter Value*(显示过滤器值),以查看过滤的类列表。
+NOTE: 此过滤器将所分析的类限定为在企业应用程序项目中找到的类。单击 *Show Filter Value*(显示过滤器值),以查看过滤的类列表。
 
 image::images/sample-task.png[title="在 &quot;Select Profiling Task&quot;(选择性能分析任务)对话框 &quot;CPU&quot; 窗格中选中了 &quot;Sample Application&quot;(样例应用程序)模式"]
 
 通过该对话框中的比例,您可以看到开销相对较低。
 
-6. 在 "Profiler"(分析器)窗口中单击 "Live Profiling Results"(实时性能分析结果)按钮,以打开 "Live Profiling Results"(实时性能分析结果)标签。
+
+[start=6]
+. 在 "Profiler"(分析器)窗口中单击 "Live Profiling Results"(实时性能分析结果)按钮,以打开 "Live Profiling Results"(实时性能分析结果)标签。
+
 image::images/sample-task-results.png[title="&quot;Sample Application&quot;(样例应用程序)模式的结果"]
 
 在 "Live Profiling Results"(实时性能分析结果)标签中,您可以看到  ``Servlet2Stateless``  类中 Servlet 的  ``service``  方法的执行时间,以及该方法被调用了一次。
@@ -209,21 +217,27 @@
 3. 在 "Select Profiling Task"(选择性能分析任务)对话框中选择 "CPU"。
 4. 选择 *Advanced (instrumented)*(高级 (分析))模式。
 5. 从 "Filter"(过滤器)下拉列表中选择 *Profile only project classes*(只分析项目类)。单击 "Run"(运行)。
+
 image::images/advanced-cpu-task.png[title="在 &quot;Select Profiling Task&quot;(选择性能分析任务)对话框 &quot;CPU&quot; 窗格中选中了 &quot;Profile Application&quot;(分析应用程序)模式"]
 
 通过该对话框中的比例可以看到,与 "Quick"(快速)性能分析模式相比,该模式下产生的开销将相对较高。
 
-6. 在 "Profiler"(分析器)窗口中单击 "Live Profiling Results"(实时性能分析结果)按钮,以打开 "Live Profiling Results"(实时性能分析结果)标签。
+
+[start=6]
+. 在 "Profiler"(分析器)窗口中单击 "Live Profiling Results"(实时性能分析结果)按钮,以打开 "Live Profiling Results"(实时性能分析结果)标签。
 
 您可以看到,"Live Profiling Results"(实时性能分析结果)标签显示  ``Servlet2Stateless``  类中 Servlet 的  ``init``  和  ``service``  方法的执行时间,并且每个方法都被调用了一次。此外,还调用了  ``StatelessSessionBean``  类中的  ``init``  方法。
 
 image::images/cpu-pane1-results.png[title="&quot;Profile Application&quot;(分析应用程序)模式的结果"]
 
-*注:*默认情况下,自动刷新模式处于活动状态,这样所显示的数据每几秒钟就会刷新一次。通过单击工具栏中的 "Auto-Refresh"(自动刷新)按钮,可以激活或取消激活自动刷新模式。
+NOTE: 默认情况下,自动刷新模式处于活动状态,这样所显示的数据每几秒钟就会刷新一次。通过单击工具栏中的 "Auto-Refresh"(自动刷新)按钮,可以激活或取消激活自动刷新模式。
 
 为了更好地读取收集的数据,您可以在 "Live Profiling Results"(实时性能分析结果)窗口的 "Hot Spots"(热点)视图中使用 "Results"(结果)过滤器,以过滤显示的结果。"Results"(结果)过滤器仅过滤显示的结果,而不影响所分析的类。使用 "Results"(结果)过滤器时,可以按照定义的模式(起始为、包含、结束为)对结果进行过滤。此外,也可以使用更复杂的正则表达式进行过滤。数据是完全依据第一个结果表列中显示的包/类/方法名称过滤的。您可以指定多个模式,并用空格或逗号加空格来分隔这些模式。
 
-7. 在 Web 浏览器的相应字段中键入名称,然后单击 "Submit Query"(提交查询)。
+
+[start=7]
+. 在 Web 浏览器的相应字段中键入名称,然后单击 "Submit Query"(提交查询)。
+
 image::images/cpu-pane1-results1.png[title="&quot;Profile Application&quot;(分析应用程序)模式的结果"]
 
 单击 "Submit Query"(提交查询)后,可以看到系统更新了 "Live Profiling Results"(实时性能分析结果)标签以反映在 Web 浏览器中执行的操作。单击该按钮时调用了  ``StatelessSessionBean``  类中的  ``sayHello``  方法,并再次调用了  ``init``  方法。此外,还再次调用了  ``Servlet2Stateless``  中 Servlet 的  ``service``  方法。该标签还显示了在每个方法中花费的时间。
@@ -247,7 +261,7 @@
 
 image::images/profileroot-sayhello-all.png[title="应用程序中的 Servlet 所花费的相对时间的详细视图图"]
 
-*注:*在更复杂的应用程序中,可能需要指定几个根方法。您可以选择单个方法、整个类和包作为性能分析根。
+NOTE: 在更复杂的应用程序中,可能需要指定几个根方法。您可以选择单个方法、整个类和包作为性能分析根。
 
 要指定性能分析根并分析应用程序的性能,请执行以下步骤。
 
@@ -259,24 +273,35 @@
 
 要对部分应用程序进行性能分析,需要首先指定根方法。通过选择性能分析根,可以只对进入性能分析根的线程所调用的方法进行分析。
 
-6. 在 "Edit Profiling Roots"(编辑性能分析根目录)对话框的 "Select View"(选择视图)下拉列表中,选择 "Web Application View"(Web 应用程序视图)。
-7. 展开 ServletStateless 节点,然后选择 Servlet 包中的  ``service``  方法。单击 "OK"(确定)。
+
+[start=6]
+. 在 "Edit Profiling Roots"(编辑性能分析根目录)对话框的 "Select View"(选择视图)下拉列表中,选择 "Web Application View"(Web 应用程序视图)。
+
+[start=7]
+. 展开 ServletStateless 节点,然后选择 Servlet 包中的  ``service``  方法。单击 "OK"(确定)。
+
 image::images/edit-profiling-roots.png[title="&quot;Edit Profiling Roots&quot;(编辑性能分析根目录)对话框中的 &quot;Web Application View&quot;(Web 应用程序视图)"]
 
 此外,也可以选择 "Package View"(包视图),以查看应用程序中的所有源包,然后在  ``servlet.stateless``  包中选择  ``Servlet2Stateless``  类中的  ``service``  方法。
 
 image::images/edit-profiling-roots-pkg.png[title="&quot;Edit Profiling Roots&quot;(编辑性能分析根目录)对话框中的 &quot;Package View&quot;(包视图)"]
 
-*注:*请注意未选择  ``Servlet2Stateless``  构造函数。您可以使用 "Edit Profiling Roots"(编辑性能分析根目录)对话框,仅对类中的特定方法进行分析。如果不需要仅对特定方法进行分析,则可以使用 "Package View"(包视图)来选择整个类或包。例如,如果在 "Edit Profiling Roots"(编辑性能分析根目录)对话框的 "Package View"(包视图)中选择  ``Servlet2Stateless``  类,则 IDE 将分析  ``init``  构造函数和  ``service``  方法。
+NOTE: 请注意未选择  ``Servlet2Stateless``  构造函数。您可以使用 "Edit Profiling Roots"(编辑性能分析根目录)对话框,仅对类中的特定方法进行分析。如果不需要仅对特定方法进行分析,则可以使用 "Package View"(包视图)来选择整个类或包。例如,如果在 "Edit Profiling Roots"(编辑性能分析根目录)对话框的 "Package View"(包视图)中选择  ``Servlet2Stateless``  类,则 IDE 将分析  ``init``  构造函数和  ``service``  方法。
 
 如果单击 "Advanced"(高级)按钮,则可以看到, ``service``  方法作为唯一的根方法列在 "Edit Profiling Roots (Advanced)"(编辑性能分析根目录(高级))对话框中。您可以单击 "Add"(添加),并键入方法签名和类,以明确定义方法。
 
 image::images/edit-profilingroots-pkg-adv.png[title="&quot;Edit Profiling Roots (Advanced)&quot;(编辑性能分析根目录 (高级))对话框"]
-8. 单击 "Edit Profiling Roots"(编辑性能分析根目录)对话框中的 "OK"(确定)。
+
+
+[start=8]
+. 单击 "Edit Profiling Roots"(编辑性能分析根目录)对话框中的 "OK"(确定)。
 
 在 "Select Profiling Task"(选择性能分析任务)对话框中,可以看到系统将使用定制性能分析根目录来运行 "Advanced"(高级)性能分析模式。您可以单击 *Edit*(编辑),以查看和修改选定的根方法。请注意,性能分析开销现在比尚未指定根方法时要少。
 
-9. 从 "Filter"(过滤器)下拉列表中选择 *Profile only project classes*(只分析项目类)。单击 "Run"(运行)。
+
+[start=9]
+. 从 "Filter"(过滤器)下拉列表中选择 *Profile only project classes*(只分析项目类)。单击 "Run"(运行)。
+
 image::images/advanced-cpu-task-custom.png[title="对定制性能分析根目录选择了 &quot;Profile Application&quot;(性能分析应用程序)模式"]
 
 在单击 "Run"(运行)后,IDE 将构建和部署应用程序,并在 Web 浏览器中打开 Servlet 页。
@@ -289,15 +314,23 @@
 
 虽然应用程序在进入性能分析根之后已进入其他方法,但并不显示这些其他的方法,因为分析过滤器限制仅对项目中的类进行分析。
 
-10. 在 Web 浏览器的相应字段中键入名称,然后单击 "Submit Query"(提交查询)。
+
+[start=10]
+. 在 Web 浏览器的相应字段中键入名称,然后单击 "Submit Query"(提交查询)。
+
 image::images/cpu-pane2-results1.png[title="在调用 sayHello 方法后使用性能分析根目录分析方法的结果"]
 
 单击 "Submit Query"(提交查询)后,可以看到系统更新了 "Live Profiling Results"(实时性能分析结果)标签以反映在 Web 浏览器中执行的操作。单击该按钮时调用了一次  ``StatelessSessionBean``  类中的  ``sayHello``  方法。此外,还再次调用了  ``service``  方法。
 
 结果显示了应用程序性能,但可能无法准确地表示已持续运行一段时间的应用程序的性能。要在更为现实的情况下模拟 Web 应用程序的性能,一种方法是运行负载生成器脚本。
 
-11. 在浏览器中多次重复执行上一步,然后单击 "Live Profiling Results"(实时性能分析结果)标签中的 "Reset Results"(重置结果),以清除结果。
-12. 重置性能分析结果之后,键入名称,然后再单击一次 "Submit Query"(提交查询)。
+
+[start=11]
+. 在浏览器中多次重复执行上一步,然后单击 "Live Profiling Results"(实时性能分析结果)标签中的 "Reset Results"(重置结果),以清除结果。
+
+[start=12]
+. 重置性能分析结果之后,键入名称,然后再单击一次 "Submit Query"(提交查询)。
+
 image::images/cpu-pane2-results2.png[title="在调用 sayHello 方法后使用性能分析根目录分析方法的结果"]
 
 如果查看性能分析结果,则在很多情况下,可以看到性能有所提高。
@@ -347,14 +380,25 @@
 
 1. 在 "Profiler"(分析器)窗口中单击 "Stop"(停止)按钮,以停止前一个性能分析会话(如果仍在运行)。
 在单击 "Stop"(停止)后,IDE 将中断与应用程序的连接。
-2. 从主菜单中选择 "Profile"(性能分析)> "Profile Main Project"(分析主项目)。
-3. 在 "Select Profiling Task"(选择性能分析任务)对话框中选择 *Memory*(内存)。
-4. 选择 *Advanced*(高级)。
-5. 选择 *Record full object lifecycle*(记录完整对象生命周期)以便获取有关存活的年代数的数据。
 
-*注:*如果选择此选项,您会注意到 "Overhead"(开销)计数器显著增加。对企业应用程序进行性能分析时,考虑到收集的数据量,很可能需要增加 IDE 的内存。
+[start=2]
+. 从主菜单中选择 "Profile"(性能分析)> "Profile Main Project"(分析主项目)。
 
-6. 取消选中 *Use defined Profiling Points*(使用定义的性能分析点)(如果已选中)。单击 "Run"(运行)。
+[start=3]
+. 在 "Select Profiling Task"(选择性能分析任务)对话框中选择 *Memory*(内存)。
+
+[start=4]
+. 选择 *Advanced*(高级)。
+
+[start=5]
+. 选择 *Record full object lifecycle*(记录完整对象生命周期)以便获取有关存活的年代数的数据。
+
+NOTE: 如果选择此选项,您会注意到 "Overhead"(开销)计数器显著增加。对企业应用程序进行性能分析时,考虑到收集的数据量,很可能需要增加 IDE 的内存。
+
+
+[start=6]
+. 取消选中 *Use defined Profiling Points*(使用定义的性能分析点)(如果已选中)。单击 "Run"(运行)。
+
 image::images/profile-memory-advanced.png[title="显示内存任务和选项的 &quot;Select Profiling Task&quot;(选择性能分析任务)对话框"]
 
 单击 "Run"(运行)后,IDE 将编译应用程序,在性能分析模式下启动服务器,然后将该应用程序部署到该服务器。要查看性能分析结果,请在 "Profiler"(分析器)窗口中单击 "Live Results"(实时结果)以打开 "Live Results"(实时结果)窗口。"Live Results"(实时结果)窗口将显示有关目标 JVM 中所分配对象的大小和数量的信息。除了由企业应用程序分配的对象,结果还包括由应用服务器分配的所有对象。
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb.asciidoc
index 68e5e17..b24e48b 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb.asciidoc
@@ -38,9 +38,6 @@
 For an overview of some of the features of the Java EE specification, see link:javaee-intro.html[+Introduction to Java EE Technology+]. For more information about annotation specifications, see link:http://jcp.org/en/jsr/detail?id=250[+ JSR 250: Common Annotations for the Java Platform+].
 
 
-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"]
-
-
 *To follow this tutorial, you need the following software and resources.*
 
 |===
@@ -71,11 +68,21 @@
 2. Right-click the application server node and choose View Domain Admin Console to open the GlassFish server Admin Console in your browser.
 3. Expand the *server-config* node under the Configurations node in the left navigation bar.
 4. Click *Security > Realms > file* to open the Edit Realm frame.
+
 image::images/console-file-realm.png[title="Selecting the file realm node in admin console of application server"]
-5. Click the Manage Users button at the top of the Edit Realm panel to open the File Users panel.
+
+
+[start=5]
+. Click the Manage Users button at the top of the Edit Realm panel to open the File Users panel.
+
 image::images/console-edit-realm.png[title="Edit Realm panel node in admin console of application server"]
-6. Click the New button at the top of the File Users table in the File Users panel.
-7. Enter the following data in the New File Realm User form. Click OK.
+
+
+[start=6]
+. Click the New button at the top of the File Users table in the File Users panel.
+
+[start=7]
+. Enter the following data in the New File Realm User form. Click OK.
 |===
 
 |Name |Value 
@@ -125,8 +132,13 @@
 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.
-4. Set the server to GlassFish and set the Java EE Version to Java EE 6.
-5. Select Create EJB Module and deselect Create Web Application Module. Click Finish.
+
+[start=4]
+. Set the server to GlassFish and set the Java EE Version to Java EE 6.
+
+[start=5]
+. Select Create EJB Module and deselect Create Web Application Module. Click Finish.
+
 image::images/new-entapp-wizard.png[title="New File Realm User panel in admin console of application server"] 
 
 
@@ -140,6 +152,7 @@
 2. Type *AccountStatus* for the bean name, *bean* for the package.
 3. Select Remote in project for the interface type.
 4. Select SecureRemoteInterface in the dropdown list. Click Finish.
+
 image::images/new-sessionbean-wizard.png[title="Remote interface selected in New Session Bean wizard"]
 
 When you click Finish, the IDE creates the  ``AccountStatus``  class and opens the file in the source editor.
@@ -150,7 +163,9 @@
 
 If you open the Libraries category of the Properties dialog box of the EJB module you will see that the JAR is added to the compile-time libraries.
 
-5. In the source editor, add the following field declaration (in bold) to  ``AccountStatus`` :
+
+[start=5]
+. In the source editor, add the following field declaration (in bold) to  ``AccountStatus`` :
 
 [source,java]
 ----
@@ -158,12 +173,18 @@
 public class AccountStatus implements AccountStatusRemote {
     *private String amount = "250";*
 ----
-6. In the source editor, right-click in the class and choose Insert Code (Alt-Insert; Ctrl-I on Mac) and then select Add Business Method to open the Add Business Method dialog box.
-7. Type *getStatus* for the method name and set the return type to  ``String`` .
+
+[start=6]
+. In the source editor, right-click in the class and choose Insert Code (Alt-Insert; Ctrl-I on Mac) and then select Add Business Method to open the Add Business Method dialog box.
+
+[start=7]
+. Type *getStatus* for the method name and set the return type to  ``String`` .
 
 The IDE automatically exposes the business method in the remote interface.
 
-8. In the source editor, add the following line in bold to the  ``getStatus``  method.
+
+[start=8]
+. In the source editor, add the following line in bold to the  ``getStatus``  method.
 
 [source,java]
 ----
@@ -172,7 +193,9 @@
 *    return "The account contains $" + amount;*
 }
 ----
-9. Type the following (in bold) to annotate the  ``getStatus``  method.*@RolesAllowed({"USERS"})*
+
+[start=9]
+. Type the following (in bold) to annotate the  ``getStatus``  method.*@RolesAllowed({"USERS"})*
 
 [source,java]
 ----
@@ -182,7 +205,9 @@
 
 This annotation means that only users in the security role  ``USERS``  can access the  ``getStatus``  method.
 
-10. Right-click in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac) and save your changes. Make sure that  ``javax.annotation.security.RolesAllowed``  is added to the file.
+
+[start=10]
+. Right-click in the editor and choose Fix Imports (Alt-Shift-I; ⌘-Shift-I on Mac) and save your changes. Make sure that  ``javax.annotation.security.RolesAllowed``  is added to the file.
 
 
 === Configuring the Deployment Descriptors
@@ -197,22 +222,36 @@
 
 Alternatively, you can open the New File wizard by choosing File > New File from the main menu. In this case, be sure that you select the Secure project in the Project dropdown list.
 
-2. Select the GlassFish Descriptor file type in the GlassFish category. Click Next.
+
+[start=2]
+. Select the GlassFish Descriptor file type in the GlassFish category. Click Next.
+
 image::images/new-gf-descriptor.png[title="GlassFish descriptor file type in the New File wizard"]
-3. Accept the default values in the wizard and click Finish.
+
+
+[start=3]
+. Accept the default values in the wizard and click Finish.
 
 When you click Finish, the IDE creates  ``glassfish-application.xml``  and opens the file in the multi-view editor.
 
 If you expand the Secure enterprise application project node in the Projects window, you can see that the descriptor file is created under the Configuration Files node.
 
 image::images/glassfish-application-descriptor.png[title="Security tab in the multi-view editor"]
-4. In the Security tab of the multi-view editor, click Add Security Role Mapping and type *USERS* for the Security Role Name.
-5. Click Add Group and type *bank_users* for the Group Name in the dialog box. Click OK.
+
+
+[start=4]
+. In the Security tab of the multi-view editor, click Add Security Role Mapping and type *USERS* for the Security Role Name.
+
+[start=5]
+. Click Add Group and type *bank_users* for the Group Name in the dialog box. Click OK.
 
 The editor should now be similar to the following.
 
 image::images/security-tab-descriptor.png[title="Security tab in the multi-view editor"]
-6. Save your changes.
+
+
+[start=6]
+. Save your changes.
 
 You can click on the XML tab in the multi-view editor to view deployment descriptor file in XML view. You can see that the deployment descriptor file now contains the following:
 
@@ -244,8 +283,13 @@
 
 When you click Finish,  ``Main.java``  opens in the source editor.
 
-5. In the source editor, right-click in the  ``Main.java``  file and choose Insert Code (Alt-Insert; Ctrl-I on Mac) and select Call Enterprise Bean.
-6. In the Call Enterprise Bean dialog box, expand the Secure-ejb node and select AccountStatus. Click OK.
+
+[start=5]
+. In the source editor, right-click in the  ``Main.java``  file and choose Insert Code (Alt-Insert; Ctrl-I on Mac) and select Call Enterprise Bean.
+
+[start=6]
+. In the Call Enterprise Bean dialog box, expand the Secure-ejb node and select AccountStatus. Click OK.
+
 image::images/call-enterprise-bean.png[title="interface selected in the Call Enterprise Bean dialog box"]
 
 The IDE adds the following code to the application client to look up the session bean.
@@ -260,7 +304,9 @@
 
 If you expand the Libraries node in the Projects window you can see that the IDE added the SecureRemoteInterface JAR to the project classpath.
 
-7. Modify the  ``main``  method to add the following code and save your changes.
+
+[start=7]
+. Modify the  ``main``  method to add the following code and save your changes.
 
 [source,java]
 ----
@@ -281,9 +327,15 @@
 
 When you click Deploy, the IDE builds the EAR file, starts the application server (if it's not running) and deploys the EAR file to the server.
 
-2. Right-click the SecureAppClient project node in the Projects window and choose Run. A dialog box appears prompting you for a username and password.
+
+[start=2]
+. Right-click the SecureAppClient project node in the Projects window and choose Run. A dialog box appears prompting you for a username and password.
+
 image::images/login-window.png[title="Login window prompting for username and password"]
-3. Enter the user name ( ``manager`` ) and password ( ``password`` ) in the dialog box and click OK. The following will appear in the Output window:
+
+
+[start=3]
+. Enter the user name ( ``manager`` ) and password ( ``password`` ) in the dialog box and click OK. The following will appear in the Output window:
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb_ja.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb_ja.asciidoc
index 48c203d..33a3301 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb_ja.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb_ja.asciidoc
@@ -38,9 +38,6 @@
 Java EE仕様の特徴の概要については、link:javaee-intro.html[+Java EEテクノロジ入門+]を参照してください。注釈の仕様については、link:http://jcp.org/en/jsr/detail?id=250[+JSR 250: Javaプラットフォームの一般的な注釈+]を参照してください。
 
 
-image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます"]
-
-
 *このチュートリアルに従うには、次のソフトウェアとリソースが必要です。*
 
 |===
@@ -71,11 +68,21 @@
 2. アプリケーション・サーバーのノードを右クリックし、「ドメイン管理コンソールの表示」を選択して、ブラウザでGlassFishサーバー管理コンソールを開きます。
 3. 左側のナビゲーション・バーで、「構成」ノードの下の「*server-config*」ノードを展開します。
 4. *「セキュリティ」>「レルム」>「file」*をクリックして「レルムを編集」フレームを開きます。
+
 image::images/console-file-realm.png[title="アプリケーション・サーバーの管理コンソールでのfileレルム・ノードの選択"]
-5. 「レルムを編集」パネルの上部にある「ユーザー管理」ボタンをクリックして、「ファイル・ユーザー」パネルを開きます。
+
+
+[start=5]
+. 「レルムを編集」パネルの上部にある「ユーザー管理」ボタンをクリックして、「ファイル・ユーザー」パネルを開きます。
+
 image::images/console-edit-realm.png[title="アプリケーション・サーバーの管理コンソールの「レルムを編集」パネル・ノード"]
-6. 「ファイル・ユーザー」パネルの「ファイル・ユーザー」表の上部にある「新規」ボタンをクリックします。
-7. 「新規ファイル・レルム・ユーザー」フォームに次のデータを入力します。「OK」をクリックします。
+
+
+[start=6]
+. 「ファイル・ユーザー」パネルの「ファイル・ユーザー」表の上部にある「新規」ボタンをクリックします。
+
+[start=7]
+. 「新規ファイル・レルム・ユーザー」フォームに次のデータを入力します。「OK」をクリックします。
 |===
 
 |名前 |値 
@@ -125,8 +132,13 @@
 このチュートリアルでは、ライブラリを他のユーザーまたはプロジェクトと共有する必要がないので、プロジェクト・ライブラリを専用のフォルダにコピーする理由はほとんどありません。
 
 「次」をクリックします。
-4. サーバーをGlassFishに設定し、Java EEバージョンをJava EE 6に設定します。
-5. 「EJBモジュールを作成」を選択し、「Webアプリケーション・モジュールを作成」を選択解除します。「終了」をクリックします。
+
+[start=4]
+. サーバーをGlassFishに設定し、Java EEバージョンをJava EE 6に設定します。
+
+[start=5]
+. 「EJBモジュールを作成」を選択し、「Webアプリケーション・モジュールを作成」を選択解除します。「終了」をクリックします。
+
 image::images/new-entapp-wizard.png[title="アプリケーション・サーバーの管理コンソールの新規ファイル・レルム・ユーザー・パネル"] 
 
 
@@ -140,6 +152,7 @@
 2. Bean名に「*AccountStatus*」と入力し、パッケージに「*bean*」と入力します。
 3. インタフェースのタイプとして「プロジェクトでのリモート」を選択します。
 4. ドロップダウン・リストで「SecureRemoteInterface」を選択します。「終了」をクリックします。
+
 image::images/new-sessionbean-wizard.png[title="新規セッションBeanウィザードで選択されたリモート・インタフェース"]
 
 「終了」をクリックすると、IDEによって ``AccountStatus`` クラスが作成され、ファイルがソース・エディタで開きます。
@@ -150,7 +163,9 @@
 
 EJBモジュールの「プロパティ」ダイアログ・ボックスの「ライブラリ」カテゴリを開くと、このJARがコンパイル時ライブラリに追加されていることがわかります。
 
-5. ソース・エディタで次のフィールド宣言(太字部分)を ``AccountStatus`` に追加します。
+
+[start=5]
+. ソース・エディタで次のフィールド宣言(太字部分)を ``AccountStatus`` に追加します。
 
 [source,java]
 ----
@@ -158,12 +173,18 @@
 public class AccountStatus implements AccountStatusRemote {
     *private String amount = "250";*
 ----
-6. ソース・エディタで、クラス内を右クリックして「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])を選択し、「ビジネス・メソッドを追加」を選択して「ビジネス・メソッドを追加」ダイアログ・ボックスを開きます。
-7. メソッド名に「*getStatus*」と入力し、戻り型を ``String`` に設定します。
+
+[start=6]
+. ソース・エディタで、クラス内を右クリックして「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])を選択し、「ビジネス・メソッドを追加」を選択して「ビジネス・メソッドを追加」ダイアログ・ボックスを開きます。
+
+[start=7]
+. メソッド名に「*getStatus*」と入力し、戻り型を ``String`` に設定します。
 
 ビジネス・メソッドが自動的にリモート・インタフェースに公開されます。
 
-8. ソース・エディタで次に示す太字の行を ``getStatus`` メソッドに追加します。
+
+[start=8]
+. ソース・エディタで次に示す太字の行を ``getStatus`` メソッドに追加します。
 
 [source,java]
 ----
@@ -172,7 +193,9 @@
 *    return "The account contains $" + amount;*
 }
 ----
-9. 次に示す太字の部分を入力して ``getStatus`` メソッドに注釈を付けます。*@RolesAllowed({"USERS"})*
+
+[start=9]
+. 次に示す太字の部分を入力して ``getStatus`` メソッドに注釈を付けます。*@RolesAllowed({"USERS"})*
 
 [source,java]
 ----
@@ -182,7 +205,9 @@
 
 この注釈は、セキュリティ・ロール ``USERS`` のユーザーのみが ``getStatus`` メソッドにアクセスできることを示します。
 
-10. エディタ内を右クリックして「インポートを修正」([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])を選択し、変更内容を保存します。ファイルに ``javax.annotation.security.RolesAllowed`` が追加されていることを確認します。
+
+[start=10]
+. エディタ内を右クリックして「インポートを修正」([Alt]-[Shift]-[I]、Macの場合は[⌘]-[Shift]-[I])を選択し、変更内容を保存します。ファイルに ``javax.annotation.security.RolesAllowed`` が追加されていることを確認します。
 
 
 === デプロイメント・ディスクリプタの構成
@@ -197,22 +222,36 @@
 
 または、メイン・メニューから「ファイル」>「新規ファイル」を選択して新規ファイル・ウィザードを開くこともできます。その場合は、必ず「プロジェクト」ドロップダウン・リストで「Secure」プロジェクトを選択してください。
 
-2. 「GlassFish」カテゴリで「GlassFishディスクリプタ」ファイル・タイプを選択します。「次」をクリックします。
+
+[start=2]
+. 「GlassFish」カテゴリで「GlassFishディスクリプタ」ファイル・タイプを選択します。「次」をクリックします。
+
 image::images/new-gf-descriptor.png[title="新規ファイル・ウィザードの「GlassFishディスクリプタ」ファイル・タイプ"]
-3. ウィザードのデフォルト値を受け入れ、「終了」をクリックします。
+
+
+[start=3]
+. ウィザードのデフォルト値を受け入れ、「終了」をクリックします。
 
 「終了」をクリックすると、IDEによって ``glassfish-application.xml`` が作成され、ファイルがマルチビュー・エディタで開きます。
 
 「プロジェクト」ウィンドウで「Secure」エンタープライズ・アプリケーション・プロジェクトのノードを展開すると、「構成ファイル」ノードの下にディスクリプタ・ファイルが作成されたことがわかります。
 
 image::images/glassfish-application-descriptor.png[title="マルチビュー・エディタの「セキュリティ」タブ"]
-4. マルチビュー・エディタの「セキュリティ」タブで、「セキュリティ・ロール・マッピングの追加」をクリックし、「セキュリティ・ロール名」に「*USERS*」と入力します。
-5. 「グループを追加」をクリックし、ダイアログ・ボックスの「グループ名」に「*bank_users*」と入力します。「OK」をクリックします。
+
+
+[start=4]
+. マルチビュー・エディタの「セキュリティ」タブで、「セキュリティ・ロール・マッピングの追加」をクリックし、「セキュリティ・ロール名」に「*USERS*」と入力します。
+
+[start=5]
+. 「グループを追加」をクリックし、ダイアログ・ボックスの「グループ名」に「*bank_users*」と入力します。「OK」をクリックします。
 
 エディタは次のようになっているはずです。
 
 image::images/security-tab-descriptor.png[title="マルチビュー・エディタの「セキュリティ」タブ"]
-6. 変更を保存します。
+
+
+[start=6]
+. 変更を保存します。
 
 マルチビュー・エディタ内の「XML」タブをクリックして、デプロイメント・ディスクリプタ・ファイルをXMLビューに表示できます。デプロイメント・ディスクリプタ・ファイルに次の内容が含まれることがわかります。
 
@@ -244,8 +283,13 @@
 
 「終了」をクリックすると、 ``Main.java`` がソース・エディタに表示されます。
 
-5. ソース・エディタで ``Main.java`` ファイル内を右クリックして「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])を選択し、「エンタープライズBeanをコール」を選択します。
-6. 「エンタープライズBeanをコール」ダイアログ・ボックスで、「Secure-ejb」ノードを展開し、「AccountStatus」を選択します。「OK」をクリックします。
+
+[start=5]
+. ソース・エディタで ``Main.java`` ファイル内を右クリックして「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])を選択し、「エンタープライズBeanをコール」を選択します。
+
+[start=6]
+. 「エンタープライズBeanをコール」ダイアログ・ボックスで、「Secure-ejb」ノードを展開し、「AccountStatus」を選択します。「OK」をクリックします。
+
 image::images/call-enterprise-bean.png[title="「エンタープライズBeanをコール」ダイアログ・ボックスで選択されたインタフェース"]
 
 セッションBeanを検索できるように、IDEによってアプリケーション・クライアントに次のコードが追加されます。
@@ -260,7 +304,9 @@
 
 「プロジェクト」ウィンドウの「ライブラリ」ノードを展開すると、IDEによってSecureRemoteInterface JARがプロジェクトのクラスパスに追加されたことがわかります。
 
-7.  ``main`` メソッドを変更して次のコードを追加し、変更内容を保存します。
+
+[start=7]
+.  ``main`` メソッドを変更して次のコードを追加し、変更内容を保存します。
 
 [source,java]
 ----
@@ -277,13 +323,21 @@
 
 これでアプリケーションの準備が完了しました。まず、エンタープライズ・アプリケーションをサーバーにデプロイします。エンタープライズ・アプリケーションをデプロイした後、アプリケーション・クライアントを実行して、エンタープライズ・アプリケーション内のメソッドがセキュリティ保護されていること、およびユーザー・ロールが正しくマップされていることをテストできます。アプリケーション・クライアントを実行すると、 ``bank_users`` グループ内のユーザーのユーザー名とパスワードの入力を求められます。
 
-1. 「プロジェクト」ウィンドウで「Secure」エンタープライズ・アプリケーション・プロジェクトのノードを右クリックし、「デプロイ」を選択します。
+
+[start=1]
+. 「プロジェクト」ウィンドウで「Secure」エンタープライズ・アプリケーション・プロジェクトのノードを右クリックし、「デプロイ」を選択します。
 
 「デプロイ」をクリックすると、IDEはEARファイルをビルドし、アプリケーション・サーバーを起動し(実行されていない場合)、EARファイルをサーバーにデプロイします。
 
-2. 「プロジェクト」ウィンドウでSecureAppClientプロジェクト・ノードを右クリックし、「実行」を選択します。ユーザー名とパスワードの入力を求めるダイアログ・ボックスが表示されます。
+
+[start=2]
+. 「プロジェクト」ウィンドウでSecureAppClientプロジェクト・ノードを右クリックし、「実行」を選択します。ユーザー名とパスワードの入力を求めるダイアログ・ボックスが表示されます。
+
 image::images/login-window.png[title="ユーザー名とパスワードの入力を求める「ログイン」ウィンドウ"]
-3. ダイアログ・ボックスでユーザー名( ``manager`` )とパスワード( ``password`` )を入力し、「OK」をクリックします。「出力」ウィンドウに次のように表示されます。
+
+
+[start=3]
+. ダイアログ・ボックスでユーザー名( ``manager`` )とパスワード( ``password`` )を入力し、「OK」をクリックします。「出力」ウィンドウに次のように表示されます。
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb_pt_BR.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb_pt_BR.asciidoc
index 36c18b2..67bbc1f 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb_pt_BR.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb_pt_BR.asciidoc
@@ -38,9 +38,6 @@
 Para obter uma visão geral de algumas funcionalidades da especificação Java EE , consulte a link:javaee-intro.html[+Introdução à Tecnologia Java EE+]. Para obter mais informações sobre as especificações de anotação, consulte link:http://jcp.org/en/jsr/detail?id=250[+ JSR 250: Anotações Comuns da Plataforma Java+].
 
 
-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"]
-
-
 *Para seguir este tutorial, são necessários os recursos e o software a seguir.*
 
 |===
@@ -71,11 +68,21 @@
 2. Clique com o botão direito do mouse no nó do servidor de aplicações e selecione Exibir Console de Admin do Domínio para abrir a Console de Admin do GlassFish Server no browser.
 3. Expanda o nó *server-config* sob o nó Configurações na barra de navegação esquerda.
 4. Clique em *Segurança > Realms > arquivo * para abrir o quadro Editar Realm.
+
 image::images/console-file-realm.png[title="Selecionando o nó realm de arquivo na console de admin do servidor de aplicações"]
-5. Clique no botão Gerenciar Usuários na parte superior do painel Editar Realm para abrir o painel Usuários do Arquivo.
+
+
+[start=5]
+. Clique no botão Gerenciar Usuários na parte superior do painel Editar Realm para abrir o painel Usuários do Arquivo.
+
 image::images/console-edit-realm.png[title="Nó do painel Editar Realm console de admin do servidor de aplicações"]
-6. Clique no botão Novo na parte superior da tabela Usuários do Arquivo no painel Usuários do Arquivo.
-7. Digite os seguintes dados no form Novo Usuário de Realm do Arquivo. Clique em OK.
+
+
+[start=6]
+. Clique no botão Novo na parte superior da tabela Usuários do Arquivo no painel Usuários do Arquivo.
+
+[start=7]
+. Digite os seguintes dados no form Novo Usuário de Realm do Arquivo. Clique em OK.
 |===
 
 |Nome |Valor 
@@ -125,8 +132,13 @@
 Para este tutorial, há pouco 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.
-4. Defina o servidor como GlassFish e defina a Versão para Java EE 6.
-5. Selecione Criar Módulo EJB e desmarque a seleção Criar Módulo da Aplicação Web. Clique em Finalizar.
+
+[start=4]
+. Defina o servidor como GlassFish e defina a Versão para Java EE 6.
+
+[start=5]
+. Selecione Criar Módulo EJB e desmarque a seleção Criar Módulo da Aplicação Web. Clique em Finalizar.
+
 image::images/new-entapp-wizard.png[title="Painel Novo Realm de Arquivo do Usuário na console de admin do servidor de aplicações"] 
 
 
@@ -140,6 +152,7 @@
 2. Digite *AccountStatus* como nome do bean, e *bean* para o pacote.
 3. Selecione Remoto no projeto para o tipo de interface.
 4. Selecione SecureRemoteInterface na lista drop-down. Clique em Finalizar.
+
 image::images/new-sessionbean-wizard.png[title="Interface remota selecionada no assistente Novo Bean de Sessão"]
 
 Quando você clica em Finalizar, o IDE cria a classe  ``AccountStatus``  e abre o arquivo no editor de código-fonte.
@@ -150,7 +163,9 @@
 
 Ao abrir a categoria Bibliotecas da caixa de diálogo Propriedades do módulo EJB, você verá que o JAR é adicionado às bibliotecas de tempo de compilação.
 
-5. No editor de código-fonte, adicione a declaração de campo a seguir (em negrito) em  ``AccountStatusBean`` :
+
+[start=5]
+. No editor de código-fonte, adicione a declaração de campo a seguir (em negrito) em  ``AccountStatusBean`` :
 
 [source,java]
 ----
@@ -158,12 +173,18 @@
 public class AccountStatus implements AccountStatusRemote {
     *private String amount = "250";*
 ----
-6. No editor de código fonte, clique com o botão direito do mouse na classe e selecione Inserir Código (Alt-Insert; Ctrl-I on Mac) e, então, selecione Adicionar Método de Negócios para abrir a caixa de diálogo Adicionar Método de Negócio.
-7. Digite *getStatus* como nome do método e defina o tipo de retorno como  ``String`` .
+
+[start=6]
+. No editor de código fonte, clique com o botão direito do mouse na classe e selecione Inserir Código (Alt-Insert; Ctrl-I on Mac) e, então, selecione Adicionar Método de Negócios para abrir a caixa de diálogo Adicionar Método de Negócio.
+
+[start=7]
+. Digite *getStatus* como nome do método e defina o tipo de retorno como  ``String`` .
 
 O IDE expõe automaticamente o método de negócios na interface remota.
 
-8. No editor de código-fonte, adicione a linha a seguir em negrito ao método  ``getStatus`` .
+
+[start=8]
+. No editor de código-fonte, adicione a linha a seguir em negrito ao método  ``getStatus`` .
 
 [source,java]
 ----
@@ -172,7 +193,9 @@
 *    return "The account contains $" + amount;*
 }
 ----
-9. Digite o seguinte (em negrito) para anotar o método  ``getStatus`` .*@RolesAllowed({"USERS"})*
+
+[start=9]
+. Digite o seguinte (em negrito) para anotar o método  ``getStatus`` .*@RolesAllowed({"USERS"})*
 
 [source,java]
 ----
@@ -182,7 +205,9 @@
 
 Essa anotação significa que somente os usuários na atribuição de segurança  ``USERS``  podem acessar o método  ``getStatus`` .
 
-10. 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. Certifique-se de que o  ``javax.annotation.security.RolesAllowed``  tenha sido adicionado ao arquivo.
+
+[start=10]
+. 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. Certifique-se de que o  ``javax.annotation.security.RolesAllowed``  tenha sido adicionado ao arquivo.
 
 
 === Configurando os Descritores de Implantação
@@ -197,22 +222,36 @@
 
 Outra opção é abrir o assistente Novo Arquivo selecionando Arquivo > Novo Arquivo no menu principal. Nesse caso, certifique-se de que o projeto Proteger seja selecionando na lista drop-down do Projeto.
 
-2. Selecione o tipo de arquivo Descritor GlassFish na categoria GlassFish. Clique em Próximo.
+
+[start=2]
+. Selecione o tipo de arquivo Descritor GlassFish na categoria GlassFish. Clique em Próximo.
+
 image::images/new-gf-descriptor.png[title="Tipo de arquivo do descritor do GlassFish no assistente Novo Arquivo"]
-3. Aceite os valores default no assistente e clique em Finalizar.
+
+
+[start=3]
+. Aceite os valores default no assistente e clique em Finalizar.
 
 Quando você clica em Finalizar, o IDE cria  ``glassfish-application.xml``  e abre o arquivo no editor com multiview.
 
 Ao expandir o nó do projeto Proteger aplicação corporativa na janela Projetos, você pode ver que o arquivo do descritor é criado abaixo do nó dos Arquivos de Configuração.
 
 image::images/glassfish-application-descriptor.png[title="Guia Segurança no editor com multiview"]
-4. Na guia Segurança do editor com multiview, clique em Adicionar Mapeamento de Atribuição de Segurança e digite *USERS* como Nome da Atribuição de Segurança.
-5. Clique em Adicionar Grupo e digite *bank_users* como Nome do Grupo na caixa de diálogo. Clique em OK.
+
+
+[start=4]
+. Na guia Segurança do editor com multiview, clique em Adicionar Mapeamento de Atribuição de Segurança e digite *USERS* como Nome da Atribuição de Segurança.
+
+[start=5]
+. Clique em Adicionar Grupo e digite *bank_users* como Nome do Grupo na caixa de diálogo. Clique em OK.
 
 O editor deve estar parecido com o mostrado a seguir.
 
 image::images/security-tab-descriptor.png[title="Guia Segurança no editor com multiview"]
-6. Salve as alterações.
+
+
+[start=6]
+. Salve as alterações.
 
 Você pode clicar na guia XML no editor com multiview para ver o arquivo do descritor de implantação na exibição XML. Você pode ver que o arquivo do descritor de implantação agora contém o seguinte:
 
@@ -244,8 +283,13 @@
 
 Quando você clicar em Finalizar, o  ``Main.java``  abrirá no editor de código-fonte.
 
-5. No editor de código-fonte, clique com o botão direito do mouse no arquivo  ``Main.java``  e selecione Inserir Código (Alt-Insert; Ctrl-I no Mac) e selecione Chamar Enterprise Beans.
-6. Na caixa de diálogo Chamar Enterprise Eean, expanda o nó Secure-ejb e selecione AccountStatus. Clique em OK.
+
+[start=5]
+. No editor de código-fonte, clique com o botão direito do mouse no arquivo  ``Main.java``  e selecione Inserir Código (Alt-Insert; Ctrl-I no Mac) e selecione Chamar Enterprise Beans.
+
+[start=6]
+. Na caixa de diálogo Chamar Enterprise Eean, expanda o nó Secure-ejb e selecione AccountStatus. Clique em OK.
+
 image::images/call-enterprise-bean.png[title="Interface selecionada na caixa de diálogo Chamar Enterprise Bean"]
 
 O IDE adiciona o seguinte código ao cliente da aplicação para procurar o bean de sessão.
@@ -260,7 +304,9 @@
 
 Se expandir o nó Bibliotecas na janela Projetos, você poderá ver que o IDE adicionou SecureRemoteInterface JAR ao classpath do projeto.
 
-7. Modifique o método  ``main``  para adicionar o código a seguir e salvar suas alterações.
+
+[start=7]
+. Modifique o método  ``main``  para adicionar o código a seguir e salvar suas alterações.
 
 [source,java]
 ----
@@ -281,9 +327,15 @@
 
 Quando você clica em Implantar, o IDE constrói o arquivo EAR, inicia o servidor de aplicações (se ainda não estiver em execução) e implanta o arquivo EAR no servidor.
 
-2. Clique com o botão direito do mouse no nó do projeto SecureAppClient na janela Projetos e selecione Executar. Aparecerá uma caixa de diálogo solicitando um nome de usuário e senha.
+
+[start=2]
+. Clique com o botão direito do mouse no nó do projeto SecureAppClient na janela Projetos e selecione Executar. Aparecerá uma caixa de diálogo solicitando um nome de usuário e senha.
+
 image::images/login-window.png[title="Janela de Log-in para solicitar um nome de usuário e senha"]
-3. Digite o nome de usuário ( ``manager`` ) e a senha ( ``password`` ) na caixa de diálogo e clique em OK. A mensagem a seguir é exibida na janela de Saída:
+
+
+[start=3]
+. Digite o nome de usuário ( ``manager`` ) e a senha ( ``password`` ) na caixa de diálogo e clique em OK. A mensagem a seguir é exibida na janela de Saída:
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb_ru.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb_ru.asciidoc
index 388869c..5a2f384 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb_ru.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb_ru.asciidoc
@@ -38,9 +38,6 @@
 Обзор некоторых функций спецификации Java EE см. в разделе link:javaee-intro.html[+Введение в технологию Java EE+]. Дополнительные сведения о спецификациях аннотаций см. в разделе link:http://jcp.org/en/jsr/detail?id=250[+ JSR 250: общие аннотации для платформы Java+].
 
 
-image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0"]
-
-
 *Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.*
 
 |===
@@ -71,11 +68,21 @@
 2. Правой кнопкой мыши щелкните узел сервера приложений и выберите 'Просмотр консоли администратора домена', чтобы открыть консоль администрирования сервера GlassFish в браузере.
 3. Разверните узел *server-config* в узле "Настройка" на левой панели переходов.
 4. Щелкните *Безопасность > Области > файл*, чтобы открыть окно "Изменить область".
+
 image::images/console-file-realm.png[title="Выбор узла области файла на консоли администрирования сервера приложений"]
-5. Нажмите кнопку "Управление пользователями" в верней участи панели "Редактировать область", чтобы открыть панель "Изменить область".
+
+
+[start=5]
+. Нажмите кнопку "Управление пользователями" в верней участи панели "Редактировать область", чтобы открыть панель "Изменить область".
+
 image::images/console-edit-realm.png[title="Узел панели 'Изменить область' на консоли администрирования сервера приложений"]
-6. Нажмите кнопку "Новый" в верхней части таблицы "Пользователи файлов" на панели "Пользователи файлов".
-7. Введите следующие данные в форму "Новый пользователь области файлов". Нажмите кнопку "ОК".
+
+
+[start=6]
+. Нажмите кнопку "Новый" в верхней части таблицы "Пользователи файлов" на панели "Пользователи файлов".
+
+[start=7]
+. Введите следующие данные в форму "Новый пользователь области файлов". Нажмите кнопку "ОК".
 |===
 
 |Имя |Значение 
@@ -125,8 +132,13 @@
 В рамках этого руководства копирование библиотек проекта в выделенную папку не целесообразно, поскольку совместное использование библиотек с другими пользователями или проектами не требуется.
 
 Нажмите кнопку "Далее".
-4. Установите сервер GlassFish, затем для параметра "Версия Java EE" выберите "Java EE 6".
-5. Выберите "Создать модуль EJB" и отмените выбор "Создать модуль веб-приложения". Нажмите кнопку 'Готово'.
+
+[start=4]
+. Установите сервер GlassFish, затем для параметра "Версия Java EE" выберите "Java EE 6".
+
+[start=5]
+. Выберите "Создать модуль EJB" и отмените выбор "Создать модуль веб-приложения". Нажмите кнопку 'Готово'.
+
 image::images/new-entapp-wizard.png[title="Панель 'Создать пользователя области файла' на консоли администрирования сервера приложений"] 
 
 
@@ -140,6 +152,7 @@
 2. Введите *AccountStatus* для имени базового компонента, *bean* для пакета.
 3. Выберите "Удаленный интерфейс в проекте" для типа интерфейса.
 4. Выберите SecureRemoteInterface в раскрывающемся списке. Нажмите кнопку "Готово".
+
 image::images/new-sessionbean-wizard.png[title="Удаленный интерфейс выбран в мастере создания компонентов сеансов"]
 
 При нажатии кнопки "Готово" среда IDE создает класс  ``AccountStatus``  и открывает файл в редакторе исходного кода.
@@ -150,7 +163,9 @@
 
 При открытии категории "Библиотеки" диалогового окна "Свойства" модуля EJB можно заметить, что JAR добавлен к библиотеке для компиляции.
 
-5. В редакторе исходного кода добавьте следующее объявление поля (полужирным шрифтом) к  ``AccountStatus`` :
+
+[start=5]
+. В редакторе исходного кода добавьте следующее объявление поля (полужирным шрифтом) к  ``AccountStatus`` :
 
 [source,java]
 ----
@@ -158,12 +173,18 @@
 public class AccountStatus implements AccountStatusRemote {
     *private String amount = "250";*
 ----
-6. В редакторе исходного кода щелкните правой кнопкой мыши в классе и выберите 'Вставить код' (Alt-Insert; Ctrl-I в Mac), а затем выберите 'Добавить бизнес-метод', чтобы открыть диалоговое окно 'Добавить бизнес-метод'.
-7. Введите *getStatus* в качестве имени метода, затем установите для типа возвращаемого значения  ``String`` .
+
+[start=6]
+. В редакторе исходного кода щелкните правой кнопкой мыши в классе и выберите 'Вставить код' (Alt-Insert; Ctrl-I в Mac), а затем выберите 'Добавить бизнес-метод', чтобы открыть диалоговое окно 'Добавить бизнес-метод'.
+
+[start=7]
+. Введите *getStatus* в качестве имени метода, затем установите для типа возвращаемого значения  ``String`` .
 
 Среда IDE автоматически открывает бизнес-метод в удаленном интерфейсе.
 
-8. В редакторе исходного кода добавьте следующую строку с полужирным шрифтом к методу  ``getStatus`` .
+
+[start=8]
+. В редакторе исходного кода добавьте следующую строку с полужирным шрифтом к методу  ``getStatus`` .
 
 [source,java]
 ----
@@ -172,7 +193,9 @@
 *    return "The account contains $" + amount;*
 }
 ----
-9. Введите следующее (полужирным шрифтом) для аннотации метода  ``getStatus`` .*@RolesAllowed({"USERS"})*
+
+[start=9]
+. Введите следующее (полужирным шрифтом) для аннотации метода  ``getStatus`` .*@RolesAllowed({"USERS"})*
 
 [source,java]
 ----
@@ -182,7 +205,9 @@
 
 Эта аннотация означает, что только пользователям с ролью безопасности  ``USERS``  доступен метод  ``getStatus`` .
 
-10. Щелкните правой кнопкой мыши в области редактора и выберите команду 'Исправить операторы импорта' (Alt-Shift-I; ⌘-Shift-I в Mac) и сохраните изменения. Убедитесь, что к файлу добавлено  ``javax.annotation.security.RolesAllowed`` .
+
+[start=10]
+. Щелкните правой кнопкой мыши в области редактора и выберите команду 'Исправить операторы импорта' (Alt-Shift-I; ⌘-Shift-I в Mac) и сохраните изменения. Убедитесь, что к файлу добавлено  ``javax.annotation.security.RolesAllowed`` .
 
 
 === Настройка дескрипторов развертывания
@@ -197,22 +222,36 @@
 
 Также можно открыть мастер "Создание файла", выбрав "Файл > Создание файла" в главном меню. В этом случае необходимо выбрать проект "Безопасность" в раскрывающемся списке "Проект".
 
-2. Выберите тип файла "Дескриптор GlassFish" в категории GlassFish. Нажмите кнопку "Далее".
+
+[start=2]
+. Выберите тип файла "Дескриптор GlassFish" в категории GlassFish. Нажмите кнопку "Далее".
+
 image::images/new-gf-descriptor.png[title="Тип файла дескриптора GlassFish в мастере создания файлов"]
-3. Примите значения по умолчанию в мастере и щелкните "Готово".
+
+
+[start=3]
+. Примите значения по умолчанию в мастере и щелкните "Готово".
 
 При нажатии кнопки "Готово" среда IDE создает файл  ``glassfish-application.xml``  и открывает его в редакторе исходного кода с несколькими представлениями.
 
 Если развернуть узел проекта приложения J2EE "Безопасность" в окне "Проекты", можно увидеть, что файл дескриптора создан в узле "Файлы настройки".
 
 image::images/glassfish-application-descriptor.png[title="Вкладка 'Безопасность' в редакторе с несколькими представлениями "]
-4. На вкладке "Безопасность" редактора с несколькими представлениями щелкните "Добавить сопоставление роли безопасности" и введите *USERS* для параметра "Имя роли безопасности".
-5. Щелкните "Добавить группу" и введите *bank_users* для параметра "Имя группы" в диалоговом окне. Нажмите кнопку "ОК".
+
+
+[start=4]
+. На вкладке "Безопасность" редактора с несколькими представлениями щелкните "Добавить сопоставление роли безопасности" и введите *USERS* для параметра "Имя роли безопасности".
+
+[start=5]
+. Щелкните "Добавить группу" и введите *bank_users* для параметра "Имя группы" в диалоговом окне. Нажмите кнопку "ОК".
 
 Теперь текст в редакторе должен быть схож со следующим.
 
 image::images/security-tab-descriptor.png[title="Вкладка 'Безопасность' в редакторе с несколькими представлениями "]
-6. Сохраните изменения.
+
+
+[start=6]
+. Сохраните изменения.
 
 Можно щелкнуть вкладку "XML" в редакторе с несколькими представлениями, чтобы просмотреть файл дескриптора развертывания в представлении XML. Теперь этот файл дескриптора развертывания содержит следующий текст:
 
@@ -244,8 +283,13 @@
 
 После нажатии кнопки "Готово" в редакторе исходного кода откроется  ``Main.java`` .
 
-5. В редакторе исходного кода щелкните правой кнопкой мыши в файле  ``Main.java``  и выберите 'Вставить код' (Alt-Insert; Ctrl-I в Mac) и выберите 'Call Enterprise Bean'.
-6. В диалоговом окне "Вызов компонента EJB" разверните узел Secure-ejb и выберите AccountStatus. Нажмите кнопку "ОК".
+
+[start=5]
+. В редакторе исходного кода щелкните правой кнопкой мыши в файле  ``Main.java``  и выберите 'Вставить код' (Alt-Insert; Ctrl-I в Mac) и выберите 'Call Enterprise Bean'.
+
+[start=6]
+. В диалоговом окне "Вызов компонента EJB" разверните узел Secure-ejb и выберите AccountStatus. Нажмите кнопку "ОК".
+
 image::images/call-enterprise-bean.png[title="интерфейс, выбранный в диалоговом окне 'Вызвать компонент корпоративного уровня'"]
 
 Среда IDE добавляет следующий код к клиенту приложения для поиска сеансного компонента.
@@ -260,7 +304,9 @@
 
 Если развернуть узел "Узел" в окне "Проекты", можно увидеть, что среда IDE добавила файл JAR SecureRemoteInterface к пути к классам проекта.
 
-7. Измените метод  ``main`` , чтобы добавить следующий код и сохранить изменения.
+
+[start=7]
+. Измените метод  ``main`` , чтобы добавить следующий код и сохранить изменения.
 
 [source,java]
 ----
@@ -281,9 +327,15 @@
 
 При нажатии кнопки "Развернуть" среда IDE создает файл EAR, запускает сервер приложений (если он еще не запущен) и выполняет развертывание файла EAR на сервере.
 
-2. Правой кнопкой мыши щелкните узел проекта SecureAppClient в окне "Проект" и выберите "Выполнить". Появится диалоговое окно с запросом на ввод имени пользователя и пароля.
+
+[start=2]
+. Правой кнопкой мыши щелкните узел проекта SecureAppClient в окне "Проект" и выберите "Выполнить". Появится диалоговое окно с запросом на ввод имени пользователя и пароля.
+
 image::images/login-window.png[title="Окно входа с запросом на ввод имени пользователя и пароля"]
-3. В диалоговом окне введите имя пользователя ( ``manager`` ) и пароль ( ``password`` ) и нажмите кнопку "ОК". В окне вывода появится следующее.
+
+
+[start=3]
+. В диалоговом окне введите имя пользователя ( ``manager`` ) и пароль ( ``password`` ) и нажмите кнопку "ОК". В окне вывода появится следующее.
 
 [source,java]
 ----
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb_zh_CN.asciidoc b/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb_zh_CN.asciidoc
index ec387a0..9c600dc 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb_zh_CN.asciidoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/secure-ejb_zh_CN.asciidoc
@@ -38,9 +38,6 @@
 有关 Java EE 规范的一些特性的概述,请参见 link:javaee-intro.html[+Java EE 技术简介+]。有关标注规范的详细信息,请参见 link:http://jcp.org/en/jsr/detail?id=250[+JSR 250:Java 平台的常用标注+]。
 
 
-image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0"]
-
-
 *要学习本教程,您需要具备以下软件和资源。*
 
 |===
@@ -71,11 +68,21 @@
 2. 右键单击应用服务器节点,然后选择 "View Domain Admin Console"(查看域管理控制台),以便在浏览器中打开 GlassFish Server 管理控制台。
 3. 展开左导航栏中 "Configurations"(配置)节点下方的 *server-config* 节点。
 4. 单击 *"Security"(安全性)> "Realms"(领域)> "file"*,以打开 "Edit Realm"(编辑领域)框架。
+
 image::images/console-file-realm.png[title="在应用服务器的管理控制台中选择文件领域节点"]
-5. 单击 "Edit Realm"(编辑领域)面板顶部的 "Manage Users"(管理用户)按钮,打开 "File Users"(文件用户)面板。
+
+
+[start=5]
+. 单击 "Edit Realm"(编辑领域)面板顶部的 "Manage Users"(管理用户)按钮,打开 "File Users"(文件用户)面板。
+
 image::images/console-edit-realm.png[title="应用服务器的管理控制台中的 "Edit Realm"(编辑领域)面板代码"]
-6. 单击 "File Users"(文件用户)面板中 "File Users"(文件用户)表顶部的 "New"(新建)按钮。
-7. 在 "New File Realm User"(新建文件领域用户)窗体中输入以下数据。单击 "OK"(确定)。
+
+
+[start=6]
+. 单击 "File Users"(文件用户)面板中 "File Users"(文件用户)表顶部的 "New"(新建)按钮。
+
+[start=7]
+. 在 "New File Realm User"(新建文件领域用户)窗体中输入以下数据。单击 "OK"(确定)。
 |===
 
 |名称 |值 
@@ -125,8 +132,13 @@
 在本教程中,我们将项目库复制到一个专门的文件夹中,因为需要与其他用户或项目共享库。
 
 单击 "Next"(下一步)。
-4. 将服务器设置为 "GlassFish",并将 Java EE 版本设置为 "Java EE 6"。
-5. 选中 "Create EJB Module"(创建 EJB 模块),并取消选中 "Create Web Application Module"(创建 Web 应用程序模块)。单击 "Finish"(完成)。
+
+[start=4]
+. 将服务器设置为 "GlassFish",并将 Java EE 版本设置为 "Java EE 6"。
+
+[start=5]
+. 选中 "Create EJB Module"(创建 EJB 模块),并取消选中 "Create Web Application Module"(创建 Web 应用程序模块)。单击 "Finish"(完成)。
+
 image::images/new-entapp-wizard.png[title="应用服务器的管理控制台中的 "New File Realm User"(新建文件领域用户)面板"] 
 
 
@@ -140,6 +152,7 @@
 2. 键入 *AccountStatus* 作为 Bean 名称,并键入 *bean* 作为包。
 3. 选中 "Remote in project"(以远程方式位于项目中)作为接口类型。
 4. 在下拉列表中选择 "SecureRemoteInterface"。单击 "Finish"(完成)。
+
 image::images/new-sessionbean-wizard.png[title="新建会话 Bean 向导中选中了远程接口"]
 
 单击 "Finish"(完成),此时 IDE 将创建  ``AccountStatus``  类并在源代码编辑器中打开该文件。
@@ -150,7 +163,9 @@
 
 如果打开 EJB 模块的 "Properties"(属性)对话框的 "Libraries"(库)类别,则会看到 JAR 已添加到编译时库中。
 
-5. 在源代码编辑器中,将以下字段声明(以粗体显示)添加到  ``AccountStatus``  中:
+
+[start=5]
+. 在源代码编辑器中,将以下字段声明(以粗体显示)添加到  ``AccountStatus``  中:
 
 [source,java]
 ----
@@ -158,12 +173,18 @@
 public class AccountStatus implements AccountStatusRemote {
     *private String amount = "250";*
 ----
-6. 在源代码编辑器中,右键单击类,并选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键),然后选择 "Add Business Method"(添加 Business 方法),以打开 "Add Business Method"(添加 Business 方法)对话框。
-7. 键入 *getStatus* 作为方法名称,并将返回类型设置为  ``String`` 。
+
+[start=6]
+. 在源代码编辑器中,右键单击类,并选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键),然后选择 "Add Business Method"(添加 Business 方法),以打开 "Add Business Method"(添加 Business 方法)对话框。
+
+[start=7]
+. 键入 *getStatus* 作为方法名称,并将返回类型设置为  ``String`` 。
 
 IDE 将自动在远程接口中公开此业务方法。
 
-8. 在源代码编辑器中,将以下代码行(以粗体显示)添加到  ``getStatus``  方法中。
+
+[start=8]
+. 在源代码编辑器中,将以下代码行(以粗体显示)添加到  ``getStatus``  方法中。
 
 [source,java]
 ----
@@ -172,7 +193,9 @@
 *    return "The account contains $" + amount;*
 }
 ----
-9. 键入以下内容(以粗体显示)来标注  ``getStatus``  方法。*@RolesAllowed({"USERS"})*
+
+[start=9]
+. 键入以下内容(以粗体显示)来标注  ``getStatus``  方法。*@RolesAllowed({"USERS"})*
 
 [source,java]
 ----
@@ -182,7 +205,9 @@
 
 此标注表示只有安全角色为  ``USERS``  的用户才能访问  ``getStatus``  方法。
 
-10. 在编辑器中右键单击并选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 中为 ⌘-Shift-I 组合键),然后保存您的更改。确保  ``javax.annotation.security.RolesAllowed``  已添加到该文件中。
+
+[start=10]
+. 在编辑器中右键单击并选择 "Fix Imports"(修复导入)(Alt-Shift-I 组合键;在 Mac 中为 ⌘-Shift-I 组合键),然后保存您的更改。确保  ``javax.annotation.security.RolesAllowed``  已添加到该文件中。
 
 
 === 配置部署描述符
@@ -197,22 +222,36 @@
 
 此外,也可以从主菜单中选择 "File"(文件)> "New File"(新建文件),以打开新建文件向导。在这种情况下,请确保在 "Project"(项目)下拉列表中选择了 "Secure" 项目。
 
-2. 选择 "GlassFish" 类别,然后再选择 "GlassFish Descriptor"(GlassFish 描述符)文件类型。单击 "Next"(下一步)。
+
+[start=2]
+. 选择 "GlassFish" 类别,然后再选择 "GlassFish Descriptor"(GlassFish 描述符)文件类型。单击 "Next"(下一步)。
+
 image::images/new-gf-descriptor.png[title="新建文件向导中的 GlassFish 描述符文件类型"]
-3. 接受该向导中的默认值,然后单击 "Finish"(完成)。
+
+
+[start=3]
+. 接受该向导中的默认值,然后单击 "Finish"(完成)。
 
 单击 "Finish"(完成),此时 IDE 将创建  ``glassfish-application.xml``  并在多视图编辑器中打开该文件。
 
 如果在 "Projects"(项目)窗口中展开 "Secure" 企业应用程序项目节点,则可以看到描述符文件在 "Configuration Files"(配置文件)节点的下方创建。
 
 image::images/glassfish-application-descriptor.png[title="多视图编辑器中的 "Security"(安全)标签"]
-4. 在多视图编辑器的 "Security"(安全)标签中,单击 "Add Security Role Mapping"(添加安全角色映射),然后在 "Security Role Name"(安全角色名称)中键入 *USERS*。
-5. 单击 "Add Group"(添加组),然后在对话框的 "Group Name"(组名称)中键入 *bank_users*。单击 "OK"(确定)。
+
+
+[start=4]
+. 在多视图编辑器的 "Security"(安全)标签中,单击 "Add Security Role Mapping"(添加安全角色映射),然后在 "Security Role Name"(安全角色名称)中键入 *USERS*。
+
+[start=5]
+. 单击 "Add Group"(添加组),然后在对话框的 "Group Name"(组名称)中键入 *bank_users*。单击 "OK"(确定)。
 
 编辑器现在应如下所示。
 
 image::images/security-tab-descriptor.png[title="多视图编辑器中的 "Security"(安全)标签"]
-6. 保存所做的更改。
+
+
+[start=6]
+. 保存所做的更改。
 
 通过单击多视图编辑器中的 "XML" 标签,可以在 XML 视图中查看部署描述符文件。您可以看到该部署描述符文件现在包含以下代码:
 
@@ -244,8 +283,13 @@
 
 单击 "Finish"(完成),此时将在源代码编辑器中打开  ``Main.java`` 。
 
-5. 在源代码编辑器中,右键单击  ``Main.java``  文件,并选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键),然后选择 "Call Enterprise Bean"(调用企业 Bean)。
-6. 在 "Call Enterprise Bean"(调用企业 Bean)对话框中,展开 "Secure-ejb" 节点,然后选择 "AccountStatus"。单击 "OK"(确定)。
+
+[start=5]
+. 在源代码编辑器中,右键单击  ``Main.java``  文件,并选择 "Insert Code"(插入代码)(Alt-Insert 组合键;在 Mac 上为 Ctrl-I 组合键),然后选择 "Call Enterprise Bean"(调用企业 Bean)。
+
+[start=6]
+. 在 "Call Enterprise Bean"(调用企业 Bean)对话框中,展开 "Secure-ejb" 节点,然后选择 "AccountStatus"。单击 "OK"(确定)。
+
 image::images/call-enterprise-bean.png[title=""Call Enterprise Bean"(调用企业 Bean)对话框中选中了接口"]
 
 IDE 将在应用程序客户端中添加以下代码,用于查找会话 Bean。
@@ -260,7 +304,9 @@
 
 如果在 "Projects"(项目)窗口中展开 "Libraries"(库)节点,则可以看到 IDE 已将 SecureRemoteInterface JAR 添加到了项目类路径中。
 
-7. 通过添加以下代码来修改  ``main``  方法,然后保存所做的更改。
+
+[start=7]
+. 通过添加以下代码来修改  ``main``  方法,然后保存所做的更改。
 
 [source,java]
 ----
@@ -281,9 +327,15 @@
 
 在单击 "Deploy"(部署)后,IDE 将构建 EAR 文件,启动应用服务器(如果没有运行),并将该 EAR 文件部署到该服务器。
 
-2. 在 "Projects"(项目)窗口中右键单击 "SecureAppClient" 项目节点,然后选择 "Run"(运行)。此时将出现一个对话框,提示您输入用户名和口令。
+
+[start=2]
+. 在 "Projects"(项目)窗口中右键单击 "SecureAppClient" 项目节点,然后选择 "Run"(运行)。此时将出现一个对话框,提示您输入用户名和口令。
+
 image::images/login-window.png[title="提示输入用户名和口令的登录窗口"]
-3. 在对话框中输入用户名 ( ``manager`` ) 和口令 ( ``password`` ),然后单击 "OK"(确定)。"Output"(输出)窗口中将显示以下内容:
+
+
+[start=3]
+. 在对话框中输入用户名 ( ``manager`` ) 和口令 ( ``password`` ),然后单击 "OK"(确定)。"Output"(输出)窗口中将显示以下内容:
 
 [source,java]
 ----