Keresés

Részletes keresés

req999 Creative Commons License 2005.02.16 0 0 62
PHP + XML kérdésem van:

XML file-jaim esetében külső DTD-t szeretnék használni, csakhogy kísérleteim szerint a PHP (4.3) XML-értelmező függvényei csak "standalone file-oknál" működnek jól, tehát csak belső DTD-t hajlandók felismerni (próbáltam xml_parse_into_struct-ot és xml_set_element_handler-t is, mindkettőnél ugyanúgy viselkedett), egyébként figyelmen kívül hagyják.

Valaki próbálkozott már ezzel? Sikerült külső DTD-t felismertetni ezekkel az értelmezőkkel?
req999 Creative Commons License 2004.05.28 0 0 61
Próbálj szóköz helyett  -t vagy  -t írni! Hátha.
Előzmény: lovck (60)
lovck Creative Commons License 2004.05.27 0 0 60
Bocs, a lényeget kiszedte.

Szóval ilyen eredményt várnék:
" "

,de helyette csak ezt kapom:
""

Mit kell csinálnom, hogy beletegye?

Előzmény: NevemTeve (58)
lovck Creative Commons License 2004.05.27 0 0 59
Sziasztok!

Tudna nekem valaki segíteni?
Az problémám, hogy egy nodevalue -ba egy szóközt kellene beletennem, bele is teszem, de a kész xml-be nem kerül bele. Ha nem szóközt írok bele, akkor beleteszi.
Delphiben írom.

Szóval ilyen eredményt várnék:

,de helyette csak ezt kapom:

Mit kell csinálnom, hogy beletegye?

NevemTeve Creative Commons License 2004.03.08 0 0 58
mma Creative Commons License 2004.02.29 0 0 57
Köszi!
Előzmény: NevemTeve (56)
NevemTeve Creative Commons License 2004.02.29 0 0 56
Előzmény: mma (55)
mma Creative Commons License 2004.02.29 0 0 55
Köszi a gyors válaszért. Letöltöttem a csomagot, de semmi leírás nincs benne (sem a weblapon), hogy kell használni.
A bison.exe ennyit hajlandó elárulni:

Usage: D:\!in\UnxUtils\usr\local\wbin\bison.EXE [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]
[--debug] [--defines] [--fixed-output-files] [--no-lines]
[--verbose] [--version] [--help] [--yacc]
[--no-parser] [--token-table]
[--file-prefix=prefix] [--name-prefix=prefix]
[--output=outfile] grammar-file

Report bugs to bug-bison@gnu.org

Bocs, hogy ennyit nyaggatak, de annyit még légy szíves árulj el, hogy hol találok ehhez leírást?

Előzmény: NevemTeve (54)
NevemTeve Creative Commons License 2004.02.29 0 0 54
Az érdekesség kedvéért megemlítem, hogy e pillanatban yacc-kal (pontosabban bison-nal) elemzek XML-t.
Olyan lexikális elemző kell hozzá, amelyik képes a <tag, </tag <?tag szerű elemeket egy lexikális egységként kezelni...

