該xs:annotation元素可以在 XML 模式中用于提供結構化元資訊(xs:documentation對于人,xs:appinfo對于機器)。是否有類似的東西可以允許將此類資訊添加到實體檔案中,或者我們是否僅限于將內容填充到非結構化的 XML 注釋中?
背景/理由
用例將結構化資訊添加到代表 FHIR 驗證器測驗用例的實體檔案中。人類讀者需要了解給定測驗/檔案的意圖,并且測驗框架需要知道它應該在驗證該檔案可能導致的許多錯誤/警告中尋找哪個特定錯誤或警告(因為許多錯誤會導致大量后續錯誤,這些錯誤通常在導致驗證器恐慌的實際錯誤之前很久就得到輸出)。
最終會有數千個測驗用例,每個測驗用例都有幾個測驗步驟/檔案,因此將相關資訊編碼到檔案/目錄名稱中根本不可行。另一方面,我想將測驗檔案及其元資訊保存在一起,而不是將資訊分散到多個檔案中。
為每個檔案添加一個伴隨檔案將使檔案數量增加一倍,并且這將允許成對的兩個檔案發散。使用檔案名作為從某些元檔案/資料庫中檢索元資訊的鍵也是如此。每個目錄都有一個元檔案對人類有一些好處,但這可以通過從檔案中動態收集元資訊(或作為構建步驟)輕松獲得。
如果測驗檔案包含必要的元資料,那么總體上事情就更容易管理。例如,我可以將檔案移動到子目錄should_fail_but_passes直到某些問題得到解決,而無需更改檔案和/或編輯元檔案/資料庫。
uj5u.com熱心網友回復:
你可以使用processing-instructions. 一條處理指令有兩個組成部分,一個目標和可選內容:
https://en.wikipedia.org/wiki/Processing_Instruction
XML 處理指令包含在
<?and?>中,并且包含目標和可選的一些內容,即節點值,不能包含序列?>。
<?PITarget PIContent?>
PI 的優勢在于它在內容標記和 XSD 驗證之外,并且大多數默認呈現都會忽略它。
它提供了一種方便的方式來使用 PItarget作為查找和分類的“關鍵”,然后內容可以包含您決定的任何內容。
因此,如果您的 XML 中有處理指令:
<?expectedError MissingRequiredElementException?>
您可以通過target名稱“expectedError”訪問它:
//processing-instruction("expectedError")
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/411822.html
標籤:
上一篇:Odoo14QWEB報告
