org.deegree.commons.xml.XPath类的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(9.1k)|赞(0)|评价(0)|浏览(186)

本文整理了Java中org.deegree.commons.xml.XPath类的一些代码示例,展示了XPath类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XPath类的具体详情如下:
包路径:org.deegree.commons.xml.XPath
类名称:XPath

XPath介绍

[英]TODO add documentation here
[中]TODO在此处添加文档

代码示例

代码示例来源:origin: deegree/deegree3

  1. private XPath getXPath( String attribute ) {
  2. return new XPath( "//" + CSW_202_PREFIX + ":TransactionResponse/" + CSW_202_PREFIX + ":TransactionSummary/"
  3. + CSW_202_PREFIX + ":" + attribute, nsContext );
  4. }

代码示例来源:origin: deegree/deegree3

  1. private AXIOMXPath getAXIOMXPath( XPath xpath )
  2. throws JaxenException {
  3. AXIOMXPath compiledXPath = new AXIOMXPath( xpath.getXPath() );
  4. compiledXPath.setNamespaceContext( xpath.getNamespaceContext() );
  5. return compiledXPath;
  6. }

代码示例来源:origin: deegree/deegree3

  1. private AXIOMXPath getAsXPath( ValueReference propName )
  2. throws JaxenException {
  3. AXIOMXPath path;
  4. XPath xPathFromCQP = ISOCQPMapping.getXPathFromCQP( propName.getAsQName(), getType() );
  5. if ( xPathFromCQP != null )
  6. path = new AXIOMXPath( xPathFromCQP.getXPath() );
  7. else
  8. path = new AXIOMXPath( propName.getAsText() );
  9. path.setNamespaceContext( ns );
  10. return path;
  11. }

代码示例来源:origin: deegree/deegree3

  1. private XPath getEOPath( String type ) {
  2. return new XPath( "./rim:RegistryObjectList/rim:ExtrinsicObject[@objectType='" + type + "']", ns );
  3. }

代码示例来源:origin: deegree/deegree3

  1. public static List<QName> extractQNames( XPath xpath ) {
  2. List<QName> list = new ArrayList<QName>();
  3. try {
  4. Expr expr = new BaseXPath( xpath.getXPath(), null ).getRootExpr();
  5. if ( expr instanceof LocationPath ) {
  6. LocationPath lp = (LocationPath) expr;
  7. for ( Object o : lp.getSteps() ) {
  8. findQName( list, (Step) o, xpath.getNamespaceContext() );
  9. }
  10. }
  11. } catch ( JaxenException e ) {
  12. // not a proper xpath
  13. }
  14. return list;
  15. }

代码示例来源:origin: deegree/deegree3

  1. /**
  2. * @return
  3. */
  4. private List<String> parseSections() {
  5. String section = getNodeAsString( rootElement, new XPath( "/" + WCS_PREFIX + "GetCapabilities/" + WCS_PREFIX
  6. + ":section", nsContext ), "/" );
  7. List<String> result = new ArrayList<String>( 1 );
  8. result.add( section );
  9. return result;
  10. }
  11. }

代码示例来源:origin: deegree/deegree3

  1. private List<String> parse200Languages() {
  2. List<OMElement> languageElements = getElements( rootElement,
  3. new XPath( "ows200:AcceptLanguages/ows200:Language", nsContext ) );
  4. List<String> languages = new ArrayList<String>();
  5. for ( OMElement languageElement : languageElements ) {
  6. String language = languageElement.getText();
  7. languages.add( language );
  8. }
  9. return languages;
  10. }

代码示例来源:origin: deegree/deegree3

  1. private List<String> parse200Formats() {
  2. List<OMElement> formatElements = getElements( rootElement,
  3. new XPath( "ows200:AcceptFormats/ows200:OutputFormat", nsContext ) );
  4. List<String> formats = new ArrayList<String>( formatElements.size() );
  5. for ( OMElement formatElement : formatElements ) {
  6. formats.add( formatElement.getText() );
  7. }
  8. return formats;
  9. }

