Comments (6)
My interpretation of the specs is that abstract pattern parameters are meant to be substituted in query language expressions only.
This is consistent with the following parts of the 2020 specification:
- The definition of the param element defines the @value attribute to contain "a fragment of a query" (5.4.9).
- A query language binding may optionally provide "a lexical convention such as a delimiter by which the parameters of abstract patterns inside query expressions shall be recognised" (6.4).
- The informative section about the minimal syntax in the 2020 specification describes the process of instantiation as "replacing
parameter references with actual parameter values in all enclosed attributes that contain queries" (6.2).
I would also argue that replacing abstract pattern parameters inside the natural language assertion message is at odds with diagnostics in general and localized messages in particular.
from schematron-enhancement-proposals.
from schematron-enhancement-proposals.
from schematron-enhancement-proposals.
I think there are two issues:
- Should abstract pattern parameters expand in queries of properties and diagnostics?
- Should abstract pattern parameters expand in texts (and non-query attributes)?
Re 1: @rjelliffe, you made a compelling argument to do so. We should clarify that. A good place to start would be the (informal) description of pattern instantiation.
Re 2: This would be an enhancement of the pattern templating mechanism.
from schematron-enhancement-proposals.
My interpretation of the specs is that abstract pattern parameters are meant to be substituted in query language expressions only. [...]
I would also argue that replacing abstract pattern parameters inside the natural language assertion message is at odds with diagnostics in general and localized messages in particular.
I agree with this view.
Should abstract pattern parameters expand in texts (and non-query attributes)? [...] This would be an enhancement of the pattern templating mechanism.
To keep things simple, clear and consistent, I would say the existing provision of value-of
is enough.
A concise and effective change here might be to add a note to the definition of the term variable (3.23), e.g.
"Variables are represented in schemas by elements let
and param
."
The desired clarification then ripples through to value-of
and also for property
and diagnostic
(by dint of the change made for #13).
This would also address #19.
from schematron-enhancement-proposals.
from schematron-enhancement-proposals.
Related Issues (20)
- 03.24 subject [ref. JP16 017] HOT 2
- 05.03 Whitespace [ref. JP19 021] HOT 3
- 05.05.14 subject attribute [ref. JP31 032] HOT 2
- 06. Semantics [ref. JP32 034] HOT 2
- Update XSLT 1.0 URL HOT 1
- Add attribute named e.g. 'severity' to schematron with well defined semantics for reporting severity levels HOT 8
- pattern/@documents: rules apply only to subordinate documents? HOT 3
- pattern/@documents: pattern variables in scope? HOT 6
- pattern/@documents: definition of behaviour HOT 1
- Defining namespaces HOT 5
- pattern/@document should allow variable that is a document HOT 1
- Ability for role value to be dynamic or different per phase HOT 9
- ISO Schematron iso-schematron.rng license issue HOT 9
- Define the process of importing (include,extending, etc.) definitions from an external ISO Schematron schema HOT 3
- Overrides on sch:include[@href] & sch:extends[@href]
- Clarify ordering of certain elements HOT 1
- SVRL element for compilation and runtime errors HOT 5
- Clarify support for XPath 4.0 or XSLT/XQuery 4.0 HOT 3
- Enhancement for sch:phase - @test HOT 9
- Enhancement for sch:phase - @start-at
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from schematron-enhancement-proposals.