diff --git a/windows/deployment/usmt/usmt-xml-elements-library.md b/windows/deployment/usmt/usmt-xml-elements-library.md
index 545e5e1860..941dba8274 100644
--- a/windows/deployment/usmt/usmt-xml-elements-library.md
+++ b/windows/deployment/usmt/usmt-xml-elements-library.md
@@ -23,7 +23,7 @@ The following table describes the XML elements and helper functions you can use
| Elements A-K | Elements L-Z | Helper functions |
|-----|----|-----|
-| [<addObjects>](#addobjects)
[<attributes>](#attribute)
[<bytes>](#bytes)
[<commandLine>](#commandline)
[<component>](#component)
[<condition>](#condition)
[<conditions>](#conditions)
[<content>](#content)
[<contentModify>](#contentmodify)
[<description>](#description)
[<destinationCleanup>](#destinationcleanup)
[<detect>](#detect)
[<detects>](#detects)
[<detection>](#detection)
[<displayName>](#displayname)
[<environment>](#bkmk-environment)
[<exclude>](#exclude)
[<excludeAttributes>](#excludeattributes)
[<extensions>](#extensions)
[<extension>](#extension)
[<externalProcess>](#externalprocess)
[<icon>](#icon)
[<include>](#include)
[<includeAttribute>](#includeattributes) | [<library>](#library)
[<location>](#location)
[<locationModify>](#locationmodify)
[<_locDefinition>](#locdefinition)
[<manufacturer>](#manufacturer)
[<merge>](#merge)
[<migration>](#migration)
[<namedElements>](#namedelements)
[<object>](#object)
[<objectSet>](#objectset)
[<path>](#path)
[<paths>](#paths)
[<pattern>](#pattern)
[<processing>](#processing)
[<plugin>](#plugin)
[<role>](#role)
[<rules>](#rules)
[<script>](#script)
[<text>](#text)
[<unconditionalExclude>](#unconditionalexclude)
[<variable>](#variable)
[<version>](#version)
[<windowsObjects>](#windowsobjects) | [<condition> functions](#conditionfunctions)
[<content> functions](#contentfunctions)
[<contentModify> functions](#contentmodifyfunctions)
[<include> and <exclude> filter functions](#persistfilterfunctions)
[<locationModify> functions](#locationmodifyfunctions)
[<merge> functions](#mergefunctions)
[<script> functions](#scriptfunctions)
[Internal USMT functions](#internalusmtfunctions) |
+| [<addObjects>](#addobjects)
[<attributes>](#attributes)
[<bytes>](#bytes)
[<commandLine>](#commandline)
[<component>](#component)
[<condition>](#condition)
[<conditions>](#conditions)
[<content>](#content)
[<contentModify>](#contentmodify)
[<description>](#description)
[<destinationCleanup>](#destinationcleanup)
[<detect>](#detect)
[<detects>](#detects)
[<detection>](#detection)
[<displayName>](#displayname)
[<environment>](#environment)
[<exclude>](#exclude)
[<excludeAttributes>](#excludeattributes)
[<extensions>](#extensions)
[<extension>](#extension)
[<externalProcess>](#externalprocess)
[<icon>](#icon)
[<include>](#include)
[<includeAttribute>](#includeattributes) | [<library>](#library)
[<location>](#location)
[<locationModify>](#locationmodify)
[<_locDefinition>](#_locdefinition)
[<manufacturer>](#manufacturer)
[<merge>](#merge)
[<migration>](#migration)
[<namedElements>](#namedelements)
[<object>](#object)
[<objectSet>](#objectset)
[<path>](#path)
[<paths>](#paths)
[<pattern>](#pattern)
[<processing>](#processing)
[<plugin>](#plugin)
[<role>](#role)
[<rules>](#rules)
[<script>](#script)
[<text>](#text)
[<unconditionalExclude>](#unconditionalexclude)
[<variable>](#variable)
[<version>](#version)
[<windowsObjects>](#windowsobjects) | [<condition> functions](#condition-functions)
[<content> functions](#content-functions)
[<contentModify> functions](#contentmodify-functions)
[<include> and <exclude> filter functions](#include-and-exclude-filter-functions)
[<locationModify> functions](#locationmodify-functions)
[<merge> functions](#merge-functions)
[<script> functions](#script-functions)
[Internal USMT functions](#internal-usmt-functions) |
## <addObjects>
@@ -33,7 +33,7 @@ The <addObjects> element emulates the existence of one or more objects on
- **Parent elements:** [<rules>](#rules)
-- **Required child elements:** [<object>](#object) In addition, you must specify [<location>](#location) and [<attribute>](#attribute) as child elements of this <object> element.
+- **Required child elements:** [<object>](#object) In addition, you must specify [<location>](#location) and [<attribute>](#attributes) as child elements of this <object> element.
- **Optional child elements:** [<conditions>](#conditions), <condition>, [<script>](#script)
@@ -155,7 +155,7 @@ A component can be nested inside another component; that is, the <component&g
- **Required child elements:** [<role>](#role), [<displayName>](#displayname)
-- **Optional child elements:** [<manufacturer>](#manufacturer), [<version>](#version), [<description>](#description), [<paths>](#paths), [<icon>](#icon), [<environment>](#bkmk-environment), [<extensions>](#extensions)
+- **Optional child elements:** [<manufacturer>](#manufacturer), [<version>](#version), [<description>](#description), [<paths>](#paths), [<icon>](#icon), [<environment>](#environment), [<extensions>](#extensions)
Syntax:
@@ -186,7 +186,7 @@ The <condition> element has a Boolean result. You can use this element to
- **Child elements:** none
-- **Helper functions:** You can use the following [<condition> functions](#conditionfunctions) with this element: DoesOSMatch, IsNative64Bit(), IsOSLaterThan, IsOSEarlierThan, DoesObjectExist, DoesFileVersionMatch, IsFileVersionAbove, IsFileVersionBelow, IsSystemContext, DoesStringContentEqual, DoesStringContentContain, IsSameObject, IsSameContent, and IsSameStringContent.
+- **Helper functions:** You can use the following [<condition> functions](#condition-functions) with this element: DoesOSMatch, IsNative64Bit(), IsOSLaterThan, IsOSEarlierThan, DoesObjectExist, DoesFileVersionMatch, IsFileVersionAbove, IsFileVersionBelow, IsSystemContext, DoesStringContentEqual, DoesStringContentContain, IsSameObject, IsSameContent, and IsSameStringContent.
Syntax:
@@ -295,7 +295,7 @@ The <condition> functions return a Boolean value. You can use these elemen
|Setting|Required?|Value|
|--- |--- |--- |
|*ObjectType*|Yes|Defines the object type. Can be File or Registry.|
- |*EncodedLocationPattern*|Yes|The [location pattern](#locations). Environment variables are allowed.|
+ |*EncodedLocationPattern*|Yes|The [location pattern](#specifying-locations). Environment variables are allowed.|
For an example of this element, see the MigApp.xml file.
@@ -307,7 +307,7 @@ The <condition> functions return a Boolean value. You can use these elemen
|Setting|Required?|Value|
|--- |--- |--- |
- |*EncodedFileLocation*|Yes|The [location pattern](#locations) for the file that will be checked. Environment variables are allowed.|
+ |*EncodedFileLocation*|Yes|The [location pattern](#specifying-locations) for the file that will be checked. Environment variables are allowed.|
|*VersionTag*|Yes|The [version tag](#allowed) value that will be checked.|
|*VersionValue*|Yes|A string pattern. For example, "Microsoft*".|
@@ -325,7 +325,7 @@ The <condition> functions return a Boolean value. You can use these elemen
|Setting|Required?|Value|
|--- |--- |--- |
- |*EncodedFileLocation*|Yes|The [location pattern](#locations) for the file that will be checked. Environment variables are allowed.|
+ |*EncodedFileLocation*|Yes|The [location pattern](#specifying-locations) for the file that will be checked. Environment variables are allowed.|
|*VersionTag*|Yes|The [version tag](#allowed) value that will be checked.|
|*VersionValue*|Yes|The value to compare to. You cannot specify a pattern.|
@@ -335,7 +335,7 @@ The <condition> functions return a Boolean value. You can use these elemen
|Setting|Required?|Value|
|--- |--- |--- |
- |*EncodedFileLocation*|Yes|The [location pattern](#locations) for the file that will be checked. Environment variables are allowed.|
+ |*EncodedFileLocation*|Yes|The [location pattern](#specifying-locations) for the file that will be checked. Environment variables are allowed.|
|*VersionTag*|Yes|The [version tag](#allowed) value that will be checked.|
|*VersionValue*|Yes|The value to compare to. You cannot specify a pattern.|
@@ -354,7 +354,7 @@ The <condition> functions return a Boolean value. You can use these elemen
|Setting|Required?|Value|
|--- |--- |--- |
|*ObjectType*|Yes|Defines the type of object. Can be File or Registry.|
- |*EncodedLocationPattern*|Yes|The [encoded location](#locations) for the object that will be examined. You can specify environment variables.|
+ |*EncodedLocationPattern*|Yes|The [encoded location](#specifying-locations) for the object that will be examined. You can specify environment variables.|
|StringContent|Yes|The string that will be checked against.|
For example:
@@ -372,7 +372,7 @@ The <condition> functions return a Boolean value. You can use these elemen
|Setting|Required?|Value|
|--- |--- |--- |
|*ObjectType*|Yes|Defines the type of object. Can be File or Registry.|
- |*EncodedLocationPattern*|Yes|The [encoded location](#locations) for the object that will be examined. You can specify environment variables.|
+ |*EncodedLocationPattern*|Yes|The [encoded location](#specifying-locations) for the object that will be examined. You can specify environment variables.|
|*StrToFind*|Yes|A string that will be searched inside the content of the given object.|
- **IsSameObject**
@@ -384,8 +384,8 @@ The <condition> functions return a Boolean value. You can use these elemen
|Setting|Required?|Value|
|--- |--- |--- |
|*ObjectType*|Yes|Defines the type of object. Can be File or Registry.|
- |*EncodedLocation1*|Yes|The [encoded location](#locations) for the first object. You can specify environment variables.|
- |*EncodedLocation2*|Yes|The [encoded location](#locations) for the second object. You can specify environment variables.|
+ |*EncodedLocation1*|Yes|The [encoded location](#specifying-locations) for the first object. You can specify environment variables.|
+ |*EncodedLocation2*|Yes|The [encoded location](#specifying-locations) for the second object. You can specify environment variables.|
For example:
@@ -405,9 +405,9 @@ The <condition> functions return a Boolean value. You can use these elemen
|Setting|Required?|Value|
|--- |--- |--- |
|*ObjectType1*|Yes|Defines the type of the first object. Can be File or Registry.|
- |*EncodedLocation1*|Yes|The [encoded location](#locations) for the first object. You can specify environment variables.|
+ |*EncodedLocation1*|Yes|The [encoded location](#specifying-locations) for the first object. You can specify environment variables.|
|*ObjectType2*|Yes|Defines the type of the second object. Can be File or Registry.|
- |*EncodedLocation2*|Yes|The [encoded location](#locations) for the second object. You can specify environment variables.|
+ |*EncodedLocation2*|Yes|The [encoded location](#specifying-locations) for the second object. You can specify environment variables.|
- **IsSameStringContent**
@@ -418,9 +418,9 @@ The <condition> functions return a Boolean value. You can use these elemen
|Setting|Required?|Value|
|--- |--- |--- |
|*ObjectType1*|Yes|Defines the type of the first object. Can be File or Registry.|
- |*EncodedLocation1*|Yes|The [encoded location](#locations) for the first object. You can specify environment variables.|
+ |*EncodedLocation1*|Yes|The [encoded location](#specifying-locations) for the first object. You can specify environment variables.|
|*ObjectType2*|Yes|Defines the type of the second object. Can be File or Registry.|
- |*EncodedLocation2*|Yes|The [encoded location](#locations) for the second object. You can specify environment variables.|
+ |*EncodedLocation2*|Yes|The [encoded location](#specifying-locations) for the second object. You can specify environment variables.|
## <conditions>
@@ -428,7 +428,7 @@ The <conditions> element returns a Boolean result that is used to specify
- **Number of occurrences:** Unlimited inside another <conditions> element. Limited to one occurrence in [<detection>](#detection), [<rules>](#rules), [<addObjects>](#addobjects), and [<objectSet>](#objectset)
-- **Parent elements:** [<conditions>](#conditions), [<detection>](#detection), [<environment>](#bkmk-environment), [<rules>](#rules), [<addObjects>](#addobjects), and [<objectSet>](#objectset)
+- **Parent elements:** [<conditions>](#conditions), [<detection>](#detection), [<environment>](#environment), [<rules>](#rules), [<addObjects>](#addobjects), and [<objectSet>](#objectset)
- **Child elements:** [<conditions>](#conditions), [<condition>](#condition)
@@ -466,7 +466,7 @@ You can use the <content> element to specify a list of object patterns to
- **Child elements:** [<objectSet>](#objectset)
-- **Helper functions:** You can use the following [<content> functions](#contentfunctions) with this element: ExtractSingleFile, ExtractMultipleFiles, and ExtractDirectory.
+- **Helper functions:** You can use the following [<content> functions](#content-functions) with this element: ExtractSingleFile, ExtractMultipleFiles, and ExtractDirectory.
Syntax:
@@ -553,7 +553,7 @@ The <contentModify> element modifies the content of an object before it is
- **Required child elements:** [<objectSet>](#objectset)
-- **Helper functions**: You can use the following [<contentModify> functions](#contentmodifyfunctions) with this element: ConvertToDWORD, ConvertToString, ConvertToBinary, KeepExisting, OffsetValue, SetValueByTable, MergeMultiSzContent, and MergeDelimitedContent.
+- **Helper functions**: You can use the following [<contentModify> functions](#contentmodify-functions) with this element: ConvertToDWORD, ConvertToString, ConvertToBinary, KeepExisting, OffsetValue, SetValueByTable, MergeMultiSzContent, and MergeDelimitedContent.
Syntax:
@@ -905,7 +905,7 @@ In this scenario, you want to generate the location of objects at run time depen
```
-Then you can use an include rule as follows. You can use any of the [<script> functions](#scriptfunctions) to perform similar tasks.
+Then you can use an include rule as follows. You can use any of the [<script> functions](#script-functions) to perform similar tasks.
```xml
@@ -981,7 +981,7 @@ The <exclude> element determines what objects will not be migrated, unless
- **Child elements:** [<objectSet>](#objectset)
-- **Helper functions:** You can use the following [<exclude> filter functions](#persistfilterfunctions) with this element: CompareStringContent, IgnoreIrrelevantLinks, AnswerNo, NeverRestore, and SameRegContent.
+- **Helper functions:** You can use the following [<exclude> filter functions](#include-and-exclude-filter-functions) with this element: CompareStringContent, IgnoreIrrelevantLinks, AnswerNo, NeverRestore, and SameRegContent.
Syntax:
@@ -1172,7 +1172,7 @@ The <include> element determines what to migrate, unless there is a more s
- **Required child element:** [<objectSet>](#objectset)
-- **Helper functions:** You can use the following [<include> filter functions](#persistfilterfunctions) with this element: CompareStringContent, IgnoreIrrelevantLinks, AnswerNo, and NeverRestore.
+- **Helper functions:** You can use the following [<include> filter functions](#include-and-exclude-filter-functions) with this element: CompareStringContent, IgnoreIrrelevantLinks, AnswerNo, and NeverRestore.
Syntax:
@@ -1341,7 +1341,7 @@ You can use the <locationModify> element to change the location and name o
- **Required child element:** [<objectSet>](#objectset)
-- **Helper functions:** You can use the following [<locationModify> functions](#locationmodifyfunctions) with this element: ExactMove, RelativeMove, and Move.
+- **Helper functions:** You can use the following [<locationModify> functions](#locationmodify-functions) with this element: ExactMove, RelativeMove, and Move.
Syntax:
@@ -1376,7 +1376,7 @@ The following functions change the location of objects as they are migrated when
|Setting|Required?|Value|
|--- |--- |--- |
- |*ObjectEncodedLocation*|Yes|The destination [location](#locations) for all of the source objects.|
+ |*ObjectEncodedLocation*|Yes|The destination [location](#specifying-locations) for all of the source objects.|
For example:
@@ -1460,7 +1460,7 @@ For an example of this element, see [Conflicts and Precedence](usmt-conflicts-an
- **Required child element:** [<objectSet>](#objectset)
-- **Helper functions:** You can use the following [<merge> functions](#mergefunctions) with this element: SourcePriority, DestinationPriority, FindFilePlaceByPattern, LeafPattern, NewestVersion, HigherValue(), and LowerValue().
+- **Helper functions:** You can use the following [<merge> functions](#merge-functions) with this element: SourcePriority, DestinationPriority, FindFilePlaceByPattern, LeafPattern, NewestVersion, HigherValue(), and LowerValue().
Syntax:
@@ -1626,7 +1626,7 @@ Syntax:
- **Parent elements:** [<migration>](#migration)
-- **Child elements:** [<environment>](#bkmk-environment), [<rules>](#rules), [<conditions>](#conditions), [<detection>](#detection), <detects>, <detect>
+- **Child elements:** [<environment>](#environment), [<rules>](#rules), [<conditions>](#conditions), [<detection>](#detection), <detects>, <detect>
For an example of this element, see the MigApp.xml file.
@@ -1638,7 +1638,7 @@ The <object> element represents a file or registry key.
- **Parent elements:** [<addObjects>](#addobjects)
-- **Required child elements:** [<location>](#location), [<attributes>](#attribute)
+- **Required child elements:** [<location>](#location), [<attributes>](#attributes)
- **Optional child elements:** [<bytes>](#bytes)
@@ -1816,7 +1816,7 @@ The <role> element is required in a custom .xml file. By specifying the &l
- **Required child elements:** [<rules>](#rules)
-- **Optional child elements:** [<environment>](#bkmk-environment), [<detection>](#detection), [<component>](#component), [<role>](#role), <detects>, <plugin>,
+- **Optional child elements:** [<environment>](#environment), [<detection>](#detection), [<component>](#component), [<role>](#role), <detects>, <plugin>,
Syntax:
@@ -1928,25 +1928,25 @@ The return value that is required by <script> depends on the parent elemen
- General Syntax: ``
-- You can use [GetStringContent](#scriptfunctions) when <script> is within <variable>.
+- You can use [GetStringContent](#script-functions) when <script> is within <variable>.
Syntax: ``
Example: ``
-- You can use [GenerateUserPatterns](#scriptfunctions) when <script> is within <objectSet>.
+- You can use [GenerateUserPatterns](#script-functions) when <script> is within <objectSet>.
Syntax: ``
Example: ``
-- You can use [GenerateDrivePatterns](#scriptfunctions) when <script> is within <objectSet>.
+- You can use [GenerateDrivePatterns](#script-functions) when <script> is within <objectSet>.
Syntax: ``
Example: ``
-- You can use the [Simple executing scripts](#scriptfunctions) with <script> elements that are within <processing> elements: AskForLogoff, ConvertToShortFileName, KillExplorer, RemoveEmptyDirectories, RestartExplorer, RegisterFonts, StartService, StopService, SyncSCM.
+- You can use the [Simple executing scripts](#script-functions) with <script> elements that are within <processing> elements: AskForLogoff, ConvertToShortFileName, KillExplorer, RemoveEmptyDirectories, RestartExplorer, RegisterFonts, StartService, StopService, SyncSCM.
Syntax: ``
@@ -2006,7 +2006,7 @@ These functions return either a string or a pattern.
|Setting|Required?|Value|
|--- |--- |--- |
- | *PatternSegment* | Yes | The suffix of an encoded pattern. It will be concatenated with a drive specification, such as "c:", to form a complete [encoded file pattern](#locations). For example, "* [*.doc]". *PatternSegment* cannot be an environment variable. |
+ | *PatternSegment* | Yes | The suffix of an encoded pattern. It will be concatenated with a drive specification, such as "c:", to form a complete [encoded file pattern](#specifying-locations). For example, "* [*.doc]". *PatternSegment* cannot be an environment variable. |
| *DriveType* | Yes | The drive type for which the patterns are to be generated. You can specify one of: - Fixed
- CDROM
- Removable
- Remote
|
See the last component in the MigUser.xml file for an example of this element.
@@ -2026,7 +2026,7 @@ These functions return either a string or a pattern.
|Setting|Required?|Value|
|--- |--- |--- |
|*ObjectType*|Yes|Defines the object type. Can be File or Registry.|
- |*EncodedLocationPattern*|Yes|The [location pattern](#locations). Environment variables are allowed.|
+ |*EncodedLocationPattern*|Yes|The [location pattern](#specifying-locations). Environment variables are allowed.|
|*ProcessCurrentUser*|Yes|Can be TRUE or FALSE. Indicates if the patterns should be generated for the current user.|
**Example:**
@@ -2216,7 +2216,7 @@ The <variable> element is required in an <environment> element. For
- **Number of occurrences:** Unlimited
-- **Parent elements:** [<environment>](#bkmk-environment)
+- **Parent elements:** [<environment>](#environment)
- **Required child elements:** either [<text>](#text), or [<script>](#script), or [<objectSet>](#objectset)