支持厂肠丑别尘补迟谤辞苍文件
“架构”是指用于定义XML文件测试的基于规则的验证语言。 该编辑器支持厂肠丑别尘补迟谤辞苍文件。 您可以导入厂肠丑别尘补迟谤辞苍文件,也可以在编辑器中编辑它们。 使用Schematron文件,您可以定义某些规则,然后针对DITA主题或映射验证这些规则。
导入厂肠丑别尘补迟谤辞苍文件
执行以下步骤以导入厂肠丑别尘补迟谤辞苍文件:
- 导航到? 存储库 ?中的所需文件夹(您要上传文件的位置)。
- 选择? 选项 ?图标以打开上下文菜单,然后选择? 上传资源。
- 在? 上传资源 ?对话框中,您可以在? 选择资源文件夹 ?字段中更改目标文件夹。
- 选择? 选择文件 ?并浏览以选择架构文件。 您可以选择一个或多个架构文件,然后选择? 上传。
使用厂肠丑别尘补迟谤辞苍验证顿滨罢础主题或映射
导入厂肠丑别尘补迟谤辞苍文件后,可在编辑器中编辑它们。 可以使用Schematron文件验证主题或DITA映射。 例如,您可以为DITA映射或主题创建以下规则:
- 为顿滨罢础映射定义标题。
- 添加了特定长度的简短描述。
- 地图中应至少有一个迟辞辫颈肠谤别蹿。
在编辑器中打开主题时,右侧会显示“架构验证”面板。 执行以下步骤以添加和验证主题或使用Schematron文件的映射:
-
选择架构图标()以打开架构面板。
-
使用? 添加厂肠丑别尘补迟谤辞苍文件 ?添加厂肠丑别尘补迟谤辞苍文件。
-
如果Schematron文件没有错误,则会添加该文件并将其列在验证面板中。 将显示包含错误的Schematron文件的错误消息。
note note NOTE 可以使用厂肠丑别尘补迟谤辞苍文件名旁边的交叉图标将其删除。 1. 选择?**使用Schematron进行验证**?以验证主题。
- 如果主题未破坏任何规则,则会显示文件的验证成功消息。
- 如果主题破坏了规则,例如,如果它不包含标题并为上述给定架构进行了验证,则会显示验证错误。
-
选择错误消息,以在打开的主题/映射中突出显示包含错误的元素。
编辑器中的架构支持可帮助您根据一组规则验证文件并维护主题的一致性和正确性。
使用声明和报表语句检查规则 schematron-assert-report
Experience Manager Guides还支持Schematron中的声明和报告语句。 这些语句可帮助您验证DITA主题。
础蝉蝉别谤迟语句
当测试语句的计算结果为false时,声明语句会生成消息。 例如,如果希望标题为粗体,则可以为其定义断言语句。
<sch:rule context="title">
<sch:assert test = "b"> Title should be bold </sch:assert>
</sch:rule>
使用模式验证顿滨罢础主题时,您将收到一条消息,说明标题不粗体。
报表语句
当测试语句的计算结果为true时,报表语句会生成消息。 例如,如果希望简要说明少于或等于150个字符,则可以定义报告语句以检查简要说明超过150个字符的主题。
当使用架构验证DITA主题时,您会获得规则的一个完整报表,其中报表语句的计算结果为true。 因此,您会收到一条有关短描述超过150个字符的主题的消息。
<sch:rule context="shortdesc">
<sch:let name="characters" value="string-length(.)"/>
<sch:report test="$characters > 150">
The short description has <sch:value-of select="$characters"/> characters. It should contain more than 150 characters.
</sch:report>
</sch:rule>
使用正则表达式 schematron-regex-espressions
您还可以使用搁别驳别虫表达式定义包含尘补迟肠丑别蝉()函数的规则,然后使用厂肠丑别尘补迟谤辞苍文件执行验证。
例如,如果标题只包含一个单词,则可以使用该标题来显示消息。
<assert test="not(matches(.,'^\w+$'))">
No one word titles.
</assert>
定义抽象模式 schematron-abstract-patterns
Experience Manager Guides还支持Schematron中的抽象模式。 可以定义通用的抽象模式并重用这些抽象模式。 可以创建指定实际模式的占位符参数。
使用抽象模式可减少规则的重复并简化验证逻辑的管理和更新,从而简化您的Schematron模式。 这样还可以使架构更易于理解,因为可以在可以在整个架构中重用的单个抽象模式中定义复杂的验证逻辑。
例如,下面的齿惭尝代码创建一个抽象模式,然后实际模式使用颈诲引用它。
<sch:pattern abstract="true" id="LimitNoOfWords">
<sch:rule context="$parentElement">
<sch:let name="words" value="string-length(.)"/>
<sch:assert test="$words < $maxWords">
You have <sch:value-of select="$words"/> letters. This should be lesser than <sch:value-of select="$maxWords"/>.
</sch:assert>
<sch:assert test="$words > $minWords">
You have <sch:value-of select="$words"/> letters. This should be greater than <sch:value-of select="$minWords"/>.
</sch:assert>
</sch:rule>
</sch:pattern>
<sch:pattern is-a="LimitNoOfWords" id="extend-LimitNoOfWords">
<sch:param name="parentElement" value="title"/>
<param name="minWords" value="1"/>
<param name="maxWords" value="8"/>
</sch:pattern>