-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Get Current XPath" returns wrong result #310
Comments
The "get current XPath" implementation is pretty naïve and could use an overhaul. If you could provide an example XML document that can be used to reproduce, that would be helpful when I revisit this feature. Thanks! |
I confirm the issue STEPS TO REPRODUCEFind xpath of <template xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.openehr.org/v1">
<language>
<terminology_id>
<value>ISO_639-1</value>
</terminology_id>
<code_string>en</code_string>
</language>
<description>
<original_author id="Original Author">Not Specified</original_author>
<lifecycle_state>Initial</lifecycle_state>
<other_details id="MetaDataSet:Sample Set ">Template metadata sample set </other_details>
<other_details id="Acknowledgements"/>
<other_details id="Business Process Level"/>
<other_details id="Care setting"/>
<other_details id="Client group"/>
<other_details id="Clinical Record Element"/>
<other_details id="Copyright"/>
<other_details id="Issues"/>
<other_details id="Owner"/>
<other_details id="Sign off"/>
<other_details id="Speciality"/>
<other_details id="User roles"/>
<details>
<language>
<terminology_id>
<value>ISO_639-1</value>
</terminology_id>
<code_string>en</code_string>
</language>
<purpose>Not Specified</purpose>
</details>
</description>
<uid>
<value>c53b4d8d-23b6-4333-b7f5-a2a5ca98278b</value>
</uid>
<template_id>
<value>minimal_admin.en.v1</value>
</template_id>
<concept>Minimal admin</concept>
<definition>
<rm_type_name>COMPOSITION</rm_type_name>
<occurrences>
<lower_included>true</lower_included>
<upper_included>true</upper_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>false</upper_unbounded>
<lower>1</lower>
<upper>1</upper>
</occurrences>
<node_id>at0000</node_id>
<attributes xsi:type="C_SINGLE_ATTRIBUTE">
<rm_attribute_name>category</rm_attribute_name>
<existence>
<lower_included>true</lower_included>
<upper_included>true</upper_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>false</upper_unbounded>
<lower>1</lower>
<upper>1</upper>
</existence>
<children xsi:type="C_COMPLEX_OBJECT">
<rm_type_name>DV_CODED_TEXT</rm_type_name>
<occurrences>
<lower_included>true</lower_included>
<upper_included>true</upper_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>false</upper_unbounded>
<lower>1</lower>
<upper>1</upper>
</occurrences>
<node_id/>
<attributes xsi:type="C_SINGLE_ATTRIBUTE">
<rm_attribute_name>defining_code</rm_attribute_name>
<existence>
<lower_included>true</lower_included>
<upper_included>true</upper_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>false</upper_unbounded>
<lower>1</lower>
<upper>1</upper>
</existence>
<children xsi:type="C_CODE_PHRASE">
<rm_type_name>CODE_PHRASE</rm_type_name>
<occurrences>
<lower_included>true</lower_included>
<upper_included>true</upper_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>false</upper_unbounded>
<lower>1</lower>
<upper>1</upper>
</occurrences>
<node_id/>
<terminology_id>
<value>openehr</value>
</terminology_id>
<code_list>433</code_list>
</children>
</attributes>
</children>
</attributes>
<attributes xsi:type="C_MULTIPLE_ATTRIBUTE">
<rm_attribute_name>content</rm_attribute_name>
<existence>
<lower_included>true</lower_included>
<upper_included>true</upper_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>false</upper_unbounded>
<lower>0</lower>
<upper>1</upper>
</existence>
<children xsi:type="C_ARCHETYPE_ROOT">
<rm_type_name>ADMIN_ENTRY</rm_type_name>
<occurrences>
<lower_included>true</lower_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>true</upper_unbounded>
<lower>0</lower>
</occurrences>
<node_id>at0000</node_id>
<attributes xsi:type="C_SINGLE_ATTRIBUTE">
<rm_attribute_name>data</rm_attribute_name>
<existence>
<lower_included>true</lower_included>
<upper_included>true</upper_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>false</upper_unbounded>
<lower>1</lower>
<upper>1</upper>
</existence>
<children xsi:type="C_COMPLEX_OBJECT">
<rm_type_name>ITEM_TREE</rm_type_name>
<occurrences>
<lower_included>true</lower_included>
<upper_included>true</upper_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>false</upper_unbounded>
<lower>1</lower>
<upper>1</upper>
</occurrences>
<node_id>at0001</node_id>
<attributes xsi:type="C_MULTIPLE_ATTRIBUTE">
<rm_attribute_name>items</rm_attribute_name>
<existence>
<lower_included>true</lower_included>
<upper_included>true</upper_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>false</upper_unbounded>
<lower>0</lower>
<upper>1</upper>
</existence>
<children xsi:type="C_COMPLEX_OBJECT">
<rm_type_name>ELEMENT</rm_type_name>
<occurrences>
<lower_included>true</lower_included>
<upper_included>true</upper_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>false</upper_unbounded>
<lower>0</lower>
<upper>1</upper>
</occurrences>
<node_id>at0002</node_id>
<attributes xsi:type="C_SINGLE_ATTRIBUTE">
<rm_attribute_name>value</rm_attribute_name>
<existence>
<lower_included>true</lower_included>
<upper_included>true</upper_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>false</upper_unbounded>
<lower>0</lower>
<upper>1</upper>
</existence>
<children xsi:type="C_DV_ORDINAL">
<rm_type_name>DV_ORDINAL</rm_type_name>
<occurrences>
<lower_included>true</lower_included>
<upper_included>true</upper_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>false</upper_unbounded>
<lower>1</lower>
<upper>1</upper>
</occurrences>
<node_id/>
<list>
<value>1</value>
<symbol>
<value/>
<defining_code>
<terminology_id>
<value>local</value>
</terminology_id>
<code_string>at0003</code_string>
</defining_code>
</symbol>
</list>
<list>
<value>2</value>
<symbol>
<value/>
<defining_code>
<terminology_id>
<value>local</value>
</terminology_id>
<code_string>at0004</code_string>
</defining_code>
</symbol>
</list>
<list>
<value>3</value>
<symbol>
<value/>
<defining_code>
<terminology_id>
<value>local</value>
</terminology_id>
<code_string>at0005</code_string>
</defining_code>
</symbol>
</list>
</children>
</attributes>
</children>
<cardinality>
<is_ordered>false</is_ordered>
<is_unique>false</is_unique>
<interval>
<lower_included>true</lower_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>true</upper_unbounded>
<lower>0</lower>
</interval>
</cardinality>
</attributes>
</children>
</attributes>
<archetype_id>
<value>openEHR-EHR-ADMIN_ENTRY.minimal.v1</value>
</archetype_id>
<term_definitions code="at0000">
<items id="description">unknown</items>
<items id="text">Minimal</items>
</term_definitions>
<term_definitions code="at0001">
<items id="description">@ internal @</items>
<items id="text">Arbol</items>
</term_definitions>
<term_definitions code="at0002">
<items id="description">*</items>
<items id="text">ordinal</items>
</term_definitions>
<term_definitions code="at0003">
<items id="description">*</items>
<items id="text">option 1</items>
</term_definitions>
<term_definitions code="at0004">
<items id="description">*</items>
<items id="text">option 2</items>
</term_definitions>
<term_definitions code="at0005">
<items id="description">*</items>
<items id="text">option 3</items>
</term_definitions>
</children>
<cardinality>
<is_ordered>false</is_ordered>
<is_unique>false</is_unique>
<interval>
<lower_included>true</lower_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>true</upper_unbounded>
<lower>0</lower>
</interval>
</cardinality>
</attributes>
<archetype_id>
<value>openEHR-EHR-COMPOSITION.minimal.v1</value>
</archetype_id>
<template_id>
<value>minimal_admin.en.v1</value>
</template_id>
<term_definitions code="at0000">
<items id="description">unknown</items>
<items id="text">Minimal</items>
</term_definitions>
</definition>
</template> ACTUALXML Tools: Get Current XPath returns
EXPECTEDXML Tools: Get Current XPath returns
|
I would like to see this fixed too. Strangely, if I select the node I am interested in and invoke XML:Goto Path it shows the correct path. |
this bug still exists in 2024... |
Description
The index returned does not exist. Also the resulting xpath does not exist as an input to "Evaluate Current XPath". I could not (yet) find out in which context this bug does or does not occur.
F.e.:
/root/element/subelement/thiselementdoesnotexist[6]/leafelement
The element is actually at index [2].
Extension Version
2.5.0
VS Code Version
1.45.1
Operating System
Darwin x64 19.4.0
The text was updated successfully, but these errors were encountered: