0
나는 내 XML 스키마의 다음과 같은 부분이 있습니다XSD 조건부 논리와 정규식
<xs:element minOccurs="0" maxOccurs="unbounded" name="aux_data">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="field_name" type="xs:string" />
<xs:element minOccurs="0" name="field_value" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
"FIELD_NAME"세 가지 값 중 하나를 가질 수있다 : PAYMENT_DATE, bank_acct 및 amt_due. "field_value"는 각 "field_name"에 대해 다른 정규 표현식과 일치해야합니다.
이 스키마에 대해 다음 Java 코드와 동등한 것은 무엇입니까? 나는 날짜 형식으로 대시를 할 수 없기 때문에, 날짜, 그래서 XS를 사용할 수 있습니다 :
if(field_name.equals("payment_date")) {
field_value.matches(/**regex*/);
}
else if(field_name.equals("bank_acct")) {
field_value.matches(/**another regex*/);
}
I 타입 XS를 사용할 수 없습니다 문자열입니다.
때로는 "메타"디자인 패턴이 적절한 경우가 있습니다 (때로는 다른 형식과의 변환이 쉬워지는 경우가 있습니다). 그러나 XSD가 잘 지원하지 않는 디자인 패턴입니다. –