Pregunta

Iam trabajando en un proyecto que consiste en escribir un archivo Mork (Mork es un formato de base de datos utilizado por Mozilla para almacenar el historial URL y otra información.) Ha sido reemplazado por una versión mejorada de SQLite en el último Mozilla 3.0.

Ahora tengo el código para analizar un archivo de Mork, pero Iam luchando un poco con esta parte del archivo.

<(A9=3)(81=)(82=hunter@huntfish.net)(80=0)(85=2)(86=4ac18267)(83=1)
  (87=Sumit)(88=Ghosh)(89=Sumit)(8A=xxx@gmail.com)(8B
    =mc@mpcsol.com)(8C=512-282-2509)(8D=+504-9907-1342)(8E=512-282-2510)
  (8F=512-282-2511)(90=512-282-2512)(91=Two Blocks Past Oxen Team)(92
    =Villa Alicia)(93=Siguatepeque)(94=Comayagua)(95=NA)(96=Honduras)
  (97=9309 Heatherwood Dr)(98=Apartment 1)(99=Austin)(9A=TX)(9B=78748)
  (9C=USA)(9D=Programmer)(9E=Programming)(9F=MPC Solutions)(A0
    =rentaprogrammer)(A1=http://www.mpcsol.com)(A2
    =http://www.jesuslovesthelittlechildren.org)(A3=Hannah)(A4=John)
  (A5=Faith)(A6=Timothy)(A7=Some notes go here.)(A8
    =sale-bbwmb-1628311327@craigslist.org)>
{1:^80 {(k^C0:c)(s=9)} 
  [1:^82(^BF=3)]
  [1(^83=)(^84=)(^85=)(^86=)(^87=)(^88=)(^89^82)(^8A^82)(^8B=)(^8C=)
    (^8D=)(^8E=0)(^8F=2)(^90=0)(^91=)(^92=)(^93=)(^94=)(^95=)(^96=)
    (^97=)(^98=)(^99=)(^9A=)(^9B=)(^9C=)(^9D=)(^9E=)(^9F=)(^A0=)(^A1=)
    (^A2=)(^A3=)(^A4=)(^A5=)(^A6=)(^A7=)(^A8=)(^A9=)(^AA=)(^AB=)(^AC=)
    (^AD=)(^AE=)(^AF=)(^B0=)(^B1=)(^B2=)(^B3=)(^B4=)(^B5=)(^B6=)(^B7=)
    (^B8=)(^B9=)(^BA=)(^BB=)(^BC^86)(^BD=1)]
  [2(^83^87)(^84^88)(^85=)(^86=)(^87^89)(^88=)(^89^8A)(^8A^8A)(^8B^8B)
    (^8C=)(^8D=)(^8E=2)(^8F=0)(^90=1)(^91^8C)(^92^8D)(^93^8E)(^94^8F)
    (^95^90)(^96=)(^97=)(^98=)(^99=)(^9A=)(^9B^91)(^9C^92)(^9D^93)(^9E^94)
    (^9F=NA)(^A0^96)(^A1^97)(^A2^98)(^A3^99)(^A4=TX)(^A5^9B)(^A6^9C)
    (^A7^9D)(^A8^9E)(^A9^9F)(^AA^A0)(^AB=)(^AC=)(^AD=)(^AE=)(^AF=)(^B0=)
    (^B1=)(^B2^A1)(^B3^A2)(^B4=)(^B5=)(^B6=)(^B7^A3)(^B8^A4)(^B9^A5)
    (^BA^A6)(^BB^A7)(^BC=0)(^BD=2)]
  [3(^83=)(^84=)(^85=)(^86=)(^87=)(^88=)(^89^A8)(^8A^A8)(^8B=)(^8C=)
    (^8D=)(^8E=0)(^8F=0)(^90=0)(^91=)(^92=)(^93=)(^94=)(^95=)(^96=)
    (^97=)(^98=)(^99=)(^9A=)(^9B=)(^9C=)(^9D=)(^9E=)(^9F=)(^A0=)(^A1=)
    (^A2=)(^A3=)(^A4=)(^A5=)(^A6=)(^A7=)(^A8=)(^A9=)(^AA=)(^AB=)(^AC=)
    (^AD=)(^AE=)(^AF=)(^B0=)(^B1=)(^B2=)(^B3=)(^B4=)(^B5=)(^B6=)(^B7=)
    (^B8=)(^B9=)(^BA=)(^BB=)(^BC=0)(^BD=3)]}

Puede alguien decirme cómo esta parte del archivo de Mork se refiere a los datos que figuran a continuación?

Ejecutar:

NickName=,LastModifiedDate=4ac18267,FaxNumberType=,BirthMonth=,LastName=,HomePhone=,WorkCountry=,HomePhoneType=,PreferMailFormat=0,CellularNumber=,FamilyName=,PrimaryEmail=hunter@huntfish.net,AnniversaryMonth=,HomeCity=,WorkState=,HomeCountry=,PhoneticFirstName=,PhoneticLastName=,HomeState=,WorkAddress=,WebPage1=,WebPage2=,HomeAddress2=,WorkZipCode=,_AimScreenName=,AnniversaryYear=,WorkPhoneType=,Notes=,WorkAddress2=,WorkPhone=,Custom3=,Custom4=,Custom1=,Custom2=,PagerNumber=,AnniversaryDay=,WorkCity=,AllowRemoteContent=0,CellularNumberType=,FaxNumber=,PopularityIndex=2,FirstName=,SpouseName=,CardType=,Department=,Company=,HomeAddress=,BirthDay=,SecondEmail=,RecordKey=1,DisplayName=,DefaultEmail=,DefaultAddress=,BirthYear=,Category=,PagerNumberType=,LowercasePrimaryEmail=hunter@huntfish.net,JobTitle=,HomeZipCode=,

NickName=,LastModifiedDate=0,FaxNumberType=,BirthMonth=,LastName=Ghosh,HomePhone=+504-9907-1342,WorkCountry=USA,HomePhoneType=,PreferMailFormat=2,CellularNumber=512-282-2512,FamilyName=,PrimaryEmail=xxx@gmail.com,AnniversaryMonth=,HomeCity=Siguatepeque,WorkState=TX,HomeCountry=Honduras,PhoneticFirstName=,PhoneticLastName=,HomeState=Comayagua,WorkAddress=9309 HeatherwoodDr,WebPage1=http://www.mpcsol.com,WebPage2=http://www.jesuslovesthelittlechildren.org,HomeAddress2=VillaAlicia,WorkZipCode=78748,_AimScreenName=rentaprogrammer,AnniversaryYear=,WorkPhoneType=,Notes=Some notes go here.,WorkAddress2=Apartment 1,WorkPhone=512-282-2509,Custom3=Faith,Custom4=Timothy,Custom1=Hannah,Custom2=John,PagerNumber=512-282-2511,AnniversaryDay=,WorkCity=Austin,AllowRemoteContent=1,CellularNumberType=,FaxNumber=512-282-2510,PopularityIndex=0,FirstName=Sumit,SpouseName=,CardType=,Department=Programming,Company=MPC Solutions,HomeAddress=Two Blocks Past
Oxen Team,BirthDay=,SecondEmail=mc@mpcsol.com,RecordKey=2,DisplayName=Sumit,DefaultEmail=,DefaultAddress=,BirthYear=,Category=,PagerNumberType=,LowercasePrimaryEmail=xxx@gmail.com,JobTitle=Programmer,HomeZipCode=NA,


NickName=,LastModifiedDate=0,FaxNumberType=,BirthMonth=,LastName=,HomePhone=,WorkCountry=,HomePhoneType=,PreferMailFormat=0,CellularNumber=,FamilyName=,PrimaryEmail=sale-bbwmb-1628311327@craigslist.org,AnniversaryMonth=,HomeCity=,WorkState=,HomeCountry=,PhoneticFirstName=,PhoneticLastName=,HomeState=,WorkAddress=,WebPage1=,WebPage2=,HomeAddress2=,WorkZipCode=,_AimScreenName=,AnniversaryYear=,WorkPhoneType=,Notes=,WorkAddress2=,WorkPhone=,Custom3=,Custom4=,Custom1=,Custom2=,PagerNumber=,AnniversaryDay=,WorkCity=,AllowRemoteContent=0,CellularNumberType=,FaxNumber=,PopularityIndex=0,FirstName=,SpouseName=,CardType=,Department=,Company=,HomeAddress=,BirthDay=,SecondEmail=,RecordKey=3,DisplayName=,DefaultEmail=,DefaultAddress=,BirthYear=,Category=,PagerNumberType=,LowercasePrimaryEmail=sale-bbwmb-1628311327@craigslist.org,JobTitle=,HomeZipCode=,

Me he estado rompiendo la cabeza durante casi 2 días ahora, por favor alguien que es parte del equipo de Mozilla puede ayudar, sería muy apreciado.

¿Fue útil?

Solución

Veo un diccionario, <...>, y una mesa escasa, {...}, con tres filas, [...]. El Mork formato de archivo ha sido objeto de algunas críticas, y el estructura es abstrusa en el mejor. Debo entender que está escribiendo un analizador en Java?

Adición: Se puede ayudar a actualizar su pregunta con detalles sobre lo que has progresado y dónde se queda pegada. Si está disponible, un enlace a su analizador existente podría ser útil, también.

Adición: La mesa de escasa comienza con la primera llave de apertura, {, y termina con la última llave de cierre, }. No estoy seguro acerca de la tabla anidada, {(k^C0:c)(s=9)}. Cada una de las tres filas de la tabla está delimitada por paréntesis: [1(...], [2...], [3...], y cada uno corresponde a una fila en el panel de funcionamiento. Cada una de las celdas de una fila contiene ya sea una referencia o un literal. Por ejemplo, la fila 2 tiene una celda con un literal, (^A4=TX), que se muestra en la fila 2 de la salida como WorkState=TX.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top