XML ਅਤੇ HTML ਦਸਤਾਵੇਜ਼ਾਂ ਲਈ XPath ਟੈਸਟਿੰਗ
XPath (XML Path Language) ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਕੁਐਰੀ ਭਾਸ਼ਾ ਹੈ ਜਿਸਦੀ ਵਰਤੋਂ XML ਅਤੇ HTML ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚੋਂ ਨੋਡਸ, ਐਟਰੀਬਿਊਟਸ ਅਤੇ ਟੈਕਸਟ ਮੁੱਲਾਂ ਨੂੰ ਲੱਭਣ ਅਤੇ ਉਹਨਾਂ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਡੇਟਾ ਸਕ੍ਰੈਪਿੰਗ, ਸੌਫਟਵੇਅਰ ਟੈਸਟਿੰਗ, ਡੇਟਾ ਮਾਈਗ੍ਰੇਸ਼ਨ ਅਤੇ XML ਫਾਈਲਾਂ ਨਾਲ ਕੰਮ ਕਰਨ ਵਾਲੇ ਪੇਸ਼ੇਵਰਾਂ ਲਈ ਸਹੀ XPath ਐਕਸਪ੍ਰੈਸ਼ਨ ਲਿਖਣਾ ਬਹੁਤ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦਾ ਹੈ।
ਇਹ XPath ਟੈਸਟਰ ਟੂਲ ਤੁਹਾਨੂੰ ਅਸਲ ਸਮੇਂ ਵਿੱਚ ਤੁਹਾਡੇ ਐਕਸਪ੍ਰੈਸ਼ਨਾਂ ਦਾ ਮੁਲਾਂਕਣ ਕਰਨ ਦੀ ਸੁਵਿਧਾ ਦਿੰਦਾ ਹੈ। ਤੁਸੀਂ ਆਪਣੇ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇਨਪੁਟ ਕਰਕੇ ਅਤੇ ਆਪਣੀ ਕੁਐਰੀ ਲਿਖ ਕੇ ਤੁਰੰਤ ਇਹ ਦੇਖ ਸਕਦੇ ਹੋ ਕਿ ਕਿਹੜੇ ਹਿੱਸੇ ਮੇਲ ਖਾਂਦੇ ਹਨ। ਇਹ ਟੂਲ ਹਰੇਕ ਮੇਲ ਖਾਂਦੇ ਨੋਡ ਦੀ ਕਿਸਮ, ਨਾਮ, ਪਾਥ ਅਤੇ ਉਸਦੇ ਮੁੱਲ ਦਾ ਇੱਕ ਪੂਰਵ-ਦਰਸ਼ਨ (preview) ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਗੁੰਝਲਦਾਰ ਦਸਤਾਵੇਜ਼ਾਂ ਦੀ ਬਣਤਰ ਨੂੰ ਸਮਝਣਾ ਅਤੇ ਜਾਂਚਣਾ ਆਸਾਨ ਹੋ ਜਾਂਦਾ ਹੈ।
ਇਨਪੁਟ ਸੀਮਾਵਾਂ ਅਤੇ ਨਿਯਮ
ਸਹੀ ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਬ੍ਰਾਊਜ਼ਰ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਨੂੰ ਬਣਾਈ ਰੱਖਣ ਲਈ, ਇਸ ਟੂਲ ਵਿੱਚ ਇਨਪੁਟ ਅਤੇ ਪ੍ਰਕਿਰਿਆ ਸੰਬੰਧੀ ਕੁਝ ਖਾਸ ਨਿਯਮ ਅਤੇ ਸੀਮਾਵਾਂ ਨਿਰਧਾਰਤ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ:
- XML / HTML ਇਨਪੁਟ: ਤੁਸੀਂ ਵੱਧ ਤੋਂ ਵੱਧ 500,000 ਅੱਖਰਾਂ ਤੱਕ ਦਾ ਟੈਕਸਟ ਦਸਤਾਵੇਜ਼ ਇਨਪੁਟ ਕਰ ਸਕਦੇ ਹੋ। ਜੇਕਰ ਦਸਤਾਵੇਜ਼ ਇਸ ਸੀਮਾ ਤੋਂ ਵੱਧ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਟੂਲ "ਇਹ ਦਸਤਾਵੇਜ਼ ਇੱਥੇ ਟੈਸਟ ਕਰਨ ਲਈ ਬਹੁਤ ਵੱਡਾ ਹੈ। ਇੱਕ ਛੋਟਾ ਨਮੂਨਾ ਅਜ਼ਮਾਓ।" ਸੁਨੇਹਾ ਦਿਖਾਏਗਾ।
- XPath ਐਕਸਪ੍ਰੈਸ਼ਨ: ਟੈਸਟ ਕੀਤੇ ਜਾਣ ਵਾਲੇ XPath ਐਕਸਪ੍ਰੈਸ਼ਨ ਦੀ ਅਧਿਕਤਮ ਲੰਬਾਈ 4,000 ਅੱਖਰ ਹੋ ਸਕਦੀ ਹੈ। ਇਸ ਤੋਂ ਲੰਬੇ ਐਕਸਪ੍ਰੈਸ਼ਨ ਹੋਣ 'ਤੇ "ਇਹ XPath ਐਕਸਪ੍ਰੈਸ਼ਨ ਇੱਥੇ ਟੈਸਟ ਕਰਨ ਲਈ ਬਹੁਤ ਲੰਬਾ ਹੈ।" ਸੁਨੇਹਾ ਪ੍ਰਦਰਸ਼ਿਤ ਹੁੰਦਾ ਹੈ।
- ਪ੍ਰਕਿਰਿਆ ਦਾ ਸਮਾਂ (Timeout): ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਹੈਂਗ ਹੋਣ ਤੋਂ ਬਚਾਉਣ ਲਈ, ਟੂਲ 2 ਸਕਿੰਟਾਂ ਬਾਅਦ ਐਕਸਪ੍ਰੈਸ਼ਨ ਦੇ ਮੁਲਾਂਕਣ ਨੂੰ ਆਪਣੇ ਆਪ ਰੋਕ ਦਿੰਦਾ ਹੈ। ਜੇਕਰ ਕੋਈ ਕੁਐਰੀ ਇਸ ਸਮੇਂ ਦੇ ਅੰਦਰ ਪੂਰੀ ਨਹੀਂ ਹੁੰਦੀ, ਤਾਂ "ਇਸ XPath ਨੂੰ ਚੱਲਣ ਵਿੱਚ ਬਹੁਤ ਸਮਾਂ ਲੱਗਿਆ। ਐਕਸਪ੍ਰੈਸ਼ਨ ਨੂੰ ਸੀਮਤ ਕਰੋ ਜਾਂ ਇੱਕ ਛੋਟਾ ਨਮੂਨਾ ਵਰਤੋ।" ਸੁਨੇਹਾ ਦਿਖਾਈ ਦੇਵੇਗਾ।
- ਨਤੀਜਿਆਂ ਦੀ ਸੀਮਾ: ਜੇਕਰ ਤੁਹਾਡੀ ਕੁਐਰੀ 200 ਤੋਂ ਵੱਧ ਮੇਲ ਖਾਂਦੇ ਨਤੀਜੇ ਲੱਭਦੀ ਹੈ, ਤਾਂ ਟੂਲ ਸਿਰਫ਼ ਪਹਿਲੇ 200 ਨਤੀਜੇ ਹੀ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੇਗਾ ਅਤੇ ਨਾਲ "ਪਹਿਲੇ
{max}ਦਿਖਾਏ ਜਾ ਰਹੇ ਹਨ।" ਨੋਟ ਦਿਖਾਏਗਾ।
XML ਮੋਡ ਅਤੇ HTML ਮੋਡ ਵਿੱਚ ਅੰਤਰ
ਇਸ ਟੂਲ ਵਿੱਚ ਦੋ ਵੱਖ-ਵੱਖ ਇਨਪੁਟ ਕਿਸਮਾਂ ਉਪਲਬਧ ਹਨ, ਜਿਨ੍ਹਾਂ ਨੂੰ ਦਸਤਾਵੇਜ਼ ਦੇ ਸੁਭਾਅ ਅਨੁਸਾਰ ਚੁਣਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ:
| ਵਿਸ਼ੇਸ਼ਤਾ | XML ਮੋਡ | HTML ਮੋਡ |
|---|---|---|
| ਨੇਮਸਪੇਸ ਨਿਯਮ | ਸਖ਼ਤੀ ਨਾਲ ਪਾਲਣਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ | ਲਾਗੂ ਨਹੀਂ ਹੁੰਦੇ |
| ਸੰਟੈਕਸ ਉਦਾਰਤਾ | ਬਹੁਤ ਸਖ਼ਤ (ਵੈੱਲ-ਫਾਰਮਡ ਹੋਣਾ ਜ਼ਰੂਰੀ ਹੈ) | ਉਦਾਰ (ਗਲਤੀਆਂ ਨੂੰ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ) |
| ਸਰਲ ਪਾਥ ਮੈਚਿੰਗ | ਨੇਮਸਪੇਸ ਘੋਸ਼ਣਾਵਾਂ ਦੇ ਅਧੀਨ | //a ਵਰਗੇ ਸਰਲ ਪਾਥ ਆਮ ਟੈਗਾਂ ਨਾਲ ਆਸਾਨੀ ਨਾਲ ਮੇਲ ਖਾਂਦੇ ਹਨ |
XML ਮੋਡ ਵਿੱਚ, ਦਸਤਾਵੇਜ਼ ਦੇ ਅੰਦਰ ਘੋਸ਼ਿਤ ਕੀਤੇ ਗਏ ਨੇਮਸਪੇਸ ਪ੍ਰੀਫਿਕਸਾਂ ਦੀ ਵਰਤੋਂ XPath ਵਿੱਚ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ //x:item। ਜੇਕਰ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਕੋਈ ਡਿਫੌਲਟ ਨੇਮਸਪੇਸ ਘੋਸ਼ਿਤ ਹੈ, ਤਾਂ //item ਵੀ ਉਸੇ ਦਸਤਾਵੇਜ਼ ਦੀ ਘੋਸ਼ਣਾ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ। ਦੂਜੇ ਪਾਸੇ, HTML ਮੋਡ ਵਧੇਰੇ ਉਦਾਰ ਹੈ ਅਤੇ ਵੈੱਬ ਪੇਜਾਂ ਦੇ ਆਮ ਟੈਗਾਂ ਨੂੰ ਬਿਨਾਂ ਕਿਸੇ ਸਖ਼ਤ ਨੇਮਸਪੇਸ ਨਿਯਮਾਂ ਦੇ ਆਸਾਨੀ ਨਾਲ ਨਿਸ਼ਾਨਾ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
ਡੇਟਾ ਸੁਰੱਖਿਆ ਅਤੇ ਪ੍ਰੋਸੈਸਿੰਗ
ਇਸ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ ਤੁਹਾਡੀ ਗੋਪਨੀਯਤਾ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸੁਰੱਖਿਅਤ ਰਹਿੰਦੀ ਹੈ। ਤੁਹਾਡੇ ਦੁਆਰਾ ਦਰਜ ਕੀਤਾ ਗਿਆ XML, HTML ਅਤੇ XPath ਐਕਸਪ੍ਰੈਸ਼ਨ ਸਿਰਫ਼ ਤੁਹਾਡੇ ਆਪਣੇ ਵੈੱਬ ਬ੍ਰਾਊਜ਼ਰ ਦੇ ਅੰਦਰ ਹੀ ਪ੍ਰੋਸੈਸ ਅਤੇ ਟੈਸਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। BroBroGo ਦੇ ਸਰਵਰਾਂ 'ਤੇ ਕੋਈ ਵੀ ਡੇਟਾ ਅਪਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਸਾਰੀ ਪ੍ਰਕਿਰਿਆ ਸਥਾਨਕ ਪੱਧਰ 'ਤੇ ਹੁੰਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਨਿੱਜੀ ਰਹਿੰਦੀ ਹੈ।
ਇਹ ਧਿਆਨ ਵਿੱਚ ਰੱਖਣਾ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਇਹ ਟੂਲ ਕਿਸੇ ਲਾਈਵ ਵੈੱਬ ਪੇਜ ਦੇ ਰੀਅਲ-ਟਾਈਮ ਢਾਂਚੇ, ਰੈਂਡਰ ਕੀਤੇ DOM, ਜਾਂ ਨੈੱਟਵਰਕ ਬੇਨਤੀਆਂ (network requests) ਨੂੰ ਨਹੀਂ ਦਰਸਾਉਂਦਾ। ਇਹ ਸਿਰਫ਼ ਤੁਹਾਡੇ ਦੁਆਰਾ ਇਨਪੁਟ ਕੀਤੇ ਗਏ ਸਥਿਰ ਟੈਕਸਟ ਦੇ ਵਿਰੁੱਧ ਹੀ ਕੰਮ ਕਰਦਾ ਹੈ।
ਆਮ ਗਲਤੀਆਂ ਅਤੇ ਉਹਨਾਂ ਦੇ ਹੱਲ
ਟੈਸਟਿੰਗ ਦੌਰਾਨ, ਜੇਕਰ ਇਨਪੁਟ ਜਾਂ ਐਕਸਪ੍ਰੈਸ਼ਨ ਵਿੱਚ ਕੋਈ ਸਮੱਸਿਆ ਆਉਂਦੀ ਹੈ, ਤਾਂ ਟੂਲ ਹੇਠ ਲਿਖੇ ਸੁਨੇਹੇ ਦਿਖਾਉਂਦਾ ਹੈ:
- ਇਸ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਪਾਰਸ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। - ਇਹ ਉਦੋਂ ਵਾਪਰਦਾ ਹੈ ਜਦੋਂ ਤੁਹਾਡਾ XML ਦਸਤਾਵੇਜ਼ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਫਾਰਮੈਟ ਨਹੀਂ ਹੁੰਦਾ (ਉਦਾਹਰਨ ਲਈ, ਟੈਗ ਬੰਦ ਨਹੀਂ ਹੁੰਦੇ ਜਾਂ ਗਲਤ ਤਰੀਕੇ ਨਾਲ ਨੇਸਟ ਕੀਤੇ ਹੁੰਦੇ ਹਨ)।
- ਇਹ XPath ਐਕਸਪ੍ਰੈਸ਼ਨ ਵੈਧ ਨਹੀਂ ਹੈ। - ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਤੁਹਾਡੇ ਦੁਆਰਾ ਲਿਖੇ ਗਏ XPath ਦੇ ਸੰਟੈਕਸ ਵਿੱਚ ਕੋਈ ਗਲਤੀ ਹੈ।
- ਇਸ XPath ਦਾ ਮੁਲਾਂਕਣ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। - ਇਹ ਉਦੋਂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਐਕਸਪ੍ਰੈਸ਼ਨ ਦਾ ਸੰਟੈਕਸ ਤਾਂ ਠੀਕ ਹੋ ਸਕਦਾ ਹੈ, ਪਰ ਮੌਜੂਦਾ ਦਸਤਾਵੇਜ਼ ਦੇ ਸੰਦਰਭ ਵਿੱਚ ਇਸਦਾ ਮੁਲਾਂਕਣ ਕਰਨਾ ਅਸੰਭਵ ਹੁੰਦਾ ਹੈ।
- ਕੋਈ ਨਤੀਜਾ ਨਹੀਂ। - ਇਹ ਸੁਨੇਹਾ ਉਦੋਂ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ ਜਦੋਂ ਤੁਹਾਡਾ XPath ਐਕਸਪ੍ਰੈਸ਼ਨ ਬਿਲਕੁਲ ਸਹੀ ਹੁੰਦਾ ਹੈ, ਪਰ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਉਸ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਕੋਈ ਵੀ ਨੋਡ ਜਾਂ ਐਟਰੀਬਿਊਟ ਨਹੀਂ ਮਿਲਦਾ।
ਅਕਸਰ ਪੁੱਛੇ ਜਾਣ ਵਾਲੇ ਸਵਾਲ (FAQ)
ਕੀ ਮੈਂ XML ਦੇ ਨਾਲ-ਨਾਲ HTML 'ਤੇ ਵੀ XPath ਦਾ ਟੈਸਟ ਕਰ ਸਕਦਾ ਹਾਂ?
ਹਾਂ। XML ਮੋਡ XML ਨੇਮਸਪੇਸ ਨਿਯਮਾਂ ਨੂੰ ਬਣਾਈ ਰੱਖਦਾ ਹੈ। HTML ਮੋਡ ਵਧੇਰੇ ਉਦਾਰ ਹੈ ਅਤੇ //a ਵਰਗੇ ਸਰਲ ਪਾਥਾਂ ਨੂੰ ਆਮ ਟੈਗਾਂ ਨਾਲ ਮੇਲ ਕਰਨ ਦਿੰਦਾ ਹੈ।
XML ਨੇਮਸਪੇਸ (namespaces) ਕਿਵੇਂ ਕੰਮ ਕਰਦੇ ਹਨ?
ਤੁਹਾਡੇ XML ਵਿੱਚ ਘੋਸ਼ਿਤ ਕੀਤੇ ਨੇਮਸਪੇਸ ਪ੍ਰੀਫਿਕਸਾਂ ਦੀ ਵਰਤੋਂ XPath ਵਿੱਚ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ //x:item। ਡਿਫੌਲਟ ਨੇਮਸਪੇਸਾਂ ਲਈ, //item ਵੀ ਦਸਤਾਵੇਜ਼ ਦੀ ਘੋਸ਼ਣਾ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ।
ਕੋਈ ਕੁਐਰੀ ਟਾਈਮ ਆਉਟ ਕਿਉਂ ਹੋ ਸਕਦੀ ਹੈ?
ਬਹੁਤ ਵੱਡੇ ਦਸਤਾਵੇਜ਼ਾਂ ਜਾਂ ਵਿਆਪਕ ਐਕਸਪ੍ਰੈਸ਼ਨਾਂ ਦਾ ਮੁਲਾਂਕਣ ਕਰਨਾ ਮਹਿੰਗਾ ਹੋ ਸਕਦਾ ਹੈ। ਇਹ ਟੂਲ 2 ਸਕਿੰਟਾਂ ਬਾਅਦ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਰੋਕ ਦਿੰਦਾ ਹੈ ਤਾਂ ਜੋ ਪੇਜ ਜਵਾਬਦੇਹ ਰਹੇ; ਪਾਥ ਨੂੰ ਸੀਮਤ ਕਰੋ ਜਾਂ ਇੱਕ ਛੋਟਾ ਨਮੂਨਾ ਅਜ਼ਮਾਓ।
ਕੀ ਮੇਰਾ ਡੇਟਾ ਕਿਸੇ ਸਰਵਰ 'ਤੇ ਸਟੋਰ ਹੁੰਦਾ ਹੈ?
ਨਹੀਂ, ਤੁਹਾਡੇ XML, HTML ਅਤੇ XPath ਦਾ ਟੈਸਟ ਪੂਰੀ ਤਰ੍ਹਾਂ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਹੀ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। BroBroGo 'ਤੇ ਕੋਈ ਵੀ ਡੇਟਾ ਅਪਲੋਡ ਜਾਂ ਸਟੋਰ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ।