Você está aqui: Página Inicial / Esquemas (XSDs) / oai_lexml.xsd

oai_lexml.xsd

por João Lima publicado 16/10/2008 11h10, última modificação 18/04/2016 11h35
Atualiza com schema da Doutrina

Extensible Markup Language (XML) icon 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>
Pesquisar no LexML
Logotipo do LexML - Rede de informação legislativa e jurídica
Mídias Sociais

Twitter Youtube

Pesquisa de Opinião

Gostou do novo site?

Sim, gostei
Não gostei
Pode melhorar
spinner
Total de votos: 5731

Para pesquisar informação legislativa e jurídica, clique aqui