1 /* 2 * Copyright 2003, 2004 The Apache Software Foundation 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 16 */ 17 package org.apache.ws.jaxme.xs.xml; 18 19 /** <p>Interface of the <code>xs:field</code> element, with the 20 * following specification: 21 * <pre> 22 * <xs:element name="field" id="field"> 23 * <xs:annotation> 24 * <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/> 25 * </xs:annotation> 26 * <xs:complexType> 27 * <xs:complexContent> 28 * <xs:extension base="xs:annotated"> 29 * <xs:attribute name="xpath" use="required"> 30 * <xs:simpleType> 31 * <xs:annotation> 32 * <xs:documentation> 33 * A subset of XPath expressions for use in fields 34 * </xs:documentation> 35 * <xs:documentation> 36 * A utility type, not for public use 37 * </xs:documentation> 38 * </xs:annotation> 39 * <xs:restriction base="xs:token"> 40 * <xs:annotation> 41 * <xs:documentation> 42 * The following pattern is intended to allow XPath 43 * expressions per the same EBNF as for selector, 44 * with the following change: 45 * Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest ) 46 * </xs:documentation> 47 * </xs:annotation> 48 * <xs:pattern value="(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*))))(\|(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*)))))*"> 49 * </xs:pattern> 50 * </xs:restriction> 51 * </xs:simpleType> 52 * </xs:attribute> 53 * </xs:extension> 54 * </xs:complexContent> 55 * </xs:complexType> 56 * </xs:element> 57 * </pre></p> 58 * 59 * @author <a HREF="mailto:joe@ispsoft.de">Jochen Wiedmann</a> 60 */ 61 public interface XsEField extends XsTAnnotated { 62 public void setXpath(XsToken pXpath); 63 public XsToken getXpath(); 64 } 65