1.3 Interacting with the Treeview
2.5 Ignoring hierarchal constraints
Open a file either with the File Open button, or by dropping an XML on the BlackLight executable or a shortcut
- Tree View: all of the element tags organized into a tree structure
- Display: syntax-free version of the files contents in the display, currently showing the whole file
- Text Colors:
Elements Tags - Blue
Attribute Labels - Magenta
Text data - White
Display:
- Shows the hierarchal XML Data in an easier to read, nearly syntax free style, similar to that of the anti-markup language YAML
Tree View:
- Shows all of the elements in the XML file in a classic Tree View
- Select>Enter for focus the display on that element
- Right-click context menus with expand/collapse options
Filter:
- Filters based on element tags (labels)
- Filters Tree View while Typing, filters display with Enter
- Support OR functionality by separating terms with space
- Supports wildcards and hierarchical constraints
1.3 Interacting with the Treeview back to top
Select and item in the Tree View and press Return (not the Numpad Enter. Shoddy, I know) causes the element to become focused in the display
Understanding of all filter capacities is strictly unnecessary, but can result very precise portions of data being visible in the display!
2.1 Basic Filtering back to top
Type 'data' in the filter bar. Notice how the Tree View changes as your type. Press enter to see the changes applied to the display as well
- Note that the terms only need to be within the element title, not a complete match
- Directly matched elements are shown in bright blue.
- Parent's elements are shown in white
- Other elements are shown only if they are siblings to a matched element, in grey
- Only Parent elements are expanded
2.2. Multiple Terms back to top
Spaces can be used to enter multiple terms, OR logic will be used
-'prop data' will match to all terms containing 'prop' or 'data'
2.3 Search Operators back to top
Basic wildcards '*' and '?' are supported for element names
- '*' match any sequence of letters, numbers, or underscore, or nothing
- Since whole matches are not required, you can think of any string as already wrapped in implied asterisks
o e.g. The following product identical results 'spr' , 'spr*' , '*spr*'
- '*' are useful for matching multiple patterns in long strings
o E.g. 'sp*da' would match 'springdata', or 'splinedata' (assuming they exist) but not 'dataspline' or 'dampingspling'
- '?' matches any single letter, number, or underscore
o E.g. 'f?_' would match 'fx_' or 'fy_', but not 'front_' or 'f_'
2.4 Hierarchical Constraints back to top
'/' strings multiple terms together into a hierarchical constraint
- e.g. 'spr/data' requires a 'data' string match, and a 'spr' match in that parents element (CompressionData and ExtensionData under DapmerProperties don't meet the criteria)
Hierarchal constrains can span any number of levels, and a '*' can match all element on a particular level (a more complex file is shown)
- Note that there are effectively 3
constraints in this term
o 'dat' must match the element
o 'stiff' must match its parent
o The 'great-grandparent' must match to 'bush'
2.5 Ignoring Hierarchal Constraints back to top
** is like * but transverses hierarchal constraints
- 'spr** matchs all elements containing 'spr' in their tag or ancestry
Adding chars after ** can prevent the 'ancestor' to meet the match, the trailing must match in the actual element (but the leading chars can match anywhere)
- e.g. 'spr**com' matches any descendants of element that contain 'spr' and have 'com' in their name
Mixing up multiple search terms and operators can generate any specific data display you wish!
- 'dir' emements under 'bush' element + all splineData under 'stiff' including decendants + all splineData under 'damp' including decendants