代码示例来源:origin: deegree/deegree3

  1. private String parseOutputCRS( String defaultCRS ) {
  2. return getNodeAsString( rootElement, new XPath( "/" + WCS_PREFIX + ":GetCoverage/" + WCS_PREFIX + ":output/"
  3. + WCS_PREFIX + ":crs", wcsNSContext ), defaultCRS );
  4. }

代码示例来源:origin: deegree/deegree3

  1. private BBoxOutputType parseBBoxOutput( OMElement bboxData, CodeType id, LanguageString outputTitle,
  2. LanguageString outputAbstract ) {
  3. XPath xpath = new XPath( "Default/CRS", nsContext );
  4. String defaultCrs = omResponse.getElement( bboxData, xpath ).getText();
  5. xpath = new XPath( "Supported/CRS", nsContext );
  6. List<OMElement> omSupported = omResponse.getElements( bboxData, xpath );
  7. String[] supportedCrs = new String[omSupported.size()];
  8. for ( int i = 0; i < omSupported.size(); i++ ) {
  9. supportedCrs[i] = omSupported.get( i ).getText();
  10. }
  11. return new BBoxOutputType( id, outputTitle, outputAbstract, defaultCrs, supportedCrs );
  12. }

代码示例来源:origin: deegree/deegree3

  1. private BBoxInputType parseBBoxData( OMElement input, CodeType id, LanguageString inputTitle,
  2. LanguageString inputAbstract, String minOccurs, String maxOccurs ) {
  3. XPath xpath = new XPath( "Default/CRS", nsContext );
  4. String defaultCRS = omResponse.getElement( input, xpath ).getText();
  5. xpath = new XPath( "Supported/CRS", nsContext );
  6. List<OMElement> omSupported = omResponse.getElements( input, xpath );
  7. String[] supportedCRSs = new String[omSupported.size()];
  8. for ( int i = 0; i < omSupported.size(); i++ ) {
  9. supportedCRSs[i] = omSupported.get( i ).getText();
  10. }
  11. return new BBoxInputType( id, inputTitle, inputAbstract, minOccurs, maxOccurs, defaultCRS, supportedCRSs );
  12. }

代码示例来源:origin: deegree/deegree3

  1. private String parseSRSName( OMElement envelope, String defaultSRS ) {
  2. return getNodeAsString( envelope, new XPath( "@srsName", wcsNSContext ), defaultSRS );
  3. }

代码示例来源:origin: deegree/deegree3

  1. public ResolveParams parseStandardResolveParameters110( OMElement requestEl ) {
  2. String traverseXlinkDepth = getNodeAsString( rootElement, new XPath( "@traverseXlinkDepth", nsContext ), null );
  3. String traverseXlinkExpiryStr = getNodeAsString( rootElement, new XPath( "@traverseXlinkExpiry", nsContext ),
  4. null );
  5. BigInteger resolveTimeout = null;
  6. if ( traverseXlinkExpiryStr != null ) {
  7. resolveTimeout = new BigInteger( traverseXlinkExpiryStr ).multiply( BigInteger.valueOf( 60 ) );
  8. }
  9. return new ResolveParams( null, traverseXlinkDepth, resolveTimeout );
  10. }

代码示例来源:origin: deegree/deegree3

  1. /**
  2. * Returns whether the record is a service metadata record.
  3. * <ul>
  4. * <li>Data Metadata: /gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='dataset' (or missing) or 'series' or
  5. * 'application'</li>
  6. * <li>Service Metadata: /gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='service'</li>
  7. * </ul>
  8. *
  9. * @return <code>true</code>, if the record is a service metadata record, <code>false</code> otherwise (implies data
  10. * metadata record)
  11. */
  12. public boolean isServiceRecord() {
  13. XPath xpath = new XPath( "gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue", ns );
  14. String scopeCode = getStringFromXPath( xpath );
  15. // TODO should this check be more fail safe?
  16. return scopeCode != null && scopeCode.equals( "service" );
  17. }

代码示例来源:origin: deegree/deegree3

  1. @Override
  2. public List<WFSFeatureType> parseFeatureTypeList() {
  3. List<OMElement> ftEls = getElements( rootElement, new XPath( "wfs:FeatureTypeList/wfs:FeatureType", nsContext ) );
  4. List<WFSFeatureType> fts = new ArrayList<WFSFeatureType>( ftEls.size() );
  5. for ( OMElement ftEl : ftEls ) {
  6. fts.add( parseFeatureType( ftEl ) );
  7. }
  8. return fts;
  9. }

