Posts

Showing posts from July, 2007

xml 2 html sau formatarea unui raspuns web service

Si-am dat de o problema: namespace-urile.

In incercarea disperata de a transforma cu un xslt raspunsul unui web service si dupa vreo ora de rateuri am realizat ca de fapt namespace-ul definit pentru web service era vinovatul.

Si un mic exemplu:
Raspunsul web service-ului

<?xml version="1.0" encoding="utf-8"?>

<?xml-stylesheet type="text/xsl" href="customer.xsl" ?>

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetCustomerResponse xmlns="http://www.company.com/webservice/">

<Customer>
<Address>
<Street>Pictor Grigorescu</Street>
<StreetNo>2</StreetNo>
</Address>
</Customer>

</GetCustomerResponse>
</soap:Body>
</soap:Envelope>


Acu si xslu

<?xml version="1.0" encoding="ISO-8859-1&q…

XOR?

using System;
using System.Text;

// Am vazut un mod criptare a parolelor intr-o baza de date bazat pe operatia XOR
//
// Ideea e urmatoarea:
// La inregistrare parola userului este codificata printr-o operatie XOR
// intre parola si o cheie, iar codificarea este pastrata in baza de date.
//
// Cand utilizatorul se autentifica, trimite parola, se face codificarea si apoi
// se compara cu cea de la inregistrare. Daca e ok inseamna ca e logat.. logic.
//
// Astfel se vrea ca absolut nimeni sa nu stie parolele (nu conteaza ca e dezvoltator SQL..)
//
// Un exemplu:
// parola : *********
// cheia publica : sharedkeys
// se face XOR caracter cu caracter intre parola si cheia publica
// ********* ^ sharedkeys = codificarea (o secventa de carcatere ASCII)
//
// Daca se stiu cheia publica si codificarea se p…

yield keyword

using System;
using System.Collections;
using System.Collections.Generic;


namespace YieldDemo
{
public static class YieldDemo
{
///
/// Filtrarea unui sir de stringuri cu yield
///
///
///
public static IEnumerable NamesWitchStartsWithALetter(string[] names)
{
foreach ( string name in names )
if ( name.StartsWith ( "A" ) )
yield return name;
}

///
/// crearea unui iterator pentru un numar limitat de patrate perfect
///
///
///
public static IEnumerable<int> Squares(int squaresCount)
{
int sqCounter = 1;
while (sqCounter <= squaresCount)
{
yield return sqCounter * sqCounter;
sqCounter++;
}
}
/// <summary>
/// iterator pentru primele n numere din sirul Fibonacci
/// </summary>
/// <param name="f…