dreamrealit *can* but it doesn't unless you choose options to create that situation (slow to parse is harder to do: it's pretty quick to parse. But you CAN make it chew through a TON of memory.)
dreamrealAnd as far as a DTD/XSD... eh, free-form can have value, but you really see it pay off with a DTD/XSD if you need to know the structure is compliant
cheeserkneel before xom!
jreicherIn all seriousness, is it still XML if there's no schema? I'm interested in the "philosophical" aspect of that.
dreamrealXOM is quite good
dreamrealjreicher: sure
dreamrealit's still structured, still walkable, still graphable, just not compliant with a known structure
* kcomhnall joined #java
* michele8 joined #java
* LtHummus joined #java
* kcomhnall joined #java
* kcomhnall joined #java
* unit86 joined #java
* kcomhnall joined #java
deebowe used to run several companies ecommerce on xml + xslt integrations, it's fast enough :)
deebodid you know you can do jdbc in xslt!
* unit86 joined #java
* acidjnk joined #java
* unit86 joined #java
* kcomhnall joined #java
* MinusSeven joined #java
* fed-kaczynski_ joined #java
* gjvc joined #java
* xdminsy joined #java
* tomboy64 joined #java
* Inline joined #java
* MikeBux joined #java
* jreicher joined #java
* gjvc joined #java
ParaXML compresses really well, btw.
* X-Scale joined #java
jreicherNot necessarily a point in its favour, you know. :p
dreamrealSure, but it's not one NOT in its favor: if you're trying to put down XML, it's not difficult to do. It IS very verbose; DOM sucks but makes sense in context; namespaces are great, *verifiability* is great, encoding is still textual in nature for the most part
jreicherHonestly, I do not hate XML at all. But I wonder why it's both a serialisation format and... other things.
dreamrealWhat do you mean? It's a serialization format because it contains regular data that can be annotated, verified, and expanded upon with namespaces.
jreicherIn all honesty I'm not sure I know what I mean. If it's only serialisation, why would it need a schema?
dreamrealRight. But it's not: it's an extensible markup language, which is where "XML" in the name comes from
jreicherI've always really struggled to wrap my head around the part the schema plays. I have some thoughts, but it never seems to be what people do.
jreicherWell, that's what i mean by "other things". Sometimes it's not just serialisation.
dreamrealWell, suppose you have a file representing something: <?xml version="1.0"?><person><name><first>Jack</first><last>Frinkmanhoppergoodstein</last></name></person> -- does that represent a person?
dreamrealThe JSON equivalent is {"name":{"first":"jack", "last": "frink"}} of course
[twisti]we have a schema that does (weak, obviously) constraints, and i dont know how to feel about that
dreamrealWe have a schema that does *exact* constraints, and it's hard to break :D
[twisti]like, it has min/max stuff, and that actually has caught stuff in production and prevented bad data from spreading. but in the end, it means we maintain at least two different sets of constraints (because some constraints cant be expressed in schema, like min/max of something depending on the content of something else) and sometimes they drift
dreamreal[twisti]: yeah, what YOU have is more than data, it's an ontology
[twisti]that is json schema for us, not xml, obviously xml is more powerful in that regard, though i dont think its turing complete either, right ?
dreamrealXML itself is not, no
dreamreallike I said, what you have is an ontology: you wouldn't use XML/XSD for that, you'd use XML/XSD/OWL
dreamrealYou wouldn't HAVE to use XML for it, OWL can leverage other formats like turtle, etc
[twisti]not enough xml in my world to know my way around there; we have validation on code level, and the json schema acts like an additional net
dreamrealbut what you're talking about is reasoning, data relationships, not a shadowbox: XSD is a shadowbox, OWL is "does this data make sense as a whole"
dreamreal(shadowbox: "is this data rabbit-shaped?" OWL: "does this data match the definition of a rabbit?")
[twisti]i guess that makes sense, though i feel reluctant to fully agree - we are still talking about single objects, not multiple objects interacting. the check i was talking about was object level consistency (i.e. we deal with road stuff, so one check is 'does amount of lanes make sense in combination with road class - 'highway' with 6 lanes makes sense, 'footpath' or 'inner city road' does not, but the latter might still have up to 3 lanes)
dreamrealThat would be an ontology, yes, but a simple one
[twisti]ill read up when i next need to procrastinate :D
dreamreal:( It's actually pretty appropriate for what you're describing
[twisti]unfortunately the girlfriend is coming over and my place is a pigsty, so technically, im procrastinating right now, so i have to take off
dreamrealDefinitely, enjoy
[twisti]thanks for the link, i didnt mean it to sound deprecating if thats how it came over
dreamrealIt did not
dreamrealIf I ever want to get a party shut down I'll start talking about ontologies, peoples' eyes glaze over and they're like "oh look it's 7:45 already, time to shut everything down, so tired, good evening, please shut the door behind you, everyone else can stay"
jreicherWhat do you feel an ontology is in practice? (I really do know what an ontology is, but this aspect is something more specific)
dreamrealI think they're horrifically underused, mostly because A) they're scary for most people and 2) (related to A) they're hard to use
dreamrealand D) nobody really cares all that much since it's easy to add code to enforce an ontology's rules without having to invest in a reasoner and the understanding to use it and intepret it
dreamreali.e., "I have a road, I don't care if it's a highway or not ontologically speaking, it says it's a highway, I'll just add code to make sure it has N lanes"
jreicherBut how do you think it works in practice?
jreicherThe most obvious interpretation is "classes are nouns", but that's probably not correct.
dreamrealpeople rarely think in ontologies explicitly: they see something turtle-shaped, they think it's a turtle, they're not going "oh is that a tortoise or a turtle" - and thus they see paleontologists, people going "oh that's not a t-rex, the forelimb for a t-rex is variegated along these lines," as being really wonky
dreamrealno, it's more like "is this is a valid X because X has these characteristics and this has THESE characteristics"
jreicherSo how do you find your ontology?
dreamrealfind?
dreamrealAn ontology is built, not found
jreicherOK, that's saying something.
jreicherSo the schema records that construction also?
dreamrealThe SCHEMA does not, no
dreamrealthe schema records the input for an ontology
dreamrealyou have data in some form, and an ontology is a dataset that describes what that data is and what conclusions can be drawn from it
jreicherOK. I'm struggling a bit to understand what you mean by "input" for that, as it's not a function...
dreamrealsure it is
jreicherIt's a description. You just said that.
dreamrealokay, so: imagine a person. Is a person a terminator?
dreamrealAn ontology yields a description
jreicherYes, but a description is not a function AFAICT.
dreamreallike, from the terminator movies. If you're unfamiliar, give me a context and I'll try to figure out a better example.
dreamrealA description isn't a function, but an ontology is a data set fed to a reasoner, a reasoner has a query function and yields descriptions
jreicherWell, let's use the example you started earlier. I have a Person class, and to keep it simple it contains just the name. How does that relate to a schema?
dreamrealHah, picking up a cold ball, are we
dreamrealOkay, a CLASS and a FILE are different things
dreamrealI was describing an XML file and a JSON equivalent
dreamrealAnd I was going to point out that it LOOKS like a simple expression of a person... but a *schema* might say "a person has a name, a name is made of a first and last word, and a person has a birthdate"
dreamrealwhich means NEITHER ONE of those files represents a person
* jreicher joined #java
dreamrealWB, dunno what you saw last
jreicherI think you and I have the same understanding of an ontology, but I don't think I understand what your ideas about the relationship between schema and ontology.
dreamrealschema is a data-level validation of presence and simple values
jreicherI've checked.
dreamreala schema struggles to say "this player is a halfling, being humanoid and standing 2m tall, and is a paladin" because it can record humanoid construction, player class as "paladin", and height between 0.7m and 2.3m, but struggles to say "no, wait, this height and this player race and this class don't mix"
dreamrealan ontology has no issues with the latter
dreamrealit wouldn't PREVENT such a player, but would be able to say "this player's construction is an aberration"
jreicherHmm. Let me put this a different way. We were talking about schemas. You mentioned ontology. I'm trying to understand why you took the conversation in that direction.
dreamreal"this country road, unpaved, has seven lanes going in each direction, which is an odd definition for a country road"
dreamreala SCHEMA says "a thing has these elements, and these elements have these simple definitions" and an ontology can suggest whether those relationships are valid
dreamrealif you're saying "this field can have THESE values" a schema is apt. If you're saying "this field and THAT field over there have these acceptable ranges in coordination with each other" that's an ontology.
dreamrealMost people express ontologies in code rather than in AN ONTOLOGY, because ontologies are wierd and hard to use and hard to build.
dreamrealWe were originally talking about XML and namespaces and schema, and nobody answered the questions I was actually asking so it veered off
jreicherI think you're saying an ontology will be modelled in a particular language's type system, and checked accordingly, and an equivalent ontology might be modelled in a different language, and checked differently, and schema validation in the ideal case might be the high common denominator for what can be checked for both? Something like that?
dreamrealnot really. A schema is useful for saying what valid input is. an ontology is useful for saying "this schema's data represents this definition properly."
jreicherWhat's the difference?
jreicherYou don't have data without input
dreamrealIf you had a person object, you could say "this person's data is person-shaped" by a schema: it has a name, a birth date, gender, etc etc etc, but an ontology could tell you whether that person was a fireman, a doctor, a teacher, or perhaps all three
jreicherWhy couldn't a sufficiently rich schema system tell you just as much as the ontology?
dreamrealWell, go back to that XML thing
dreamrealIt depends on the nature of the schema! I keep bringing up examples and you keep not interacting with them
dreamrealbut I actually bring them up to observe them
jreicherBecause I'm trying to figure what's inherent to the nature of "schema", rather than a particular schema system.
jreicherPut another way, I'm trying to figure out the difference between schema validation and type checking.
dreamrealWell, the examples are meant to illustrate aspects to make their nature more clear
dreamrealscope
dreamrealschema validation means type checking of each field and its presence or negation
dreamrealtype checking is for a field; schema is for a set of fields; ontology is for the relationship of fields in a schema
jreicherYou don't think a sufficiently expressive schema could check relationships?
dreamrealI was going to say that <person> xml thing wasn't a person at all, because the schema might say a person has a name and a birth date, but you flew past it. :D
dreamrealI know it can't.
jreicherWhy not? I'm not contesting it, but I don't understand why it's a foregone conclusion.
dreamrealAgain, I keep bringing up examples :D
dreamrealOkay, describe a D&D player character. Or a terminator.
dreamrealOr a car. Or a book. I don't know, pick a freaking thing of interest to you, I'll figure something out, but if it's not of interest to you, you'll ignore the example again
jreicherI'm not ignoring any examples. I just can't figure out how to use them to resolve my confusion. I'm happy with any example you choose.
dreamrealI've tried D&D, action movies, biology, census data, all flew over
dreamrealWell, pick one anyway
jreicherCar
jreicherI'm traditional
dreamrealOkay, what is a car?
jreicherFor now, let's say it's an object composed of a chassis, engine, and four wheels
dreamrealOkay. Describe one in data: XML, json, doesn't matter
dreamrealAnyway, type validation says "hasChassis" can be either "true" or "false"
jreicherI'm not really fussed at the definition. I just came up with an arbitrary extension.
jreicherOK
dreamrealand a "thing" in this context CAN HAVE attributes like hasChassis, hasEngine, wheelCount
jreicherOK
dreamrealI'm working with your examples!
jreicherI understand that, but I don't know what's required to answer my question.
dreamrealSo field validation says wheelcount is integral or null (it might be a tank and not have wheels!) and those has* are "true" or "false" or not present
dreamrealand "hasTrailer" is indeed a candidate for a truck, but a truck might also have a flat bed
jreicherThat's what field validation says for a particular kind of schema system. Why are we sure there isn't a richer kind of field validation available in a different system?
dreamrealso "a truck" is defined as "a thing" with at least four wheels, and EITHER a bed OR a trailer
dreamrealjreicher: we are sure there IS a richer kind of field validation
dreamrealit's an ontology
jreicherOK, let me ask the question really weirdly. Can we have an XML document with "ontology validation"?
dreamrealnot with the formal definition of an XML file, no. It has a spec; the spec precludes ontological inference.
jreicherBut we can imagine a different kind for serialisation format that might admit this kind of validation?
dreamrealan XML file has a structural specification (the SGML spec, which includes schema specifications)
dreamrealsure: it's an ontology
jreicherPerfect. I think that answers my question.
dreamrealYou keep asking for the thing that's right there
dreamreal<thing hasWheels="2" hasBed="true" hasChassis="true" hasEngine="true" /> is a truck, yeah?
dreamrealIt has a bed, it has wheels, it has an engine...
jreicherI'm OK with that
dreamreal* dreamreal thinks that would be a very strange truck, personally
* raj joined #java
dreamrealmaybe a sort of ATV, but for stability you'd want three wheels, not two
dreamrealin code, you'd load that object and have some kind of validation to make sure the data made sense
dreamrealbut that's exactly what an ontology does; it'd be way easier to do it in code, though, and way faster
* Ragnor joined #java
* hwpplayer1 joined #java
* deadbeat joined #java
ParaRemember to spend your tokens, kids, month is going to change and token costs will skyrocket in all subscriptions.
dreamrealor thank your past selves for buying a machine you can run a model on locally :D
ParaI'm going to add picture of my 64GB DDR5 to my Tinder profile.
* MonsterAbyss joined #java
* marcel1 joined #java
ChronosPara: LOL :D
* dob1 joined #java
* stewi joined #java
* Drixtan joined #java
* dob1_ joined #java
* Drixtan joined #java
sweatiestFY2026 Q3 it all goes tits up, we got a month left
sweatiestPara: not next month, but in July
ParaGood thing I'm European, I'll be vacationing then.
ParaI can come back to chaos with fresh mind!
* five618480339176 joined #java
* OmniRadix6 joined #java
* dob1 joined #java
* BSaboia joined #java
* hwpplayer1 joined #java
* Betal joined #java
* mindCrime joined #java
Drixtansweatiest: what is happening in 2026 Q3? We are all out of job (from all the previous predictions 12-18 months ago by then) ?
sweatiestearnings reports
sweatiestpost spacex IPO
Drixtanah, those apocalypses, I can't follow all of them, my bad.
* tronexte joined #java
Parayour apocalypse stack is full
* m joined #java
* Inline joined #java
* X-Scale joined #java
* MonsterAbyss joined #java
* GreenResponse joined #java
* hwpplayer1 joined #java
* dgregory joined #java
* hwpplayer1 joined #java
* Betal joined #java
* gildarts joined #java
* caryhartline joined #java
jbosmansclearly, i missed a bunch and or a whole lot
jbosmansk, something about motorized vehicles vs XML