Ben bu xsd gelen özellik adını ve türünü çıkarmak istedikBir XSD şemasından özellik adı ve türü almak için Xquery?
<!-- tutorial.xsd -->
<xs:schema targetNamespace="http://marklogic.com/tutorial"
attributeFormDefault="unqualified"
elementFormDefault="unqualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="name" type="xs:token"
abstract="false" nillable="false"/>
<xs:element name="qualification" type="xs:token"
abstract="false" nillable="false"/>
<xs:element name="born" type="xs:date"
abstract="false" nillable="false"/>
<xs:element name="dead" type="xs:date"
abstract="false" nillable="false"/>
<xs:element name="isbn" type="xs:unsignedLong"
abstract="false" nillable="false"/>
<xs:attribute name="id" type="xs:ID"/>
<xs:attribute name="available" type="xs:boolean"/>
<xs:attribute name="lang" type="xs:language"/>
<xs:element name="title" abstract="false" nillable="false">
<xs:complexType mixed="false">
<xs:simpleContent>
<xs:extension base="xs:token">
<xs:attribute ref="lang" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="library" abstract="false" nillable="false">
<xs:complexType mixed="false">
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element ref="book" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="author" abstract="false" nillable="false">
<xs:complexType mixed="false">
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element ref="name" minOccurs="1" maxOccurs="1"/>
<xs:element ref="born" minOccurs="1" maxOccurs="1"/>
<xs:element ref="dead" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute ref="id" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="book" abstract="false" nillable="false">
<xs:complexType mixed="false">
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element ref="isbn" minOccurs="1" maxOccurs="1"/>
<xs:element ref="title" minOccurs="1" maxOccurs="1"/>
<xs:element ref="author" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element ref="character" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="id" use="optional"/>
<xs:attribute ref="available" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="character" abstract="false" nillable="false">
<xs:complexType mixed="false">
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element ref="name" minOccurs="1" maxOccurs="1"/>
<xs:element ref="born" minOccurs="1" maxOccurs="1"/>
<xs:element ref="qualification" minOccurs="1"
maxOccurs="1"/>
</xs:sequence>
<xs:attribute ref="id" use="optional"/>
</xs:complexType>
</xs:element>
</xs:schema>
Xsd dosyası var bir senaryoda
https://developer.marklogic.com/learn/2007-04-schema
, marklogic bir öğretici takip ediyordu.
if (xdmp:database-name(xdmp:database()) ne 'Schemas')
then error(
QName('', 'NOT-SCHEMAS'), 'make sure the content-source is Schemas')
else
doc('tutorial.xsd')
/descendant::xs:element/@name
(: results :)
aşağıdaki alıyorum: Aşağıdaki benim XQuery olan
name
qualification
born
dead
isbn
title
library
author
book
character
ama niteliği ve birlikte değerine ihtiyacımız
name xs:token
qualification xs:token
born xs:token
biri bana xquery için yeniden yardım edebilir Bu çıktının üstünde mi?
Çok teşekkürler. Benim günümü yaptın. Xquery için yeniyim. Bu konuda bana yardımcı olduğunuz için teşekkür ederim. – happybayes
sonucu dikkatli bir şekilde gözden geçirdikten sonra bkz. Bazı kopyalar vardır. Boş isimler ve tipler gibi sadece "bir" yazılıdır. Bu kopyaları nasıl çıkaracağımı merak ediyordum? Boş isimleri ve nitelikleri kaldırmak için bir koşulu kullanabileceğim veya yazabileceğim bir işlev var mı? Yardımınız için teşekkür ederiz @Dave Cassel – happybayes
@mani Bir where cümlesi ekledim. FLHOR ifadeleri hakkında daha fazla bilgiyi XQuery ve XSLT Referans Kılavuzu'nun [FLWOR İfadeleri] (http://docs.marklogic.com/guide/xquery/langoverview#id_11626) bölümünde görebilirsiniz. –