Regex 如何使用Schematron测试测试特殊字符?

Regex 如何使用Schematron测试测试特殊字符?,regex,schematron,Regex,Schematron,我正在尝试设置一个schematron测试来验证XML中的特殊字符 更具体地说,我想在出现版权符号(Unicode U+00A9)的地方抛出一个警告 在使用以下任何规则符号时,似乎无法解析schematron xml文件 <iso:rule context="myelement> <iso:report test="matches(., '\u00A9')">{ES1037} Copyright Symbol Detected</iso:report>

我正在尝试设置一个schematron测试来验证XML中的特殊字符

更具体地说,我想在出现版权符号(Unicode U+00A9)的地方抛出一个警告

在使用以下任何规则符号时,似乎无法解析schematron xml文件

<iso:rule context="myelement>
   <iso:report test="matches(., '\u00A9')">{ES1037} Copyright Symbol Detected</iso:report>
</iso:rule> 

<iso:rule context="myelement>
   <iso:report test="matches(., '\u{00A9}')">{ES1037} Copyright Symbol Detected</iso:report>
</iso:rule> 

<iso:rule context="myelement>
   <iso:report test="matches(., '\u{A9}')">{ES1037} Copyright Symbol Detected</iso:report>
</iso:rule> 

<iso:rule context="myelement>
   <iso:report test="matches(., '\x{00A9}')">{ES1037} Copyright Symbol Detected</iso:report>
</iso:rule> 

检测到{ES1037}版权符号
检测到{ES1037}版权符号
有没有知道如何将unicode字符嵌入正则表达式的schematron专家


提前感谢…

您需要将代码编写为字符实体,就像用于XML模式标准一样:

<?xml version="1.0" encoding="UTF-8"?>
<iso:schema xmlns:iso="http://purl.oclc.org/dsdl/schematron">
    <iso:pattern id="unicode in regex">
        <iso:rule context="a">
            <iso:report test="matches(., '&#xa9;')">
                Copyright found
            </iso:report>
        </iso:rule>
    </iso:pattern>
</iso:schema>

版权发现