是否可以将属性值用作模式匹配的一部分?
例如xsd:
ValueAnimator translate = ValueAnimator.ofInt(viewX, endX, viewY, endY);
translate.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
int valX = (Integer) valueAnimator.getAnimatedValue("x");
int valY = (Integer) valueAnimator.getAnimatedValue("y");
updateViewLayout(mWindowManager, view2animate, valX, valY, null, null);
}
});
translate.setDuration(1000);
translate.start();
所以基本上MyTestElement中的模式匹配应该包含外部元素name属性的值,这可能吗?
答案 0 :(得分:2)
您无法在xs:pattern
中使用XPath。 xs:pattern
的内容应该是specs 中所说的模式(正则表达式)。
但是,如果您使用的是XSD 1.1,则可以在xs:assert
中使用XPath,如果使用XSD,则可以在xs:key
,xs:keyRef
和xs:unique
中使用某些XPath子集1.0。
例如,如果您使用的是XSD 1.1,则可以使用这样的断言来检查每个<MyTestElement>
是否与模式匹配,或者具有与name属性相同的值。
<xs:assert test="every $MyTestElement in MyTestElement satisfies (string($MyTestElement) = string(@name) or matches(string($MyTestElement), 'pattern'))"/>