oai_lexml.xsd
Atualiza com schema da Doutrina
oai_lexml.xsd
—
Extensible Markup Language (XML),
13 KB (13591 bytes)
Conteúdo do arquivo
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:lexml="http://www.lexml.gov.br/oai_lexml" xmlns:xml="http://www.w3.org/XML/1998/namespace" targetNamespace="http://www.lexml.gov.br/oai_lexml" elementFormDefault="qualified" attributeFormDefault="unqualified" xml:lang="PT">
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
<xs:element name="LexML" type="lexml:LexMLType">
<xs:annotation>
<xs:documentation>
XML Schema for the OAI LexML Standard
Standard Version 1.0, 2008-12-13
João Oliveira
Prodasen
History:
2013-05-27: adiciona campos específicos de doutrina (laurocesar)
2011-11-28: atributo nota no Item para casos em de tipo="conteudo.indisponivel"
2011-11-02: application/vnd.ms-excel mime type added
2008-08-25: openoffice2 and and Sun StarOffice8 mime types added
2008-08-24: allowing tags p,b,i,u,s,sup,sub inside Ementa,
tag Item is now optional and unbounded
2008-08-13 release: v0.7
References:
- Formato de Item utiliza mime-type: http://www.iana.org/assignments/media-types/
- Códigos Idiomas: http://www.ietf.org/rfc/rfc3066.txt
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="LexMLType">
<xs:annotation>
<xs:documentation>
Cada instância deste elemento corresponde a um Item que poderá ser relacionado
a um identificador de documento (principal ou anexo) e a outros identificadores (publicação oficial,
sucesso lógico, equivalente a).
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Item" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>URL do Item com atributo Formato (subconjunto dos valores da tabela de mime-types) </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attributeGroup ref="lexml:ItemAtributeGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="DocumentoIndividual" type="lexml:DocumentoIndividualType">
<xs:annotation>
<xs:documentation>URN no padrão URN LexML
Informar a URN do documento individual contido no Item.
No caso do Item conter mais de um documento individual, deve-se gerar um registro para cada um.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Epigrafe" type="lexml:CampoTextoComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Apelido" type="lexml:CampoTextoComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Ementa" type="lexml:CampoTextoComTagsComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Indexacao" type="lexml:CampoTextoComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Catalogo" type="lexml:CampoTextoComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<!-- Campos específicos de doutrina -->
<xs:element name="DoutrinaAutor" type="lexml:CampoTextoComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DoutrinaTitulo" type="lexml:CampoTextoComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DoutrinaForma" type="lexml:CampoTextoComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DoutrinaLingua" type="lexml:CampoTextoComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DoutrinaAno" type="lexml:CampoTextoComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DoutrinaResponsabilidade" type="lexml:CampoTextoComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DoutrinaClasse" type="lexml:CampoTextoComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DoutrinaImprenta" type="lexml:CampoTextoComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DoutrinaEdicao" type="lexml:CampoTextoComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DoutrinaDescricaoFisica" type="lexml:CampoTextoComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DoutrinaISBN" type="lexml:CampoTextoComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DoutrinaOculto" type="lexml:CampoTextoComIdiomaType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Relacionamento" type="lexml:RelacionamentoType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>URN no padrão URN LexML adicionada de atributo TipoRelacionamento para indicar se é uma "publicacao.oficial", "sucessor.logico.de" ou "equivalente.a"</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RelacionamentoType">
<xs:simpleContent>
<xs:extension base="lexml:URNType">
<xs:attribute name="tipo" type="lexml:TipoRelacionamentoType"/>
<xs:attribute name="idPublicador" type="lexml:idPublicador"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="CampoTextoComIdiomaType" abstract="false">
<xs:annotation>
<xs:documentation>Campo Texto com atributo de idioma default</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="xml:lang" default="pt-BR"/>
</xs:extension>
<!--xs:attribute ref="xml:lang" use="optional" default="pt-BR"/-->
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="CampoTextoComTagsComIdiomaType" abstract="false" block="extension" mixed="true">
<xs:annotation>
<xs:documentation>Campo Texto e algumas tags html, com atributo de idioma default</xs:documentation>
</xs:annotation>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="s" type="lexml:CampoTextoComTagsComIdiomaType"/>
<xs:element name="u" type="lexml:CampoTextoComTagsComIdiomaType"/>
<xs:element name="b" type="lexml:CampoTextoComTagsComIdiomaType"/>
<xs:element name="p" type="lexml:CampoTextoComTagsComIdiomaType"/>
<xs:element name="i" type="lexml:CampoTextoComTagsComIdiomaType"/>
<xs:element name="sup" type="lexml:CampoTextoComTagsComIdiomaType"/>
<xs:element name="sub" type="lexml:CampoTextoComTagsComIdiomaType"/>
</xs:choice>
<xs:attributeGroup ref="lexml:IdiomaAtributeGroup"/>
</xs:complexType>
<xs:complexType name="DocumentoIndividualType">
<xs:complexContent>
<xs:extension base="lexml:URNType"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="URNType" abstract="false">
<xs:annotation>
<xs:documentation>Tipo URN</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="lexml:REGEXURNType"/>
</xs:simpleContent>
</xs:complexType>
<xs:attributeGroup name="IdiomaAtributeGroup">
<xs:attribute ref="xml:lang" use="optional" default="pt-BR"/>
</xs:attributeGroup>
<xs:attributeGroup name="ItemAtributeGroup">
<xs:attribute name="tipo" type="lexml:TipoItemType" use="optional" default="conteudo"/>
<xs:attribute name="formato" type="lexml:FormatoIdentificadorItemType" use="optional"/>
<xs:attribute name="idPublicador" type="lexml:idPublicador" use="required"/>
<xs:attribute name="qtdPaginas" type="xs:integer" use="optional"/>
<xs:attribute name="nota" type="xs:string" use="optional"/>
</xs:attributeGroup>
<xs:simpleType name="FormatoIdentificadorItemType">
<xs:annotation>
<xs:documentation>Subconjunto mais frequente de tipos mime.
IANA - MIME MEDIA TYPES
http://www.iana.org/assignments/media-types/
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="application/vnd.sun.xml.writer"/>
<xs:enumeration value="application/vnd.sun.xml.impress"/>
<xs:enumeration value="vnd.oasis.opendocument.graphics"/>
<xs:enumeration value="vnd.oasis.opendocument.image"/>
<xs:enumeration value="vnd.oasis.opendocument.presentation"/>
<xs:enumeration value="vnd.oasis.opendocument.spreadsheet"/>
<xs:enumeration value="vnd.oasis.opendocument.text"/>
<xs:enumeration value="vnd.oasis.opendocument.text-master"/>
<xs:enumeration value="vnd.oasis.opendocument.text-web"/>
<xs:enumeration value="application/vnd.oasis.opendocument.spreadsheet"/>
<xs:enumeration value="application/vnd.oasis.opendocument.text"/>
<xs:enumeration value="application/vnd.ms-excel"/>
<xs:enumeration value="application/mpeg4-generic"/>
<xs:enumeration value="application/mp4"/>
<xs:enumeration value="application/msword"/>
<xs:enumeration value="application/ogg"/>
<xs:enumeration value="application/pdf"/>
<xs:enumeration value="application/postscript"/>
<xs:enumeration value="application/rtf"/>
<xs:enumeration value="application/sgml"/>
<xs:enumeration value="application/xhtml+xml"/>
<xs:enumeration value="application/xml"/>
<xs:enumeration value="application/zip"/>
<xs:enumeration value="audio/ac3"/>
<xs:enumeration value="audio/mp4"/>
<xs:enumeration value="audio/mpeg"/>
<xs:enumeration value="audio/mpeg4-generic"/>
<xs:enumeration value="audio/ogg"/>
<xs:enumeration value="image/gif"/>
<xs:enumeration value="image/png"/>
<xs:enumeration value="image/jpeg"/>
<xs:enumeration value="image/tiff"/>
<xs:enumeration value="image/bmp"/>
<xs:enumeration value="text/plain"/>
<xs:enumeration value="text/html"/>
<xs:enumeration value="text/xml"/>
<xs:enumeration value="text/sgml"/>
<xs:enumeration value="text/rtf"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TipoItemType">
<xs:restriction base="xs:string">
<xs:enumeration value="metadado"/>
<xs:enumeration value="conteudo"/>
<xs:enumeration value="conteudo.anotado"/>
<xs:enumeration value="conteudo.indisponivel"/>
<xs:enumeration value="objeto.fisico"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TipoRelacionamentoType">
<xs:annotation>
<xs:documentation>Enumerações possíveis para o atributo TipoRelacionamento</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="sucessor.logico.de"/>
<xs:enumeration value="publicacao.oficial"/>
<xs:enumeration value="equivalente.a"/>
<xs:enumeration value="parecer.de"/>
<xs:enumeration value="parte.de"/>
<xs:enumeration value="peticao.inicial.de"/>
<xs:enumeration value="emenda.de"/>
<xs:enumeration value="declara.inconstitucional"/>
<xs:enumeration value="declara.inconstitucional.dispositivo"/>
<xs:enumeration value="referencia"/>
<xs:enumeration value="membro.de"/>
<xs:enumeration value="sucessivo.ou.precedente.de"/>
<xs:enumeration value="revoga"/>
<xs:enumeration value="revoga.dispositivo"/>
<xs:enumeration value="regulamenta"/>
<xs:enumeration value="altera"/>
<xs:enumeration value="correlato.a"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="REGEXURNType">
<xs:restriction base="xs:string">
<xs:pattern value="urn:lex(:[a-zA-Z0-9;!\\\-@/$~\._\[\],]+)+"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ItemURNType"/>
<xs:simpleType name="ItemanyURNType">
<xs:restriction base="xs:anyURI">
<xs:minLength value="6"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="idPublicador">
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:schema>


