पथ पढ़ें#

X4 सभी XPath के बजाय एक प्रतिबंधित चयनकर्ता भाषा का उपयोग करता है। अपने खेल की जाँच करें libraries/diff.xsd; XPath संपादक द्वारा स्वीकृति X4 संगतता साबित नहीं करती है।

फॉर्म अर्थ
/items/item आइटम मूल के बच्चे
[@id='a'] विशेषता फ़िल्टर
/@enabled विशेषता स्वयं
//item[@id='a'] किसी भी गहराई; जाँच करें अद्वितीयता

सीखने की जानकारी#

ये आविष्कार किए गए डेटा हैं, X4 फ़ाइल नहींः

XML
<items>
  <item id="a" enabled="false" />
  <item id="b" />
</items>

स्वतंत्र पैचः

XML
<diff>
  <replace sel="/items/item[@id='a']/@enabled">true</replace>
  <add sel="/items/item[@id='a']" type="@label">demo</add>
  <remove sel="/items/item[@id='b']" />
  <add sel="/items">
    <item id="c" />
  </add>
</diff>

अपेक्षित परिणाम#

XML
<items>
  <item id="a" enabled="true" label="demo" />
  <item id="c" />
</items>

replace मौजूदा विशेषता को बदलता है, add type="@label" एक जोड़ता है, और remove हटाएँ b. अंतिम add आइटम के अंदर डालें। यह एक अपेक्षित परिवर्तन है, लॉग आउटपुट या निष्पादित खेल परीक्षण नहीं है।

आम गलतियाँ#

प्रत्येक ऑपरेशन के लिए एक मैच की जांच करें। एक पूरे तत्व को प्रतिस्थापित करने से इसके पुराने बच्चे भी हटा दिए जाते हैं। एक विशेषता जोड़ने के लिए, तत्व के माध्यम से चयन करें sel और नाम विशेषता के माध्यम से type.

भरोसा मत करो contains(), संघ | या मनमानी पूर्ण XPath अभिव्यक्ति। पहले गायब मैचों की जांच करेंः silent पथ को ठीक किए बिना एक रिपोर्ट को दबाता है। साथ जारी रखें एक असली जहाज पैच और संगतता.