Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [XML, XML Schema] Typ zawartości zależne od zawartości atrybutu
crac2003
post 18.12.2008, 12:36:14
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 17.10.2007

Ostrzeżenie: (0%)
-----


Witam

Mam takiego xml:
CODE

<root>
<test atr="string">jakiś tekst</test>
<test atr="int">10</test>
<test atr="date">2003-10-01</test>
</root>


Czy jest możliwość utworzenia takiego schematu aby sprawdzał poprawność wprowadzonych informacji w zależności od atrybutu atr?
Go to the top of the page
+Quote Post
wookieb
post 18.12.2008, 12:52:49
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A no jest. Ale co chcesz dokładniej wiedzieć?
Składnie wartosci mozesz sprawdzac za pomoca preg_match smile.gif


--------------------
Go to the top of the page
+Quote Post
mike
post 18.12.2008, 12:54:11
Post #3





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(wookieb @ 18.12.2008, 12:52:49 ) *
Składnie wartosci mozesz sprawdzac za pomoca preg_match smile.gif
Parsowanie XMLi za pomocą wyrażeń regularnych to telikatnie mówiąc niedorzeczny pomysł. Do tego są parsery XMLi: DOM, SimpleXML, XMLReader, etc
Go to the top of the page
+Quote Post
wookieb
post 18.12.2008, 12:55:44
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(mike @ 18.12.2008, 12:54:11 ) *
Parsowanie XMLi za pomocą wyrażeń regularnych to telikatnie mówiąc niedorzeczny pomysł. Do tego są parsery XMLi: DOM, SimpleXML, XMLReader, etc

Chodziło mi o sprawdzanie czy wartość jest typu "date" po przeparsowaniu xmla..


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post 18.12.2008, 13:06:22
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


A nie mozesz dac tagu:
<date> 2008-12-12</date> ?

ale i tak nie wiem czy schema mozesz sprawdzic czy w tegu X jest format daty


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
crac2003
post 18.12.2008, 13:10:53
Post #6





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 17.10.2007

Ostrzeżenie: (0%)
-----


Nie chodzi mi o przetwarzanie xml przy pomocy preg_match.
Chciałbym sprawdzić czy wprawadzone dane w odpowiednim elemencie są zgodne z typem ustawionym. Nie wiem jednak jak to zrobić aby w schemacie wskazać możliwość pojawienia się kilku elementów o tej samej nazwie różniące się tylko zawartością

Miałem coś takiego
CODE

<xs:element name="root">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="Test" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="type" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="string"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Test" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:int">
<xs:attribute name="type" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="int"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:element>


Ale to nie działa ;D. Możecie mnie jakoś naprowadzić ?

Co do zmiany nazwy kolumny to nie za bardzo ze względu na to że xml jest tworzony dynamicznie w innym programie a ja chce mieć możliwość przetestowania go zanim wczytam do swojej aplikacji.

Ten post edytował crac2003 18.12.2008, 13:12:44
Go to the top of the page
+Quote Post
dr_bonzo
post 18.12.2008, 13:18:10
Post #7





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Uh, ja cos takiego kiedys robilem, DTD-em sprawdzalem to co dalo sie sprawdzic, a juz same wartosci to w php, bo inaczej sie nie dalo.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 09:47