Jump to content

Search the Community

Showing results for tags 'xpath'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Bem-vindos ao Portugal-a-Programar
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Wiki P@P
    • Apresentação de Projectos de Programação
    • Downloads
  • Revista PROGRAMAR
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Haskell
    • Pascal
    • Python
    • Bases de Dados
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • Apresentação de Software
  • Informática
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica
    • Automação Industrial
    • Matemática
    • Dúvidas e Discussão de Programação
    • Notícias de Tecnologia
  • Outras Áreas
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categories

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Found 15 results

  1. Rui Carlos

    Slides de XPath (U. Minho)

    Version 2004

    94 downloads

    Slides sobre XPath de curso de curso de Processamento Estruturado de Documentos. Universidade do Minho Departamento de Informática Autor: Professor José Carlos Ramalho
  2. Version 2010/2011

    416 downloads

    Slides de curso de Gestão e Tratamento de Informação. Aborda temas relacionados com o armazenamento de dados em XML, e a manipulação de conteúdos em XML. Instituto Superior Técnico Gestão e Tratamento de Informação Autores: Professora Helena Galhardas, Professor Bruno Graça Martins, Professor Pável Calado Conteúdo Introdução ao XML XML namespaces XPath XSLT XQuery (1ª parte) XQuery (2ª parte) XQuery Update
  3. Version 2010/2011

    438 downloads

    Exercícios de curso de Gestão e Tratamento de Dados. Aborda temas relacionados com o armazenamento de dados em XML, e a manipulação de conteúdos em XML. Instituto Superior Técnico Gestão e Tratamento de Informação Autores: Professora Helena Galhardas, Professor Bruno Graça Martins, Professor Pável Calado Conteúdo Aula laboratório 1 - XML, XPath, XML Schema e XSLT Aula laboratório 2 - XQuery e XSLT Aula laboratório 2 - Documento XML exemplo ( AirFlightsData.xml ) Aula laboratório 3 - XQuery Update Aula laboratório 4 - Expressões regulares e XQuery Full Text Aula laboratório 4 - Documento XML exemplo ( sentencesAndAuthors.xml ) Aula laboratório 5 - Extracção de informação desde documentos HTML Aula laboratório 6 - Extracção de informação desde documentos de texto Aula laboratório 6 - Documento XML exemplo ( teste-locais-raw.xml ) Aula laboratório 6 - Documento XML exemplo ( train-locais.xml ) Aula laboratório 7 - Integração virtual de dados com base em XQuery Aula laboratório 8 - Integração de serviços e mashups com base em XQuery Aula laboratório 9 - Integração de com bases de dados relacionais Aula laboratório 10 - Detecção de duplicados e similaridade entre strings Aula laboratório 11 - Detecção de duplicados e similaridade entre elementos XML Aula laboratório 12 - Consolidação de informação
  4. bushin

    Editar ficheiro XML - xPath?

    Bom dia, conseguem ajudar, tenho o seguinte requisito: Editar ficheiro XML: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <connections xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"> <connection id="1" name="SqlServerConnect" type="100" refreshedVersion="5" savePassword="0" saveData="1"> <extLst> <ext uri="{HE250138-89BD-433C-8126-D09CA5730AF9}" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"> <x15:connection id="123f"> <x15:oledbPr connection="Provider=SQLNCLI11;Data Source=102.109.01.254;Initial Catalog=dbDEV;User ID=007;Persist Security Info=false;Password=TempPass"> <x15:dbCommand text="Select COUNT(1) VOLUME_FROM dbDEV.dbo.vw_DevTest01" /> </x15:oledbPr> </x15:connection> </ext> </extLst> </connection> <connection id="2" keepAlive="1" name="ThisWorkbookDataModel" description="Data Model" type="5" refreshedVersion="5" minRefreshableVersion="5" background="1"> <dbPr connection="Data Model Connection" command="Model" commandType="1" /> <olapPr sendLocale="1" rowDrillCount="1000" /> <extLst> <ext uri="{HE250138-89BD-433C-8126-D09CA5730AF9}" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"> <x15:connection id="" model="1" /> </ext> </extLst> </connection> </connections> O objetivo é conseguir alterar o XML no registo "<x15:oledbPr connection=..:"., mas só estou a conseguir chegar ao Root node. var xDoc = Xdocument.Load(@"C:\Users\Dev\connections.xml"); var ns = XNamespace.Get("http://schemas.openxmlformats.org/spreadsheetml/2006/main"); var connSqlServer = xDoc.Root.Elements(ns + "connection") .FirstOrDefault(x => (int)x.Attribute("id") == 1) .Attribute("savePassword"); connSqlServer.Value = "0"; xDoc.Save(@"C:\Users\Dev\tempConnection.xml"); Alguma dica? Obrigada
  5. Bom dia estou aqui com umas dúvidas se alguém me puder ajudar agradeço muito. Estou a criar um ficheiro xsl que faz uma série de queries xpath a um documento xml e tenho alguns campos que é para contar o numero total desse campo por exemplo (Nº de Livros de livros publicados) Exemplo da árvore XML: <DADOS-AUTOR NOME="Rui Carlos Correia" ID="267"> <PRODUCAO-BIBLIOGRAFICA> <TRABALHOS-EM-EVENTOS> <TRABALHO-EM-EVENTOS....... <ARTIGOS-PUBLICADOS> <ARTIGO-PUBLICADO.......... Eu tenho assim no ficheiro xsl: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <HTML> <BODY> <H1>Lista de Autores</H1> <TABLE border="1"> <TR> <TD><B>Nome do Autor</B></TD> <TD><B>ID do Autorr</B></TD> <TD><B>Publicações de Artigos</B></TD> <xsl:for-each select="//DADOS-AUTOR"> <TR> <TD><xsl:value-of select="@NOME"/></TD> <TD><xsl:value-of select="@ID"/></TD> <TD><xsl:value-of select="count(//ARTIGO-PUBLICADO)"/></TD> </TR> </xsl:for-each> </TABLE> </BODY> </HTML> </xsl:template> </xsl:stylesheet> O problema é que a função count deve estar a devolver-me o total de artigos de todos os autores (tenhos uns 20 autores no total) pois o número que aparece na tabela referente a cada linha do autor é sempre o mesmo. O que estou a fazer de mal? Obrigado
  6. Boa noite, Tenho aqui uma dúvida em relação a uma querie xpath que tenho que fazer num documento XML. Quero que a querie me devolva apenas o ano de produção mas no documento XML esse campo está no formato YYYYMMDD (20130211) e quero retirar apenas o 2013. Alguém sabe como faço? Isto é para utilizar numa aplicação em C# que exporta os dados do XML para uma tabela excel. Obrigado
  7. Rui Carlos

    Slides de XPath (U. Minho)

    Slides de XPath (U. Minho) Ver Ficheiro Slides sobre XPath de curso de curso de Processamento Estruturado de Documentos. Universidade do Minho Departamento de Informática Autor: Professor José Carlos Ramalho Submetido por Rui Carlos Submetido em 20-11-2013 Categoria Textos Académicos Licença Website http://www3.di.uminho.pt/~jcr/XML/CURSOS/MICEI2005/ Submetido pelo Autor? Não
  8. AJBM

    [Resolvido] XPath

    Boas! Tenho este código em xml, <root> <employee id="45"> <name>John</name> <salary>€100,000</salary> </employee> </root> e estou a fazer //* seleccione-me tudo se eu fizer isto // da-me um erro, se eu fizer isto /root/employee/name da me o nome se eu fizer //employee/name tambem obtenho o nome se eu fizer isto ///name da-me erro. Não percebi porque que me dá erros?
  9. Slides de Gestão e Tratamento de Informação (IST) Ver Ficheiro Slides de curso de Gestão e Tratamento de Informação. Aborda temas relacionados com o armazenamento de dados em XML, e a manipulação de conteúdos em XML. Instituto Superior Técnico Gestão e Tratamento de Informação Autores: Professora Helena Galhardas, Professor Bruno Graça Martins, Professor Pável Calado Conteúdo Introdução ao XML XML namespaces XPath XSLT XQuery (1ª parte) XQuery (2ª parte) XQuery Update Submetido por Rui Carlos Submetido em 01-12-2012 Categoria Textos Académicos Licença Website https://fenix.ist.utl.pt/disciplinas/gti/2010-2011/1-semestre/pagina-inicial Submetido pelo Autor? Não
  10. Exercícios de Gestão e Tratamento de Informação (IST) Ver Ficheiro Exercícios de curso de Gestão e Tratamento de Dados. Aborda temas relacionados com o armazenamento de dados em XML, e a manipulação de conteúdos em XML. Instituto Superior Técnico Gestão e Tratamento de Informação Autores: Professora Helena Galhardas, Professor Bruno Graça Martins, Professor Pável Calado Conteúdo Aula laboratório 1 - XML, XPath, XML Schema e XSLT Aula laboratório 2 - XQuery e XSLT Aula laboratório 2 - Documento XML exemplo ( AirFlightsData.xml ) Aula laboratório 3 - XQuery Update Aula laboratório 4 - Expressões regulares e XQuery Full Text Aula laboratório 4 - Documento XML exemplo ( sentencesAndAuthors.xml ) Aula laboratório 5 - Extracção de informação desde documentos HTML Aula laboratório 6 - Extracção de informação desde documentos de texto Aula laboratório 6 - Documento XML exemplo ( teste-locais-raw.xml ) Aula laboratório 6 - Documento XML exemplo ( train-locais.xml ) Aula laboratório 7 - Integração virtual de dados com base em XQuery Aula laboratório 8 - Integração de serviços e mashups com base em XQuery Aula laboratório 9 - Integração de com bases de dados relacionais Aula laboratório 10 - Detecção de duplicados e similaridade entre strings Aula laboratório 11 - Detecção de duplicados e similaridade entre elementos XML Aula laboratório 12 - Consolidação de informação Submetido por Rui Carlos Submetido em 01-12-2012 Categoria Exercícios s/ Solução Licença Website https://fenix.ist.utl.pt/disciplinas/gti/2010-2011/1-semestre/pagina-inicial Submetido pelo Autor? Não
  11. kareka

    position() em XPath

    Boas pessoal! Estou a usar um ficheiro XSLT para fazer transformações de um XML para outro. Nessa transformação listo Proprietarios, o que eu queria é que me dissesse a posição desse Proprietario. Já tentei utilizar o position() mas mostra-me sempre 1. Alguém me pode ajudar?
  12. Viva, Cá vai mais uma dúvida de XML. Tenho algo definido em XML (não interessa bem o que porque é apenas um exemplo) e agora através de transformações XSLT e CSS quero que o XML seja mostrado no browser de uma forma mais agradável ao utilizador. Abaixo segue todo o código que tenho como exemplo: definição XML ; XSD Schema ; folha de estilos CSS ; transformador XSL . XML <?xml version="1.0" encoding="utf-8" ?> <?xml-stylesheet type="text/xsl" href="joke.xsl" ?> <jokes xsi:noNamespaceSchemaLocation="joke.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <joke id="1" category="animals"> <title>Two Cows in a Field</title> <author>John Smith</author> <setup>Two cows are standing in a field eating grass.</setup> <setup>The first cow says: "Moooo!"</setup> <punchline>The second cow says: "Hey, I was just gonna say that!"</punchline> </joke> <joke id="2" category="animals"> <title>Mad Cows</title> <author>Jane Doe</author> <setup>Two cows are talking.</setup> <setup>The first cow: "Hey, did you hear about that mad cow disease?"</setup> <setup>The second cow: "Yeah, but I'm not worried about it."</setup> <setup>The first cow: "Why not?"</setup> <punchline>The second cow: "I'm a duck."</punchline> </joke> </jokes> XSD <?xml version="1.0" encoding="UTF-8"?> <xs:schema elementFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="joke"> <xs:complexType> <xs:sequence> <xs:element name="title" type="xs:string"/> <xs:element name="author" type="xs:string" minOccurs="0"/> <xs:element name="setup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="punchline" type="xs:string"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:unsignedLong"/> <xs:attribute name="category" type="xs:string" use="required"/> </xs:complexType> </xs:element> <xs:element name="jokes"> <xs:complexType> <xs:sequence><xs:element ref="joke" minOccurs="0" maxOccurs="unbounded"/></xs:sequence> </xs:complexType> <xs:unique name="joke-id"> <xs:selector xpath=".//joke"/> <xs:field xpath="@id"/> </xs:unique> </xs:element> </xs:schema> CSS html { margin: 0; padding: 0; } i { color: maroon; } body { font: 75% georgia, sans-serif; line-height: 2; color: white; background: #fff url(cows.gif) repeat top left; margin: 20px; padding: 0; } a:link, a:visited { font-weight: bold; text-decoration: none; color: yellow; } a:hover, a:active { text-decoration: underline; color: white; } p { margin-top: 5px; text-align: justify; } h1 { color: maroon; } h3 { font: italic normal 1.5em georgia, sans-serif; letter-spacing: 1px; margin-bottom: 0; color: maroon; } ul { margin: 20px; } li { line-height: 2ex; margin-bottom: 5px; } XSL <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="jokes"> <html> <head> <title>Jokes</title> <link type="text/css" rel="stylesheet" href="joke.css" /> </head> <body> <h1>Jokes</h1> <ul><xsl:apply-templates select="joke" mode="summary"/></ul> <xsl:apply-templates select="joke" mode="full"/> <hr/> </body> </html> </xsl:template> <xsl:template match="joke" mode="summary"> <li><a href="#{@id}" ><xsl:value-of select="title"/></a></li> </xsl:template> <xsl:template match="joke" mode="full"> <hr/> <h3><a name="#{@id}"><xsl:value-of select="title"/></a></h3> <i><xsl:value-of select="author"/></i> <ul> <xsl:apply-templates select="setup"/> <xsl:apply-templates select="punchline"/> </ul> </xsl:template> <xsl:template match="setup | punchline"> <li> <xsl:value-of select="."/> </li> </xsl:template> </xsl:stylesheet> Dúvida: O XML é perfeitamente mostrado no Firefox 4.0 e Opera 11.10, mas o mesmo não acontece com Google Chrome 12.0.742.12! (Sistema Linux 64 bits) 😡 😡 Alguém tem ideia do que poderá ser? 🤔 cumps
  13. Estou a fazer uns exercícios sobre xml pra um exame e surgiu em mais que um exame, algo que não consigo resolver(esta tudo relacionado) Ignorar os comentários, eram alineas do exame. Aqui vai parte do XML <?xml encoding="UTF-8"?> <!--1a)Falta a versão do xml. <?xml version="1.0" encoding="UTF-8"?>--> <!DOCTYPE eleicao SYSTEM "eleicao.dtd" > <?xml-stylesheet type="text/xsl" href="eleicao.xslt"?> <eleicao> <tipo>presidencial</tipo> <totalEleitores>8806400</totalEleitores> <candidatos> <candidato id="c1" apoios="p2">Acabado</candidato> <candidato id="c2">Cassete</candidato> <candidato id="c3" apoios="p2 p3">Trotska</candidato> </candidatos> <partidos> <partido id="p1" nome="Laranja"/> <partido id="p2" nome="Rosa"/> <partido id="p3" nome="Lima"/> <!--1b)id é o tipo ID, logo unico. não podes existir 2 partidos com o id=p3"--> <partido id="p3" nome="Abacate"/> </partidos> <eleicao> Ao fazer expressões xquery, xslt e xpath notei que se um atributo tiver multiplos ids, não os consigo obter(ou melhor não os consigo separar e percorrer) por exemplo no bocado do xml em baixo <candidato id="c1" apoios="p2">Acabado</candidato> Obter o partido de id="p2" é simples, seja em qualquer tipo de expressão. mas em <candidato id="c3" apoios="p2 p3">Trotska</candidato> não consigo separar o p2 e p3 para obter a informação de cada apoio. Alguém dá uma ajuda, em principio com a ajuda em xpath devo conseguir derivar para xslt e xquery Uma questão extra, se: <candidato id="c1" apoios="p2">Acabado</candidato> Se apoios for definido(no dtd por exemplo) como IDref, so pode ter um ID, se for definido como IDrefs pode ter multiplos ID's. A questão é: Ao ter multiplos ID's, obriga que sejam todos do mesmo tipo(referir o mesmo tipo de elementos) Cumps Blueomega
  14. Boa noite, estou com problemas para fazer um esquema em xml. Em anexo podemos ver um diagrama em UML, onde tenho 3 classes: Empresa, Departamento e Empregado e eu pretendo criar um esquema xml para validar ficheiros que contenham a informação sobre o o diagrama anterior. eu criei o seguinte ficheiro xml de exemplo: <?xml version="1.0" encoding="utf-8" ?> <empresa xmlns="http://example.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://example.com XMLSchemaTeste.xsd" nome="SS" contribuinte="123" idEmpresa="empresa1"> <departamento sigla="AF" idDepart="departamento1"> <area> financeira </area> </departamento> <departamento sigla="AL" idDepart="departamento2"> <area> limpeza </area> </departamento> <empregado idEmp="empregado2"> <nome>Joao</nome> <funcao>TOC</funcao> <refDepartamento depart="departamento1"/> </empregado> </empresa> e o respectivo XML Schema <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://example.com" xmlns:example="http://example.com" targetNamespace="http://example.com" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!-- empresa --> <xs:element name="empresa"> <xs:complexType> <xs:sequence> <xs:element name="departamento" type="departType" maxOccurs="unbounded" /> <xs:element name="empregado" type="empType" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="nome" type="xs:string" use="required " /> <xs:attribute name="contribuinte" type="xs:integer" use="required" /> <xs:attribute name="idEmpresa" type="xs:ID" /> </xs:complexType> </xs:element> <!-- departType --> <xs:complexType name="departType"> <xs:sequence> <xs:element name="area" type="xs:string" /> </xs:sequence> <xs:attribute name="idDepart" type="xs:ID" use="required" /> <xs:attribute name="sigla" type="xs:string" /> </xs:complexType> <!-- empType --> <xs:complexType name="empType"> <xs:sequence maxOccurs="unbounded"> <xs:element name="nome" type="xs:string" /> <xs:element name="funcao" type="xs:string" /> <xs:element name="refDepartamento"> <xs:complexType> <xs:attribute name="depart" type="xs:IDREF" use="required" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="idEmp" type="xs:ID" use="required" /> </xs:complexType> </xs:schema> como podem reparar eu aqui estou a usar ID's para cada elemento e depois para poder refenciar no elemento empregado o departamento correspondente eu usei o IDREF. Bem ele validou-me e não tenho erros....mas coloco dúvidas se estarei a fazer bem!!! eu não quero cometer o erro de repetir informação, por exemplo, eu não quero que aconteço o seguinte: (basta observar dentro do elemento empregado, coloquei um elemento departamento!) <?xml version="1.0" encoding="utf-8" ?> <empresa xmlns="http://example.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://example.com XMLSchemaTeste.xsd" nome="SS" contribuinte="123" idEmpresa="empresa1"> <departamento sigla="AF" idDepart="departamento1"> <area> financeira </area> </departamento> <departamento sigla="AL" idDepart="departamento2"> <area> limpeza </area> </departamento> <empregado idEmp="empregado2"> <nome>Joao</nome> <funcao>TOC</funcao> <departamento sigla="AF" idDepart="departamento1"> <area> financeira </area> </departamento> </empregado> </empresa> Peço que me comentem o que fiz, pois estou completamente a nora, sobre o que estou a fazer e estou muito confusa!! Com análise em alguns livros e exemplos encontrei um exemplo que me confundiu e depois completamente baralhada.... que é o seguinte: <?xml version="1.0" encoding="utf-8" ?> <Company xmlns="http://example.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://example.com XMLSchemaExemplo.xsd"> <Departments> <Department name="Human Resources" building="Building 1" departmentID="hr_dept"/> <Department name="Development" building="Building 2" departmentID="development_dept"/> <Department name="Testing" building="Building 2" departmentID="testing_dept"/> </Departments> <Employees> <Employee name="Oliver" position="Developer" department="development_dept"/> <Employee name="Mwatha" position="Developer" department="development_dept"/> <Employee name="Soyapi" position="Developer" department="development_dept"/> <Employee name="Mike" position="Testing" department="testing_dept"/> </Employees> </Company> e o respectivo xml schema: <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://example.com" xmlns:example="http://example.com" targetNamespace="http://example.com" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!-- Company --> <xs:element name="Company"> <xs:complexType> <xs:sequence> <!-- Departments--> <xs:element name="Departments"> <xs:complexType> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="Department"> <xs:complexType> <xs:attribute name="name" type="xs:string" /> <xs:attribute name="building" type="xs:string" /> <xs:attribute name="departmentID" type="xs:string" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <!-- Employees --> <xs:element name="Employees"> <xs:complexType> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="Employee"> <xs:complexType> <xs:attribute name="name" type="xs:string" /> <xs:attribute name="position" type="xs:string" /> <xs:attribute name="department" type="xs:string" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <!-- KeyDepartmentByID --> <xs:key name="KeyDepartmentByID"> <xs:selector xpath="example:Departments/example:Department" /> <xs:field xpath="@departmentID" /> </xs:key> <!-- RefEmployeeToDepartment --> <xs:keyref name="RefEmployeeToDepartment" refer="example:KeyDepartmentByID"> <xs:selector xpath="example:Employees/example:Employee" /> <xs:field xpath="@department" /> </xs:keyref> </xs:element> </xs:schema> também este não temm erros e valida! Afinal que devo pensar eu e que devo eu fazer??? lolol :wallbash: bom trabalho tofas p.s.: Já agora deixo aqui um excerto de um dado importante: Será que devo concluir que em xml schema devo usar o key e o keyref e o ID/IDREF é para DTD's??? bem sinceramente não sei o que pensar!!
  15. Gostava que me ajudassem a perceber se isto é uma ideia maluca e estou a perder o meu tempo ou se deveria ir em frente... Mas algo me diz que vou desistir. Basicamente, estou com ideias (e até já comecei) em desenvolver um parser em C# para ficheiros XML, que me permita ler e escrever um XML. Mas a ideia é mais complexa do que o que parece... O que eu queria fazer era criar um conjunto de métodos que sejam o mais simples possíveis para ler/escrever no XML mas cada vez mais estou a ver isto demasiado difícil. A ideia era ter um simples método com um par de argumentos (e não muitos) para sacar um valor do XML (no caso da leitura), mas dependendo da complexidade do XML, isto pode ser complicado. Por exemplo, imagine-se o seguinte XML: <root> <section1> <element1>aaa</element1> <element2>bbb</element2> <element3>ccc</element3> </section1> <section2> <element1>aaa</element1> <element2>bbb</element2> </section2> </root> Processar uma coisa do género não é difícil e consegue-se fazer isto bem criando uma API simples de usar. O problema é quando XML é mais complexo: <root> <section1> <element1>aaa</element1> <element2>bbb</element2> <element3>ccc</element3> </section1> <section2 attr1="xyz" attr2="abc"> <element1> <subelement1> <subsubelement1> </subsubelement1> <subsubelement2> <tag1 attr1="xyz" attr2="abc" /> <tag2 attr1="lol" attr2="rotfl" /> <tag3 attr1="123" attr2="452"> <subtag1>Olá Mundo</subtag1> <subtag2>Xau Mundo</subtag2> </tag3> </subsubelement2> </subelement1> </element1> </section2> </root> E isto digamos que é apenas um nível 2 de complexidade quem um XML pode ter. Todos sabem que existem XMLs bastante mais complexos e eu não quero entrar por ai, para a discussão em questão imagine-se que um XML não fica mais confuso que o último exemplo dado. Supondo agora que eu queria sacar o valor da subtag1, o attr2 tag2, attr1 da section2 e por ai fora... Basicamente queria fazer um parser global, que funcionasse para todos estes casos mas de uma forma bem simples (refiro-me à API, internamente não precisa de ser muito simples, desde que funcione bem). Ou seja, um método com o nome do elemento e depois do atributo ou do conteúdo e pronto ficava por ai. Mas sem fazer coisas que considero estúpidas, por exemplo, passar um caminho absoluto para uma expressão a ser usado com XPath. Isto não teria lógica, a ideia é simplificar e o utilizador que vai usar este parser deve-se preocupar o menos possível com toda a hierarquia do ficheiro XML. Acham que estou a perder tempo com algo que não vale a pena? Será que têm ideias/sugestões/comentários/whatever, que me possam ajudar ou fazer mudar de ideias? Não sei bem explicar exactamente aquilo que tenho na minha mente, mas espero que o que acabei de escrever seja suficiente...
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.