代码示例来源:origin: deegree/deegree3

  1. @Override
  2. public List<WFSFeatureType> parseFeatureTypeList() {
  3. List<OMElement> ftEls = getElements( rootElement, new XPath( "wfs:FeatureTypeList/wfs:FeatureType", nsContext ) );
  4. List<WFSFeatureType> fts = new ArrayList<WFSFeatureType>( ftEls.size() );
  5. for ( OMElement ftEl : ftEls ) {
  6. fts.add( parseFeatureType( ftEl ) );
  7. }
  8. return fts;
  9. }

代码示例来源:origin: deegree/deegree3

  1. private StoredQuery parseStoredQuery200( OMElement queryEl ) {
  2. // <xsd:attribute name="handle" type="xsd:string"/>
  3. String handle = getNodeAsString( queryEl, new XPath( "@handle", nsContext ), null );
  4. // <xsd:attribute name="id" type="xsd:anyURI" use="required"/>
  5. String id = getRequiredNodeAsString( queryEl, new XPath( "@id", nsContext ) );
  6. // <xsd:element name="Parameter" type="wfs:ParameterType" minOccurs="0" maxOccurs="unbounded"/>
  7. Map<String, OMElement> paramToValue = new HashMap<String, OMElement>();
  8. List<OMElement> paramEls = getElements( queryEl, new XPath( "wfs200:Parameter", nsContext ) );
  9. for ( OMElement paramEl : paramEls ) {
  10. String paramName = getRequiredNodeAsString( paramEl, new XPath( "@name", nsContext ) );
  11. paramToValue.put( paramName.toUpperCase(), paramEl );
  12. }
  13. return new StoredQuery( handle, id, paramToValue );
  14. }

代码示例来源:origin: deegree/deegree3

  1. @Override
  2. public List<String> parseLanguages() {
  3. OMElement languagesEl = getElement( getRootElement(), new XPath( "ows:Languages", nsContext ) );
  4. if ( languagesEl == null ) {
  5. return null;
  6. }
  7. String[] langs = getNodesAsStrings( languagesEl, new XPath( "ows:Language", nsContext ) );
  8. List<String> languages = new ArrayList<String>();
  9. for ( String language : langs ) {
  10. languages.add( language );
  11. }
  12. return languages;
  13. }

代码示例来源:origin: deegree/deegree3

  1. private List<Pair<String, String>> parseIdentifiers( OMElement lay ) {
  2. List<Pair<String, String>> identifiers = new ArrayList<Pair<String, String>>();
  3. List<OMElement> identiferElements = getElements( lay, new XPath( getPrefix() + "Identifier", nsContext ) );
  4. for ( OMElement identifierElement : identiferElements ) {
  5. String id = identifierElement.getText();
  6. if ( id != null && id.length() > 0 ) {
  7. String authority = getNodeAsString( identifierElement, new XPath( "@authority" ), null );
  8. identifiers.add( new Pair<String, String>( id, authority ) );
  9. }
  10. }
  11. return identifiers;
  12. }

代码示例来源:origin: deegree/deegree3

  1. private List<QName> parseFeatureTypes( OMElement el ) {
  2. String returnFtsStr = getRequiredNodeAsString( el, new XPath( "@returnFeatureTypes", nsContext ) ).trim();
  3. if ( "".equals( returnFtsStr ) )
  4. return new ArrayList<QName>();
  5. String[] tokens = StringUtils.split( returnFtsStr, " " );
  6. if ( tokens.length == 1 && "${deegreewfs:ServedFeatureTypes}".equals( tokens[0] ) )
  7. return new ArrayList<QName>();
  8. List<QName> returnFtNames = new ArrayList<QName>( tokens.length );
  9. for ( String token : tokens ) {
  10. returnFtNames.add( parseQName( token, el ) );
  11. }
  12. return returnFtNames;
  13. }
  14. }

相关文章