削除を有効にした部分アップデート
次の例は、ソースXMLストリームのコンテンツに基づいて、複数オカレンスエレメント(属性)を持つ既存の項目(エンティティ)から一部のエレメントを削除する方法を示しています。
次のように既存の項目があるとします。
<Person>
<Id>1</Id>
<Name>p1</Name>
<Houses>
<House>[1]</House>
<House>[2]</House>
<House>[3]</House>
</Houses>
<Children>
<Child>
<Name>k1</Name>
<Age>1</Age>
<Habits>
<Habit>Basketball</Habit>
<Habit>Football</Habit>
<Habit>Tennis</Habit>
<Habit>Boxing</Habit>
</Habits>
</Child>
<Child>
<Name>k2</Name>
<Age>2</Age>
</Child>
<Child>
<Name>k3</Name>
<Age>3</Age>
</Child>
</Children>
<Habits>
<Habit>Basketball</Habit>
<Habit>Football</Habit>
<Habit>Tennis</Habit>
<Habit>Boxing</Habit>
</Habits>
<Pets>
<Pet>Cat</Pet>
</Pets>
<Pets>
<Pet>Dog</Pet>
</Pets>
<Pets>
<Pet>Pig</Pet>
</Pets>
<Pets>
<Pet>Cow</Pet>
</Pets>
</Person>
[Example 1] (例1): 既存の項目から2つの子項目を削除する場合、[Pivot] (ピボット)フィールドに入力するXpathは次のようにする必要があります: /Person/Children/Child。ここで、[Delete] (削除)チェックボックスはオンにして、[Key] (キー)フィールドは/Nameに設定します。Childエレメントは複合型であり、[Key] (キー)フィールドで識別する必要があります。さらに、次のようにソースXMLストリームを入力する必要があります。
<Person>
<Id>1</Id>
<Children>
<Child>
<Name>k2</Name>
</Child>
<Child>
<Name>k3</Name>
</Child>
</Children>
</Person>
この場合、2つの項目Child [k2]とChild [k3]が削除され、次の結果が得られます。
<Person>
<Id>1</Id>
<Name>p1</Name>
...
<Children>
<Child>
<Name>k1</Name>
<Age>1</Age>
<Habits>
<Habit>Basketball</Habit>
<Habit>Football</Habit>
<Habit>Tennis</Habit>
<Habit>Boxing</Habit>
</Habits>
</Child>
</Children>
...
</Person>
[Example 2] (例2): Personエレメントの一部の習慣を削除する場合、[Pivot] (ピボット)フィールドに入力するXpathは次のようにする必要があります: /Person/Habits/Habit。ここで、[Delete] (削除)チェックボックスはオンにして、[Key] (キー)フィールドは.またはemptyに設定します。さらに、次のようにソースXMLストリームを入力する必要があります。
<Person>
<Id>1</Id>
<Habits>
<Habit>Basketball</Habit>
<Habit>Football</Habit>
<Habit>Boxing</Habit>
</Habits>
</Person>
この場合、習慣の3つの項目、Habit [Basketball]、Habit [Football]、Habit [Boxing]が削除され、次の結果が得られます。
<Person>
<Id>1</Id>
<Name>p1</Name>
...
<Habits>
<Habit>Tennis</Habit>
</Habits>
...
</Person>
[Example 3] (例3): Childエレメントの一部の習慣を削除する場合、[Pivot] (ピボット)フィールドに入力するXpathは次のようにする必要があります: /Person/Children/Child[1]/Habits/Habit。ここで、[Delete] (削除)チェックボックスはオンにして、[Key] (キー)フィールドは.またはemptyに設定します。Child[1]が[Pivot] (ピボット)フィールドに使われているのは、どの子の習慣が削除されるかを識別するためです。さらに、次のようにソースXMLストリームを入力する必要があります。
<Person>
<Id>1</Id>
<Children>
<Child>
<Habits>
<Habit>Basketball</Habit>
<Habit>Football</Habit>
</Habits>
</Child>
</Children>
</Person>
この場合、2つの項目、Habit [Basketball]とHabit [Football]が削除され、次の結果が得られます。
<Person>
<Id>1</Id>
<Name>p1</Name>
...
<Children>
<Child>
<Name>k1</Name>
<Age>1</Age>
<Habits>
<Habit>Tennis</Habit>
<Habit>Boxing</Habit>
</Habits>
</Child>
<Child>
<Name>k2</Name>
<Age>2</Age>
</Child>
<Child>
<Name>k3</Name>
<Age>3</Age>
</Child>
</Children>
...
</Person>
[Example 4] (例4): Personエレメントの一部のペットを削除する場合、[Pivot] (ピボット)フィールドに入力するXpathは次のようにする必要があります: /Person/Pets。ここで、[Delete] (削除)チェックボックスはオンにして、[Key] (キー)フィールドは/Petに設定します。さらに、次のようにソースXMLストリームを入力する必要があります。
<Person>
<Id>1</Id>
<Pets>
<Pet>Cat</Pet>
</Pets>
<Pets>
<Pet>Pig</Pet>
</Pets>
</Person>
この場合、2つの項目Pet [Cat]とPet [Pig]が削除され、次の結果が得られます。
<Person>
<Id>1</Id>
<Name>p1</Name>
...
<Pets>
<Pet>Dog</Pet>
</Pets>
<Pets>
<Pet>Cow</Pet>
</Pets>
</Person>