elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [RETO] Generador de DTD a partir de XML
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [RETO] Generador de DTD a partir de XML  (Leído 5,484 veces)
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
[RETO] Generador de DTD a partir de XML
« en: 23 Mayo 2012, 13:00 pm »

Pues eso, un generador de DTD's a partir de un XML. Los que he visto por la web son muy malos, a ver si somos capaces de hacer algo decente.  :silbar:



Información:
Código:
http://es.wikipedia.org/wiki/Definici%C3%B3n_de_tipo_de_documento
http://www.w3schools.com/dtd/dtd_intro.asp


    Ejemplo:

    Agregamos un TextBox con Multiline=True y le ponemos esto:
    Código:
    <?xml version="1.0"?>
    <!DOCTYPE DatabaseInventory SYSTEM "DatabaseInventory.dtd">

    <DatabaseInventory>

      <DatabaseName>
        <GlobalDatabaseName>production.iDevelopment.info</GlobalDatabaseName>
        <OracleSID>production</OracleSID>
        <DatabaseDomain>iDevelopment.info</DatabaseDomain>
        <Administrator EmailAlias="jhunter" Extension="6007">Jeffrey Hunter</Administrator>
        <DatabaseAttributes Type="Production" Version="9i"/>
        <Comments>
          The following database should be considered the most stable for
          up-to-date data. The backup strategy includes running the database
          in Archive Log Mode and performing nightly backups. All new accounts
          need to be approved by the DBA Group before being created.
        </Comments>
      </DatabaseName>

      <DatabaseName>
        <GlobalDatabaseName>development.iDevelopment.info</GlobalDatabaseName>
        <OracleSID>development</OracleSID>
        <DatabaseDomain>iDevelopment.info</DatabaseDomain>
        <Administrator EmailAlias="jhunter" Extension="6007">Jeffrey Hunter</Administrator>
        <Administrator EmailAlias="mhunter" Extension="6008">Melody Hunter</Administrator>
        <DatabaseAttributes Type="Development" Version="9i"/>
        <Comments>
          The following database should contain all hosted applications. Production
          data will be exported on a weekly basis to ensure all development environments
          have stable and current data.
        </Comments>
      </DatabaseName>

      <DatabaseName>
        <GlobalDatabaseName>testing.iDevelopment.info</GlobalDatabaseName>
        <OracleSID>testing</OracleSID>
        <DatabaseDomain>iDevelopment.info</DatabaseDomain>
        <Administrator EmailAlias="jhunter" Extension="6007">Jeffrey Hunter</Administrator>
        <Administrator EmailAlias="mhunter" Extension="6008">Melody Hunter</Administrator>
        <Administrator EmailAlias="ahunter">Alex Hunter</Administrator>
        <DatabaseAttributes Type="Testing" Version="9i"/>
        <Comments>
          The following database will host more than half of the testing
          for our hosting environment.
        </Comments>
      </DatabaseName>

    </DatabaseInventory>

    Llamamos a la función así:
    Código
    1. Option Explicit
    2.  
    3. Private Sub Form_Load()
    4. Dim sDTD As String
    5.  
    6.    GetDTD_Psyke1_I Text1.Text, sDTD
    7.    Debug.Print sDTD
    8. End Sub

    Y nos devolvería algo similar a esto:
    Código:
    <?xml version="1.0" encoding="UTF-8"?>
    <!ELEMENT DatabaseInventory (DatabaseName+)>
    <!ELEMENT DatabaseName (   GlobalDatabaseName
                             , OracleSID
                             , DatabaseDomain
                             , Administrator+
                             , DatabaseAttributes
                             , Comments)
    >
    <!ELEMENT GlobalDatabaseName (#PCDATA)>
    <!ELEMENT OracleSID          (#PCDATA)>
    <!ELEMENT DatabaseDomain     (#PCDATA)>
    <!ELEMENT Administrator      (#PCDATA)>
    <!ELEMENT DatabaseAttributes EMPTY>
    <!ELEMENT Comments           (#PCDATA)>

    <!ATTLIST Administrator       EmailAlias CDATA #REQUIRED>
    <!ATTLIST Administrator       Extension  CDATA #IMPLIED>
    <!ATTLIST DatabaseAttributes  Type       (Production|Development|Testing) #REQUIRED>
    <!ATTLIST DatabaseAttributes  Version    (7|8|8i|9i) "9i">

    <!ENTITY AUTHOR "Jeffrey Hunter">
    <!ENTITY WEB    "www.iDevelopment.info">
    <!ENTITY EMAIL  "jhunter@iDevelopment.info">

    Otro ejemplo más sencillo:
    Código:
    http://www.comptechdoc.org/independent/web/xml/guide/xmlexample.html



    Normas:

    Formato (obligatorio):
    Código
    1. Public Sub GetDTD_{tu nick}_{versión en números romanos}(ByRef sXML As String, ByRef sDTDOutPut As String)

    • El XML ingresado no se debe modificar a lo largo de la función.
    • El más rápido y más completo gana.
    • Sin límite de entrega.
    • No se pueden utilizar clases hechas que faciliten el trabajo.
    • Damos por hecho que el XML está bien formateado. :silbar:

    ¡Suerte! >:D

    DoEvents! :P


    « Última modificación: 23 Mayo 2012, 20:24 pm por Psyke1 » En línea

    Karcrack


    Desconectado Desconectado

    Mensajes: 2.416


    Se siente observado ¬¬'


    Ver Perfil
    Re: [RETO] Generador de DTD a partir de XML
    « Respuesta #1 en: 23 Mayo 2012, 15:42 pm »

    Deberías definir DTD y poner una declaración estricta, ya que en la declaración de la función se puede hacer mucha magia...


    En línea

    79137913


    Desconectado Desconectado

    Mensajes: 1.169


    4 Esquinas


    Ver Perfil WWW
    Re: [RETO] Generador de DTD a partir de XML
    « Respuesta #2 en: 23 Mayo 2012, 16:19 pm »

    HOLA!!!

    Deberías definir DTD y poner una declaración estricta, ya que en la declaración de la función se puede hacer mucha magia...

    +1

    GRACIAS POR LEER!!!
    En línea

    "Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
    "La peor de las ignorancias es no saber corregirlas"

     79137913                          *Shadow Scouts Team*
    BlackZeroX
    Wiki

    Desconectado Desconectado

    Mensajes: 3.158


    I'Love...!¡.


    Ver Perfil WWW
    Re: [RETO] Generador de DTD a partir de XML
    « Respuesta #3 en: 23 Mayo 2012, 16:57 pm »

    Deberías definir DTD y poner una declaración estricta, ya que en la declaración de la función se puede hacer mucha magia...

    http://es.wikipedia.org/wiki/Definición_de_tipo_de_documento

    Dulces Lunas!¡.
    En línea

    The Dark Shadow is my passion.
    Psyke1
    Wiki

    Desconectado Desconectado

    Mensajes: 1.089



    Ver Perfil WWW
    Re: [RETO] Generador de DTD a partir de XML
    « Respuesta #4 en: 23 Mayo 2012, 20:08 pm »

    Ya he completado la información del reto. ;-)

    PD: Va a ser más lioso de lo que creía. :rolleyes:

    DoEvents! :P
    En línea

    Páginas: [1] Ir Arriba Respuesta Imprimir 

    Ir a:  

    WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines