Validation problem with profiling and keywords
Having trouble installing Oxygen? Got a bug to report? Post it all here.
-
- Posts: 26
- Joined: Wed Jan 12, 2022 1:07 pm
Validation problem with profiling and keywords
Folks,
I have a ‘conref’ dita file, some keywords of which depend on the value of profiling flags included in, say, profiling.ditaval:
profiling.ditafile:
<prop val="A" att="product" action="include"/>
<prop val="B" att="product" action="exclude"/>
conref.dita:
<p>Gas<keyword id="gas" product="A">Butane</keyword></p>
<p>Gas<keyword id="gas" product="B">Propane</keyword></p>
This causes a validation issue ‘duplicate ID found in the same context’, although A and B are never included at the same time (and, it seems irrespective of the fact that I imported the ditafile using the ditamap manager options).
It’s of course no fatal error, but it’s annoying to have that red line popping up each time I use the keyword in the files. Any idea on how to make it disappear?
Thanks!
I have a ‘conref’ dita file, some keywords of which depend on the value of profiling flags included in, say, profiling.ditaval:
profiling.ditafile:
<prop val="A" att="product" action="include"/>
<prop val="B" att="product" action="exclude"/>
conref.dita:
<p>Gas<keyword id="gas" product="A">Butane</keyword></p>
<p>Gas<keyword id="gas" product="B">Propane</keyword></p>
This causes a validation issue ‘duplicate ID found in the same context’, although A and B are never included at the same time (and, it seems irrespective of the fact that I imported the ditafile using the ditamap manager options).
It’s of course no fatal error, but it’s annoying to have that red line popping up each time I use the keyword in the files. Any idea on how to make it disappear?
Thanks!
-
- Posts: 922
- Joined: Thu May 02, 2019 2:32 pm
Re: Validation problem with profiling and keywords
Post by chrispitude »
Hi Vinny,
Originally I was going to suggest that perhaps Oxygen's duplicate @id check should be relaxed when profiling conditions are applied. But then I realized that the XML itself would still fail the requirement that @id attribute values be unique:
https://www.w3.org/TR/REC-xml/#id
I realized that XML does not know (or care) about DITA profiling conditions; it simply requires that the @id values of all XML elements in the document be unique. To XML, a DITA profiling condition is just another attribute value with no significance beyond that...
Perhaps you could define your keyword like this?
It is not quite as elegant as what you originally had, but it avoids the duplicate @id violation.
Originally I was going to suggest that perhaps Oxygen's duplicate @id check should be relaxed when profiling conditions are applied. But then I realized that the XML itself would still fail the requirement that @id attribute values be unique:
https://www.w3.org/TR/REC-xml/#id
I realized that XML does not know (or care) about DITA profiling conditions; it simply requires that the @id values of all XML elements in the document be unique. To XML, a DITA profiling condition is just another attribute value with no significance beyond that...
Perhaps you could define your keyword like this?
Code: Select all
<keyword id="gas"><text product="A">Butane</text><text product="B">Propane</text></keyword>
-
- Posts: 26
- Joined: Wed Jan 12, 2022 1:07 pm
Re: Validation problem with profiling and keywords
Hello!
Your idea is quite clever. I’ll try that. Thanks for suggesting it!
Have a great weekend,
Vincent
Let’s say it’s a bit unsettling because the transformation engine doesn’t find anything to complain about. The static validation engine seems pernickety in this case (it does, however, a good job of locating other errors).chrispitude wrote: ↑Sat Feb 26, 2022 3:30 pmIt is not quite as elegant as what you originally had, but it avoids the duplicate @id violation.Code: Select all
<keyword id="gas"><text product="A">Butane</text><text product="B">Propane</text></keyword>
Your idea is quite clever. I’ll try that. Thanks for suggesting it!
Have a great weekend,
Vincent
-
- Posts: 9434
- Joined: Fri Jul 09, 2004 5:18 pm
Re: Validation problem with profiling and keywords
Hi,
I endorse Chris' idea of defining the ID attribute on the keyword and placing inside it the conditional phrases.
Actually ID attributes set on inner DITA elements are not xml:ids, the DITA 1.3 specification:
https://www.oxygenxml.com/dita/1.3/spec ... se/id.html
Regards,
Radu
I endorse Chris' idea of defining the ID attribute on the keyword and placing inside it the conditional phrases.
Actually ID attributes set on inner DITA elements are not xml:ids, the DITA 1.3 specification:
https://www.oxygenxml.com/dita/1.3/spec ... se/id.html
So Oxygen has a specific validation check for unique IDs in the context of a DITA topic. Indeed in this case when the content is published with a certain filter, the message may be a bit annoying but in most other cases it's an useful message, especially that at some point people may not be able to fully control what filters are applied on the content at publishing time. Also this case can be fixed by using Chris' idea so I would leave things as they are.Within documents that contain multiple topics, the values of the @id attribute for all non-topic elements that have the same nearest-ancestor-topic element should be unique with respect to each other.
Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
<oXygen/> XML Editor
http://www.oxygenxml.com
Jump to
- Oxygen XML Editor/Author/Developer
- ↳ Feature Request
- ↳ Common Problems
- ↳ DITA (Editing and Publishing DITA Content)
- ↳ SDK-API, Frameworks - Document Types
- ↳ DocBook
- ↳ TEI
- ↳ XHTML
- ↳ Other Issues
- Oxygen XML Web Author
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Content Fusion
- ↳ Feature Request
- ↳ Common Problems
- Oxygen JSON Editor
- ↳ Feature Request
- ↳ Common Problems
- Oxygen PDF Chemistry
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Feedback
- ↳ Feature Request
- ↳ Common Problems
- Oxygen XML WebHelp
- ↳ Feature Request
- ↳ Common Problems
- XML
- ↳ General XML Questions
- ↳ XSLT and FOP
- ↳ XML Schemas
- ↳ XQuery
- NVDL
- ↳ General NVDL Issues
- ↳ oNVDL Related Issues
- XML Services Market
- ↳ Offer a Service