Skip to content
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

Support Metapath functions that operate on nodes #282

Open
7 of 10 tasks
david-waltermire opened this issue Dec 9, 2024 · 0 comments · Fixed by #288
Open
7 of 10 tasks

Support Metapath functions that operate on nodes #282

david-waltermire opened this issue Dec 9, 2024 · 0 comments · Fixed by #288
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@david-waltermire
Copy link
Contributor

david-waltermire commented Dec 9, 2024

User Story

As a Metapath expression author I need support for Metapath functions that operate on nodes.

Goals

Add support for the following functions that operate on nodes:

  • fn:name Returns the name of a node, as an xs:string that is either the zero-length string, or has the lexical form of an xs:QName.
  • fn:local-name Returns the local part of the name of $arg as an xs:string that is either the zero-length string, or has the lexical form of an xs:NCName.
  • fn:namespace-uri Returns the namespace URI part of the name of $arg, as an xs:anyURI value.
  • [ ] fn:lang This function tests whether the language of $node, or the context item if the second argument is omitted, as specified by xml:lang attributes is the same as, or is a sublanguage of, the language specified by $testlang. This method is not useful, since Metaschema models do not currently have a concept of language. Instead, this is handled at the application layer.
  • fn:root Returns the root of the tree to which $arg belongs. This will usually, but not necessarily, be a document node.
  • (already supported) fn:path Returns a path expression that can be used to select the supplied node relative to the root of its containing document.
  • fn:has-children Returns true if the supplied node has one or more child nodes (of any kind).
  • fn:innermost Returns every node within the input sequence that is not an ancestor of another member of the input sequence; the nodes are returned in document order with duplicates eliminated.
  • fn:outermost Returns every node within the input sequence that has no ancestor that is itself a member of the input sequence; the nodes are returned in document order with duplicates eliminated.

Dependencies

none

Acceptance Criteria

  • All website and readme documentation affected by the changes in this issue have been updated.
  • A Pull Request (PR) is submitted that fully addresses the goals of this User Story. This issue is referenced in the PR.
  • The CI-CD build process runs without any reported errors on the PR. This can be confirmed by reviewing that all checks have passed in the PR.

Revisions

No response

@david-waltermire david-waltermire added the enhancement New feature or request label Dec 9, 2024
@david-waltermire david-waltermire added this to the v2.2.0 milestone Dec 9, 2024
@david-waltermire david-waltermire self-assigned this Dec 9, 2024
@david-waltermire david-waltermire moved this from To Triage to Ready in Spec and Tooling Work Board Dec 9, 2024
@david-waltermire david-waltermire moved this from Ready to In progress in Spec and Tooling Work Board Dec 11, 2024
@david-waltermire david-waltermire moved this from In progress to In review in Spec and Tooling Work Board Dec 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: In review
Development

Successfully merging a pull request may close this issue.

1 participant