(Windows-hoz is van bison, pl itt: http://unxutils.sourceforge.net/)

req999 Creative Commons License 2004.02.07 0 0 53
Ahogy nézem, ID-nek csak betűvel vagy aláhúzással kezdődő stringet fogad el... Azt hiszem, ezt buktam... Na sebaj, legfeljebb majd nem az xml ellenőrzi az egyedi id-t.
Előzmény: req999 (52)
req999 Creative Commons License 2004.02.07 0 0 52
Épp egy DTD-t barkácsolok, ahol az egyik tag attribútuma ez:
link ID #REQUIRED

Elvileg ez azt követeli meg, hogy a "link" attribútum értéke egyedi legyen, viszont reklamál, ha üres stringet adok meg, még akkor is, ha csak egyetlen tagnél van üres string. Tudja valaki, miképpen tudom előírni, hogy egyetlen üres string is elfogadható legyen egyedi id-ként?

freki Creative Commons License 2003.09.01 0 0 51
Javasolom Gottdank Tibor: Webszolgáltatások - XML alapú kommunikáció az Interneten c. könyvét, melyben az XML értelmezőt és a DTD-t is alaposan körüljárja. A könyv most jelent meg.
Előzmény: szonam (50)
szonam Creative Commons License 2003.06.24 0 0 50
XML parser lehet "validating" és "non-validating". El?bbi ellen?rzi, hogy a dokumentumod megfelel-e a DTD-ben leírt szabályoknak, az utóbbi pedig csak azt ellen?rzi, hogy a dokumentum szintakszisa megfelel-e az XML speckónak.

Ha a parsered validating, akkor kiabálni fog, ha megadsz attribútumot egy olyan elemhez, amihez nincs definiálva.

üdv

szonam

Előzmény: Törölt nick (36)
szonam Creative Commons License 2003.06.24 0 0 49
Előzmény: markjob (14)
vamosb Creative Commons License 2003.06.24 0 0 48
Hi,

Van egy XML file-om, amiben van egy schema hivatkozás. Az XMLSPY azt mondja, hogy az XML valid a schema alapján.

Az MS XML parser (3) viszont azt mondja az XSD-mre, hogy:
Incorrect definition for the root element in schema.

Ez a kódom:
Set oXMLSchema = Server.CreateObject("MSXML2.XMLSchemaCache")
oXMLSchema.add "valami_namespace", Server.MapPath("valami.xsd")

Ha valaki tudna segíteni, akkor megmutatnám az XSD-t is.

vamosb

CoBB Creative Commons License 2003.01.25 0 0 47
Én is kezdő vagyok, úgyhogy együtt tanulunk. :) Nézd meg ezt: DTD Elements. Itt meg sem említik lehetőségként, csak a (#PCDATA)-t, ami logikus is („Elements with only character data”). Ha egy fejezetet visszamész, ott már beszélnek valami CDATA-ról, csak nem látom, hogy ez hol kapcsolódik a további anyaghoz.
Előzmény: Törölt nick (46)
Törölt nick Creative Commons License 2003.01.25 0 0 46
Lehet... nagyon kezdő vagyok a témában, mint említettem.
Tképp... akár lehet is.
Csak az volt a fura, hogy szerinte (CDATA) helyett (CDATA) volt ott... :-o
Előzmény: CoBB (45)
CoBB Creative Commons License 2003.01.25 0 0 45
Na jó, de ha # nélkül írod, az nem simán egy elem neve? Mondjuk így: <Adat1><CDATA/></Adat1>.
Előzmény: Törölt nick (44)
Törölt nick Creative Commons License 2003.01.25 0 0 44
Reménytelen. Azt egyáltalán nem fogadja el. Eleve nem tudom, mi a fene az a #.
Mert ugye a típus eredetileg PCDATA ill. CDATA lenne.
Talán hétfőn sikerül a munkatársak közt találni valakit...
Előzmény: CoBB (43)
CoBB Creative Commons License 2003.01.25 0 0 43
És ha (#CDATA)-t írnál? :)
Előzmény: Törölt nick (42)
Törölt nick Creative Commons License 2003.01.25 0 0 42
Nem, azt már csak kínomban írtam bele, hogy hátha azzal jó lesz. Érdekes módon (#PCDATA)-val jó.
Szóval qrvára nem értem, de mind1...
Ráadásul nincs egy igazán jól sikerült doksim hozzá, mert ami a www.w3c.org-on van, az valami katasztrófa számomra ;-)
Előzmény: CoBB (41)
CoBB Creative Commons License 2003.01.25 0 0 41
Mit akarsz ezzel a (CDATA*)-gal? Hogy lehessen üres is? Kell az a csillag?
Előzmény: Törölt nick (40)
Törölt nick Creative Commons License 2003.01.25 0 0 40
<?xml version="1.0" encoding="iso-8859-2"?>
<!DOCTYPE Param [
<!ELEMENT Param (Adat1|Adat2|Adat3)* >
<!ELEMENT Adat1 (CDATA*)>
<!ELEMENT Adat2 (CDATA)>
<!ELEMENT Adat3 (CDATA)>
] >

<Param>
<Adat1>asdasd asld lk dwpeodkwepo dkwe</Adat1>
</Param>

A fenti XML file-lal nem boldogulok.

Az xmllint --valid teszt.xml ezt mondja rá:

teszt.xml:11: validity error: Element Adat1 content doesn't follow the Dtd
Expecting (CDATA)*, got (CDATA)

mi baja lehet?? :-(

Törölt nick Creative Commons License 2003.01.25 0 0 39
Persze. Mint kiderült egy normáls ellenőrző program figyelembe veszi és szól, ha nem definiáltál attribútumot egy tag-hez, de az XML-ben szerepel. Az IE6 úgy döntött, hogy neki nem kötelező. Vagy - amit írtam, de még nem volt alkalmam kipróbálni: lehet, hogy mégis így van jól, mert itthon úgy próbáltam, hogy az XML tartalmazta a definíciókat, a munkahelyi linuxomon meg úgy, hogy külön DTD-ben volt minden. No majd ha a linuxomban járok, megnézem ezt is.
Előzmény: CoBB (38)
CoBB Creative Commons License 2003.01.25 0 0 38
Én közben nézegettem az XHTML DTD-jét, és ott sem láttam mást, csak a megengedett attribútumok felsorolását...
Előzmény: Törölt nick (37)
Törölt nick Creative Commons License 2003.01.25 0 0 37
No... 1 rejtéllyel kevesebb. Perszehogy nem én vagyok a hülye, hanem az exploder :-(
Ma rászántam magam, hogy a linuxomon is körülnézzek. Ott találtam egy ... nem jut eszembe a neve... valami xmlli... nem tudom a végét. Szóval ez képes szintaktikai ellenőrzést végezni az XML file-on és ő bizony már sírt, ha olyan tag-nek adtam attribútumot, amelyhez a DTD-ben nem volt megfelelő definíció.
A másik lehetőség, hogy mégis én vagyok a hülye, mert a dokumentumba ágyazott leírás nem egyenértékű mégsem a külön DTD file-ban elhelyezettekkel...
Előzmény: Törölt nick (36)
Törölt nick Creative Commons License 2003.01.24 0 0 36
Ha nem adok meg ATTLIST-et akkor bármit enged beírni. Persze lehet, hogy csak azt tudom előírni vele, hogy amit megadok az milyen formátumú legyen, de ezeken kívül bármi mást is odaírhatok... No mind1, majd megpróbálok keresni az eddigieknél használhatóbb leírást (eddig csak 1-2 nem igazán tökéletes tutorialt nézegettem, ref.guide-t meg hasonlókat még nem)
Előzmény: CoBB (35)
CoBB Creative Commons License 2003.01.23 0 0 35
És ha egyszerűen nem adsz meg az ATTLIST-et? Végülis nem kötelező az. De nem akarok sokat kötekedni, valójában nem értek én ehhez egyáltalán. :( Esetleg próbálj meg az egyik XML-edből DTD generátorral csinálni egy minimál DTD-t, és teszteld azzal.
Előzmény: Törölt nick (34)
Törölt nick Creative Commons License 2003.01.23 0 0 34
Jajj.. bocs... most olvastam el, hogy mit írtam eredetileg :-)
Szóval a lényeg, hogy pl. a DTD-ben, vagy az XML elején a leíró részben szeretném mindezt definiálni:
<!ELEMENT PARAM (CDATA)>
<!ATTLIST PARAM ?????>

A ????? helyére vajon mit kell írni ahhoz, hogy az elemző/feldolgozó program hibát jelezzen, ha véletlenül megadok valamilyen attribútumot a PARAM mellé.

Előzmény: CoBB (32)
Törölt nick Creative Commons License 2003.01.23 0 0 33
Bocs, lehet, hogy én vagyok nagyon eltévedve.
Voltam egy tanfolyamon, ahol kaptunk egy rövid bevezetést az XML rejtelmeibe.
Itt emlegette az előadó, hogy pl. a DTD file-ban, v. az XML elején lehet definiálni az egyes tagok tulajdonságait, így pl. az !ATTLIST (??) segítségével azt, hogy milyen attribútumok szerepelhetnek egy tag mellett. Ezután a feldolgozó program tudja ellenőrizni, hogy szintaktikailag rendben van-e az illető file. (ez pl. lehet akár egy IE is)
Ebből úgy gondoltam, hogy ha kikötéseket lehet megfogalmazni ezekre az attribútumokra, akkor miért ne lehetne letiltani őket?
Előzmény: CoBB (32)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!