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:selector</code> element, specified 20 * by the following: 21 * <pre> 22 * <xs:element name="selector" id="selector"> 23 * <xs:annotation> 24 * <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/> 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 34 * in selectors 35 * </xs:documentation> 36 * <xs:documentation> 37 * A utility type, not for public use 38 * </xs:documentation> 39 * </xs:annotation> 40 * <xs:restriction base="xs:token"> 41 * <xs:annotation> 42 * <xs:documentation> 43 * The following pattern is intended to allow XPath 44 * expressions per the following EBNF: 45 * Selector ::= Path ( '|' Path )* 46 * Path ::= ('.//')? Step ( '/' Step )* 47 * Step ::= '.' | NameTest 48 * NameTest ::= QName | '*' | NCName ':' '*' 49 * child:: is also allowed 50 * </xs:documentation> 51 * </xs:annotation> 52 * <xs:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*"> 53 * </xs:pattern> 54 * </xs:restriction> 55 * </xs:simpleType> 56 * </xs:attribute> 57 * </xs:extension> 58 * </xs:complexContent> 59 * </xs:complexType> 60 * </xs:element> 61 * </pre></p> 62 * 63 * @author <a HREF="mailto:joe@ispsoft.de">Jochen Wiedmann</a> 64 */ 65 public interface XsESelector extends XsTAnnotated { 66 public void setXpath(XsToken pXpath); 67 public XsToken getXpath(); 68 } 69