ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/XmlTools2/examples/BINACJBOCharacter.oni-patch
Revision: 932
Committed: Wed Feb 5 19:32:56 2014 UTC (11 years, 8 months ago) by s10k
File size: 3204 byte(s)
Log Message:
XmlTools2
Updated examples

File Contents

# Content
1 #########################################################################################
2 ############################## XmlTools Patch File Example ##############################
3 #########################################################################################
4
5 ########## Comments in patch files begin with '#'
6
7 ########## You can comment and uncomment commands to see their effect
8 ########## in BINACJBOCharacter.xml file
9
10 # The following row is always required in a XmlTools patch.
11 # It defines the minimum version of XmlTools executable that it requires.
12 @XML_TOOLS Version "2.0"
13
14 # This command adds a new XML node (inside of <xml></xml> tags) to all OSD named nodes.
15 @ADD_INSIDE_NODES ElementName "OSD" Files "BINACJBOCharacter.xml"
16 <xml>
17 <Attack>
18 <Start>0</Start>
19 <End>30</End>
20 <Bones>Pelvis Chest Neck Head LeftShoulder LeftArm LeftWrist LeftFist RightShoulder RightArm RightWrist RightFist</Bones>
21 <Flags>Unblockable</Flags>
22 <Knockback>0</Knockback>
23 <HitPoints>10</HitPoints>
24 <HitType>KnockdownBody</HitType>
25 <HitLength>0</HitLength>
26 <StunLength>0</StunLength>
27 <StaggerLength>0</StaggerLength>
28 <Extents/>
29 </Attack>
30 </xml>
31
32 # This command removes the nodes inserted in the previous command using ElementName and ParentElementName.
33 @REMOVE_NODES ElementName "Attack" ParentElementName "OSD" Files "BINACJBOCharacter.xml"
34
35 # This command adds a new XML node (inside of <xml></xml> tags) to the nodes that matches the XPathExpression.
36 @ADD_INSIDE_NODES XPathExpression "/Oni/Objects/CHAR/OSD" Files "BINACJBOCharacter.xml"
37 <xml>
38 <Attack>
39 <Start>0</Start>
40 <End>30</End>
41 <Bones>Pelvis Chest Neck Head LeftShoulder LeftArm LeftWrist LeftFist RightShoulder RightArm RightWrist RightFist</Bones>
42 <Flags>Unblockable</Flags>
43 <Knockback>0</Knockback>
44 <HitPoints>10</HitPoints>
45 <HitType>KnockdownBody</HitType>
46 <HitLength>0</HitLength>
47 <StunLength>0</StunLength>
48 <StaggerLength>0</StaggerLength>
49 <Extents/>
50 </Attack>
51 </xml>
52
53 # This command removes the nodes inserted in the previous command using an XPathExpression.
54 @REMOVE_NODES XPathExpression "/Oni/Objects/CHAR/OSD/Attack" Files "BINACJBOCharacter.xml"
55
56 # This command executes any of the XmlTools commands (see all possible command using XmlTools --help)
57 @COMMAND Options "--files 'BINACJBOCharacter.xml' --element-name 'Position' --invert-elements"
58
59 # This command executes the javascript inside the (inside of <code></code> tags)
60
61 # The current javascript code first gets the element name "CHAR" with an attribute Id=11565
62 # then it gets the child element "OSD" and set its Weapon element value to "MyAwesomeOniWeapon"
63 @CUSTOM_CODE Files "BINACJBOCharacter.xml"
64 <code>
65 var myBuilder = new JSXMLBuilder();
66 myBuilder.load($xmlData);
67
68 var elements = myBuilder.elements;
69
70 for (var i = 0; i < elements.length; i++) {
71 if(elements[i].name=="CHAR" && elements[i].attributeString==" Id=\"11565\""){
72 elements[i].childElement("OSD").childElement("Weapon").text="MyAwesomeOniWeapon";
73 break;
74 }
75 }
76
77 $xmlData=myBuilder.generateXML(); // update the global variable with the new XML
78 </code>